Murl Engine Lua Addon API  Version 1.0 beta
Murl.Graph.IProgram

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.


Table members

Methods


GetNodeInterface()

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.

Murl.Graph.INode GetNodeInterface()

Returns
Murl.Graph.INode The constant Graph::INode interface, or null if not available

GetFallbackProgramNodeTarget()

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.

Murl.Graph.IGenericNodeTarget.GraphIProgram GetFallbackProgramNodeTarget()

Returns
Murl.Graph.IGenericNodeTarget.GraphIProgram The constant Graph::IProgram fallback container, or null if not available.

GetNumberOfStages()

Get the program's number of stages.

Integer GetNumberOfStages()

Returns
Integer The number of stages.

IsValid(checkFallback)

Check if the program is valid. If linking of the program object fails, this method returns false.

Boolean IsValid(Boolean checkFallback)

Parameters
checkFallbackIf false, only the current program is considered. Otherwise, the method returns true if any of its fallback programs is valid.
Returns
Boolean true if program linking succeeded during initialization.

GetLinkerLog()

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.

String GetLinkerLog()

Returns
String The linker log message.