Re: Demo program in buttonfly.
John Rohlf (jrohlf++at++tubes)
Fri, 10 Mar 95 17:55:49 PST
>
> On Mar 1, 12:15pm, Pat Parker wrote:
> > Subject: Demo program in buttonfly.
> >
> > I know this is isn't a Performer question but I do not know who else to
> ask. I tried the comp.sys.sgi.graphics newsgroup but got no response.
> >
> > Can anyone explain how the demo "distort" in buttonfly is implemented?
> It's under the Performance Features, Reality Engine buttons. It is a
> texture of a dog that you can pick with the mouse and cause a ripple
> effect or a rubber effect.
> >
>
> It's just a mesh that is being distort according to some physical behavior
> (rubber, ripple, etc...) see also the Tele demo. The texture (static or
> sirius video) is just apply to the entire mesh (0..1, 0..1). It's under
> the Performance Features because it's very cpu intensive (the dynamics).
>
> > I am interested in creating that same effect in a Performer application.
> I am assuming I will use a pfGeoSet and change the texture coordinate
> array. Maybe thistype effect can only be done through a GL object? Any
> suggestions are welcome.
>
> Not the texture coordinates, the vertex information. At each frame in the
> APP process you would modify the geometry. If you want to use
> multi-processing don't forget that Performer only use multi-buffering for
> libpf nodes. So in order to modify your data in the APP process without
> disturbing the CULL/DRAW process you will need to manage your own
> multi-buffering startegy.
>
> ex.: Switch with 3 Geode has children (one for the APP, CULL and DRAW)
> since Switch are multi-buffer changing the index in the APP is safe.
>
> CAREFUL if you overshoot a frame (maybe more than 3 Geodes)
>
Performer 2.0 will provide a special data structure which
will automatically handle the buffering requirements of multiprocessing
for pfGeoSet attribute arrays. It is currently called pfCycleBuffer.
A current option is to simply modify the data in the DRAW.
This avoids icky buffering issues.
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:51:03 PDT