3#include "Renderer/RenderResource.h"
4#include "Utilities/Parsing.h"
6#include "Foundation/StringView.h"
18 std::vector<StringParameter> values;
26 RenderResourceType type = RenderResourceType::Unknown;
28 std::vector<ParsedValue> parameters;
30 std::vector<std::string> textures;
32 std::string condition;
36 for (
auto& p : parameters) {
47 return getParameter(key);
52 return getParameter(key,
StringView(fallback));
55 bool getParameter(
const StringView & key,
bool fallback)
const
57 auto p = getParameter(key,
"");
59 return (p && p->type == ParsedDataType::Bool) ? p->boolValue : fallback;
62 int getParameter(
const StringView & key,
int fallback)
const
64 auto p = getParameter(key,
"");
66 return (p && p->type == ParsedDataType::Int) ? p->intValue : fallback;
72 RenderTaskSlot(
const std::string & key,
const std::string & value) : key(key), value(value) {}
85 std::vector<RenderTaskSlot> inputs;
86 std::vector<RenderTaskSlot> outputs;
88 std::vector<std::string> dependencies;
90 std::vector<ParsedValue> parameters;
91 std::vector<StringParameter> options;
93 std::string condition;
99 std::vector<std::string> values;
107 std::vector<ParsedOption> options;
109 std::vector<RenderResourceDefinition> resources;
110 std::vector<RenderTaskDefinition> tasks;
112 std::vector<StringParameter> imports;
113 std::vector<RenderPipelineDefinition> generators;
115 std::vector<RenderTaskSlot> inputs;
116 std::vector<RenderTaskSlot> outputs;
118 std::vector<ParsedValue> useVariables;
119 std::vector<ParsedValue> setVariables;
120 std::vector<ParsedValue> useComponentFields;
Provides a weakly referenced view over the contents of a string.
Contains all Cogs related functionality.
Stores the parsed output of a key/value pair.