1. 16 Apr, 2019 1 commit
  2. 28 Mar, 2019 2 commits
  3. 22 Mar, 2019 1 commit
  4. 08 Jan, 2019 1 commit
  5. 27 Nov, 2018 1 commit
  6. 13 Nov, 2018 1 commit
  7. 08 Nov, 2018 1 commit
    • Ken Martin's avatar
      rework offscreen rendering to be centralized · a410bebe
      Ken Martin authored
      Move a lot of code into OpenGL and simplify. Introduce
      ShowWindow and update UseOffScreenBuffers. These two booleans can
      work together to handle all four cases. You can...
      
      ShowWindow = 0 UseOffScreenBuffers = 0
      You are using a window to render but the window
      is not current shown on the display
      
      ShowWindow = 1 UseOffScreenBuffers = 0
      You are rendering into a window and the window
      is shown on the screen. The default.
      
      ShowWindow = 0 UseOffScreenBuffers = 1
      You are rendering into a framebuffer offscreen
      and the window used for the opengl context is not
      shown on the display.
      
      ShowWindow = 1 UseOffScreenBuffers = 1
      You are rendering into a framebuffer offscreen
      and there is a window that is also visible with it's
      own content.
      
      For backwards compatability OffScreenRendering now
      just sets ShowWindow(false) and UseOffScreenBuffers(true)
      
      Other more specific approaches, methods have been removed.
      
      Mapped has been fixed a bit in some backends to properly
      indicate if the window is mapped (as opposed to created)
      a410bebe
  8. 02 Nov, 2018 1 commit
  9. 01 Nov, 2018 1 commit
  10. 29 Oct, 2018 1 commit
  11. 10 Oct, 2018 1 commit
  12. 08 Oct, 2018 1 commit
    • Michael Migliore's avatar
      Add a panoramic projection pass · 4a842da9
      Michael Migliore authored
      This pass render the scene in all direction and projects those renders
      using different types of projection (equirectangular or azimuthal projection)
      4a842da9
  13. 06 Oct, 2018 1 commit
  14. 31 Aug, 2018 1 commit
    • Ken Martin's avatar
      Add order independent translucent pass · b36e2563
      Ken Martin authored
      Same speed but much better end result than the old
      transparency code.
      
      Also fix a few classes that were not passing properties
      to their sub props.
      
      Fix medical example to make opaque objects opaque.
      b36e2563
  15. 12 Jul, 2018 1 commit
  16. 10 Jul, 2018 1 commit
    • Ken Martin's avatar
      improve picking performance and memory footprint · 82fffd9c
      Ken Martin authored
      Significant rework of the hardware picking code.
      
      Previously each mapper had to make sure that the rendered
      colors were correct for point/cell etc ID during hardware picking
      and this required large datastructures and texture uploads
      to the GPU on each pick.
      
      Now it collects the color buffers and gives the mappers a chance to
      update them. This allows us to use gl_VertexId and gl_PrimitiveId
      directly in the shader and then if picked, allow the mapper to
      adjust the color buffer as needed. This allows us to avoid
      rebuilding the VBO and textures each time and avoids the memory
      footprint related to that.
      82fffd9c
  17. 25 May, 2018 2 commits
  18. 18 May, 2018 1 commit
  19. 10 May, 2018 1 commit
  20. 25 Apr, 2018 1 commit
  21. 13 Mar, 2018 1 commit
  22. 08 Mar, 2018 1 commit
  23. 02 Mar, 2018 1 commit
    • Ken Martin's avatar
      add ability to share data between render windows · 363d99bc
      Ken Martin authored
      This topic adds a capability to share some data between
      render windows. Basically it is implemented shared context
      data in OpenGL such as with wglShareLists or the similar
      functionality on glX or Cocoa. Right now only the VBO
      cache makes use of the shared space but in the future shader
      programs, textures, etc could also be shared.
      363d99bc
  24. 28 Feb, 2018 1 commit
    • Ken Martin's avatar
      update glsl code to 140 standards · 3c999de5
      Ken Martin authored
      While maintaining backwards compatibility at least
      update our code to use the more modern in/out
      qualifiers as opposed to attribute/varying  Also
      remove old glsl 120 if statements as we no longer support
      it and also remove a performance issue in querying the
      gl major minor version on every shader test.
      3c999de5
  25. 25 Feb, 2018 1 commit
    • Ken Martin's avatar
      Introduce opengl state management · 1e6e44cb
      Ken Martin authored
      This commit adds a vtkOpenGLState class that is used
      to save, restore and cache opengl state. In this commit
      the caching is disabled to ease rollout. Likewise only
      a few methods are being cached which can be expanded
      on later as desired.
      1e6e44cb
  26. 21 Feb, 2018 1 commit
  27. 20 Feb, 2018 1 commit
  28. 19 Feb, 2018 1 commit
  29. 16 Feb, 2018 1 commit
    • Ken Martin's avatar
      provide support for existing multitexture calls · bbc96ed3
      Ken Martin authored
      The old MapDataArrayTGoMultiTexture relied on
      being able to lock dowwn a specific texture unit
      which cannot be guaranteed as external code
      or render passes may bne uising that texture unit.
      
      Instead we support the method having the name of a texture
      along with the matching ethod in vtkProperty to name
      a texture. Between these two users can assign texture
      coordinate arrays to specific textures.
      
      Deprecated the old index and unit based methods.
      Removed a no longer needed vtkTexture.h include
      which may bite some folks who are using vtkTexture
      but not including the header (which they shoudl do)
      bbc96ed3
  30. 30 Jan, 2018 1 commit
  31. 23 Jan, 2018 1 commit
  32. 16 Jan, 2018 1 commit
  33. 31 Dec, 2017 1 commit
    • Hans Johnson's avatar
      COMP: Add more C++11 override instrumentation · bcf798e7
      Hans Johnson authored
      Providing override key work allows for extra checking
      that the function signatures are correct.
      
      https://stackoverflow.com/questions/39932391/virtual-override-or-both-c?answertab=active#tab-top
      
      In the derived class the function is virtual by way of having the ¹same
      type as the base class function.
      
      However, an override can help avoid bugs by producing a compilation
      error when the intended override isn't technically an override. E.g.
      that the function type isn't exactly like the base class function. Or
      that a maintenance of the base class changes that function's type, e.g.
      adding a defaulted argument.
      
      In the same way, a virtual keyword in the derived class can make such a
      bug more subtle, by ensuring that the function is still virtual in
      further derived classes.
      
      The general advice is,
           -Use virtual for the base class function declaration.
            This is technically necessary.
      
           -Use override (only) for a derived class' override.
            This helps maintenance.
      bcf798e7
  34. 20 Dec, 2017 1 commit
  35. 22 Nov, 2017 1 commit
  36. 18 Nov, 2017 1 commit
    • Sankhesh Jhaveri's avatar
      API to clear all shader replacements · 780e34ad
      Sankhesh Jhaveri authored
      Two new methods to clear all shader replacements:
      - one that clears all
      replacements for a certain type of shader i.e. vertex, fragment or
      geometry
      - one that clears all replacements for the mapper
      
      Added test code for regression testing too.
      780e34ad
  37. 17 Nov, 2017 1 commit
  38. 14 Nov, 2017 1 commit