mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-28 11:49:06 +00:00
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:
parent
128313cdea
commit
f5f99e8f04
7 changed files with 101 additions and 60 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue