1. 18 Feb, 2016 1 commit
  2. 14 Dec, 2015 1 commit
  3. 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
  4. 29 Oct, 2015 1 commit
    • Ken Martin's avatar
      Improve rendering shadows and DOF · b457301c
      Ken Martin authored
      Add an option in vtkLight to control how much a shadow
      will attenuate the light.
      
      Added a mode in the DOF pass where the focal depth is driven
      by the center pixel.
      
      Added a test of using SSAA with Shadows and with DOF all
      at once.
      b457301c
  5. 22 Oct, 2015 1 commit
  6. 20 Oct, 2015 3 commits
  7. 19 Oct, 2015 1 commit
  8. 09 Oct, 2015 1 commit
    • Ken Martin's avatar
      Add android vr example and fixes to support it · c8fd8f3e
      Ken Martin authored
      This topic adds a volume rendering example to android builds.  It also
      fixes a number of issues to make it work with android including on
      Samsung devices which have a different OpenGL driver.
      
      VR use of 1D textures have been replaced with 2D textures as
      1D textures are not supported on OpenGL ES.
      
      Some minor build inprovements are included as well.
      c8fd8f3e
  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. 15 Sep, 2015 1 commit
    • Ken Martin's avatar
      Add eye dome lighting into VTK · 6671660f
      Ken Martin authored
      Add eye dome lighting into VTK. This appears to work but there
      are some sections of code that look like they may be left over
      from some earlier attempts. I did fix a couple issues so YMMV.
      6671660f
  12. 11 Sep, 2015 1 commit
    • Ken Martin's avatar
      Add method to set the triangle scale · 2fda9d28
      Ken Martin authored
      Add a method where the user can set the triangle imposter scale
      to a value different from the default 3.0.  This is useful when
      you are using your own shader code and it needs more or less
      fragments.
      2fda9d28
  13. 21 Jul, 2015 1 commit
  14. 20 Jul, 2015 1 commit
    • Ken Martin's avatar
      Add basic support for shadows · 1c573012
      Ken Martin authored
      First cut at adding shadows back into VTK. It does
      not use spot intensity maps and currently you have to
      build the render passes yourself. But I will soon add
      a Renderer method to turn shadows on that handles all
      the details for you.
      1c573012
  15. 19 Jun, 2015 3 commits
  16. 03 Jun, 2015 2 commits
  17. 01 Jun, 2015 1 commit
    • 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
  18. 20 May, 2015 1 commit
  19. 01 May, 2015 3 commits
  20. 11 Mar, 2015 2 commits
  21. 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. This is much
      better. Fix example if you get the limit to 20 layers and 20 was
      not enough to render all the geometry, this change renders 19
      layers using depth peeling, then in the 20th render it would add
      in all the remaining geometry as last layer. That last layer may
      have overlapping geometry which is rendered using alpha blending.
      
      Finally some changes to the PointGaussianMapper. It turns out that
      the point gaussian mapper is an translucent mapper which means it
      needs the first change, and it is a very tough case for depth peeling
      resulting in the second change. While at it I modified this mapper
      to render far fewer fragments, resulting is far fewer overlapping
      layers and fewer artifacts. Really when using PointGaussian you
      should turn off depthpeeling as it is not needed and actually makes
      it worse, but these changes will make it better if you happen to have
      it on.  Also cleaned up the mapper so that the radius is equal to
      the standard devisation of the gaussian, previously it was four
      standard deviations.
      
      Change-Id: I62d90b6e424ac0e939033387ed10ba8caac66095
      944ee020
  22. 06 Feb, 2015 1 commit
    • Shawn Waldon's avatar
      Fix triangle size for sprites with radius > 1 · 9d090aa5
      Shawn Waldon authored
      Point Gaussian sprites with radius greater than 1 used to grow faster than
      the geometry they were rendered on resulting in fuzzy triangles being visible
      instead of the gaussians.
      
      Change-Id: Idab30de74281719abbb12c62f6b3e3063c973155
      9d090aa5
  23. 22 Jan, 2015 1 commit
    • Ken Martin's avatar
      Use MCDCMatrix in shaders · de8deb6a
      Ken Martin authored
      A few changes here. The motivation is to support using the MCDCMatrix
      in the vertex shader where possible. This has the advantage of
      performing the MCVC x VCDC multiplication in double precision
      on the CPU as opposed to float precision on the shader. This fixes
      a couple test failures.
      
      Along with that change cleanup a bit how we determine what uniforms
      to set. There were some uniforms being set when they did not exist
      in the program. Provided a more general approach for passing that
      type of information between the code that builds the shader program
      and the code that sets the uniforms.
      
      Add a substitute helper function that does the same job as replace
      but returns a bool if a replacement was made. Also operates on
      the source string by reference.
      
      Cleaned up some long lines to be shorter.
      
      Change-Id: Ic23133679f1d40d51c29f11810d29baf85edd306
      de8deb6a
  24. 17 Dec, 2014 1 commit
    • Ken Martin's avatar
      Add a point gaussian mapper for cosmology and cleanup · 085a0364
      Ken Martin authored
      Add in a mapper that renders points as gaussian splats.  In
      the future we can extend it a bit more to do other useful
      things. It colors the points and scales then based on
      arrays that are passed in.
      
      This patch also includes a performance improvement for
      the spheremapper so that it uses less memory.  It is
      the same basic code as the point gaussian mapper which
      is why it is in the same patch.
      
      Change-Id: I8bce4446be063eb5d6a5eb4bc1a51e4369ba61cf
      085a0364
  25. 20 Nov, 2014 1 commit
    • Ken Martin's avatar
      Fix lighting to use Blinn-Phong specular model · c97d617e
      Ken Martin authored
      A few fixes and cleanups. Use the Blinn-Phong specular lighting
      model in the LightKit and Positional shaders. Old OpenGL uses this
      model and it is a decent model. Remind myself that the camera is
      positioned at 0,0,0 in view coordinates, had to fix a couple places
      that were making different assumptions.
      
      Minor changes to TestVBOPLYMapper to make it easier to use
      when testing out changes.
      
      Minor warning and documentation fixes as well.
      
      Change-Id: I8bf108ec18fef2f0a2f83ada8cdf7663086036be
      c97d617e
  26. 12 Nov, 2014 1 commit
    • Ken Martin's avatar
      Fix unnormalized interpolated normals · 34a8a2d2
      Ken Martin authored
      Interpolated normals are typically not unit length and need to
      be renormalized in the fragment shader. This change adds
      normalization for normals that are passed through the vertex shader
      and therefore interpolated. This change replaces a number of valid images
      that were previously added for OpenGL2 due to Phong lighting changes and
      it adds a number of new images due to the phong lighting change that
      are now showing up. Almost all the cases involve rendering low resolution
      spheres and cylinders, both of which come with normals in VTK and for which
      phong lighting can make a big difference.
      
      Change-Id: Iab60742b5684f3e7a6575b28ad23e10572c9e67d
      34a8a2d2
  27. 08 Nov, 2014 1 commit
    • Ken Martin's avatar
      Make it so that fragment shaders can modify vertexVC · 5b62e02d
      Ken Martin authored
      Somefragment shaders want to modify vertexVC which previously
      was a hard coded varying that is used by the lighting calcs.
      Made it no longer hard coded. Fixes imposters for Intel chips.
      
      Change-Id: I3feae834a0b6c9a7eb775404b083bdaba55dfb49
      5b62e02d
  28. 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
  29. 29 Oct, 2014 1 commit
    • Ken Martin's avatar
      Get render passes working in OpenGL2 · f15f4bfe
      Ken Martin authored
      Add in a bunch of render pass classes that were previously removed.
      At the same time get the GaussianBlurPass and SobelGradientMagnitude
      classes to work with the new backend.
      This code now exercises a few methods that previously were not
      previously exercised. As such I made some significant changes to those
      methods to make them fit in better with the new architecture.
      
      In the process of testing I did find a calculation error in the old
      code related to cmoputing camera angles. I fixed this issue in both the
      old and new rendering backend.
      
      The tests for these passes were modified to not use the DepthPeelingPass
      as that pass has not been converted yet.
      
      Change-Id: Ie40231385291aa06848034460817b171e60f7a53
      f15f4bfe
  30. 07 Oct, 2014 1 commit
  31. 29 Sep, 2014 2 commits
    • Ken Martin's avatar
      Add support for OpenGL32 instancing in GlyphMapper · 4dea04ea
      Ken Martin authored
      Currently disabled as no 3.2 contexts are requested, but this patch
      adds support on an OpenGL 3.2 context to use instancing for rendering
      glyphs. This required adding some additional capabilities to the VAOs
      so that they can handle matrices and divisors. This patch shows slightly
      better performance on a 2.1 context and about a 100% improvement on
      a 3.2 context. Picking on the 3.2 context path still needs some minor
      work.
      
      Change-Id: Ifb59184e9e3184b664fb642c5ffa73f4f268dd51
      4dea04ea
    • Ken Martin's avatar
      Add support for backface properties · e7b395e1
      Ken Martin authored
      Added support for backface properties in the OpenGL2 backend.
      Also cleaned up some spacing for some of the string replacements
      and moved some of them into a seperate ufnction as it was getting
      rather large.
      
      Change-Id: Iaaae0e4af531d9cfb9cc08d907827399046a1e6b
      e7b395e1