CModelShaders: Disable Z-test for LightingAlphaWrite

Permits static thermal hot objects to render properly
This commit is contained in:
Luke Street 2020-09-27 12:23:54 -04:00
parent 9a7bceb637
commit 6ff305da06
3 changed files with 4 additions and 4 deletions

View File

@ -578,7 +578,7 @@ static EExtendedShader ResolveExtendedShader(const MaterialSet::Material& data,
if (intermediateExtended == EExtendedShader::Lighting) {
/* Transform lighting into thermal cold if the thermal visor is active */
if (g_Renderer->IsThermalVisorHotPass())
return EExtendedShader::LightingAlphaWrite;
return EExtendedShader::LightingAlphaWriteNoZTest;
else if (g_Renderer->IsThermalVisorActive())
return EExtendedShader::ThermalCold;
if (data.blendMode == MaterialSet::Material::BlendMaterial::BlendMode::Opaque) {

View File

@ -149,9 +149,9 @@ static std::array<hecl::Backend::ExtensionSlot, 26> g_ExtensionSlots{{
/* Thermal cold shading */
{0, nullptr, hecl::Backend::BlendFactor::Original, hecl::Backend::BlendFactor::Original,
hecl::Backend::ZTest::Original, hecl::Backend::CullMode::Original, false, false, true, false, false, false, true},
/* Normal lit shading with alpha */
/* Normal lit shading with alpha without depth test */
{0, nullptr, hecl::Backend::BlendFactor::Original, hecl::Backend::BlendFactor::Original,
hecl::Backend::ZTest::Original, hecl::Backend::CullMode::Backface},
hecl::Backend::ZTest::None, hecl::Backend::CullMode::Backface},
/* Normal lit shading with cube reflection */
{0, nullptr, hecl::Backend::BlendFactor::Original, hecl::Backend::BlendFactor::Original,
hecl::Backend::ZTest::Original, hecl::Backend::CullMode::Backface, false, false, true},

View File

@ -45,7 +45,7 @@ enum class EExtendedShader : uint8_t {
Disintegrate,
ForcedAdditiveNoZWriteDepthGreater,
ThermalCold,
LightingAlphaWrite,
LightingAlphaWriteNoZTest,
LightingCubeReflection,
LightingCubeReflectionWorldShadow,
MAX