<span style="font-style: italic;">(For those of you who've dug through this already on the vtk-users, I am sorry. Just want to make sure the right people get their eyeballs on this).</span><br><br>I've been trying to do some volume rendering on an in-house dataset and it's been giving me nothing but trouble. I finally broke down and wrote a simple driver app to do nothing but volume rendering & save the result to a PNG on disk, and came to a few surprising conclusions. Basically, vtkProjectedTetrahedraMapper doesn't work with mangled mesa. I can remove the "UseMesaClasses" from the beginning of the code and everything works just fine but it does throw a window on the screen. Add them back, and all I get is empty space for outputs.
<br><br>Ok, after alot of digging I found the problem. It seems that none of
the new unstructured volume renderers properly support Mesa. My best
guess is that it was setting up the scene with mangled-mesa contexts,
and then the Volume Rendering was using true OpenGL. Every command
probably returned an error (no GL context), but nothing checks it, so
it rendering blindly & ignorant of what was going on. <br><br>After alot of work, I managed to apply the same structure as
the other objects to the vtkProjectedTetrahedraMapper successfully.
There is now a vtkProjectedTetrahedraMapper that, with the help of the
vtkVolumeRenderingFactory, can properly instantiate either a
vtkOpenGLProjectedTetrahedraMap<div style="direction: ltr;">per or a vtkMesaProjectedTetrahedraMapper.
>From the testing I've done here (with the hello-world code shown
originally), I've been able to switch between the two pretty easily and
get almost identical results. There are a few discrepancies, but since
this is a hardware accelerated version it's very susceptible to the
fine variations between how Mesa emulates the hardware and various
hardware platforms actually work.
<br><br>So, who @Kitware do I need to talk to to get this patch back
to mainstream? I plan to file a bug on it, with code attached,
tomorrow morning when I return to the office. This is a little larger
patch that I usually deal with (4 new files, extensive changes to a few
others), so what's the preferred format for a patch this size? I know
there's a command with 'cvs diff' to get "patch"-style diffs, which
seems the best option, but I always forget it...</div><br clear="all"><br>-- <br>Randall Hand<br>Visualization Scientist, <br>ERDC-MSRC Vicksburg, MS<br>Homepage: <a href="http://www.yeraze.com">http://www.yeraze.com</a>