1//************************************ bs::framework - Copyright 2018 Marko Pintera **************************************//
2//*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********//
3#pragma once
4
5#include "BsCorePrerequisites.h"
6
7namespace bs
8{
9 /** @addtogroup RenderAPI-Internal
10 * @{
11 */
12
13 /** Factory class that you may specialize in order to start up a specific render system. */
14 class RenderAPIFactory
15 {
16 public:
17 virtual ~RenderAPIFactory() = default;
18
19 /** Creates and starts up the render system managed by this factory. */
20 virtual void create() = 0;
21
22 /** Returns the name of the render system this factory creates. */
23 virtual const char* name() const = 0;
24 };
25
26 /** @} */
27}