-Fixed occluder rendering, closes #8560
-Ability to smooth out 2D shadow filters
This commit is contained in:
parent
95c248e24f
commit
a8a1f2e2a8
12 changed files with 49 additions and 11 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue