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