cocos2d-x  3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Renderer Class Reference

#include <CCRenderer.h>

Public Member Functions

 Renderer ()
 ~Renderer ()
void initGLView ()
void addCommand (RenderCommand *command)
 Adds a RenderComamnd into the renderer. More...
 
void addCommand (RenderCommand *command, int renderQueue)
 Adds a RenderComamnd into the renderer specifying a particular render queue ID. More...
 
void pushGroup (int renderQueueID)
 Pushes a group into the render queue. More...
 
void popGroup ()
 Pops a group from the render queue. More...
 
int createRenderQueue ()
 Creates a render queue and returns its Id. More...
 
void render ()
 Renders into the GLView all the queued RenderCommand objects. More...
 
void clean ()
 Cleans all RenderCommands in the queue. More...
 
ssize_t getDrawnBatches () const
void addDrawnBatches (ssize_t number)
ssize_t getDrawnVertices () const
void addDrawnVertices (ssize_t number)
GroupCommandManagergetGroupCommandManager () const
bool checkVisibility (const Mat4 &transform, const Size &size)
 returns whether or not a rectangle is visible or not More...
 

Static Public Attributes

static const int VBO_SIZE = 65536 / 6
static const int BATCH_QUADCOMMAND_RESEVER_SIZE = 64

Protected Member Functions

void setupIndices ()
void setupBuffer ()
void setupVBOAndVAO ()
void setupVBO ()
void mapBuffers ()
void drawBatchedQuads ()
void flush ()
void flush2D ()
void flush3D ()
void visitRenderQueue (const RenderQueue &queue)
void convertToWorldCoordinates (V3F_C4B_T2F_Quad *quads, ssize_t quantity, const Mat4 &modelView)

Protected Attributes

std::stack< int > _commandGroupStack
std::vector< RenderQueue_renderGroups
uint32_t _lastMaterialID
MeshCommand_lastBatchedMeshCommand
std::vector< QuadCommand * > _batchedQuadCommands
V3F_C4B_T2F_Quad _quads [VBO_SIZE]
GLushort _indices [6 *VBO_SIZE]
GLuint _quadVAO
GLuint _buffersVBO [2]
int _numQuads
bool _glViewAssigned
ssize_t _drawnBatches
ssize_t _drawnVertices
bool _isRendering
GroupCommandManager_groupCommandManager

Constructor & Destructor Documentation

Renderer ( )
~Renderer ( )

Member Function Documentation

void addCommand ( RenderCommand command)

Adds a RenderComamnd into the renderer.

void addCommand ( RenderCommand command,
int  renderQueue 
)

Adds a RenderComamnd into the renderer specifying a particular render queue ID.

void addDrawnBatches ( ssize_t  number)
inline
void addDrawnVertices ( ssize_t  number)
inline
bool checkVisibility ( const Mat4 transform,
const Size size 
)

returns whether or not a rectangle is visible or not

void clean ( )

Cleans all RenderCommands in the queue.

void convertToWorldCoordinates ( V3F_C4B_T2F_Quad quads,
ssize_t  quantity,
const Mat4 modelView 
)
protected
int createRenderQueue ( )

Creates a render queue and returns its Id.

void drawBatchedQuads ( )
protected
void flush ( )
protected
void flush2D ( )
protected
void flush3D ( )
protected
ssize_t getDrawnBatches ( ) const
inline
ssize_t getDrawnVertices ( ) const
inline
GroupCommandManager*
getGroupCommandManager
( ) const
inline
void initGLView ( )
void mapBuffers ( )
protected
void popGroup ( )

Pops a group from the render queue.

void pushGroup ( int  renderQueueID)

Pushes a group into the render queue.

void render ( )

Renders into the GLView all the queued RenderCommand objects.

void setupBuffer ( )
protected
void setupIndices ( )
protected
void setupVBO ( )
protected
void setupVBOAndVAO ( )
protected
void visitRenderQueue ( const RenderQueue queue)
protected

Member Data Documentation

std::vector<QuadCommand*>
_batchedQuadCommands
protected
GLuint _buffersVBO[2]
protected
std::stack<int> _commandGroupStack
protected
ssize_t _drawnBatches
protected
ssize_t _drawnVertices
protected
bool _glViewAssigned
protected
GroupCommandManager*
_groupCommandManager
protected
GLushort _indices[6 *VBO_SIZE]
protected
bool _isRendering
protected
MeshCommand*
_lastBatchedMeshCommand
protected
uint32_t _lastMaterialID
protected
int _numQuads
protected
V3F_C4B_T2F_Quad _quads[VBO_SIZE]
protected
GLuint _quadVAO
protected
std::vector<RenderQueue>
_renderGroups
protected
const int
BATCH_QUADCOMMAND_RESEVER_SIZE = 64
static
const int VBO_SIZE = 65536 / 6
static

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