diff options
author | reduz <reduzio@gmail.com> | 2021-06-15 17:33:24 -0300 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2021-06-16 10:48:57 -0300 |
commit | 38d164c74b24f10215312f304ec1b04175989376 (patch) | |
tree | ce2c76d08a3bbc7dfe33994ce3d1b17b9ef03819 /servers/rendering/rendering_server_default.cpp | |
parent | badad5343814cb68ec19646067078f241a74071a (diff) | |
download | redot-engine-38d164c74b24f10215312f304ec1b04175989376.tar.gz |
Refactor VisibilityNotifier
* Works from RenderinServer
* Accurately tells when on or off-scren, its no longer approximate.
* VisibilityEnabler also simplified to use the process mode instead.
Diffstat (limited to 'servers/rendering/rendering_server_default.cpp')
-rw-r--r-- | servers/rendering/rendering_server_default.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index cd66cd0716..95aa05f6b3 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -117,6 +117,8 @@ void RenderingServerDefault::_draw(bool p_swap_buffers, double frame_step) { _draw_margins(); RSG::rasterizer->end_frame(p_swap_buffers); + RSG::canvas->update_visibility_notifiers(); + while (frame_drawn_callbacks.front()) { Object *obj = ObjectDB::get_instance(frame_drawn_callbacks.front()->get().object); if (obj) { @@ -396,6 +398,7 @@ RenderingServerDefault::RenderingServerDefault(bool p_create_thread) : server_thread = 0; } + RSG::threaded = p_create_thread; RSG::canvas = memnew(RendererCanvasCull); RSG::viewport = memnew(RendererViewport); RendererSceneCull *sr = memnew(RendererSceneCull); |