cvar_t r_drawentities = {0, "r_drawentities","1"};
cvar_t r_drawviewmodel = {0, "r_drawviewmodel","1"};
cvar_t r_shadows = {CVAR_SAVE, "r_shadows", "1"};
-cvar_t r_staticworldlights = {0, "r_staticworldlights", "1"};
+cvar_t r_shadow_staticworldlights = {0, "r_shadow_staticworldlights", "1"};
cvar_t r_speeds = {0, "r_speeds","0"};
cvar_t r_fullbright = {0, "r_fullbright","0"};
cvar_t r_wateralpha = {CVAR_SAVE, "r_wateralpha","1"};
Cvar_RegisterVariable (&r_drawentities);
Cvar_RegisterVariable (&r_drawviewmodel);
Cvar_RegisterVariable (&r_shadows);
- Cvar_RegisterVariable (&r_staticworldlights);
+ Cvar_RegisterVariable (&r_shadow_staticworldlights);
Cvar_RegisterVariable (&r_speeds);
Cvar_RegisterVariable (&r_fullbrights);
Cvar_RegisterVariable (&r_wateralpha);
R_DrawViewModel
=============
*/
+/*
void R_DrawViewModel (void)
{
entity_render_t *ent;
R_UpdateEntLights(ent);
ent->model->Draw(ent);
}
+*/
void R_DrawNoModel(entity_render_t *ent);
void R_DrawModels ()
if (!r_drawentities.integer)
return;
- R_DrawViewModel();
for (i = 0;i < r_refdef.numentities;i++)
{
ent = r_refdef.entities[i];
if (!visiblevolumes)
R_Shadow_Stage_ShadowVolumes();
- if (wl->shadowvolume && r_staticworldlights.integer)
- R_Shadow_DrawWorldLightShadowVolume(&cl_entities[0].render.matrix, wl);
+ ent = &cl_entities[0].render;
+ if (wl->shadowvolume && r_shadow_staticworldlights.integer)
+ R_Shadow_DrawWorldLightShadowVolume(&ent->matrix, wl);
else
- R_TestAndDrawShadowVolume(&cl_entities[0].render, wl->origin, cullradius, lightradius, clipmins, clipmaxs);
+ R_TestAndDrawShadowVolume(ent, wl->origin, cullradius / ent->scale, lightradius / ent->scale, clipmins, clipmaxs);
if (r_drawentities.integer)
{
for (i = 0;i < r_refdef.numentities;i++)
&& ent->maxs[1] >= wl->mins[1] && ent->mins[1] <= wl->maxs[1]
&& ent->maxs[2] >= wl->mins[2] && ent->mins[2] <= wl->maxs[2]
&& !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
- R_TestAndDrawShadowVolume(r_refdef.entities[i], wl->origin, cullradius, lightradius, clipmins, clipmaxs);
+ R_TestAndDrawShadowVolume(r_refdef.entities[i], wl->origin, cullradius / ent->scale, lightradius / ent->scale, clipmins, clipmaxs);
}
}
if (wl->numsurfaces)
R_Model_Brush_DrawLightForSurfaceList(ent, relativelightorigin, relativeeyeorigin, lightradius, lightcolor, wl->surfaces, wl->numsurfaces);
else
- ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius, lightcolor);
+ ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius / ent->scale, lightcolor);
}
if (r_drawentities.integer)
{
{
Matrix4x4_Transform(&ent->inversematrix, wl->origin, relativelightorigin);
Matrix4x4_Transform(&ent->inversematrix, r_origin, relativeeyeorigin);
- ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius, lightcolor);
- }
- }
- }
-
- if (R_Shadow_Stage_EraseShadowVolumes())
- {
- if (wl->shadowvolume && r_staticworldlights.integer)
- R_Shadow_DrawWorldLightShadowVolume(&cl_entities[0].render.matrix, wl);
- else
- R_TestAndDrawShadowVolume(&cl_entities[0].render, wl->origin, cullradius, lightradius, clipmins, clipmaxs);
- if (r_drawentities.integer)
- {
- for (i = 0;i < r_refdef.numentities;i++)
- {
- ent = r_refdef.entities[i];
- if (ent->maxs[0] >= wl->mins[0] && ent->mins[0] <= wl->maxs[0]
- && ent->maxs[1] >= wl->mins[1] && ent->mins[1] <= wl->maxs[1]
- && ent->maxs[2] >= wl->mins[2] && ent->mins[2] <= wl->maxs[2]
- && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
- R_TestAndDrawShadowVolume(r_refdef.entities[i], wl->origin, cullradius, lightradius, clipmins, clipmaxs);
+ ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius / ent->scale, lightcolor);
}
}
}
if (!visiblevolumes)
R_Shadow_Stage_ShadowVolumes();
- if (sl->shadowvolume && r_staticworldlights.integer)
+ if (sl->shadowvolume && r_shadow_staticworldlights.integer)
R_DrawWorldLightShadowVolume(&cl_entities[0].render.matrix, sl->shadowvolume);
else
R_TestAndDrawShadowVolume(&cl_entities[0].render, sl->origin, cullradius, lightradius);
}
}
}
-
- R_Shadow_Stage_EraseShadowVolumes();
- if (sl->shadowvolume && r_staticworldlights.integer)
- R_DrawWorldLightShadowVolume(&cl_entities[0].render.matrix, sl->shadowvolume);
- else
- R_TestAndDrawShadowVolume(&cl_entities[0].render, sl->origin, cullradius, lightradius);
- if (r_drawentities.integer)
- {
- for (i = 0;i < r_refdef.numentities;i++)
- {
- ent = r_refdef.entities[i];
- if (ent->maxs[0] >= sl->mins[0] && ent->mins[0] <= sl->maxs[0]
- && ent->maxs[1] >= sl->mins[1] && ent->mins[1] <= sl->maxs[1]
- && ent->maxs[2] >= sl->mins[2] && ent->mins[2] <= sl->maxs[2]
- && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
- R_TestAndDrawShadowVolume(r_refdef.entities[i], sl->origin, cullradius, lightradius);
- }
- }
}
}
*/
if (!visiblevolumes)
R_Shadow_Stage_ShadowVolumes();
- R_TestAndDrawShadowVolume(&cl_entities[0].render, rd->origin, cullradius, lightradius, clipmins, clipmaxs);
+ ent = &cl_entities[0].render;
+ R_TestAndDrawShadowVolume(ent, rd->origin, cullradius / ent->scale, lightradius / ent->scale, clipmins, clipmaxs);
if (r_drawentities.integer)
{
for (i = 0;i < r_refdef.numentities;i++)
{
ent = r_refdef.entities[i];
if (ent != rd->ent && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
- R_TestAndDrawShadowVolume(ent, rd->origin, cullradius, lightradius, clipmins, clipmaxs);
+ R_TestAndDrawShadowVolume(ent, rd->origin, cullradius / ent->scale, lightradius / ent->scale, clipmins, clipmaxs);
}
}
{
Matrix4x4_Transform(&ent->inversematrix, rd->origin, relativelightorigin);
Matrix4x4_Transform(&ent->inversematrix, r_origin, relativeeyeorigin);
- ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius, lightcolor);
+ ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius / ent->scale, lightcolor);
}
if (r_drawentities.integer)
{
{
Matrix4x4_Transform(&ent->inversematrix, rd->origin, relativelightorigin);
Matrix4x4_Transform(&ent->inversematrix, r_origin, relativeeyeorigin);
- ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius, lightcolor);
- }
- }
- }
-
- if (R_Shadow_Stage_EraseShadowVolumes())
- {
- R_TestAndDrawShadowVolume(&cl_entities[0].render, rd->origin, cullradius, lightradius, clipmins, clipmaxs);
- if (r_drawentities.integer)
- {
- for (i = 0;i < r_refdef.numentities;i++)
- {
- ent = r_refdef.entities[i];
- if (ent != rd->ent && !(ent->effects & EF_ADDITIVE) && ent->alpha == 1)
- R_TestAndDrawShadowVolume(ent, rd->origin, cullradius, lightradius, clipmins, clipmaxs);
+ ent->model->DrawLight(ent, relativelightorigin, relativeeyeorigin, lightradius / ent->scale, lightcolor);
}
}
}