aboutsummaryrefslogtreecommitdiff
path: root/source/Renderer.hpp
diff options
context:
space:
mode:
authorhnOsmium0001 <[email protected]>2022-04-30 13:55:20 -0700
committerhnOsmium0001 <[email protected]>2022-04-30 13:55:20 -0700
commit242317c1f7f2a6abdfbdbc99d5297539bbdc842f (patch)
tree4ccaae8f20b9b2534022419eb9eb7744b913cac7 /source/Renderer.hpp
parent5f467c899d1024b01c0d7ba86d9ac2f28878eb55 (diff)
Add ImGuizmo for GameObjects, start to make things actually render
Diffstat (limited to 'source/Renderer.hpp')
-rw-r--r--source/Renderer.hpp19
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();
};