"Yazel, David J." wrote:
> Yes, we plan to strike a balance between box size and accuracy. Its
> important to note that the bounding boxes we will be trying to build will
> model "solid-filled" space, which can (and will) span geometry.
OK, I think this is the crux of the issue. To me, this really sounds
like you need to go outside the Java3D system to do things properly. I
don't think putting in non-renderable geometry is a good idea because it
still needs to be culled each frame etc. Also, from looking at the
picking spec, I'm not entirely sure what you should expect as an answer.
Does picking return non-rendered object or not? (For comparison, the
VRML spec says you can't pick invisible geometry).
The real benefit that Java3D gives you is all the spatial organisation
of geometry to deal with nested transformations and the rendering
pipeline for state handling etc. However, for your scene, are you
actually making use of deeply nested transformations or do you have an
effectively flat scene graph structure?
For something like this to work properly I would think you need a flat
structure. If you are using a flat structure, is the Java3D system
really going to benefit you at all? You are going to have to do almost
all the work the j3d engine does anyway - bounds sorting and culling and
then the intersection tests. Of course, this really depends on the
answer to the picking of invisible geometry question. If picking doesn't
return invisible objects, then you are stuffed anyway and will have to
do it yourself. Then, at this point you have to question the validity of
using Java3D at all. Effectively you have just built something that
looks awfully like OpenGL or DirectX type rendering as you've bypassed
almost all of the offerings of J3D. The lower-level rendering APIs may
be more suited to your purpose.
> bounds searching over to java3d. Since they already have a mechanism for
> spatially organizing bounds, I would suspect it would perform well...
It would be interesting to know where that is handled - java or native
code. If in Java, I suspect that they won't get any better performance
than you will with a heavily tuned data structure and implementation.
The real decision is how much time you want to put into the development
of this work.
--
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".