1. 08 Jan, 2019 1 commit
  2. 02 Jan, 2018 1 commit
    • Alvaro Sanchez's avatar
      Added support for multiple volume inputs in GPUVolumeRayCastMapper · a632f77e
      Alvaro Sanchez authored
      When multiple inputs are rendered through the same mapper, it is possible to
      composite overlapping areas correctly. Inputs are connected directly to
      the mapper and their parameters (transfer functions, transformations, etc.) are
      specified through standard vtkVolume instances. These vtkVolume instances are
      to be registered in a special vtkProp3D, vtkMultiVolume.  vtkMultiVolume
      represents a 3D space containing a set of vtkVolume instances which could be
      but are not necessarily overlapping, this instance computes the bounding-box
      containing all of its registered vtkVolumes.
      
      vtkGPUVolumeRayCastMapper prepares and keeps track of the inputs as they are
      allowed to be disconnected at any time. vtkOpenGLGPUVRCMapper's internals
      particular to an input (vtkVolumeTexture, OpenGL helper instances, etc.) have
      been promoted to a separate class vtkVolumeInputHelper. Other internals (such as
      ComputeBounds, ComputePointToCellMatrix and related variables) have been moved
      into vtkVolumeTexture as they are inherent to the texture definition (or
      some of its blocks during streaming).
      
      A separate code path is used when rendering multiple-inputs in order to
      facilitate the co-existance of these two modes (single/multiple), due to current
      feature incompatibilities with multiple inputs (e.g. texture-streaming, cropping,
      etc.). Splitting DoGPURender into various smaller routines improves code
      reusability between these two paths.
      
      A limited set of the mapper features are currently supported for multiple
      inputs:
      
        * Transfer functions: these are defined separately for per input.
          + 1D color
          + 1D scalar opacity
          + 1D gradient magnitude opacity
          + 2D scalar-gradient magnitude
      
        * Point and cell data
          + With the limitation that all of the inputs are assumed to share the same
          name/id.
      
        * Composite blending (front-to-back)
      
      Test cases:
      
        * TestGPURayCastMultiVolumeOverlapping
        * TestGPURayCastMultiVolumeTransfer2D
        * TestGPURayCastMultiVolumeAddRemove
        * TestGPURayCastMultiVolumeCellData
      a632f77e
  3. 05 Dec, 2017 2 commits
  4. 15 Nov, 2017 1 commit
  5. 12 Oct, 2017 2 commits
  6. 30 Aug, 2016 1 commit
    • David DeMarle's avatar
      break core's dependence on ospray and begin to flesh out standalone · 3c736401
      David DeMarle authored
      Using an interface class so that Volume module has no dependence on
      OSPRay module. SmartVolume doesn't need to make any OSPRay calls since
      the subclass takes over. Exposed it to OpenGL2 SmartVolumeMapper too.
      Cloned the test that exercises this into the OSPRayModule.
      
      The sublass is now the basis for a standalone OSPRayVolumeMapper
      which will use OSPRay ONLY for the volume. Started a test for that.
      
      warnings:
      1) cloned smart volume still test hangs on my machine
      2) the new test demonstrates that the volume is not yet composited with
      surface geometry correctly.
      4) the interface class needs to be reparented onto AbstractVolumeMapper.
      
      /
      3c736401
  7. 08 Mar, 2016 1 commit
  8. 17 Nov, 2015 1 commit
  9. 31 Mar, 2015 1 commit
  10. 21 Oct, 2014 1 commit
    • Sankhesh Jhaveri's avatar
      ENH: Initial take at SmartVolumeMapper support · cf497e99
      Sankhesh Jhaveri authored
      Copied the vtkSmartVolumeMapper from Rendering/Volume to
      Rendering/VolumeOpenGL and Rendering/VolumeOpenGL2 to
      provide two different classes for each rendering backend.
      
      Change-Id: Iee1a6d626c7e1f32064d0ee35e34c5ca51ed0bbe
      cf497e99
  11. 20 Oct, 2014 1 commit
    • Ken Martin's avatar
      Convert Projected Tetrahedra class to OpenGL2 backend · c7fa3a65
      Ken Martin authored
      Switch to using the exp function directly in the fragment shader
      as opposed to building and sending down a texture map. New valid
      image is very slightly more transparent than previous, although
      the existing valid images for this test show significant variances
      between themselves.
      
      Change-Id: I68fce12dbc08a6986595af501bb449f6dfdc1ac8
      c7fa3a65
  12. 14 Oct, 2014 1 commit
  13. 27 Sep, 2014 1 commit
    • Ken Martin's avatar
      Fix otherPrint and TestEmptyInput tests · f5a7a1a8
      Ken Martin authored
      There were a lot of abstract classes defined in Rendering/Core or
      Rendering/Volume that the OpenGL2 backend has not implemented yet.
      This causes a crach whenever such a class is instantiated as is
      done by some of the tests. The fix is to either remove or provide
      implementations for these classes. For the volme code this patch adds
      a VolumeOpenGL2 directory which will be where the new/converted
      volume rendering implementations will go.
      
      The other big piece is the painters. As we are not/can not support that API
      the classes were moved to OpenGL. The excpetion is the PainterDeviceAdapter
      which is part of RenderWindow. When building with OpenGL2 that class is
      treated in RenderWindow as a plain vtkObject that does nothing.
      
      vtkSmartVolumeMapper is not currenty built by OpenGL2 but could be if we
      are willing to add a bunch of ifdefs. The basic approach is there already
      in the class, just need to add a bunch more if we want to have that in the
      short term prior to the new GPU mapper being completed.
      
      This patch includes some other fixes that were required to get the tests to
      pass. Generally related to missing file properties or extra includes that
      were not needed.
      
      Change-Id: Id41db2d90526c109b1acb7442d99d8c2371cc396
      f5a7a1a8
  14. 24 Oct, 2012 1 commit
    • David Gobbi's avatar
      ENH: Make the wrappers detect abstract classes automatically. · 62700fbe
      David Gobbi authored
      Deprecate the "--abstract" and "--concrete" options for wrapper
      tools.  Also deprecate specifying an output file without "-o",
      and remove the old "infile [hintsfile] concrete outfile" calling
      convention, which hasn't been used since VTK 5.6 and was broken.
      
      The wrappers now ignore the ABSTRACT property in cmake, instead
      they automatically detect concrete classes by searching for the
      New() method.
      
      Some classes were marked as ABSTRACT, even though they had a New()
      method that returned a valid instance.  The ABSTRACT property
      has been removed from these classes, for consistency.
      
      Note that the vtkInstantiator classes still rely on the ABSTRACT
      property, so the ABSTRACT property cannot yet be removed from the
      cmake files.
      
      Change-Id: I05ebf42e69367fd4ce7256864a25d1f0c16ed4b8
      62700fbe
  15. 10 May, 2012 1 commit
    • Marcus D. Hanwell's avatar
      Ported RenderingVolume to new macros · cb770d98
      Marcus D. Hanwell authored
      This allowed me to remove the factory that is now totally replaced by
      the generated factory code and the new new macros.
      
      Change-Id: I4d1d68c1f14f1ffcd467839f81488b17431092f7
      cb770d98
  16. 09 Apr, 2012 3 commits
    • Marcus D. Hanwell's avatar
      ENH: Added build system for RenderingVolumeOpenGL · b77f5498
      Marcus D. Hanwell authored
      Removed the hard coded object factory, and use the standard mechanism.
      Make the tests depend on vtkRenderingVolumeOpenGL, kept them in the
      vtkRenderingVolume module as they do not use the OpenGL classes.
      
      Change-Id: Ie70b18058aafd56ea0a338ca5c7c7019cced3f9a
      b77f5498
    • VTK Developers's avatar
      Add modular VTK build system · 0c1471f1
      VTK Developers authored
      Add module.cmake, CMakeLists.txt, and other build system files.
      
      The modular VTK build system is not yet mature.  The monolithic build
      files had a lot of infrastructure.  The modular build files reproduce
      much of the functionality but some features will need to be restored
      later.  Document status and tasks in "TODO-Modularization.txt".
      
      Co-Author: Marcus D. Hanwell <marcus.hanwell@kitware.com>
      Co-Author: Chris Harris <chris.harris@kitware.com>
      Co-Author: Brad King <brad.king@kitware.com>
      Co-Author: Nikhil Shetty <nikhil.shetty@kitware.com>
      0c1471f1
    • VTK Developers's avatar
      Modularize VTK tree layout · cdd4d6fd
      VTK Developers authored
      Move source files from their former monolithic VTK location to their new
      location in modular VTK without modification.  This preserves enough
      information for "git blame -M" and "git log --follow" to connect
      modularized VTK files to their original location and history.
      
      Co-Author: Marcus D. Hanwell <marcus.hanwell@kitware.com>
      Co-Author: Chris Harris <chris.harris@kitware.com>
      Co-Author: Brad King <brad.king@kitware.com>
      Co-Author: Nikhil Shetty <nikhil.shetty@kitware.com>
      cdd4d6fd
  17. 29 Mar, 2012 1 commit
  18. 13 Mar, 2012 2 commits
  19. 01 Mar, 2012 1 commit
    • George Zagaris's avatar
      COMP: Build AMR kit iff VTK_PARALLEL is ON · 599f06f6
      George Zagaris authored
      Changed build such that the AMR kit will only be build if
      VTK_PARALLEL is ON. Currently, the KIT is has a tight dependency
      to vtkParallel -- All the readers and filters accept a vtkMultiProcessController
      as an optional parameter and use a vtkMultiProcessController internally.
      
      Change-Id: I5b3e61a1984d5e135e49f4defc792d15e56c3f92
      599f06f6
  20. 18 Jan, 2012 1 commit
  21. 11 Nov, 2011 1 commit
  22. 07 Mar, 2011 1 commit
  23. 21 Jan, 2011 1 commit
  24. 27 Sep, 2010 1 commit
  25. 03 Sep, 2010 1 commit
    • Karthik Krishnan's avatar
      ENH: Ability to specify ROI binary mask to confine volume rendering to · c5605b86
      Karthik Krishnan authored
      One may optionally, set a mask input. This mask may be a binary mask
      or a label map. This must be specified via SetMaskType.
      
      If the mask is a binary mask, the volume rendering is confined to regions
      within the binary mask. The binary mask is assumed to have a datatype of
      UCHAR and values of 255 (inside) and 0 (outside).
      
      This is only implemented for the GPU volume mapper. And for the Composite
      blend case. This will be expanded for the other blend cases in the next
      commit.
      c5605b86
  26. 07 Jul, 2010 3 commits
  27. 17 May, 2010 1 commit
  28. 02 Apr, 2010 1 commit
  29. 19 Feb, 2010 1 commit
  30. 18 Feb, 2010 1 commit
  31. 25 Nov, 2009 1 commit
  32. 31 Jul, 2009 2 commits