X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=r_light.h;h=c09e26fa1ebe914582b55cd21063fa17ad835634;hb=71e7da73e333310428dc7e3b8bbfe06a0a299e4e;hp=0507c425eb9cb8859a538cdccb0fda334a97dc1f;hpb=45982a9894c5bff60ff494a0f82865ec267d52f7;p=xonotic%2Fdarkplaces.git diff --git a/r_light.h b/r_light.h index 0507c425..c09e26fa 100644 --- a/r_light.h +++ b/r_light.h @@ -1,7 +1,28 @@ -extern void R_CompleteLightPoint (vec3_t color, vec3_t p, int dynamic, mleaf_t *leaf); -extern void R_DynamicLightPoint(vec3_t color, vec3_t org, int *dlightbits); -extern void R_DynamicLightPointNoMask(vec3_t color, vec3_t org); -extern void R_LightPoint (vec3_t color, vec3_t p); -extern void R_AnimateLight (void); -extern void R_LightModel (int numverts); +#ifndef R_LIGHT_H +#define R_LIGHT_H + +typedef struct +{ + vec3_t origin; + vec_t cullradius2; // only for culling comparisons, squared version + vec3_t light; // the brightness of the light + vec_t cullradius; // only for culling comparisons + vec_t subtract; // to avoid sudden brightness change at cullradius, subtract this + entity_render_t *ent; // owner of this light +} +rdlight_t; + +extern int r_numdlights; +extern rdlight_t r_dlight[MAX_DLIGHTS]; + +void R_BuildLightList(void); +void R_AnimateLight(void); +void R_MarkLights(entity_render_t *ent); +void R_DrawCoronas(void); +void R_CompleteLightPoint(vec3_t color, const vec3_t p, int dynamic, const mleaf_t *leaf); +void R_LightModel(const entity_render_t *ent, int numverts, float *vertices, float *normals, float *colors, float colorr, float colorg, float colorb, int worldcoords); +void R_UpdateEntLights(entity_render_t *ent); + +#endif +