Nazara Engine  0.4
A fast, complete, cross-platform API designed for game development
Nz::DepthRenderQueue Class Reference

Graphics class that represents the rendering queue for depth rendering. More...

Inheritance diagram for Nz::DepthRenderQueue:
Nz::ForwardRenderQueue Nz::AbstractRenderQueue

Public Member Functions

 DepthRenderQueue ()
 Constructs a DepthRenderTechnique object by default.
 
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 AddDirectionalLight (const DirectionalLight &light) override
 Adds a direcitonal light 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 AddPointLight (const PointLight &light) override
 Adds a point light to the queue. More...
 
void AddSpotLight (const SpotLight &light) override
 Adds a spot light 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...
 
- Public Member Functions inherited from Nz::ForwardRenderQueue
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...
 
void Sort (const AbstractViewer *viewer)
 Sorts the object according to the viewer position, furthest to nearest. More...
 
- Public Member Functions inherited from Nz::AbstractRenderQueue
 AbstractRenderQueue (const AbstractRenderQueue &)=delete
 
 AbstractRenderQueue (AbstractRenderQueue &&)=default
 
AbstractRenderQueueoperator= (const AbstractRenderQueue &)=delete
 
AbstractRenderQueueoperator= (AbstractRenderQueue &&)=default
 

Additional Inherited Members

- Public Types inherited from Nz::ForwardRenderQueue
using BatchedBillboardContainer = std::map< const Material *, BatchedBillboardEntry, MaterialComparator >
 
using BillboardPipelineBatches = std::map< const MaterialPipeline *, BatchedBillboardPipelineEntry, MaterialPipelineComparator >
 
using SpriteOverlayBatches = std::map< const Texture *, BatchedSpriteEntry >
 
using SpriteMaterialBatches = std::map< const Material *, BatchedBasicSpriteEntry, MaterialComparator >
 
using SpritePipelineBatches = std::map< const MaterialPipeline *, BatchedSpritePipelineEntry, MaterialPipelineComparator >
 
using MeshInstanceContainer = std::map< MeshData, MeshInstanceEntry, MeshDataComparator >
 
using MeshMaterialBatches = std::map< const Material *, BatchedModelEntry, MaterialComparator >
 
using MeshPipelineBatches = std::map< const MaterialPipeline *, BatchedMaterialEntry, MaterialPipelineComparator >
 
- Public Attributes inherited from Nz::ForwardRenderQueue
std::map< int, Layer > layers
 
- Public Attributes inherited from Nz::AbstractRenderQueue
std::vector< DirectionalLight > directionalLights
 
std::vector< PointLight > pointLights
 
std::vector< SpotLight > spotLights
 

Detailed Description

Graphics class that represents the rendering queue for depth rendering.

Member Function Documentation

◆ AddBillboards() [1/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSizes of the billboards
sinCosPtrRotation of the billboards if null, Vector2f(0.f, 1.f) is used
colorPtrColor of the billboards if null, Color::White is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [2/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSizes of the billboards
sinCosPtrRotation of the billboards if null, Vector2f(0.f, 1.f) is used
alphaPtrAlpha parameters of the billboards if null, 1.f is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [3/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSizes of the billboards
anglePtrRotation of the billboards if null, 0.f is used
colorPtrColor of the billboards if null, Color::White is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [4/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSizes of the billboards
anglePtrRotation of the billboards if null, 0.f is used
alphaPtrAlpha parameters of the billboards if null, 1.f is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [5/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSize of the billboards
sinCosPtrRotation of the billboards if null, Vector2f(0.f, 1.f) is used
colorPtrColor of the billboards if null, Color::White is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [6/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSize of the billboards
sinCosPtrRotation of the billboards if null, Vector2f(0.f, 1.f) is used
alphaPtrAlpha parameters of the billboards if null, 1.f is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [7/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSize of the billboards
anglePtrRotation of the billboards if null, 0.f is used
colorPtrColor of the billboards if null, Color::White is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddBillboards() [8/8]

void Nz::DepthRenderQueue::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 
)
overridevirtual

Adds multiple billboards to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the billboards
countNumber of billboards
positionPtrPosition of the billboards
sizePtrSize of the billboards
anglePtrRotation of the billboards if null, 0.f is used
alphaPtrAlpha parameters of the billboards if null, 1.f is used
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddDirectionalLight()

void Nz::DepthRenderQueue::AddDirectionalLight ( const DirectionalLight &  light)
overridevirtual

Adds a direcitonal light to the queue.

Parameters
lightLight to add
Remarks
Produces a NazaraAssert

Reimplemented from Nz::AbstractRenderQueue.

◆ AddMesh()

void Nz::DepthRenderQueue::AddMesh ( int  renderOrder,
const Material material,
const MeshData &  meshData,
const Boxf meshAABB,
const Matrix4f transformMatrix 
)
overridevirtual

Adds mesh to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the mesh
meshDataData of the mesh
meshAABBBox of the mesh
transformMatrixMatrix of the mesh
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.

◆ AddPointLight()

void Nz::DepthRenderQueue::AddPointLight ( const PointLight &  light)
overridevirtual

Adds a point light to the queue.

Parameters
lightLight to add
Remarks
Produces a NazaraAssert

Reimplemented from Nz::AbstractRenderQueue.

◆ AddSpotLight()

void Nz::DepthRenderQueue::AddSpotLight ( const SpotLight &  light)
overridevirtual

Adds a spot light to the queue.

Parameters
lightLight to add
Remarks
Produces a NazaraAssert

Reimplemented from Nz::AbstractRenderQueue.

◆ AddSprites()

void Nz::DepthRenderQueue::AddSprites ( int  renderOrder,
const Material material,
const VertexStruct_XYZ_Color_UV *  vertices,
std::size_t  spriteCount,
const Texture *  overlay = nullptr 
)
overridevirtual

Adds sprites to the queue.

Parameters
renderOrderOrder of rendering
materialMaterial of the sprites
verticesBuffer of data for the sprites
spriteCountNumber of sprites
overlayTexture of the sprites
Remarks
Produces a NazaraAssert if material is invalid

Implements Nz::AbstractRenderQueue.


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