OES_byte_coordinates

Name

OES_byte_coordinates

Name Strings

GL_OES_byte_coordinates

Contact

Kari Pulli, Nokia (kari.pulli 'at' nokia.com)

Notice

Copyright (c) 2002-2013 The Khronos Group Inc. Copyright terms at
    http://www.khronos.org/registry/speccopyright.html

Specification Update Policy

Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
    https://www.khronos.org/registry/OpenGL/docs/update_policy.php

Status

Ratified by the Khronos BOP, July 23, 2003.

Version

$Date: 2003/07/23 04:23:25 $ $Revision: 1.5 $

Number

OpenGL ES Extension #4 (formerly OpenGL Extension #291)

Dependencies

OpenGL 1.1 is required.

Overview

This extension allows specifying, additionally to all existing 
values, byte-valued vertex and texture coordinates to be used.

The main reason for introducing the byte-argument is to allow 
storing data more compactly on memory-restricted environments.

IP Status

There is no intellectual property associated with this extension.

Issues

None known.

New Procedures and Functions

None

New Tokens

Accepted by the <type> parameter of VertexPointer and TexCoordPointer

BYTE     0x1400

Additions to Chapter 2 of the OpenGL 1.3 Specification (OpenGL Operation)

Add signed byte entry points to first paragraph of
section 2.7 (Vertex Specification):

        void Vertex{234}bOES( T coords );
        void Vertex{234}bvOES( T coords );

and to the second paragraph:

        void TexCoord{1234}bOES( T coords );
        void TexCoord{1234}bvOES( T coords );

and to the third paragraph:

        void MultiTexCoord{1234}bOES( enum texture, T coords );
        void MultiTexCoord{1234}bvOES( enum texture, T coords );

Add byte to supported types in Table 2.4 (Vertex Array Sizes):

    Command         Sizes   Types
    VertexPointer   2,3,4   byte,short,int,float,double
    TexCoordPointer 1,2,3,4 byte,short,int,float,double

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)

None

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

GLX Protocol

Byte type commands are mapped on the client-side to the
appropriate short or int command protocol.

Errors

No new errors, giving byte as <type> argument to VertexPointer or
TexCoordPointer is not an error any more.

New State

(table 6.6, pp. 214-215)

Get Value      Type      Get Command  Value  Description  Sec.  Attribute
---------      ----      -----------  -----  -----------  ----  ---------    VERTEX_x        Z_5       GetIntegerv  FLOAT  Type of      2.8  vertex-array
                                             vertex
                                             coordinates    TEXTURE_COORD_x 2 * x Z_5 GetIntegerv  FLOAT  Type of      2.8  vertex-array
                                             texture
                                             coordinates   _x = _ARRAY_TYPE

New Implementation Dependent State

None

Revision History

Sep 23, 2002 Kari Pulli Created the document Sep 26, 2002 Kari Pulli Incorporated comments by Jon Leech Feb 26, 2003 David Blythe Changed prefix to OES Jul 08, 2003 David Blythe Deleted Dependencies on section, added extension number, narrow state table Jul 11, 2003 David Blythe Changed to use OES suffixes Jul 12, 2003 David Blythe Added note about GLX protocol