Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-04-04 15:20:46 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-04-05 16:49:50 +0400
commitcb0520f79a7a2babd4c4a4f0d075c0d289b2a2f0 (patch)
treea694b494499b0439576ad0a292bf6dea248163a6 /intern/cycles/render/osl.cpp
parent2a82b8ade50836e186a78d3b52362cb8c59f3a39 (diff)
Fix for auto detect homogeneous volume with OSL, forgot to include this file in last commit.
Diffstat (limited to 'intern/cycles/render/osl.cpp')
-rw-r--r--intern/cycles/render/osl.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index b64a9e7aed3..94866102f60 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -553,6 +553,10 @@ void OSLCompiler::add(ShaderNode *node, const char *name, bool isfilepath)
current_shader->has_bssrdf_bump = true; /* can't detect yet */
}
}
+ else if(current_type == SHADER_TYPE_VOLUME) {
+ if(node->has_spatial_varying())
+ current_shader->has_heterogeneous_volume = true;
+ }
}
void OSLCompiler::parameter(const char *name, float f)
@@ -719,6 +723,10 @@ void OSLCompiler::generate_nodes(const set<ShaderNode*>& nodes)
current_shader->has_bssrdf_bump = true;
}
}
+ else if(current_type == SHADER_TYPE_VOLUME) {
+ if(node->has_spatial_varying())
+ current_shader->has_heterogeneous_volume = true;
+ }
}
else
nodes_done = false;
@@ -799,6 +807,7 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader)
shader->has_bssrdf_bump = false;
shader->has_volume = false;
shader->has_displacement = false;
+ shader->has_heterogeneous_volume = false;
/* generate surface shader */
if(shader->used && graph && output->input("Surface")->link) {