aboutsummaryrefslogtreecommitdiff
path: root/source/Game/Renderer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Game/Renderer.hpp')
-rw-r--r--source/Game/Renderer.hpp68
1 files changed, 0 insertions, 68 deletions
diff --git a/source/Game/Renderer.hpp b/source/Game/Renderer.hpp
deleted file mode 100644
index 98a9f28..0000000
--- a/source/Game/Renderer.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#pragma once
-
-#include "Camera.hpp"
-#include "Material.hpp"
-#include "RcPtr.hpp"
-#include "VertexIndex.hpp"
-
-#include <glad/glad.h>
-#include <cstddef>
-#include <glm/glm.hpp>
-
-// TODO add optional support for OpenGL separate attrib binding & only depend on vertex format
-
-class GameObject;
-
-class RenderObject {
-public:
- RcPtr<Texture> autofill_TextureAtlas;
-
-private:
- RcPtr<Material> mMaterial;
- RcPtr<GpuIndexBuffer> mIndexBuf;
- RcPtr<VertexFormat> mVertexFormat;
- BufferBindings mVertexBufBinding;
- GLuint mVao;
-
-public:
- RenderObject();
- ~RenderObject();
-
- GLuint GetGLVao() const;
- void RebuildIfNecessary();
-
- Material* GetMaterial() const { return mMaterial.Get(); }
- void SetMaterial(Material* material);
-
- GpuIndexBuffer* GetIndexBuffer() const { return mIndexBuf.Get(); }
- const VertexFormat* GetVertexFormat() const { return mVertexFormat.Get(); }
- const BufferBindings& GetVertexBufferBindings() const { return mVertexBufBinding; }
- void UpdateIndexBuffer(GpuIndexBuffer* indexBuffer);
- void UpdateVertexFormat(VertexFormat* vertexFormat);
- // Assumes the fetched BufferBinding object is modified
- void UpdateVertexBufferBindings(BufferBindings** bindingsOut);
- void SetFormat(VertexFormat* vertexFormat, Tags::IndexType indexFormat);
-
-private:
- void DeleteGLObjects();
-};
-
-struct RendererFrameInfo {
- Camera* camera;
- glm::mat4 matrixView;
- glm::mat4 matrixProj;
- float time;
- float deltaTime;
-};
-
-class Renderer {
-private:
- 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, const GameObject* gameObject, size_t count);
- void EndFrame();
-};