[vtk-developers] Overhaul of the rendering subsystem in VTK: Volume Rendering update

Aashish Chaudhary aashish.chaudhary at kitware.com
Fri Oct 10 09:53:33 EDT 2014


Friends,


As reported back in July, we are in the process of a major overhaul of the
rendering subsystem in VTK. The July article (
http://www.kitware.com/source/home/post/144) focused primarily on our
efforts to move to OpenGL 2.1+ to support faster polygonal rendering.  The
October Source will contain an article focused on our rewrite of the
vtkGPURayCastMapper class to provide a faster, more portable and more
easily extensible volume mapper for regular rectilinear grids.



VTK has a long history of volume rendering, and unfortunately that history
is evident in the large selection of classes available to render volumes.
Each of these methods was state-of-the-art at the time, but given VTK’s 20+
year history many of these methods are now quite obsolete. One goal of this
effort is to reduce the number of volume mappers to ideally just two - one
that supports accelerated rendering on graphics hardware and another that
works in parallel on the CPU. In addition, the vtkSmartVolumeMapper would
help application developers by automatically choosing between these
techniques based on system performance.



In this first phase, we have created a replacement for vtkGPURayCastMapper.
Currently, this is available for testing from the VTK git repository (in
master branch, disabled by default). General instructions on how to build
VTK from the source is available at this URL:
http://www.vtk.org/Wiki/VTK/Git*. *In order to build the new mapper, enable
the Module_vtkRenderingVolumeOpenGLNew module in cmake (via -D
*Module_vtkRenderingVolumeOpenGL=ON*), in ccmake or cmake-gui. Once built,
it can be used via vtkSmartVolumeMapper or used directly. Once sufficient
testing by the community has been performed, this class will replace the
old vtkGPURayCastMapper.  In addition, we are adding this new mapper to the
OpenGL2 module.  Availability of the new mapper with OpenGL2 module will
improve the management of textures in the mapper and eventually benefitting
both forms of rendering (geometry and volume) by sharing common code
between them.


Please contact us if you have any questions or encounter any issues.


Thanks,

-- 



*| Aashish Chaudhary | Technical Leader         | Kitware Inc.            *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20141010/828313d8/attachment-0001.html>


More information about the vtk-developers mailing list