Convert NaN to 1 when generating texture coordinates

This fixes eyelids in Shadow the Hedgehog during cutscenes (https://bugs.dolphin-emu.org/issues/11458)
This commit is contained in:
Pokechu22
2021-07-20 19:00:29 -07:00
parent 55a465c6e6
commit 3a4d8379bf
3 changed files with 23 additions and 0 deletions

View File

@ -332,6 +332,13 @@ ShaderCode GenerateVertexShaderCode(APIType api_type, const ShaderHostConfig& ho
if (texinfo.inputform == TexInputForm::AB11)
out.Write("coord.z = 1.0;\n");
// Convert NaNs to 1 - needed to fix eyelids in Shadow the Hedgehog during cutscenes
// See https://bugs.dolphin-emu.org/issues/11458
out.Write("// Convert NaN to 1\n");
out.Write("if (isnan(coord.x)) coord.x = 1.0;\n");
out.Write("if (isnan(coord.y)) coord.y = 1.0;\n");
out.Write("if (isnan(coord.z)) coord.z = 1.0;\n");
// first transformation
switch (texinfo.texgentype)
{