Files
Nuake-custom/Nuake/src/Rendering/RenderCommand.cpp
2022-01-09 16:44:20 -05:00

101 lines
2.6 KiB
C++

#include "RenderCommand.h"
#include "Platforms/OGLRendererAPI.h"
namespace Nuake {
RendererAPI* RenderCommand::sRendererAPI;
void RenderCommand::SetRendererAPI(RendererPlatforms platform)
{
sRendererAPI = new OGLRendererAPI();
}
void RenderCommand::Clear()
{
sRendererAPI->Clear();
}
void RenderCommand::SetClearColor(const Color& color)
{
sRendererAPI->SetClearColor(color);
}
void RenderCommand::Enable(const RendererEnum enumType)
{
sRendererAPI->Enable(enumType);
}
void RenderCommand::Disable(const RendererEnum enumType)
{
sRendererAPI->Disable(enumType);
}
void RenderCommand::GenBuffer(unsigned int& bufferID)
{
sRendererAPI->GenBuffer(bufferID);
}
void RenderCommand::BindBuffer(const RendererEnum bufferType, const unsigned int& bufferID)
{
sRendererAPI->BindBuffer(bufferType, bufferID);
}
void RenderCommand::SetBufferData(const RendererEnum bufferType, const void* data, unsigned int size, const RendererEnum dataHint)
{
sRendererAPI->SetBufferData(bufferType, data, size, dataHint);
}
void RenderCommand::SetBufferSubData(const RendererEnum bufferType, const void* data, unsigned int size, unsigned int offset)
{
sRendererAPI->SetBufferSubData(bufferType, data, size, offset);
}
void RenderCommand::DeleteBuffer(unsigned int bufferID)
{
sRendererAPI->DeleteBuffer(bufferID);
}
void RenderCommand::GenVertexArray(unsigned int& rendererID)
{
sRendererAPI->GenVertexArray(rendererID);
}
void RenderCommand::DeleteVertexArray(unsigned int& rendererID)
{
sRendererAPI->DeleteVertexArray(rendererID);
}
void RenderCommand::EnableVertexAttribArray(unsigned int slot)
{
sRendererAPI->EnableVertexAttribArray(slot);
}
void RenderCommand::BindVertexArray(const unsigned int& rendererID)
{
sRendererAPI->BindVertexArray(rendererID);
}
void RenderCommand::VertexAttribPointer(const unsigned int index, const int size, const RendererEnum type, bool normalized, int stride, const void* pointer)
{
sRendererAPI->VertexAttribPointer(index, size, type, normalized, stride, pointer);
}
void RenderCommand::DrawMultiElements(const RendererEnum mode, const int count, const RendererEnum type, const void* const* indices, unsigned int drawCount)
{
sRendererAPI->DrawMultiElements(mode, count, type, indices, drawCount);
}
void RenderCommand::DrawElements(const RendererEnum mode, const int count, const RendererEnum type, const void* indices)
{
sRendererAPI->DrawElements(mode, count, type, indices);
}
void RenderCommand::DrawArrays(int first, int count)
{
sRendererAPI->DrawArrays(first, count);
}
void RenderCommand::DrawLines(int first, int count)
{
sRendererAPI->DrawLines(first, count);
}
}