15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci OES_single_precision 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_OES_single_precision 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci David Blythe (blythe 'at' bluevoid.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNotice 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Copyright (c) 2003-2013 The Khronos Group Inc. Copyright terms at 165bd8deadSopenharmony_ci http://www.khronos.org/registry/speccopyright.html 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciSpecification Update Policy 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci Khronos-approved extension specifications are updated in response to 215bd8deadSopenharmony_ci issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 225bd8deadSopenharmony_ci extensions which have been promoted to a core Specification, fixes will 235bd8deadSopenharmony_ci first appear in the latest version of that core Specification, and will 245bd8deadSopenharmony_ci eventually be backported to the extension document. This policy is 255bd8deadSopenharmony_ci described in more detail at 265bd8deadSopenharmony_ci https://www.khronos.org/registry/OpenGL/docs/update_policy.php 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciStatus 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci Ratified by the Khronos BOP, July 23, 2003. 315bd8deadSopenharmony_ci Ratified by the Khronos BOP, Aug 5, 2004. 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ciVersion 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci Version 1, September 18, 2014 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ciNumber 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci OpenGL ES Extension #18 (formerly OpenGL Extension #293) 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ciDependencies 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci None 445bd8deadSopenharmony_ci The extension is written against the OpenGL 1.3 Specification. 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ciOverview 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ci This extension adds commands with single-precision floating-point 495bd8deadSopenharmony_ci parameters corresponding to the commands that only variants that 505bd8deadSopenharmony_ci accept double-precision floating-point input. This allows an 515bd8deadSopenharmony_ci application to avoid using double-precision floating-point 525bd8deadSopenharmony_ci data types. New commands are added with an 'f' prefix. 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciIP Status 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci None 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ciIssues 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci* An alternative is to suggest platforms define GLfloat and 625bd8deadSopenharmony_ci GLdouble to be the same type, since it is unlikely that both 635bd8deadSopenharmony_ci single- and double-precision are required at the same time. 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ci Resolved: This might create additional confusion, so it is 665bd8deadSopenharmony_ci better to define new commands. 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ciNew Procedures and Functions 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci void DepthRangefOES(clampf n, clampf f); 715bd8deadSopenharmony_ci void FrustumfOES(float l, float r, float b, float t, float n, float f); 725bd8deadSopenharmony_ci void OrthofOES(float l, float r, float b, float t, float n, float f); 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci void ClipPlanefOES(enum plane, const float* equation); 755bd8deadSopenharmony_ci void GetClipPlanefOES(enum plane, float* equation); 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci void glClearDepthfOES(clampf depth); 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ciNew Tokens 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci None 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation) 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci Section 2.10 Coordinate Transformations 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci Revise to include 'f' suffix. 885bd8deadSopenharmony_ci Add alternate suffixed versions of DepthRange (2.10.1). 895bd8deadSopenharmony_ci Add alternate suffixed versions of Ortho and Frustum (2.10.2). 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci Section 2.11 Clipping 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci Add alternate suffixed version of ClipPlane. 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization) 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ci None 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment 1005bd8deadSopenharmony_ciOperations and the Frame Buffer) 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ci Section 4.2.3 Clearing the Buffers 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ci Add alternate suffixed version of ClearDepth. 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions) 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci None 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.3 Specification (State and 1115bd8deadSopenharmony_ciState Requests) 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci None 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.3 Specification (Invariance) 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci None 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci None 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ciAdditions to the WGL Specification 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci None 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ciAdditions to the AGL Specification 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci None 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ciAdditions to Chapter 2 of the GLX 1.3 Specification (GLX Operation) 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ci The data representation is client-side only. The GLX layer 1345bd8deadSopenharmony_ci performs translation between float and double representations. 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciAdditions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ciAdditions to Chapter 4 of the GLX 1.3 Specification (Encoding on the X 1395bd8deadSopenharmony_ciByte Stream) 1405bd8deadSopenharmony_ci 1415bd8deadSopenharmony_ciAdditions to Chapter 5 of the GLX 1.3 Specification (Extending OpenGL) 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ciAdditions to Chapter 6 of the GLX 1.3 Specification (GLX Versions) 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ciGLX Protocol 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci Five new GL rendering commands are added. The following commands 1485bd8deadSopenharmony_ci are sent to the server as part of a glXRender request: 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci ClearDepthfOES 1515bd8deadSopenharmony_ci 2 8 rendering command length 1525bd8deadSopenharmony_ci 2 4308 rendering command opcode 1535bd8deadSopenharmony_ci 4 FLOAT32 z 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci DepthRangefOES 1565bd8deadSopenharmony_ci 2 12 rendering command length 1575bd8deadSopenharmony_ci 2 4309 rendering command opcode 1585bd8deadSopenharmony_ci 4 FLOAT32 n 1595bd8deadSopenharmony_ci 4 FLOAT32 f 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci FrustumfOES 1625bd8deadSopenharmony_ci 2 28 rendering command length 1635bd8deadSopenharmony_ci 2 4310 rendering command opcode 1645bd8deadSopenharmony_ci 4 FLOAT32 l 1655bd8deadSopenharmony_ci 4 FLOAT32 r 1665bd8deadSopenharmony_ci 4 FLOAT32 b 1675bd8deadSopenharmony_ci 4 FLOAT32 t 1685bd8deadSopenharmony_ci 4 FLOAT32 n 1695bd8deadSopenharmony_ci 4 FLOAT32 f 1705bd8deadSopenharmony_ci 1715bd8deadSopenharmony_ci OrthofOES 1725bd8deadSopenharmony_ci 2 28 rendering command length 1735bd8deadSopenharmony_ci 2 4311 rendering command opcode 1745bd8deadSopenharmony_ci 4 FLOAT32 l 1755bd8deadSopenharmony_ci 4 FLOAT32 r 1765bd8deadSopenharmony_ci 4 FLOAT32 b 1775bd8deadSopenharmony_ci 4 FLOAT32 t 1785bd8deadSopenharmony_ci 4 FLOAT32 n 1795bd8deadSopenharmony_ci 4 FLOAT32 f 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ci ClipPlanefOES 1825bd8deadSopenharmony_ci 2 24 rendering command length 1835bd8deadSopenharmony_ci 2 4312 rendering command opcode 1845bd8deadSopenharmony_ci 4 ENUM plane 1855bd8deadSopenharmony_ci 4 FLOAT32 v[0] 1865bd8deadSopenharmony_ci 4 FLOAT32 v[1] 1875bd8deadSopenharmony_ci 4 FLOAT32 v[2] 1885bd8deadSopenharmony_ci 4 FLOAT32 v[3] 1895bd8deadSopenharmony_ci 1905bd8deadSopenharmony_ci 1915bd8deadSopenharmony_ci The remaining commands are non-rendering commands. These commands are 1925bd8deadSopenharmony_ci sent separately (i.e., not as part of a glXRender or glXRenderLarge 1935bd8deadSopenharmony_ci request), using the glXVendorPrivateWithReply request: 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci GetClipPlanefOES 1965bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 1975bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 1985bd8deadSopenharmony_ci 2 4 request length 1995bd8deadSopenharmony_ci 4 1421 vendor specific opcode 2005bd8deadSopenharmony_ci 4 GLX_CONTEXT_TAG context tag 2015bd8deadSopenharmony_ci 4 ENUM plane 2025bd8deadSopenharmony_ci => 2035bd8deadSopenharmony_ci 1 1 reply 2045bd8deadSopenharmony_ci 1 unused 2055bd8deadSopenharmony_ci 2 CARD16 sequence number 2065bd8deadSopenharmony_ci 4 0 reply length 2075bd8deadSopenharmony_ci 4 FLOAT32 v[0] 2085bd8deadSopenharmony_ci 4 FLOAT32 v[1] 2095bd8deadSopenharmony_ci 4 FLOAT32 v[2] 2105bd8deadSopenharmony_ci 4 FLOAT32 v[3] 2115bd8deadSopenharmony_ci 8 unused 2125bd8deadSopenharmony_ci 2135bd8deadSopenharmony_ciErrors 2145bd8deadSopenharmony_ci 2155bd8deadSopenharmony_ci None 2165bd8deadSopenharmony_ci 2175bd8deadSopenharmony_ciNew State 2185bd8deadSopenharmony_ci 2195bd8deadSopenharmony_ci None 2205bd8deadSopenharmony_ci 2215bd8deadSopenharmony_ciNew Implementation Dependent State 2225bd8deadSopenharmony_ci 2235bd8deadSopenharmony_ci None 2245bd8deadSopenharmony_ci 2255bd8deadSopenharmony_ciRevision History 2265bd8deadSopenharmony_ci 2275bd8deadSopenharmony_ci 03/27/2003 0.1 2285bd8deadSopenharmony_ci - First draft created. 2295bd8deadSopenharmony_ci 2305bd8deadSopenharmony_ci 07/08/2003 0.2 2315bd8deadSopenharmony_ci - Delete unused Dependencies on section 2325bd8deadSopenharmony_ci - Added extension number 2335bd8deadSopenharmony_ci 2345bd8deadSopenharmony_ci 07/09/2003 0.3 2355bd8deadSopenharmony_ci - Added missing ClearDepthfOES 2365bd8deadSopenharmony_ci - Removed '_'s from names. 2375bd8deadSopenharmony_ci 2385bd8deadSopenharmony_ci 07/22/2003 0.4 2395bd8deadSopenharmony_ci - Added GLX protocol (Thomas Roell) 2405bd8deadSopenharmony_ci 2415bd8deadSopenharmony_ci 06/28/2004 0.5 2425bd8deadSopenharmony_ci - Added ClipPlanef function (Aaftab Munshi) 2435bd8deadSopenharmony_ci 2445bd8deadSopenharmony_ci 04/22/2007 0.6 2455bd8deadSopenharmony_ci - Fixed 'void void' typo (Jon Leech) 2465bd8deadSopenharmony_ci 2475bd8deadSopenharmony_ci 09/18/2014 1 2485bd8deadSopenharmony_ci - Fixed 'clampd' type to 'clampf' in ClearDepthfOES (Bug 12656). 249