Berserk
Public Member Functions | List of all members
ShaderTechnique Class Referencefinal

Represents particular approach to draw single object. More...

#include <ShaderTechnique.hpp>

Inheritance diagram for ShaderTechnique:
Inheritance graph
[legend]
Collaboration diagram for ShaderTechnique:
Collaboration graph
[legend]

Public Member Functions

BRK_API ShaderTechnique ()=default
 
BRK_API ~ShaderTechnique () override=default
 
BRK_API void SetName (StringName name)
 
BRK_API void SetTags (const ShaderTechniqueTags &tags)
 
BRK_API void SetRHIType (RHIType rhiType)
 
BRK_API void SetRHILanguage (RHIShaderLanguage language)
 
BRK_API void SetPasses (std::vector< Ref< ShaderPass >> passes)
 
BRK_API void SetShader (class Shader *shader)
 
BRK_API void FillPipelineDesc (RHIGraphicsPipelineDesc &desc, uint32 passIdx) const
 
BRK_API bool IsCompiled () const
 
BRK_API Ref< const ShaderPassGetPass (const StringName &name) const
 
BRK_API Ref< const ShaderPassGetPass (uint32 passIdx) const
 
BRK_API size_t GetPassesCount () const
 
BRK_API const StringNameGetName () const
 
BRK_API const ShaderTechniqueTagsGetTags () const
 
BRK_API RHIType GetRHIType () const
 
BRK_API RHIShaderLanguage GetRHILanguage () const
 
BRK_API const std::vector< Ref< ShaderPass > > & GetPasses () const
 
BRK_API class ShaderGetShader () const
 
- Public Member Functions inherited from RefCnt
virtual ~RefCnt ()
 
bool IsUnique () const
 
std::int32_t GetRefs () const
 
std::int32_t AddRef () const
 
std::int32_t RelRef () const
 

Additional Inherited Members

- Protected Member Functions inherited from RefCnt
virtual void Destroy () const
 

Detailed Description

Represents particular approach to draw single object.

Constructor & Destructor Documentation

◆ ShaderTechnique()

BRK_API ShaderTechnique::ShaderTechnique ( )
default

CreateFromImage empty technique

◆ ~ShaderTechnique()

BRK_API ShaderTechnique::~ShaderTechnique ( )
overridedefault

Member Function Documentation

◆ FillPipelineDesc()

void ShaderTechnique::FillPipelineDesc ( RHIGraphicsPipelineDesc desc,
uint32  passIdx 
) const

Fill pipeline descriptor for specified pass

◆ GetName()

BRK_API const StringName& ShaderTechnique::GetName ( ) const
inline
Returns
Technique name

◆ GetPass() [1/2]

Ref< const ShaderPass > ShaderTechnique::GetPass ( const StringName name) const
Returns
Get pass by name

◆ GetPass() [2/2]

Ref< const ShaderPass > ShaderTechnique::GetPass ( uint32  passIdx) const
Returns
Get pass by index

◆ GetPasses()

BRK_API const std::vector<Ref<ShaderPass> >& ShaderTechnique::GetPasses ( ) const
inline
Returns
List of passes

◆ GetPassesCount()

BRK_API size_t ShaderTechnique::GetPassesCount ( ) const
inline
Returns
Number of passes

◆ GetRHILanguage()

BRK_API RHIShaderLanguage ShaderTechnique::GetRHILanguage ( ) const
inline
Returns
Type of shader language used to write technique

◆ GetRHIType()

BRK_API RHIType ShaderTechnique::GetRHIType ( ) const
inline
Returns
Type of api for the technique

◆ GetShader()

BRK_API class Shader* ShaderTechnique::GetShader ( ) const
inline
Returns
Shader this technique belongs to

◆ GetTags()

BRK_API const ShaderTechniqueTags& ShaderTechnique::GetTags ( ) const
inline
Returns
Set of tags

◆ IsCompiled()

bool ShaderTechnique::IsCompiled ( ) const
Returns
True if technique compiled

◆ SetName()

BRK_NS_BEGIN void ShaderTechnique::SetName ( StringName  name)

Set technique name

◆ SetPasses()

void ShaderTechnique::SetPasses ( std::vector< Ref< ShaderPass >>  passes)

Set list of passes

◆ SetRHILanguage()

void ShaderTechnique::SetRHILanguage ( RHIShaderLanguage  language)

Set type of shader language used to write technique

◆ SetRHIType()

void ShaderTechnique::SetRHIType ( RHIType  rhiType)

Set type of api for the technique

◆ SetShader()

void ShaderTechnique::SetShader ( class Shader shader)

Set shader this technique belongs to

◆ SetTags()

void ShaderTechnique::SetTags ( const ShaderTechniqueTags tags)

Set tags


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