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 IObject * | GetObjectInterface ()=0 |
Get the mutable Video::IObject interface. More... | |
virtual const IObject * | GetObjectInterface () 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 IShader * | GetShader (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]
|
pure virtual |
Get the mutable Video::IObject interface.
- Returns
- The IObject interface.
◆ GetObjectInterface() [2/2]
|
pure virtual |
Get the constant Video::IObject interface.
- Returns
- The IObject interface.
◆ AddShader()
Add a shader.
- Parameters
-
shader The shader to add.
- Returns
- true if successful.
◆ GetNumberOfShaders()
|
pure virtual |
Get the number of referenced shaders.
- Returns
- The number of shaders.
◆ GetShader()
Get the shader at a given index.
- Parameters
-
index The shader index, from 0 to GetNumberOfShaders()-1.
- Returns
- The shader, or null if the index is out of range.
◆ AddUniformVariableDeclarations()
|
pure virtual |
Add a set of predefined uniform variable declarations.
- Parameters
-
declarations An array of declarations. numberOfDeclarations The actual number of declarations to add.
- Returns
- true if successful.
◆ AddAttributeVariableDeclarations()
|
pure virtual |
Add a set of predefined attribute variable declarations.
- Parameters
-
declarations An array of declarations. numberOfDeclarations The actual number of declarations to add.
- Returns
- true if successful.
◆ RemoveUniformVariableDeclarations()
|
pure virtual |
Remove a set of previously added predefined uniform variable declarations.
- Parameters
-
declarations An array of declarations. numberOfDeclarations The actual number of declarations to add.
- Returns
- true if successful.
◆ RemoveAttributeVariableDeclarations()
|
pure virtual |
Remove a set of previously added predefined attribute variable declarations.
- Parameters
-
declarations An array of declarations. numberOfDeclarations The 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