Zen 0.3.0
Loading...
Searching...
No Matches
ZEN_Buffer.cpp
1#include <zen/renderer/ZEN_Buffer.h>
2
3#include <zen/platform/OpenGL/ZEN_OpenGLBuffer.h>
4#include <zen/renderer/ZEN_Renderer.h>
5
6namespace Zen {
7VertexBuffer *VertexBuffer::Create(float *vertices, uint32_t size) {
8 switch (Renderer::getAPI()) {
9 case RendererAPI::API::None:
10 ZEN_LOG_ERROR("Renderer API is not supported");
11 return nullptr;
12
13 case RendererAPI::API::OpenGL:
14 ZEN_LOG_TRACE("Vertex buffer: Using OpenGL renderer API");
15 return new OpenGLVertexBuffer(vertices, size);
16 }
17
18 ZEN_LOG_ERROR("Unknown renderer API");
19};
20
21IndexBuffer *IndexBuffer::Create(uint32_t *indices, uint32_t count) {
22 switch (Renderer::getAPI()) {
23 case RendererAPI::API::None:
24 ZEN_LOG_ERROR("Renderer API is not supported");
25 return nullptr;
26
27 case RendererAPI::API::OpenGL:
28 ZEN_LOG_TRACE("Index buffer: Using OpenGL renderer API");
29 return new OpenGLIndexBuffer(indices, count);
30 }
31
32 ZEN_LOG_ERROR("Unknown renderer API");
33};
34}; // namespace Zen