⚠️ This documentation corresponds to the latest development branch of axmol. It might diverge from the official releases.

Axmol Engine 3.0.0-dff292a
Loading...
Searching...
No Matches
RenderQueue Class Reference

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.
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.
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:
  • Renderer.h