The IProgram graph node interface. More...

#include "murl_graph_i_program.h"

Inheritance diagram for Murl::Graph::IProgram:

Public Member Functions

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 checkFallback) const =0
 Check if the program is valid. More...
 
virtual const StringGetLinkerLog () 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]

virtual INode* Murl::Graph::IProgram::GetNodeInterface ( )
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]

virtual const INode* Murl::Graph::IProgram::GetNodeInterface ( ) const
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]

virtual IProgramNodeTarget* Murl::Graph::IProgram::GetFallbackProgramNodeTarget ( )
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]

virtual const IProgramNodeTarget* Murl::Graph::IProgram::GetFallbackProgramNodeTarget ( ) const
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()

virtual UInt32 Murl::Graph::IProgram::GetNumberOfStages ( ) const
pure virtual

Get the program's number of stages.

Returns
The number of stages.

◆ GetVideoProgramObject()

virtual Video::IProgram* Murl::Graph::IProgram::GetVideoProgramObject ( UInt32  stage) const
pure virtual

Get the program's internal video renderer object.

Parameters
stageThe stage to query.
Returns
The video renderer object.

◆ IsValid()

virtual Bool Murl::Graph::IProgram::IsValid ( Bool  checkFallback) const
pure virtual

Check if the program is valid.

If linking of the program object fails, this method returns false.

Parameters
checkFallbackIf 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()

virtual const String& Murl::Graph::IProgram::GetLinkerLog ( ) const
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


Copyright © 2011-2024 Spraylight GmbH.