.\" @(#)PEXFillArea.3 1.5 95/03/24 SMI; .so man3/pex.macs .TH PEXFillArea 3 "May 1995" "Solaris PEXlib Reference Manual" "" .SH NAME PEXFillArea - 3D Fill Area Primitive .SH SYNTAX .HP void PEXFillArea\^(\^Display *\fIdisplay\fP\^, XID \fIresource_id\fP\^, PEXOCRequestType \fIreq_type\fP\^, int \fIshape_hint\fP\^, int \fIignore_edges\fP\^, unsigned int \fIcount\fP\^, PEXCoord *\fIpoints\fP\^) .SH PARAMETERS .TP 1i \fIdisplay\fP A pointer to a display structure returned by a successful .B XOpenDisplay call. .IP \fIresource_id\fP 1i The resource identifier of the renderer or structure. .IP \fIreq_type\fP 1i The request type for the output command ( .B PEXOCRender, .B PEXOCStore, .B PEXOCRenderSingle or .B PEXOCStoreSingle ). .IP \fIshape_hint\fP 1i The shape of the fill area ( .B PEXShapeComplex, .B PEXShapeNonConvex, .B PEXShapeConvex, .B PEXShapeUnknown ). .IP \fIignore_edges\fP 1i A flag that determines if surface edges are rendered ( .SB True or .SB False ). .IP \fIcount\fP 1i The number of points. .IP \fIpoints\fP 1i An array of points defining the fill area. .SH RETURNS None .SH DESCRIPTION .\" indexing .IX PEXFillArea .IX "Fill Area" PEXFillArea .LP This function creates a fill area output primitive. .LP The area is defined by the list of .I points joined together to form a planar surface. Fill areas are not strictly required to be planar, but shading artifacts may occur if a fill area is not planar or nearly so. The first vertex of the fill area is connected to the second, the second to the third, and so on. The last vertex is implicitly connected to the first. .LP During the rendering process, the fill area vertices are transformed to positions in device coordinates. The surface colors are affected by the reflectance calculations which uses the light state, interior style, and reflection model attributes. Surface colors are further affected by the depth-cueing computation and then mapped to device colors. Fill areas outside the currently-defined clipping volume are not displayed. Fill areas crossing the clipping volume are clipped, and only the portions inside the clipping volume are displayed. .LP A fill area with fewer than three vertices is considered degenerate. It is stored in a structure, but when rendered, the primitive is ignored and has no visual effect. .LP A fill area may cross over itself to create a complex shape. The odd-even rule is used for determining the area that lies in the interior of the fill area. The shape hint is provided to enable performance improvements for certain shapes. Fill areas that are of higher complexity than indicated by the shape hint are rendered in an implementation-dependent manner. Consequently, applications should pass .B PEXShapeUnknown as the shape unless they are certain the fill area's shape is one of the other three. .LP The ignore edges flag is a boolean value specifying whether surface edges are rendered. If the flag is .SB True, no surface edges are rendered for the fill area. If the ignore edges flag is .SB False, surface edges are rendered according to the surface edge attributes if the surface edge flag attribute is .B PEXOn. Depending on the setting of the surface edge \s-1ASF\s0 values, the surface edges, surface edge color, surface edge type, and surface edge width attributes are obtained from one of two sources. These attributes are obtained directly from the current surface edge attribute values or from the edge bundle lookup table entry specified by the current edge bundle index attribute depending on the setting of the surface edge \s-1ASF\s0 attribute. .LP Depending on the setting of the surface attribute \s-1ASF\s0 values, the surface color, interior style, interior style index, surface interpolation method, and reflection model attributes are obtained from one of two sources. These attributes are obtained directly from the current surface attributes values or from the interior bundle lookup table entry specified by the current interior bundle index attribute. .LP When a surface is rendered, the surface color and reflection attributes are used to compute the colors of the surface if it is front-facing with respect to the point of view and the current culling mode allows front-faces to be rendered. If the surface is back-facing, the current distinguish mode is .SB True, and the current culling mode allows back-faces to be rendered, the corresponding back-facing attributes are used instead. .LP Regardless of the fill area orientation, if the interior style is .B PEXInteriorStylePattern, the pattern size, pattern reference point and pattern reference vectors are used to pattern the fill area. .SH DATA STRUCTURES .LP See .B PEXlib.h. .sp .SH ERRORS .TP .SB BadPEXOutputCommand The output command contains an invalid value. .TP .SB BadPEXRenderer The specified renderer resource identifier is invalid. .TP .SB BadPEXStructure The specified structure resource identifier is invalid. .SH SEE ALSO .LP .nf .BR PEXSetInteriorStyle (3) .BR PEXSetInteriorStyleIndex (3) .BR PEXSetSurfaceColorIndex (3) .BR PEXSetSurfaceColor (3) .BR PEXSetReflectionAttributes (3) .BR PEXSetReflectionModel (3) .BR PEXSetSurfaceInterpMethod (3) .BR PEXSetBFInteriorStyle (3) .BR PEXSetBFInteriorStyleIndex (3) .BR PEXSetBFSurfaceColorIndex (3) .BR PEXSetBFSurfaceColor (3) .BR PEXSetBFReflectionAttributes (3) .BR PEXSetBFReflectionModel (3) .BR PEXSetBFSurfaceInterpMethod (3) .BR PEXSetFacetCullingMode (3) .BR PEXSetFacetDistinguishFlag (3) .BR PEXSetPatternSize (3) .BR PEXSetPatternAttributes (3) .BR PEXSetPatternAttributes2D (3) .BR PEXSetInteriorBundleIndex (3) .BR PEXSetSurfaceEdgeFlag (3) .BR PEXSetSurfaceEdgeType (3) .BR PEXSetSurfaceEdgeWidth (3) .BR PEXSetSurfaceEdgeColor (3) .BR PEXSetSurfaceEdgeColorIndex (3) .BR PEXSetEdgeBundleIndex (3) .fi