> Date:         Wed, 19 Mar 2003 11:27:13 -0500
> From: "McCormick, Brian" <[EMAIL PROTECTED]>
>
> I'm new to Java 3D and was hoping to get some help on what seems to be a
> rendering problem I'm having.  First, I am using the SimpleUniverse class
> and I created a primitive spere with the true mean radius of the earth and
> mapped a jpeg earth map to it and placed it in the center of the
> SimpleUniverse.
> [...]
> The square gets added to the scene, but it doesn't render very well.
> As I move the view platform around, the square doesn't appear to be
> solid and consistent in shape.

Sounds like you're running into the limits of floating point precision
on your graphics card.  In general you can't place objects 1000's of
miles away from the origin without floating point errors distorting the
positions of their vertices.  With 24-bit single-precision arithmetic,
points can be quantized as much as a third of an inch at a distance of
just one hundred miles.

This problem seems to be more prevalent with the inexpensive
consumer-level PC graphics cards.  When we investigated bug 4760871,
which describes a similar problem, we found that the inaccuracy was
quite pronounced on the Nvidia and ATI cards we use for testing but not
noticeable at all with Elite3D and XVR-1000 cards that Sun sells to its
CAD and high-end visualization customers.

See Section 4.5 of the Java 3D Specification for a discussion of this
problem and how to use high-resolution coordinates and multiple locales
to work around it.

> Another problem is that when I move the viewport to the other side of
> the earth, I can still partially see the square through the earth.

Sounds like you're running into depth precision problems as well.  This
is influenced by the ratio of the near clip plane distance to the far
clip plane distance -- try to keep it less than 3000 to accomodate the
16-bit Z buffers commonly used in consumer-level graphics cards.

-- Mark Hood

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