Riyyi
5 years ago
4 changed files with 161 additions and 9 deletions
@ -0,0 +1,41 @@
|
||||
#include <glad/glad.h> |
||||
|
||||
#include "inferno/render/buffer.h" |
||||
#include "inferno/render/renderer.h" |
||||
|
||||
namespace Inferno { |
||||
|
||||
void Command::clear() |
||||
{ |
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); |
||||
} |
||||
|
||||
void Command::clearColor(const glm::vec4 &color) |
||||
{ |
||||
glClearColor(color.r, color.g, color.b, color.a); |
||||
} |
||||
|
||||
void Command::drawIndexed(const std::shared_ptr<VertexArray> &vertexArray) |
||||
{ |
||||
glDrawElements(GL_TRIANGLES, vertexArray->getIndexBuffer()->getCount(), GL_UNSIGNED_INT, nullptr); |
||||
} |
||||
|
||||
// -----------------------------------------
|
||||
|
||||
void Renderer::beginScene() |
||||
{ |
||||
|
||||
} |
||||
|
||||
void Renderer::endScene() |
||||
{ |
||||
|
||||
} |
||||
|
||||
void Renderer::submit(const std::shared_ptr<VertexArray> &vertexArray) |
||||
{ |
||||
vertexArray->bind(); |
||||
Command::drawIndexed(vertexArray); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,32 @@
|
||||
#ifndef RENDERER_H |
||||
#define RENDERER_H |
||||
|
||||
#include <memory> // std::shared_ptr |
||||
|
||||
#include <glm/vec4.hpp> |
||||
|
||||
namespace Inferno { |
||||
|
||||
class VertexArray; |
||||
|
||||
class Command { |
||||
public: |
||||
static void clear(); |
||||
static void clearColor(const glm::vec4 &color); |
||||
|
||||
static void drawIndexed(const std::shared_ptr<VertexArray> &vertexArray); |
||||
}; |
||||
|
||||
// -----------------------------------------
|
||||
|
||||
class Renderer { |
||||
public: |
||||
static void beginScene(); |
||||
static void endScene(); |
||||
|
||||
static void submit(const std::shared_ptr<VertexArray> &vertexArray); |
||||
}; |
||||
|
||||
} |
||||
|
||||
#endif // RENDERER_H
|
Loading…
Reference in new issue