Toast Engine
Loading...
Searching...
No Matches
shader_compiler.hpp
1
4
5#pragma once
6
8
9#include <cstddef>
10#include <cstdint>
11#include <string>
12#include <string_view>
13#include <toast/uid.hpp>
14#include <vector>
15
16namespace renderer {
17
19 std::vector<std::byte> spirv;
20 ShaderReflection reflection;
21 std::vector<std::string> dependencies;
22};
23
25public:
27 static auto compile(toast::UID uid, std::string_view source, std::string_view source_uri) -> CompiledShaderCode;
28
30 static void setRayQueryAvailable(bool available);
31
32 [[nodiscard]]
33 static auto isRayQueryAvailable() -> bool;
34
35 [[nodiscard]]
36 static auto featureHash() -> uint64_t;
37};
38
39}
Definition shader_compiler.hpp:24
static void setRayQueryAvailable(bool available)
Definition shader_compiler.cpp:96
static auto compile(toast::UID uid, std::string_view source, std::string_view source_uri) -> CompiledShaderCode
Thread safe.
Definition shader_compiler.cpp:293
Definition shader_compiler.hpp:18
Definition shader_reflection.hpp:87
Definition uid.hpp:20
Unique identifier for everything that exists in our engine.