From: divverent Date: Sat, 24 May 2008 17:49:59 +0000 (+0000) Subject: fix fog for scaled models (affects Nexuiz flags) X-Git-Tag: xonotic-v0.1.0preview~2228 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=1a0c586e579b200f1b36018f5b797c83b2373bc8;p=xonotic%2Fdarkplaces.git fix fog for scaled models (affects Nexuiz flags) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8315 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/gl_rmain.c b/gl_rmain.c index 049c6bd6..af6adf3f 100644 --- a/gl_rmain.c +++ b/gl_rmain.c @@ -242,7 +242,7 @@ float FogPoint_World(const vec3_t p) float FogPoint_Model(const vec3_t p) { - return FogForDistance(VectorDistance((p), rsurface.modelorg)); + return FogForDistance(VectorDistance((p), rsurface.modelorg) * Matrix4x4_ScaleFromMatrix(&rsurface.matrix)); } static void R_BuildBlankTextures(void) @@ -1736,7 +1736,7 @@ void R_SetupSurfaceShader(const vec3_t lightcolorbase, qboolean modellighting, f else qglUniform3fARB(r_glsl_permutation->loc_Color_Shirt, 0, 0, 0); } - if (r_glsl_permutation->loc_FogRangeRecip >= 0) qglUniform1fARB(r_glsl_permutation->loc_FogRangeRecip, r_refdef.fograngerecip); + if (r_glsl_permutation->loc_FogRangeRecip >= 0) qglUniform1fARB(r_glsl_permutation->loc_FogRangeRecip, r_refdef.fograngerecip * Matrix4x4_ScaleFromMatrix(&rsurface.matrix)); if (r_glsl_permutation->loc_SpecularPower >= 0) qglUniform1fARB(r_glsl_permutation->loc_SpecularPower, rsurface.texture->specularpower); if (r_glsl_permutation->loc_OffsetMapping_Scale >= 0) qglUniform1fARB(r_glsl_permutation->loc_OffsetMapping_Scale, r_glsl_offsetmapping_scale.value); CHECKGLERROR