Re: Performer PFSTATE_CULLFACE
John Rohlf (jrohlf++at++tubes)
Mon, 5 Dec 94 14:18:51 PST
>
> Angus Dorbie said...
>
> > The state mode PFSTATE_CULLFACE links front face and back face culling to the
> > one state variable. I would like to apply overrides to these states
> > independently to match some material attribute overrides which I intend
> > applying independently. Is there an existing or planned mechanism for
> > overriding these properties independently?
>
> IMHO - I feel that face culling should be taken out of the GeoState altogether
> and placed in the GeoSet. It's a real pain having to make two different versions
> of a GeoState for (say) a brick material because it is to be used on the exterior
> of a building and on both sides of a wall. Face culling is typically used to
> alter the polygonal geometry of a polygon (ie either single or double-sided) and
> that has little or nothing to do with the material/texture/colour properties of
> the GeoState.
>
> Perhaps pfCullFace should be applicable to either GeoState or GeoSet: either
> like a pfHighlight where the property becomes a property of the GeoSet itself,
> or perhaps by having a different primitive type for a double-sided (ie PFCF_OFF)
> triangle mesh.
If pfCullFace() were strictly a pfGeoSet mode, then there would
be no other Performer mechanism to set the face culling mode
and Performer would be unable to track the face culling mode.
Consequently, pfCullFace() must be exposed and it follows
that it should be a pfGeoState mode since all libpr state
may be set in a pfGeoState.
However, it makes some sense for pfGeoSets to support
pfCullFace - we already have a precedent in pfShadeModel.
Angus, would this solve your problem?
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:50:43 PDT