diff options
author | rtk0c <[email protected]> | 2022-04-30 13:55:20 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2022-04-30 13:55:20 -0700 |
commit | 453e1df6fb7a5847c8a5b26bd8479451091fb69d (patch) | |
tree | e0753be4c78535a3d2697c8b7be4123b76d2ad0d /source/Renderer.hpp | |
parent | ac153a0a9463e3877fb0066e3603b6bf15fe6706 (diff) |
Changeset: 20 Add ImGuizmo for GameObjects, start to make things actually render
Diffstat (limited to 'source/Renderer.hpp')
-rw-r--r-- | source/Renderer.hpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source/Renderer.hpp b/source/Renderer.hpp index b4ca735..e527476 100644 --- a/source/Renderer.hpp +++ b/source/Renderer.hpp @@ -11,11 +11,13 @@ // TODO add optional support for OpenGL separate attrib binding & only depend on vertex format -// By default, RenderObject sets a default material but not data buffers. class RenderObject { public: glm::mat4 worldMatrix; +public: + RcPtr<Texture> autofill_TextureAtlas; + private: RcPtr<Material> mMaterial; RcPtr<GpuIndexBuffer> mIndexBuf; @@ -46,16 +48,23 @@ private: void DeleteGLObjects(); }; +struct RendererFrameInfo { + Camera* camera; + glm::mat4 matrixView; + glm::mat4 matrixProj; + glm::mat4 matrixCombined; + float time; + float deltaTime; +}; + class Renderer { private: - Camera* mFrame_Cam; - glm::mat4 mFrame_Transform; - float mFrame_Time; - float mFrame_DeltaTime; + RendererFrameInfo mFrame; bool mInsideFrame = false; public: void BeginFrame(Camera& camera, float currentTime, float deltaTime); + const RendererFrameInfo& GetLastFrameInfo() const { return mFrame; } void Draw(const RenderObject* objects, size_t count); void EndFrame(); }; |