]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
fixed fogging on models and opaque liquids (teleport/lava)
authorlordhavoc <lordhavoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 28 Feb 2002 10:36:58 +0000 (10:36 +0000)
committerlordhavoc <lordhavoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 28 Feb 2002 10:36:58 +0000 (10:36 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@1595 d7cf8633-e32d-0410-b094-e92efae38249

gl_models.c
gl_rsurf.c

index 638696898c2d617d931d536164fe4a56a2ff2519..55eadf2bb0bf69e49aeb65489184f90b6293769d 100644 (file)
@@ -440,7 +440,7 @@ void R_DrawQ1Q2AliasModel (void)
        else
                R_DrawModelMesh(0, NULL, 1 - fog, 1 - fog, 1 - fog);
 
-       if (fog && aliasmeshinfo.blendfunc2 != GL_ONE)
+       if (fog && !(currentrenderentity->effects & EF_ADDITIVE))
        {
                aliasmeshinfo.tex[0] = R_GetTexture(skinframe->fog);
                aliasmeshinfo.blendfunc1 = GL_SRC_ALPHA;
index 494a93a58d2b4e2649b7058daded46c23fb57f3c..930b6ab53828240401520a3c0d474360c4713063 100644 (file)
@@ -750,7 +750,7 @@ static void RSurfShader_Water_Pass_Base(msurface_t *s)
        }
        if (s->dlightframe == r_framecount && !(s->flags & SURF_DRAWFULLBRIGHT))
                RSurf_Light(s->dlightbits, m.numverts);
-       if (fogenabled/* && m.blendfunc2 == GL_ONE_MINUS_SRC_ALPHA*/)
+       if (fogenabled && (s->flags & SURF_DRAWNOALPHA))
        {
                for (i = 0, sv = svert;i < m.numverts;i++, sv++)
                {
@@ -878,9 +878,10 @@ static int RSurfShader_Water(int stage, msurface_t *s)
                        RSurfShader_Water_Pass_Glow(s);
                return false;
        case 2:
-               if (fogenabled && (s->flags & SURF_DRAWNOALPHA))
+               if (fogenabled)
                {
-                       RSurfShader_Water_Pass_Fog(s);
+                       if (s->flags & SURF_DRAWNOALPHA)
+                               RSurfShader_Water_Pass_Fog(s);
                        return false;
                }
                else