Re: Transform precision.

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++multipass.asd.sgi.com)
Tue, 24 Jun 1997 13:00:15 -0700


On Jun 24, 9:32am, Steve Baker wrote:
> Subject: Transform precision.
>
> I'm seeing some peculiar differences in rendering a scene before
> and after calling 'pfFlatten'.
>
> I have this:
>
> pfScene
> |
> ________|________
> | |
> pfSCS pfSCS
> | |
> | |
> Geometry Geometry
>
> The two sets of geometry are terrain tiles, each modelled with their local
> origin at the center of the tile. The two SCS's translate (but don't rotate)
> the tiles so that (in theory) they exactly touch along one edge.
>
> I noticed that when the pfScene is 'pfFlatten'ed, the two tiles match up
> nicely - with no cracks at the boundaries. However, in actual use, I don't
> have enough memory to flatten the scene graph in this manner.
>
> When I *don't* flatten the scene, there is a thin crack between the two tiles
> which was not there in the pfFlattened case.
>
> I'm using an iR machine with OpenGL. Could it be that OpenGL is doing the
> SCS translation with less precision than Performer?

You should expect some differences, depending on your luck
with the exact numbers in the SCS nodes. I've seen this sort of thing which
looks almost like a rounding problem using terrain matrices with huge values,
but these were really out in the boonies and I just put it under the general
heading of precision errors in circumstances where I expected such problems.

Remember you are performing a matrix multiplication at least with model
and viewing (or other equivalent) which results in what is probably a
fairly low imprecise number on the stack (youre up close and personal
with your data right) this versus a large number
in the modelview matrix (actually just viewing since you've flattened)
and large coordinates under transformation. So I'd suggest that the
difference is a result of the different process rather than some fp
difference in the GEs, ie you have a model viewing multiplication
followed by a transformation, versus a transformation through model
matrix (the pfflatten) followed by a transformation through viewing in
the GFX pipe.

Presumably your SCS nodes have some pretty huge numbers in them, is this a
"real" problem? It sounds like some curiosity you have discovered while
working on some Large Area Database Management code.

Cheers,Angus.

=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:30 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.