PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
renderer_runtime_internal.h
1#pragma once
2
3#include "pixelbullet/graphics/render_frame_context.h"
4#include "pixelbullet/graphics/render_stage.h"
5#include "pixelbullet/graphics/render_target.h"
6#include "pixelbullet/graphics/renderer.h"
7#include "pixelbullet/graphics/subrender.h"
8
9#include <cstdint>
10#include <memory>
11#include <vector>
12
13namespace pixelbullet
14{
16{
17public:
18 [[nodiscard]] static bool IsStarted(const Renderer& renderer) noexcept
19 {
20 return renderer.started_;
21 }
22
23 static void MarkStarted(Renderer& renderer) noexcept
24 {
25 renderer.started_ = true;
26 }
27
28 [[nodiscard]] static const std::vector<RenderTargetSpecification>& GetRenderTargets(const Renderer& renderer) noexcept
29 {
30 return renderer.render_targets_;
31 }
32
33 [[nodiscard]] static const std::vector<std::unique_ptr<RenderStage>>& GetRenderStages(const Renderer& renderer) noexcept
34 {
35 return renderer.render_stages_;
36 }
37
38 static void RenderSubrenders(Renderer& renderer, const Subrender::Stage& stage, const RenderFrameContext& frame_context)
39 {
40 renderer.subrender_holder_.RenderStage(stage, frame_context);
41 }
42};
43} // namespace pixelbullet
Definition render_frame_context.h:15
Definition renderer_runtime_internal.h:16
Definition renderer.h:17