Slicer3:Volume Rendering With Cuda
From NAMIC Wiki
Home < Slicer3:Volume Rendering With Cuda
Objectives
Lookout
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
VTK Modules
- An imageDataReader to read Volume data as any kind of Volume Data
- A Filter converting from the reader output to a cuda-able DataSet
- A new vtkDataSet call it vtkCudaDataSet, where I will put my Volume Data used by the _init(), _loadData() and _delete() functions
- A new vtkVolumeMapper that renders the scene using the lighting model, a prepared Z buffer, a camera position and the before mentioned DataSet to produce a image using the _doRender() function and the _getResult() function to acquire the produced data.
- A vtkTexture and a Plane to render the result to
- An actor that places the volume into the scene
- Chain this pipeline together and attach it to a rendering window.
Tasks
- Proof of concept
- Integrate into VTK
- Render the output from the code of Nicholas volume render sample into vtkImageViewer
- Adapt to Z-buffer
- Adapt lighting model
- Adapt to input Image
- Integration into Slicer
Resources
- For testing purposes: File:Heart256.raw Store this file in Slicer3/Modules/VolumeRenderingCuda/Testing/heart256.raw