aboutsummaryrefslogtreecommitdiff
path: root/src/Rendering/IndexBuffer.cpp
blob: dc900ed075f87ea5aad6d378144882625ddae1a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "IndexBuffer.h"
#include "Renderer.h"

#include "Platform/OpenGL/OpenGLIndexBuffer.h"
#include "Platform/Vulkan/VulkanIndexBuffer.h"

namespace Donut 
{
    Ref<IndexBuffer> IndexBuffer::Create(const uint32_t* indices, uint32_t count) 
    {
        switch (Renderer::GetAPI()) 
        {
            case RendererAPI::API::OpenGL:
                return CreateRef<OpenGLIndexBuffer>(indices, count);
            case RendererAPI::API::Vulkan:
                return CreateRef<VulkanIndexBuffer>((uint32_t*)indices, count);
            default:
                return nullptr;
        }
    }
};