|
@@ -336,6 +336,17 @@ String Light2D::get_configuration_warning() const {
|
|
|
return String();
|
|
|
}
|
|
|
|
|
|
+void Light2D::set_shadow_smooth(float p_amount) {
|
|
|
+
|
|
|
+ shadow_smooth = p_amount;
|
|
|
+ VS::get_singleton()->canvas_light_set_shadow_smooth(canvas_light, shadow_smooth);
|
|
|
+}
|
|
|
+
|
|
|
+float Light2D::get_shadow_smooth() const {
|
|
|
+
|
|
|
+ return shadow_smooth;
|
|
|
+}
|
|
|
+
|
|
|
void Light2D::_bind_methods() {
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("set_enabled", "enabled"), &Light2D::set_enabled);
|
|
@@ -389,6 +400,9 @@ void Light2D::_bind_methods() {
|
|
|
ClassDB::bind_method(D_METHOD("set_shadow_buffer_size", "size"), &Light2D::set_shadow_buffer_size);
|
|
|
ClassDB::bind_method(D_METHOD("get_shadow_buffer_size"), &Light2D::get_shadow_buffer_size);
|
|
|
|
|
|
+ ClassDB::bind_method(D_METHOD("set_shadow_smooth", "smooth"), &Light2D::set_shadow_smooth);
|
|
|
+ ClassDB::bind_method(D_METHOD("get_shadow_smooth"), &Light2D::get_shadow_smooth);
|
|
|
+
|
|
|
ClassDB::bind_method(D_METHOD("set_shadow_gradient_length", "multiplier"), &Light2D::set_shadow_gradient_length);
|
|
|
ClassDB::bind_method(D_METHOD("get_shadow_gradient_length"), &Light2D::get_shadow_gradient_length);
|
|
|
|
|
@@ -420,6 +434,7 @@ void Light2D::_bind_methods() {
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "shadow_buffer_size", PROPERTY_HINT_RANGE, "32,16384,1"), "set_shadow_buffer_size", "get_shadow_buffer_size");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "shadow_gradient_length", PROPERTY_HINT_RANGE, "1,4096,0.1"), "set_shadow_gradient_length", "get_shadow_gradient_length");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::REAL, "shadow_filter", PROPERTY_HINT_ENUM, "None,PCF3,PCF5,PCF9,PCF13"), "set_shadow_filter", "get_shadow_filter");
|
|
|
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "shadow_filter_smooth", PROPERTY_HINT_RANGE, "0,64,0.1"), "set_shadow_smooth", "get_shadow_smooth");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "shadow_item_cull_mask", PROPERTY_HINT_LAYERS_2D_RENDER), "set_item_shadow_cull_mask", "get_item_shadow_cull_mask");
|
|
|
|
|
|
BIND_CONSTANT(MODE_ADD);
|
|
@@ -449,6 +464,7 @@ Light2D::Light2D() {
|
|
|
energy = 1.0;
|
|
|
shadow_color = Color(0, 0, 0, 0);
|
|
|
shadow_filter = SHADOW_FILTER_NONE;
|
|
|
+ shadow_smooth = 0;
|
|
|
|
|
|
set_notify_transform(true);
|
|
|
}
|