diff options
Diffstat (limited to 'src/engine/rendermodel.cpp')
| -rw-r--r-- | src/engine/rendermodel.cpp | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/src/engine/rendermodel.cpp b/src/engine/rendermodel.cpp index 5c8a219..119b644 100644 --- a/src/engine/rendermodel.cpp +++ b/src/engine/rendermodel.cpp @@ -113,26 +113,6 @@ void mdldepthoffset(int *offset) COMMAND(mdldepthoffset, "i"); -void mdlglow(int *percent, int *delta, float *pulse) -{ - checkmdl; - float glow = 3.0f, glowdelta = *delta/100.0f, glowpulse = *pulse > 0 ? *pulse/1000.0f : 0; - if(*percent>0) glow = *percent/100.0f; - else if(*percent<0) glow = 0.0f; - glowdelta -= glow; - loadingmodel->setglow(glow, glowdelta, glowpulse); -} - -COMMAND(mdlglow, "iif"); - -void mdlglare(float *specglare, float *glowglare) -{ - checkmdl; - loadingmodel->setglare(*specglare, *glowglare); -} - -COMMAND(mdlglare, "ff"); - void mdlenvmap(float *envmapmax, float *envmapmin, char *envmap) { checkmdl; @@ -748,20 +728,6 @@ static inline int cullmodel(model *m, const vec ¢er, float radius, int flags if(flags&MDL_CULL_DIST && center.dist(camera1->o)/radius>maxmodelradiusdistance) return MDL_CULL_DIST; if(flags&MDL_CULL_VFC) { - if(reflecting || refracting) - { - if(reflecting || refracting>0) - { - if(center.z+radius<=reflectz) return MDL_CULL_VFC; - } - else - { - if(fogging && center.z+radius<reflectz-refractfog) return MDL_CULL_VFC; - if(!shadow && center.z-radius>=reflectz) return MDL_CULL_VFC; - } - if(center.dist(camera1->o)-radius>reflectdist) return MDL_CULL_VFC; - } - if(isfoggedsphere(radius, center)) return MDL_CULL_VFC; if(shadowmapping && !isshadowmapcaster(center, radius)) return MDL_CULL_VFC; } if(shadowmapping) @@ -775,12 +741,12 @@ static inline int cullmodel(model *m, const vec ¢er, float radius, int flags } else if(flags&MDL_CULL_OCCLUDED && modeloccluded(center, radius)) { - if(!reflecting && !refracting && d) d->occluded = OCCLUDE_PARENT; + if(d) d->occluded = OCCLUDE_PARENT; return MDL_CULL_OCCLUDED; } else if(flags&MDL_CULL_QUERY && d->query && d->query->owner==d && checkquery(d->query)) { - if(!reflecting && !refracting && d->occluded<OCCLUDE_BB) d->occluded++; + if(d->occluded<OCCLUDE_BB) d->occluded++; return MDL_CULL_QUERY; } return 0; @@ -818,7 +784,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl int culled = cullmodel(m, center, radius, flags, d, shadow); if(culled) { - if(culled&(MDL_CULL_OCCLUDED|MDL_CULL_QUERY) && flags&MDL_CULL_QUERY && !reflecting && !refracting) + if(culled&(MDL_CULL_OCCLUDED|MDL_CULL_QUERY) && flags&MDL_CULL_QUERY) { enablecullmodelquery(); rendercullmodelquery(m, d, center, radius); @@ -827,11 +793,11 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl return; } - if(reflecting || refracting || shadowmapping) flags &= ~MDL_CULL_QUERY; + if(shadowmapping) flags &= ~MDL_CULL_QUERY; } if(flags&MDL_NORENDER) anim |= ANIM_NORENDER; - else if(showboundingbox && !shadowmapping && !reflecting && !refracting && editmode) + else if(showboundingbox && !shadowmapping && editmode) { notextureshader->set(); if(d && showboundingbox==1) @@ -856,7 +822,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl vec pos = o; if(d) { - if(!reflecting && !refracting) d->occluded = OCCLUDE_NOTHING; + d->occluded = OCCLUDE_NOTHING; if(!light) light = &d->light; if(flags&MDL_LIGHT && light->millis!=lastmillis) { @@ -911,10 +877,10 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl b.basetime2 = basetime2; b.transparent = trans; b.flags = flags & ~(MDL_CULL_VFC | MDL_CULL_DIST | MDL_CULL_OCCLUDED); - if(!shadow || reflecting || refracting>0) + if(!shadow) { b.flags &= ~(MDL_SHADOW|MDL_DYNSHADOW); - if((flags&MDL_CULL_VFC) && refracting<0 && center.z-radius>=reflectz) b.flags |= MDL_CULL_VFC; + if(flags&MDL_CULL_VFC) b.flags |= MDL_CULL_VFC; } mb.flags |= b.flags; b.d = d; |
