|
@@ -2765,6 +2765,19 @@ Rect2 Viewport::get_attach_to_screen_rect() const {
|
|
return to_screen_rect;
|
|
return to_screen_rect;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void Viewport::set_use_render_direct_to_screen(bool p_render_direct_to_screen) {
|
|
|
|
+
|
|
|
|
+ if (p_render_direct_to_screen == render_direct_to_screen)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ render_direct_to_screen = p_render_direct_to_screen;
|
|
|
|
+ VS::get_singleton()->viewport_set_render_direct_to_screen(viewport, p_render_direct_to_screen);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool Viewport::is_using_render_direct_to_screen() const {
|
|
|
|
+ return render_direct_to_screen;
|
|
|
|
+}
|
|
|
|
+
|
|
void Viewport::set_physics_object_picking(bool p_enable) {
|
|
void Viewport::set_physics_object_picking(bool p_enable) {
|
|
|
|
|
|
physics_object_picking = p_enable;
|
|
physics_object_picking = p_enable;
|
|
@@ -3030,6 +3043,8 @@ void Viewport::_bind_methods() {
|
|
ClassDB::bind_method(D_METHOD("set_as_audio_listener_2d", "enable"), &Viewport::set_as_audio_listener_2d);
|
|
ClassDB::bind_method(D_METHOD("set_as_audio_listener_2d", "enable"), &Viewport::set_as_audio_listener_2d);
|
|
ClassDB::bind_method(D_METHOD("is_audio_listener_2d"), &Viewport::is_audio_listener_2d);
|
|
ClassDB::bind_method(D_METHOD("is_audio_listener_2d"), &Viewport::is_audio_listener_2d);
|
|
ClassDB::bind_method(D_METHOD("set_attach_to_screen_rect", "rect"), &Viewport::set_attach_to_screen_rect);
|
|
ClassDB::bind_method(D_METHOD("set_attach_to_screen_rect", "rect"), &Viewport::set_attach_to_screen_rect);
|
|
|
|
+ ClassDB::bind_method(D_METHOD("set_use_render_direct_to_screen", "enable"), &Viewport::set_use_render_direct_to_screen);
|
|
|
|
+ ClassDB::bind_method(D_METHOD("is_using_render_direct_to_screen"), &Viewport::is_using_render_direct_to_screen);
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_mouse_position"), &Viewport::get_mouse_position);
|
|
ClassDB::bind_method(D_METHOD("get_mouse_position"), &Viewport::get_mouse_position);
|
|
ClassDB::bind_method(D_METHOD("warp_mouse", "to_position"), &Viewport::warp_mouse);
|
|
ClassDB::bind_method(D_METHOD("warp_mouse", "to_position"), &Viewport::warp_mouse);
|
|
@@ -3084,6 +3099,7 @@ void Viewport::_bind_methods() {
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disable_3d"), "set_disable_3d", "is_3d_disabled");
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "disable_3d"), "set_disable_3d", "is_3d_disabled");
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "keep_3d_linear"), "set_keep_3d_linear", "get_keep_3d_linear");
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "keep_3d_linear"), "set_keep_3d_linear", "get_keep_3d_linear");
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "usage", PROPERTY_HINT_ENUM, "2D,2D No-Sampling,3D,3D No-Effects"), "set_usage", "get_usage");
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "usage", PROPERTY_HINT_ENUM, "2D,2D No-Sampling,3D,3D No-Effects"), "set_usage", "get_usage");
|
|
|
|
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "render_direct_to_screen"), "set_use_render_direct_to_screen", "is_using_render_direct_to_screen");
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "debug_draw", PROPERTY_HINT_ENUM, "Disabled,Unshaded,Overdraw,Wireframe"), "set_debug_draw", "get_debug_draw");
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "debug_draw", PROPERTY_HINT_ENUM, "Disabled,Unshaded,Overdraw,Wireframe"), "set_debug_draw", "get_debug_draw");
|
|
ADD_GROUP("Render Target", "render_target_");
|
|
ADD_GROUP("Render Target", "render_target_");
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "render_target_v_flip"), "set_vflip", "get_vflip");
|
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "render_target_v_flip"), "set_vflip", "get_vflip");
|
|
@@ -3166,6 +3182,8 @@ Viewport::Viewport() {
|
|
texture_rid = VisualServer::get_singleton()->viewport_get_texture(viewport);
|
|
texture_rid = VisualServer::get_singleton()->viewport_get_texture(viewport);
|
|
texture_flags = 0;
|
|
texture_flags = 0;
|
|
|
|
|
|
|
|
+ render_direct_to_screen = false;
|
|
|
|
+
|
|
default_texture.instance();
|
|
default_texture.instance();
|
|
default_texture->vp = const_cast<Viewport *>(this);
|
|
default_texture->vp = const_cast<Viewport *>(this);
|
|
viewport_textures.insert(default_texture.ptr());
|
|
viewport_textures.insert(default_texture.ptr());
|