aboutsummaryrefslogtreecommitdiff
path: root/src/rendering/uniform_buffer.cpp
blob: c344aec90f695129cc03283960955d99f43bdb32 (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 "uniform_buffer.h"
#include "renderer.h"

#include "platform/opengl/opengl_uniform_buffer.h"
#include "platform/vulkan/vulkan_uniform_buffer.h"

namespace Donut
{
    auto UniformBuffer::create(uint32_t size, uint32_t binding) -> Ref<UniformBuffer>
    {
        switch (Renderer::get_api())
        {
        case RendererAPI::API::OpenGL:
            return create_ref<OpenGLUniformBuffer>(size, binding);
        case RendererAPI::API::Vulkan:
            return create_ref<VulkanUniformBuffer>(size, binding);
        case RendererAPI::API::None:
            return nullptr;
        default:
            return nullptr;
        }
    }
};