com.badlogic.gdx.graphics.glutils
Interface VertexData

All Superinterfaces:
Disposable
All Known Implementing Classes:
VertexArray, VertexBufferObject, VertexBufferObjectSubData

public interface VertexData
extends Disposable

A VertexData instance holds vertices for rendering with OpenGL. It is implemented as either a VertexArray or a VertexBufferObject. Only the later supports OpenGL ES 2.0.

Author:
mzechner

Method Summary
 void bind()
          Binds this VertexData for rendering via glDrawArrays or glDrawElements.
 void bind(ShaderProgram shader)
          Binds this VertexData for rendering via glDrawArrays or glDrawElements.
 void bind(ShaderProgram shader, int[] locations)
          Binds this VertexData for rendering via glDrawArrays or glDrawElements.
 void dispose()
          Disposes this VertexData and all its associated OpenGL resources.
 VertexAttributes getAttributes()
           
 FloatBuffer getBuffer()
           Returns the underlying FloatBuffer.
 int getNumMaxVertices()
           
 int getNumVertices()
           
 void setVertices(float[] vertices, int offset, int count)
           Sets the vertices of this VertexData, discarding the old vertex data.
 void unbind()
          Unbinds this VertexData.
 void unbind(ShaderProgram shader)
          Unbinds this VertexData.
 void unbind(ShaderProgram shader, int[] locations)
          Unbinds this VertexData.
 

Method Detail

getNumVertices

int getNumVertices()
Returns:
the number of vertices this VertexData stores

getNumMaxVertices

int getNumMaxVertices()
Returns:
the number of vertices this VertedData can store

getAttributes

VertexAttributes getAttributes()
Returns:
the VertexAttributes as specified during construction.

setVertices

void setVertices(float[] vertices,
                 int offset,
                 int count)

Sets the vertices of this VertexData, discarding the old vertex data. The count must equal the number of floats per vertex times the number of vertices to be copied to this VertexData. The order of the vertex attributes must be the same as specified at construction time via VertexAttributes.

This can be called in between calls to bind() and unbind(). The vertex data will be updated instantly.

Parameters:
vertices - the vertex data
offset - the offset to start copying the data from
count - the number of floats to copy

getBuffer

FloatBuffer getBuffer()

Returns the underlying FloatBuffer. If you modify the buffer contents they will be uploaded on the next call to bind(). If you need immediate uploading use setVertices(float[], int, int);

Returns:
the underlying FloatBuffer holding the vertex data.

bind

void bind()
Binds this VertexData for rendering via glDrawArrays or glDrawElements.


unbind

void unbind()
Unbinds this VertexData.


bind

void bind(ShaderProgram shader)
Binds this VertexData for rendering via glDrawArrays or glDrawElements.


bind

void bind(ShaderProgram shader,
          int[] locations)
Binds this VertexData for rendering via glDrawArrays or glDrawElements.

Parameters:
locations - array containing the attribute locations.

unbind

void unbind(ShaderProgram shader)
Unbinds this VertexData.


unbind

void unbind(ShaderProgram shader,
            int[] locations)
Unbinds this VertexData.

Parameters:
locations - array containing the attribute locations.

dispose

void dispose()
Disposes this VertexData and all its associated OpenGL resources.

Specified by:
dispose in interface Disposable


Copyright © 2013. All Rights Reserved.