PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
render_frame_context.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 RenderDevice;
13
14class RenderFrameContext
15{
16public:
17 class InternalAccess;
18
19 const RenderDevice& GetRenderDevice() const;
20 uint32_t GetImageIndex() const;
21 uint32_t GetImageCount() const;
22 std::optional<RenderTargetView> GetRenderTarget(std::string_view name) const;
23
24private:
25 friend class Graphics;
26 friend class GraphicsState;
27 friend class InternalAccess;
28
29 RenderFrameContext(const RenderDevice& render_device, const void* command_buffer_impl, uint32_t image_index,
30 uint32_t image_count) noexcept;
31
32 const RenderDevice* render_device_ = nullptr;
33 const void* command_buffer_impl_ = nullptr;
34 uint32_t image_index_ = 0;
35 uint32_t image_count_ = 1;
36};
37} // namespace pixelbullet
Host-facing graphics subsystem shell.
Definition graphics.h:21
Definition render_device.h:15
Definition render_frame_context_internal.h:8