Cocos2d-x  v4
RenderQueue Class Reference

Class that knows how to sort RenderCommand objects. More...

Public Types

enum  QUEUE_GROUP {
  GLOBALZ_NEG = 0, OPAQUE_3D = 1, TRANSPARENT_3D = 2, GLOBALZ_ZERO = 3,
  GLOBALZ_POS = 4
}
 RenderCommand will be divided into Queue Groups. More...
 

Public Member Functions

 RenderQueue ()
 Constructor.
 
void push_back (RenderCommand *command)
 Push a renderCommand into current renderqueue.
 
ssize_t size () const
 Return the number of render commands.
 
void sort ()
 Sort the render commands.
 
RenderCommandoperator[] (ssize_t index) const
 Treat sorted commands as an array, access them one by one.
 
void clear ()
 Clear all rendered commands.
 
void realloc (size_t reserveSize)
 Realloc command queues and reserve with given size. More...
 
std::vector< RenderCommand * > & getSubQueue (QUEUE_GROUP group)
 Get a sub group of the render queue.
 
ssize_t getSubQueueSize (QUEUE_GROUP group) const
 Get the number of render commands contained in a subqueue.
 

Detailed Description

Class that knows how to sort RenderCommand objects.

Since the commands that have z == 0 are "pushed back" in the correct order, the only RenderCommand objects that need to be sorted, are the ones that have z < 0 and z > 0.

Member Enumeration Documentation

◆ QUEUE_GROUP

RenderCommand will be divided into Queue Groups.

Enumerator
GLOBALZ_NEG 

Objects with globalZ smaller than 0.

OPAQUE_3D 

Opaque 3D objects with 0 globalZ.

TRANSPARENT_3D 

Transparent 3D objects with 0 globalZ.

GLOBALZ_ZERO 

2D objects with 0 globalZ.

GLOBALZ_POS 

Objects with globalZ bigger than 0.

Member Function Documentation

◆ realloc()

void realloc ( size_t  reserveSize)

Realloc command queues and reserve with given size.

Note: this clears any existing commands.


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