Desiree,
I have only just started to look at this but a few initial comments
come to mind.
These points will not help (much) but could make a little difference
in similar applications.
My points are not about Z buffer (that comes later) but are with respect
to accurate positioning
of objects in relation to each other, and accurate relative movement.
1) You are just going over the limits of single precision floating
point (SPFP). Generally you
only get the equivalent of 6 to 9 decimal digits of precision from
SPFP. This sounds odd but
I did a few
articles on this subject (in reference to VRML) to explain this.
The math precision
issues addressed in the articles should be applicable in general.
2) If you centre the models over 0,0,0 you can, in my mind at least,
gain a little more overall precision
as you are using the available precision for both negative and positive
SPFP numbers.
3) Because of the above, when operating with such large models you
may be better off using doubles.
Now for the Z buffer issues.
I ran your program and the problems are certainly typical of 'Z buffer
tearing'. So I will try some sort
of dynamic change of clipping planes and see if this helps. Anyone
on the list done this already, perchance??
Chris
----------------------------------------------------------------------------
----------------------------------------------------------------------------
This Email may contain confidential and/or privileged information and is
intended solely for the addressee(s) named. If you have received this
information in error, or are advised that you have been posted this Email by
accident, please notify the sender by return Email, do not redistribute it,
delete the Email and keep no copies.
