GLVERTEXATTRIB(3gl)GLVERTEXATTRIB(3gl)NAME
glVertexAttrib1sARB, glVertexAttrib1fARB, glVertexAttrib1dARB, glVer‐
texAttrib2sARB, glVertexAttrib2fARB, glVertexAttrib2dARB, glVertexAt‐
trib3sARB, glVertexAttrib3fARB, glVertexAttrib3dARB, glVertexAt‐
trib4sARB, glVertexAttrib4fARB, glVertexAttrib4dARB, glVertexAt‐
trib4NubARB, glVertexAttrib1svARB, glVertexAttrib1fvARB, glVertexAt‐
trib1dvARB, glVertexAttrib2svARB, glVertexAttrib2fvARB, glVertexAt‐
trib2dvARB, glVertexAttrib3svARB, glVertexAttrib3fvARB, glVertexAt‐
trib3dvARB, glVertexAttrib4bvARB, glVertexAttrib4svARB, glVertexAt‐
trib4ivARB, glVertexAttrib4ubvARB, glVertexAttrib4usvARB, glVertexAt‐
trib4uivARB, glVertexAttrib4fvARB, glVertexAttrib4dvARB, glVertexAt‐
trib4NbvARB, glVertexAttrib4NsvARB, glVertexAttrib4NivARB, glVertexAt‐
trib4NubvARB, glVertexAttrib4NusvARB, glVertexAttrib4NuivARB - set the
current vertex attribute value
C SPECIFICATION
void glVertexAttrib1sARB( GLuint index,
GLshort x )
void glVertexAttrib1fARB( GLuint index,
GLfloat x )
void glVertexAttrib1dARB( GLuint index,
GLdouble x )
void glVertexAttrib2sARB( GLuint index,
GLshort x,
GLshort y )
void glVertexAttrib2fARB( GLuint index,
GLfloat x,
GLfloat y )
void glVertexAttrib2dARB( GLuint index,
GLdouble x,
GLdouble y )
void glVertexAttrib3sARB( GLuint index,
GLshort x,
GLshort y,
GLshort z )
void glVertexAttrib3fARB( GLuint index,
GLfloat x,
GLfloat y,
GLfloat z )
void glVertexAttrib3dARB( GLuint index,
GLdouble x,
GLdouble y,
GLdouble z )
void glVertexAttrib4sARB( GLuint index,
GLshort x,
GLshort y,
GLshort z,
GLshort w )
void glVertexAttrib4fARB( GLuint index,
GLfloat x,
GLfloat y,
GLfloat z,
GLfloat w )
void glVertexAttrib4dARB( GLuint index,
GLdouble x,
GLdouble y,
GLdouble z,
GLdouble w )
void glVertexAttrib4NubARB( GLuint index,
GLubyte x,
GLubyte y,
GLubyte z,
GLubyte w )
PARAMETERS
index Specify id for new vertex attribute.
x, y, z, w
Specify values for new vertex attribute.
C SPECIFICATION
void glVertexAttrib1svARB( GLuint index,
const GLshort *v )
void glVertexAttrib1fvARB( GLuint index,
const GLfloat *v )
void glVertexAttrib1dvARB( GLuint index,
const GLdouble *v )
void glVertexAttrib2svARB( GLuint index,
const GLshort *v )
void glVertexAttrib2fvARB( GLuint index,
const GLfloat *v )
void glVertexAttrib2dvARB( GLuint index,
const GLdouble *v )
void glVertexAttrib3svARB( GLuint index,
const GLshort *v )
void glVertexAttrib3fvARB( GLuint index,
const GLfloat *v )
void glVertexAttrib3dvARB( GLuint index,
const GLdouble *v )
void glVertexAttrib4bvARB( GLuint index,
const GLbyte *v )
void glVertexAttrib4svARB( GLuint index,
const GLshort *v )
void glVertexAttrib4ivARB( GLuint index,
const GLint *v )
void glVertexAttrib4ubvARB( GLuint index,
const GLubyte *v )
void glVertexAttrib4usvARB( GLuint index,
const GLushort *v )
void glVertexAttrib4uivARB( GLuint index,
const GLuint *v )
void glVertexAttrib4fvARB( GLuint index,
const GLfloat *v )
void glVertexAttrib4dvARB( GLuint index,
const GLdouble *v )
void glVertexAttrib4bvARB( GLuint index,
const GLbyte *v )
void glVertexAttrib4svARB( GLuint index,
const GLshort *v )
void glVertexAttrib4ivARB( GLuint index,
const GLint *v )
void glVertexAttrib4ubvARB( GLuint index,
const GLubyte *v )
void glVertexAttrib4usvARB( GLuint index,
const GLushort *v )
void glVertexAttrib4uivARB( GLuint index,
const GLuint *v )
PARAMETERS
index Specifies id for new vertex attribute.
DESCRIPTION
glVertexAttribARB sets the values for a generic vertex
attribute. Generic vertex attributes are values associated with
a vertex that are in addition to the standard vertex attributes
(color, normal, texture coordinates etc.).
Generic vertex attributes are stored as an array of 4 component vec‐
tors. The index parameter indicates which vector in the array is being
updated. The first element in the array is number 0 and the size of the
array is specified by GL_MAX_VERTEX_ATTRIBS_ARB.
A 1,2,3 or 4 in the name of the glVertexAttribARB indicates if 1,2,3 or
4 components of the vector will be updated. The default values for the
vectors are (0,0,0,1).
A v in the name specifies a pointer to an array that contains attribute
values. A f, s, d, i, ub, us, ui in the name indicates that the type of
the arguements are float, short, double, int, unsigned byte, unsigned
short, or unsigned int. N indicates that the that the arguements will
be passed as fixed point values scaled to a normalized ranged defined
by OpenGL's component conversion rules.
When v is appended to the name, the commands can take a pointer to an
array of such values.
NOTES
Vertex attributes can be aliased by binding more than one attribute
name to the same vertex attribute index. Aliasing is only allowed when
just one of the aliased attributes is active in the vertx shader of if
the vertex shader does not consume more than one attribute aliased to
the same location.
Vertex attributes can be updated at any time. In particular, glVertex‐
AttribARB can be called between a call to glBegin and the corresponding
call to glEnd.
ERRORS
GL_INVALID_VALUE is generated if either index greater than or equal to
GL_MAX_VERTEX_ATTRIBS_ARB.
ASSOCIATED GETS
glGetVertexAttribARB with arguments GLCURRENT_VERTEX_ATTRIB_ARB and
index
glGetAttribLocationARB with arguments program and name
glGetActiveAttribARB with argument program
glGet with argument GL_MAX_VERTEX_ATTRIBS_ARB
SEE ALSO
glBindAttribLocationARB, glVertex, glVertexAttribPointerARB
9 Mar 04 GLVERTEXATTRIB(3gl)