Hi Stu,
This happens because correct rendering of transparent
triangles (iso-surfaces are made of lots of little
triangles) depends on sorting the triangles in depth order.
However, that order changes as the display is rotated in
3-D. This is not feasible within VisAD, although the Java3D
folks are thinking of doing something for this in a future
version. This applies to alpha blending transparency. You
can get better results with screen door transparency, but
the last time I tried making VisAD use Java3D's screen
door transparency it didn't work. Maybe I'll take another
crack at it. In general, I recommend against transparency
for iso-surfaces. We give the same advice with Vis5D, which
has the same problem (except that screen door transparency
does work in OpenGL).
Cheers,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html
On Fri, 13 Jul 2001, Stuart Wier wrote:
> Transparency is working in 3d idossurfaces by making a
> ScalarMap to Display.RGBA and providing a color-alpha table
> of the form float [4][length], with the last element being alpha.
> Resetting the color table with a new value of alpha changes
> the transparency as expected.
>
> The surface is transparent to the VisAD wireframe box,
> some lines in black (contours of other data for example),
> and to other isosurfaces. It's cool seeing one isosurface
> inside another one.
>
> However the surface is always opaque to map background lines
> and pseudo-colored data surfaces on a level under the 3D surface.
> For these objects the isosurface at full transparency verges
> to an opaque VisAD background color, black for example (unless
> the background color is changed from black).
>
> Anyone one have any idea what is going on?
>
> Stu
> --
>
> Stuart Wier UCAR Unidata Program
> wier@xxxxxxxxxxxxxxxx P.O. Box 3000
> http://www.unidata.ucar.edu/staff/wier Boulder, CO 80307
>