According to your TransparencyAttributes your doing additive transparency.

Which means if you have 2 gray polys (50% intensity) overlapping each other,
where they overlap they will be added together when rendered to the screen
(50% + 50% = 100%). This means if you overlap a red (1,0,0) poly over a green
poly(0,1,0), where they overlap will be yellow (1,1,0), if you toss a blue
(0,0,1) in there, they will add up white where all three overlap (1,1,1).
Additive works better with dark colors.

There is diffrent types of blending methods besides additive, there is ratio,
subtractive, filtering, and of course replace (no blending).

It just so happens though that additive and subtractive are the most zbuffer
friendly. You can draw them out of order, but you have to draw them after
drawing all the opaque objects, and you only do zbuffer reads no zbuffer
writes (think in terms of 2 polys intersecting each other).

Ratio based blending methods are the worst, because it requires depth sorting
to be done, and for intersecting of 2 polys to be done correctly will result
in the polys being clipped. Ratio is like saying you want 75% of the color to
be the transparent object and 25% of the object to be

Filtering (I think it can also be called modulation) I am not so sure about I
have not done the math for it so its hard to say what would be needed for it,
and besides I dont know if Java3D supports it. For this no alpha value is
used, instead the color is based upon multiplying one color to another. So if
your transparent object is red, then it will make any thing behind it look
red, if the background is white it will simply make it look red, if its blue
it will be black, if its yellow it will look red. An easier way to think
about it, is like those red and blue filter glasses used for sterescopic 3d
in movies and other media.

For realism you would use ratio or filtering for translucent objects, and
additive for specular, reflective, lens flares or environmental map type of
renderings.

Anyway I believe the problem you are experience has to do with the blend
method you are using. You can try other methods but they may look weird when
rendered if you dont sort them.

Leyland Needham

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to