This extension adds programmable vertex level processing to OpenGL. The application can write vertex shaders in a high level language as defined in the OpenGL Shading Language specification. A vertex shader replaces the transformation, texture coordinate generation and lighting parts of OpenGL, and it also adds texture access at the vertex level. Furthermore, management of vertex shader objects and loading generic attributes are discussed. A vertex shader object, attached to a program object, can be compiled and linked to produce an executable that runs on the vertex processor in OpenGL. This extension also defines how such an executable interacts with the fixed functionality vertex processing of OpenGL 1.4.
Promoted to core in OpenGL 2..
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_CURRENT_VERTEX_ATTRIB_ARB
Accepted by the |
| public static final int | GL_FLOAT_MAT2_ARB
Returned by the |
| public static final int | GL_FLOAT_MAT3_ARB
Returned by the |
| public static final int | GL_FLOAT_MAT4_ARB
Returned by the |
| public static final int | GL_FLOAT_VEC2_ARB
Returned by the |
| public static final int | GL_FLOAT_VEC3_ARB
Returned by the |
| public static final int | GL_FLOAT_VEC4_ARB
Returned by the |
| public static final int | GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB
Accepted by the |
| public static final int | GL_MAX_TEXTURE_COORDS_ARB
Accepted by the |
| public static final int | GL_MAX_TEXTURE_IMAGE_UNITS_ARB
Accepted by the |
| public static final int | GL_MAX_VARYING_FLOATS_ARB
Accepted by the |
| public static final int | GL_MAX_VERTEX_ATTRIBS_ARB
Accepted by the |
| public static final int | GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
Accepted by the |
| public static final int | GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB
Accepted by the |
| public static final int | GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB
Accepted by the |
| public static final int | GL_OBJECT_ACTIVE_ATTRIBUTES_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB
Accepted by the |
| public static final int | GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB
Accepted by the |
| public static final int | GL_VERTEX_PROGRAM_POINT_SIZE_ARB
Accepted by the |
| public static final int | GL_VERTEX_PROGRAM_TWO_SIDE_ARB
Accepted by the |
| public static final int | GL_VERTEX_SHADER_ARB
Accepted by the |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| public static void | glBindAttribLocationARB(int
the handle of the program object in which the association is to be made programObj, int the index of the generic vertex attribute to be bound index, ByteBuffer a null terminated string containing the name of the vertex shader attribute variable to which name)index is to be boundAssociates a generic vertex attribute index with a named attribute variable. | |||||||||||||||||
| public static void | glBindAttribLocationARB(int
the handle of the program object in which the association is to be made programObj, int the index of the generic vertex attribute to be bound index, CharSequence a null terminated string containing the name of the vertex shader attribute variable to which name)index is to be boundAssociates a generic vertex attribute index with a named attribute variable. | |||||||||||||||||
| public static native void | glDisableVertexAttribArrayARB(int
the index of the generic vertex attribute to be disabled index)Disables a generic vertex attribute array. | |||||||||||||||||
| public static native void | glEnableVertexAttribArrayARB(int
the index of the generic vertex attribute to be enabled index)Enables a generic vertex attribute array. | |||||||||||||||||
| public static void | glGetActiveAttribARB(int
the program object to be queried programObj, int the index of the attribute variable to be queried index, IntBuffer the number of characters actually written by OpenGL in the string indicated by length, IntBuffer name (excluding the null terminator) if a value other than
NULL is passedthe size of the attribute variable size, IntBuffer the data type of the attribute variable type, ByteBuffer a null terminated string containing the name of the attribute variable name)Returns information about an active attribute variable for the specified program object. | |||||||||||||||||
| public static String | glGetActiveAttribARB(int
the program object to be queried programObj, int the index of the attribute variable to be queried index, int the maximum number of characters OpenGL is allowed to write in the character buffer indicated by maxLength, IntBuffer namethe size of the attribute variable size, IntBuffer the data type of the attribute variable type)Returns information about an active attribute variable for the specified program object. | |||||||||||||||||
| public static String | glGetActiveAttribARB(int
the program object to be queried programObj, int the index of the attribute variable to be queried index, IntBuffer the size of the attribute variable size, IntBuffer the data type of the attribute variable type)Returns information about an active attribute variable for the specified program object. | |||||||||||||||||
| public static void | glGetActiveAttribARB(int programObj, int index, int[] length, int[] size, int[] type, ByteBuffer name)
Array version of: | |||||||||||||||||
| public static int | glGetAttribLocationARB(int
the program object to be queried programObj, ByteBuffer a null terminated string containing the name of the attribute variable whose location is to be queried name)Returns the location of an attribute variable. | |||||||||||||||||
| public static int | glGetAttribLocationARB(int
the program object to be queried programObj, CharSequence a null terminated string containing the name of the attribute variable whose location is to be queried name)Returns the location of an attribute variable. | |||||||||||||||||
| public static void | glGetVertexAttribdvARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the vertex attribute parameter to be queried pname, DoubleBuffer returns the requested data params)Double version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glGetVertexAttribfvARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the vertex attribute parameter to be queried pname, FloatBuffer returns the requested data params)Float version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static int | glGetVertexAttribiARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the vertex attribute parameter to be queried. One of: pname)Returns the integer value of a generic vertex attribute parameter. | |||||||||||||||||
| public static void | glGetVertexAttribivARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the vertex attribute parameter to be queried. One of: pname, IntBuffer returns the requested data params)Returns the integer value of a generic vertex attribute parameter. | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static long | glGetVertexAttribPointerARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the generic vertex attribute parameter to be returned. Must be: pname)
Returns the address of the specified generic vertex attribute pointer. | |||||||||||||||||
| public static void | glGetVertexAttribPointervARB(int
the generic vertex attribute parameter to be queried index, int the symbolic name of the generic vertex attribute parameter to be returned. Must be: pname, PointerBuffer
the pointer value pointer)Returns the address of the specified generic vertex attribute pointer. | |||||||||||||||||
| public static native void | glVertexAttrib1dARB(int
the index of the generic vertex attribute to be modified index, double the vertex attribute x component v0)Double version of | |||||||||||||||||
| public static void | glVertexAttrib1dvARB(int
the index of the generic vertex attribute to be modified index, DoubleBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib1fARB(int
the index of the generic vertex attribute to be modified index, float the vertex attribute x component v0)Specifies the value of a generic vertex attribute. | |||||||||||||||||
| public static void | glVertexAttrib1fvARB(int
the index of the generic vertex attribute to be modified index, FloatBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib1sARB(int
the index of the generic vertex attribute to be modified index, short the vertex attribute x component v0)Short version of | |||||||||||||||||
| public static void | glVertexAttrib1svARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib2dARB(int
the index of the generic vertex attribute to be modified index, double the vertex attribute x component v0, double the vertex attribute y component v1)Double version of | |||||||||||||||||
| public static void | glVertexAttrib2dvARB(int
the index of the generic vertex attribute to be modified index, DoubleBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib2fARB(int
the index of the generic vertex attribute to be modified index, float the vertex attribute x component v0, float the vertex attribute y component v1)Specifies the value of a generic vertex attribute. | |||||||||||||||||
| public static void | glVertexAttrib2fvARB(int
the index of the generic vertex attribute to be modified index, FloatBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib2sARB(int
the index of the generic vertex attribute to be modified index, short the vertex attribute x component v0, short the vertex attribute y component v1)Short version of | |||||||||||||||||
| public static void | glVertexAttrib2svARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib3dARB(int
the index of the generic vertex attribute to be modified index, double the vertex attribute x component v0, double the vertex attribute y component v1, double the vertex attribute z component v2)Double version of | |||||||||||||||||
| public static void | glVertexAttrib3dvARB(int
the index of the generic vertex attribute to be modified index, DoubleBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib3fARB(int
the index of the generic vertex attribute to be modified index, float the vertex attribute x component v0, float the vertex attribute y component v1, float the vertex attribute z component v2)Specifies the value of a generic vertex attribute. | |||||||||||||||||
| public static void | glVertexAttrib3fvARB(int
the index of the generic vertex attribute to be modified index, FloatBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib3sARB(int
the index of the generic vertex attribute to be modified index, short the vertex attribute x component v0, short the vertex attribute y component v1, short the vertex attribute z component v2)Short version of | |||||||||||||||||
| public static void | glVertexAttrib3svARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4bvARB(int
the index of the generic vertex attribute to be modified index, ByteBuffer the vertex attribute buffer v)Byte pointer version of | |||||||||||||||||
| public static native void | glVertexAttrib4dARB(int
the index of the generic vertex attribute to be modified index, double the vertex attribute x component v0, double the vertex attribute y component v1, double the vertex attribute z component v2, double the vertex attribute w component v3)Double version of | |||||||||||||||||
| public static void | glVertexAttrib4dvARB(int
the index of the generic vertex attribute to be modified index, DoubleBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib4fARB(int
the index of the generic vertex attribute to be modified index, float the vertex attribute x component v0, float the vertex attribute y component v1, float the vertex attribute z component v2, float the vertex attribute w component v3)Specifies the value of a generic vertex attribute. | |||||||||||||||||
| public static void | glVertexAttrib4fvARB(int
the index of the generic vertex attribute to be modified index, FloatBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4ivARB(int
the index of the generic vertex attribute to be modified index, IntBuffer the vertex attribute buffer v)Integer pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4NbvARB(int
the index of the generic vertex attribute to be modified index, ByteBuffer the vertex attribute buffer v)Normalized byte pointer version of | |||||||||||||||||
| public static void | glVertexAttrib4NivARB(int
the index of the generic vertex attribute to be modified index, IntBuffer the vertex attribute buffer v)Normalized int pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4NsvARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Normalized short pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib4NubARB(int
the index of the generic vertex attribute to be modified index, byte the vertex attribute x component x, byte the vertex attribute y component y, byte the vertex attribute z component z, byte the vertex attribute w component w)Normalized unsigned byte version of | |||||||||||||||||
| public static void | glVertexAttrib4NubvARB(int
the index of the generic vertex attribute to be modified index, ByteBuffer the vertex attribute buffer v)Normalized unsigned byte pointer version of | |||||||||||||||||
| public static void | glVertexAttrib4NuivARB(int
the index of the generic vertex attribute to be modified index, IntBuffer the vertex attribute buffer v)Normalized unsigned int pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4NusvARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Normalized unsigned short pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static native void | glVertexAttrib4sARB(int
the index of the generic vertex attribute to be modified index, short the vertex attribute x component v0, short the vertex attribute y component v1, short the vertex attribute z component v2, short the vertex attribute w component v3)Short version of | |||||||||||||||||
| public static void | glVertexAttrib4svARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4ubvARB(int
the index of the generic vertex attribute to be modified index, ByteBuffer the vertex attribute buffer v)Pointer version of | |||||||||||||||||
| public static void | glVertexAttrib4uivARB(int
the index of the generic vertex attribute to be modified index, IntBuffer the vertex attribute buffer v)Unsigned int pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttrib4usvARB(int
the index of the generic vertex attribute to be modified index, ShortBuffer the vertex attribute buffer v)Unsigned short pointer version of | |||||||||||||||||
| public static void | ||||||||||||||||||
| public static void | glVertexAttribPointerARB(int
the index of the generic vertex attribute to be modified index, int the number of values per vertex that are stored in the array. The initial value is 4. One of: size, int
the data type of each component in the array. The initial value is GL_FLOAT. One of: type, boolean
whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessed normalized, int the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0. stride, ByteBuffer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the pointer)ARRAY_BUFFER target. The initial value is 0.Specifies the location and organization of a vertex attribute array. | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int
the index of the generic vertex attribute to be modified index, int the number of values per vertex that are stored in the array. The initial value is 4. One of: size, int
the data type of each component in the array. The initial value is GL_FLOAT. One of: type, boolean
whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessed normalized, int the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0. stride, long the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the pointer)ARRAY_BUFFER target. The initial value is 0.Specifies the location and organization of a vertex attribute array. | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int
the index of the generic vertex attribute to be modified index, int the number of values per vertex that are stored in the array. The initial value is 4. One of: size, int
the data type of each component in the array. The initial value is GL_FLOAT. One of: type, boolean
whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessed normalized, int the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0. stride, ShortBuffer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the pointer)ARRAY_BUFFER target. The initial value is 0.Specifies the location and organization of a vertex attribute array. | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int
the index of the generic vertex attribute to be modified index, int the number of values per vertex that are stored in the array. The initial value is 4. One of: size, int
the data type of each component in the array. The initial value is GL_FLOAT. One of: type, boolean
whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessed normalized, int the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0. stride, IntBuffer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the pointer)ARRAY_BUFFER target. The initial value is 0.Specifies the location and organization of a vertex attribute array. | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int
the index of the generic vertex attribute to be modified index, int the number of values per vertex that are stored in the array. The initial value is 4. One of: size, int
the data type of each component in the array. The initial value is GL_FLOAT. One of: type, boolean
whether fixed-point data values should be normalized or converted directly as fixed-point values when they are accessed normalized, int the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in
the array. The initial value is 0. stride, FloatBuffer the vertex attribute data or the offset of the first component of the first generic vertex attribute in the array in the data store of the buffer
currently bound to the pointer)ARRAY_BUFFER target. The initial value is 0.Specifies the location and organization of a vertex attribute array. | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, short[] pointer)
Array version of: | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, int[] pointer)
Array version of: | |||||||||||||||||
| public static void | glVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, float[] pointer)
Array version of: | |||||||||||||||||
| public static native void | nglBindAttribLocationARB(int programObj, int index, long name)
Unsafe version of: | |||||||||||||||||
| public static native void | nglGetActiveAttribARB(int programObj, int index, int
the maximum number of characters OpenGL is allowed to write in the character buffer indicated by maxLength, long length, long size, long type, long name)nameUnsafe version of: | |||||||||||||||||
| public static native int | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | nglGetVertexAttribPointervARB(int index, int pname, long pointer)
Unsafe version of: | |||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | ||||||||||||||||||
| public static native void | nglVertexAttribPointerARB(int index, int size, int type, boolean normalized, int stride, long pointer)
Unsafe version of: |