1. 07 Nov, 2016 1 commit
  2. 01 Nov, 2016 1 commit
    • Ken Martin's avatar
      Remove ES2 support for VTK 8.0 · 0f750114
      Ken Martin authored
      ES2 is causing headaches and code mess and is
      getting old. Remove for 8.0 so we can focus on
      more modern APIs. Most Apple and Adroid devices
      from the past 4 years support ES3.
      0f750114
  3. 23 Sep, 2016 1 commit
    • Kitware Robot's avatar
      Reindent using the reindentation script. · f830ff47
      Kitware Robot authored
      This commit reindents the code with the following utility:
      Utilities/Maintenance/vtk-reindent-code.py
      
      This utility changes the positions of the braces so that they are no
      longer indented relative to the code block they reside in.
      
      The bash command line used was the following:
      
      for d in Charts Common Deprecated Domains Examples Filters GUISupport \
               Geovis IO Imaging Infovis Interaction Parallel Rendering \
               Testing Views Web Wrapping; do
        for e in cxx cxx.in txx txx.in hxx hxx.in h h.in c c.in; do
          find "${d}" -name "*.${e}" -exec \
            python Utilities/Maintenance/vtk_reindent_code.py {} +
        done
      done
      f830ff47
  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. 11 Apr, 2016 2 commits
    • David C. Lonie's avatar
      Add depth peeling benchmark. · 1b26ec3c
      David C. Lonie authored
      This 10M triangle scene stresses depth peeling implementations to see
      how well they perform.
      
      Results (nVidia Quadro 2000M, Release build):
      
      vtkDepthPeelingPass: 1.2 FPS (0.77s first frame, 0.83s subsequent)
      vtkDualDepthPeelingPass: 2.5 FPS (0.56s first frame, 0.40s subsequent)
      
      We see a roughly 50% improvement with the new dual algorithm, since
      the dual algorithm peels 2 layers per geometry pass.
      
      For reference, simple alpha blending results in 49 FPS, 0.18s first frame,
      0.020s subsequent.
      1b26ec3c
    • 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
  6. 08 Mar, 2016 1 commit
  7. 07 Jan, 2016 1 commit
    • Ken Martin's avatar
      Fix some coverity issues · 69bafcd8
      Ken Martin authored
      Fix a bunch of issues reported by coverity that seemed
      fairly stright forward and related to rendering
      69bafcd8
  8. 20 Oct, 2015 2 commits
    • Ken Martin's avatar
      A fix for picking combined with depth peeling · 8af6e111
      Ken Martin authored
      A fix for picking combined with depth peeling and some cleanup.
      Picking (not using a hardware picker) was not clearing the
      LastRenderingUsedDepth peelign flag and that was causing issues.
      Switched to that that flag is not sued but instead the information
      objects are used.
      
      (cherry picked from commit 7e23fd65)
      8af6e111
    • Xabi's avatar
      A depth peeling fix when compositing · 033623d4
      Xabi authored
      When compositing we need the alpha to be correct when it
      comes out of depth peeling. Previously it was being set
      to 1.0.
      
      (cherry picked from commit ab9d8eb8)
      033623d4
  9. 28 Sep, 2015 1 commit
    • Ken Martin's avatar
      A fix for picking combined with depth peeling · 7e23fd65
      Ken Martin authored
      A fix for picking combined with depth peeling and some cleanup.
      Picking (not using a hardware picker) was not clearing the
      LastRenderingUsedDepth peelign flag and that was causing issues.
      Switched to that that flag is not sued but instead the information
      objects are used.
      7e23fd65
  10. 23 Sep, 2015 1 commit
  11. 30 Jun, 2015 1 commit
  12. 10 Jun, 2015 1 commit
  13. 01 Jun, 2015 2 commits
    • Ken Martin's avatar
      More cleanups · f1535309
      Ken Martin authored
      vtkgl::CellBO renamed vtkOpenGLHelper
      vtkgl::substitute moved to vtkShaderProgram::Substitute
      Creation of vtkOpenGLIndexBufferObject
      Creation of vtkOpenGLVertexBufferObject
      Move methods that were in vtkglVBOHelper into new classes
      Move IndexCount from CellBO to vtkOpenGLIndexBufferObject
      etc
      f1535309
    • Ken Martin's avatar
      Clenup some OpenGL2 code · 37f39403
      Ken Martin authored
      As we get closer to a next VTK release, make sure this is
      fairly clean or at least cleaner than it was.
      37f39403
  14. 18 May, 2015 1 commit
  15. 01 May, 2015 3 commits
    • Ken Martin's avatar
      Even more OSX 3.2 changes · 2dead9db
      Ken Martin authored
      This commit include more changes to make OSX happy.  A couple
      of them are good changes to be truely 3.2 compliant. Then
      there is another glew fix because glew is not good with
      core contexts.
      2dead9db
    • Ken Martin's avatar
      Make VTK work with OpenGL 3.2 Core · b8a4007f
      Ken Martin authored
      Lots of changes to make VTK work with both 2.1 and 3.2 versions
      of OpenGL. The main differences in OpenGL 3.2 are that the
      following features no longer are supported
      
      intensity textures - recoded to use red
      luminanace textures - recoded to use red
      line stipple - vtk error macro
      querying extensions in one string - replaced with multiple calls
      pixel transfer bias and scale - recoded to be done in the shader
      glPush and PopAttrib - recoded to get and set instead
      texelFetchBuffer - defined to texelFetch
      txture1D - defined to texture
      texture3D - defined to texture
      b8a4007f
    • Ken Martin's avatar
      1f5f80da
  16. 06 Apr, 2015 1 commit
  17. 17 Mar, 2015 1 commit
    • Ken Martin's avatar
      A few dashboard fixes as described below · 59b539a0
      Ken Martin authored
      GPUVolume rendering was activating texture units and never
      deactivating them.  The TextureUnitManager was allowing this
      when it should not have been.
      
      GenericCompoistePolyDataMapper was not releasing graphics
      resources on its helper.
      
      Added in some opengl error reporting logic that someone had added
      to only the old backend.
      
      DepthPeeling was not releasing all of its graphics resources.
      
      Removed a couple extra includes.
      
      Added a MakeCurrent in TextureObject when it releases its
      graphics resources. Sometimes this happens when another window
      is current as a side effect.
      59b539a0
  18. 06 Mar, 2015 2 commits
  19. 05 Mar, 2015 1 commit
    • Ken Martin's avatar
      A number of transparency related issues fixed · 944ee020
      Ken Martin authored
      A few good fixes in here that are all related. The biggest is a
      fix to OpenGLActor to use the more comprehensive GetIsOpaque
      method in determining if an actor is opaque. The old code only
      looked at the property's opacity. This is why you would see folks
      setting somethings opacity to 0.99 to get it treated as translucent
      because the actor code wasn't handling it correctly. This change
      resulted in 3 new valid images for tests that were rendering
      translucent items as if they were opaque. I removed these tests
      from the old backend as I did not want to change the behavior
      for that backend.
      
      Next up is depth peeling. OpenGL2 depth peeling would render
      a number of peels up to the limit and then just stop. Any geometry
      left between the opaque layer and the last translucent layer was
      just thrown out.  This created very noticable artifacts and was bad.
      This change makes it so that when it gets to the last pass, it will
      render all remaining geometry using alpha blending....
      944ee020
  20. 03 Mar, 2015 1 commit
    • Ken Martin's avatar
      A couple depth peeling fixes · 4693f392
      Ken Martin authored
      Fixed an actor that was not properly delegating its
      property keys when it was delegating it rendering.
      
      Modifiy depth peeling to clean up property keys it sets
      just to be safe and clean.
      
      Change-Id: Ieff4b27cf6346e608137f26157fa817a811131a8
      4693f392
  21. 17 Nov, 2014 1 commit
  22. 14 Nov, 2014 1 commit
  23. 01 Nov, 2014 1 commit
    • Ken Martin's avatar
      Fix three dashbaord issues · 0e68c3f2
      Ken Martin authored
      Fix a class that is wrap excluded when it should be wrapped
      Fix a shadowed variable
      Fix an implicit cast to double
      
      Change-Id: Ie87c71a6c0332b5af7f6dce5497eba10d75ddd92
      0e68c3f2
  24. 31 Oct, 2014 1 commit
    • Ken Martin's avatar
      Add in depth peeling pass and a couple other passes · 925f5066
      Ken Martin authored
      Convert depth peeling render pass to the OpenGL2 backend.
      Also add a new class that encapsulates the basic rendering
      steps that VTK uses.
      
      Modify the renderer to use the depth peeling pass instead of
      having two copies of the code lying around. Removed the depth
      peeling code from Mapper2D as it is no longer needed now that we
      have CopyToFrameBuffer working. That is a lighter weight way to
      get a quad up on the screen. Plus that keeps the depth peeling
      code more localized as it should be. Clean up a lot of depth
      peeling code that was in the renderer and now there are cleaner
      ways of doing it (passing information keys).
      
      Change-Id: I8d0a53bb25920bd30eade49ed12126b9b44be358
      925f5066