Nazara Engine
0.4
A fast, complete, cross-platform API designed for game development
|
Graphics class that represents the rendering queue for deferred rendering. More...
Public Types | |
typedef std::map< MeshData, MeshInstanceEntry, ForwardRenderQueue::MeshDataComparator > | MeshInstanceContainer |
typedef std::map< const Material *, BatchedModelEntry, ForwardRenderQueue::MaterialComparator > | MeshMaterialBatches |
typedef std::map< const MaterialPipeline *, BatchedMaterialEntry, ForwardRenderQueue::MaterialPipelineComparator > | MeshPipelineBatches |
Public Member Functions | |
DeferredRenderQueue (ForwardRenderQueue *forwardQueue) | |
Constructs a DeferredRenderQueue object with the rendering queue of forward rendering. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const Vector2f > sizePtr, SparsePtr< const Vector2f > sinCosPtr=nullptr, SparsePtr< const Color > colorPtr=nullptr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const Vector2f > sizePtr, SparsePtr< const Vector2f > sinCosPtr, SparsePtr< const float > alphaPtr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const Vector2f > sizePtr, SparsePtr< const float > anglePtr, SparsePtr< const Color > colorPtr=nullptr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const Vector2f > sizePtr, SparsePtr< const float > anglePtr, SparsePtr< const float > alphaPtr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const float > sizePtr, SparsePtr< const Vector2f > sinCosPtr=nullptr, SparsePtr< const Color > colorPtr=nullptr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const float > sizePtr, SparsePtr< const Vector2f > sinCosPtr, SparsePtr< const float > alphaPtr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const float > sizePtr, SparsePtr< const float > anglePtr, SparsePtr< const Color > colorPtr=nullptr) override |
Adds multiple billboards to the queue. More... | |
void | AddBillboards (int renderOrder, const Material *material, unsigned int count, SparsePtr< const Vector3f > positionPtr, SparsePtr< const float > sizePtr, SparsePtr< const float > anglePtr, SparsePtr< const float > alphaPtr) override |
Adds multiple billboards to the queue. More... | |
void | AddDrawable (int renderOrder, const Drawable *drawable) override |
Adds drawable to the queue. More... | |
void | AddMesh (int renderOrder, const Material *material, const MeshData &meshData, const Boxf &meshAABB, const Matrix4f &transformMatrix) override |
Adds mesh to the queue. More... | |
void | AddSprites (int renderOrder, const Material *material, const VertexStruct_XYZ_Color_UV *vertices, std::size_t spriteCount, const Texture *overlay=nullptr) override |
Adds sprites to the queue. More... | |
void | Clear (bool fully=false) override |
Clears the queue. More... | |
Public Member Functions inherited from Nz::AbstractRenderQueue | |
AbstractRenderQueue (const AbstractRenderQueue &)=delete | |
AbstractRenderQueue (AbstractRenderQueue &&)=default | |
virtual void | AddDirectionalLight (const DirectionalLight &light) |
Adds a directional light to the rendering queue. More... | |
virtual void | AddPointLight (const PointLight &light) |
Adds a point light to the rendering queue. More... | |
virtual void | AddSpotLight (const SpotLight &light) |
Adds a spot light to the rendering queue. More... | |
AbstractRenderQueue & | operator= (const AbstractRenderQueue &)=delete |
AbstractRenderQueue & | operator= (AbstractRenderQueue &&)=default |
Public Attributes | |
std::map< int, Layer > | layers |
Public Attributes inherited from Nz::AbstractRenderQueue | |
std::vector< DirectionalLight > | directionalLights |
std::vector< PointLight > | pointLights |
std::vector< SpotLight > | spotLights |
Graphics class that represents the rendering queue for deferred rendering.
Nz::DeferredRenderQueue::DeferredRenderQueue | ( | ForwardRenderQueue * | forwardQueue | ) |
Constructs a DeferredRenderQueue object with the rendering queue of forward rendering.
forwardQueue | Queue of data to render |
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Sizes of the billboards |
sinCosPtr | Rotation of the billboards if null, Vector2f(0.f, 1.f) is used |
colorPtr | Color of the billboards if null, Color::White is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Sizes of the billboards |
sinCosPtr | Rotation of the billboards if null, Vector2f(0.f, 1.f) is used |
alphaPtr | Alpha parameters of the billboards if null, 1.f is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Sizes of the billboards |
anglePtr | Rotation of the billboards if null, 0.f is used |
colorPtr | Color of the billboards if null, Color::White is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Sizes of the billboards |
anglePtr | Rotation of the billboards if null, 0.f is used |
alphaPtr | Alpha parameters of the billboards if null, 1.f is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Size of the billboards |
sinCosPtr | Rotation of the billboards if null, Vector2f(0.f, 1.f) is used |
colorPtr | Color of the billboards if null, Color::White is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Size of the billboards |
sinCosPtr | Rotation of the billboards if null, Vector2f(0.f, 1.f) is used |
alphaPtr | Alpha parameters of the billboards if null, 1.f is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Size of the billboards |
anglePtr | Rotation of the billboards if null, 0.f is used |
colorPtr | Color of the billboards if null, Color::White is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds multiple billboards to the queue.
renderOrder | Order of rendering |
material | Material of the billboards |
count | Number of billboards |
positionPtr | Position of the billboards |
sizePtr | Size of the billboards |
anglePtr | Rotation of the billboards if null, 0.f is used |
alphaPtr | Alpha parameters of the billboards if null, 1.f is used |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds drawable to the queue.
renderOrder | Order of rendering |
drawable | Drawable user defined |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds mesh to the queue.
renderOrder | Order of rendering |
material | Material of the mesh |
meshData | Data of the mesh |
meshAABB | Box of the mesh |
transformMatrix | Matrix of the mesh |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Adds sprites to the queue.
renderOrder | Order of rendering |
material | Material of the sprites |
vertices | Buffer of data for the sprites |
spriteCount | Number of sprites |
overlay | Texture of the sprites |
Implements Nz::AbstractRenderQueue.
|
overridevirtual |
Clears the queue.
fully | Should everything be cleared or we can keep layers |
Reimplemented from Nz::AbstractRenderQueue.