| Name |
| |
| OES_single_precision |
| |
| Name Strings |
| |
| GL_OES_single_precision |
| |
| Contact |
| |
| David Blythe (blythe 'at' bluevoid.com) |
| |
| Notice |
| |
| Copyright (c) 2003-2013 The Khronos Group Inc. Copyright terms at |
| http://www.khronos.org/registry/speccopyright.html |
| |
| Status |
| |
| Ratified by the Khronos BOP, July 23, 2003. |
| Ratified by the Khronos BOP, Aug 5, 2004. |
| |
| Version |
| |
| Version 1, September 18, 2014 |
| |
| Number |
| |
| OpenGL ES Extension #18 (formerly OpenGL Extension #293) |
| |
| Dependencies |
| |
| None |
| The extension is written against the OpenGL 1.3 Specification. |
| |
| Overview |
| |
| This extension adds commands with single-precision floating-point |
| parameters corresponding to the commands that only variants that |
| accept double-precision floating-point input. This allows an |
| application to avoid using double-precision floating-point |
| data types. New commands are added with an 'f' prefix. |
| |
| |
| IP Status |
| |
| None |
| |
| Issues |
| |
| * An alternative is to suggest platforms define GLfloat and |
| GLdouble to be the same type, since it is unlikely that both |
| single- and double-precision are required at the same time. |
| |
| Resolved: This might create additional confusion, so it is |
| better to define new commands. |
| |
| New Procedures and Functions |
| |
| void DepthRangefOES(clampf n, clampf f); |
| void FrustumfOES(float l, float r, float b, float t, float n, float f); |
| void OrthofOES(float l, float r, float b, float t, float n, float f); |
| |
| void ClipPlanefOES(enum plane, const float* equation); |
| void GetClipPlanefOES(enum plane, float* equation); |
| |
| void glClearDepthfOES(clampf depth); |
| |
| New Tokens |
| |
| None |
| |
| Additions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation) |
| |
| Section 2.10 Coordinate Transformations |
| |
| Revise to include 'f' suffix. |
| Add alternate suffixed versions of DepthRange (2.10.1). |
| Add alternate suffixed versions of Ortho and Frustum (2.10.2). |
| |
| Section 2.11 Clipping |
| |
| Add alternate suffixed version of ClipPlane. |
| |
| Additions to Chapter 3 of the OpenGL 1.3 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the OpenGL 1.3 Specification (Per-Fragment |
| Operations and the Frame Buffer) |
| |
| Section 4.2.3 Clearing the Buffers |
| |
| Add alternate suffixed version of ClearDepth. |
| |
| Additions to Chapter 5 of the OpenGL 1.3 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the OpenGL 1.3 Specification (State and |
| State Requests) |
| |
| None |
| |
| Additions to Appendix A of the OpenGL 1.3 Specification (Invariance) |
| |
| None |
| |
| Additions to the AGL/GLX/WGL Specifications |
| |
| None |
| |
| Additions to the WGL Specification |
| |
| None |
| |
| Additions to the AGL Specification |
| |
| None |
| |
| Additions to Chapter 2 of the GLX 1.3 Specification (GLX Operation) |
| |
| The data representation is client-side only. The GLX layer |
| performs translation between float and double representations. |
| |
| Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) |
| |
| Additions to Chapter 4 of the GLX 1.3 Specification (Encoding on the X |
| Byte Stream) |
| |
| Additions to Chapter 5 of the GLX 1.3 Specification (Extending OpenGL) |
| |
| Additions to Chapter 6 of the GLX 1.3 Specification (GLX Versions) |
| |
| GLX Protocol |
| |
| Five new GL rendering commands are added. The following commands |
| are sent to the server as part of a glXRender request: |
| |
| ClearDepthfOES |
| 2 8 rendering command length |
| 2 4308 rendering command opcode |
| 4 FLOAT32 z |
| |
| DepthRangefOES |
| 2 12 rendering command length |
| 2 4309 rendering command opcode |
| 4 FLOAT32 n |
| 4 FLOAT32 f |
| |
| FrustumfOES |
| 2 28 rendering command length |
| 2 4310 rendering command opcode |
| 4 FLOAT32 l |
| 4 FLOAT32 r |
| 4 FLOAT32 b |
| 4 FLOAT32 t |
| 4 FLOAT32 n |
| 4 FLOAT32 f |
| |
| OrthofOES |
| 2 28 rendering command length |
| 2 4311 rendering command opcode |
| 4 FLOAT32 l |
| 4 FLOAT32 r |
| 4 FLOAT32 b |
| 4 FLOAT32 t |
| 4 FLOAT32 n |
| 4 FLOAT32 f |
| |
| ClipPlanefOES |
| 2 24 rendering command length |
| 2 4312 rendering command opcode |
| 4 ENUM plane |
| 4 FLOAT32 v[0] |
| 4 FLOAT32 v[1] |
| 4 FLOAT32 v[2] |
| 4 FLOAT32 v[3] |
| |
| |
| The remaining commands are non-rendering commands. These commands are |
| sent separately (i.e., not as part of a glXRender or glXRenderLarge |
| request), using the glXVendorPrivateWithReply request: |
| |
| GetClipPlanefOES |
| 1 CARD8 opcode (X assigned) |
| 1 17 GLX opcode (glXVendorPrivateWithReply) |
| 2 4 request length |
| 4 1421 vendor specific opcode |
| 4 GLX_CONTEXT_TAG context tag |
| 4 ENUM plane |
| => |
| 1 1 reply |
| 1 unused |
| 2 CARD16 sequence number |
| 4 0 reply length |
| 4 FLOAT32 v[0] |
| 4 FLOAT32 v[1] |
| 4 FLOAT32 v[2] |
| 4 FLOAT32 v[3] |
| 8 unused |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| None |
| |
| New Implementation Dependent State |
| |
| None |
| |
| Revision History |
| |
| 03/27/2003 0.1 |
| - First draft created. |
| |
| 07/08/2003 0.2 |
| - Delete unused Dependencies on section |
| - Added extension number |
| |
| 07/09/2003 0.3 |
| - Added missing ClearDepthfOES |
| - Removed '_'s from names. |
| |
| 07/22/2003 0.4 |
| - Added GLX protocol (Thomas Roell) |
| |
| 06/28/2004 0.5 |
| - Added ClipPlanef function (Aaftab Munshi) |
| |
| 04/22/2007 0.6 |
| - Fixed 'void void' typo (Jon Leech) |
| |
| 09/18/2014 1 |
| - Fixed 'clampd' type to 'clampf' in ClearDepthfOES (Bug 12656). |