aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-04-20 16:52:39 +0000
committerthilo <thilo@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-04-20 16:52:39 +0000
commit594cac092924f5ecdf27bab448c28ea8686111db (patch)
tree3838c40c58f9245c96d67a533e1c08083cec821a
parentc3ae7effb38505ae7dce18b4aa5ef8c4129e4630 (diff)
downloadioquake3-aero-594cac092924f5ecdf27bab448c28ea8686111db.tar.gz
ioquake3-aero-594cac092924f5ecdf27bab448c28ea8686111db.zip
Still some little improvements to flares.
git-svn-id: svn://svn.icculus.org/quake3/trunk@714 edf5b092-35ff-0310-97b2-ce42778d08ea
-rw-r--r--code/renderer/tr_flares.c6
-rw-r--r--code/renderer/tr_shader.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/code/renderer/tr_flares.c b/code/renderer/tr_flares.c
index 51181c0..0779e48 100644
--- a/code/renderer/tr_flares.c
+++ b/code/renderer/tr_flares.c
@@ -354,13 +354,17 @@ void RB_RenderFlare( flare_t *f ) {
VectorScale(f->color, f->drawIntensity * tr.identityLight * intensity, color);
// Calculations for fogging
- if(f->fogNum)
+ if(f->fogNum < tr.world->numfogs)
{
tess.numVertexes = 1;
VectorCopy(f->origin, tess.xyz[0]);
tess.fogNum = f->fogNum;
RB_CalcModulateColorsByFog(fogFactors);
+
+ // We don't need to render the flare if colors are 0 anyways.
+ if(!fogFactors[0] && !fogFactors[1] && !fogFactors[2])
+ return;
}
iColor[0] = color[0] * fogFactors[0];
diff --git a/code/renderer/tr_shader.c b/code/renderer/tr_shader.c
index a489459..dc5b7d7 100644
--- a/code/renderer/tr_shader.c
+++ b/code/renderer/tr_shader.c
@@ -3018,7 +3018,10 @@ static void CreateExternalShaders( void ) {
int index;
for(index = 0; index < tr.flareShader->numUnfoggedPasses; index++)
+ {
tr.flareShader->stages[index]->adjustColorsForFog = ACFF_NONE;
+ tr.flareShader->stages[index]->stateBits |= GLS_DEPTHTEST_DISABLE;
+ }
}
tr.sunShader = R_FindShader( "sun", LIGHTMAP_NONE, qtrue );