Known Direct Subclasses
|
Known Indirect Subclasses
DiamondSprite.HighPerformanceDiamondSpriteVertexBufferObject,
DiamondSprite.LowMemoryDiamondSpriteVertexBufferObject,
Line.HighPerformanceLineVertexBufferObject,
Line.LowMemoryLineVertexBufferObject,
Mesh.HighPerformanceMeshVertexBufferObject,
Rectangle.HighPerformanceRectangleVertexBufferObject,
Rectangle.LowMemoryRectangleVertexBufferObject,
Sprite.HighPerformanceSpriteVertexBufferObject,
Sprite.LowMemorySpriteVertexBufferObject,
SpriteBatch.HighPerformanceSpriteBatchVertexBufferObject,
SpriteBatch.LowMemorySpriteBatchVertexBufferObject,
Text.HighPerformanceTextVertexBufferObject,
Text.LowMemoryTextVertexBufferObject,
TiledSprite.HighPerformanceTiledSpriteVertexBufferObject,
TiledSprite.LowMemoryTiledSpriteVertexBufferObject,
UncoloredSprite.HighPerformanceUncoloredSpriteVertexBufferObject,
UncoloredSprite.LowMemoryUncoloredSpriteVertexBufferObject,
UniformColorSprite.HighPerformanceUniformColorSpriteVertexBufferObject,
UniformColorSprite.LowMemoryUniformColorSpriteVertexBufferObject
|
Class Overview
TODO Extract a common base class from VertexBufferObject
and ZeroMemoryVertexBufferObject
(due to significant code duplication).
For naming, maybe be inspired by the java ByteBuffer naming (i.e. HeapBackedFloatArrayVertexBufferObject, StreamBufferVertexBufferObject, SharedBufferStreamVertexBufferObject).
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc.
Summary
Nested Classes |
enum |
VertexBufferObject.DrawType |
|
Fields
protected
final
boolean
mAutoDispose
protected
final
int
mCapacity
protected
boolean
mDirtyOnHardware
protected
boolean
mDisposed
protected
int
mHardwareBufferID
protected
final
int
mUsage
Public Constructors
Parameters
pAutoDispose
| when passing true this VertexBufferObject loads itself to the active VertexBufferObjectManager . WARNING: When passing false one needs to take care of that by oneself! |
pVertexBufferObjectAttributes
| to be automatically enabled on the ShaderProgram used in VertexBufferObject#bind(ShaderProgram).
|
Public Methods
public
void
bind
(GLState pGLState)
public
void
draw
(int pPrimitiveType, int pCount)
public
void
draw
(int pPrimitiveType, int pOffset, int pCount)
public
int
getByteCapacity
()
public
int
getCapacity
()
public
int
getGPUMemoryByteSize
()
public
int
getHardwareBufferID
()
public
boolean
isAutoDispose
()
public
boolean
isDirtyOnHardware
()
public
boolean
isDisposed
()
public
boolean
isLoadedToHardware
()
public
void
setDirtyOnHardware
()
public
void
setNotLoadedToHardware
()
Mark this VertexBufferObject
as not not loaded to hardware.
It will reload itself to hardware when it gets used again.
public
void
unloadFromHardware
(GLState pGLState)
Protected Methods
protected
void
finalize
()
protected
abstract
void
onBufferData
()