Re: LOD Range Processing

New Message Reply Date view Thread view Subject view Author view

Chris Tanner (cct++at++faith)
Mon, 21 Aug 1995 23:09:09 -0700


IRIS Performer2.0 which is currently in BETA release contains the
ability to evaluate LODs in the app process -
pfEvaluateLOD which returns the child which will be selected in the cull.
Here is an excerpt from the 2.0 man page...

     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
_____________________________________________________________


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:51:49 PDT

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