Hi Clement,

On 5 March 2012 03:04,  <[email protected]> wrote:
>    My program was using coin3D for volume rendering before.  Now it is 
> replaced with osg, but I still want the existing machine is able to run osg 
> version.  Last time you mentioned it is possible to implement a crude 3D 
> volume rendering based on 2D textures.  Can you tell me more in details how 
> to do?  Do you mean the current osg doesn't have this feature?  Is it 
> required to modify the source code and recompile again?  Thanks.

I am not about to complicate osgVolume with backwards compatibility to
hardware that can't do volume rendering properly so this will be
something you'll have to implement at your end.

The way to do volume rendering with 2D textures is very limited but
possible - you need to create a stack of 2D images that build up the
volume, and then render a each of images as a 2D texture assigned to
an axis aligned quad, building up the image from back to front.  To
handle viewing from all angles you'll need to create three sets of 2D
images, one for each axis so as you rotate around the volume you can
select the most closely aligned axis.  This will use more memory than
using proper 3D textures, and it'll be far less flexible as you won't
be able to compute normal on the GPU or do any decent shader
operations.  The final product of you work will be compatibility but
on as far as the lowest common denominator - i..e. really crude low
res volumes.

Alternatively you could spend a small amount of money on a graphics
card for your systems that is capable of doing volume rendering.  Even
a low end ATI or NVidia card will be able to do volume rendering -
it'll be slow, but still way faster than the Intel graphics and way
higher visual quality.  You'll save lots of time - you'll only need to
save a couple of hours work to break even on the purchase of the
graphics card - in fact I have little doubt that you've already wasted
far more time and money trying to get by with crappy hardware that
isn't up to the job.

As for Coin3D doing it, well it's implementation of volume rendering
is not too advanced - it's stuck at the lowest common denominator
level that you really should be expecting to exceed these days.

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to