/* ===================== RE_AddRefLightToScene ===================== */ void RE_AddRefLightToScene(const refLight_t *l) { trRefLight_t *light; if (!tr.registered) { return; } if (r_numLights >= MAX_REF_LIGHTS) { Ren_Print("WARNING RE_AddRefLightToScene: Dropping light, reached MAX_REF_LIGHTS\n"); return; } if (l->radius[0] <= 0 && !VectorLength(l->radius) && !VectorLength(l->projTarget)) { return; } if ((unsigned)l->rlType >= RL_MAX_REF_LIGHT_TYPE) { Ren_Drop("RE_AddRefLightToScene: bad rlType %i", l->rlType); } light = &backEndData->lights[r_numLights++]; Com_Memcpy(&light->l, l, sizeof(light->l)); light->isStatic = qfalse; light->additive = qtrue; if (light->l.scale <= 0) { light->l.scale = r_lightScale->value; } if (!HDR_ENABLED()) { if (light->l.scale >= r_lightScale->value) { light->l.scale = r_lightScale->value; } } if (!r_dynamicLightCastShadows->integer && !light->l.inverseShadows) { light->l.noShadows = qtrue; } }
/* ===================== RE_AddRefLightToScene ===================== */ void RE_AddRefLightToScene(const refLight_t * l) { trRefLight_t *light; if(!tr.registered) { return; } if(r_numLights >= MAX_REF_LIGHTS) { return; } if(l->radius[0] <= 0 && !VectorLength(l->radius) && !VectorLength(l->projTarget)) { return; } if(l->rlType < 0 || l->rlType >= RL_MAX_REF_LIGHT_TYPE) { ri.Error(ERR_DROP, "RE_AddRefLightToScene: bad rlType %i", l->rlType); } light = &backEndData[tr.smpFrame]->lights[r_numLights++]; Com_Memcpy(&light->l, l, sizeof(light->l)); light->isStatic = qfalse; light->additive = qtrue; if(light->l.scale <= 0) { light->l.scale = r_lightScale->value; } if(!HDR_ENABLED()) { if(light->l.scale >= r_lightScale->value) { light->l.scale = r_lightScale->value; } } if(!r_dynamicLightShadows->integer && !light->l.inverseShadows) { light->l.noShadows = qtrue; } }