02-09-2013, 09:14 AM
(02-08-2013, 11:44 AM)KrossX Wrote: [ -> ]So, I finished Xenosaga Ep1 and some texture edge bug was annoying me, but meh. I started playing Episode 2 and finally made a GS snap to mess around with. Found a thread about it (oddly enough with a shot at the same place I took it) HERE. Gs snap HERE.
(using that thread's image while at it, cuz I'm lazy )
I've traced it to tfx.fx:244, but I'm too sleepy to do anything about it. The d3d9 part is fine as it doesn't show the issue. The line doesn't seem to have been touched in the... googlecode history, the other wrapps have seen a fix or two though.
Code:uv = (float4)(((int4)(uv * WH.xyxy) & MskFix.xyxy) | MskFix.zwzw) / WH.xyxy; // <<<<<<<====== EVIL!!
Code:float4 wrapuv(float4 uv)
{
if(PS_WMS == PS_WMT)
{
/*
if(PS_WMS == 0)
{
uv = frac(uv);
}
else if(PS_WMS == 1)
{
uv = saturate(uv);
}
else
*/
if(PS_WMS == 2)
{
uv = clamp(uv, MinMax.xyxy, MinMax.zwzw);
}
else if(PS_WMS == 3)
{
#if SHADER_MODEL >= 0x400
uv = (float4)(((int4)(uv * WH.xyxy) & MskFix.xyxy) | MskFix.zwzw) / WH.xyxy; // <<<<<<<====== EVIL!!
#elif SHADER_MODEL <= 0x300
uv.x = tex1D(UMSKFIX, uv.x);
uv.y = tex1D(VMSKFIX, uv.y);
uv.z = tex1D(UMSKFIX, uv.z);
uv.w = tex1D(VMSKFIX, uv.w);
#endif
}
}
else
#EDIT: Perhaps it's a Radeon thing? If someone with an nVIDIA could check the gs_snap, that would be nice.
#EDIT2: Hackzoring... Screenshot
Code:uv = (float4)(((int4)(uv * WH.xyxy) & MskFix.xyxy) | MskFix.zwzw) / WH.xyxy;
uv.w = uv.y;
There, evil edge lines are gone. Side effect, there's no filtering in that direction now.
#EDIT3: Hackzoring 2... Screenshot
Code:uv.yw += -1.0f / WH.y;
uv = (float4)(((int4)(uv * WH.xyxy) & MskFix.xyxy) | MskFix.zwzw) / WH.xyxy;
This one works nicely.
Are we talking about the lines around the hair? cause Xenosaga had same issue. Would love have that fixed. It by no means a game breaking but it is a eyesore
Nvidia gpu here. DX11 render too