Murl::Video::IShaderTechnique Interface Referenceabstract

The IShaderTechnique video object interface. More...

#include "murl_video_i_shader_technique.h"

Inherited by Murl::Video::Dx111::ShaderProgram, Murl::Video::Dx90::ShaderProgram, Murl::Video::GlEs20::ShaderProgram, and Murl::Video::Vulkan::ShaderProgram.

Classes

struct  AttributeVariableDeclaration
 A declaration of a predefined attribute variable. More...
 
struct  UniformVariableDeclaration
 A declaration of a predefined uniform variable. More...
 

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () const =0
 Get the constant Video::IObject interface. More...
 
virtual Bool AddShader (IShader *shader)=0
 Add a shader. More...
 
virtual UInt32 GetNumberOfShaders () const =0
 Get the number of referenced shaders. More...
 
virtual IShaderGetShader (UInt32 index) const =0
 Get the shader at a given index. More...
 
virtual Bool AddUniformVariableDeclarations (const UniformVariableDeclaration *declarations, UInt32 numberOfDeclarations)=0
 Add a set of predefined uniform variable declarations. More...
 
virtual Bool AddAttributeVariableDeclarations (const AttributeVariableDeclaration *declarations, UInt32 numberOfDeclarations)=0
 Add a set of predefined attribute variable declarations. More...
 
virtual Bool RemoveUniformVariableDeclarations (const UniformVariableDeclaration *declarations, UInt32 numberOfDeclarations)=0
 Remove a set of previously added predefined uniform variable declarations. More...
 
virtual Bool RemoveAttributeVariableDeclarations (const AttributeVariableDeclaration *declarations, UInt32 numberOfDeclarations)=0
 Remove a set of previously added predefined attribute variable declarations. More...
 

Detailed Description

The IShaderTechnique video object interface.

This interface represents a generic GPU shader program.

Used internally by Graph::ShaderProgram.

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Video::IShaderTechnique::GetObjectInterface ( )
pure virtual

Get the mutable Video::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Video::IShaderTechnique::GetObjectInterface ( ) const
pure virtual

Get the constant Video::IObject interface.

Returns
The IObject interface.

◆ AddShader()

virtual Bool Murl::Video::IShaderTechnique::AddShader ( IShader shader)
pure virtual

Add a shader.

Parameters
shaderThe shader to add.
Returns
true if successful.

◆ GetNumberOfShaders()

virtual UInt32 Murl::Video::IShaderTechnique::GetNumberOfShaders ( ) const
pure virtual

Get the number of referenced shaders.

Returns
The number of shaders.

◆ GetShader()

virtual IShader* Murl::Video::IShaderTechnique::GetShader ( UInt32  index) const
pure virtual

Get the shader at a given index.

Parameters
indexThe shader index, from 0 to GetNumberOfShaders()-1.
Returns
The shader, or null if the index is out of range.

◆ AddUniformVariableDeclarations()

virtual Bool Murl::Video::IShaderTechnique::AddUniformVariableDeclarations ( const UniformVariableDeclaration declarations,
UInt32  numberOfDeclarations 
)
pure virtual

Add a set of predefined uniform variable declarations.

Parameters
declarationsAn array of declarations.
numberOfDeclarationsThe actual number of declarations to add.
Returns
true if successful.

◆ AddAttributeVariableDeclarations()

virtual Bool Murl::Video::IShaderTechnique::AddAttributeVariableDeclarations ( const AttributeVariableDeclaration declarations,
UInt32  numberOfDeclarations 
)
pure virtual

Add a set of predefined attribute variable declarations.

Parameters
declarationsAn array of declarations.
numberOfDeclarationsThe actual number of declarations to add.
Returns
true if successful.

◆ RemoveUniformVariableDeclarations()

virtual Bool Murl::Video::IShaderTechnique::RemoveUniformVariableDeclarations ( const UniformVariableDeclaration declarations,
UInt32  numberOfDeclarations 
)
pure virtual

Remove a set of previously added predefined uniform variable declarations.

Parameters
declarationsAn array of declarations.
numberOfDeclarationsThe actual number of declarations to add.
Returns
true if successful.

◆ RemoveAttributeVariableDeclarations()

virtual Bool Murl::Video::IShaderTechnique::RemoveAttributeVariableDeclarations ( const AttributeVariableDeclaration declarations,
UInt32  numberOfDeclarations 
)
pure virtual

Remove a set of previously added predefined attribute variable declarations.

Parameters
declarationsAn array of declarations.
numberOfDeclarationsThe actual number of declarations to add.
Returns
true if successful.

The documentation for this interface was generated from the following file:
  • murl_video_i_shader_technique.h


Copyright © 2011-2024 Spraylight GmbH.