Hi Doug,
thanks for your answer. For my solar system visualisation I would
need a backClipDistance of nearly 150,000,000,000 metres (distance
Sun to Earth) and a frontClipDistance of about 1 metre for satellite
close-ups. As this would give me a pretty bad ratio, I am very
interessted in the Background.setGeometry(..) functionality.
Is there any further documentation? Examples? Tutorials?
Any help on "The geometry should be pre-tessellated onto a unit
sphere."?
Cheers, Thomas
Doug Gehringer schrieb:
>
> Problems with z-buffer resolution are usually not really due to lack of
> resolution. Instead, the problem is usually that the front clip plane is being
> put too close to the eye, resulting in a loss of z-buffer resolution for objects
> near the back clip plane.
>
> Try this:
>
> // Make sure that front and back clip planes are specified as a
> // virtual distance from the eye
> view.setFrontClipPolicy(View.VIRTUAL_EYE);
> view.setBackClipPolicy(View.VIRTUAL_EYE);
>
> double backClipDistance = <distance to furthest object in scene>
> view.setBackClipDistance( backClipDistance );
> // (back / front) must be < 3000 to avoid loosing z-buffer resolution.
> // The larger the number, the more the z-buffer space will be used
> // for objects in the front of the scene. If you loose z-buffer
> // resolution for objects at the back of your scene, decrease this
> // number. If your objects are getting front clipped, adjust both
> // the front and back clip distances to keep this ratio.
> view.setFrontClipDistance( backClipDistance / 600.0 );
>
> The only multiple resolution algorithm that I think will work with J3D is to
> make the geometry which is very far away be part of the Background for the
> image. For example, you could make the sun and stars be part of the Background
> when rendering a satellite orbiting earth. See the javadoc for Background:
> you'll need to tesselate the background geometry onto a unit sphere, apply it to
> the Background using setGeometry() and then add the Background node to your
> scene.
>
> Doug Gehringer
> Sun Microsystems
>
> > From: Thomas Auinger <[EMAIL PROTECTED]>
> >
> > 1. Is it possible, to control Z-Buffer partitioning? Large universes
> > demand either high-precision Z-Buffers or some sort of logic
> > separation.
> >
> > 2. Is it possible to influence the rendering process and probably
> > render multiple scenes into one frame? For example to render all
> > very distant objects first, than a couple of closer ones etc.
> >
> >
> > Why I would like to know all that:
> >
> > Apparently a Z-Buffer can only handle a certain depth without
> > getting into trouble, since a Z-Buffer has a number of byte
> > to store each pixel's depth.
> >
> > Problems arise, when trying to render a multi-resolutional
> > universe like the solar-system:
> > - The size and distance of the sun introduce an upper bound
> > - The size of small objects like satellites introduce a lower bound
> >
> > As the range of possible Z values is bound with an upper
> > and a lower bound, the Z-Buffer has to cope with high numbers
> > and runs into precision errors.
> >
> > The result are uncorrect rendered objects, which sometimes
> > let hidden objects shine through etc.
> >
> > Cheers, Thomas
> >
> > ===========================================================================
> > 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".
>
> ===========================================================================
> 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".
--
-------------------------------------------------------------------
Thomas Auinger . [EMAIL PROTECTED] . Tel
Kranichsteiner Str. 93 . 64289 Darmstadt . www.postspiel.de
===========================================================================
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".