| GL Studio C++ Runtime API

Classes | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
GlsQuadListVCT_2D Class Reference

`#include <gls_quad_storage.h>`

Inheritance diagram for GlsQuadListVCT_2D:

## Classes
class | TextureGroup

## Public Member Functions
| GlsQuadListVCT_2D ()
virtual | ~GlsQuadListVCT_2D ()
void | SetTexCoords (const float x1, const float y1, const float x2, const float y2)
void | SetTexture (IFontImage *image)
void | SetColor (const glsColor &color)
void | StartBuilding ()
void | Bake (IGlsStateManager *stateManager)
void | AddQuad2D (const float x1, const float y1, const float x2, const float y2)
void | Draw (IGlsStateManager *stateManager, const bool enableColor, const bool enableTexture)
unsigned int | NumQuads ()

## Static Public Attributes
static const GLuint | VERT_SIZE = sizeof( V2f )
| Size of a vertex in bytes.
static const GLuint | TEX_SIZE = sizeof( V2f )
| Size of a texture coordinate in bytes.
static const GLuint | COLOR_SIZE = sizeof( glsColor )
| Size of a color in bytes.
static const void *const | VERT_OFFSET
static const void *const | TEX_COORD_OFFSET
static const void *const | COLOR_OFFSET

## Protected Attributes
DynamicArray< TextureGroup *, false > | _textureGroups
| The list of all textured quad groups.
unsigned int | _numTextureGroups
| The number of textured quad groups in the list.
TextureGroup * | _currentTextureGroup
| Pointer to the current texture group that quads will be added to with the next call to AddQuad.
unsigned int | _numQuads
V2f | _currentTex [4]
glsColor | _currentColor

## Detailed Description

GlsQuadListVCT_2D

## Constructor & Destructor Documentation

## ◆ GlsQuadListVCT_2D()

GlsQuadListVCT_2D | ( |  | ) |

Default constructor

## ◆ ~GlsQuadListVCT_2D()

virtual ~GlsQuadListVCT_2D | ( |  | ) |
| virtual

Destructor

## Member Function Documentation

## ◆ AddQuad2D()

void AddQuad2D | ( | const float | x1,
|  | const float | y1,
|  | const float | x2,
|  | const float | y2
| ) |  |

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

Parameters

  x1 | X coord of point 1
  y1 | Y coord of point 1
  x2 | X coord of point 2
  y2 | Y coord of point 2

## ◆ Bake()

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

  stateManager | The StateManager object to create the VBOs within

## ◆ Draw()

void Draw | ( | IGlsStateManager * | stateManager,
|  | const bool | enableColor,
|  | const bool | enableTexture
| ) |  |

Draws this quad list

Parameters

  stateManager | OpenGL context to draw list in
  enableColor | Whether or not to use the per vertex colors when drawing
  enableTexture | Whether or not to use the texture when drawing

## ◆ NumQuads()

unsigned int NumQuads | ( |  | ) |
| inline

Returns
  Returns the number of quads in the list

## ◆ SetColor()

void SetColor | ( | const glsColor & | color | ) |

Set the current drawing color. When a quad is added, its vertex colors are set to the current color

Parameters

  color | The color to set

## ◆ SetTexCoords()

void SetTexCoords | ( | const float | x1,
|  | const float | y1,
|  | const float | x2,
|  | const float | y2
| ) |  |

Set the current texture coordinates. When a quad is added, these texture coordinates will be used. x1,y1 will map to quad vertex[0] and x2,y2 will map to quad vertex[1]

Parameters

  x1 | X coord of point 1
  y1 | Y coord of point 1
  x2 | X coord of point 2
  y2 | Y coord of point 2

## ◆ SetTexture()

void SetTexture | ( | IFontImage * | image | ) |

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

Parameters

  image | The texture to set, NULL for no texture

## ◆ StartBuilding()

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

## ◆ _currentColor

glsColor _currentColor
| protected

Last color that was set. Used only while building a list

## ◆ _currentTex

V2f _currentTex[4]
| protected

Current texture coordinates supplied for current quad (Texture coordinates are not required to change per quad). Used only while building list.

## ◆ _numQuads

unsigned int _numQuads
| protected

Number of quads in the list (total)

## ◆ COLOR_OFFSET

const void* const COLOR_OFFSET
| static

Constant offsets to the primitive color attribute.

Note
  Strange casting is to support OpenGL's repurposed functions that pass offsets as pointers.

## ◆ TEX_COORD_OFFSET

const void* const TEX_COORD_OFFSET
| static

Constant offsets to the primitive texture coordinate attribute.

Note
  Strange casting is to support OpenGL's repurposed functions that pass offsets as pointers.

## ◆ VERT_OFFSET

const void* const VERT_OFFSET
| static

Constant offsets to the primitive vertex attribute.

Note
  Strange casting is to support OpenGL's repurposed functions that pass offsets as pointers.

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

- gls_quad_storage.h