Murl::Graph::IShaderProgram Interface Referenceabstract

The IShaderProgram graph node interface. More...

#include "murl_graph_i_shader_program.h"

Inheritance diagram for Murl::Graph::IShaderProgram:

Public Member Functions

virtual IShaderNodeTargetGetVertexShaderNodeTarget ()=0
 Get the mutable Graph::IShaderNodeTarget vertex shader container. More...
 
virtual const IShaderNodeTargetGetVertexShaderNodeTarget () const =0
 Get the constant Graph::IShaderNodeTarget vertex shader container. More...
 
virtual IShaderNodeTargetGetFragmentShaderNodeTarget ()=0
 Get the mutable Graph::IShaderNodeTarget fragment shader container. More...
 
virtual const IShaderNodeTargetGetFragmentShaderNodeTarget () const =0
 Get the constant Graph::IShaderNodeTarget fragment shader container. More...
 
- Public Member Functions inherited from Murl::Graph::IProgram
virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual IProgramNodeTargetGetFallbackProgramNodeTarget ()=0
 Get the mutable Graph::IShaderProgram container storing an optional fallback program. More...
 
virtual const IProgramNodeTargetGetFallbackProgramNodeTarget () 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::IProgramGetVideoProgramObject (UInt32 stage) const =0
 Get the program's internal video renderer object. More...
 
virtual Bool IsValid (Bool checkFallbacks) const =0
 Check if the program is valid. More...
 
virtual const StringGetLinkerLog () const =0
 Get the shader linker log. More...
 

Detailed Description

The IShaderProgram graph node interface.

An IShaderProgram node provides a means to link a pair of vertex and fragment shaders together, each of which must be defined via a Graph::IShader node.

See Graph::IMaterial for attaching a shader program to a given material. See Graph::IGenericParameters for defining actual user-defined program parameters.

Member Function Documentation

◆ GetVertexShaderNodeTarget() [1/2]

virtual IShaderNodeTarget* Murl::Graph::IShaderProgram::GetVertexShaderNodeTarget ( )
pure virtual

Get the mutable Graph::IShaderNodeTarget vertex shader container.

This method returns a mutable pointer to the node's Graph::IShaderNodeTarget container for the program's vertex shader, which allows to set or query the vertex shader this program refers to.

Returns
The mutable Graph::IShaderNodeTarget vertex shader container.

◆ GetVertexShaderNodeTarget() [2/2]

virtual const IShaderNodeTarget* Murl::Graph::IShaderProgram::GetVertexShaderNodeTarget ( ) const
pure virtual

Get the constant Graph::IShaderNodeTarget vertex shader container.

This method returns a constant pointer to the node's Graph::IShaderNodeTarget container for the program's vertex shader, which allows to query the vertex shader this program refers to.

Returns
The constant Graph::IShaderNodeTarget vertex shader container.

◆ GetFragmentShaderNodeTarget() [1/2]

virtual IShaderNodeTarget* Murl::Graph::IShaderProgram::GetFragmentShaderNodeTarget ( )
pure virtual

Get the mutable Graph::IShaderNodeTarget fragment shader container.

This method returns a mutable pointer to the node's Graph::IShaderNodeTarget container for the program's fragment shader, which allows to set or query the fragment shader this program refers to.

Returns
The mutable Graph::IShaderNodeTarget fragment shader container.

◆ GetFragmentShaderNodeTarget() [2/2]

virtual const IShaderNodeTarget* Murl::Graph::IShaderProgram::GetFragmentShaderNodeTarget ( ) const
pure virtual

Get the constant Graph::IShaderNodeTarget fragment shader container.

This method returns a constant pointer to the node's Graph::IShaderNodeTarget container for the program's fragment shader, which allows to query the fragment shader this program refers to.

Returns
The constant Graph::IShaderNodeTarget fragment shader container.

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


Copyright © 2011-2018 Spraylight GmbH.