From: divverent Date: Sun, 25 Jul 2010 18:42:31 +0000 (+0000) Subject: fix v_flipped with near clip plane (water, warpzone) X-Git-Tag: xonotic-v0.1.0preview~230^2~115 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2deb98cfc69b32025eceed117f9fd67d228e5c62;p=xonotic%2Fdarkplaces.git fix v_flipped with near clip plane (water, warpzone) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10363 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/gl_backend.c b/gl_backend.c index 710eb744..4e5700b8 100644 --- a/gl_backend.c +++ b/gl_backend.c @@ -561,9 +561,6 @@ void R_Viewport_InitPerspective(r_viewport_t *v, const matrix4x4_t *cameramatrix float m[16]; memset(v, 0, sizeof(*v)); - if(v_flipped.integer) - frustumx = -frustumx; - v->type = R_VIEWPORTTYPE_PERSPECTIVE; v->cameramatrix = *cameramatrix; v->x = x; @@ -589,6 +586,14 @@ void R_Viewport_InitPerspective(r_viewport_t *v, const matrix4x4_t *cameramatrix if (nearplane) R_Viewport_ApplyNearClipPlaneFloatGL(v, m, nearplane[0], nearplane[1], nearplane[2], nearplane[3]); + if(v_flipped.integer) + { + m[0] = -m[0]; + m[4] = -m[4]; + m[8] = -m[8]; + m[12] = -m[12]; + } + Matrix4x4_FromArrayFloatGL(&v->projectmatrix, m); } @@ -599,9 +604,6 @@ void R_Viewport_InitPerspectiveInfinite(r_viewport_t *v, const matrix4x4_t *came float m[16]; memset(v, 0, sizeof(*v)); - if(v_flipped.integer) - frustumx = -frustumx; - v->type = R_VIEWPORTTYPE_PERSPECTIVE_INFINITEFARCLIP; v->cameramatrix = *cameramatrix; v->x = x; @@ -627,6 +629,14 @@ void R_Viewport_InitPerspectiveInfinite(r_viewport_t *v, const matrix4x4_t *came if (nearplane) R_Viewport_ApplyNearClipPlaneFloatGL(v, m, nearplane[0], nearplane[1], nearplane[2], nearplane[3]); + if(v_flipped.integer) + { + m[0] = -m[0]; + m[4] = -m[4]; + m[8] = -m[8]; + m[12] = -m[12]; + } + Matrix4x4_FromArrayFloatGL(&v->projectmatrix, m); }