From: havoc Date: Thu, 15 Jul 2010 12:39:14 +0000 (+0000) Subject: fix r_shadows 2 shadowmapping by rendering to the correct depth range in X-Git-Tag: xonotic-v0.1.0preview~230^2~147 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=1212b6bbf6264e63229f0c4fcdca7cade6065a6e;p=xonotic%2Fdarkplaces.git fix r_shadows 2 shadowmapping by rendering to the correct depth range in GL again git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10331 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/gl_backend.c b/gl_backend.c index a549db88..710eb744 100644 --- a/gl_backend.c +++ b/gl_backend.c @@ -515,13 +515,25 @@ void R_Viewport_InitOrtho(r_viewport_t *v, const matrix4x4_t *cameramatrix, int memset(m, 0, sizeof(m)); m[0] = 2/(right - left); m[5] = 2/(top - bottom); -// m[10] = -2/(zFar - zNear); - m[10] = -1/(zFar - zNear); + m[10] = -2/(zFar - zNear); m[12] = - (right + left)/(right - left); m[13] = - (top + bottom)/(top - bottom); -// m[14] = - (zFar + zNear)/(zFar - zNear); - m[14] = -zNear/(zFar-zNear); + m[14] = - (zFar + zNear)/(zFar - zNear); m[15] = 1; + switch(vid.renderpath) + { + case RENDERPATH_GL11: + case RENDERPATH_GL13: + case RENDERPATH_GL20: + case RENDERPATH_CGGL: + break; + case RENDERPATH_D3D9: + case RENDERPATH_D3D10: + case RENDERPATH_D3D11: + m[10] = -1/(zFar - zNear); + m[14] = -zNear/(zFar-zNear); + break; + } v->screentodepth[0] = -farclip / (farclip - nearclip); v->screentodepth[1] = farclip * nearclip / (farclip - nearclip);