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

From NAMIC Wiki
Jump to: navigation, search
Line 28: Line 28:
 
* Smart management of volumes in GPU memory
 
* Smart management of volumes in GPU memory
 
* Possibility to run simple processing operations on the volume (e.g. Non-linear transforms)
 
* 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
 
|
 
|
 
<!-- Approach and Plan bullet points -->
 
<!-- Approach and Plan bullet points -->
 
Compare the architectures of different existing projects where parts of the required functionality has been implemented:
 
Compare the architectures of different existing projects where parts of the required functionality has been implemented:
  
* [http://ibisneuronav.org Ibis Neuronav]/PRISM (Multi-volume ray-casting with progammable shaders in VTK)
+
* [http://ibisneuronav.org Ibis Neuronav]/PRISM (Multi-volume ray-casting with programmable shaders in VTK)
* Steve Piepers volume processing on the GPU with GLSL (Steve, please write something smarter here)
+
* Steve Piepers volume processing on the GPU with [https://github.com/pieper/CommonGL OpenGL in VTK and GLSL] and with [http://afruehstueck.github.io/TF.html WebGL (With Anna Fruehstueck)] and [https://www.youtube.com/watch?v=wMkuwzA7RDo WebGL2]
 
* [https://www.custusx.org/ CustusX ] (GPU volume slicing and compositing with multi-window context sharing)
 
* [https://www.custusx.org/ CustusX ] (GPU volume slicing and compositing with multi-window context sharing)
 
   
 
   

Revision as of 13:50, 8 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

Background and References