You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Added SSIL post processing effect
This commit is contained in:
@@ -426,6 +426,64 @@ void Environment::_update_ssao() {
|
||||
ssao_ao_channel_affect);
|
||||
}
|
||||
|
||||
// SSIL
|
||||
|
||||
void Environment::set_ssil_enabled(bool p_enabled) {
|
||||
ssil_enabled = p_enabled;
|
||||
_update_ssil();
|
||||
notify_property_list_changed();
|
||||
}
|
||||
|
||||
bool Environment::is_ssil_enabled() const {
|
||||
return ssil_enabled;
|
||||
}
|
||||
|
||||
void Environment::set_ssil_radius(float p_radius) {
|
||||
ssil_radius = p_radius;
|
||||
_update_ssil();
|
||||
}
|
||||
|
||||
float Environment::get_ssil_radius() const {
|
||||
return ssil_radius;
|
||||
}
|
||||
|
||||
void Environment::set_ssil_intensity(float p_intensity) {
|
||||
ssil_intensity = p_intensity;
|
||||
_update_ssil();
|
||||
}
|
||||
|
||||
float Environment::get_ssil_intensity() const {
|
||||
return ssil_intensity;
|
||||
}
|
||||
|
||||
void Environment::set_ssil_sharpness(float p_sharpness) {
|
||||
ssil_sharpness = p_sharpness;
|
||||
_update_ssil();
|
||||
}
|
||||
|
||||
float Environment::get_ssil_sharpness() const {
|
||||
return ssil_sharpness;
|
||||
}
|
||||
|
||||
void Environment::set_ssil_normal_rejection(float p_normal_rejection) {
|
||||
ssil_normal_rejection = p_normal_rejection;
|
||||
_update_ssil();
|
||||
}
|
||||
|
||||
float Environment::get_ssil_normal_rejection() const {
|
||||
return ssil_normal_rejection;
|
||||
}
|
||||
|
||||
void Environment::_update_ssil() {
|
||||
RS::get_singleton()->environment_set_ssil(
|
||||
environment,
|
||||
ssil_enabled,
|
||||
ssil_radius,
|
||||
ssil_intensity,
|
||||
ssil_sharpness,
|
||||
ssil_normal_rejection);
|
||||
}
|
||||
|
||||
// SDFGI
|
||||
|
||||
void Environment::set_sdfgi_enabled(bool p_enabled) {
|
||||
@@ -1164,7 +1222,6 @@ void Environment::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ss_reflections_depth_tolerance", PROPERTY_HINT_RANGE, "0.01,128,0.1"), "set_ssr_depth_tolerance", "get_ssr_depth_tolerance");
|
||||
|
||||
// SSAO
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_ssao_enabled", "enabled"), &Environment::set_ssao_enabled);
|
||||
ClassDB::bind_method(D_METHOD("is_ssao_enabled"), &Environment::is_ssao_enabled);
|
||||
ClassDB::bind_method(D_METHOD("set_ssao_radius", "radius"), &Environment::set_ssao_radius);
|
||||
@@ -1195,6 +1252,25 @@ void Environment::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssao_light_affect", PROPERTY_HINT_RANGE, "0.00,1,0.01"), "set_ssao_direct_light_affect", "get_ssao_direct_light_affect");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssao_ao_channel_affect", PROPERTY_HINT_RANGE, "0.00,1,0.01"), "set_ssao_ao_channel_affect", "get_ssao_ao_channel_affect");
|
||||
|
||||
// SSIL
|
||||
ClassDB::bind_method(D_METHOD("set_ssil_enabled", "enabled"), &Environment::set_ssil_enabled);
|
||||
ClassDB::bind_method(D_METHOD("is_ssil_enabled"), &Environment::is_ssil_enabled);
|
||||
ClassDB::bind_method(D_METHOD("set_ssil_radius", "radius"), &Environment::set_ssil_radius);
|
||||
ClassDB::bind_method(D_METHOD("get_ssil_radius"), &Environment::get_ssil_radius);
|
||||
ClassDB::bind_method(D_METHOD("set_ssil_intensity", "intensity"), &Environment::set_ssil_intensity);
|
||||
ClassDB::bind_method(D_METHOD("get_ssil_intensity"), &Environment::get_ssil_intensity);
|
||||
ClassDB::bind_method(D_METHOD("set_ssil_sharpness", "sharpness"), &Environment::set_ssil_sharpness);
|
||||
ClassDB::bind_method(D_METHOD("get_ssil_sharpness"), &Environment::get_ssil_sharpness);
|
||||
ClassDB::bind_method(D_METHOD("set_ssil_normal_rejection", "normal_rejection"), &Environment::set_ssil_normal_rejection);
|
||||
ClassDB::bind_method(D_METHOD("get_ssil_normal_rejection"), &Environment::get_ssil_normal_rejection);
|
||||
|
||||
ADD_GROUP("SSIL", "ssil_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ssil_enabled"), "set_ssil_enabled", "is_ssil_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_radius", PROPERTY_HINT_RANGE, "0.01,16,0.01,or_greater"), "set_ssil_radius", "get_ssil_radius");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_intensity", PROPERTY_HINT_RANGE, "0,16,0.01,or_greater"), "set_ssil_intensity", "get_ssil_intensity");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_sharpness", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_ssil_sharpness", "get_ssil_sharpness");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "ssil_normal_rejection", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_ssil_normal_rejection", "get_ssil_normal_rejection");
|
||||
|
||||
// SDFGI
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_sdfgi_enabled", "enabled"), &Environment::set_sdfgi_enabled);
|
||||
@@ -1431,6 +1507,7 @@ Environment::Environment() {
|
||||
_update_tonemap();
|
||||
_update_ssr();
|
||||
_update_ssao();
|
||||
_update_ssil();
|
||||
_update_sdfgi();
|
||||
_update_glow();
|
||||
_update_fog();
|
||||
|
||||
Reference in New Issue
Block a user