- if (fogenabled)
- {
- VectorSubtract(ent->origin, r_vieworigin, diff);
- fog = exp(fogdensity/DotProduct(diff,diff));
- if (fog > 1)
- fog = 1;
- }
- else
- fog = 0;
- ifog = 1 - fog;
-
- if (r_lerpsprites.integer)
- {
- // LordHavoc: interpolated sprite rendering
- for (i = 0;i < 4;i++)
- {
- if (ent->frameblend[i].lerp >= 0.01f)
- {
- frame = ent->model->sprite.sprdata_frames + ent->frameblend[i].frame;
- R_DrawSpriteImage((ent->effects & EF_ADDITIVE), (ent->effects & EF_NODEPTHTEST), frame, frame->texture, org, up, left, color[0] * ifog, color[1] * ifog, color[2] * ifog, ent->alpha * ent->frameblend[i].lerp);
- if (fog * ent->frameblend[i].lerp >= 0.01f)
- R_DrawSpriteImage(true, (ent->effects & EF_NODEPTHTEST), frame, frame->fogtexture, org, up, left, fogcolor[0],fogcolor[1],fogcolor[2], fog * ent->alpha * ent->frameblend[i].lerp);
- }
- }
- }
- else