diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-15 18:04:00 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-12-15 18:04:35 +0300 |
commit | baaf10cb264e530549dca7de2d77142092daa40d (patch) | |
tree | c19bf1956b0c23d295b83bf28d12c9b212707ad1 | |
parent | 669fdca6818b78dcf68352c375df4dd7b405e6b8 (diff) |
Cycles: De-duplicate utility functions in ccl::Graph
-rw-r--r-- | intern/cycles/render/graph.cpp | 31 | ||||
-rw-r--r-- | intern/cycles/render/graph.h | 3 | ||||
-rw-r--r-- | intern/cycles/render/nodes.cpp | 12 |
3 files changed, 10 insertions, 36 deletions
diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index def43876ada..e177cd54c9e 100644 --- a/intern/cycles/render/graph.cpp +++ b/intern/cycles/render/graph.cpp @@ -96,10 +96,11 @@ ShaderNode::~ShaderNode() ShaderInput *ShaderNode::input(const char *name) { - foreach(ShaderInput *socket, inputs) + foreach(ShaderInput *socket, inputs) { if(strcmp(socket->name, name) == 0) return socket; - + } + assert(!"Requested shader input does not exist"); return NULL; } @@ -108,7 +109,7 @@ ShaderOutput *ShaderNode::output(const char *name) foreach(ShaderOutput *socket, outputs) if(strcmp(socket->name, name) == 0) return socket; - + assert(!"Requested shader output does not exist"); return NULL; } @@ -145,30 +146,6 @@ ShaderOutput *ShaderNode::add_output(const char *name, ShaderSocketType type) return output; } -ShaderInput *ShaderNode::get_input(const char *name) -{ - foreach(ShaderInput *input, inputs) { - if(strcmp(input->name, name) == 0) - return input; - } - - /* Should never happen. */ - assert(!"No Shader Input!"); - return NULL; -} - -ShaderOutput *ShaderNode::get_output(const char *name) -{ - foreach(ShaderOutput *output, outputs) { - if(strcmp(output->name, name) == 0) - return output; - } - - /* Should never happen. */ - assert(!"No Shader Output!"); - return NULL; -} - void ShaderNode::attributes(Shader *shader, AttributeRequestSet *attributes) { foreach(ShaderInput *input, inputs) { diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h index 420648f6425..2f852d6b889 100644 --- a/intern/cycles/render/graph.h +++ b/intern/cycles/render/graph.h @@ -190,9 +190,6 @@ public: ShaderInput *add_input(const char *name, ShaderSocketType type, ShaderInput::DefaultValue value, int usage=ShaderInput::USE_ALL); ShaderOutput *add_output(const char *name, ShaderSocketType type); - ShaderInput *get_input(const char *name); - ShaderOutput *get_output(const char *name); - virtual ShaderNode *clone() const = 0; virtual void attributes(Shader *shader, AttributeRequestSet *attributes); virtual void compile(SVMCompiler& compiler) = 0; diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 22eb3f239e6..2771d35990e 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1891,7 +1891,7 @@ void GlossyBsdfNode::simplify_settings(Scene *scene) /* Fallback to Sharp closure for Roughness close to 0. * Note: Keep the epsilon in sync with kernel! */ - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); if(!roughness_input->link && roughness_input->value.x <= 1e-4f) { distribution = ustring("Sharp"); } @@ -1905,7 +1905,7 @@ void GlossyBsdfNode::simplify_settings(Scene *scene) bool GlossyBsdfNode::has_integrator_dependency() { - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); return !roughness_input->link && roughness_input->value.x <= 1e-4f; } @@ -1960,7 +1960,7 @@ void GlassBsdfNode::simplify_settings(Scene *scene) /* Fallback to Sharp closure for Roughness close to 0. * Note: Keep the epsilon in sync with kernel! */ - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); if(!roughness_input->link && roughness_input->value.x <= 1e-4f) { distribution = ustring("Sharp"); } @@ -1974,7 +1974,7 @@ void GlassBsdfNode::simplify_settings(Scene *scene) bool GlassBsdfNode::has_integrator_dependency() { - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); return !roughness_input->link && roughness_input->value.x <= 1e-4f; } @@ -2029,7 +2029,7 @@ void RefractionBsdfNode::simplify_settings(Scene *scene) /* Fallback to Sharp closure for Roughness close to 0. * Note: Keep the epsilon in sync with kernel! */ - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); if(!roughness_input->link && roughness_input->value.x <= 1e-4f) { distribution = ustring("Sharp"); } @@ -2043,7 +2043,7 @@ void RefractionBsdfNode::simplify_settings(Scene *scene) bool RefractionBsdfNode::has_integrator_dependency() { - ShaderInput *roughness_input = get_input("Roughness"); + ShaderInput *roughness_input = input("Roughness"); return !roughness_input->link && roughness_input->value.x <= 1e-4f; } |