Official
Name
glEnableVertexAttribArrayenable or disable a generic vertex attribute array.
C Specification
void glEnableVertexAttribArray(GLuint index
);
index \specifies the index of the generic vertex attribute to be enabled or disabled.
Description
glEnableVertexAttribArray and glEnableVertexArrayAttrib enable the generic vertex attribute array specified by index. glEnableVertexAttribArray uses currently bound vertex array object for the operation, whereas glEnableVertexArrayAttrib updates state of the vertex array object with ID vaobj.glDisableVertexAttribArray and glDisableVertexArrayAttrib disable the generic vertex attribute array specified by index. glDisableVertexAttribArray uses currently bound vertex array object for the operation, whereas glDisableVertexArrayAttrib updates state of the vertex array object with ID vaobj.
By default, all client-side capabilities are disabled, including all generic vertex attribute arrays. If enabled, the values in the generic vertex attribute array will be accessed and used for rendering when calls are made to vertex array commands such as glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawElements, or glMultiDrawArrays.
SO How it is like :-)
'glEnableVertexAttribArray(0) enables the attribute index for the position attribute' - doesn't explain anything. Why we need to enable it and when? We call glVertexAttribPointer - to indicate where ogl should take vertices or other data for shader input, why then we need to call this additional function? Should i call this method every time active shader program changed, if vertex shader?
It's similar to a vertex array but stores additional extra values for each point rather than it's coordinates. You might want to store a temperature, density, signal strength at each point in a modelling app for example, or perhaps a damage value for a game
No comments:
Post a Comment