The .shader file must now include the .azsl extension when referencing a .azsl file. It will no longer be automatically appended.

Fixed an issue where the shader builder would incorrectly succeed when the .azsl file is missing.
Also renamed some variables for more consistency.
Updated all .shader files accordingly.

Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
monroegm-disable-blank-issue-2
santorac 4 years ago
parent 8c6900eb06
commit 7ba9926202

@ -81,7 +81,7 @@ namespace AZ
// Register Shader Asset Builder
AssetBuilderSDK::AssetBuilderDesc shaderAssetBuilderDescriptor;
shaderAssetBuilderDescriptor.m_name = "Shader Asset Builder";
shaderAssetBuilderDescriptor.m_version = 105; // [AZSL] Changing inlineConstant to rootConstant keyword work.
shaderAssetBuilderDescriptor.m_version = 107; // Required .azsl extension in .shader file references
// .shader file changes trigger rebuilds
shaderAssetBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern( AZStd::string::format("*.%s", RPI::ShaderSourceData::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
shaderAssetBuilderDescriptor.m_busId = azrtti_typeid<ShaderAssetBuilder>();

@ -151,11 +151,11 @@ namespace AZ
void ShaderAssetBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const
{
AZStd::string fullPath;
AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, true);
AZStd::string shaderAssetSourceFileFullPath;
AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), shaderAssetSourceFileFullPath, true);
ShaderBuilderUtility::IncludedFilesParser includedFilesParser;
AZ_TracePrintf(ShaderAssetBuilderName, "CreateJobs for Shader \"%s\"\n", fullPath.data());
AZ_TracePrintf(ShaderAssetBuilderName, "CreateJobs for Shader \"%s\"\n", shaderAssetSourceFileFullPath.data());
// Used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload.
// Note it's probably important for this to be set once outside the platform loop so every platform's ShaderAsset
@ -166,7 +166,7 @@ namespace AZ
// Need to get the name of the azsl file from the .shader source asset, to be able to declare a dependency to SRG Layout Job.
// and the macro options to preprocess.
auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(fullPath);
auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderAssetSourceFileFullPath);
if (!descriptorParseOutcome.IsSuccess())
{
AZ_Error(
@ -178,7 +178,7 @@ namespace AZ
RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue();
AZStd::string azslFullPath;
ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, shaderSourceData.m_source, azslFullPath);
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderAssetSourceFileFullPath, shaderSourceData.m_source, azslFullPath);
{
// Add the AZSL as source dependency
@ -191,9 +191,9 @@ namespace AZ
{
AZ_Error(
ShaderAssetBuilderName, false, "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str());
// Treat as success, so when the azsl file shows up the AP will try to recompile.
response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;
return;
// Even though there was an error here, don't stop, because we need to report the SourceFileDependency so when the azsl
// file shows up the AP will try to recompile. We will go ahead and create the job anyway, and then ProcessJob can
// report the failure.
}
GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName);
@ -229,7 +229,7 @@ namespace AZ
} // for all request.m_enabledPlatforms
AZ_TracePrintf(
ShaderAssetBuilderName, "CreateJobs for %s took %llu microseconds", fullPath.c_str(),
ShaderAssetBuilderName, "CreateJobs for %s took %llu microseconds", shaderAssetSourceFileFullPath.c_str(),
AZStd::GetTimeNowMicroSecond() - shaderAssetBuildTimestamp);
response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;

@ -70,11 +70,11 @@ namespace AZ
return AZ::Success(shaderSourceData);
}
void GetAbsolutePathToAzslFile(const AZStd::string& shaderTemplatePathAndFile, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteAzslPath)
void GetAbsolutePathToAzslFile(const AZStd::string& shaderSourceFileFullPath, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteAzslPath)
{
AZStd::string sourcePath;
AzFramework::StringFunc::Path::GetFullPath(shaderTemplatePathAndFile.data(), sourcePath);
AzFramework::StringFunc::Path::GetFullPath(shaderSourceFileFullPath.c_str(), sourcePath);
AzFramework::StringFunc::Path::Normalize(specifiedShaderPathAndName);
bool shaderNameHasPath = (specifiedShaderPathAndName.find(AZ_CORRECT_FILESYSTEM_SEPARATOR) != AZStd::string::npos);
@ -82,15 +82,27 @@ namespace AZ
// Join will handle overlapping directory structures for us
AzFramework::StringFunc::Path::Join(sourcePath.data(), specifiedShaderPathAndName.data(), absoluteAzslPath, shaderNameHasPath /* handle directory overlap? */, false /* be case insensitive? */);
AzFramework::StringFunc::Path::ReplaceExtension(absoluteAzslPath, "azsl");
// The builders used to automatically set the ".azsl" extension, but no more, because that would make the .shader file confusing to read.
// Here we just detect the issue and instruct the user what to change.
// (There's no need to return a failure code, the builder will eventually fail anyway when it can't find the file).
if (!IO::FileIOBase::GetInstance()->Exists(absoluteAzslPath.c_str()))
{
AZStd::string absoluteAzslPathWithForcedExtension = absoluteAzslPath;
AzFramework::StringFunc::Path::ReplaceExtension(absoluteAzslPathWithForcedExtension, "azsl");
if (IO::FileIOBase::GetInstance()->Exists(absoluteAzslPathWithForcedExtension.c_str()))
{
AZ_Error(ShaderBuilderUtilityName, false, "When the .shader file references a .azsl file, it must include the \".azsl\" extension.");
}
}
}
AZStd::shared_ptr<ShaderFiles> PrepareSourceInput(
[[maybe_unused]] const char* builderName,
const AZStd::string& shaderAssetSourcePath,
const AZStd::string& shaderSourceFileFullPath,
RPI::ShaderSourceData& sourceAsset)
{
auto shaderAssetSourceFileParseOutput = ShaderBuilderUtility::LoadShaderDataJson(shaderAssetSourcePath);
auto shaderAssetSourceFileParseOutput = ShaderBuilderUtility::LoadShaderDataJson(shaderSourceFileFullPath);
if (!shaderAssetSourceFileParseOutput.IsSuccess())
{
AZ_Error(builderName, false, "Failed to load/parse Shader Descriptor JSON: %s", shaderAssetSourceFileParseOutput.GetError().c_str());
@ -100,7 +112,7 @@ namespace AZ
AZStd::shared_ptr<ShaderFiles> files(new ShaderFiles);
const AZStd::string& specifiedAzslName = sourceAsset.m_source;
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderAssetSourcePath, specifiedAzslName, files->m_azslSourceFullPath);
ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderSourceFileFullPath, specifiedAzslName, files->m_azslSourceFullPath);
// specifiedAzslName may have a relative path on it so need to strip it
AzFramework::StringFunc::Path::GetFileName(specifiedAzslName.c_str(), files->m_azslFileName);

@ -33,12 +33,12 @@ namespace AZ
{
Outcome<RPI::ShaderSourceData, AZStd::string> LoadShaderDataJson(const AZStd::string& fullPathToJsonFile);
void GetAbsolutePathToAzslFile(const AZStd::string& shaderTemplatePathAndFile, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteShaderPath);
void GetAbsolutePathToAzslFile(const AZStd::string& shaderSourceFileFullPath, AZStd::string specifiedShaderPathAndName, AZStd::string& absoluteShaderPath);
//! Opens and read the .shader, returns expanded file paths
AZStd::shared_ptr<ShaderFiles> PrepareSourceInput(
const char* builderName,
const AZStd::string& shaderAssetSourcePath,
const AZStd::string& shaderSourceFileFullPath,
RPI::ShaderSourceData& sourceAsset);
namespace AzslSubProducts

@ -1,5 +1,5 @@
{
"Source" : "AuxGeomObject",
"Source" : "AuxGeomObject.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "AuxGeomObjectLit",
"Source" : "AuxGeomObjectLit.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "AuxGeomWorld",
"Source" : "AuxGeomWorld.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source": "BRDFTextureCS",
"Source": "BRDFTextureCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "CheckerboardColorResolveCS",
"Source": "CheckerboardColorResolveCS.azsl",
"CompilerHints":
{

@ -1,5 +1,5 @@
{
"Source" : "LutGeneration",
"Source" : "LutGeneration.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DepthPassSkin",
"Source" : "DepthPassSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "DiffuseComposite",
"Source" : "DiffuseComposite.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "DiffuseGlobalFullscreen",
"Source" : "DiffuseGlobalFullscreen.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "DiffuseProbeGridDownsample",
"Source" : "DiffuseProbeGridDownsample.azsl",
"RasterState" :
{

@ -1,6 +1,6 @@
{
"Source" : "ImGui",
"Source" : "ImGui.azsl",
"RasterState" : { "CullMode" : "None" },

@ -1,5 +1,5 @@
{
"Source": "LightCulling",
"Source": "LightCulling.azsl",
"CompilerHints":
{

@ -1,5 +1,5 @@
{
"Source" : "LightCullingHeatmap",
"Source" : "LightCullingHeatmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "LightCullingRemap",
"Source": "LightCullingRemap.azsl",
"Compiler":
{

@ -1,5 +1,5 @@
{
"Source": "LightCullingTilePrepare",
"Source": "LightCullingTilePrepare.azsl",
"CompilerHints":
{

@ -1,5 +1,5 @@
{
"Source" : "RenderTexture",
"Source" : "RenderTexture.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "MorphTargetCS",
"Source": "MorphTargetCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "CameraMotionVector",
"Source": "CameraMotionVector.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "MeshMotionVector",
"Source" : "MeshMotionVector.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "MeshMotionVectorSkin",
"Source" : "MeshMotionVectorSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "AcesOutputTransformLut",
"Source" : "AcesOutputTransformLut.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "ApplyShaperLookupTable",
"Source" : "ApplyShaperLookupTable.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "BakeAcesOutputTransformLutCS",
"Source": "BakeAcesOutputTransformLutCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "BlendColorGradingLuts",
"Source": "BlendColorGradingLuts.azsl",
"DrawList" : "forward",

@ -1,5 +1,5 @@
{
"Source": "BloomBlurCS",
"Source": "BloomBlurCS.azsl",
"DrawList" : "forward",

@ -1,5 +1,5 @@
{
"Source": "BloomCompositeCS",
"Source": "BloomCompositeCS.azsl",
"DrawList" : "forward",

@ -1,5 +1,5 @@
{
"Source": "BloomDownsampleCS",
"Source": "BloomDownsampleCS.azsl",
"DrawList" : "forward",

@ -1,5 +1,5 @@
{
"Source": "ContrastAdaptiveSharpening",
"Source": "ContrastAdaptiveSharpening.azsl",
"ProgramSettings": {
"EntryPoints": [
{

@ -1,5 +1,5 @@
{
"Source" : "ConvertToAcescg",
"Source" : "ConvertToAcescg.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "DepthDownsample",
"Source": "DepthDownsample.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldBlurBokeh",
"Source" : "DepthOfFieldBlurBokeh.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldComposite",
"Source" : "DepthOfFieldComposite.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldDownSample",
"Source" : "DepthOfFieldDownSample.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldMask",
"Source" : "DepthOfFieldMask.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DepthOfFieldPrepare",
"Source" : "DepthOfFieldPrepare.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "DepthOfFieldWriteFocusDepthFromGpu",
"Source": "DepthOfFieldWriteFocusDepthFromGpu.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source" : "DepthToLinearDepth",
"Source" : "DepthToLinearDepth.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "DepthUpsample",
"Source": "DepthUpsample.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source" : "DiffuseSpecularMerge",
"Source" : "DiffuseSpecularMerge.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DisplayMapper",
"Source" : "DisplayMapper.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "DisplayMapperOnlyGammaCorrection",
"Source" : "DisplayMapperOnlyGammaCorrection.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "DownsampleLuminanceMinAvgMaxCS",
"Source": "DownsampleLuminanceMinAvgMaxCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "DownsampleMinAvgMaxCS",
"Source": "DownsampleMinAvgMaxCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "EyeAdaptation",
"Source": "EyeAdaptation.azsl",
"ProgramSettings" :

@ -1,5 +1,5 @@
{
"Source": "FastDepthAwareBlurHor",
"Source": "FastDepthAwareBlurHor.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source": "FastDepthAwareBlurVer",
"Source": "FastDepthAwareBlurVer.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source" : "FullscreenCopy",
"Source" : "FullscreenCopy.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "HDRColorGrading",
"Source" : "HDRColorGrading.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "LookModificationTransform",
"Source" : "LookModificationTransform.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "LuminanceHeatmap",
"Source" : "LuminanceHeatmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "LuminanceHistogramGenerator",
"Source": "LuminanceHistogramGenerator.azsl",
"DrawList" : "forward",

@ -1,5 +1,5 @@
{
"Source": "MSAAResolveCustom",
"Source": "MSAAResolveCustom.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "MSAAResolveDepth",
"Source" : "MSAAResolveDepth.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "Always" }

@ -1,5 +1,5 @@
{
"Source": "ModulateTexture",
"Source": "ModulateTexture.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source" : "OutputTransform",
"Source" : "OutputTransform.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "SMAABlendingWeightCalculation",
"Source" : "SMAABlendingWeightCalculation.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "SMAAConvertToPerceptualColor",
"Source" : "SMAAConvertToPerceptualColor.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "SMAAEdgeDetection",
"Source" : "SMAAEdgeDetection.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "SMAANeighborhoodBlending",
"Source" : "SMAANeighborhoodBlending.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source": "ScreenSpaceSubsurfaceScatteringCS",
"Source": "ScreenSpaceSubsurfaceScatteringCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source": "SsaoCompute",
"Source": "SsaoCompute.azsl",
"ProgramSettings" :
{

@ -1,5 +1,5 @@
{
"Source": "Taa",
"Source": "Taa.azsl",
"ProgramSettings": {
"EntryPoints": [
{

@ -1,5 +1,5 @@
{
"Source" : "UniformColor",
"Source" : "UniformColor.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false }

@ -1,5 +1,5 @@
{
"Source" : "ReflectionComposite",
"Source" : "ReflectionComposite.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionGlobalFullscreen",
"Source" : "ReflectionGlobalFullscreen.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeBlendWeight",
"Source" : "ReflectionProbeBlendWeight.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeRenderInner",
"Source" : "ReflectionProbeRenderInner.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeRenderOuter",
"Source" : "ReflectionProbeRenderOuter.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionProbeStencil",
"Source" : "ReflectionProbeStencil.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceBlurHorizontal",
"Source" : "ReflectionScreenSpaceBlurHorizontal.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceBlurVertical",
"Source" : "ReflectionScreenSpaceBlurVertical.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceComposite",
"Source" : "ReflectionScreenSpaceComposite.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "ReflectionScreenSpaceTrace",
"Source" : "ReflectionScreenSpaceTrace.azsl",
"RasterState" :
{

@ -1,5 +1,5 @@
{
"Source" : "DepthExponentiation",
"Source" : "DepthExponentiation.azsl",
"DrawList" : "shadow",

@ -1,5 +1,5 @@
{
"Source" : "KawaseShadowBlur",
"Source" : "KawaseShadowBlur.azsl",
"DrawList" : "shadow",

@ -1,5 +1,5 @@
{
"Source" : "Shadowmap",
"Source" : "Shadowmap.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }

@ -1,5 +1,5 @@
{
"Source" : "ShadowmapSkin",
"Source" : "ShadowmapSkin.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }

@ -1,5 +1,5 @@
{
"Source": "LinearSkinningCS",
"Source": "LinearSkinningCS.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source" : "SkyBox",
"Source" : "SkyBox.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "SkyBox_TwoOutputs",
"Source" : "SkyBox_TwoOutputs.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source": "DecomposeMsImage",
"Source": "DecomposeMsImage.azsl",
"ProgramSettings":
{

@ -1,5 +1,5 @@
{
"Source" : "ImagePreview",
"Source" : "ImagePreview.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : false, "CompareFunc" : "GreaterEqual" }

@ -1,5 +1,5 @@
{
"Source" : "LyShineUI",
"Source" : "LyShineUI.azsl",
"DepthStencilState" : {
"Depth" : {

@ -1,5 +1,5 @@
{
"Source" : "SimpleTextured",
"Source" : "SimpleTextured.azsl",
"DepthStencilState" : {
"Depth" : {

@ -1,5 +1,5 @@
{
"Source" : "TexturedIcon",
"Source" : "TexturedIcon.azsl",
"DepthStencilState" : {
"Depth" : {

@ -1,6 +1,6 @@
{
"Source" : "ImGuiAtom",
"Source" : "ImGuiAtom.azsl",
"RasterState" : { "CullMode" : "None" },

@ -1,5 +1,5 @@
{
"Source" : "Terrain_DepthPass",
"Source" : "Terrain_DepthPass.azsl",
"DepthStencilState" : {
"Depth" : { "Enable" : true, "CompareFunc" : "LessEqual" }

Loading…
Cancel
Save