From 7f3a3ccd6c56cec4d66526334dc9b65a5006424a Mon Sep 17 00:00:00 2001 From: raven02 Date: Tue, 1 Oct 2013 08:32:33 +0800 Subject: [PATCH] Projection mapping : Initialize z as 1.0f --- GPU/GLES/TransformPipeline.cpp | 4 ++-- GPU/GLES/VertexShaderGenerator.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GPU/GLES/TransformPipeline.cpp b/GPU/GLES/TransformPipeline.cpp index 364a5c068f..45bdbbee45 100644 --- a/GPU/GLES/TransformPipeline.cpp +++ b/GPU/GLES/TransformPipeline.cpp @@ -469,7 +469,7 @@ void TransformDrawEngine::SoftwareTransformAndDraw( float v[3] = {0, 0, 0}; float c0[4] = {1, 1, 1, 1}; float c1[4] = {0, 0, 0, 0}; - float uv[3] = {0, 0, 0}; + float uv[3] = {0, 0, 1}; float fogCoef = 1.0f; if (throughmode) { @@ -658,7 +658,7 @@ void TransformDrawEngine::SoftwareTransformAndDraw( } uv[0] = uv[0] * widthFactor; uv[1] = uv[1] * heightFactor; - + // Transform the coord by the view matrix. Vec3ByMatrix43(v, out, gstate.viewMatrix); fogCoef = (v[2] + fog_end) * fog_slope; diff --git a/GPU/GLES/VertexShaderGenerator.cpp b/GPU/GLES/VertexShaderGenerator.cpp index fe278a357b..2b1a8f189b 100644 --- a/GPU/GLES/VertexShaderGenerator.cpp +++ b/GPU/GLES/VertexShaderGenerator.cpp @@ -557,9 +557,9 @@ void GenerateVertexShader(int prim, u32 vertType, char *buffer, bool useHWTransf temp_tc = "vec4(0.0, 0.0, 1.0, 1.0)"; break; } + // Transform by texture matrix. XYZ as we are doing projection mapping. WRITE(p, " v_texcoord = (u_texmtx * %s).xyz * vec3(u_uvscaleoffset.xy, 1.0);\n", temp_tc.c_str()); } - // Transform by texture matrix. XYZ as we are doing projection mapping. break; case GE_TEXMAP_ENVIRONMENT_MAP: // Shade mapping - use dots from light sources.