diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-07 21:30:16 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2016-05-22 18:29:25 +0300 |
commit | e7d13b8a1da046d7bb78a3c0e21bbb575ed6074e (patch) | |
tree | 5af00d1e1e72fb15212decc2448152696ea519b7 /intern/cycles/render/background.cpp | |
parent | 0062d9f58c74e6dd021a3517e0dcba41c414ac97 (diff) |
Code refactor: nodify Cycles background and film.
Differential Revision: https://developer.blender.org/D2016
Diffstat (limited to 'intern/cycles/render/background.cpp')
-rw-r--r-- | intern/cycles/render/background.cpp | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp index 89f90bc8dad..28ca04fe615 100644 --- a/intern/cycles/render/background.cpp +++ b/intern/cycles/render/background.cpp @@ -28,18 +28,25 @@ CCL_NAMESPACE_BEGIN -Background::Background() +NODE_DEFINE(Background) { - ao_factor = 0.0f; - ao_distance = FLT_MAX; + NodeType* type = NodeType::add("background", create); - use_shader = true; - use_ao = false; + SOCKET_INT(ao_factor, "AO Factor", 0.0f); + SOCKET_FLOAT(ao_distance, "AO Distance", FLT_MAX); - visibility = PATH_RAY_ALL_VISIBILITY; - shader = NULL; + SOCKET_BOOLEAN(use_shader, "Use Shader", true); + SOCKET_BOOLEAN(use_ao, "Use AO", false); + SOCKET_INT(visibility, "Visibility", PATH_RAY_ALL_VISIBILITY); + SOCKET_BOOLEAN(transparent, "Transparent", false); - transparent = false; + return type; +} + +Background::Background() +: Node(node_type) +{ + shader = NULL; need_update = true; } @@ -108,16 +115,6 @@ void Background::device_free(Device * /*device*/, DeviceScene * /*dscene*/) { } -bool Background::modified(const Background& background) -{ - return !(transparent == background.transparent && - use_shader == background.use_shader && - use_ao == background.use_ao && - ao_factor == background.ao_factor && - ao_distance == background.ao_distance && - visibility == background.visibility); -} - void Background::tag_update(Scene *scene) { scene->integrator->tag_update(scene); |