Re: DBASE process and cycle buffers

New Message Reply Date view Thread view Subject view Author view

Yair Kurzion (yair++at++polygon.engr.sgi.com)
Thu, 1 Apr 1999 11:13:57 -0800 (PST)


Hi Jean-Luc !

pfCycleBuffer's were written assuming that they will always be called from
within the synchronous App-Cull-Draw stream. They rely on the frame ID
differences between the three pipeline stages. Asynchronous processes (e.g.
DBASE) often carry their frame ID for many pipeline frames and pfCycleBuffer
does not know how to deal with these situations.

This is exactly why pfFlux came about. The pfFlux API is very similar to the
pfCycleBuffers one. However, you can call a pfFlux from any one of the Performer
processes - synchronous or asynchronous.

Please take a look at the pfFlux man page, and at the various sample code in
pguide/libpf.

-yair

> I'm working on transferring our Performer object creation to the DBase process.
> Our objects extensively use pfCycleBuffers for manipulating the object
> geometry. We had no problem manipulating cycle buffer from the APP process, but
> since we create our object and initialize their geometry attributes from the
> DBase process, we experience problems with the cycle buffers. It appears that
> cycle buffer indexing is not managed properly.
>
> What we do is the following:
>
> >From the DBase:
> 1- create pfCycleBuffer
> 2- get cycle buffer current data pointer
> 3- update data
> 4- call cycle buffer changed method
> 5- create pfGeoSet
> 6- assign cycle buffer to pfGeoset attribute
>
> This worked when executed in the APP stage.
>
> Note that once the objects are created, geometry is manipulated from the APP
> stage. The DBase is only used for creating scene branches.
>
> Are there any issues/restrictions with cycle buffers and DBase process?
>
> How can I make sure that cycle buffer is ready to be used or that the pfGeoset
> is referencing proper buffer when an object gets in the APP-CULL-DRAW pipeline?

-- 
\_________  \_____  \__    \__  \_____         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 Apr 01 1999 - 11:13:59 PST

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