experimental q3map2 command line option: -sRGB (store lightmaps in sRGB)
This commit is contained in:
parent
d67672d1b3
commit
5c97bccbf6
|
|
@ -63,6 +63,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
0, /* lightmap width/height */
|
||||
0, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
0, /* lightmap exposure */
|
||||
0, /* lightmap compensate */
|
||||
0, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
200.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
0.3f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.2f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
200.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
0.3f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -147,7 +147,8 @@ game_t struct
|
|||
"flareshader", /* default flare shader */
|
||||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
2.2f, /* lightmap gamma */
|
||||
1.0f, /* lightmap gamma */
|
||||
qtrue, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
200.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
0.4f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
512, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -139,6 +139,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
512, /* lightmap width/height */
|
||||
2.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ game_t struct
|
|||
qtrue, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ game_t struct
|
|||
qtrue, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ game_t struct
|
|||
qfalse, /* wolf lighting model? */
|
||||
128, /* lightmap width/height */
|
||||
1.0f, /* lightmap gamma */
|
||||
qfalse, /* lightmap sRGB */
|
||||
1.0f, /* lightmap exposure */
|
||||
1.0f, /* lightmap compensate */
|
||||
1.0f, /* lightgrid scale */
|
||||
|
|
|
|||
|
|
@ -2065,6 +2065,12 @@ int LightMain( int argc, char **argv )
|
|||
lightmapGamma = game->lightmapGamma;
|
||||
Sys_Printf( " lightning gamma: %f\n", lightmapGamma );
|
||||
|
||||
lightmapsRGB = game->lightmapsRGB;
|
||||
if(lightmapsRGB)
|
||||
Sys_Printf( " lightmap colorspace: sRGB\n" );
|
||||
else
|
||||
Sys_Printf( " lightmap colorspace: linear\n" );
|
||||
|
||||
lightmapCompensate = game->lightmapCompensate;
|
||||
Sys_Printf( " lightning compensation: %f\n", lightmapCompensate );
|
||||
|
||||
|
|
@ -2204,6 +2210,13 @@ int LightMain( int argc, char **argv )
|
|||
i++;
|
||||
}
|
||||
|
||||
else if( !strcmp( argv[ i ], "-sRGB" ) )
|
||||
{
|
||||
lightmapsRGB = qtrue;
|
||||
Sys_Printf( "Lighting is in sRGB\n" );
|
||||
i++;
|
||||
}
|
||||
|
||||
else if( !strcmp( argv[ i ], "-exposure" ) )
|
||||
{
|
||||
f = atof( argv[ i + 1 ] );
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ ColorToBytes()
|
|||
ydnar: moved to here 2001-02-04
|
||||
*/
|
||||
|
||||
#define Image_sRGBFloatFromLinear(c) (((c) < 0.8014848f) ? (c) * 0.05046875f : 1.055f * (float)pow((c)*(1.0f/256.0f), 1.0f/2.4f) - 0.055f)
|
||||
void ColorToBytes( const float *color, byte *colorBytes, float scale )
|
||||
{
|
||||
int i;
|
||||
|
|
@ -120,6 +121,14 @@ void ColorToBytes( const float *color, byte *colorBytes, float scale )
|
|||
|
||||
/* compensate for ingame overbrighting/bitshifting */
|
||||
VectorScale( sample, (1.0f / lightmapCompensate), sample );
|
||||
|
||||
/* sRGB lightmaps */
|
||||
if(lightmapsRGB)
|
||||
{
|
||||
sample[0] = floor(Image_sRGBFloatFromLinear(sample[0]) * 255.0 + 0.5);
|
||||
sample[1] = floor(Image_sRGBFloatFromLinear(sample[1]) * 255.0 + 0.5);
|
||||
sample[2] = floor(Image_sRGBFloatFromLinear(sample[2]) * 255.0 + 0.5);
|
||||
}
|
||||
|
||||
/* store it off */
|
||||
colorBytes[ 0 ] = sample[ 0 ];
|
||||
|
|
|
|||
|
|
@ -565,6 +565,7 @@ typedef struct game_s
|
|||
qboolean wolfLight; /* when true, lights work like wolf q3map */
|
||||
int lightmapSize; /* bsp lightmap width/height */
|
||||
float lightmapGamma; /* default lightmap gamma */
|
||||
qboolean lightmapsRGB; /* default lightmap sRGB mode */
|
||||
float lightmapExposure; /* default lightmap exposure */
|
||||
float lightmapCompensate; /* default lightmap compensate value */
|
||||
float gridScale; /* vortex: default lightgrid scale (affects both directional and ambient spectres) */
|
||||
|
|
@ -2295,6 +2296,7 @@ Q_EXTERN qboolean inGrid Q_ASSIGN(0);
|
|||
|
||||
/* ydnar: lightmap gamma/compensation */
|
||||
Q_EXTERN float lightmapGamma Q_ASSIGN( 1.0f );
|
||||
Q_EXTERN float lightmapsRGB Q_ASSIGN( qfalse );
|
||||
Q_EXTERN float lightmapExposure Q_ASSIGN( 1.0f );
|
||||
Q_EXTERN float lightmapCompensate Q_ASSIGN( 1.0f );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user