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