General Information


For an overview, see Primitive and Attribute Bindings.

Output commands processed by a renderer or PHIGS workstation to produce visible output (that is, pixels on the display screen) are called output primitives or simply primitives. PEX supports a number of output primitives, including markers, text and annotation text, polylines, arcs, non-uniform B-spline curves, fill areas, fill area sets, triangle primitives, quadrilateral meshes, arc areas, cones, non-uniform B-spline surfaces, cell arrays and a generalized drawing primitive (or GDP). Primitives do not alter the pipeline state; instead, the pipeline state determines their exact appearance.

Output commands which alter the rendering pipeline state are called output primitive attributes or simply attributes. Attributes, in themselves, do not produce visible output. Attributes work in conjunction with the pipeline. The pipeline context resource provides the initial renderer or PHIGS workstation pipeline state. If the application does not specify the pipeline context resource when it creates the renderer or PHIGS workstation resource, then PEXlib uses the default values. After the renderer or PHIGS workstation has obtained its initial pipeline state, only by invoking the output primitive attribute functions described in this chapter, can your application modify the pipeline attributes. You cannot directly query the current pipeline state.

Each output primitive has one or more sets of attributes applied to it. This section defines the output primitive and the attribute sets that affect them. This section lists the attribute output command (marked with "OC") and renderer attribute (marked with "RA") members of each attribute set. See the sections referred to below for the definition of each output primitive, attribute output command, and renderer attribute.

Many attributes are grouped into sets called bundles, which enable you to apply several attributes to a specific primitive type simultaneously. Use Attribute Source Flags (ASF's) to determine if a primitive's attribute is derived from the current bundle, as stored in a bundle table, or is derived from the individual pipeline state attribute. Attributes you can bundle are noted below with "(ASF)" to indicate that these attributes may come from one of two places, as determined by the flags.

See Output Attribute Functions for more detailed information about attributes.