light/modules/renderer/legacy/private/gl/render_command.cpp

44 lines
843 B
C++

#include <renderer/gl/render_command.hpp>
namespace lt {
glRenderCommand::glRenderCommand(): m_window_handle(windowHandle)
{
}
void glRenderCommand::swap_buffers()
{
}
void glRenderCommand::clear_back_buffer(const math::vec4 &clearColor)
{
glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a);
glClear(GL_COLOR_BUFFER_BIT);
}
void glRenderCommand::draw(unsigned int count)
{
glDrawArrays(GL_TRIANGLES, 0, count);
}
void glRenderCommand::draw_indexed(unsigned int count)
{
glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_INT, nullptr);
}
void glRenderCommand::default_target_framebuffer()
{
glBindFramebuffer(GL_FRAMEBUFFER, {});
}
void glRenderCommand::set_viewport(
unsigned int x,
unsigned int y,
unsigned int width,
unsigned int height
)
{
glViewport(x, y, width, height);
}
} // namespace lt