From bb6f1d159acc0fa8f5df838e6d9bbff425781a9d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 25 Jan 2018 15:38:46 +0100 Subject: [PATCH] Cycles: make displacement a supported feature. Adaptive subdivision remains experimental, still needs more work. --- intern/cycles/blender/addon/ui.py | 15 +++++---------- intern/cycles/blender/blender_shader.cpp | 2 +- intern/cycles/render/shader.cpp | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 66a37687963..07fd491dc04 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -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): diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index e3d7e755566..ac1eba85dbb 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -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); diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index 51b7f76b9d5..a1ebb26eba3 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -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; } }