15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    PGI_vertex_hints
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_PGI_vertex_hints
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciVersion
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    $Date: 1996/04/22 23:24:19 $ $Revision: 1.1 $
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNumber
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    76
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciDependencies
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    None
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciOverview
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    The extension allows the app to give hints regarding what kinds of
245bd8deadSopenharmony_ci    OpenGL function calls will happen between Begin/End pairs.
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciNew Procedures and Functions
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    None
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciNew Tokens
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    Accepted by the <target> parameters of Hint and HintPGI:
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci        VERTEX_DATA_HINT_PGI               107050
355bd8deadSopenharmony_ci        VERTEX_CONSISTENT_HINT_PGI         107051
365bd8deadSopenharmony_ci        MATERIAL_SIDE_HINT_PGI             107052
375bd8deadSopenharmony_ci        MAX_VERTEX_HINT_PGI                107053
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    Accepted by the <mode> parameters of Hint and HintPGI:
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci        COLOR3_BIT_PGI                  0x00010000
425bd8deadSopenharmony_ci        COLOR4_BIT_PGI                  0x00020000
435bd8deadSopenharmony_ci        EDGEFLAG_BIT_PGI                0x00040000
445bd8deadSopenharmony_ci        INDEX_BIT_PGI                   0x00080000
455bd8deadSopenharmony_ci        MAT_AMBIENT_BIT_PGI             0x00100000
465bd8deadSopenharmony_ci        MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
475bd8deadSopenharmony_ci        MAT_DIFFUSE_BIT_PGI             0x00400000
485bd8deadSopenharmony_ci        MAT_EMISSION_BIT_PGI            0x00800000
495bd8deadSopenharmony_ci        MAT_COLOR_INDEXES_BIT_PGI       0x01000000
505bd8deadSopenharmony_ci        MAT_SHININESS_BIT_PGI           0x02000000
515bd8deadSopenharmony_ci        MAT_SPECULAR_BIT_PGI            0x04000000
525bd8deadSopenharmony_ci        NORMAL_BIT_PGI                  0x08000000
535bd8deadSopenharmony_ci        TEXCOORD1_BIT_PGI               0x10000000
545bd8deadSopenharmony_ci        TEXCOORD2_BIT_PGI               0x20000000
555bd8deadSopenharmony_ci        TEXCOORD3_BIT_PGI               0x40000000
565bd8deadSopenharmony_ci        TEXCOORD4_BIT_PGI               0x80000000
575bd8deadSopenharmony_ci        VERTEX23_BIT_PGI                0x00000004
585bd8deadSopenharmony_ci        VERTEX4_BIT_PGI                 0x00000008
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    None
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization)
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    None
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
695bd8deadSopenharmony_ciand the Frame Buffer)
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    None
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions)
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    Functions Hint and HintPGI accept the following targets and modes:
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    [All hints are subject to Push/Pop with the HINT_BIT attributes.]
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci    <target> = VERTEX_DATA_HINT_PGI
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    This hint indicates which GL calls might occur between Begin/End pairs.
825bd8deadSopenharmony_ci    If <mode> is any of FALSE, then the hint is "disabled" -- this means
835bd8deadSopenharmony_ci    the application is not making any predictions about which GL calls
845bd8deadSopenharmony_ci    might occur between Begin/End pairs.  Otherwise, <mode> must be a
855bd8deadSopenharmony_ci    bitwise OR of the following bits:
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci        COLOR3_BIT_PGI                     Color3*
885bd8deadSopenharmony_ci        COLOR4_BIT_PGI                     Color4*
895bd8deadSopenharmony_ci        EDGEFLAG_BIT_PGI                   EdgeFlag*
905bd8deadSopenharmony_ci        INDEX_BIT_PGI                      Index*
915bd8deadSopenharmony_ci        MAT_AMBIENT_BIT_PGI                Material*(pname=AMBIENT)
925bd8deadSopenharmony_ci        MAT_AMBIENT_AND_DIFFUSE_BIT_PGI    Material*(pname=AMBIENT_AND_DIFFUSE)
935bd8deadSopenharmony_ci        MAT_DIFFUSE_BIT_PGI                Material*(pname=DIFFUSE)
945bd8deadSopenharmony_ci        MAT_EMISSION_BIT_PGI               Material*(pname=EMISSION)
955bd8deadSopenharmony_ci        MAT_COLOR_INDEXES_BIT_PGI          Material*(pname=COLOR_INDEXES)
965bd8deadSopenharmony_ci        MAT_SHININESS_BIT_PGI              Material*(pname=SHININESS)
975bd8deadSopenharmony_ci        MAT_SPECULAR_BIT_PGI               Material*(pname=SPECULAR)
985bd8deadSopenharmony_ci        NORMAL_BIT_PGI                     Normal*
995bd8deadSopenharmony_ci        TEXCOORD1_BIT_PGI                  TexCoord1*
1005bd8deadSopenharmony_ci        TEXCOORD2_BIT_PGI                  TexCoord2*
1015bd8deadSopenharmony_ci        TEXCOORD3_BIT_PGI                  TexCoord3*
1025bd8deadSopenharmony_ci        TEXCOORD4_BIT_PGI                  TexCoord4*
1035bd8deadSopenharmony_ci        VERTEX23_BIT_PGI                   Vertex[23]*
1045bd8deadSopenharmony_ci        VERTEX4_BIT_PGI                    Vertex4
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    At least one of the bits VERTEX23_BIT_PGI or VERTEX4_BIT_PGI must be
1075bd8deadSopenharmony_ci    set in <mode>.
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    Each bit above indicates that one of the associated OpenGL functions
1105bd8deadSopenharmony_ci    might occur between Begin/End pairs.  If <mode> does not contain a
1115bd8deadSopenharmony_ci    given bit, then GL may assume that associated functions will not occur
1125bd8deadSopenharmony_ci    between Begin/End pairs -- in this case, behavior of these functions
1135bd8deadSopenharmony_ci    is undefined.  (But the functions will not cause program termination.)  
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci    <target> = VERTEX_CONSISTENT_HINT_PGI
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    This hint indicates that OpenGL function calls will occur
1185bd8deadSopenharmony_ci    consistently between Begin/End pairs.  If <mode> is either
1195bd8deadSopenharmony_ci    TRUE or FASTEST, then the application effectively is making
1205bd8deadSopenharmony_ci    the following assertion:  Between Begin/End pairs, if any of
1215bd8deadSopenharmony_ci    the following functions -- Color, EdgeFlag, Index, Material,
1225bd8deadSopenharmony_ci    Normal, TexCoord -- occurs before one Vertex call, then it
1235bd8deadSopenharmony_ci    will occur before all Vertex calls.  (Where "before" means the
1245bd8deadSopenharmony_ci    function will occur between the current Vertex function and the
1255bd8deadSopenharmony_ci    previous Vertex of Begin function.)  If <mode> is NICEST, DONT_CARE,
1265bd8deadSopenharmony_ci    or FALSE, the application is asserting that any sequence of 
1275bd8deadSopenharmony_ci    functions might occur between Begin/End pairs.
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    If both VERTEX_CONSISTENT_HINT_PGI and  VERTEX_DATA_HINT_PGI are
1305bd8deadSopenharmony_ci    enabled, then GL further assumes that any functions indicated in
1315bd8deadSopenharmony_ci    VERTEX_DATA_HINT_PGI will be called before each vertex call.  When
1325bd8deadSopenharmony_ci    a single bit in VERTEX_DATA_HINT_PGI indicates a group of possible
1335bd8deadSopenharmony_ci    functions, GL assumes that at least one function from the group will
1345bd8deadSopenharmony_ci    be called before each Vertex function between Begin/End pairs.
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ci    <target> = MAX_VERTEX_HINT_PGI
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    This hint indicates the maximum number of Vertex functions which
1395bd8deadSopenharmony_ci    will occur between Begin/End pairs.  If <mode> is FALSE then the
1405bd8deadSopenharmony_ci    hint is "disabled" -- any number of Vertex functions might occur
1415bd8deadSopenharmony_ci    between Begin/End pairs.  However, if <mode> is any value greater
1425bd8deadSopenharmony_ci    than 0, then the application is asserting that at most that number
1435bd8deadSopenharmony_ci    of Vertex functions will occur between Begin/End pairs.  In this
1445bd8deadSopenharmony_ci    case, if the application exceeds the promised number of Vertex
1455bd8deadSopenharmony_ci    calls, program termination may occur.  Negative numbers also
1465bd8deadSopenharmony_ci    disable the hint.
1475bd8deadSopenharmony_ci
1485bd8deadSopenharmony_ci    <target> = MATERIAL_SIDE_HINT_PGI
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci    This hint indicates which <face> paramters will occur for any
1515bd8deadSopenharmony_ci    Material functions called between Begin/End pairs.  If <mode>
1525bd8deadSopenharmony_ci    is any of FALSE, DONT_CARE, NICEST, then this hint is "disabled" --
1535bd8deadSopenharmony_ci    any <face> parameters might occur in Material functions called
1545bd8deadSopenharmony_ci    between Begin/End pairs.  If <mode> is FRONT, BACK, or
1555bd8deadSopenharmony_ci    FRONT_AND_BACK, then only the given value will be used in
1565bd8deadSopenharmony_ci    Material functions called between Begin/End pairs.  If <mode>
1575bd8deadSopenharmony_ci    is TRUE or FASTEST, then only a single (unspecified) <face>
1585bd8deadSopenharmony_ci    parameter will be used in Material functions called between
1595bd8deadSopenharmony_ci    Begin/End pairs.
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests)
1625bd8deadSopenharmony_ci
1635bd8deadSopenharmony_ci    None
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ciAdditions to the GLX Specification
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ci    None
1685bd8deadSopenharmony_ci
1695bd8deadSopenharmony_ciGLX Protocol
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci    None
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ciInteractions with PGI_misc_hints
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ci    If the PGI_misc_hints extension is available, then the hints
1765bd8deadSopenharmony_ci    described above can be used through the HintPGI client function.
1775bd8deadSopenharmony_ci
1785bd8deadSopenharmony_ci    If PGI_misc_hints is not avialable, then the hints above must
1795bd8deadSopenharmony_ci    be used through the usual Hint function.
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ciErrors
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci    INVALID_VALUE is generated if <target> for Hint or HintPGI is
1845bd8deadSopenharmony_ci    VERTEX_DATA_HINT_PGI and <mode> is not FALSE or some combination
1855bd8deadSopenharmony_ci    of the bits xxx_BIT_PGI.  Also, if <mode> does not contain
1865bd8deadSopenharmony_ci    VERTEX23_BIT_PGI or VERTEX4_BIT_PGI (or both), then INVALID_VALUE
1875bd8deadSopenharmony_ci    is generated.
1885bd8deadSopenharmony_ci
1895bd8deadSopenharmony_ci    INVALID_ENUM is generated if <target> for Hint or HintPGI is
1905bd8deadSopenharmony_ci    VERTEX_CONSISTENT_HINT_PGI and <mode> is not FASTEST, NICEST,
1915bd8deadSopenharmony_ci    DONT_CARE, TRUE, or FALSE
1925bd8deadSopenharmony_ci
1935bd8deadSopenharmony_ci    INVALID_VALUE is generated if <target> for Hint or HintPGI is
1945bd8deadSopenharmony_ci    MAX_VERTEX_HINT_PGI and <mode> is a negative number.
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ci    INVALID_ENUM is generated if <target> for Hint or HintPGI is
1975bd8deadSopenharmony_ci    MATERIAL_SIDE_HINT_PGI and <mode> is not FASTEST, NICEST,
1985bd8deadSopenharmony_ci    DONT_CARE, TRUE, FALSE, FRONT, BACK, or FRONT_AND_BACK.
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ciNew State
2015bd8deadSopenharmony_ci								Initial
2025bd8deadSopenharmony_ci    Get Value				Get Command	Type	Value	Attrib
2035bd8deadSopenharmony_ci    ---------				-----------	----	-------	------
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ci    VERTEX_DATA_HINT_PGI                GetIntegerv      Z       FALSE    
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci    VERTEX_CONSISTENT_HINT_PGI          GetIntegerv      Z       FALSE    
2085bd8deadSopenharmony_ci
2095bd8deadSopenharmony_ci    MAX_VERTEX_HINT_PGI                 GetIntegerv      Z       FALSE    
2105bd8deadSopenharmony_ci
2115bd8deadSopenharmony_ci    MATERIAL_SIDE_HINT_PGI              GetIntegerv      Z       FALSE    
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ciNew Implementation Dependent State
2145bd8deadSopenharmony_ci
2155bd8deadSopenharmony_ci    None
216