From 1a0c586e579b200f1b36018f5b797c83b2373bc8 Mon Sep 17 00:00:00 2001 From: divverent Date: Sat, 24 May 2008 17:49:59 +0000 Subject: [PATCH] fix fog for scaled models (affects Nexuiz flags) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8315 d7cf8633-e32d-0410-b094-e92efae38249 --- gl_rmain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 -- 2.39.2