[Bf-blender-cvs] [36683475d14] master: Fix T68457: Cycles OpenCL Displacement Shading

Jeroen Bakker noreply at git.blender.org
Tue Sep 24 09:46:12 CEST 2019


Commit: 36683475d14ca5ff3190461ac378ea8b291330e4
Author: Jeroen Bakker
Date:   Fri Sep 20 10:55:46 2019 +0200
Branches: master
https://developer.blender.org/rB36683475d14ca5ff3190461ac378ea8b291330e4

Fix T68457: Cycles OpenCL Displacement Shading

When doing simple scenes the displacement shading failed during final
rendering when the displacement method is set to `Displacement + Bump`.

When this option is enabled the shader uses the Vector math
node. This node is part of the node group level 1. When doing simple
shading only using nodes that are part of the node group level
0 the shading was rendered black.

This only happened in final rendering as there the OpenCL programs are
optimized to save registries. Viewport rendering rendered correctly

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5859

===================================================================

M	intern/cycles/render/shader.cpp

===================================================================

diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp
index ec85e516832..e777b2e982b 100644
--- a/intern/cycles/render/shader.cpp
+++ b/intern/cycles/render/shader.cpp
@@ -703,6 +703,7 @@ void ShaderManager::get_requested_features(Scene *scene,
       requested_features->nodes_features |= NODE_FEATURE_BUMP;
       if (shader->displacement_method == DISPLACE_BOTH) {
         requested_features->nodes_features |= NODE_FEATURE_BUMP_STATE;
+        requested_features->max_nodes_group = max(requested_features->max_nodes_group,  NODE_GROUP_LEVEL_1);
       }
     }
     /* On top of volume nodes, also check if we need volume sampling because



More information about the Bf-blender-cvs mailing list