Difference between revisions of "Project Week 25/Next Generation GPU Volume Rendering"

From NAMIC Wiki
Jump to: navigation, search
Line 56: Line 56:
 
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data -->
 
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data -->
 
[https://docs.google.com/document/d/1-4Up_Shq6oFTGhwXIF5DuiXUYsdIMlAC1oK7eNHWP_o/edit#heading=h.ut6owd65r1fu Some notes about sharing GLSL code between desktop OpenGL and WebGL]
 
[https://docs.google.com/document/d/1-4Up_Shq6oFTGhwXIF5DuiXUYsdIMlAC1oK7eNHWP_o/edit#heading=h.ut6owd65r1fu Some notes about sharing GLSL code between desktop OpenGL and WebGL]
 +
 +
Recent features in VTK Volume Rendering (in master)
 +
* Volume peeling - translucent geometry with volumes in GPU ray cast mapper
 +
Work in progress
 +
* Overlapping volumes - multiple inputs to mapper
 +
 +
Slicer to migrate to latest version once cmake hierarchy is sorted out.
 +
 +
Questions:
 +
* Ray cast vs view aligned plane-based algorithms
 +
** depth of focus, shadows, diffuse lighting...

Revision as of 14:11, 13 June 2017

Home < Project Week 25 < Next Generation GPU Volume Rendering


Back to Projects List


Key Investigators

Project Description

Objective Approach and Plan Progress and Next Steps

Develop a specification for the next generation of GPU volume processing and rendering in VTK and Slicer

The specification should support

  • Multiple input volumes for ray-casting and slice-based volume rendering
  • GPU-based volume slicing and compositing
  • Programmable volume rendering shader
  • Smart management of volumes in GPU memory
  • Possibility to run simple processing operations on the volume (e.g. Non-linear transforms)
  • Consider possible complications
    • GPU features not available / software only fallback
    • Volumes too big to for GPU memory

Compare the architectures of different existing projects where parts of the required functionality has been implemented:

Determine a sensible way to integrate all those contribution in VTK.

TODO

Illustrations

3D Image Filters in WebGL2

Multivolume rendering and nonlinear transforms in WebGL2

Background and References

Some notes about sharing GLSL code between desktop OpenGL and WebGL

Recent features in VTK Volume Rendering (in master)

  • Volume peeling - translucent geometry with volumes in GPU ray cast mapper

Work in progress

  • Overlapping volumes - multiple inputs to mapper

Slicer to migrate to latest version once cmake hierarchy is sorted out.

Questions:

  • Ray cast vs view aligned plane-based algorithms
    • depth of focus, shadows, diffuse lighting...