]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.h
got rid of Cshader system as it really wasn't helping anything, now all surfaces...
[xonotic/darkplaces.git] / model_brush.h
index f812fdb8c61cf7e89b7976b8d511fcafefe533d6..d3865d587cf83931de41541b7f1c449a45e8015c 100644 (file)
@@ -59,8 +59,6 @@ mplane_t;
 #define SHADERSTAGE_NORMAL 1
 #define SHADERSTAGE_COUNT 2
 
-#define SHADERFLAGS_NEEDLIGHTMAP 1
-
 #define SURF_PLANEBACK 2
 #define SURF_DRAWSKY 4
 #define SURF_DRAWTURB 0x10
@@ -68,8 +66,6 @@ mplane_t;
 #define SURF_DRAWNOALPHA 0x100
 #define SURF_DRAWFULLBRIGHT 0x200
 #define SURF_LIGHTBOTHSIDES 0x400
-#define SURF_SHADOWCAST 0x1000 // this polygon can cast stencil shadows
-#define SURF_SHADOWLIGHT 0x2000 // this polygon can be lit by stencil shadowing
 #define SURF_WATERALPHA 0x4000 // this polygon's alpha is modulated by r_wateralpha
 #define SURF_SOLIDCLIP 0x8000 // this polygon blocks movement
 
@@ -80,17 +76,6 @@ mplane_t;
 struct entity_render_s;
 struct texture_s;
 struct msurface_s;
-// change this stuff when real shaders are added
-typedef struct Cshader_s
-{
-       void (*shaderfunc[SHADERSTAGE_COUNT])(const struct entity_render_s *ent, const struct texture_s *texture, struct msurface_s **surfchain);
-       int flags;
-}
-Cshader_t;
-
-extern Cshader_t Cshader_wall_lightmap;
-extern Cshader_t Cshader_water;
-extern Cshader_t Cshader_sky;
 
 typedef struct texture_s
 {
@@ -110,9 +95,6 @@ typedef struct texture_s
        // loaded the same as model skins
        skinframe_t skin;
 
-       // shader to use for this texture
-       Cshader_t *shader;
-
        // total frames in sequence and alternate sequence
        int anim_total[2];
        // direct pointers to each of the frames in the sequences
@@ -220,10 +202,16 @@ typedef struct msurface_s
        int poly_numverts;
        float *poly_verts;
 
+       // index into model->brush.shadowmesh
+       int num_firstshadowmeshtriangle;
+
        // neighboring surfaces (one per poly_numverts)
        //struct msurface_s **neighborsurfaces;
        // currently used only for generating static shadow volumes
        int lighttemp_castshadow;
+
+       // avoid redundent surface shadows
+       int shadowmark;
 }
 msurface_t;