]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_light.h
cleaned up rtlight handling, merging most code between world rtlights and dlights...
[xonotic/darkplaces.git] / r_light.h
index c09e26fa1ebe914582b55cd21063fa17ad835634..5190e00105eaf3e528edb29be5f45278aec48891 100644 (file)
--- a/r_light.h
+++ b/r_light.h
@@ -2,26 +2,15 @@
 #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];
+extern dlight_t r_dlight[MAX_DLIGHTS];
 
-void R_BuildLightList(void);
-void R_AnimateLight(void);
+void R_UpdateLights(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_CompleteLightPoint(vec3_t ambientcolor, vec3_t diffusecolor, vec3_t diffusenormal, const vec3_t p, int dynamic, const mleaf_t *leaf);
+int R_LightModel(float *ambient4f, float *diffusecolor, float *diffusenormal, const entity_render_t *ent, float colorr, float colorg, float colorb, float colora, int worldcoords);
+void R_LightModel_CalcVertexColors(const float *ambientcolor4f, const float *diffusecolor, const float *diffusenormal, int numverts, const float *vertex3f, const float *normal3f, float *color4f);
 void R_UpdateEntLights(entity_render_t *ent);
 
 #endif