From c382024f95996b94e40ee0d88fca3bc7ad918e4f Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 23 Feb 2025 10:39:47 +0100 Subject: [PATCH] Added Renderer::camera_3d_reset(). --- sfw/render_immediate/renderer.cpp | 13 +++++++++++++ sfw/render_immediate/renderer.h | 1 + 2 files changed, 14 insertions(+) diff --git a/sfw/render_immediate/renderer.cpp b/sfw/render_immediate/renderer.cpp index 291bc60..7fb4567 100644 --- a/sfw/render_immediate/renderer.cpp +++ b/sfw/render_immediate/renderer.cpp @@ -498,6 +498,19 @@ void Renderer::camera_3d_bind() { RenderState::projection_matrix_3d = _camera_3d_projection; } +void Renderer::camera_3d_reset() { + _camera_3d_projection = Projection(); + _camera_3d_camera_transform_matrix = Transform(); + _camera_3d_model_view_matrix = Transform(); + + _camera_3d_camera_transform_matrix_stack.clear(); + _camera_3d_model_view_matrix_stack.clear(); + + RenderState::camera_transform_3d = _camera_3d_camera_transform_matrix; + RenderState::model_view_matrix_3d = _camera_3d_model_view_matrix; + RenderState::projection_matrix_3d = _camera_3d_projection; +} + Transform Renderer::camera_3d_get_current_camera_transform_matrix() const { return _camera_3d_camera_transform_matrix; } diff --git a/sfw/render_immediate/renderer.h b/sfw/render_immediate/renderer.h index 37a4acb..b968b81 100644 --- a/sfw/render_immediate/renderer.h +++ b/sfw/render_immediate/renderer.h @@ -92,6 +92,7 @@ public: //3D Camera API void camera_3d_bind(); + void camera_3d_reset(); Transform camera_3d_get_current_camera_transform_matrix() const; void camera_3d_push_camera_transform_matrix(const Transform &p_transform);