From 4a60679f31e7e97f15c5f7dcf2c91bd4dab1b727 Mon Sep 17 00:00:00 2001 From: Dominique LaSalle Date: Wed, 26 Sep 2018 16:44:43 -0700 Subject: [PATCH] Hide shading options in SpatialMaterial when 'FLAG_UNSHADED' is set --- scene/resources/material.cpp | 44 +++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index cc8685b952e..56ad9c4b458 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -1313,7 +1313,7 @@ void SpatialMaterial::set_flag(Flags p_flag, bool p_enabled) { return; flags[p_flag] = p_enabled; - if (p_flag == FLAG_USE_ALPHA_SCISSOR) { + if (p_flag == FLAG_USE_ALPHA_SCISSOR || p_flag == FLAG_UNSHADED) { _change_notify(); } _queue_shader_change(); @@ -1407,6 +1407,48 @@ void SpatialMaterial::_validate_property(PropertyInfo &property) const { if ((property.name == "depth_min_layers" || property.name == "depth_max_layers") && !deep_parallax) { property.usage = 0; } + + if (flags[FLAG_UNSHADED]) { + if (property.name.begins_with("anisotropy")) { + property.usage = 0; + } + + if (property.name.begins_with("ao")) { + property.usage = 0; + } + + if (property.name.begins_with("clearcoat")) { + property.usage = 0; + } + + if (property.name.begins_with("emission")) { + property.usage = 0; + } + + if (property.name.begins_with("metallic")) { + property.usage = 0; + } + + if (property.name.begins_with("normal")) { + property.usage = 0; + } + + if (property.name.begins_with("rim")) { + property.usage = 0; + } + + if (property.name.begins_with("roughness")) { + property.usage = 0; + } + + if (property.name.begins_with("subsurf_scatter")) { + property.usage = 0; + } + + if (property.name.begins_with("transmission")) { + property.usage = 0; + } + } } void SpatialMaterial::set_line_width(float p_line_width) {