glVertexAttribPointer

define an array of generic vertex attribute data

Signature

glVertexAttribIPointer( GLuint ( index ) , GLint ( size ) , GLenum ( type ) , GLsizei ( stride ) , const GLvoid * ( pointer ) )-> void
glVertexAttribIPointer( index , size , type , stride , pointer )
glVertexAttribLPointer( GLuint ( index ) , GLint ( size ) , GLenum ( type ) , GLsizei ( stride ) , const GLvoid * ( pointer ) )-> void
glVertexAttribLPointer( index , size , type , stride , pointer )
glVertexAttribPointer( GLuint ( index ) , GLint ( size ) , GLenum ( type ) , GLboolean ( normalized ) , GLsizei ( stride ) , const GLvoid * ( pointer ) )-> void
glVertexAttribPointer( index , size , type , normalized , stride , pointer )
Set an attribute pointer for a given shader (index)

    index -- the index of the generic vertex to bind, see
        glGetAttribLocation for retrieval of the value,
        note that index is a global variable, not per-shader
    size -- number of basic elements per record, 1,2,3, or 4
    type -- enum constant for data-type
    normalized -- whether to perform int to float
        normalization on integer-type values
    stride -- stride in machine units (bytes) between
        consecutive records, normally used to create
        "interleaved" arrays
    pointer -- data-pointer which provides the data-values,
        normally a vertex-buffer-object or offset into the
        same.

    This implementation stores a copy of the data-pointer
    in the contextdata structure in order to prevent null-
    reference errors in the renderer.
    

Parameters

VariablesDescription
index
Specifies the index of the generic vertex attribute to be modified.
size
Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, 4. Additionally, the symbolic constant GL_BGRA is accepted by glVertexAttribPointer . The initial value is 4.
type
Specifies the data type of each component in the array. The symbolic constants GL_BYTE , GL_UNSIGNED_BYTE , GL_SHORT , GL_UNSIGNED_SHORT , GL_INT , and GL_UNSIGNED_INT are accepted by glVertexAttribPointer and glVertexAttribIPointer . Additionally GL_HALF_FLOAT , GL_FLOAT , GL_DOUBLE , GL_FIXED , GL_INT_2_10_10_10_REV , GL_UNSIGNED_INT_2_10_10_10_REV and GL_UNSIGNED_INT_10F_11F_11F_REV are accepted by glVertexAttribPointer . GL_DOUBLE is also accepted by glVertexAttribLPointer and is the only token accepted by the type parameter for that function. The initial value is GL_FLOAT .
normalized
For glVertexAttribPointer , specifies whether fixed-point data values should be normalized ( GL_TRUE ) or converted directly as fixed-point values ( GL_FALSE ) when they are accessed.
stride
Specifies 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.
pointer
Specifies a 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 GL_ARRAY_BUFFER target. The initial value is 0.

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glVertexAttribPointer
OpenGLContext tests/shader_8.py Lines: 235, 239
OpenGLContext tests/shader_10.py Lines: 313, 317
OpenGLContext tests/shader_9.py Lines: 368, 372
OpenGLContext tests/shader_spike.py Lines: 14, 79, 84
OpenGLContext tests/shader_6.py Lines: 290, 294
OpenGLContext tests/shader_11.py Lines: 294, 298, 302
OpenGLContext tests/shader_5.py Lines: 306, 310
OpenGLContext tests/shader_7.py Lines: 318, 322
OpenGLContext tests/pygame_textureatlas.py Lines: 136, 142
OpenGLContext tests/shader_4.py Lines: 149, 153, 157
OpenGLContext OpenGLContext/scenegraph/shaders.py Lines: 85
Gloopy gloopy/view/glyph.py Lines: 85, 89, 93
OpenGL Tutorial (Python Translation) t02.playing-with-colors/FragPosition.py Lines: 88
OpenGL Tutorial (Python Translation) t02.playing-with-colors/VertexColors.py Lines: 92, 93
OpenGL Tutorial (Python Translation) t01.hello-triangle/HelloTriangle.py Lines: 102
{GPL3} OpenGL-Programmable 09-gles2.py Lines: 225, 227, 229, 231
{GPL3} OpenGL-Programmable 10-gl3.2core.py Lines: 235, 237, 239, 241
{GPL3} OpenGL-Programmable 08-pbo.py Lines: 206, 208, 210, 212
{GPL3} OpenGL-Programmable 07-attrib.py Lines: 195, 197, 199, 201