Fluxed particles via pfEngines

New Message Reply Date view Thread view Subject view Author view

Chris Scharver (scharver++at++evl.uic.edu)
Tue, 30 Nov 1999 17:10:25 -0600


Greetings,

I have been attempting to sync several engines together for a
Performer particle system animation. The resulting geoset has fluxed
attributes. These attributes are stored in separate fluxes since
some attributes are different types of data. All of these are
connected to a timer flux from pfGetFrameTimeFlux. The engines need
to sync together for each frame. What's the best way to ensure the
order in which pfEngines are operated upon when they may use each
others' outputs as sources?

I want velocity evaluated from the timer, then position evaluated
from both the timer and velocity. Color uses the timer, velocity,
and position. When the engines evaluating position and color are
triggered, they require the values for the time and velocity to be
for the current frame. The only way I have found to ensure this is
by calling getWritableData instead of getCurData. This makes
Performer throw a ton of warnings to the screen. I don't want to
write to the data when using it as a source, but I do need to ensure
that source is from the current frame. The fluxes are part of a
syncGroup triggered after the color is evaluated. I seem to be
running into conflicts due to attempting to grab invalid buffers, so
motion of the system is really erratic. (eg. a smoothly ascending
particle will 'bounce' erratically as it rises because frame buffers
for position are incorrect.)

The aqua example operates directly on attributes stored in shared
memory and then copies those attributes into the geoset. I'm trying
to take advantage of fluxes for multiprocessing by operating directly
on fluxed attributes connected to the geoset, so things get a little
more complicated. Any suggestions for which modes I need to set on
the fluxes and engines for them to behave correctly? Or am I simply
making this way too complex for a relatively minimal gain in
performance? :)

Thanks,
Chris
__________________________________________________________________________
Chris Scharver EECS Graduate Student
Electronic Visualization Laboratory EVL Phone: 312-996-3002
The University of Illinois at Chicago EVL FAX: 312-413-7585
1998-1999 UIC Men's Swimming and Diving


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Tue Nov 30 1999 - 15:11:44 PST

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