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@pandora.be>2012-02-28 20:44:45 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-28 20:44:45 +0400
commit0052cbed0dadafce44f818d3d2016254c3d914d0 (patch)
treefb0062bb4157358be480b9f5fd63391ab7574936 /intern/cycles/render/shader.cpp
parentaecff24add56e6724744928efe5ad7f1947416b7 (diff)
Cycles: support for mask layers in render layer, this has the same effect as
assigning holdout shaders to every object in the specified layers. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes#Layers
Diffstat (limited to 'intern/cycles/render/shader.cpp')
-rw-r--r--intern/cycles/render/shader.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp
index 12968a79ab2..2afa1dd5037 100644
--- a/intern/cycles/render/shader.cpp
+++ b/intern/cycles/render/shader.cpp
@@ -256,6 +256,22 @@ void ShaderManager::add_default(Scene *scene)
scene->shaders.push_back(shader);
scene->default_background = scene->shaders.size() - 1;
}
+
+ /* default holdout */
+ {
+ graph = new ShaderGraph();
+
+ closure = graph->add(new HoldoutNode());
+ out = graph->output();
+
+ graph->connect(closure->output("Holdout"), out->input("Surface"));
+
+ shader = new Shader();
+ shader->name = "default_holdout";
+ shader->graph = graph;
+ scene->shaders.push_back(shader);
+ scene->default_holdout = scene->shaders.size() - 1;
+ }
}
CCL_NAMESPACE_END