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

Graphics class used to contains all rendering states that are not allowed to change individually on rendering devices. More...

Inheritance diagram for Nz::MaterialPipeline:
Nz::RefCounted

Public Member Functions

 MaterialPipeline (const MaterialPipeline &)=delete
 
 MaterialPipeline (MaterialPipeline &&)=delete
 
const Instance & Apply (UInt32 flags=ShaderFlags_None) const
 Enable pipeline states for rendering. More...
 
MaterialPipelineoperator= (const MaterialPipeline &)=delete
 
MaterialPipelineoperator= (MaterialPipeline &&)=delete
 
const MaterialPipelineInfo & GetInfo () const
 Retrieve a MaterialPipelineInfo object describing this pipeline. More...
 
const Instance & GetInstance (UInt32 flags=ShaderFlags_None) const
 Retrieve (and generate if required) a pipeline instance using shader flags without applying it. More...
 
- Public Member Functions inherited from Nz::RefCounted
 RefCounted (bool persistent=true)
 Constructs a RefCounted object with a persistance aspect. More...
 
 RefCounted (const RefCounted &)=delete
 
 RefCounted (RefCounted &&)=default
 
virtual ~RefCounted ()
 Destructs the object. More...
 
void AddReference () const
 Adds a reference to the object.
 
unsigned int GetReferenceCount () const
 Gets the number of references to the object. More...
 
bool IsPersistent () const
 Checks whether the object is persistent. More...
 
bool RemoveReference () const
 Removes a reference to the object. More...
 
bool SetPersistent (bool persistent=true, bool checkReferenceCount=false)
 Sets the persistence of the object. More...
 
RefCountedoperator= (const RefCounted &)=delete
 
RefCountedoperator= (RefCounted &&)=default
 

Static Public Member Functions

static MaterialPipelineRef GetPipeline (const MaterialPipelineInfo &pipelineInfo)
 Returns a reference to a MaterialPipeline built with MaterialPipelineInfo. More...
 

Friends

class Graphics
 

Detailed Description

Graphics class used to contains all rendering states that are not allowed to change individually on rendering devices.

Member Function Documentation

◆ Apply()

const MaterialPipeline::Instance & Nz::MaterialPipeline::Apply ( UInt32  flags = ShaderFlags_None) const
inline

Enable pipeline states for rendering.

Parameters
flagsShader flags

◆ GetInfo()

const MaterialPipelineInfo & Nz::MaterialPipeline::GetInfo ( ) const
inline

Retrieve a MaterialPipelineInfo object describing this pipeline.

Returns
Pipeline informations

◆ GetInstance()

const MaterialPipeline::Instance & Nz::MaterialPipeline::GetInstance ( UInt32  flags = ShaderFlags_None) const
inline

Retrieve (and generate if required) a pipeline instance using shader flags without applying it.

Parameters
flagsShader flags
Returns
Pipeline instance

◆ GetPipeline()

MaterialPipelineRef Nz::MaterialPipeline::GetPipeline ( const MaterialPipelineInfo &  pipelineInfo)
static

Returns a reference to a MaterialPipeline built with MaterialPipelineInfo.

This function is using a cache, calling it multiples times with the same MaterialPipelineInfo will returns references to a single MaterialPipeline

Parameters
pipelineInfoPipeline informations used to build/retrieve a MaterialPipeline object

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