int angleSteps, elevationSteps;
float angle, elevation;
float angleStep, elevationStep;
- float step, start;
sun_t sun;
if( value <= 0.0f || iterations < 2 )
return;
- /* calculate some stuff */
- step = 2.0f / (iterations - 1);
- start = -1.0f;
-
/* basic sun setup */
VectorCopy( color, sun.color );
sun.deviance = 0.0f;
char mapSource[ 1024 ];
const char *value;
int lightmapMergeSize = 0;
+ qboolean lightSamplesInsist = qfalse;
/* note it */
else if( !strcmp( argv[ i ], "-griddirectionality" ) )
{
f = atof( argv[ i + 1 ] );
- if(f < 0) f = 0;
- if(f > gridAmbientDirectionality) f = gridAmbientDirectionality;
+ if(f > 1) f = 1;
+ if(f < gridAmbientDirectionality) gridAmbientDirectionality = f;
Sys_Printf( "Grid directionality is %f\n", f );
- gridDirectionality *= f;
+ gridDirectionality = f;
i++;
}
else if( !strcmp( argv[ i ], "-gridambientdirectionality" ) )
{
f = atof( argv[ i + 1 ] );
- if(f > gridDirectionality) f = gridDirectionality;
- if(f > 1) f = 1;
+ if(f < -1) f = -1;
+ if(f > gridDirectionality) gridDirectionality = f;
Sys_Printf( "Grid ambient directionality is %f\n", f );
- gridAmbientDirectionality *= f;
+ gridAmbientDirectionality = f;
i++;
}
else if( !strcmp( argv[ i ], "-samples" ) )
{
+ if(*argv[i+1] == '+')
+ lightSamplesInsist = qtrue;
+ else
+ lightSamplesInsist = qfalse;
lightSamples = atoi( argv[ i + 1 ] );
if( lightSamples < 1 )
lightSamples = 1;
{
lightmapExtraVisClusterNudge = qtrue;
}
+ else if( !strcmp( argv[ i ], "-fill" ) )
+ {
+ lightmapFill = qtrue;
+ Sys_Printf( "Filling lightmap colors from surrounding pixels to improve JPEG compression\n" );
+ }
/* unhandled args */
else
{
}
+ /* fix up samples count */
+ if(lightRandomSamples)
+ {
+ if(!lightSamplesInsist)
+ {
+ /* approximately match -samples in quality */
+ switch(lightSamples)
+ {
+ /* somewhat okay */
+ case 1:
+ case 2:
+ lightSamples = 16;
+ Sys_Printf( "Adaptive supersampling preset enabled with %d random sample(s) per lightmap texel\n", lightSamples );
+ break;
+
+ /* good */
+ case 3:
+ lightSamples = 64;
+ Sys_Printf( "Adaptive supersampling preset enabled with %d random sample(s) per lightmap texel\n", lightSamples );
+ break;
+
+ /* perfect */
+ case 4:
+ lightSamples = 256;
+ Sys_Printf( "Adaptive supersampling preset enabled with %d random sample(s) per lightmap texel\n", lightSamples );
+ break;
+
+ default: break;
+ }
+ }
+ }
+
/* fix up lightmap search power */
if(lightmapMergeSize)
{