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. More... | |
| void | push_back (RenderCommand *command) |
| Push a renderCommand into current renderqueue. More... | |
| ssize_t | size () const |
| Return the number of render commands. More... | |
| void | sort () |
| Sort the render commands. More... | |
| RenderCommand * | operator[] (ssize_t index) const |
| Treat sorted commands as an array, access them one by one. More... | |
| void | clear () |
| Clear all rendered commands. More... | |
| 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. More... | |
| ssize_t | getSubQueueSize (QUEUE_GROUP group) const |
| Get the number of render commands contained in a subqueue. More... | |
| void | saveRenderState () |
| Save the current DepthState, CullState, DepthWriteState render state. More... | |
| void | restoreRenderState () |
| Restore the saved DepthState, CullState, DepthWriteState render state. More... | |
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.
| 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.
| 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.
Note: this clears any existing commands.
|
inline |
Get a sub group of the render queue.
|
inline |
Get the number of render commands contained in a subqueue.
| void saveRenderState | ( | ) |
Save the current DepthState, CullState, DepthWriteState render state.
| void restoreRenderState | ( | ) |
Restore the saved DepthState, CullState, DepthWriteState render state.