1. 23 Sep, 2016 3 commits
    • 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
    • David E. DeMarle's avatar
      replace VTK's nonstandard Doxygen with standard markup · 6a7e5148
      David E. DeMarle authored
      generated via:
      cd $VTKSRC
      perl Utilities/Doxygen/doc_header2doxygen.pl --to ~/tmp/vtkheaders .
      cp -r ~/tmp/vtkheaders/* .
      6a7e5148
    • David E. DeMarle's avatar
      preemptively fix issues that trip of doxygen converted code · a2250027
      David E. DeMarle authored
      fix problematic ccomments that trip up doxygen generator. Mostly
      c style comments in class description but a few cases of comments
      not in expected location that leads to stripped out code and comp fails
      
      fix trailing whitespaces that will fail style check when committed
      
      Thanks Andrew Maclean for updating the url to VTK publications.
      a2250027
  2. 22 Sep, 2016 1 commit
    • Ken Martin's avatar
      fix an OpenGL2 issue impacting slicer and add test · 0ea52ccc
      Ken Martin authored
      There were two issues impacting slicer. ImageMappers
      were not honoring their DisplayLocation property value
      and 2d mappers were setting zbufer values on 100%
      transparent pixels.
      
      Added a test from Max Smolens that tests for both of these
      issues to prevent future regressions.
      0ea52ccc
  3. 21 Sep, 2016 1 commit
    • Ken Martin's avatar
      fix an issue with release graphics resources · f089989f
      Ken Martin authored
      If someone released graphics resources it sets the callback to
      an empty Window but leaves the Context Set. If they then set the
      the context back to the same context is was not setting the
      new WindowId on the texture. Arguably Releasing graphcis resources
      should set the Context to NULL but I am going with this fix as it
      more closely matches the old behavior of leaving Context set.
      f089989f
  4. 20 Sep, 2016 7 commits
  5. 19 Sep, 2016 6 commits
  6. 18 Sep, 2016 1 commit
    • Ken Martin's avatar
      Rework the CompositePolyDataMapper2 · 7912d340
      Ken Martin authored
      The old approach used a fast path for a very narrow set of
      conditions and then used a slow path for everything else.
      This approach required two sets of code,
      
      - GenericCompositePolydataMapper2
      - CompositePolyDataMapper2
      
      and had performance issues as the slow path was slower
      than OpenGL1 for some cases. This reworking consolidates
      the two approach together. The basic approach is that
      all blocks with the same VBO structure get grouped together
      and rendered as one. The number of different VBO structures is
      small so this results in a a small number of things to render.
      
      Each of those things (handled with a Helper class) gets rendered
      using its own VBO and IBOs with special code to handle the cases
      where uniforms have to be changed between blocks etc.
      
      The results are generally much faster. Some additional
      optimizations have resulted in further performance improvements.
      Generally this new class is as fast as the old fast path and
      tens to hundreds of times faster for the slow path.
      
      This class is still complex and could probably be reworked
      another three times. The complexity is largly driven by
      how complex the task is as each block can have different
      primitives, point/cell data arrays, etc.
      
      This topic adds four more tests for this class. As this
      class is the workhourse for ParaView it really needs far
      more testing in VTK. The three additional tests cover
      some use cases I know tend to cause issues.
      
      At the same time this topic changes how point picking is
      done to prevent some bad behavior. The old approach
      rendered surfaces for all passes up to the primId pass.
      The problem with that is that the point pass rendering may
      not match up with the surface rendering resulting in point
      Ids associated with incoreect composite/prop/process ids.
      It mixes two sets of data haphazzardly. Very bad. This
      topic cuases all point selection to be done by rendering
      points.
      7912d340
  7. 17 Sep, 2016 1 commit
    • David Gobbi's avatar
      Export the vtkCocoaGLView interface · 583d3dc3
      David Gobbi authored
      This interface can be used from other projects, as demonstrated
      in Examples/GUI/Cocoa/SimpleCocoaVTK, so it should be exported
      so that it can be used with shared linkage.
      583d3dc3
  8. 16 Sep, 2016 1 commit
    • Ken Martin's avatar
      work on better resource management for OpenGL · d0e64da3
      Ken Martin authored
      new approach to ReleaseGraphicsResources where objects
      that use opengl resources can register themselves
      with their current window/context so that when either they
      delete or the context is deleted the resources will be
      cleared correctly.
      d0e64da3
  9. 12 Sep, 2016 1 commit
    • Haocheng LIU's avatar
      Rewrite all public&private dependency in module.cmake file · 6e113ad4
      Haocheng LIU authored
      The current dependency relationship in vtk is unclear and misleading.
      This MR tries to rewrite them based on header files inclusion of headers
      and source files in each module. Corner cases are considered and
      modules are sorted in alphabetical order to facilitate future reference.
      See details in my gitlab python based script project. In future we can continue
      using this script to clean the VTK Dependency easily from
      time to time.
      6e113ad4
  10. 09 Sep, 2016 1 commit
  11. 02 Sep, 2016 1 commit
  12. 01 Sep, 2016 1 commit
    • Ken Martin's avatar
      some performance improvements for the OpenGL2 shader · e9ed1848
      Ken Martin authored
      There were lost of std::string operations that resulted
      in lots of memory allocs/deallocs. This patch significantly
      reduces them. In my testing of vtkCompositePolyDataMapper2
      these changes improved the frame rate from 75 fps up to
      400 fps.
      e9ed1848
  13. 31 Aug, 2016 1 commit
  14. 30 Aug, 2016 1 commit
  15. 26 Aug, 2016 1 commit
  16. 25 Aug, 2016 1 commit
  17. 24 Aug, 2016 1 commit
  18. 19 Aug, 2016 1 commit
    • Bill Lorensen's avatar
      ENH: Introduce vtkMTimeType · 9333d9d1
      Bill Lorensen authored
      This is a fix for:
      #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
  19. 18 Aug, 2016 1 commit
  20. 17 Aug, 2016 2 commits
    • Ken Martin's avatar
      Support multiple textures and texture blend modes · 16b902c0
      Ken Martin authored
      Written by Alexis Girault (some tweaks by Ken)
      
      Support assigning multiple textures to an actor/property
      and support blending them using the texture blend modes defined
      in vtkTexture.
      16b902c0
    • David C. Lonie's avatar
      Remove early returns in vtkDualDepthPeelingPass for osx. · 2a248f0d
      David C. Lonie authored
      Restructured the fragment shader for the peeling pass to avoid early
      returns. Apparently the new OSX driver rearranges instructions such that
      the early returns occurred before dFdx and dFdy in the normal computation.
      This lead to garbage normals and incorrect shading.
      2a248f0d
  21. 15 Aug, 2016 1 commit
  22. 12 Aug, 2016 1 commit
  23. 11 Aug, 2016 3 commits
  24. 10 Aug, 2016 1 commit