diff --git a/drivers/dummy/rasterizer_dummy.h b/drivers/dummy/rasterizer_dummy.h index 082f24747678..7a57478b7d5d 100644 --- a/drivers/dummy/rasterizer_dummy.h +++ b/drivers/dummy/rasterizer_dummy.h @@ -180,7 +180,7 @@ class RasterizerSceneDummy : public RendererSceneRender { void render_particle_collider_heightfield(RID p_collider, const Transform &p_transform, const PagedArray &p_instances) override {} void set_scene_pass(uint64_t p_pass) override {} - void set_time(double p_time, double p_step) override {} + void set_time(float p_time, float p_step) override {} void set_debug_draw_mode(RS::ViewportDebugDraw p_debug_draw) override {} RID render_buffers_create() override { return RID(); } @@ -712,7 +712,7 @@ class RasterizerDummy : public RendererCompositor { void set_boot_image(const Ref &p_image, const Color &p_color, bool p_scale, bool p_use_filter = true) override {} void initialize() override {} - void begin_frame(double frame_step) override { + void begin_frame(float frame_step) override { frame++; delta = frame_step; } diff --git a/main/main.cpp b/main/main.cpp index 9489774dcecc..81dd42fccf8d 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2419,8 +2419,8 @@ bool Main::iteration() { float time_scale = Engine::get_singleton()->get_time_scale(); MainFrameTime advance = main_timer_sync.advance(physics_step, physics_fps); - double process_step = advance.process_step; - double scaled_step = process_step * time_scale; + float process_step = advance.process_step; + float scaled_step = process_step * time_scale; Engine::get_singleton()->_process_step = process_step; Engine::get_singleton()->_physics_interpolation_fraction = advance.interpolation_fraction; diff --git a/servers/rendering/renderer_compositor.h b/servers/rendering/renderer_compositor.h index 919ae2c6dae8..4610fc78931e 100644 --- a/servers/rendering/renderer_compositor.h +++ b/servers/rendering/renderer_compositor.h @@ -54,7 +54,7 @@ class RendererCompositor { virtual void set_boot_image(const Ref &p_image, const Color &p_color, bool p_scale, bool p_use_filter = true) = 0; virtual void initialize() = 0; - virtual void begin_frame(double frame_step) = 0; + virtual void begin_frame(float frame_step) = 0; struct BlitToScreen { RID render_target; diff --git a/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp b/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp index 2bf3c436a8a4..ee38e1aee61e 100644 --- a/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp @@ -2362,7 +2362,7 @@ RendererStorageRD::MaterialData *RendererCanvasRenderRD::_create_material_func(S return material_data; } -void RendererCanvasRenderRD::set_time(double p_time) { +void RendererCanvasRenderRD::set_time(float p_time) { state.time = p_time; } diff --git a/servers/rendering/renderer_rd/renderer_canvas_render_rd.h b/servers/rendering/renderer_rd/renderer_canvas_render_rd.h index cb947d718031..998cce48e3d8 100644 --- a/servers/rendering/renderer_rd/renderer_canvas_render_rd.h +++ b/servers/rendering/renderer_rd/renderer_canvas_render_rd.h @@ -380,7 +380,7 @@ class RendererCanvasRenderRD : public RendererCanvasRender { uint32_t max_lights_per_render; uint32_t max_lights_per_item; - double time; + float time; } state; @@ -462,7 +462,7 @@ class RendererCanvasRenderRD : public RendererCanvasRender { virtual void set_shadow_texture_size(int p_size); - void set_time(double p_time); + void set_time(float p_time); void update(); bool free(RID p_rid); RendererCanvasRenderRD(RendererStorageRD *p_storage); diff --git a/servers/rendering/renderer_rd/renderer_compositor_rd.cpp b/servers/rendering/renderer_rd/renderer_compositor_rd.cpp index be2552bd326f..debd2e113fd3 100644 --- a/servers/rendering/renderer_rd/renderer_compositor_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_compositor_rd.cpp @@ -76,12 +76,12 @@ void RendererCompositorRD::blit_render_targets_to_screen(DisplayServer::WindowID RD::get_singleton()->draw_list_end(); } -void RendererCompositorRD::begin_frame(double frame_step) { +void RendererCompositorRD::begin_frame(float frame_step) { frame++; delta = frame_step; time += frame_step; - double time_roll_over = GLOBAL_GET("rendering/limits/time/time_rollover_secs"); + float time_roll_over = GLOBAL_GET("rendering/limits/time/time_rollover_secs"); time = Math::fmod(time, time_roll_over); canvas->set_time(time); diff --git a/servers/rendering/renderer_rd/renderer_compositor_rd.h b/servers/rendering/renderer_rd/renderer_compositor_rd.h index cb85fc79e0e3..9b0170ca6752 100644 --- a/servers/rendering/renderer_rd/renderer_compositor_rd.h +++ b/servers/rendering/renderer_rd/renderer_compositor_rd.h @@ -52,7 +52,7 @@ class RendererCompositorRD : public RendererCompositor { Map render_target_descriptors; - double time; + float time; float delta; static uint64_t frame; @@ -65,7 +65,7 @@ class RendererCompositorRD : public RendererCompositor { void set_boot_image(const Ref &p_image, const Color &p_color, bool p_scale, bool p_use_filter) {} void initialize(); - void begin_frame(double frame_step); + void begin_frame(float frame_step); void prepare_for_blitting_render_targets(); void blit_render_targets_to_screen(DisplayServer::WindowID p_screen, const BlitToScreen *p_render_targets, int p_amount); @@ -74,7 +74,7 @@ class RendererCompositorRD : public RendererCompositor { _ALWAYS_INLINE_ uint64_t get_frame_number() const { return frame; } _ALWAYS_INLINE_ float get_frame_delta_time() const { return delta; } - _ALWAYS_INLINE_ double get_total_time() const { return time; } + _ALWAYS_INLINE_ float get_total_time() const { return time; } static Error is_viable() { return OK; diff --git a/servers/rendering/renderer_rd/renderer_scene_render_forward.cpp b/servers/rendering/renderer_rd/renderer_scene_render_forward.cpp index 15ecc111447b..3ceb3dcb936f 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_forward.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_forward.cpp @@ -2804,7 +2804,7 @@ RID RendererSceneRenderForward::_render_buffers_get_normal_texture(RID p_render_ RendererSceneRenderForward *RendererSceneRenderForward::singleton = nullptr; -void RendererSceneRenderForward::set_time(double p_time, double p_step) { +void RendererSceneRenderForward::set_time(float p_time, float p_step) { time = p_time; RendererSceneRenderRD::set_time(p_time, p_step); } diff --git a/servers/rendering/renderer_rd/renderer_scene_render_forward.h b/servers/rendering/renderer_rd/renderer_scene_render_forward.h index af78c50fda11..a14d4198d7c5 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_forward.h +++ b/servers/rendering/renderer_rd/renderer_scene_render_forward.h @@ -492,7 +492,7 @@ class RendererSceneRenderForward : public RendererSceneRenderRD { static RendererSceneRenderForward *singleton; - double time; + float time; RID default_shader; RID default_material; RID overdraw_material_shader; @@ -761,7 +761,7 @@ class RendererSceneRenderForward : public RendererSceneRenderRD { virtual void geometry_instance_pair_decal_instances(GeometryInstance *p_geometry_instance, const RID *p_decal_instances, uint32_t p_decal_instance_count); virtual void geometry_instance_pair_gi_probe_instances(GeometryInstance *p_geometry_instance, const RID *p_gi_probe_instances, uint32_t p_gi_probe_instance_count); - virtual void set_time(double p_time, double p_step); + virtual void set_time(float p_time, float p_step); virtual bool free(RID p_rid); diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp index 74cfd6456146..09305b9430ea 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.cpp @@ -8281,7 +8281,7 @@ void RendererSceneRenderRD::update() { _update_dirty_skys(); } -void RendererSceneRenderRD::set_time(double p_time, double p_step) { +void RendererSceneRenderRD::set_time(float p_time, float p_step) { time = p_time; time_step = p_step; } diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.h b/servers/rendering/renderer_rd/renderer_scene_render_rd.h index e4eaa9321244..08fbd2d3b980 100644 --- a/servers/rendering/renderer_rd/renderer_scene_render_rd.h +++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.h @@ -51,7 +51,7 @@ class RendererSceneRenderRD : public RendererSceneRender { protected: - double time; + float time; // Skys need less info from Directional Lights than the normal shaders struct SkyDirectionalLightData { @@ -2108,7 +2108,7 @@ class RendererSceneRenderRD : public RendererSceneRender { return debug_draw; } - virtual void set_time(double p_time, double p_step); + virtual void set_time(float p_time, float p_step); RID get_reflection_probe_buffer(); RID get_omni_light_buffer(); diff --git a/servers/rendering/renderer_scene_render.h b/servers/rendering/renderer_scene_render.h index 1dea3580b643..17fe6e73a321 100644 --- a/servers/rendering/renderer_scene_render.h +++ b/servers/rendering/renderer_scene_render.h @@ -222,7 +222,7 @@ class RendererSceneRender { virtual void render_particle_collider_heightfield(RID p_collider, const Transform &p_transform, const PagedArray &p_instances) = 0; virtual void set_scene_pass(uint64_t p_pass) = 0; - virtual void set_time(double p_time, double p_step) = 0; + virtual void set_time(float p_time, float p_step) = 0; virtual void set_debug_draw_mode(RS::ViewportDebugDraw p_debug_draw) = 0; virtual RID render_buffers_create() = 0; diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index 2e8f60d87984..bf4b2e52541c 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -91,7 +91,7 @@ void RenderingServerDefault::request_frame_drawn_callback(Object *p_where, const frame_drawn_callbacks.push_back(fdc); } -void RenderingServerDefault::_draw(bool p_swap_buffers, double frame_step) { +void RenderingServerDefault::_draw(bool p_swap_buffers, float frame_step) { //needs to be done before changes is reset to 0, to not force the editor to redraw RS::get_singleton()->emit_signal("frame_pre_draw"); @@ -332,7 +332,7 @@ void RenderingServerDefault::_thread_exit() { exit = true; } -void RenderingServerDefault::_thread_draw(bool p_swap_buffers, double frame_step) { +void RenderingServerDefault::_thread_draw(bool p_swap_buffers, float frame_step) { if (!atomic_decrement(&draw_pending)) { _draw(p_swap_buffers, frame_step); } @@ -378,7 +378,7 @@ void RenderingServerDefault::sync() { } } -void RenderingServerDefault::draw(bool p_swap_buffers, double frame_step) { +void RenderingServerDefault::draw(bool p_swap_buffers, float frame_step) { if (create_thread) { atomic_increment(&draw_pending); command_queue.push(this, &RenderingServerDefault::_thread_draw, p_swap_buffers, frame_step); diff --git a/servers/rendering/rendering_server_default.h b/servers/rendering/rendering_server_default.h index effa555ec4cc..3c5100a76769 100644 --- a/servers/rendering/rendering_server_default.h +++ b/servers/rendering/rendering_server_default.h @@ -95,14 +95,14 @@ class RenderingServerDefault : public RenderingServer { bool create_thread; uint64_t draw_pending; - void _thread_draw(bool p_swap_buffers, double frame_step); + void _thread_draw(bool p_swap_buffers, float frame_step); void _thread_flush(); void _thread_exit(); Mutex alloc_mutex; - void _draw(bool p_swap_buffers, double frame_step); + void _draw(bool p_swap_buffers, float frame_step); void _init(); void _finish(); @@ -893,7 +893,7 @@ class RenderingServerDefault : public RenderingServer { virtual void request_frame_drawn_callback(Object *p_where, const StringName &p_method, const Variant &p_userdata) override; - virtual void draw(bool p_swap_buffers, double frame_step) override; + virtual void draw(bool p_swap_buffers, float frame_step) override; virtual void sync() override; virtual bool has_changed() const override; virtual void init() override; diff --git a/servers/rendering_server.h b/servers/rendering_server.h index 65065841a6fe..91672de03297 100644 --- a/servers/rendering_server.h +++ b/servers/rendering_server.h @@ -1398,7 +1398,7 @@ class RenderingServer : public Object { /* EVENT QUEUING */ - virtual void draw(bool p_swap_buffers = true, double frame_step = 0.0) = 0; + virtual void draw(bool p_swap_buffers = true, float frame_step = 0.0f) = 0; virtual void sync() = 0; virtual bool has_changed() const = 0; virtual void init() = 0;