VectorScale(lightcolor, f, lightcolor);
}
- if (!visiblevolumes)
- R_Shadow_Stage_ShadowVolumes();
- ent = &cl_entities[0].render;
- if (wl->shadowvolume && r_shadow_staticworldlights.integer)
- R_Shadow_DrawWorldLightShadowVolume(&ent->matrix, wl);
- else
- R_TestAndDrawShadowVolume(ent, wl->origin, cullradius, lightradius, wl->mins, wl->maxs, clipmins, clipmaxs);
- if (r_drawentities.integer)
- for (i = 0;i < r_refdef.numentities;i++)
- R_TestAndDrawShadowVolume(r_refdef.entities[i], wl->origin, cullradius, lightradius, wl->mins, wl->maxs, clipmins, clipmaxs);
+ if (wl->castshadows)
+ {
+ if (!visiblevolumes)
+ R_Shadow_Stage_ShadowVolumes();
+ ent = &cl_entities[0].render;
+ if (wl->shadowvolume && r_shadow_staticworldlights.integer)
+ R_Shadow_DrawWorldLightShadowVolume(&ent->matrix, wl);
+ else
+ R_TestAndDrawShadowVolume(ent, wl->origin, cullradius, lightradius, wl->mins, wl->maxs, clipmins, clipmaxs);
+ if (r_drawentities.integer)
+ for (i = 0;i < r_refdef.numentities;i++)
+ R_TestAndDrawShadowVolume(r_refdef.entities[i], wl->origin, cullradius, lightradius, wl->mins, wl->maxs, clipmins, clipmaxs);
+ }
if (!visiblevolumes)
{
- R_Shadow_Stage_Light();
+ if (wl->castshadows)
+ R_Shadow_Stage_LightWithShadows();
+ else
+ R_Shadow_Stage_LightWithoutShadows();
ent = &cl_entities[0].render;
if (ent->model && ent->model->DrawLight)
{
if (!visiblevolumes)
{
- R_Shadow_Stage_Light();
+ R_Shadow_Stage_LightWithShadows();
ent = &cl_entities[0].render;
if (ent->model && ent->model->DrawLight)
{
r_refdef must be set before the first call
================
*/
+extern void R_DrawLightningBeams (void);
void R_RenderView (void)
{
entity_render_t *world;
R_TimeReport("dynlight");
}
+ R_DrawLightningBeams();
+ R_TimeReport("lightning");
+
R_DrawParticles();
R_TimeReport("particles");