The IProgram graph node interface. More...
#include "murl_graph_i_program.h"
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual IProgramNodeTarget * | GetFallbackProgramNodeTarget ()=0 |
Get the mutable Graph::IShaderProgram container storing an optional fallback program. More... | |
virtual const IProgramNodeTarget * | GetFallbackProgramNodeTarget () const =0 |
Get the constant Graph::IProgram container storing an optional fallback program. More... | |
virtual UInt32 | GetNumberOfStages () const =0 |
Get the program's number of stages. More... | |
virtual Video::IProgram * | GetVideoProgramObject (UInt32 stage) const =0 |
Get the program's internal video renderer object. More... | |
virtual Bool | IsValid (Bool checkFallback) const =0 |
Check if the program is valid. More... | |
virtual const String & | GetLinkerLog () const =0 |
Get the shader linker log. More... | |
Detailed Description
The IProgram graph node interface.
This interface represents a generic GPU shader program used to render geometry.
See Graph::IMaterial for attaching a program to a given material. See Graph::IParameters for defining actual program parameters.
Member Function Documentation
◆ GetNodeInterface() [1/2]
|
pure virtual |
Get the mutable Graph::INode interface.
This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.
- Returns
- The mutable Graph::INode interface, or null if not available
◆ GetNodeInterface() [2/2]
|
pure virtual |
Get the constant Graph::INode interface.
This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.
- Returns
- The constant Graph::INode interface, or null if not available
◆ GetFallbackProgramNodeTarget() [1/2]
|
pure virtual |
Get the mutable Graph::IShaderProgram container storing an optional fallback program.
This method returns a mutable pointer to the node's Graph::IShaderProgram container that stores an optional reference to another shader program node that is used instead, if linking of the shader objects failed.
- Returns
- The mutable Graph::IShaderProgram fallback container, or null if not available.
◆ GetFallbackProgramNodeTarget() [2/2]
|
pure virtual |
Get the constant Graph::IProgram container storing an optional fallback program.
This method returns a constant pointer to the node's Graph::IProgram container that stores an optional reference to another shader program node that is used instead, if linking of the shader objects failed.
- Returns
- The constant Graph::IProgram fallback container, or null if not available.
◆ GetNumberOfStages()
|
pure virtual |
Get the program's number of stages.
- Returns
- The number of stages.
◆ GetVideoProgramObject()
|
pure virtual |
Get the program's internal video renderer object.
- Parameters
-
stage The stage to query.
- Returns
- The video renderer object.
◆ IsValid()
Check if the program is valid.
If linking of the program object fails, this method returns false.
- Parameters
-
checkFallback If false, only the current program is considered. Otherwise, the method returns true if any of its fallback programs is valid.
- Returns
- true if program linking succeeded during initialization.
◆ GetLinkerLog()
|
pure virtual |
Get the shader linker log.
If linking of the program object fails, this method returns the output provided by the OS/video API. Otherwise, an empty string is returned.
- Returns
- The linker log message.
The documentation for this interface was generated from the following file:
- murl_graph_i_program.h