Difference between revisions of "Slicer3:Volume Rendering With Cuda"
From NAMIC Wiki
Line 5: | Line 5: | ||
=== VTK Modules === | === VTK Modules === | ||
− | # '''A vtkImageDataReader:''' to read Volume data as any kind of Volume Data | + | # '''A [http://www.vtk.org/doc/release/5.0/html/a01572.html vtkImageDataReader]:''' to read Volume data as any kind of Volume Data |
− | # '''A vtkCudaDataFilter:''' A Filter to convert from the reader output to a cuda-able DataSet | + | # '''A [[vtkCudaDataFilter]]:''' A Filter to convert from the reader output to a cuda-able DataSet |
− | # '''A vtkCudaDataSet:''' A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices. | + | # '''A [[vtkCudaDataSet]]:''' A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices. |
− | # '''A vtkCudaVolumeMapper:''' A new vtkVolumeMapper that renders the scene using the | + | # '''A [[vtkCudaVolumeMapper]]:''' A new vtkVolumeMapper that renders the scene using the |
## lighting model | ## lighting model | ||
## a prepared Z buffer | ## a prepared Z buffer | ||
## a camera position | ## a camera position | ||
− | ## A vtkTexture and a Plane to render the result to | + | ## A [[http://www.vtk.org/doc/release/5.0/html/a02096.html vtkTexture]] and a Plane to render the result to |
# '''An actor''' that places the volume into the scene | # '''An actor''' that places the volume into the scene | ||
# Chain this '''pipeline''' together and attach it to a rendering window. | # Chain this '''pipeline''' together and attach it to a rendering window. |
Revision as of 19:46, 27 December 2007
Home < Slicer3:Volume Rendering With CudaObjectives
Lookout
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
VTK Modules
- A vtkImageDataReader: to read Volume data as any kind of Volume Data
- A vtkCudaDataFilter: A Filter to convert from the reader output to a cuda-able DataSet
- A vtkCudaDataSet: A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices.
- A vtkCudaVolumeMapper: A new vtkVolumeMapper that renders the scene using the
- lighting model
- a prepared Z buffer
- a camera position
- 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