Merge pull request #63003 from Geometror/msaa-2d
This commit is contained in:
commit
02d510bd07
26 changed files with 250 additions and 77 deletions
|
|
@ -1418,9 +1418,13 @@ SceneTree::SceneTree() {
|
|||
root->set_as_audio_listener_2d(true);
|
||||
current_scene = nullptr;
|
||||
|
||||
const int msaa_mode = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/msaa", 0);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/msaa", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/msaa", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")));
|
||||
root->set_msaa(Viewport::MSAA(msaa_mode));
|
||||
const int msaa_mode_2d = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/msaa_2d", 0);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/msaa_2d", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/msaa_2d", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")));
|
||||
root->set_msaa_2d(Viewport::MSAA(msaa_mode_2d));
|
||||
|
||||
const int msaa_mode_3d = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/msaa_3d", 0);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/msaa_3d", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/msaa_3d", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")));
|
||||
root->set_msaa_3d(Viewport::MSAA(msaa_mode_3d));
|
||||
|
||||
const int ssaa_mode = GLOBAL_DEF_BASIC("rendering/anti_aliasing/quality/screen_space_aa", 0);
|
||||
ProjectSettings::get_singleton()->set_custom_property_info("rendering/anti_aliasing/quality/screen_space_aa", PropertyInfo(Variant::INT, "rendering/anti_aliasing/quality/screen_space_aa", PROPERTY_HINT_ENUM, "Disabled (Fastest),FXAA (Fast)"));
|
||||
|
|
|
|||
|
|
@ -2873,17 +2873,30 @@ Control *Viewport::gui_get_focus_owner() {
|
|||
return gui.key_focus;
|
||||
}
|
||||
|
||||
void Viewport::set_msaa(MSAA p_msaa) {
|
||||
void Viewport::set_msaa_2d(MSAA p_msaa) {
|
||||
ERR_FAIL_INDEX(p_msaa, MSAA_MAX);
|
||||
if (msaa == p_msaa) {
|
||||
if (msaa_2d == p_msaa) {
|
||||
return;
|
||||
}
|
||||
msaa = p_msaa;
|
||||
RS::get_singleton()->viewport_set_msaa(viewport, RS::ViewportMSAA(p_msaa));
|
||||
msaa_2d = p_msaa;
|
||||
RS::get_singleton()->viewport_set_msaa_2d(viewport, RS::ViewportMSAA(p_msaa));
|
||||
}
|
||||
|
||||
Viewport::MSAA Viewport::get_msaa() const {
|
||||
return msaa;
|
||||
Viewport::MSAA Viewport::get_msaa_2d() const {
|
||||
return msaa_2d;
|
||||
}
|
||||
|
||||
void Viewport::set_msaa_3d(MSAA p_msaa) {
|
||||
ERR_FAIL_INDEX(p_msaa, MSAA_MAX);
|
||||
if (msaa_3d == p_msaa) {
|
||||
return;
|
||||
}
|
||||
msaa_3d = p_msaa;
|
||||
RS::get_singleton()->viewport_set_msaa_3d(viewport, RS::ViewportMSAA(p_msaa));
|
||||
}
|
||||
|
||||
Viewport::MSAA Viewport::get_msaa_3d() const {
|
||||
return msaa_3d;
|
||||
}
|
||||
|
||||
void Viewport::set_screen_space_aa(ScreenSpaceAA p_screen_space_aa) {
|
||||
|
|
@ -3675,8 +3688,11 @@ void Viewport::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_transparent_background", "enable"), &Viewport::set_transparent_background);
|
||||
ClassDB::bind_method(D_METHOD("has_transparent_background"), &Viewport::has_transparent_background);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_msaa", "msaa"), &Viewport::set_msaa);
|
||||
ClassDB::bind_method(D_METHOD("get_msaa"), &Viewport::get_msaa);
|
||||
ClassDB::bind_method(D_METHOD("set_msaa_2d", "msaa"), &Viewport::set_msaa_2d);
|
||||
ClassDB::bind_method(D_METHOD("get_msaa_2d"), &Viewport::get_msaa_2d);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_msaa_3d", "msaa"), &Viewport::set_msaa_3d);
|
||||
ClassDB::bind_method(D_METHOD("get_msaa_3d"), &Viewport::get_msaa_3d);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_screen_space_aa", "screen_space_aa"), &Viewport::set_screen_space_aa);
|
||||
ClassDB::bind_method(D_METHOD("get_screen_space_aa"), &Viewport::get_screen_space_aa);
|
||||
|
|
@ -3816,7 +3832,8 @@ void Viewport::_bind_methods() {
|
|||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "snap_2d_transforms_to_pixel"), "set_snap_2d_transforms_to_pixel", "is_snap_2d_transforms_to_pixel_enabled");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "snap_2d_vertices_to_pixel"), "set_snap_2d_vertices_to_pixel", "is_snap_2d_vertices_to_pixel_enabled");
|
||||
ADD_GROUP("Rendering", "");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "msaa", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")), "set_msaa", "get_msaa");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "msaa_2d", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")), "set_msaa_2d", "get_msaa_2d");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "msaa_3d", PROPERTY_HINT_ENUM, String::utf8("Disabled (Fastest),2× (Average),4× (Slow),8× (Slowest)")), "set_msaa_3d", "get_msaa_3d");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "screen_space_aa", PROPERTY_HINT_ENUM, "Disabled (Fastest),FXAA (Fast)"), "set_screen_space_aa", "get_screen_space_aa");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_taa"), "set_use_taa", "is_using_taa");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "use_debanding"), "set_use_debanding", "is_using_debanding");
|
||||
|
|
|
|||
|
|
@ -297,7 +297,8 @@ private:
|
|||
bool positional_shadow_atlas_16_bits = true;
|
||||
PositionalShadowAtlasQuadrantSubdiv positional_shadow_atlas_quadrant_subdiv[4];
|
||||
|
||||
MSAA msaa = MSAA_DISABLED;
|
||||
MSAA msaa_2d = MSAA_DISABLED;
|
||||
MSAA msaa_3d = MSAA_DISABLED;
|
||||
ScreenSpaceAA screen_space_aa = SCREEN_SPACE_AA_DISABLED;
|
||||
bool use_taa = false;
|
||||
|
||||
|
|
@ -522,8 +523,11 @@ public:
|
|||
void set_positional_shadow_atlas_quadrant_subdiv(int p_quadrant, PositionalShadowAtlasQuadrantSubdiv p_subdiv);
|
||||
PositionalShadowAtlasQuadrantSubdiv get_positional_shadow_atlas_quadrant_subdiv(int p_quadrant) const;
|
||||
|
||||
void set_msaa(MSAA p_msaa);
|
||||
MSAA get_msaa() const;
|
||||
void set_msaa_2d(MSAA p_msaa);
|
||||
MSAA get_msaa_2d() const;
|
||||
|
||||
void set_msaa_3d(MSAA p_msaa);
|
||||
MSAA get_msaa_3d() const;
|
||||
|
||||
void set_screen_space_aa(ScreenSpaceAA p_screen_space_aa);
|
||||
ScreenSpaceAA get_screen_space_aa() const;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue