#define MATERIALFLAG_NOCULLFACE 65536
// render with a very short depth range (like 10% of normal), this causes entities to appear infront of most of the scene
#define MATERIALFLAG_SHORTDEPTHRANGE 131072
-// render refraction and reflection (note: this is always opaque, the shader does the alpha effect)
+// render water, comprising refraction and reflection (note: this is always opaque, the shader does the alpha effect)
#define MATERIALFLAG_WATERSHADER 262144
+// render refraction (note: this is just a way to distort the background, otherwise useless)
+#define MATERIALFLAG_REFRACTION 524288
+// render reflection
+#define MATERIALFLAG_REFLECTION 1048576
+// render water, comprising refraction and reflection (note: this is always opaque, the shader does the alpha effect)
+#define MATERIALFLAG_SORTTRANSPARENT 2097152
+// use model lighting on this material (q1bsp lightmap sampling or q3bsp lightgrid, implies FULLBRIGHT is false)
+#define MATERIALFLAG_MODELLIGHT 4194304
+// add directional model lighting to this material (q3bsp lightgrid only)
+#define MATERIALFLAG_MODELLIGHT_DIRECTIONAL 8388608
// combined mask of all attributes that require depth sorted rendering
-#define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST)
+#define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_SORTTRANSPARENT | MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST)
typedef struct medge_s
{
}
mleaf_t;
+typedef struct mclipnode_s
+{
+ int planenum;
+ int children[2]; // negative numbers are contents
+} mclipnode_t;
+
typedef struct hull_s
{
- dclipnode_t *clipnodes;
+ mclipnode_t *clipnodes;
mplane_t *planes;
int firstclipnode;
int lastclipnode;