aboutsummaryrefslogtreecommitdiff
path: root/src/rendering/render_api.h
blob: 224c1fa7aceaa931e02897042ec2fbefbe667719 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

namespace Donut
{
    // which graphics backend the app runs on, selected once at startup (from
    // settings) before the window is created. the rendering itself goes through
    // the RHI (rendering/rhi.h) and the shared renderers; this is only the
    // backend selector the window + application branch on.
    class RendererAPI
    {
    public:
        enum class API
        {
            None   = 0,
            OpenGL = 1,
            Vulkan = 2,
        };

        static auto get_api() -> API         { return s_api; }
        static auto set_api(API api) -> void { s_api = api;  }

    private:
        inline static API s_api = API::None;
    };
}