Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ResolvedStateTree.hpp
1
#pragma once
2
3
#include <set>
4
#include <map>
5
#include <array>
6
#include <vector>
7
8
#include <Common/Graphics/Formats.hpp>
9
10
#include "ParseTree.hpp"
11
12
struct
ResolvedStateTree
{
13
struct
Pass
{
14
std::string name;
15
ParseTree::RenderState
renderState;
16
std::string renderQueue;
17
std::string code;
18
ShaderCodeType type = ShaderCodeType::Unset;
19
std::set<std::string_view> requiredShaderBlocks;
// Only used in resolve step
20
std::array<std::string, Grindstone::GraphicsAPI::numShaderTotalStage> stageEntryPoints;
21
};
22
23
struct
Configuration
{
24
std::string name;
25
std::set<std::string> tags;
26
std::map<std::string, Pass> passes;
27
};
28
29
struct
PipelineSet
{
30
std::filesystem::path sourceFilepath;
31
std::string name;
32
std::vector<ParseTree::MaterialParameter> parameters;
33
std::map<std::string, Configuration> configurations;
34
};
35
36
struct
ComputeSet
{
37
std::filesystem::path sourceFilepath;
38
std::string name;
39
std::string shaderCode;
40
std::string shaderEntrypoint;
41
ShaderCodeType shaderType = ShaderCodeType::Unset;
42
std::set<std::string_view> requiredShaderBlocks;
// Only used in resolve step
43
};
44
45
std::vector<PipelineSet> pipelineSets;
46
std::vector<ComputeSet> computeSets;
47
};
ParseTree::RenderState
Definition
ParseTree.hpp:19
ResolvedStateTree::ComputeSet
Definition
ResolvedStateTree.hpp:36
ResolvedStateTree::Configuration
Definition
ResolvedStateTree.hpp:23
ResolvedStateTree::Pass
Definition
ResolvedStateTree.hpp:13
ResolvedStateTree::PipelineSet
Definition
ResolvedStateTree.hpp:29
ResolvedStateTree
Definition
ResolvedStateTree.hpp:12
plugins
Grindstone.Editor.PipelineSetImporter
include
PipelineSet
Converter
ResolvedStateTree.hpp
Generated by
1.17.0