diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-01 15:05:28 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-12-01 15:05:28 +0100 |
commit | 5981ab2262a98b80a1339f86a6b71093576a9b35 (patch) | |
tree | 325ff71fc2482a6960656f0ced80db874945a938 /src/crepe/system/RenderSystem.h | |
parent | 4d6d5a6ff5366877cbc7b8e24110b56a332a7353 (diff) | |
parent | 647eb8e318f1ed1e3ec18505ea4df57025e6ffd5 (diff) |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/gameloop
Diffstat (limited to 'src/crepe/system/RenderSystem.h')
-rw-r--r-- | src/crepe/system/RenderSystem.h | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/crepe/system/RenderSystem.h b/src/crepe/system/RenderSystem.h index 30b41cf..e70831e 100644 --- a/src/crepe/system/RenderSystem.h +++ b/src/crepe/system/RenderSystem.h @@ -1,17 +1,17 @@ #pragma once -#include <functional> -#include <vector> +#include <cmath> #include "facade/SDLContext.h" #include "System.h" -#include <cmath> +#include "types.h" namespace crepe { class Camera; class Sprite; +class Transform; /** * \class RenderSystem @@ -37,7 +37,7 @@ private: void present_screen(); //! Updates the active camera used for rendering. - void update_camera(); + const Camera & update_camera(); //! Renders the whole screen void render(); @@ -49,7 +49,7 @@ private: * \param tm the Transform component for scale * \return true if particles have been rendered */ - bool render_particle(const Sprite & sprite, const double & scale); + bool render_particle(const Sprite & sprite, const Camera & cam, const double & scale); /** * \brief renders a sprite with a Transform component on the screen @@ -57,7 +57,7 @@ private: * \param sprite the sprite component that holds all the data * \param tm the Transform component that holds the position,rotation and scale */ - void render_normal(const Sprite & sprite, const Transform & tm); + void render_normal(const Sprite & sprite, const Camera & cam, const Transform & tm); /** * \brief sort a vector sprite objects with @@ -71,17 +71,14 @@ private: * \todo Include color handling for sprites. * \todo Add text rendering using SDL_ttf for text components. * \todo Implement a text component and a button component. - * \todo Ensure each sprite is checked for active status before rendering. - * \todo Sort all layers by order before rendering. * \todo Consider adding text input functionality. */ private: - //! Pointer to the current active camera for rendering - Camera * curr_cam_ref = nullptr; - // TODO: needs a better solution - SDLContext & context = SDLContext::get_instance(); + + //! camera postion in the current scene + vec2 cam_pos; }; } // namespace crepe |