2021-05-26 18:39:40 +04:30
|
|
|
#include "glRenderCommand.h"
|
|
|
|
|
|
|
|
#include <glad/glad.h>
|
|
|
|
#include <GLFW/glfw3.h>
|
|
|
|
|
|
|
|
namespace Light {
|
|
|
|
|
|
|
|
glRenderCommand::glRenderCommand(GLFWwindow* windowHandle)
|
|
|
|
: m_WindowHandle(windowHandle)
|
2021-07-29 17:12:13 +04:30
|
|
|
{
|
|
|
|
}
|
2021-05-26 18:39:40 +04:30
|
|
|
|
|
|
|
void glRenderCommand::SwapBuffers()
|
|
|
|
{
|
|
|
|
glfwSwapBuffers(m_WindowHandle);
|
|
|
|
}
|
|
|
|
|
2021-07-24 10:00:15 +04:30
|
|
|
void glRenderCommand::ClearBackBuffer(const glm::vec4& clearColor)
|
2021-05-26 18:39:40 +04:30
|
|
|
{
|
2021-07-24 10:00:15 +04:30
|
|
|
glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a);
|
2021-07-15 15:46:28 +04:30
|
|
|
glClear(GL_COLOR_BUFFER_BIT);
|
2021-05-26 18:39:40 +04:30
|
|
|
}
|
|
|
|
|
|
|
|
void glRenderCommand::Draw(unsigned int count)
|
|
|
|
{
|
|
|
|
glDrawArrays(GL_TRIANGLES, 0, count);
|
|
|
|
}
|
|
|
|
|
|
|
|
void glRenderCommand::DrawIndexed(unsigned int count)
|
|
|
|
{
|
|
|
|
glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_INT, nullptr);
|
|
|
|
}
|
|
|
|
|
2021-07-15 15:46:28 +04:30
|
|
|
void glRenderCommand::DefaultTargetFramebuffer()
|
|
|
|
{
|
|
|
|
glBindFramebuffer(GL_FRAMEBUFFER, NULL);
|
|
|
|
}
|
|
|
|
|
2021-07-14 00:17:30 +04:30
|
|
|
void glRenderCommand::SetViewport(unsigned int x, unsigned int y, unsigned int width, unsigned int height)
|
|
|
|
{
|
|
|
|
glViewport(x, y, width, height);
|
|
|
|
}
|
|
|
|
|
2021-05-26 18:39:40 +04:30
|
|
|
}
|