Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaderenv.h
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaderenv.h	(revision 3319)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaderenv.h	(revision 3322)
@@ -9,5 +9,5 @@
 //#define NUM_SAMPLES 16
 //#define NUM_SAMPLES 24
-#define NUM_SAMPLES 48
+#define NUM_SAMPLES 8
 
 //#define MIN_SAMPLES 48
Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao.cg
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao.cg	(revision 3321)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao.cg	(revision 3322)
@@ -194,5 +194,5 @@
 		//-- (affects performance for some reason!)
 
-		if (convergence < SSAO_CONVERGENCE_THRESHOLD)
+		if (1)//convergence < SSAO_CONVERGENCE_THRESHOLD)
 		{
 			float2 mynoise = tex2Dlod(noiseTex, float4(IN.texCoord * 4.0f, 0, 0)).xy;
Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/combineSsaoSep.cg
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/combineSsaoSep.cg	(revision 3319)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/combineSsaoSep.cg	(revision 3322)
@@ -192,5 +192,5 @@
 	{
 		// the filtered ssao value
-		OUT.illum_col.x = FilterXY(IN.texCoord, ssaoTex, colorsTex, bl, br, tl, tr, xyStep, convergence, maxConvergence, spatialWeight);
+		//OUT.illum_col.x = FilterXY(IN.texCoord, ssaoTex, colorsTex, bl, br, tl, tr, xyStep, convergence, maxConvergence, spatialWeight);
 	}
 
@@ -232,5 +232,5 @@
 	{
 		// the filtered ssao value
-		ao.x = FilterXY(IN.texCoord, ssaoTex, colorsTex, bl, br, tl, tr, xyStep, convergence, maxConvergence, spatialWeight);
+		//ao.x = FilterXY(IN.texCoord, ssaoTex, colorsTex, bl, br, tl, tr, xyStep, convergence, maxConvergence, spatialWeight);
 	}
 
Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/Halton.cpp
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/Halton.cpp	(revision 3227)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/Halton.cpp	(revision 3322)
@@ -49,5 +49,5 @@
 	}
 
-	mIndex %= 100000000;
+	//mIndex %= 100000000;
 	return result;
 }
Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.cpp
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.cpp	(revision 3313)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.cpp	(revision 3322)
@@ -118,4 +118,5 @@
 
 
+#if 0
 void RandomSampleGenerator2D::Generate(float *samples) const
 {
@@ -144,4 +145,43 @@
 }
 
+#else
+
+void RandomSampleGenerator2D::Generate(float *samples) const
+{
+	Sample2 *s = (Sample2 *)samples;
+
+	int numSamples = 0;
+	float x[2];
+
+	static float total1 = 0;
+	static float total2 = 0;
+	static int totalSamples = 0;
+
+	for (int i = 0; i < mNumSamples; ++ i)
+	{
+		//x[0] = RandomValue(0, 1); x[1] = RandomValue(0, 1);
+		mHalton->GetNext(x);
+		
+		const float a = 2.0f * M_PI * x[0];
+		const float r = mRadius * sqrt(x[1]);
+
+		s[i].x = r * cos(a);
+		s[i].y = r * sin(a);
+
+		total1 += x[0];
+		total2 += x[1];
+		totalSamples ++;
+
+		if (totalSamples % 1000 == 1)
+		{
+			float n1 = (float)total1 / totalSamples;
+			float n2 = (float)total2 / totalSamples;
+
+			cout << "here3 " << n1 << " " << n2 << endl;
+		}
+	}
+}
+
+#endif
 
 SphericalSampleGenerator3D::SphericalSampleGenerator3D(int numSamples, float radius):
@@ -160,5 +200,4 @@
 		r[1] = RandomValue(0, 1);
 
-		// create stratified samples over sphere
 		const float theta = 2.0f * acos(sqrt(1.0f - r[0]));
 		const float phi = 2.0f * M_PI * r[1];
Index: /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.cpp
===================================================================
--- /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.cpp	(revision 3319)
+++ /GTP/trunk/App/Demos/Vis/FriendlyCulling/src/DeferredRenderer.cpp	(revision 3322)
@@ -196,4 +196,5 @@
 }
 
+QuadraticDiscSampleGenerator2D nixgibts(NUM_SAMPLES, 1.0f);
 
 /** Generate poisson disc distributed sample points on the unit disc
@@ -212,4 +213,5 @@
 		{
 			//static QuadraticDiscSampleGenerator2D g(NUM_PRECOMPUTED_SAMPLES, 1.0f);
+			//static QuadraticDiscSampleGenerator2D g(NUM_SAMPLES, 1.0f);
 			static QuadraticDiscSampleGenerator2D g(NUM_SAMPLES, 1.0f);
 			g.Generate((float *)samples2);
