Close shader authoring pipeline and UsePass dependency tracking

This commit is contained in:
2026-04-07 18:49:37 +08:00
parent 2f9b1696cd
commit 901a6ecc26
12 changed files with 565 additions and 319 deletions

View File

@@ -101,7 +101,7 @@ bool TryResolveBuiltinAssetPathFromAnchor(
return false;
}
bool TryResolveBuiltinShaderAssetPath(
bool TryResolveBuiltinShaderAssetPathFromRelativePath(
const std::filesystem::path& relativePath,
Containers::String& outPath) {
std::filesystem::path resolvedPath;
@@ -159,7 +159,7 @@ const char* GetBuiltinShaderAssetRelativePath(const Containers::String& builtinS
return nullptr;
}
bool TryResolveBuiltinShaderAssetPath(
bool TryResolveBuiltinShaderAssetPathInternal(
const Containers::String& builtinShaderPath,
Containers::String& outPath) {
const char* relativePath = GetBuiltinShaderAssetRelativePath(builtinShaderPath);
@@ -167,7 +167,7 @@ bool TryResolveBuiltinShaderAssetPath(
return false;
}
return TryResolveBuiltinShaderAssetPath(std::filesystem::path(relativePath), outPath);
return TryResolveBuiltinShaderAssetPathFromRelativePath(std::filesystem::path(relativePath), outPath);
}
Shader* LoadBuiltinShaderFromAsset(
@@ -188,7 +188,7 @@ Shader* LoadBuiltinShaderFromAsset(
Shader* TryLoadBuiltinShaderFromAsset(const Containers::String& builtinPath) {
Containers::String assetPath;
if (!TryResolveBuiltinShaderAssetPath(builtinPath, assetPath)) {
if (!TryResolveBuiltinShaderAssetPathInternal(builtinPath, assetPath)) {
return nullptr;
}
@@ -830,6 +830,12 @@ bool TryGetBuiltinShaderPathByShaderName(
return false;
}
bool TryResolveBuiltinShaderAssetPath(
const Containers::String& builtinShaderPath,
Containers::String& outPath) {
return TryResolveBuiltinShaderAssetPathInternal(builtinShaderPath, outPath);
}
const char* GetBuiltinPrimitiveDisplayName(BuiltinPrimitiveType primitiveType) {
switch (primitiveType) {
case BuiltinPrimitiveType::Cube: return "Cube";