float angle;
float add;
float dist;
- float addDeluxe = 0.0f, addDeluxeBounceScale = 0.25f;\r
- qboolean angledDeluxe = qfalse;\r
+ float addDeluxe = 0.0f, addDeluxeBounceScale = 0.25f;
+ qboolean angledDeluxe = qfalse;
float colorBrightness;
/* get light */
/* clear color */
VectorClear( trace->color );
VectorClear( trace->colorNoShadow );
- VectorClear( trace->directionContribution );\r
-\r
+ VectorClear( trace->directionContribution );
+
colorBrightness = RGBTOGRAY( light->color ) * ( 1.0f/255.0f );
/* ydnar: early out */
add = light->photons / (dist * dist) * angle;
- if( deluxemap )\r
- {\r
- if( angledDeluxe )\r
- addDeluxe = light->photons / (dist * dist) * angle;\r
- else\r
- addDeluxe = light->photons / (dist * dist);\r
+ if( deluxemap )
+ {
+ if( angledDeluxe )
+ addDeluxe = light->photons / (dist * dist) * angle;
+ else
+ addDeluxe = light->photons / (dist * dist);
}
}
else
/* ydnar: moved to here */
add = factor * light->add;
- if( deluxemap )\r
+ if( deluxemap )
addDeluxe = add;
}
}
if( add < 0.0f )
add = 0.0f;
- if( deluxemap )\r
- {\r
- if( angledDeluxe )\r
- addDeluxe = angle * light->photons * linearScale - (dist * light->fade);\r
- else\r
- addDeluxe = light->photons * linearScale - (dist * light->fade);\r
-\r
- if( addDeluxe < 0.0f )\r
- addDeluxe = 0.0f;\r
+ if( deluxemap )
+ {
+ if( angledDeluxe )
+ addDeluxe = angle * light->photons * linearScale - (dist * light->fade);
+ else
+ addDeluxe = light->photons * linearScale - (dist * light->fade);
+
+ if( addDeluxe < 0.0f )
+ addDeluxe = 0.0f;
}
}
else
{
add = (light->photons / (dist * dist)) * angle;
- if( add < 0.0f )\r
- add = 0.0f;\r
-\r
- if( deluxemap )\r
- {\r
- if( angledDeluxe )\r
- addDeluxe = (light->photons / (dist * dist)) * angle;\r
- else\r
- addDeluxe = (light->photons / (dist * dist));\r
- }\r
-\r
- if( addDeluxe < 0.0f )\r
+ if( add < 0.0f )
+ add = 0.0f;
+
+ if( deluxemap )
+ {
+ if( angledDeluxe )
+ addDeluxe = (light->photons / (dist * dist)) * angle;
+ else
+ addDeluxe = (light->photons / (dist * dist));
+ }
+
+ if( addDeluxe < 0.0f )
addDeluxe = 0.0f;
}
if( sampleRadius > (radiusAtDist - 32.0f) )
{
add *= ((radiusAtDist - sampleRadius) / 32.0f);
- if( add < 0.0f )\r
- add = 0.0f;\r
-\r
- addDeluxe *= ((radiusAtDist - sampleRadius) / 32.0f);\r
-\r
- if( addDeluxe < 0.0f )\r
+ if( add < 0.0f )
+ add = 0.0f;
+
+ addDeluxe *= ((radiusAtDist - sampleRadius) / 32.0f);
+
+ if( addDeluxe < 0.0f )
addDeluxe = 0.0f;
}
}
/* attenuate */
add = light->photons * angle;
- if( deluxemap )\r
- {\r
- if( angledDeluxe )\r
- addDeluxe = light->photons * angle;\r
- else\r
- addDeluxe = light->photons;\r
-\r
- if( addDeluxe < 0.0f )\r
- addDeluxe = 0.0f;\r
+ if( deluxemap )
+ {
+ if( angledDeluxe )
+ addDeluxe = light->photons * angle;
+ else
+ addDeluxe = light->photons;
+
+ if( addDeluxe < 0.0f )
+ addDeluxe = 0.0f;
}
if( add <= 0.0f )
/* VorteX: set noShadow color */
VectorScale(light->color, add, trace->colorNoShadow);
- addDeluxe *= colorBrightness;\r
-\r
- if( bouncing )\r
- {\r
- addDeluxe *= addDeluxeBounceScale;\r
- if( addDeluxe < 0.00390625f )\r
- addDeluxe = 0.00390625f;\r
- }\r
-\r
+ addDeluxe *= colorBrightness;
+
+ if( bouncing )
+ {
+ addDeluxe *= addDeluxeBounceScale;
+ if( addDeluxe < 0.00390625f )
+ addDeluxe = 0.00390625f;
+ }
+
VectorScale( trace->direction, addDeluxe, trace->directionContribution );
/* setup trace */
if( add <= 0.0f || (add <= light->falloffTolerance && (light->flags & LIGHT_FAST_ACTUAL)) )
return 0;
- addDeluxe *= colorBrightness;\r
-\r
- /* hack land: scale down the radiosity contribution to light directionality.\r
- Deluxemaps fusion many light directions into one. In a rtl process all lights\r
- would contribute individually to the bump map, so several light sources together\r
- would make it more directional (example: a yellow and red lights received from\r
- opposing sides would light one side in red and the other in blue, adding\r
- the effect of 2 directions applied. In the deluxemapping case, this 2 lights would\r
- neutralize each other making it look like having no direction.\r
- Same thing happens with radiosity. In deluxemapping case the radiosity contribution\r
- is modifying the direction applied from directional lights, making it go closer and closer\r
- to the surface normal the bigger is the amount of radiosity received.\r
- So, for preserving the directional lights contributions, we scale down the radiosity\r
- contribution. It's a hack, but there's a reason behind it */\r
- if( bouncing )\r
- {\r
- addDeluxe *= addDeluxeBounceScale;\r
- if( addDeluxe < 0.00390625f )\r
- addDeluxe = 0.00390625f;\r
- }\r
-\r
+ addDeluxe *= colorBrightness;
+
+ /* hack land: scale down the radiosity contribution to light directionality.
+ Deluxemaps fusion many light directions into one. In a rtl process all lights
+ would contribute individually to the bump map, so several light sources together
+ would make it more directional (example: a yellow and red lights received from
+ opposing sides would light one side in red and the other in blue, adding
+ the effect of 2 directions applied. In the deluxemapping case, this 2 lights would
+ neutralize each other making it look like having no direction.
+ Same thing happens with radiosity. In deluxemapping case the radiosity contribution
+ is modifying the direction applied from directional lights, making it go closer and closer
+ to the surface normal the bigger is the amount of radiosity received.
+ So, for preserving the directional lights contributions, we scale down the radiosity
+ contribution. It's a hack, but there's a reason behind it */
+ if( bouncing )
+ {
+ addDeluxe *= addDeluxeBounceScale;
+ if( addDeluxe < 0.00390625f )
+ addDeluxe = 0.00390625f;
+ }
+
VectorScale( trace->direction, addDeluxe, trace->directionContribution );
/* setup trace */
if( trace->passSolid || trace->opaque )
{
VectorClear( trace->color );
- VectorClear( trace->directionContribution );\r
+ VectorClear( trace->directionContribution );
return -1;
}