Implement MSAA for 2D [Vulkan only]
This commit is contained in:
parent
f2a6168414
commit
e96b1a2c0c
26 changed files with 250 additions and 77 deletions
|
|
@ -2876,17 +2876,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) {
|
||||
|
|
@ -3678,8 +3691,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);
|
||||
|
|
@ -3819,7 +3835,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");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue