载入中...
搜索中...
未找到
VegetationPreset.cpp
浏览该文件的文档.
19 Diagnostic::error(DiagnosticCode::ParseError, "arguments must be an array", std::string(path), {},
26 Diagnostic::error(DiagnosticCode::ParseError, "argument must be a string", std::string(path), {},
55 if (name == "SHADER_NAME_CONTAINS") return Result<bool>::success(contains(context.shaderName, arguments));
56 if (name == "MATERIAL_NAME_CONTAINS") return Result<bool>::success(contains(context.materialName, arguments));
72 if (arguments.size() != 1 && name != "SHADER_PIPELINE_IS_HD" && name != "SHADER_PIPELINE_IS_STANDARD" &&
79 if (name == "MATERIAL_HAS_PROP") return Result<bool>::success(context.materialProperties.contains(arguments[0]));
80 if (name == "MATERIAL_HAS_TEX") return Result<bool>::success(context.materialTextures.contains(arguments[0]));
85 if (name == "SHADER_PIPELINE_IS_HD") return Result<bool>::success(context.shaderPipeline == "HD");
86 if (name == "SHADER_PIPELINE_IS_STANDARD") return Result<bool>::success(context.shaderPipeline == "Standard");
87 if (name == "SHADER_PIPELINE_IS_UNIVERSAL") return Result<bool>::success(context.shaderPipeline == "Universal");
88 return Result<bool>::failure(Diagnostic::error(DiagnosticCode::Unsupported, "unknown TVE preset predicate",
131 if (!name || !name->isString() || !negated || !negated->isBool() || !body || !body->isArray() || !arguments)
152 return Result<void>::failure(Diagnostic::error(DiagnosticCode::NotFound, "TVE preset include is missing",
155 return Result<void>::failure(Diagnostic::error(DiagnosticCode::Conflict, "TVE preset include cycle", name,
162 if (!root || !schema || !schema->isString() || schema->asString() != "eve.vegetation-conversion-preset" ||
163 !version || !version->isInt64() || version->asInt() != 1 || !source || !source->isString() || !body ||
176Result<std::vector<VegetationPresetCommand>> evaluateVegetationPreset(const std::map<std::string, Value>& definitions,
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Definition AssetImporter.h:14
Result< std::vector< VegetationPresetCommand > > evaluateVegetationPreset(const std::map< std::string, Value > &definitions, std::string_view root, const VegetationPresetContext &context)
Decode, resolve and evaluate a library of canonical TVE preset definitions.
Definition VegetationPreset.cpp:176
std::variant< std::monostate, std::int64_t, double, std::string, bool > Value
Definition Database.h:26
std::vector< OnnxNamedTensor > evaluate(const ModelData &, std::span< const OnnxNamedTensor >, const std::vector< std::string > &, OnnxCompute *, OnnxRunOptions options)
Evaluate.
Definition OnnxRuntime.cpp:343
@ NotFound
@ Unsupported
@ ParseError
@ Conflict
Immutable source facts used by TVE preset predicates.
Definition VegetationPreset.h:29
std::set< std::string > materialTextures
Definition VegetationPreset.h:36
std::string shaderName
Definition VegetationPreset.h:31
std::map< std::string, double > materialFloats
Definition VegetationPreset.h:34
std::set< std::string > outputOptions
Definition VegetationPreset.h:30
std::set< std::string > materialProperties
Definition VegetationPreset.h:35
std::string materialName
Definition VegetationPreset.h:32
std::string shaderPipeline
Definition VegetationPreset.h:33
std::set< std::string > materialKeywords
Definition VegetationPreset.h:37