Aditya,
The conventional approach to volume rendering has been ray rasting. In
ray casting, each point on a ray projected from the eye position through
the volume is processed sequentially. In this technique,
1. The colors, opacity and shading of a volume are sampled, filtered and
accumulated at a point on a ray specific distance from eye position.
2. The distane is incrmented along the ray, and the same colors, opacity
and shading computations are repeated by the CPU.
3. When the traversal finally moves beyond the viewing frustum, the
point of computation moves to the next ray near the eye point.
Java3D will be of no use if you decide to use conventional ray casting
procedure. However, you can use Java 3D to implement Volume Slicing.
In volume slicing, all points on a plane orthogonal to the line of sight
are computed sequentially in the texture mapping hardware. In this
technique:
1. The volume is sampled in the surfaces orthogonal to the viewing
direction.
2. After the points along one plane on all the rays intersecting the
volume are processed, the distance is incremented and the processing
occurs again for all points on all the rays in the new plane.
3. Processing the points continues until the place of points moves
beyond the viewing frustum, at which point the processing terminates.
The advantages of volume slicing technique over ray casting are:
1. Volume slicing is faster than ray casting, because computations are
performed by the dedicated texture mapping hardware, whereas ray casting
computations are performed on the CPU.
2. Volume slicing reduces the volume to a series of texture-mapped,
semi-transparent polygons. These polygons are no way special and can be
merged with any other polygonal data base handed to any common 3D
Graphics API (for example Java3D or Inventor etc) for drawing. Hence you
can mix and match surface and volume rendering freely under the volume
slicing scheme.
SGI has already implemented Volume Slicing technique on top of OpenGL
and calls it OpenGL volumizer. Volumizer is a C++ based api and is
currently available for only IRIX platform.
I am sure Java3D can also be used to develop an API for volume slicing
puprose but by no means its a trivial task.
Hope this information helps.
Rahul Choudhury
G.E. Medical Systems.
----------
From: Aditya Datta[SMTP:[EMAIL PROTECTED]]
Sent: Friday, May 21, 1999 3:21 AM
To: Java 3D Mailingslist
Subject: [java3d] Volume Renderer
Hi All,
I have to design and impliment a platform independent, client
side
visualistion tool, viewable in a browser. I would appreciate any
information, experiences, that anyone might have had doing a
similar
project using java3d.
Thanks
Aditya
=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/
=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/