SleakEngine
0.1.0
C++23 multi-backend game engine
Toggle main menu visibility
Loading...
Searching...
No Matches
RendererFactory.hpp
Go to the documentation of this file.
1
#ifndef RENDERERFACTORY_HPP
2
#define RENDERERFACTORY_HPP
3
4
#include "
Renderer.hpp
"
5
#include <
Graphics/Vulkan/VulkanRenderer.hpp
>
6
#include <
Graphics/OpenGL/OpenGLRenderer.hpp
>
7
#include <
Graphics/DirectX11/DirectX11Renderer.hpp
>
8
#include <
Graphics/DirectX12/DirectX12Renderer.hpp
>
9
#include <
Core/Window.hpp
>
10
#include <memory>
11
12
#include <
Core/OSDef.hpp
>
13
14
namespace
Sleak
{
15
namespace
RenderEngine
{
16
17
/// Constructs the concrete Renderer for a requested backend.
18
class
ENGINE_API
RendererFactory
{
19
public
:
20
/// Instantiates and returns the Renderer for the given backend, bound to a window.
21
static
Renderer
*
CreateRenderer
(
RendererType
type,
Window
* window);
22
/// Resolves a CLI backend name (e.g. "-vulkan") to a Renderer instance.
23
static
Renderer
*
ParseArg
(std::string arg,
Window
* window);
24
inline
static
RendererType
GetRendererType
() {
return
Renderertype;}
25
26
private
:
27
static
RendererType
Renderertype;
28
};
29
30
}
31
}
32
33
#endif
// RENDERERFACTORY_HPP
DirectX11Renderer.hpp
DirectX12Renderer.hpp
OSDef.hpp
OpenGLRenderer.hpp
Renderer.hpp
VulkanRenderer.hpp
Window.hpp
Sleak::RenderEngine::RendererFactory
Constructs the concrete Renderer for a requested backend.
Definition
RendererFactory.hpp:18
Sleak::RenderEngine::RendererFactory::ParseArg
static Renderer * ParseArg(std::string arg, Window *window)
Resolves a CLI backend name (e.g. "-vulkan") to a Renderer instance.
Definition
RendererFactory.cpp:48
Sleak::RenderEngine::RendererFactory::CreateRenderer
static Renderer * CreateRenderer(RendererType type, Window *window)
Instantiates and returns the Renderer for the given backend, bound to a window.
Definition
RendererFactory.cpp:14
Sleak::RenderEngine::RendererFactory::GetRendererType
static RendererType GetRendererType()
Definition
RendererFactory.hpp:24
Sleak::RenderEngine::Renderer
Abstract render backend: swapchain, frame lifecycle, and post-effect toggles.
Definition
Renderer.hpp:37
Sleak::Window
Definition
Window.hpp:18
Sleak::RenderEngine
Backend-facing rendering layer shared by the four graphics backends.
Definition
Application.hpp:60
Sleak::RenderEngine::RendererType
RendererType
Selects which graphics API a Renderer instance targets.
Definition
Renderer.hpp:13
Sleak
Root namespace for everything the engine exposes.
Definition
Camera.hpp:10
include
private
Graphics
Common
RendererFactory.hpp
Generated on
for SleakEngine by
1.18.0