- vec3_t modelorg;
- Matrix4x4_Transform(&ent->inversematrix, r_origin, modelorg);
- lightradius2 = lightradius * lightradius;
- GL_UseColorArray();
- for (i = 0, surf = ent->model->surfaces + ent->model->firstmodelsurface;i < ent->model->nummodelsurfaces;i++, surf++)
- {
- f = PlaneDiff(relativelightorigin, surf->plane);
- if (surf->flags & SURF_PLANEBACK)
- f = -f;
- if (f >= -0.1 && f < lightradius)
- {
- f = PlaneDiff(modelorg, surf->plane);
- if (surf->flags & SURF_PLANEBACK)
- f = -f;
- if (f > 0)
- {
- for (mesh = surf->mesh;mesh;mesh = mesh->chain)
- {
- R_Mesh_ResizeCheck(mesh->numverts);
- memcpy(varray_vertex, mesh->verts, mesh->numverts * sizeof(float[4]));
- R_Shadow_VertexLight(mesh->numverts, varray_vertex, mesh->normals, relativelightorigin, lightradius2, lightdistbias, lightsubtract, lightcolor);
- R_Mesh_Draw(mesh->numverts, mesh->numtriangles, mesh->index);
- }
- }
- }
- }
-}
-
-void R_Model_Brush_DrawOntoLight(entity_render_t *ent)
-{
- // FIXME
- c_bmodels++;
-}
-
-/*
-extern cvar_t r_shadows;
-void R_DrawBrushModelFakeShadow (entity_render_t *ent)
-{
- int i;
- vec3_t relativelightorigin;
- rmeshstate_t m;
- mlight_t *sl;
- rdlight_t *rd;
- svbspmesh_t *mesh;
-
- if (r_shadows.integer < 2)
- return;
-
- memset(&m, 0, sizeof(m));
- m.blendfunc1 = GL_ONE;
- m.blendfunc2 = GL_ONE;
- R_Mesh_State(&m);