Re: paging ASDs and query geosets/triangles...

New Message Reply Date view Thread view Subject view Author view

Yair Kurzion (yair++at++polygon.engr.sgi.com)
Thu, 18 Nov 1999 13:25:34 -0800 (PST)


Hi Simon !

> I need some help with paging ASDs and query geosets/triangles. Just as a
> refresher: I'm trying to move a textured tile over a paging ASD - the tile is
> tethered to the projection of the eye point on to the ASD. (The texture on the
> tile is being driven by a pfImageCache but this is irrelevant for the purposes
> of this discussion because the same behaviour occurs with a simple static texture)
>
> A week or so ago I asked whether query geosets/triangles actually work with
> paging ASDs. I've since found that they do work (sort of) if you add the query
> geosets/triangles to the ASD after the first evaluation cycle and frame sequence
> - seems as though there isnt any ASD data to align/project and tesselate until
> then. Can somebody tell me if this is the correct behaviour?

You got it right. Some things happen late in paging ASD's. It is an open bug
and we plan to address it in the next major release of Performer.

> Anyway, after having overcome this hurdle I find that the tile moves nicely for
> a short distance. Then triangle shaped holes start appearing in the tile, the
> edges become ragged and the tile disappears. Why?

I am not sure I understand what you are seeing. I can think of two potential
problems:

1. You are querying a polygon and request to receive the results in an array.
   If the number of polygon fragments on the terrain is more that the array
   can hold, pfASD will ignore the remaining fragments.
   If you use a geoset to store the results, this will not happen.

   The sample code pguide/libpf/C/ASD_decal.c uses fixed-size arrays to store
   polygon query results.
   The sample code pguide/libpf/C/ASD_decal2.c uses geosets to store query
   results.

2. You may be seeing z-buffer fighting of the decal polygon and the ASD
   polygons. When polygons z-fight you see fragments of one polygon appear
   on top of fragments of another. This changes rapidly we your eyepoint
   moves.
   If this is the problem, you should add a DECAL state to the geostate of the
   overlay polygons (The ones on top of the ASD geometry). The call:

       pfGStateMode(gstate, PFSTATE_DECAL,
           PFDECAL_LAYER_DISPLACE | PFDECAL_LAYER_7 | PFDECAL_LAYER_OFFSET);

   should do the trick.

If none of the above work for you, can you send me a screen snapshot of the
problem ?

-yair

-- 
\_________  \_____  \__    \__  \_____         Yair Kurzion
\_________  \_____   \__   \__  \_____         yair++at++sgi.com
       \__     \__   \____\__      \__   http://reality.sgi.com/yair
       \__          \__  \__                Work: (650) 933-6502
       \__          \__   \__               Home: (408) 226-9771
       \__          \__    \__             

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Thu Nov 18 1999 - 13:25:40 PST

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