summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_server_default.cpp
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2021-06-15 17:33:24 -0300
committerreduz <reduzio@gmail.com>2021-06-16 10:48:57 -0300
commit38d164c74b24f10215312f304ec1b04175989376 (patch)
treece2c76d08a3bbc7dfe33994ce3d1b17b9ef03819 /servers/rendering/rendering_server_default.cpp
parentbadad5343814cb68ec19646067078f241a74071a (diff)
downloadredot-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.cpp3
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);