Chris Tanner (cct++at++faith)
Mon, 21 Aug 1995 23:09:09 -0700
float pfEvaluateLOD(pfLOD *lod, const pfChannel *chan,
const pfMatrix *offset);
pfEvaluateLOD returns the index of the child that the Performer Cull
traversal would produce given a specific channel and matrix offset. The
integer portion of the return value represents the selected child, while
the floating point portion of the return is used to distinguish the fade
ratio between two visible lods if lod fading is turned on for the given
channel (see pfChanLODAttr). Thus an index of 1.0 would correspond to
Performer's decision to draw only child one. A value of 1.25 would mean
Performer would be 25% across the FADE transition between child one and
child two - meaning that child one would be 75% opaque while child two
would be 25% opaque. Similarly a value of 3.9 would represent child
three being 10% opaque (solid) while child four was 90% opaque. The
value -1.0 is returned when no children are visible. Note that negative
floating point values (like -.3) mean that Performer is currently fading
in child 0 and that it is 70% opaque. Thus return values will range from
-1.0 <= return value < N+1 where N is the number of children for the LOD.
(See pfChannel and pfLODState)
I think 2.0 is the easiest way to get the desired result, but if you really
want to do this in 1.2 send me mail and Ill see if I can be more specific
about the range calculation...
Later,
Chris Tanner
IRIS Performer
_____________________________________________________________
Chris Tanner (cct++at++faith.asd.sgi.com) Never Surrender. Dont
Silicon Graphics - Advanced Graphics Division
_____________________________________________________________
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:51:49 PDT