Re: any idea or advice ?

New Message Reply Date view Thread view Subject view Author view

Sharon Clay (src++at++rose)
Wed, 7 Feb 1996 10:24:01 -0800


+>---- On Feb 7, 5:13pm, ceti wrote:
> Subject: any idea or advice ?
->From guest++at++holodeck Wed Feb 7 09:55:43 1996
->X-Sender: ceti++at++worldnet.net (Unverified)
->Date: Wed, 07 Feb 1996 17:13:42 +0000
->To: info-performer++at++sgi.sgi.com
->From: ceti++at++worldnet.net (ceti)
->Subject: any idea or advice ?
->X-Mailer: <PC Eudora Version 1.4>
->
->The subject is how to increase realism with an acceptable CPU cost in a
->sailling animation.
->
->So first, I need to simulate the wave trailed behind the boat.
->I plan to generate several polygons using the positions history and map an
->alpha texture on them.
->But I ve been told that under performer making a change in the geometry of
->the data base is really expensive ( rather than under GL ).

Absolutely not true - changing the geometry is FREE!
In fact, there are a lot of features in Performer to help you
make use of this fact!

We share your copy of geometry in memory and send the current copy
to the graphics pipe every frame - same a GL. Unless you specifically
request GL display lists, we use our own very fast immediate mode display
lists which in some cases can be faster than GL display lists because
of compression and optimization tricks we use based just on the pointers
to your pfGeoStates and pfGeoSets.
Since we keep pointers to your arrays of data,
You can chan change the geometry in the arrays at no cost and you can
update a pointer and virtually no overhead.
Every frame, we dump down your current version - no copy.

If you want to do operations on the geometry that are computationally
very expensive you may choose to do them on a separate CPU - again, no
trouble because all of the data is in shared memory. To keep from
drawing a half finished result, you can keep two copies - the current under-
progress copy and the copy to draw. When you are done with a result,
you flip the pointer. If you use 3 copies of the data, you don't have to
wait until the draw is finished with it to flip the pointer.
There are special multi-buffer primitives to help you with this kind of
multi-processed shared memory database editing - check out pfCycleBuffer.

->
-> Second, when setting spinaker on, I want to see the change in the shape of
->the sail ( from the bag to the half balloon )
-> To do this, should I rather use new morphing nodes of perf2.0 or keep
->the list of various shapes I have made ?

I'd vote morph :-)
Check out the morph.c example in src/pguide/libpf/C/morph.c

src.

-- 
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++
Sharon Rose Clay (Fischler) - Silicon Graphics, Advanced Systems Dev.
src++at++sgi.com  (415) 933 - 1002  FAX: (415) 965 - 2658  MS 8U-590
-----{-----{---++at++   -----{----{---++at++   -----{----{---++at++   -----{----{---++at++

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:52:22 PDT

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