aboutsummaryrefslogtreecommitdiff
path: root/src/Rendering/Renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Rendering/Renderer.cpp')
-rw-r--r--src/Rendering/Renderer.cpp47
1 files changed, 22 insertions, 25 deletions
diff --git a/src/Rendering/Renderer.cpp b/src/Rendering/Renderer.cpp
index 7b75a18..3f50a7c 100644
--- a/src/Rendering/Renderer.cpp
+++ b/src/Rendering/Renderer.cpp
@@ -3,10 +3,12 @@
#include <memory>
#include <glm/gtc/matrix_transform.hpp>
-namespace Donut {
-
- Scope<RendererAPI> RendererAPI::Create() {
- switch (s_API) {
+namespace Donut
+{
+ Scope<RendererAPI> RendererAPI::Create()
+ {
+ switch (s_API)
+ {
case API::OpenGL:
return std::make_unique<OpenGLRendererAPI>();
default:
@@ -16,34 +18,28 @@ namespace Donut {
RendererAPI::API RendererAPI::s_API = RendererAPI::API::OpenGL;
- Renderer::SceneData* Renderer::s_SceneData = new Renderer::SceneData;
-
- void Renderer::Init() {
+ void Renderer::Init()
+ {
RenderCommand::Init();
+ RenderCommand::EnableDepthTest();
}
- void Renderer::Shutdown() {
- delete s_SceneData;
+ void Renderer::Shutdown()
+ {
}
- void Renderer::OnWindowResize(uint32_t width, uint32_t height) {
+ void Renderer::OnWindowResize(uint32_t width, uint32_t height)
+ {
RenderCommand::SetViewport(0, 0, width, height);
}
- void Renderer::BeginScene() {
- // Set up scene data
- s_SceneData->ViewProjectionMatrix = glm::ortho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f);
- }
-
- void Renderer::EndScene() {
- // Clean up scene data
- }
-
void Renderer::Submit(const std::shared_ptr<Shader>& shader,
const std::shared_ptr<VertexArray>& vertexArray,
- const glm::mat4& transform) {
+ const glm::mat4& transform,
+ const glm::mat4& viewProjection)
+ {
shader->Bind();
- shader->SetMat4("u_ViewProjection", s_SceneData->ViewProjectionMatrix);
+ shader->SetMat4("u_ViewProjection", viewProjection);
shader->SetMat4("u_Transform", transform);
vertexArray->Bind();
@@ -52,12 +48,13 @@ namespace Donut {
Scope<RendererAPI> RenderCommand::s_RendererAPI = RendererAPI::Create();
- void Renderer::SetClearColor(const glm::vec4& color) {
+ void Renderer::SetClearColor(const glm::vec4& color)
+ {
RenderCommand::SetClearColor(color);
}
- void Renderer::Clear() {
+ void Renderer::Clear()
+ {
RenderCommand::Clear();
}
-
-}
+};