Hi
  I guess I didn't explain well enough what I'm doing. I have a 3d world that
contains transparent objects, these interact with each other as expected (most
used to simulate lights/lens flare), then I am creating a HUD close to the
viewer. The hud is designed to accept multiple levels and each one being
transparent, for example, the farthest layer might contain a dial and then one
closer level contains the pointer for that dial, so only a small image is
updated at each frame.
  I have tried 2 methods, one where each layer is a separate 3d plate that gets
drawn on to, but this introduces more possibilities for the models in the game
world to come through the back plates on the HUD, the other is using an ordered
group to force the farthest components to be rendered first. With the ordered
group, any transparent components in the HUD block out transparent objects in
the 3d world. example, I have an FPS counter that has a semi transparent (0.5
alpha) background, when using an ordered group when my light effects pass behind
this component the covered pixels are not rendered, other non transparent
objects in my scene are fine. when using a Branchgroup the light effects can
still bee seen through the FPS counter, along with all other objects. Using an
ordered group or a branch group for the HUD (nothing in the 3d world is in this
group), when one light effect passes behind another light effect they have an
additive effect and cause 'pretty lights'

There are some screen shots at http://www.computerbooth.com/j3d/Hud%20samples/

The basic scene is a red test grid and an FPS counter in the HUD layer, and then
a set of ships and lights in 3d space, the lights are a transparent object using
OrientedShape3D place at the coordinates of a way point they AI ships fly around.

http://www.computerbooth.com/j3d/Hud%20samples/BranchGroup%20-%202%20components.jpg

This shows what happens when a branchgroup is used, the light effect can be
seen, but the FPS counter is now hidden by the test grid because the rendering
order is not correct

http://www.computerbooth.com/j3d/Hud%20samples/OrderedGroup%20-%20FPS%20and%20star.jpg

This shows how with an OrderedGroup the transparent HUD components block the
pixels of the transparent world objects

http://www.computerbooth.com/j3d/Hud%20samples/OrderedGroup%20-%20two%20components.jpg

This shows the correct HUD layering with the FPS counter over the test grid,
this is using an orderedGroup just with the HUD components

http://www.computerbooth.com/j3d/Hud%20samples/Two%20stars.jpg

This shows the two light effects working together

--

Homepage: http://www.computerbooth.com/
Code page: http://www.newdawnsoftware.com/

===========================================================================
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