<div>Thanks for your support David and sorry for the cross-post...I was wondering if one could image some core-based solution.</div><div><br></div><div>In our case a medical application is being prototyped and the ray-cast volume was preferred for volumetric reconstruction. The point is that our application is connected to a device that tracks surgical instruments that are represented by polydata. So, theoretically, we can't abdicate of the ray-casting while moving these tools during a given surgical procedure. This is the reason I mentioned if it is possible to bypass the pipeline processing in order to render this polydata using pure OpenGL commands.</div>
<div><br></div><div>Thanks again</div><div><br></div><div>Regards</div><div><br></div><div>Fauze</div><div><br></div><div><br></div><div><br><div class="gmail_quote">On Fri, Jan 22, 2010 at 7:04 PM, David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com">david.gobbi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Hi Fauze,<br>
<br>
Please don't cross-post to the vtk-developers list, since that list is<br>
only for developer issues.<br>
<br>
Mixing polygonal objects with software ray-cast volume rendering is an<br>
expensive process, it involves reading a partially rendered scene from<br>
the video card back to main memory and re-doing the volume rendering<br>
using the information in the depth buffer. Every time the object<br>
moves, the ray-cast has to be redone.<br>
<br>
If you need fast volume rendering intermixed with polydata, you should<br>
use vtkVolumeTextureMapper3D or vtkVolumeTextureMapper2D. These<br>
volume mappers do all of the polydata/volume intermixing right on the<br>
graphics cards.<br>
<br>
What I often do is use a vtkLODProp3D so that I can use the texture<br>
volume rendering when I'm dragging things, but have it automatically<br>
switch to ray-casting when I stop dragging the mouse.<br>
<br>
David<br>
<br>
<br>
On Fri, Jan 22, 2010 at 1:33 PM, Fauze Polpeta <<a href="mailto:fauze.polpeta@gmail.com">fauze.polpeta@gmail.com</a>> wrote:<br>
</div><div><div></div><div class="h5">> Dear VTK Users;<br>
> I have worked on a project that requires a Polygonal Object ( or at least a<br>
> simple Line ) to be moved on the fly on a volume rendered scene built on top<br>
> of a vtkVolumeRayCastMapper abstraction.<br>
> This goal was successfully reached but we have faced a drastic performance<br>
> degradation when moving the polygonal object into/across the volume scene.<br>
> We have assumed this is a consequence of the VTK's pipeline processing<br>
> model. If anyone confirm that, we would like to ask any help in the sense of<br>
> pointing any strategy for achieving any (minimal) performance improvement.<br>
> Perhaps, getting the OpenGL Context and rendering our polygonal object using<br>
> OpenGL commands; thus skipping the VTK's pipeline processing. Is this<br>
> feasible?<br>
> Thanks in advance for any help.<br>
> Regards,<br>
> Fauze<br>
</div></div><div><div></div><div class="h5">> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the VTK FAQ at:<br>
> <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
><br>
><br>
</div></div></blockquote></div><br></div>