Software: Always divide the texture coordinates by q.

Equivalent to da43f9a15 for the software renderer.
This commit is contained in:
Pokechu22
2020-12-16 13:09:45 -08:00
parent a2fa89b15e
commit 7d5ae03219

View File

@ -228,12 +228,9 @@ static void BuildBlock(s32 blockX, s32 blockY)
for (unsigned int i = 0; i < bpmem.genMode.numtexgens; i++) for (unsigned int i = 0; i < bpmem.genMode.numtexgens; i++)
{ {
float projection = invW; float projection = invW;
if (xfmem.texMtxInfo[i].projection)
{
float q = TexSlopes[i][2].GetValue(dx, dy) * invW; float q = TexSlopes[i][2].GetValue(dx, dy) * invW;
if (q != 0.0f) if (q != 0.0f)
projection = invW / q; projection = invW / q;
}
pixel.Uv[i][0] = TexSlopes[i][0].GetValue(dx, dy) * projection; pixel.Uv[i][0] = TexSlopes[i][0].GetValue(dx, dy) * projection;
pixel.Uv[i][1] = TexSlopes[i][1].GetValue(dx, dy) * projection; pixel.Uv[i][1] = TexSlopes[i][1].GetValue(dx, dy) * projection;