clip space coordinates are now available in fragment shader because depth needs to be computed there instead of the vertex shader. computing it in the vertex shader causes incorrect results sometimes. worked on z textures but 8 bit z texture still is not correct because it breaks SSBM. RE0 now looks ok.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2163 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
donkopunchstania
2009-02-08 22:08:20 +00:00
parent 128313cdea
commit f5f99e8f04
7 changed files with 101 additions and 60 deletions

View File

@ -252,7 +252,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
//---------Projection[11]---------
// No hacks
if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2))
g_fProjectionMatrix[11] = -(-1.0f - xfregs.rawProjection[5]);
g_fProjectionMatrix[11] = -(-0.5f - xfregs.rawProjection[5]);
// Before R945 Hack
if (proj_hax_1 && !proj_hax_2)
@ -260,7 +260,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
// R844 Hack
if (!proj_hax_1 && proj_hax_2)
g_fProjectionMatrix[11] = -xfregs.rawProjection[5];
g_fProjectionMatrix[11] = xfregs.rawProjection[5];
//--------------------------------
@ -431,4 +431,4 @@ void VertexShaderManager::SetMaterialColor(int index, u32 data)
s_fMaterials[15] = ((data)&0xFF)/255.0f;
break;
}
}
}