public class IndexArray extends Object implements IndexData
Constructor and Description |
---|
IndexArray(int maxIndices)
Creates a new IndexArray to be used with vertex arrays.
|
Modifier and Type | Method and Description |
---|---|
void |
bind()
Binds this IndexArray for rendering with glDrawElements.
|
void |
dispose()
Disposes this IndexArray and all its associated OpenGL resources.
|
ShortBuffer |
getBuffer()
Returns the underlying ShortBuffer.
|
int |
getNumIndices() |
int |
getNumMaxIndices() |
void |
invalidate()
Invalidates the IndexArray so a new OpenGL buffer handle is created.
|
void |
setIndices(short[] indices,
int offset,
int count)
Sets the indices of this IndexArray, discarding the old indices.
|
void |
setIndices(ShortBuffer indices)
Copies the specified indices to the indices of this IndexBufferObject, discarding the old indices.
|
void |
unbind()
Unbinds this IndexArray.
|
public IndexArray(int maxIndices)
maxIndices
- the maximum number of indices this buffer can holdpublic int getNumIndices()
getNumIndices
in interface IndexData
public int getNumMaxIndices()
getNumMaxIndices
in interface IndexData
public void setIndices(short[] indices, int offset, int count)
Sets the indices of this IndexArray, discarding the old indices. The count must equal the number of indices to be copied to this IndexArray.
This can be called in between calls to bind()
and unbind()
. The index data will be updated instantly.
setIndices
in interface IndexData
indices
- the vertex dataoffset
- the offset to start copying the data fromcount
- the number of shorts to copypublic void setIndices(ShortBuffer indices)
IndexData
Buffer.position()
of the specified buffer and copied the Buffer.remaining()
amount of
indices. This can be called in between calls to IndexData.bind()
and IndexData.unbind()
. The index data will be updated
instantly.setIndices
in interface IndexData
indices
- the index data to copypublic ShortBuffer getBuffer()
Returns the underlying ShortBuffer. If you modify the buffer contents they wil be uploaded on the call to bind()
.
If you need immediate uploading use setIndices(short[], int, int)
.
public void bind()
public void invalidate()
invalidate
in interface IndexData
public void dispose()
dispose
in interface IndexData
dispose
in interface Disposable
Copyright © 2015. All rights reserved.