From 18972ded298b2a47035e5dcf40e2391d717d9d76 Mon Sep 17 00:00:00 2001
From: Zack Middleton <zturtleman@gmail.com>
Date: Tue, 10 Jun 2014 21:21:32 -0500
Subject: OpenGL2 don't try to dlight surfaces that had all dlights culled

In the renderers, dlightbits are never cleared from world surfaces.
The dlight image does not repeat, so if it draws on extra surfaces it's
not visible.

However if using a repeating image (tr.defaultImage instead of tr.dlightImage);

  * In OpenGL1 image is only drawn on surfaces close to dlight origin.
  * In OpenGL2 image is draw on surfaces clearly outside the dlight radius, including past non-dlighted surfaces.

It seems there was a similar issue with pshadowBits. So update surface
dlightBits even if 0, like already done for pshadowBits. This causes
only surfaces close to origin to be affected. (Though it is a little
farther than in OpenGL1.)

I have no idea why this isn't a problem in OpenGL1.
---
 src/renderergl2/tr_world.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/renderergl2/tr_world.c b/src/renderergl2/tr_world.c
index 6608d70b..9547c2e4 100644
--- a/src/renderergl2/tr_world.c
+++ b/src/renderergl2/tr_world.c
@@ -331,7 +331,7 @@ static void R_AddWorldSurface( msurface_t *surf, int dlightBits, int pshadowBits
 	}
 
 	// check for dlighting
-	if ( dlightBits ) {
+	/*if ( dlightBits ) */{
 		dlightBits = R_DlightSurface( surf, dlightBits );
 		dlightBits = ( dlightBits != 0 );
 	}
-- 
cgit