+#define SHADERSTAGE_SKY 0
+#define SHADERSTAGE_NORMAL 1
+#define SHADERSTAGE_COUNT 2
+
+#define SHADERFLAGS_NEEDLIGHTMAP 1
+
+#define SURF_PLANEBACK 2
+#define SURF_DRAWSKY 4
+#define SURF_DRAWTURB 0x10
+#define SURF_LIGHTMAP 0x20
+#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
+
+#define SURFRENDER_OPAQUE 0
+#define SURFRENDER_ALPHA 1
+#define SURFRENDER_ADD 2
+
+struct entity_render_s;
+struct texture_s;
+struct msurface_s;
+// change this stuff when real shaders are added
+typedef struct Cshader_s