]> icculus.org git repositories - divverent/darkplaces.git/blob - r_light.h
added prvm_cmds.c prvm_edict.c prvm_exec.c prvm_execprogram.h
[divverent/darkplaces.git] / r_light.h
1
2 #ifndef R_LIGHT_H
3 #define R_LIGHT_H
4
5 typedef struct
6 {
7         vec3_t origin;
8         vec_t cullradius2; // only for culling comparisons, squared version
9         vec3_t light; // the brightness of the light
10         vec_t cullradius; // only for culling comparisons
11         vec_t subtract; // to avoid sudden brightness change at cullradius, subtract this
12         entity_render_t *ent; // owner of this light
13 }
14 rdlight_t;
15
16 extern int r_numdlights;
17 extern rdlight_t r_dlight[MAX_DLIGHTS];
18
19 void R_BuildLightList(void);
20 void R_AnimateLight(void);
21 void R_MarkLights(entity_render_t *ent);
22 void R_DrawCoronas(void);
23 void R_CompleteLightPoint(vec3_t ambientcolor, vec3_t diffusecolor, vec3_t diffusenormal, const vec3_t p, int dynamic, const mleaf_t *leaf);
24 int R_LightModel(float *ambient4f, float *diffusecolor, float *diffusenormal, const entity_render_t *ent, float colorr, float colorg, float colorb, float colora, int worldcoords);
25 void R_LightModel_CalcVertexColors(const float *ambientcolor4f, const float *diffusecolor, const float *diffusenormal, int numverts, const float *vertex3f, const float *normal3f, float *color4f);
26 void R_UpdateEntLights(entity_render_t *ent);
27
28 #endif
29