MaterialRefΒΆ

class MaterialRef

A MaterialRef is a Material which is loaded from a file, as a reference

MaterialRef provides a convenient way of using file based shaders, so whenever you update the shader file, any reference to the shader file is automatically updated. Since a MaterialRef is also a reference, it's content can be overloaded.
Create a MaterialRef using the Material.createReference function.

Hierarchy

class MaterialRef < class Material < class ReferenceBase < class Shader < class HostNode < class Node < class SelectableNode

Members


Inherited from class Material

Methods:

ref MaterialRef createref ( Node parent , string name , string filename ) Create a MaterialRef to a gmaterial file
table result getprimitives ( ) Get the list of primitives or subprimitives connected to this material.


Inherited from class ReferenceBase

Plugs:

string ReferenceFileName R The path of the referenced file
string ReferenceActualFileName R The actual path of the referenced file, in case the reference path had to be resolved
string ReferencePathOverride R The path override, so it possible to load another file instead of the original file
boolean LoadHostReferences WR If true, load the sub host references (references with no prefixes).
boolean Loaded R Tells if the reference is loaded or not. Must not be modified direclty.

Methods:

#bool result unload ( ) For internal use only.
#bool result reload ( string filename , [ table|nil options ] ) Reload the reference from disk. Using the filename argument, the method will switch the reference for another one. The edits (modifications done on the reference) are re-applied after the reload.


Inherited from class Shader

Methods:

ShaderNode result addnode ( string filename ) add a node into a shader by its filename
table definition getinputsdef ( ) Get the definition of the shader inputs
{GraphInput} inputs getinputs ( ) List the node's inputs
it iterator inputs ( ) An iterator on node's inputs
{GraphOutput} outputs getoutputs ( ) List the node's outputs
it iterator inputs ( ) An iterator on node's outputs
ShaderNode result getoutput ( string outputclass ) Get the first shader output node of the given type in the shader. If no outputclass is given, looks for "ShaderNodeOutputLight" in a light shader, "ShaderNodeOutputCompo" in a compositing, or "ShaderNodeSurface" otherwise.


Inherited from class HostNode

Plugs:

types.string HostPath RW The data archive to read HostPlugs value when baked

Methods:

nil deleteinheritedattr ( string plugname ) Delete an inherited attribute plug from the node
nil overrideinheritedattr ( string plugname , any value ) Override the attribute
nil setinheritedattr ( string plugname , [bool|nil] inherited , [ any value ] ) Set the inheritance status of the attribute


Inherited from class Node

Plugs:

string Name RW The node name

Methods:

nil onpathchanged ( ) Called by the framework when the name of this node or of one of its parent is modified
any value eval ( Plug plug ) Called by the framework when plug (a node's plug) must be evaluated
boolean state isselected ( ) Tell if the node is selected
Node parent getparent ( ) Get the parent Node of this Node
boolean result isparent ( Node child ) Tells if this node is parent of the potential child
Node parent findparent ( string name ) Find the first parent Node of this Node of a specific class
string path getpath ( ) Returns the node path as a string that can be reused with findchild
Node|Plug child findchild ( string path ) Find a child node or plug using a path
nil move ( Node parent ) Move a node to a new parent
nil delete ( ) Delete a node
nil rename ( string name ) Rename a node
[string|number] name getname ( ) Get the Node name in its parent
Node result getchild ( string name ) Get a child node by its name
boolean result isreference ( ) Tells if a node comes from a reference project
Reference reference getreference ( ) Returns the reference node it is connected to
Reference reference gettopreference ( ) Returns the top reference node it is connected to
bool result belongstoreference ( Reference ref ) Tells if the node belongs to the reference, or a sub reference
{Node} result loadfile ( string filename , [ table options ] ) load a file content in this node. Possible options are: overrideclass to enforce a specific class for the root node.
ReferenceBase refnode referencefile ( string name , string refpath , [ table options ] ) reference a file content in this node.
Node result loadtemplate ( string template , string name ) load a template file
bool,string success,error savefile ( string filename ) load a node to a file
string result getstringcopy ( ) Return a copy of the node and its content as a string to be pasted
nil setflags ( ) Set the node flags
bool result ismoveable ( ) Tells if the node can be moved
{Node},string result,error pastestringcopy ( string copy , [ {} options ] ) Paste a string copy into this node
of table getreferences ( [ topref Reference ] ) Returns the references in the document sorted depth first.
boolean editable iseditable ( ) Indicates if the node can be edited by the user in the UI
nil seteditable ( boolean editable ) Change the editable state of the node
boolean indocument isindocument ( ) Tells if the node is inside a document, or is pending in the void


Inherited from class SelectableNode

Plugs:

boolean Selected R True if the node is selected. Don't use this plug directly to select a node, use the Document's modifier select method.

Documentation