1. 25 Aug, 2016 1 commit
  2. 24 Aug, 2016 1 commit
  3. 19 Aug, 2016 1 commit
    • Bill Lorensen's avatar
      ENH: Introduce vtkMTimeType · 9333d9d1
      Bill Lorensen authored
      This is a fix for:
      vtk/vtk#14310
      
      Windows applications that run for a long time report that rendered
      objects do not change. This is because the modified time on a Windows
      system is 32 bits. This causes overflows that defeat the modified time
      mechanism. This patch defines a new type, vtkMTimeType that is 64
      unsigned integer regardless of the architecture.
      
      A mechanism to provide backward compatibility is introduced. The
      preprocessor define "VTK_HAS_MTIME_TYPE" can be used in applications
      that must build against VTK versions that use the "unsigned long" type
      for MTime's.
      
      Methodology used to find MTime occurences:
      1) Identify files as follows:
         git grep "unsigned long" | grep ime | cut -d":" -f1,1 | sort | uniq
      2) Hand edit each of those files replacing "unsigned long" with
         "vtkMTimeType" where appropriate.
      3) Temporarily change typedef for vtkMTimeType to "double" to detect
         missing conversions
      9333d9d1
  4. 11 Aug, 2016 1 commit
    • David C. Lonie's avatar
      Add Depth stage to polydata fragment shaders. · 101f9eeb
      David C. Lonie authored
      The depth peelers currently assume gl_FragCoord.z is always the depth,
      but the imposter shaders in Domains/Chemistry modify the depth.
      
      This patch adds a //VTK::Depth::Impl hook into the fragment shader
      template, before any depth peeling processing is applied. The depth
      is stored into gl_FragDepth, and all depth processing now uses this
      variable instead of gl_FragCoord.z.
      101f9eeb
  5. 18 Jul, 2016 1 commit
    • Ken Martin's avatar
      fix cell coloring of degenerate polygons · 4664aa98
      Ken Martin authored
      gl_PrimitiveID seems ot not get incremented for
      degenerate polygons consistently even if the
      point IDs are different but the ocations are the same.
      This topic skips rendering any polys that are
      degenerate based on point locations. It regresses
      back to OpenGL1 how it triangulates polygons to a
      simple algorithm as opposed to using vtkPolygon
      4664aa98
  6. 06 Jul, 2016 1 commit
  7. 08 Jun, 2016 1 commit
    • David C. Lonie's avatar
      Support multi-stage render passes in point gaussian mapper. · 7bae2498
      David C. Lonie authored
      vtkOpenGLPointGaussianMapper was not aware of the new multi-stage
      renderpass system that allows shaders to change in-between stages.
      This was causing all rendering to occur using the "InitializeDepth"
      stage shaders from vtkDualDepthPeelingPass, which only extract depth
      information.
      7bae2498
  8. 06 Jun, 2016 1 commit
  9. 06 May, 2016 1 commit
    • David C. Lonie's avatar
      Replace SafeDownCast calls on arrays with vtkArrayDownCast. · 0d71a308
      David C. Lonie authored
      SafeDownCast performs a series of virtual calls and string comparisons,
      which is quite slow, especially when used in worker functions.
      
      vtkArrayDownCast will switch between SafeDownCast and the more
      efficient FastDownCast (only available for common vtkAbstractArray
      subclasses) depending on whether or not FastDownCast is defined for
      the specific array type.
      0d71a308
  10. 26 Apr, 2016 3 commits
  11. 22 Apr, 2016 1 commit
  12. 18 Apr, 2016 1 commit
  13. 11 Apr, 2016 1 commit
    • David C. Lonie's avatar
      Add vtkDualDepthPeelingPass. · 19d945f7
      David C. Lonie authored
      This implements a new depth peeling algorithm that peels layers of
      fragments from both the front and back of the translucent geometry at
      once.
      
      This also introduces vtkOpenGLRenderPass, which provides a virtual API
      that allows custom shader code replacements without the need to edit
      all mappers.
      
      The older vtkDepthPeelingPass has been updated to use the new
      vtkOpenGLRenderPass API, and is left in VTK as a fallback for drivers
      that lack support for the dual peeling features (floating point textures
      in particular).
      19d945f7
  14. 28 Mar, 2016 1 commit
    • David Thompson's avatar
      Shift and scale VBO when precision requires it. · bc389ab2
      David Thompson authored
      This change identifies datasets that are far from their origins
      (relative to their bounds), which can result in precision problems
      when rendering. Problem datasets have their VBO modified and
      transforms concatenated to the view/display transforms sent to the
      shaders by the mapper to correct the problem.
      
      OpenGL drivers often use reduced-precision point coordinates; if the
      most significant bits are all used by a large translation then
      renderings are often misleading and frame-to-frame differences
      exaggerated. To counter this, this commit makes each VBO store shift
      and scale vectors generated when CreateVBO is called. If the origin
      is more than 10,000 bounding-box lengths away, transform the points
      as they are written to the VBO (this condition forces a slow-path where
      the VBO is generated, not copied directly from the vtkPoints array).
      When this occurs, the VBO presents a flag that informs the mapper to
      concatenate an inverse transform to the model-to-display and
      model-to-viewport matrices. Since these transformations include the
      camera projection and are done on the CPU with high precision, the
      translation is factored out of the data when the camera is nearby.
      
      This change also makes the VBO objects that the mappers own
      publicly accessible so that applications can override the behavior,
      either to manually set the shift and scale (as calling AppendVBO
      multiple times cannot compute a proper shift and scale) or to
      disable it should it cause issues.
      
      Thanks to Ken Martin for suggesting this approach.
      bc389ab2
  15. 08 Mar, 2016 1 commit
  16. 10 Feb, 2016 1 commit
    • Joachim Pouderoux's avatar
      Use GL time query to probe mapper rendering time. · 0ff60a5b
      Joachim Pouderoux authored
      So far the TimeToDraw was always set to 0.0001. Now the
      time take by the rendering calls performed by the mapper
      is evaluated using the time query provided by the GPU
      for the previous frame.
      
      This patch allows to make vtkLODMapper work as expected.
      Limitation:
       - for new backend only.
       - not supported by GLES
      0ff60a5b
  17. 29 Jan, 2016 1 commit
  18. 25 Jan, 2016 1 commit
  19. 09 Jan, 2016 1 commit
  20. 08 Jan, 2016 1 commit
  21. 07 Jan, 2016 2 commits
  22. 30 Dec, 2015 1 commit
    • Ken Martin's avatar
      Update point picking algorithm · d5a16f05
      Ken Martin authored
      This approach should do a better job of picking points
      in cases where points are coincident for points lines
      and polygons. In that case all three points would be picked
      if all three primitives were visible. It relies on the normal
      coincident topology support for determining what is visible
      and using larger points for lines and surfaces.
      d5a16f05
  23. 08 Dec, 2015 1 commit
  24. 05 Dec, 2015 1 commit
  25. 03 Dec, 2015 1 commit
    • Ken Martin's avatar
      Make the rebuilding of VBO and IBO very conservative_vbo_ibo_rebuild · 263583d1
      Ken Martin authored
      This topic should make it so that the VBO and IBO only gets
      rebuilt when it really needs to. Instead of relying on high
      level MTimes it actually looks at the pieces of data that impact
      the VBO or IBO respectively. The VBO can build without the IBO
      rebuilding and vice versa.
      263583d1
  26. 16 Nov, 2015 1 commit
  27. 13 Nov, 2015 1 commit
    • Ken Martin's avatar
      Update coincident geomtry support · 4be38a3f
      Ken Martin authored
      Add in support for specifying different offsets for surfaces
      lines and points. Update some example to remove the specified
      polydata value as the defaults are better.
      
      Update a valid image due to lighting changes
      
      Add a test that has points lines and surfaces all
      drawn on top of each other.
      4be38a3f
  28. 04 Nov, 2015 1 commit
  29. 30 Oct, 2015 1 commit
    • Ken Martin's avatar
      ome minor updates for mobile · d6cc61fb
      Ken Martin authored
      Update ios to include 9.1
      
      Update OpenGL ES 2 to always require OES derivs extension and
      put it first to avoid errors on some devices
      d6cc61fb
  30. 29 Oct, 2015 3 commits
  31. 27 Oct, 2015 1 commit
    • Ken Martin's avatar
      Improve the shadow maps in VTK · f983396c
      Ken Martin authored
      This patch changes how the shadow maps work so that
      less shadow code is in the mappers. Now the mappers get
      a key that contains the shadow map pass and they let
      that pass handle setting up shader code and uniforms.
      
      Also changed the shadow map algorithm slightly.  The old approach did
      a 1/3 weighting of pixels (0,0) (1,0) and (0,1)  This new algorithm
      does a 2x2 box convolution against the 3x3 pixel neighborhood.
      It takes 9 tex lookups but produces much nicer results.
      f983396c
  32. 20 Oct, 2015 3 commits
  33. 14 Oct, 2015 1 commit