diff options
| author | MerryMage <MerryMage@users.noreply.github.com> | 2017-06-11 14:37:18 +0100 |
|---|---|---|
| committer | MerryMage <MerryMage@users.noreply.github.com> | 2017-06-15 16:38:10 +0100 |
| commit | f8a99ca19253f9760d76faa909860d101b297952 (patch) | |
| tree | ab259b91398ae7e559311afacce9c2fc9e091b2e /Source/Core/VideoCommon/VertexShaderManager.cpp | |
| parent | 44f24205171e122f491b05c75ef24495a8e555f7 (diff) | |
VertexShaderManager: Rename projection hack variables
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexShaderManager.cpp | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 8818c7f387..ea2e8a528d 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -56,8 +56,8 @@ struct ProjectionHack namespace { // Control Variables -static ProjectionHack g_ProjHack1; -static ProjectionHack g_ProjHack2; +static ProjectionHack g_proj_hack_near; +static ProjectionHack g_proj_hack_far; } // Namespace static float PHackValue(std::string sValue) @@ -92,31 +92,39 @@ static float PHackValue(std::string sValue) return f; } -void UpdateProjectionHack(int iPhackvalue[], std::string sPhackvalue[]) +void UpdateProjectionHack(const ProjectionHackConfig& config) { - float fhackvalue1 = 0, fhackvalue2 = 0; - float fhacksign1 = 1.0, fhacksign2 = 1.0; - const char* sTemp[2]; + float near_value = 0, far_value = 0; + float near_sign = 1.0, far_sign = 1.0; - if (iPhackvalue[0] == 1) + if (config.m_enable) { + const char* near_sign_str = ""; + const char* far_sign_str = ""; + NOTICE_LOG(VIDEO, "\t\t--- Orthographic Projection Hack ON ---"); - fhacksign1 *= (iPhackvalue[1] == 1) ? -1.0f : fhacksign1; - sTemp[0] = (iPhackvalue[1] == 1) ? " * (-1)" : ""; - fhacksign2 *= (iPhackvalue[2] == 1) ? -1.0f : fhacksign2; - sTemp[1] = (iPhackvalue[2] == 1) ? " * (-1)" : ""; + if (config.m_sznear) + { + near_sign *= -1.0f; + near_sign_str = " * (-1)"; + } + if (config.m_szfar) + { + far_sign *= -1.0f; + far_sign_str = " * (-1)"; + } - fhackvalue1 = PHackValue(sPhackvalue[0]); - NOTICE_LOG(VIDEO, "- zNear Correction = (%f + zNear)%s", fhackvalue1, sTemp[0]); + near_value = PHackValue(config.m_znear); + NOTICE_LOG(VIDEO, "- zNear Correction = (%f + zNear)%s", near_value, near_sign_str); - fhackvalue2 = PHackValue(sPhackvalue[1]); - NOTICE_LOG(VIDEO, "- zFar Correction = (%f + zFar)%s", fhackvalue2, sTemp[1]); + far_value = PHackValue(config.m_zfar); + NOTICE_LOG(VIDEO, "- zFar Correction = (%f + zFar)%s", far_value, far_sign_str); } // Set the projections hacks - g_ProjHack1 = ProjectionHack(fhacksign1, fhackvalue1); - g_ProjHack2 = ProjectionHack(fhacksign2, fhackvalue2); + g_proj_hack_near = ProjectionHack(near_sign, near_value); + g_proj_hack_far = ProjectionHack(far_sign, far_value); } // Viewport correction: @@ -485,10 +493,10 @@ void VertexShaderManager::SetConstants() g_fProjectionMatrix[8] = 0.0f; g_fProjectionMatrix[9] = 0.0f; - g_fProjectionMatrix[10] = (g_ProjHack1.value + rawProjection[4]) * - ((g_ProjHack1.sign == 0) ? 1.0f : g_ProjHack1.sign); - g_fProjectionMatrix[11] = (g_ProjHack2.value + rawProjection[5]) * - ((g_ProjHack2.sign == 0) ? 1.0f : g_ProjHack2.sign); + g_fProjectionMatrix[10] = (g_proj_hack_near.value + rawProjection[4]) * + ((g_proj_hack_near.sign == 0) ? 1.0f : g_proj_hack_near.sign); + g_fProjectionMatrix[11] = (g_proj_hack_far.value + rawProjection[5]) * + ((g_proj_hack_far.sign == 0) ? 1.0f : g_proj_hack_far.sign); g_fProjectionMatrix[12] = 0.0f; g_fProjectionMatrix[13] = 0.0f; |
