+//#define SURF_PLANEBACK 2
+
+// indicates that all triangles of the surface should be added to the BIH collision system
+#define MATERIALFLAG_MESHCOLLISIONS 0x00000001
+// use alpha blend on this material
+#define MATERIALFLAG_ALPHA 0x00000002
+// use additive blend on this material
+#define MATERIALFLAG_ADD 0x00000004
+// turn off depth test on this material
+#define MATERIALFLAG_NODEPTHTEST 0x00000008
+// multiply alpha by r_wateralpha cvar
+#define MATERIALFLAG_WATERALPHA 0x00000010
+// draw with no lighting
+#define MATERIALFLAG_FULLBRIGHT 0x00000020
+// drawn as a normal surface (alternative to SKY)
+#define MATERIALFLAG_WALL 0x00000040
+// this surface shows the sky in its place, alternative to WALL
+// skipped if transparent
+#define MATERIALFLAG_SKY 0x00000080
+// swirling water effect (used with MATERIALFLAG_WALL)
+#define MATERIALFLAG_WATERSCROLL 0x00000100
+// skips drawing the surface
+#define MATERIALFLAG_NODRAW 0x00000200
+// probably used only on q1bsp water
+#define MATERIALFLAG_LIGHTBOTHSIDES 0x00000400
+// use alpha test on this material
+#define MATERIALFLAG_ALPHATEST 0x00000800
+// treat this material as a blended transparency (as opposed to an alpha test
+// transparency), this causes special fog behavior, and disables glDepthMask
+#define MATERIALFLAG_BLENDED 0x00001000
+// render using a custom blendfunc
+#define MATERIALFLAG_CUSTOMBLEND 0x00002000
+// do not cast shadows from this material
+#define MATERIALFLAG_NOSHADOW 0x00004000
+// render using vertex alpha (q3bsp) as texture blend parameter between foreground (normal) skinframe and background skinframe
+#define MATERIALFLAG_VERTEXTEXTUREBLEND 0x00008000
+// disables GL_CULL_FACE on this texture (making it double sided)
+#define MATERIALFLAG_NOCULLFACE 0x000100000
+// 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 0x00020000
+// render water, comprising refraction and reflection (note: this is always opaque, the shader does the alpha effect)
+#define MATERIALFLAG_WATERSHADER 0x00040000
+// render refraction (note: this is just a way to distort the background, otherwise useless)
+#define MATERIALFLAG_REFRACTION 0x00080000
+// render reflection
+#define MATERIALFLAG_REFLECTION 0x00100000
+// use model lighting on this material (q1bsp lightmap sampling or q3bsp lightgrid, implies FULLBRIGHT is false)
+#define MATERIALFLAG_MODELLIGHT 0x00200000
+// add directional model lighting to this material (q3bsp lightgrid only)
+#define MATERIALFLAG_MODELLIGHT_DIRECTIONAL 0x00400000
+// causes RSurf_GetCurrentTexture to leave alone certain fields
+#define MATERIALFLAG_CUSTOMSURFACE 0x00800000
+// causes MATERIALFLAG_BLENDED to render a depth pass before rendering, hiding backfaces and other hidden geometry
+#define MATERIALFLAG_TRANSDEPTH 0x01000000
+// like refraction, but doesn't distort etc.
+#define MATERIALFLAG_CAMERA 0x02000000
+// disable rtlight on surface, use R_LightPoint instead
+#define MATERIALFLAG_NORTLIGHT 0x04000000
+// alphagen vertex
+#define MATERIALFLAG_ALPHAGEN_VERTEX 0x08000000
+// use occlusion buffer for corona
+#define MATERIALFLAG_OCCLUDE 0x10000000
+// combined mask of all attributes that require depth sorted rendering
+#define MATERIALFLAGMASK_DEPTHSORTED (MATERIALFLAG_BLENDED | MATERIALFLAG_NODEPTHTEST)
+// combined mask of all attributes that cause some sort of transparency
+#define MATERIALFLAGMASK_TRANSLUCENT (MATERIALFLAG_WATERALPHA | MATERIALFLAG_SKY | MATERIALFLAG_NODRAW | MATERIALFLAG_ALPHATEST | MATERIALFLAG_BLENDED | MATERIALFLAG_WATERSHADER | MATERIALFLAG_REFRACTION)
+
+typedef struct medge_s
+{
+ unsigned int v[2];
+}
+medge_t;