Steve Baker (sbaker++at++link.com)
Wed, 1 Jul 1998 15:25:16 -0500 (CDT)
> It's very easy.
>
> The simplest way is to store xyz for top level scene graph objects
> and the eye in double precision.
> Then each frame you subtract a large offset from these double
> precision numbers to to keep the eye near the origin. You then
> cast to float and send to performer or OpenGL.
In principal, this is all true...
> It's trivial to implement at the application level.
Hmmm - this is easy to say when you don't consider all the OTHER
things that a real application has to do.
The problems are that each top level node (which is going to include
EVERY terrain tile) becomes a DCS. You now have zillions of DCS's
which means that geostate sorting and isect caching becomes ineffective.
What happens when you have multiple eyepoints that are a significant
distance apart? ...etc.
(and its always the 'etc' that takes the time to do!)
When you get into all the practical details of making stuff like
intersection testing and database paging work at the same time,
it gets hard - and messy - and (if you are not v.careful) will do
bad things to performance.
No, it's very far from trivial.
Steve Baker (817)619-8776 (Vox/Vox-Mail)
Raytheon Systems Inc. (817)619-4028 (Fax)
Work: SBaker++at++link.com http://www.hti.com
Home: SJBaker1++at++airmail.net http://web2.airmail.net/sjbaker1
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:57:39 PDT