Cycles: make displacement a supported feature.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Thu, 25 Jan 2018 14:38:46 +0000 (15:38 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Sat, 3 Feb 2018 11:20:58 +0000 (12:20 +0100)
Adaptive subdivision remains experimental, still needs more work.

intern/cycles/blender/addon/ui.py
intern/cycles/blender/blender_shader.cpp
intern/cycles/render/shader.cpp

index 66a37687963cb5c0017ee1678a5a1ec13cea546d..07fd491dc04550fceb4ee3d0fdc50d7e149eefdd 100644 (file)
@@ -1315,13 +1315,9 @@ class CYCLES_MATERIAL_PT_settings(CyclesButtonsPanel, Panel):
         col.prop(cmat, "sample_as_light", text="Multiple Importance")
         col.prop(cmat, "use_transparent_shadow")
 
-        if context.scene.cycles.feature_set == 'EXPERIMENTAL':
-            col.separator()
-            col.label(text="Geometry:")
-            col.prop(cmat, "displacement_method", text="")
-        else:
-            col.separator()
-            col.prop(mat, "pass_index")
+        col.separator()
+        col.label(text="Geometry:")
+        col.prop(cmat, "displacement_method", text="")
 
         col = split.column()
         col.label(text="Volume:")
@@ -1331,9 +1327,8 @@ class CYCLES_MATERIAL_PT_settings(CyclesButtonsPanel, Panel):
         col.prop(cmat, "volume_interpolation", text="")
         col.prop(cmat, "homogeneous_volume", text="Homogeneous")
 
-        if context.scene.cycles.feature_set == 'EXPERIMENTAL':
-            col.separator()
-            col.prop(mat, "pass_index")
+        col.separator()
+        col.prop(mat, "pass_index")
 
 
 class CYCLES_MATERIAL_PT_viewport(CyclesButtonsPanel, Panel):
index e3d7e75556661ef02534e3ea9b7c1a699cc0e0ad..ac1eba85dbb737fe6231696cf53333178af96f0f 100644 (file)
@@ -1234,7 +1234,7 @@ void BlenderSync::sync_materials(bool update_all)
                        shader->heterogeneous_volume = !get_boolean(cmat, "homogeneous_volume");
                        shader->volume_sampling_method = get_volume_sampling(cmat);
                        shader->volume_interpolation_method = get_volume_interpolation(cmat);
-                       shader->displacement_method = (experimental) ? get_displacement_method(cmat) : DISPLACE_BUMP;
+                       shader->displacement_method = get_displacement_method(cmat);
 
                        shader->set_graph(graph);
 
index 51b7f76b9d556b4c41c6e9644283dade5ab1e1e8..a1ebb26eba3b75aee61bd3b778fd7c03cf64757e 100644 (file)
@@ -625,7 +625,7 @@ void ShaderManager::get_requested_features(Scene *scene,
                ShaderNode *output_node = shader->graph->output();
                if(output_node->input("Displacement")->link != NULL) {
                        requested_features->nodes_features |= NODE_FEATURE_BUMP;
-                       if(shader->displacement_method == DISPLACE_BOTH && requested_features->experimental) {
+                       if(shader->displacement_method == DISPLACE_BOTH) {
                                requested_features->nodes_features |= NODE_FEATURE_BUMP_STATE;
                        }
                }