Toast Engine
Loading...
Searching...
No Matches
render_events.hpp
Go to the documentation of this file.
1
6
7#pragma once
8#include <string>
9#include <toast/events/event.hpp>
10#include <vector>
11
12namespace event {
13
14struct RequestRenderPasses : Event<RequestRenderPasses> { };
15
16struct RenderPassList : Event<RenderPassList> {
17 struct PassInfo {
18 std::string name;
19 bool enabled = true;
20 };
21
22 std::vector<PassInfo> passes;
23
24 RenderPassList() = default;
25
26 explicit RenderPassList(std::vector<PassInfo> passes) : passes(std::move(passes)) { }
27};
28
29struct SetRenderPassEnabled : Event<SetRenderPassEnabled> {
30 std::string name;
31 bool enabled = true;
32
33 SetRenderPassEnabled() = default;
34
35 SetRenderPassEnabled(std::string_view name, bool enabled) : name(name), enabled(enabled) { }
36};
37
38struct RequestShaderReflection : Event<RequestShaderReflection> {
39 std::vector<std::string> shader_uids;
40
41 RequestShaderReflection() = default;
42
43 explicit RequestShaderReflection(std::vector<std::string> uids) : shader_uids(std::move(uids)) { }
44};
45
46struct ShaderReflectionReady : Event<ShaderReflectionReady> {
47 std::vector<std::string> shader_uids;
48 bool success = true;
49 std::string error;
50
51 ShaderReflectionReady() = default;
52
53 ShaderReflectionReady(std::vector<std::string> uids, bool success, std::string_view error)
54 : shader_uids(std::move(uids)),
55 success(success),
56 error(error) { }
57};
58
59}
60
61namespace renderer {
62
63void registerRenderEvents();
64
65}
Definition render_events.hpp:17
Definition render_events.hpp:14