diff options
author | hnOsmium0001 <[email protected]> | 2022-04-30 13:55:20 -0700 |
---|---|---|
committer | hnOsmium0001 <[email protected]> | 2022-04-30 13:55:20 -0700 |
commit | 242317c1f7f2a6abdfbdbc99d5297539bbdc842f (patch) | |
tree | 4ccaae8f20b9b2534022419eb9eb7744b913cac7 /source/Renderer.hpp | |
parent | 5f467c899d1024b01c0d7ba86d9ac2f28878eb55 (diff) |
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(); }; |