Yair Kurzion (yair++at++polygon.engr.sgi.com)
Tue, 12 Jan 1999 12:29:37 -0800 (PST)
Engine-Flux chains were designed to support frame-accurate propagation of
results. In other words, consider the following chain:
Flux_0 --> Engine --> Flux_1 in an FCS
If you modify Flux_0 at frame n, Flux_1 in the FCS node will not see the Engine
result until it hits frame n.
Do you need frame-accurate propagation ? If your matrix changes on GUI
request, you probably don't care.
If I managed to understand your application:
You can write a user-defined engine function that receives a new position
and calculates the new matrix. Your widget output has to write the new position
into Flux_0 (see pfFlux::getWritableData, pfFlux::writeComplete). I am not
sure this is buying you much - unless you care about a frame-accurate change
of the FCS matrix.
One additional point: Changing a DCS matrix causes a re-evaluation of the
bounding sphere/box of the nodes under and above it. Changing the FCS matrix
in Flux_1 doesn't cause any bounding volume re-evaluation. This could cause
wrong culling. You should modify the bounding volumes of relevant nodes yourself
or set them to large enough static bounding volumes.
-yair
--
\_________ \_____ \__ \__ \_____ Yair Kurzion
\_________ \_____ \__ \__ \_____ yair++at++sgi.com
\__ \__ \____\__ \__ http://reality.sgi.com/yair
\__ \__ \__ Work: (650) 933-6502
\__ \__ \__ Home: (408) 226-9771
\__ \__ \__
This archive was generated by hypermail 2.0b2 on Tue Jan 12 1999 - 12:29:40 PST