Merge pull request #9928 from Pokechu22/shadow-the-hedgehog-eyelids-NaN
Convert NaN to 1 when generating texture coordinates
This commit is contained in:
commit
c9c5f7a89c
|
@ -137,6 +137,15 @@ static void TransformTexCoordRegular(const TexMtxInfo& texinfo, int coordNum,
|
|||
}
|
||||
}
|
||||
|
||||
// Convert NaNs to 1 - needed to fix eyelids in Shadow the Hedgehog during cutscenes
|
||||
// See https://bugs.dolphin-emu.org/issues/11458
|
||||
if (std::isnan(src.x))
|
||||
src.x = 1;
|
||||
if (std::isnan(src.y))
|
||||
src.y = 1;
|
||||
if (std::isnan(src.z))
|
||||
src.z = 1;
|
||||
|
||||
const float* mat = &xfmem.posMatrices[srcVertex->texMtx[coordNum] * 4];
|
||||
Vec3* dst = &dstVertex->texCoords[coordNum];
|
||||
|
||||
|
|
|
@ -435,6 +435,13 @@ static void GenVertexShaderTexGens(APIType api_type, u32 num_texgen, ShaderCode&
|
|||
out.Write(" coord.z = 1.0f;\n"
|
||||
"\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");
|
||||
|
||||
out.Write(" // first transformation\n");
|
||||
out.Write(" uint texgentype = {};\n", BitfieldExtract<&TexMtxInfo::texgentype>("texMtxInfo"));
|
||||
out.Write(" float3 output_tex;\n"
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue