NAP
Public Member Functions | List of all members
UniformStructInstance Class Reference

#include <uniforminstance.h>

Public Member Functions

 UniformStructInstance (const ShaderVariableStructDeclaration &declaration, const UniformCreatedCallback &uniformCreatedCallback)
 
 UniformStructInstance (const UniformStructInstance &)=delete
 
UniformStructInstanceoperator= (const UniformStructInstance &)=delete
 
const std::vector< std::unique_ptr< UniformInstance > > & getUniforms () const
 
UniformInstancefindUniform (const std::string &name)
 
template<typename T >
T * findUniform (const std::string &name)
 
template<typename T >
T * getOrCreateUniform (const std::string &name)
 
virtual const ShaderVariableDeclarationgetDeclaration () const override
 
- Public Member Functions inherited from UniformInstance
virtual ~UniformInstance ()=default
 

Description

Contains other uniform instances, including: values, structs and arrays. A uniform value, struct or array must be declared as part of a uniform struct.

Inheritance diagram for UniformStructInstance:
[legend]
Collaboration diagram for UniformStructInstance:
[legend]

Constructor & Destructor Documentation

◆ UniformStructInstance() [1/2]

UniformStructInstance ( const ShaderVariableStructDeclaration declaration,
const UniformCreatedCallback uniformCreatedCallback 
)

◆ UniformStructInstance() [2/2]

Member Function Documentation

◆ findUniform() [1/2]

UniformInstance* findUniform ( const std::string &  name)

Tries to find a uniform with the given name.

Parameters
namethe name of the uniform to find.
Returns
found uniform instance, nullptr if it does not exist.

◆ findUniform() [2/2]

T * findUniform ( const std::string &  name)

Tries to find a uniform of a specific type with the given name.

Parameters
namethe name of the uniform to find.
Returns
the uniform instance, nullptr if it does not exist

◆ getDeclaration()

virtual const ShaderVariableDeclaration& getDeclaration ( ) const
overridevirtual
Returns
the shader variable declaration, used to create the uniform instance.

Implements UniformInstance.

◆ getOrCreateUniform()

T * getOrCreateUniform ( const std::string &  name)

Tries to find a uniform of a specific type with the given name, creates it if it does not exist.

Parameters
namethe name of the uniform to find or create
Returns
the uniform instance, nullptr if it can't be found and created.

◆ getUniforms()

const std::vector<std::unique_ptr<UniformInstance> >& getUniforms ( ) const
Returns
all uniform instances contained by this struct.

◆ operator=()

UniformStructInstance& operator= ( const UniformStructInstance )
delete