Blender V2.61 - r43446
|
#include <graph.h>
Public Member Functions | |
ShaderNode (const char *name) | |
virtual | ~ShaderNode () |
ShaderInput * | input (const char *name) |
ShaderOutput * | output (const char *name) |
ShaderInput * | add_input (const char *name, ShaderSocketType type, float value=0.0f) |
ShaderInput * | add_input (const char *name, ShaderSocketType type, float3 value) |
ShaderInput * | add_input (const char *name, ShaderSocketType type, ShaderInput::DefaultValue value, bool osl_only=false) |
ShaderOutput * | add_output (const char *name, ShaderSocketType type) |
virtual ShaderNode * | clone () const =0 |
virtual void | attributes (AttributeRequestSet *attributes) |
virtual void | compile (SVMCompiler &compiler)=0 |
virtual void | compile (OSLCompiler &compiler)=0 |
Public Attributes | |
vector< ShaderInput * > | inputs |
vector< ShaderOutput * > | outputs |
ustring | name |
int | id |
ShaderBump | bump |
ShaderNode::ShaderNode | ( | const char * | name | ) |
Definition at line 53 of file graph.cpp.
References bump, name, and SHADER_BUMP_NONE.
ShaderNode::~ShaderNode | ( | ) | [virtual] |
ShaderInput * ShaderNode::add_input | ( | const char * | name, |
ShaderSocketType | type, | ||
float | value = 0.0f |
||
) |
Definition at line 87 of file graph.cpp.
References input(), inputs, ShaderInput::value, and float3::x.
Referenced by add_input(), ConvertNode::ConvertNode(), and ProxyNode::ProxyNode().
ShaderInput * ShaderNode::add_input | ( | const char * | name, |
ShaderSocketType | type, | ||
float3 | value | ||
) |
Definition at line 95 of file graph.cpp.
References input(), inputs, and ShaderInput::value.
ShaderInput * ShaderNode::add_input | ( | const char * | name, |
ShaderSocketType | type, | ||
ShaderInput::DefaultValue | value, | ||
bool | osl_only = false |
||
) |
Definition at line 103 of file graph.cpp.
References add_input(), ShaderInput::default_value, input(), and ShaderInput::osl_only.
ShaderOutput * ShaderNode::add_output | ( | const char * | name, |
ShaderSocketType | type | ||
) |
Definition at line 111 of file graph.cpp.
References output(), and outputs.
Referenced by ConvertNode::ConvertNode(), and ProxyNode::ProxyNode().
void ShaderNode::attributes | ( | AttributeRequestSet * | attributes | ) | [virtual] |
Reimplemented in TextureCoordinateNode, and AttributeNode.
Definition at line 118 of file graph.cpp.
References AttributeRequestSet::add(), ShaderInput::default_value, input(), inputs, ShaderInput::link, Attribute::STD_GENERATED, Attribute::STD_UV, ShaderInput::TEXTURE_GENERATED, and ShaderInput::TEXTURE_UV.
Referenced by Shader::tag_update().
virtual ShaderNode* ShaderNode::clone | ( | ) | const [pure virtual] |
Implemented in ImageTextureNode, and EnvironmentTextureNode.
Referenced by ShaderGraph::copy_nodes().
virtual void ShaderNode::compile | ( | OSLCompiler & | compiler | ) | [pure virtual] |
virtual void ShaderNode::compile | ( | SVMCompiler & | compiler | ) | [pure virtual] |
ShaderInput * ShaderNode::input | ( | const char * | name | ) |
Definition at line 69 of file graph.cpp.
References inputs, ShaderInput::name, and NULL.
Referenced by ShaderManager::add_default(), add_input(), attributes(), ShaderGraph::bump_from_displacement(), VolumeNode::compile(), BsdfNode::compile(), SVMCompiler::compile_type(), ShaderGraph::copy_nodes(), SVMCompiler::generate_closure(), and SVMCompiler::generate_multi_closure().
ShaderOutput * ShaderNode::output | ( | const char * | name | ) |
Definition at line 78 of file graph.cpp.
References ShaderOutput::name, NULL, and outputs.
Referenced by ShaderManager::add_default(), add_output(), AttributeNode::attributes(), TextureCoordinateNode::attributes(), ShaderGraph::bump_from_displacement(), ShaderGraph::copy_nodes(), and ShaderGraph::default_inputs().
Definition at line 169 of file graph.h.
Referenced by ShaderNode().
int ShaderNode::id |
Definition at line 168 of file graph.h.
Referenced by ShaderGraph::add(), ShaderGraph::break_cycles(), ShaderGraph::clean(), and ShaderGraph::remove_proxy_nodes().
vector<ShaderInput*> ShaderNode::inputs |
Definition at line 164 of file graph.h.
Referenced by add_input(), attributes(), ShaderGraph::break_cycles(), ShaderGraph::bump_from_displacement(), SVMCompiler::compile_type(), ShaderGraph::connect(), ShaderGraph::copy_nodes(), ShaderGraph::default_inputs(), SVMCompiler::find_dependencies(), ShaderGraph::find_dependencies(), SVMCompiler::generate_closure(), SVMCompiler::generate_multi_closure(), SVMCompiler::generate_svm_nodes(), input(), ShaderGraph::remove_proxy_nodes(), SVMCompiler::stack_backup(), SVMCompiler::stack_clear_temporary(), SVMCompiler::stack_clear_users(), SVMCompiler::stack_restore(), xml_read_shader_graph(), and ~ShaderNode().
ustring ShaderNode::name |
Definition at line 167 of file graph.h.
Referenced by SVMCompiler::generate_closure(), SVMCompiler::generate_multi_closure(), SVMCompiler::node_skip_input(), and ShaderNode().
vector<ShaderOutput*> ShaderNode::outputs |
Definition at line 165 of file graph.h.
Referenced by add_node(), add_output(), SVMCompiler::compile_type(), ShaderGraph::connect(), ShaderGraph::copy_nodes(), output(), ShaderGraph::remove_proxy_nodes(), SVMCompiler::stack_backup(), SVMCompiler::stack_restore(), xml_read_shader_graph(), and ~ShaderNode().