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

#include "Platform/OpenGL/OpenGLUniformBuffer.h"
#include "Platform/Vulkan/VulkanUniformBuffer.h"

namespace Donut
{
    Ref<UniformBuffer> UniformBuffer::Create(uint32_t size, uint32_t binding)
    {
        switch (Renderer::GetAPI())
        {
        case RendererAPI::API::OpenGL:
            return CreateRef<OpenGLUniformBuffer>(size, binding);
        case RendererAPI::API::Vulkan:
            return CreateRef<VulkanUniformBuffer>(size, binding);
        case RendererAPI::API::None:
            return nullptr;
        default:
            return nullptr;
        }
    }
};