[vtkusers] mutli-pass framework, volume rendering without a vtkcamerapass
Bryn Lloyd
lloyd at itis.ethz.ch
Wed Jun 8 12:22:51 EDT 2011
Hi
If I want to use the multi-pass framework to do volume rendering in an
existing OpenGL context, with an existing camera/lights etc how is the best
way to proceed?
I have created a function called Render(), which basically calls:
void VtkRender()
{
opaquePass->Render(state);
peelingPass->Render(state);
volumetricPass->Render(state);
overlayPass->Render(state);
}
I don't make these passes a delegate sequence of a vtkCameraPass. In
addition I don't perform a light pass using vtkLightsPass. Instead the
camera pass and light passes are done before calling VtkRender() using
non-VTK code.
For opaque and translucent props it works quite well.
However, the volumetric pass does not work yet. I have stepped through the
code in Debug mode and checked all calls done during the volume rendering
(using a vtkVolumeRayCastMapper).
It obviously is trying to get certain values (e.g. transformations) from the
vtkCamera of the vtkRenderer. This vtkCamera is otherwise not used and not
setup or synched with the existing non-VTK camera.
How can I set up the vtkCamera so that this will work? Could there be
another reason why it is not working for volume rendering, but working
correctly for opaque/depth peeling render passes?
If I get this to work I will add a self contained example to the Wiki
Examples.
Thanks for any hints
Bryn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110608/d0dcb030/attachment.htm>
More information about the vtkusers
mailing list