Axmol Engine 2.4.0-258ceca
|
Class that knows how to sort RenderCommand
objects.
More...
#include <Renderer.h>
Public Types | |
enum | QUEUE_GROUP { GLOBALZ_NEG = 0 , OPAQUE_3D = 1 , TRANSPARENT_3D = 2 , GLOBALZ_ZERO = 3 , GLOBALZ_POS = 4 , QUEUE_COUNT = 5 } |
RenderCommand will be divided into Queue Groups. More... | |
Public Member Functions | |
RenderQueue () | |
Constructor. | |
void | emplace_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. | |
RenderCommand * | operator[] (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. | |
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. | |
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
.
enum QUEUE_GROUP |
RenderCommand will be divided into Queue Groups.
void realloc | ( | size_t | reserveSize | ) |
Realloc command queues and reserve with given size.
Note: this clears any existing commands.