r4881 - trunk/misc

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Oct 26 08:02:43 EDT 2008


Author: div0
Date: 2008-10-26 08:02:38 -0400 (Sun, 26 Oct 2008)
New Revision: 4881

Modified:
   trunk/misc/brightspot.c
Log:
fix "brightspot" tool


Modified: trunk/misc/brightspot.c
===================================================================
--- trunk/misc/brightspot.c	2008-10-26 11:54:27 UTC (rev 4880)
+++ trunk/misc/brightspot.c	2008-10-26 12:02:38 UTC (rev 4881)
@@ -145,8 +145,9 @@
 	FILE *f;
 	int i, j, k;
 	unsigned char picture[6][512][512];
+	unsigned char max;
 	double brightvec[3];
-	double pitch, yaw;
+	double pitch, yaw, l;
 
 	if(argc != 2)
 	{
@@ -164,18 +165,27 @@
 	fclose(f);
 
 	brightvec[0] = brightvec[1] = brightvec[2] = 0;
+	max = 0;
 	for(i = 0; i < 6; ++i)
 		for(j = 0; j < 512; ++j)
 			for(k = 0; k < 512; ++k)
+				if(picture[i][j][k] > max)
+					max = picture[i][j][k];
+	for(i = 0; i < 6; ++i)
+		for(j = 0; j < 512; ++j)
+			for(k = 0; k < 512; ++k)
 			{
 				double vec[3], f;
 				MapCoord(i, j, k, vec);
 				f = pow(vec[0]*vec[0] + vec[1]*vec[1] + vec[2]*vec[2], -1.5); // I know what I am doing.
-				f *= exp(10 * (picture[i][j][k] - 255));
+				f *= exp(10 * (picture[i][j][k] - max));
 				brightvec[0] += f * vec[0];
 				brightvec[1] += f * vec[1];
 				brightvec[2] += f * vec[2];
 			}
+
+	l = sqrt(brightvec[0]*brightvec[0] + brightvec[1]*brightvec[1] + brightvec[2]*brightvec[2]);
+	fprintf(stderr, "vec = %f %f %f\n", brightvec[0] / l, brightvec[1] / l, brightvec[2] / l);
 	
 	pitch = atan2(brightvec[2], sqrt(brightvec[0]*brightvec[0] + brightvec[1]*brightvec[1]));
 	yaw = atan2(brightvec[1], brightvec[0]);




More information about the nexuiz-commits mailing list