Add depth-only and shadow-caster pass skeletons
This commit is contained in:
@@ -29,6 +29,8 @@ constexpr const char* kBuiltinTexturePrefix = "builtin://textures/";
|
||||
constexpr const char* kBuiltinDefaultPrimitiveMaterialPath = "builtin://materials/default-primitive";
|
||||
constexpr const char* kBuiltinForwardLitShaderPath = "builtin://shaders/forward-lit";
|
||||
constexpr const char* kBuiltinUnlitShaderPath = "builtin://shaders/unlit";
|
||||
constexpr const char* kBuiltinDepthOnlyShaderPath = "builtin://shaders/depth-only";
|
||||
constexpr const char* kBuiltinShadowCasterShaderPath = "builtin://shaders/shadow-caster";
|
||||
constexpr const char* kBuiltinObjectIdShaderPath = "builtin://shaders/object-id";
|
||||
constexpr const char* kBuiltinDefaultPrimitiveTexturePath = "builtin://textures/default-primitive-albedo";
|
||||
constexpr float kPi = 3.14159265358979323846f;
|
||||
@@ -44,6 +46,10 @@ constexpr const char* kBuiltinForwardLitShaderManifestRelativePath =
|
||||
"engine/assets/builtin/shaders/forward-lit/forward-lit.shader";
|
||||
constexpr const char* kBuiltinUnlitShaderManifestRelativePath =
|
||||
"engine/assets/builtin/shaders/unlit/unlit.shader";
|
||||
constexpr const char* kBuiltinDepthOnlyShaderManifestRelativePath =
|
||||
"engine/assets/builtin/shaders/depth-only/depth-only.shader";
|
||||
constexpr const char* kBuiltinShadowCasterShaderManifestRelativePath =
|
||||
"engine/assets/builtin/shaders/shadow-caster/shadow-caster.shader";
|
||||
constexpr const char* kBuiltinObjectIdShaderManifestRelativePath =
|
||||
"engine/assets/builtin/shaders/object-id/object-id.shader";
|
||||
|
||||
@@ -115,6 +121,12 @@ const char* GetBuiltinShaderManifestRelativePath(const Containers::String& built
|
||||
if (builtinShaderPath == Containers::String(kBuiltinUnlitShaderPath)) {
|
||||
return kBuiltinUnlitShaderManifestRelativePath;
|
||||
}
|
||||
if (builtinShaderPath == Containers::String(kBuiltinDepthOnlyShaderPath)) {
|
||||
return kBuiltinDepthOnlyShaderManifestRelativePath;
|
||||
}
|
||||
if (builtinShaderPath == Containers::String(kBuiltinShadowCasterShaderPath)) {
|
||||
return kBuiltinShadowCasterShaderManifestRelativePath;
|
||||
}
|
||||
if (builtinShaderPath == Containers::String(kBuiltinObjectIdShaderPath)) {
|
||||
return kBuiltinObjectIdShaderManifestRelativePath;
|
||||
}
|
||||
@@ -646,6 +658,14 @@ Shader* BuildBuiltinUnlitShader(const Containers::String& path) {
|
||||
return TryLoadBuiltinShaderFromManifest(path);
|
||||
}
|
||||
|
||||
Shader* BuildBuiltinDepthOnlyShader(const Containers::String& path) {
|
||||
return TryLoadBuiltinShaderFromManifest(path);
|
||||
}
|
||||
|
||||
Shader* BuildBuiltinShadowCasterShader(const Containers::String& path) {
|
||||
return TryLoadBuiltinShaderFromManifest(path);
|
||||
}
|
||||
|
||||
Shader* BuildBuiltinObjectIdShader(const Containers::String& path) {
|
||||
return TryLoadBuiltinShaderFromManifest(path);
|
||||
}
|
||||
@@ -756,6 +776,14 @@ Containers::String GetBuiltinUnlitShaderPath() {
|
||||
return Containers::String(kBuiltinUnlitShaderPath);
|
||||
}
|
||||
|
||||
Containers::String GetBuiltinDepthOnlyShaderPath() {
|
||||
return Containers::String(kBuiltinDepthOnlyShaderPath);
|
||||
}
|
||||
|
||||
Containers::String GetBuiltinShadowCasterShaderPath() {
|
||||
return Containers::String(kBuiltinShadowCasterShaderPath);
|
||||
}
|
||||
|
||||
Containers::String GetBuiltinObjectIdShaderPath() {
|
||||
return Containers::String(kBuiltinObjectIdShaderPath);
|
||||
}
|
||||
@@ -852,6 +880,10 @@ LoadResult CreateBuiltinShaderResource(const Containers::String& path) {
|
||||
shader = BuildBuiltinForwardLitShader(path);
|
||||
} else if (path == GetBuiltinUnlitShaderPath()) {
|
||||
shader = BuildBuiltinUnlitShader(path);
|
||||
} else if (path == GetBuiltinDepthOnlyShaderPath()) {
|
||||
shader = BuildBuiltinDepthOnlyShader(path);
|
||||
} else if (path == GetBuiltinShadowCasterShaderPath()) {
|
||||
shader = BuildBuiltinShadowCasterShader(path);
|
||||
} else if (path == GetBuiltinObjectIdShaderPath()) {
|
||||
shader = BuildBuiltinObjectIdShader(path);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user