From 442c5cf339ddffb10db9f819704bf77ad941bc28 Mon Sep 17 00:00:00 2001
From: Adam Moss <c@yotes.com>
Date: Sat, 21 Apr 2012 18:33:07 +0100
Subject: [PATCH] STORM-1819: Ternary/graded shadow support a bunch of trivial
 clean-ups and commentary.

---
 .../shaders/class1/deferred/shadowAlphaMaskF.glsl   |  5 -----
 .../shaders/class1/deferred/shadowAlphaMaskV.glsl   |  5 -----
 .../shaders/class2/deferred/alphaF.glsl             |  3 +--
 .../shaders/class2/deferred/alphaNonIndexedF.glsl   |  3 +--
 .../class2/deferred/alphaNonIndexedNoColorF.glsl    |  3 +--
 .../shaders/class2/deferred/sunLightF.glsl          | 11 +----------
 indra/newview/pipeline.cpp                          | 13 ++++---------
 7 files changed, 8 insertions(+), 35 deletions(-)

diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
index 07d5b08191..6269a051f1 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl
@@ -29,18 +29,13 @@ out vec4 frag_color;
 #define frag_color gl_FragColor
 #endif
 
-uniform mat4 modelview_projection_matrix;
-
 uniform float minimum_alpha;
 
 uniform sampler2D diffuseMap;
 
-//flat VARYING int foo;
 VARYING float pos_zd2;
 VARYING float pos_w;
 VARYING float target_pos_x;
-//VARYING vec4 pre_pos;
-//VARYING vec4 post_pos;
 VARYING vec4 vertex_color;
 VARYING vec2 vary_texcoord0;
 
diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl
index 6397a5c461..c1f2d90712 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskV.glsl
@@ -34,9 +34,6 @@ ATTRIBUTE vec2 texcoord0;
 VARYING float pos_zd2;
 VARYING float pos_w;
 VARYING float target_pos_x;
-//flat VARYING int foo;
-//VARYING vec4 pre_pos;
-//VARYING vec4 post_pos;
 VARYING vec4 vertex_color;
 VARYING vec2 vary_texcoord0;
 
@@ -47,11 +44,9 @@ void main()
 	//transform vertex
 	vec4 pre_pos = vec4(position.xyz, 1.0);
 	vec4 pos = modelview_projection_matrix * pre_pos;
-	//post_pos = pos;
 	target_pos_x = 0.5 * (shadow_target_width - 1.0) * pos.x;
 	pos_w = pos.w;
 	pos_zd2 = pos.z * 0.5;
-	//foo = int(posxw.x);
 	
 	gl_Position = vec4(pos.x, pos.y, pos.w*0.5, pos.w);
 	
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
index 70a5912258..a8a3d3efc1 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
@@ -68,8 +68,7 @@ float pcfShadow(sampler2DRectShadow shadowMap, vec4 stc)
 	stc.xyz /= stc.w;
 	stc.z += shadow_bias;
 
-	//stc.x = floor(stc.x + fract(stc.y) * 1.5);
-	stc.x = floor(stc.x + fract(stc.y*12345));
+	stc.x = floor(stc.x + fract(stc.y*12345)); // add some chaotic jitter to X sample pos according to Y to disguise the snapping going on here
 	
 	float cs = shadow2DRect(shadowMap, stc.xyz).x;
 	float shadow = cs;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedF.glsl
index 5fc4fd72ef..d8856a5f1e 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedF.glsl
@@ -81,8 +81,7 @@ float pcfShadow(sampler2DRectShadow shadowMap, vec4 stc)
 	stc.xyz /= stc.w;
 	stc.z += shadow_bias;
 
-	//stc.x = floor(stc.x + fract(stc.y) * 1.5);
-	stc.x = floor(stc.x + fract(stc.y*12345));
+	stc.x = floor(stc.x + fract(stc.y*12345)); // add some chaotic jitter to X sample pos according to Y to disguise the snapping going on here
 	
 	float cs = shadow2DRect(shadowMap, stc.xyz).x;
 	float shadow = cs;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedNoColorF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedNoColorF.glsl
index 785d50b853..f863f07e1a 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedNoColorF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaNonIndexedNoColorF.glsl
@@ -80,8 +80,7 @@ float pcfShadow(sampler2DRectShadow shadowMap, vec4 stc)
 	stc.xyz /= stc.w;
 	stc.z += shadow_bias;
 
-	//stc.x = floor(stc.x + fract(stc.y) * 1.5);
-	stc.x = floor(stc.x + fract(stc.y*12345));
+	stc.x = floor(stc.x + fract(stc.y*12345)); // add some chaotic jitter to X sample pos according to Y to disguise the snapping going on here
 	
 	float cs = shadow2DRect(shadowMap, stc.xyz).x;
 	float shadow = cs;
diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
index b0034addb5..be11790881 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl
@@ -88,20 +88,11 @@ float pcfShadow(sampler2DRectShadow shadowMap, vec4 stc, float scl, vec2 pos_scr
 	stc.xyz /= stc.w;
 	stc.z += shadow_bias*scl;
 
-	////stc.x = floor(stc.x + fract(stc.y*12345));
-	//stc.x = floor(stc.x + fract(stc.y));
-	  stc.x = floor(stc.x + fract(pos_screen.y*0.666666666));
-
-	//stc.x = floor(stc.x);
-	//stc.y = floor(stc.y);
-
-	//stc.x += 0.5;
+	stc.x = floor(stc.x + fract(pos_screen.y*0.666666666)); // add some jitter to X sample pos according to Y to disguise the snapping going on here
 
 	float cs = shadow2DRect(shadowMap, stc.xyz).x;
 	float shadow = cs;
 
-	//return shadow;
-
 	shadow += mex(shadow2DRect(shadowMap, stc.xyz+vec3(2.0, 1.5, 0.0)).x,cs);
 	shadow += mex(shadow2DRect(shadowMap, stc.xyz+vec3(1.0, -1.5, 0.0)).x,cs);
 	shadow += mex(shadow2DRect(shadowMap, stc.xyz+vec3(-2.0, 1.5, 0.0)).x,cs);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 22a1a5b45a..e098aa244b 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -425,8 +425,6 @@ LLPipeline::LLPipeline() :
 	mLightingDetail(0),
 	mScreenWidth(0),
 	mScreenHeight(0)
-	//	mSunShadowMapWidth(0),
-	//	mSpotShadowMapWidth(0)
 {
 	mNoiseMap = 0;
 	mTrueNoiseMap = 0;
@@ -851,10 +849,10 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 
 		if (shadow_detail > 0)
 		{ //allocate 4 sun shadow maps
-			U32 mSunShadowMapWidth = ((U32(resX*scale)+1)&~1); // must be even to avoid a stripe in the horizontal shadow blur
+			U32 sun_shadow_map_width = ((U32(resX*scale)+1)&~1); // must be even to avoid a stripe in the horizontal shadow blur
 			for (U32 i = 0; i < 4; i++)
 			{
-				if (!mShadow[i].allocate(mSunShadowMapWidth,U32(resY*scale), 0, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE)) return false;
+				if (!mShadow[i].allocate(sun_shadow_map_width,U32(resY*scale), 0, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE)) return false;
 			}
 		}
 		else
@@ -863,7 +861,6 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 			{
 				mShadow[i].release();
 			}
-			//mSunShadowMapWidth = 0;
 		}
 
 		U32 width = nhpo2(U32(resX*scale))/2;
@@ -871,10 +868,10 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 
 		if (shadow_detail > 1)
 		{ //allocate two spot shadow maps
-			U32 mSpotShadowMapWidth = width;
+			U32 spot_shadow_map_width = width;
 			for (U32 i = 4; i < 6; i++)
 			{
-				if (!mShadow[i].allocate(mSpotShadowMapWidth, height, 0, TRUE, FALSE)) return false;
+				if (!mShadow[i].allocate(spot_shadow_map_width, height, 0, TRUE, FALSE)) return false;
 			}
 		}
 		else
@@ -883,7 +880,6 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
 			{
 				mShadow[i].release();
 			}
-			//mSpotShadowMapWidth = 0;
 		}
 
 		// don't disable shaders on next session
@@ -8394,7 +8390,6 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
 		gDeferredShadowAlphaMaskProgram.bind();
 		gDeferredShadowAlphaMaskProgram.setMinimumAlpha(0.598f);
 		gDeferredShadowAlphaMaskProgram.uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width);
-		//		llwarns << "target_width is " << target_width << llendl;
 
 		U32 mask =	LLVertexBuffer::MAP_VERTEX | 
 					LLVertexBuffer::MAP_TEXCOORD0 | 
-- 
GitLab