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

Graphics class that represents a renderable element for our scene. More...

Inheritance diagram for Nz::Renderable:
Nz::Light

Public Member Functions

 Renderable (const Renderable &renderable)=default
 
 Renderable (Renderable &&)=default
 
virtual void AddToRenderQueue (AbstractRenderQueue *renderQueue, const Matrix4f &transformMatrix) const =0
 
virtual bool Cull (const Frustumf &frustum, const Matrix4f &transformMatrix) const
 Culls the model if not in the frustum. More...
 
void EnsureBoundingVolumeUpdated () const
 Ensures that the bounding volume is up to date.
 
virtual const BoundingVolumefGetBoundingVolume () const
 Gets the bounding volume. More...
 
virtual void UpdateBoundingVolume (const Matrix4f &transformMatrix)
 Updates the bounding volume by a matrix. More...
 
Renderableoperator= (const Renderable &renderable)=default
 
Renderableoperator= (Renderable &&renderable)=default
 

Protected Member Functions

virtual void MakeBoundingVolume () const =0
 
void InvalidateBoundingVolume ()
 Invalidates the bounding volume.
 

Protected Attributes

BoundingVolumef m_boundingVolume
 

Detailed Description

Graphics class that represents a renderable element for our scene.

Remarks
This class is abstract

Member Function Documentation

◆ Cull()

bool Nz::Renderable::Cull ( const Frustumf frustum,
const Matrix4f transformMatrix 
) const
virtual

Culls the model if not in the frustum.

Returns
true If renderable is in the frustum
Parameters
frustumSymbolizing the field of view
transformMatrixMatrix transformation for our object

Reimplemented in Nz::Light.

◆ GetBoundingVolume()

const BoundingVolumef & Nz::Renderable::GetBoundingVolume ( ) const
virtual

Gets the bounding volume.

Returns
Bounding volume of the renderable element

◆ UpdateBoundingVolume()

void Nz::Renderable::UpdateBoundingVolume ( const Matrix4f transformMatrix)
virtual

Updates the bounding volume by a matrix.

Parameters
transformMatrixMatrix transformation for our bounding volume

Reimplemented in Nz::Light.


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