> From: Gregory Hopkins <[EMAIL PROTECTED]>
>
> Is it possible to use java3D to do any of the typical 3D effects like throwing
> an axe at the audience?
>
> I was reading the documentation an back clipping and front clipping for views
> and it all looks rather worrying. It seems that by default everything
disappears
> at 10 cm from the viewer, and if you want things to get close you have to
> shorten the back clipping distance (myopic Sun programmers can only see 10
> meters as it is).
>
> I hope I read it wrong. Is there any way of turning the clipping off, or maybe
> you can somehow change the clipping distances dynamically as the axe gets
> nearer?

The problem is not with Java3D, but with the algorithm and hardware resources
used for depth buffering.  If you have a depth buffer with limited resolution
(i.e. 16-24 bits typically) and you are using a perspective view (pretty much
required for a first person view), then you will have limitations on the range
of depth you can display.

This will be true with Java3D, OpenGL and Direct3D.  The only fixes are to
change the algorithm used to do the depth buffering, such as using BSP trees
instead of the depth buffer (used by Doom, not sure if it is still used by
Quake) or by dedicating more hardware resources to the depth buffer (use by
high-end MCAD hardware).

That being said, there is nothing to stop you from doing your axe throwing as a
"special effect", where you draw the axe outside the normal rules.  For example,
the "effect" of the axe approaching the eye is that it gets larger and larger
until it hits.  If 10cm is not close enough for you, then bring the axe close to
the eye, but > 10cm and then simulate that last bit of distance by scaling the
axe larger and larger (accompanied by an appropriate sound, etc as the axe
hits).


Hope this helps,

Doug Gehringer
Sun Microsystems

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