From 453e1df6fb7a5847c8a5b26bd8479451091fb69d Mon Sep 17 00:00:00 2001 From: rtk0c Date: Sat, 30 Apr 2022 13:55:20 -0700 Subject: Changeset: 20 Add ImGuizmo for GameObjects, start to make things actually render --- source/Renderer.hpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'source/Renderer.hpp') 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 autofill_TextureAtlas; + private: RcPtr mMaterial; RcPtr 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(); }; -- cgit v1.2.3-70-g09d2