GeometryShaderGen: Use lower-left origin for point texture coordinates
From what I can tell, the emulated GPU places (0,0) at the lower left of the image, and we were generating texture coordinates so that (0,0) was at the upper-left in the expansion geometry shader, causing textures used by point sprites to be flipped vertically. Fixes the upside-down A button in Mario Golf.
This commit is contained in:
parent
cbb0f78dd1
commit
176177af49
|
@ -285,9 +285,9 @@ ShaderCode GenerateGeometryShaderCode(APIType ApiType, const geometry_shader_uid
|
|||
for (unsigned int i = 0; i < uid_data->numTexGens; ++i)
|
||||
{
|
||||
out.Write("\tif (((" I_TEXOFFSET "[1] >> %d) & 0x1) != 0) {\n", i);
|
||||
out.Write("\t\tll.tex%d.xy += float2(0,1) * texOffset;\n", i);
|
||||
out.Write("\t\tlr.tex%d.xy += texOffset;\n", i);
|
||||
out.Write("\t\tur.tex%d.xy += float2(1,0) * texOffset;\n", i);
|
||||
out.Write("\t\tul.tex%d.xy += float2(0,1) * texOffset;\n", i);
|
||||
out.Write("\t\tur.tex%d.xy += texOffset;\n", i);
|
||||
out.Write("\t\tlr.tex%d.xy += float2(1,0) * texOffset;\n", i);
|
||||
out.Write("\t}\n");
|
||||
}
|
||||
out.Write("\t}\n");
|
||||
|
|
Loading…
Reference in New Issue