PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
render_device.h
1#pragma once
2
3#include "pixelbullet/graphics/render_target.h"
4
5#include <cstdint>
6#include <optional>
7#include <string_view>
8
9namespace pixelbullet
10{
11class Graphics;
12class Window;
13
14class RenderDevice
15{
16public:
17 class InternalAccess;
18
19 RenderDevice() = delete;
20
21 void WaitIdle() const;
22
23 std::optional<RenderTargetView> GetRenderTarget(std::string_view name) const;
24 uint32_t GetFrameImageCount() const;
25
26 const Window& GetWindow() const;
27 Window& GetWindow();
28
29private:
30 friend class Graphics;
31 friend class GraphicsState;
32 friend class InternalAccess;
33
34 explicit RenderDevice(Graphics& graphics) noexcept;
35
36 Graphics* graphics_ = nullptr;
37};
38} // namespace pixelbullet
Host-facing graphics subsystem shell.
Definition graphics.h:21
Definition render_device_internal.h:9
Definition window.h:30