1. 14 Oct, 2015 1 commit
  2. 10 Sep, 2015 1 commit
  3. 09 Sep, 2015 1 commit
    • Ken Martin's avatar
      Fixes related to surface with edges · 67c0a8a8
      Ken Martin authored
      This topic fixes an issue where when surface with edges was on
      the shaders were rebuilding every time when they did not need to
      because the light complexity was shared between all the shaders.
      Also when draw edges was on scalar coloring was still happening
      wen it shoudl not have been.
  4. 19 Jun, 2015 1 commit
  5. 10 Jun, 2015 1 commit
  6. 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
    • 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.
  7. 11 May, 2015 1 commit
  8. 01 May, 2015 3 commits
  9. 03 Mar, 2015 1 commit
  10. 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
  11. 13 Jan, 2015 1 commit
    • Ken Martin's avatar
      Break the UpdateVBO method into smaller pieces. · f5e3a9b1
      Ken Martin authored
      This change breaks the Update VBO method into a method
      to GetNeedToRebuildBufferObjects and BuildBufferObjects to make
      it easier for subclasses to override the default behavior.
      Change-Id: I99b3378b0e6b7c3ec9da4000ab33d213b8fc67c4
  12. 12 Jan, 2015 1 commit
    • Ken Martin's avatar
      Add a timing framework in for testing rendering performance · 2072f3b5
      Ken Martin authored
      This commit adds a simple test framework for running
      test sequences and reporting results. Currently there
      are only two main tests (surface rendering and glyphing)
      but over time I hope to add in volume rendering, molecular
      rendering etc. The framework is fairly general. Running
      Timingtests --help provides usage and command line options.
      Also a minor fix for glyph mapper for one case.
      Change-Id: Ibe9073ac6ec25efd1994c13759d9657a568aab50
  13. 01 Dec, 2014 1 commit
    • Ken Martin's avatar
      Add in support for OpenGL ES 3.0 · 8aef7c2b
      Ken Martin authored
      Make the build process use the opengl ES 3.0 header files if
      selected and modify the backend to enable more features when
      using ES 3.0. VAOs, FBOs, and instanced draw calls are enabled.
      There are still some changes to be made for textures probably and
      as with ES 2.0 only some modules have been tested/converted.
      Change-Id: If244dc5bc9295a86f98b032b3a21995336a8fb05
  14. 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
  15. 15 Oct, 2014 1 commit
    • Ken Martin's avatar
      A first cut at a CompositePolyDataMapper2 · c75f3f6f
      Ken Martin authored
      So this is a very different use case from what we have done so far.
      In many ways this is the lots of independent actors case with the
      exception that they are not fully independent. There were a number
      of CPU botlenecks hindering this classes performance:
        stl maps and strings
        recomputing shaders/uniforms
        GetInput/SetInput (touching the pipeline is bad)
        Default Culler
      There are a couple open issues with this change. I'm
      not thrilled with the CurrentInput approach in PolyDataMapper
      but SetInput and GetInput really are expensive. Second there is
      an issue if a bunch of datasets share a single
      large pointset. Right now we duplicate the pointset VBO for each
      dataset. Will need a VBO cache at some point to allow actors/etc
      to share a pointset or have the VBO building only populate the
      VBO with the points actually used by the cells (or both).
      This patch also contains a minor fix to the VAO missing an
      initialization for ForceEmulation.
      Change-Id: If2cf9531a26838b0fd8d47dafd1dcff6d4133c4b
  16. 07 Oct, 2014 1 commit
  17. 03 Oct, 2014 2 commits
  18. 02 Oct, 2014 2 commits
    • Ken Martin's avatar
      Fix fast path on apple · cbe3f4b8
      Ken Martin authored
      Move the handling of divisor into the vao helper. Also deal with
      matrices there. On my aplpe (which lacks vao support) these have
      to be manually bound so having the falback code in the VAO helper
      handle it.  On some systems that have VAO extensions and instanced
      array extensions the VAO extension does not handle the instanced
      aray extension.  So we force emulation of VAOs when glyphing
      triangles which is where the use of instance arrays can hit.
      Change-Id: Idc68e47c8743b2772a4a0e63621eceb1f778c5a3
    • Ken Martin's avatar
      Fix error in glyphing and extend to mac · a9827d1d
      Ken Martin authored
      Add better support for divisors and matricies in the VAO helper
      as wel.
      Change-Id: Ibd66fbfece6de534d7311c60b7edb2f94f485f93
  19. 01 Oct, 2014 1 commit
  20. 30 Sep, 2014 2 commits
    • Ken Martin's avatar
      Try adding support for ARB_instanced_arrays · 23ceef01
      Ken Martin authored
      Convert the colors array back to unsigned char, try adding support
      for ARB_instanced_arays. Fix up wireframe and picking for when
      the fast path is being used. Previously that would fail.
      Change-Id: Iada6b55f01ca7f2c3f68362f3e7da7e99fa15eeb
    • Ken Martin's avatar
      fix opengl es issues with glyphing code · 4e9baa2d
      Ken Martin authored
      ifdef out the instanced rendering when on opengl es 2.0
      Change-Id: I44008775f425ab5f5d5fab39d42550b28513c148
  21. 29 Sep, 2014 2 commits
    • Ken Martin's avatar
      Had to rebase as master had comflicts · 4b18a9b5
      Ken Martin authored
      No new functionality etc,  Simply merging due to rebase.
      Change-Id: I5b2417548cbce35acf9121baf6470f1c38d5a1fb
    • 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
      Change-Id: Ifb59184e9e3184b664fb642c5ffa73f4f268dd51
  22. 22 Sep, 2014 2 commits
  23. 04 Sep, 2014 1 commit
  24. 21 Aug, 2014 1 commit
  25. 06 Aug, 2014 1 commit
    • Ben Boeckel's avatar
      warnings: fix narrowing warnings · ede46c84
      Ben Boeckel authored
      When assigning to a C array, all of the types should be no "larger" than
      the cast-target type. This is enforced in C++11, but has become a
      warning otherwise in preparation for C++11 in many compilers.
      Change-Id: I30f148c46387566c16d58229baeafc6b83dfb0f7
  26. 21 Jul, 2014 1 commit
  27. 27 Jun, 2014 1 commit
  28. 17 Jun, 2014 1 commit