With this case though, we have objects that are just obscuring other
objects. Thus, in a 50*50*50 block of cubes, there are only 14400
external cubes. Thus the 'hint' that all objects in
a scene are opaque seems like a big performance gain (9X in this
simple minded case). Note that like in C/C++, the viewer may choose
to ignore the hints that the user provides since in most cases a smart
viewer can figure it out for themselves.
The issues are the same for arbitrarily shaped objects inside of
or obscured by other arbitrarily shaped objects. If for instance,
you have a small VRML sphere inside of a large closed
VRML cylinder, then does the sphere go to the display list? Although
the video system will display the scene correctly, if it wastes time
on things that we "know" that we can't see anyway, then why bother.
...kind of like drawing trees in a fractal landscape. Draw green dots
far away, cones closer up, and detailed tress very close up.
This gets back to one of the points that was raised by someone
previously: VRML seems to be surface based instead of volume based.
It sounds like a conscience decision needs to be made as to
whether or not we want this limit on VRML. If so, then perhaps an
independent effort needs to be started for volume based data and get
that created as a standard data type also???
There really isn't anything special about volume data, the parser/viewer
has to understand that there may be a lot of data that can't be seen.
The issues about transparency for volume data are about the same as
for surface data. Once again, the big difference is the ordering
and arrangement of the data (lots of little closed objects instead
of a few large closed objects). There are already plenty of
volume rendering packages (they let you turn materials on/off, diddle
with transparency, etc) but there isn't a real standard.
The key difference between surface and volume data though occurs
when you start introducing cutting planes. Is the inside of the
cut object visible or is there a surface along the cut plane?
Scott Nelson
--+----------------------------------------------------+ |Scott D. Nelson B131 Rm2074 3-1250 | |Lawrence Livermore National Laboratory | |7000 East Ave., L-153 Livermore CA 94550 | |email: [email protected] http://www-dsed.llnl.gov/ | +----------------------------------------------------+