public interface GLArrayData
Modifier and Type | Method and Description |
---|---|
void |
associate(Object obj,
boolean enable)
Implementation and type dependent object association.
|
void |
destroy(GL gl) |
Buffer |
getBuffer()
The Buffer holding the data, may be null if a GPU buffer without client bound data
|
int |
getComponentCount()
The number of components per element
|
int |
getComponentSizeInBytes()
The component's size in bytes
|
int |
getComponentType()
The component's GL data type, ie.
|
int |
getElementCount()
The current number of used elements.
|
int |
getIndex()
The index of the predefined array index, see list below,
or -1 in case of a shader attribute array.
|
int |
getLocation()
Returns the shader attribute location for this name,
-1 if not yet determined
|
String |
getName()
The name of the reflecting shader array attribute.
|
boolean |
getNormalized()
True, if GL shall normalize fixed point data while converting
them into float.
|
int |
getSizeInBytes()
The currently used size in bytes.
In case the buffer's position is 0 (sealed, flipped), it's based on it's limit instead of it's position. |
int |
getStride() |
int |
getVBOName()
The VBO name or 0 if not a VBO
|
long |
getVBOOffset()
The VBO buffer offset or 0 if not a VBO
|
int |
getVBOTarget()
The VBO target or 0 if not a VBO
|
int |
getVBOUsage()
The VBO usage or 0 if not a VBO
|
boolean |
isVBO()
Determines whether the data is server side (VBO) and enabled,
or a client side array (false).
|
boolean |
isVertexAttribute()
Returns true if this data set is intended for a GLSL vertex shader attribute,
otherwise false, ie intended for fixed function vertex pointer
|
int |
setLocation(GL2ES2 gl,
int program)
Retrieves the location of the shader attribute from the linked shader program.
|
int |
setLocation(GL2ES2 gl,
int program,
int location)
Binds the location of the shader attribute to the given location for the unlinked shader program.
|
int |
setLocation(int v)
Sets the given location of the shader attribute
|
void |
setName(String newName)
Set a new name for this array.
|
String |
toString() |
void associate(Object obj, boolean enable)
One currently known use case is to associate a ShaderState
to an GLSL aware vertex attribute object, allowing to use the ShaderState to handle it's
data persistence, location and state change.
This is implicitly done via shaderState.ownAttribute(GLArrayData, boolean)
.
obj
- implementation and type dependent associationenable
- pass true to enable the association and false to disable it.boolean isVertexAttribute()
int getIndex()
String getName()
void setName(String newName)
This clears the location, i.e. sets it to -1.
setLocation(int)
,
setLocation(GL2ES2, int)
int getLocation()
int setLocation(int v)
ShaderState.vertexAttribPointer(GL2ES2, GLArrayData)
int setLocation(GL2ES2 gl, int program)
No validation is performed within the implementation.
gl
- program
- int setLocation(GL2ES2 gl, int program, int location)
No validation is performed within the implementation.
gl
- program
- boolean isVBO()
long getVBOOffset()
int getVBOName()
int getVBOUsage()
GL2ES2.GL_STREAM_DRAW
, GL.GL_STATIC_DRAW
or GL.GL_DYNAMIC_DRAW
int getVBOTarget()
GL.GL_ARRAY_BUFFER
or GL.GL_ELEMENT_ARRAY_BUFFER
Buffer getBuffer()
int getComponentCount()
int getComponentType()
int getComponentSizeInBytes()
int getElementCount()
On element consist out of getComponentCount()
components.
int getSizeInBytes()
boolean getNormalized()
Default behavior (of the fixed function pipeline) is true
for fixed point data type and false
for floating point data types.
int getStride()
void destroy(GL gl)
Copyright 2010 JogAmp Community.