15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci PGI_misc_hints 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_PGI_misc_hints 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1996/04/22 23:24:16 $ $Revision: 1.1 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci 77 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci None 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciOverview 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci The extension allows the app to give various hints regarding 245bd8deadSopenharmony_ci desired level of conformance, performance, features, etc. 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ciNew Procedures and Functions 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ci HintPGI 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ciNew Tokens 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci Accepted by the <target> parameters of Hint and HintPGI: 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci PREFER_DOUBLEBUFFER_HINT_PGI 107000 355bd8deadSopenharmony_ci STRICT_DEPTHFUNC_HINT_PGI 107030 365bd8deadSopenharmony_ci STRICT_LIGHTING_HINT_PGI 107031 375bd8deadSopenharmony_ci STRICT_SCISSOR_HINT_PGI 107032 385bd8deadSopenharmony_ci FULL_STIPPLE_HINT_PGI 107033 395bd8deadSopenharmony_ci NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011 405bd8deadSopenharmony_ci NATIVE_GRAPHICS_END_HINT_PGI 107012 415bd8deadSopenharmony_ci CONSERVE_MEMORY_HINT_PGI 107005 425bd8deadSopenharmony_ci RECLAIM_MEMORY_HINT_PGI 107006 435bd8deadSopenharmony_ci ALWAYS_FAST_HINT_PGI 107020 445bd8deadSopenharmony_ci ALWAYS_SOFT_HINT_PGI 107021 455bd8deadSopenharmony_ci ALLOW_DRAW_OBJ_HINT_PGI 107022 465bd8deadSopenharmony_ci ALLOW_DRAW_WIN_HINT_PGI 107023 475bd8deadSopenharmony_ci ALLOW_DRAW_FRG_HINT_PGI 107024 485bd8deadSopenharmony_ci ALLOW_DRAW_MEM_HINT_PGI 107025 495bd8deadSopenharmony_ci CLIP_NEAR_HINT_PGI 107040 505bd8deadSopenharmony_ci CLIP_FAR_HINT_PGI 107041 515bd8deadSopenharmony_ci WIDE_LINE_HINT_PGI 107042 525bd8deadSopenharmony_ci BACK_NORMALS_HINT_PGI 107043 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetIntegerv 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ci GL_NATIVE_GRAPHICS_HANDLE_PGI 107010 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci None 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci None 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 675bd8deadSopenharmony_ciand the Frame Buffer) 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci None 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci Function HintPGI behaves the same as Hint, except it accepts 745bd8deadSopenharmony_ci only the hints described below (and hints from the PGI_vertex_hints 755bd8deadSopenharmony_ci extension). HintPGI also has a slightly different prototype 765bd8deadSopenharmony_ci than Hint: 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ci void HintPGI ( GLenum target, GLint mode ) 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci HintPGI calls are sent to the server as Hint, so this function 815bd8deadSopenharmony_ci does not require additional server protocol. 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ci Functions Hint and HintPGI accept the following targets and modes: 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci [All hints are subject to Push/Pop with the HINT_BIT attributes, 865bd8deadSopenharmony_ci except for these hints: PREFER_DOUBLEBUFFER_HINT_PGI, 875bd8deadSopenharmony_ci NATIVE_GRAPHICS_BEGIN_HINT_PGI, NATIVE_GRAPHICS_END_HINT_PGI, 885bd8deadSopenharmony_ci RECLAIM_MEMORY_HINT_PGI.] 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci <target> = PREFER_DOUBLEBUFFER_HINT_PGI 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci This is a client-only mode. In some cases the PGI client may 935bd8deadSopenharmony_ci change the singlebuffer/doublebuffer attributes of some GLX 945bd8deadSopenharmony_ci visuals. If <mode> is TRUE, the client will tend to choose 955bd8deadSopenharmony_ci doublebuffer in these cases; if <mode> is FALSE, the client 965bd8deadSopenharmony_ci will tend to choose singlebuffer attributes. 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ci <target> = STRICT_DEPTHFUNC_HINT_PGI 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci This hint indicates whether the application is willing to accept 1015bd8deadSopenharmony_ci non-conformant depth functions. When <mode> is TRUE or NICEST, 1025bd8deadSopenharmony_ci GL uses strictly conformant depth functions. When <mode> is 1035bd8deadSopenharmony_ci FALSE, FASTEST, or DONT_CARE, GL may use an improper depth 1045bd8deadSopenharmony_ci function. 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci <target> = STRICT_LIGHTING_HINT_PGI 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci This hint indicates whether the application is willing to accept 1095bd8deadSopenharmony_ci non-conformant lighting operations. When <mode> is TRUE or NICEST, 1105bd8deadSopenharmony_ci GL uses strictly conformant lighting operations. When <mode> is 1115bd8deadSopenharmony_ci FALSE, FASTEST, or DONT_CARE, GL may use non-conformant lighting. 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci <target> = STRICT_SCISSOR_HINT_PGI 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ci This hint indicates whether the application is willing to accept 1165bd8deadSopenharmony_ci non-conformant scissoring operations. When <mode> is TRUE or NICEST, 1175bd8deadSopenharmony_ci GL uses strictly conformant scissoring. When <mode> is FALSE, 1185bd8deadSopenharmony_ci FASTEST, or DONT_CARE, GL may use non-conformant scissoring. 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ci <target> = FULL_STIPPLE_HINT_PGI 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci This hint indicates whether the application is willing to accept 1235bd8deadSopenharmony_ci non-conformant polygon stippling. When <mode> is TRUE or NICEST, 1245bd8deadSopenharmony_ci GL uses strictly conformant polygon stippling. When <mode> is FALSE, 1255bd8deadSopenharmony_ci FASTEST, or DONT_CARE, GL may use only a subset of the polygon 1265bd8deadSopenharmony_ci stipple pattern. 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci <target> = NATIVE_GRAPHICS_BEGIN_HINT_PGI 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ci This hint indicates that the application is about to perform 1315bd8deadSopenharmony_ci rendering through the native API, outside the scope of GL. If 1325bd8deadSopenharmony_ci <mode> is one of the parameters POINT, LINE, or FILL, then GL 1335bd8deadSopenharmony_ci prepares the native API for rendering of that kind of primitive. 1345bd8deadSopenharmony_ci If <mode> is TRUE, NICEST, or DONT_CARE, GL prepares the native 1355bd8deadSopenharmony_ci API for rendering of any primitive. If <mode> is FASTEST, GL does 1365bd8deadSopenharmony_ci minimal preparation of the native API, and the API may not be in a 1375bd8deadSopenharmony_ci suitable state for any rendering. If <mode> is FALSE, GL does nothing. 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ci <target> = NATIVE_GRAPHICS_END_HINT_PGI 1405bd8deadSopenharmony_ci 1415bd8deadSopenharmony_ci This hint indicates that the application has completed native-API 1425bd8deadSopenharmony_ci rendering outside the scope of GL, and that the application will not 1435bd8deadSopenharmony_ci use native-API rendering until the next NATIVE_GRAPHICS_BEGIN_HINT_PGI 1445bd8deadSopenharmony_ci hint. When <mode> is NICEST, GL assumes that the entire native-API 1455bd8deadSopenharmony_ci state may be corrupted, and completely resets its state. When <mode> 1465bd8deadSopenharmony_ci is TRUE, DONT_CARE, or FASTEST, GL performs minimal synchronization 1475bd8deadSopenharmony_ci of the native-API state. When <mode> is FALSE, GL does not adjust 1485bd8deadSopenharmony_ci the native-API state. 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci <target> = CONSERVE_MEMORY_HINT_PGI 1515bd8deadSopenharmony_ci 1525bd8deadSopenharmony_ci The hint indicates that the application should attempt to conserve 1535bd8deadSopenharmony_ci memory, perhaps at the cost of performance. The <mode> parameter 1545bd8deadSopenharmony_ci indicates the level of conservation, from least conservation to 1555bd8deadSopenharmony_ci most conservation: FALSE, FASTEST, DONT_CARE, TRUE, or NICEST. 1565bd8deadSopenharmony_ci When <mode> is FALSE, GL does little or no memory conservation; 1575bd8deadSopenharmony_ci when <mode> is NICEST, GL does the most agressive memory conservation. 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ci <target> = RECLAIM_MEMORY_HINT_PGI 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci The hint indicates that the application should reclaim unused 1625bd8deadSopenharmony_ci memory immediately. The <mode> parameter indicates how aggressively 1635bd8deadSopenharmony_ci GL reclaims memory: FALSE, FASTEST, DONT_CARE, TRUE, or NICEST. 1645bd8deadSopenharmony_ci When <mode> is FALSE, GL reclaims little or no memory; 1655bd8deadSopenharmony_ci when <mode> is NICEST, GL does the most agressive memory reclaimation. 1665bd8deadSopenharmony_ci 1675bd8deadSopenharmony_ci <target> = ALLOW_DRAW_OBJ_HINT_PGI 1685bd8deadSopenharmony_ci <target> = ALLOW_DRAW_WIN_HINT_PGI 1695bd8deadSopenharmony_ci <target> = ALLOW_DRAW_SPN_HINT_PGI 1705bd8deadSopenharmony_ci <target> = ALLOW_DRAW_MEM_HINT_PGI 1715bd8deadSopenharmony_ci <target> = ALWAYS_FAST_HINT_PGI 1725bd8deadSopenharmony_ci <target> = ALWAYS_SOFT_HINT_PGI 1735bd8deadSopenharmony_ci 1745bd8deadSopenharmony_ci The <mode> for each of these hints may be TRUE or FALSE only. 1755bd8deadSopenharmony_ci Each of the ALLOW_DRAW_xxx_HINT_PGI hints indicates if OpenGL 1765bd8deadSopenharmony_ci low-level rendering may occur at the object-coordinate level, 1775bd8deadSopenharmony_ci window-coordinate level, fragment level, or plain-memory level. 1785bd8deadSopenharmony_ci If <mode> for a given <target> is TRUE, rendering may occur at 1795bd8deadSopenharmony_ci that level; if the <mode> is FALSE, rendering will not occur at 1805bd8deadSopenharmony_ci that level (perhaps at the expense of performance or conformance). 1815bd8deadSopenharmony_ci 1825bd8deadSopenharmony_ci The two ALWAYS_xxxx_HINT_PGI hints describe combinations of the 1835bd8deadSopenharmony_ci ALLOW_DRAW_xxx_HINT_PGI hints. If ALWAYS_FAST_HINT_PGI is TRUE, 1845bd8deadSopenharmony_ci then ALLOW_DRAW_OBJ_HINT_PGI is set TRUE, and the other ALLOW_DRAW_- 1855bd8deadSopenharmony_ci xxx_HINT_PGI hints are set to FALSE. If ALWAYS_FAST_HINT_PGI is 1865bd8deadSopenharmony_ci FALSE, then all ALLOW_DRAW_xxx_HINT_PGI hints are set TRUE. 1875bd8deadSopenharmony_ci If ALWAYS_SOFT_HINT_PGI is TRUE, then ALLOW_DRAW_OBJ_HINT_PGI 1885bd8deadSopenharmony_ci is set FALSE, ALLOW_DRAW_MEM_HINT_PGI is set TRUE, and 1895bd8deadSopenharmony_ci ALLOW_DRAW_WIN_HINT_PGI and ALLOW_DRAW_SPN_HINT_PGI are set to 1905bd8deadSopenharmony_ci TRUE or FALSE in an implementation-dependent manner. 1915bd8deadSopenharmony_ci 1925bd8deadSopenharmony_ci <target> = CLIP_NEAR_HINT_PGI 1935bd8deadSopenharmony_ci <target> = CLIP_FAR_HINT_PGI 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci These hints indicate that the application does not require 1965bd8deadSopenharmony_ci hither/yon clipping when the depth test is disabled. (The hint 1975bd8deadSopenharmony_ci has no effect when depth testing is enabled.) If <mode> is FALSE, 1985bd8deadSopenharmony_ci DONT_CARE, or FASTEST, GL may inhibit hither/yon clipping in some 1995bd8deadSopenharmony_ci situations. If <mode> is NICEST, or TRUE, GL performs ordinary 2005bd8deadSopenharmony_ci hither/yon clipping. If hither or yon clipping is disabled, and 2015bd8deadSopenharmony_ci if fragment depth values fall outside the range [0.0-1.0], then 2025bd8deadSopenharmony_ci rendering behavior is implementation-dependent. 2035bd8deadSopenharmony_ci 2045bd8deadSopenharmony_ci <target> = LINE_WIDE_HINT_PGI 2055bd8deadSopenharmony_ci 2065bd8deadSopenharmony_ci Indicates the rendering quality and speed of lines whose widths are 2075bd8deadSopenharmony_ci not equal to 1.0. Allowed values are GL_FASTEST, GL_NICEST, and 2085bd8deadSopenharmony_ci GL_DONT_CARE. 2095bd8deadSopenharmony_ci 2105bd8deadSopenharmony_ci <target> = BACK_NORMALS_HINT 2115bd8deadSopenharmony_ci 2125bd8deadSopenharmony_ci Indicates that normals of backfacing facets should be inverted 2135bd8deadSopenharmony_ci when lighting is enabled, even if LIGHT_MODEL_TWO_SIDE is disabled. 2145bd8deadSopenharmony_ci The hint has no effect when lighting is disabled, and when 2155bd8deadSopenharmony_ci LIGHT_MODEL_TWO_SIDE is enabled. If <mode> is FALSE, DONT_CARE, 2165bd8deadSopenharmony_ci or NICEST, GL inverts normals only when LIGHT_MODEL_TWO_SIDE is 2175bd8deadSopenharmony_ci enabled. If <mode> is FASTEST or TRUE, GL inverts the normals 2185bd8deadSopenharmony_ci of backfacing facets whenever lighting is enabled. 2195bd8deadSopenharmony_ci 2205bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 2215bd8deadSopenharmony_ci 2225bd8deadSopenharmony_ci None 2235bd8deadSopenharmony_ci 2245bd8deadSopenharmony_ciAdditions to the GLX Specification 2255bd8deadSopenharmony_ci 2265bd8deadSopenharmony_ci None 2275bd8deadSopenharmony_ci 2285bd8deadSopenharmony_ciGLX Protocol 2295bd8deadSopenharmony_ci 2305bd8deadSopenharmony_ci None 2315bd8deadSopenharmony_ci 2325bd8deadSopenharmony_ciInteractions with PGI_vertex_hints 2335bd8deadSopenharmony_ci 2345bd8deadSopenharmony_ci If PGI_vertex_hints is available, then hints from that extension 2355bd8deadSopenharmony_ci may be used with the HintPGI function. 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ciErrors 2385bd8deadSopenharmony_ci 2395bd8deadSopenharmony_ci INVALID_ENUM is generated if <target> or <mode> for Hint or HintPGI 2405bd8deadSopenharmony_ci is not one of the GLenums discussed above. 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ciNew State 2435bd8deadSopenharmony_ci Initial 2445bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 2455bd8deadSopenharmony_ci --------- ----------- ---- ------- ------ 2465bd8deadSopenharmony_ci 2475bd8deadSopenharmony_ci STRICT_DEPTHFUNC_HINT_PGI GetIntegerv Z TRUE hint 2485bd8deadSopenharmony_ci 2495bd8deadSopenharmony_ci STRICT_LIGHTING_HINT_PGI GetIntegerv Z TRUE hint 2505bd8deadSopenharmony_ci 2515bd8deadSopenharmony_ci STRICT_SCISSOR_HINT_PGI GetIntegerv Z TRUE hint 2525bd8deadSopenharmony_ci 2535bd8deadSopenharmony_ci FULL_STIPPLE_HINT_PGI GetIntegerv Z TRUE hint 2545bd8deadSopenharmony_ci 2555bd8deadSopenharmony_ci CONSERVE_MEMORY_HINT_PGI GetIntegerv Z FALSE hint 2565bd8deadSopenharmony_ci 2575bd8deadSopenharmony_ci ALWAYS_FAST_HINT_PGI GetIntegerv Z FALSE hint 2585bd8deadSopenharmony_ci 2595bd8deadSopenharmony_ci ALWAYS_SOFT_HINT_PGI GetIntegerv Z FALSE hint 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci ALLOW_DRAW_OBJ_HINT_PGI GetIntegerv Z TRUE hint 2625bd8deadSopenharmony_ci 2635bd8deadSopenharmony_ci ALLOW_DRAW_WIN_HINT_PGI GetIntegerv Z TRUE hint 2645bd8deadSopenharmony_ci 2655bd8deadSopenharmony_ci ALLOW_DRAW_SPN_HINT_PGI GetIntegerv Z TRUE hint 2665bd8deadSopenharmony_ci 2675bd8deadSopenharmony_ci ALLOW_DRAW_MEM_HINT_PGI GetIntegerv Z TRUE hint 2685bd8deadSopenharmony_ci 2695bd8deadSopenharmony_ci WIDE_LINE_HINT_PGI GetIntegerv Z DONT_CARE hint 2705bd8deadSopenharmony_ci 2715bd8deadSopenharmony_ci CLIP_NEAR_HINT_PGI GetIntegerv Z TRUE hint 2725bd8deadSopenharmony_ci 2735bd8deadSopenharmony_ci CLIP_FAR_HINT_PGI GetIntegerv Z TRUE hint 2745bd8deadSopenharmony_ci 2755bd8deadSopenharmony_ci BACK_NORMALS_HINT_PGI GetIntegerv Z FALSE hint 2765bd8deadSopenharmony_ci 2775bd8deadSopenharmony_ci 2785bd8deadSopenharmony_ciNew Implementation Dependent State 2795bd8deadSopenharmony_ci Initial 2805bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 2815bd8deadSopenharmony_ci --------- ----------- ---- ------- ------ 2825bd8deadSopenharmony_ci 2835bd8deadSopenharmony_ci PREFER_DOUBLEBUFFER_HINT_PGI GetIntegerv Z +++ client 2845bd8deadSopenharmony_ci 2855bd8deadSopenharmony_ci NATIVE_GRAPHICS_HANDLE_PGI GetIntegerv Z *** client 2865bd8deadSopenharmony_ci 2875bd8deadSopenharmony_ci +++ Implementation-dependent. (TRUE preferred.) 2885bd8deadSopenharmony_ci 2895bd8deadSopenharmony_ci *** 0 if direct rendering to native API is not available; 2905bd8deadSopenharmony_ci otherwise, this is the handle for direct rendering to native API 291