1. 18 Jul, 2017 1 commit
    • Utkarsh Ayachit's avatar
      Cleanup offscreen rendering support in VTK. · d0e7aab3
      Utkarsh Ayachit authored
      This commit cleans up offscreen rendering support in VTK. This includes
      several changes.
      
      1. It makes EGL support independent of onscreen GL
         support. It's now possible to enable EGL and GLX in same build of
         VTK, for example, so long as the two use shared GL-dispatch
         mechanism.  Previously, EGL could not be enabled together with GLX
         (i.e.  `VTK_USE_X` set to ON). These changes allow for that
         configuration.
      
      2. `VTK_USE_OFFSCREEN_EGL` is replaced by `VTK_OPENGL_HAS_EGL`.
          This is consistent with `VTK_OPENGL_HAS_OSMESA` flag. And also
          in similar vein to changes to `FindOpenGL.cmake` where EGL
          becomes a component of `find_package(OpenGL)`.
      
      3. `VTK_EGL_DEVICE_INDEX` has been replaced by
         `VTK_DEFAULT_EGL_DEVICE_INDEX` since it only affect the default
         value, and doesn't preclude users from manually specifying the
         device index.
      
      4. `VTK_USE_OFFSCREEN` has been replaced by
         `VTK_DEFAULT_RENDER_WINDOW_OFFSCREEN`, since similar to `3`
         this option was only intended to affect the default value.
      
      5. Simplified `FindEGL.cmake`. Apps don't need to link against
         `gldispatch` library and hence removed it and created an
         imported target to simplify use.
      
      6. For all changes to CMake variables, we put out `DEPRECATION`
         messages if old variables are used.
      
      7. When `VTK_USE_X` and `VTK_OPENGL_HAS_EGL` or
         `VTK_OPENGL_HAS_OSMESA` in ON, following things happen:
         i.   The object-factory simply returns the X-based (or
              onscreen) render window i.e. `vtkXOpenGLRenderWindow`.
         ii.  To create one of the offscreen render windows, one can
              manually instantiate them e.g. by explicitly
              instantiating `vtkEGLRenderWindow`.
              `vtkXOpenGLRenderWindow` has implementation to swap to
              OSMesa if `SetUseOffscreen(true)` is called.
         iii. As soon any off-screen features are enabled, `glew`
              uses the offscreen library APIs to get OpenGL function pointers
              irrespective of how the active context was initialized.
      d0e7aab3
  2. 14 Jul, 2017 1 commit
  3. 13 Jul, 2017 2 commits
  4. 12 Jul, 2017 1 commit
  5. 10 Jul, 2017 3 commits
  6. 08 Jul, 2017 1 commit
    • Bill Lorensen's avatar
      COMP: Mac issues with odd-sized baseline images · 36a75873
      Bill Lorensen authored
      NSWindow's behaviour round sizes *up* to even integral sizes.
      
      This seems to be related to the limitation for Macs with retina
      display - they can only create windows with width and height with even
      number of pixels.
      
      If you try to create a window with height or width
      with odd number of pixels you end up with height or width with even
      number of pixels.
      36a75873
  7. 06 Jul, 2017 1 commit
  8. 05 Jul, 2017 3 commits
  9. 02 Jul, 2017 1 commit
  10. 30 Jun, 2017 1 commit
    • David E. DeMarle's avatar
      implement backgrounds for ospray's path tracer · 52bcf1ee
      David E. DeMarle authored
      Note the background is world space, not screen space thus
      gradient requires an up direction for the north pole, and
      texture background needs needs an east pole too.
      
      Thanks to GiantCowFilms.com for the background image used in the
      test. It and others on the site are CC-0 licensed and in much
      higher resolution (dynamic range and image size) than the reduced
      version I use.
      52bcf1ee
  11. 29 Jun, 2017 2 commits
  12. 27 Jun, 2017 1 commit
  13. 26 Jun, 2017 2 commits
  14. 23 Jun, 2017 1 commit
  15. 20 Jun, 2017 1 commit
    • David C. Lonie's avatar
      Ensure that textures are allocated when framebuffer is set. · 75aa2f3c
      David C. Lonie authored
      Now that the framebuffer comes from the superclass, it may already
      exist when the depth peeler checks if framebuffer/textures need to be
      allocated. This causes the algorithm to not generate textures and
      eventually try to bind non-existent textures.
      75aa2f3c
  16. 16 Jun, 2017 5 commits
  17. 15 Jun, 2017 1 commit
  18. 14 Jun, 2017 2 commits
  19. 13 Jun, 2017 1 commit
    • Ken Martin's avatar
      add a framebuffer pass to support rendering into a fo · 3a7b6bf9
      Ken Martin authored
      This way you can render into a Frambuffer Object and then
      at the last step it does a blit to the outer framebuffer.
      Typically the screen/window but it could be another FO.
      
      Also add a FramebufferDepthPeelingPass that is desgined to
      work within a framebuffer pass (or similar). This is the
      only depth peeling that will work on OpenGL ES3 right now.
      3a7b6bf9
  20. 12 Jun, 2017 1 commit
  21. 07 Jun, 2017 3 commits
  22. 06 Jun, 2017 1 commit
    • David C. Lonie's avatar
      Conserve color attachments in DDP. · 232b9c49
      David C. Lonie authored
      The dual depth peeling algorithm used to bind all working
      textures to the framebuffer and only activate them as needed.
      This was causing issues on some OpenGL ES implementations
      which limit the number of color attachments to 4, while DDP
      was trying to bind 6 of them.
      
      At most, only 3 color attachments are actually used
      simultaneously, and this patch refactors the code to only
      bind the color attachment textures as needed.
      
      Benchmarking shows that this adds a negligible 0.5% to the
      render time for our DP benchmarks.
      232b9c49
  23. 03 Jun, 2017 2 commits
  24. 02 Jun, 2017 1 commit
    • Sean McBride's avatar
      Converted the last remaining sprintf to snprintf · 5c238b17
      Sean McBride authored
      These changes are more invasive than my previous conversions.
      a) Some private/protected method signatures now take a size parameter.
      b) Deleted vtkMPEG2Writer entirely, because 1) it uses sprintf and I can’t find the size of the buffer, I think it’s been removed. 2) The class hasn’t been built in years.
      c) some new defines introduced to avoid copy-pasting magic numbers.
      
      The only remaining sprintf, I think, are in third party or C code.
      5c238b17
  25. 01 Jun, 2017 1 commit