GL Studio C++ Runtime API
GlsQuadListVCT_2D::TextureGroup Class Reference
Inheritance diagram for GlsQuadListVCT_2D::TextureGroup:
NonCopyable

Public Member Functions

 TextureGroup ()
 
virtual ~TextureGroup ()
 
void SetTexture (IFontImage *texture)
 
IFontImageGetTexture ()
 
void StartBuilding ()
 
void Bake (IGlsStateManager *stateManager)
 
void AddQuad2D (const float x1, const float y1, const float x2, const float y2, const V2f tex[], const glsColor &color)
 
void Draw (IGlsStateManager *stateManager, const bool enableColor, const bool enableTexture)
 

Protected Attributes

unsigned int _numQuads
 
DynamicArray< V2f_T2f_C4ub, true > _vertData
 
DynamicArray< GLushort, true > _indices
 
IFontImage_texture
 
unsigned int _vboHandle
 
unsigned int _indexBufferHandle
 
unsigned int _vboBufferSize
 

Constructor & Destructor Documentation

Default constructor

virtual ~TextureGroup ( )
virtual

Destructor

Member Function Documentation

void AddQuad2D ( const float  x1,
const float  y1,
const float  x2,
const float  y2,
const V2f  tex[],
const glsColor color 
)

Add a quad defined by a 2D rectangle from x1,y1 to x2,y2

Parameters
x1X coord of point 1
y1Y coord of point 1
x2X coord of point 2
y2Y coord of point 2
textexture coordinates
colorcolor of the quad points
void Bake ( IGlsStateManager stateManager)

Bakes the quad list, creating VBOs within the GL context. The VBOs created by Bake are used when the object is later drawn with Draw

Parameters
stateManagerThe StateManager object to create the VBOs within
void Draw ( IGlsStateManager stateManager,
const bool  enableColor,
const bool  enableTexture 
)

Draws this quad list

Parameters
stateManagerOpenGL context to draw list in
enableColorWhether or not to use the per vertex colors when drawing
enableTextureWhether or not to use the texture when drawing
IFontImage* GetTexture ( )

Get the current texture. This texture will be used when drawing the quad list (if not NULL)

Returns
The texture to set, NULL for no texture
void SetTexture ( IFontImage texture)

Set the current texture. This texture will be used when drawing the quad list (if not NULL)

Parameters
imageThe texture to set, NULL for no texture
void StartBuilding ( )

Put the quad list in list building mode. Process for using this quad list:

  1. Build the list
  2. Bake the list (creates VBOs)
  3. Draw the list

Member Data Documentation

unsigned int _indexBufferHandle
protected

Index buffer Handle for this quad storage

DynamicArray<GLushort, true> _indices
protected

Indices for the quad list

unsigned int _numQuads
protected

Number of quads in the list

IFontImage* _texture
protected

Texture to use when drawing quad storage. NULL if untextured

unsigned int _vboBufferSize
protected

Size of the VBO buffer. Cached to so that when a quad is cleared and reset we will only reallocate the VBO when its size changes.

unsigned int _vboHandle
protected

VBO Handle for this quad storage

DynamicArray<V2f_T2f_C4ub, true> _vertData
protected

Vertices for the quad list


The documentation for this class was generated from the following file: