Folks,
This one is a seeking of collective wisdom, because I'm not sure anyone
has done this in j3d before...
The VRML spec requires a background node. This background is described
as a textured box held inside a colored sphere. This background can be
placed arbitrarily in the scenegraph. The nasty part is that the
background should be effected by rotation only. Scale and Translation
should not effect it (*YUCK*).
The first bit I can deal with to get the sphere to the right size - use
getLocalToVWorld and just reverse any translations and scaled. However,
I need to deal with this on a dynamic basis. As the user changes parent
transforms, I need to re-adjust the background as needed.
One way of looking at this is to have behaviours on the parent
Transforms to listen for TransformChange events. The problem we have
here is one of performance (don't want to have arbitrarily nested sets
of transforms and behaviours) and that the scenegraph can dynamically
change (ie someone removes the background etc). Also, when placed in a
Loader arena, the localToVWorld transform might be badly out.
Right at the moment I can get a very simple impl, but was wondering if
anyone has suggestions on a better approach to this problem. (This VRML
spec is a bitch to implement in some places!)
--
Justin Couch http://www.vlc.com.au/~justin/
Freelance Java Consultant http://www.yumetech.com/
Author, Java 3D FAQ Maintainer http://www.j3d.org/
-------------------------------------------------------------------
"Humanism is dead. Animals think, feel; so do machines now.
Neither man nor woman is the measure of all things. Every organism
processes data according to its domain, its environment; you, with
all your brains, would be useless in a mouse's universe..."
- Greg Bear, Slant
-------------------------------------------------------------------
===========================================================================
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".