merged q1bsp and q3bsp surface rendering
[xonotic/darkplaces.git] / r_light.h
index 509fe64..6020c91 100644 (file)
--- a/r_light.h
+++ b/r_light.h
@@ -1,21 +1,19 @@
 
-// LordHavoc: 256 dynamic lights
-#define        MAX_DLIGHTS             256
-typedef struct
-{
-       vec3_t  origin;
-       float   radius;
-       float   die;                            // stop lighting after this time
-       float   decay;                          // drop this each second
-       int             key;
-       vec3_t  color;                          // LordHavoc: colored lighting
-       qboolean        dark;                   // subtracts light instead of adding
-} dlight_t;
+#ifndef R_LIGHT_H
+#define R_LIGHT_H
+
+extern int r_numdlights;
+extern dlight_t r_dlight[MAX_DLIGHTS];
+
+void R_UpdateLights(void);
+#ifdef LHREMOVESOON
+void R_MarkLights(entity_render_t *ent);
+#endif
+void R_DrawCoronas(void);
+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
 
-// LordHavoc: this affects the lighting scale of the whole game
-//#define LIGHTOFFSET 16384.0f
-//#define LIGHTSCALE1 2.0f
-#define LIGHTOFFSET 4096.0f
-#define LIGHTSCALE1 1.0f
-#define LIGHTSCALE (LIGHTSCALE1*LIGHTSCALE1)
-#define LIGHTSCALE2 LIGHTSCALE