// TODO: support these features more directly
#define Q3TEXTUREFLAG_TWOSIDED 1
#define Q3TEXTUREFLAG_NOPICMIP 16
+#define Q3TEXTUREFLAG_POLYGONOFFSET 32
#define Q3PATHLENGTH 64
#define TEXTURE_MAXFRAMES 64
// current PolygonOffset values for rendering this material
float currentpolygonfactor;
float currentpolygonoffset;
+ float basepolygonfactor;
+ float basepolygonoffset;
// textures to use when rendering this material
skinframe_t *currentskinframe;
msurface_lightmapinfo_t *data_surfaces_lightmapinfo;
// all surfaces belong to this mesh
surfmesh_t surfmesh;
+ // data type of model
+ const char *modeldatatypestring;
// draw the model's sky polygons (only used by brush models)
void(*DrawSky)(struct entity_render_s *ent);
+ // draw refraction/reflection textures for the model's water polygons (only used by brush models)
+ void(*DrawAddWaterPlanes)(struct entity_render_s *ent);
// draw the model using lightmap/dlight shading
void(*Draw)(struct entity_render_s *ent);
// draw the model to the depth buffer (no color rendering at all)
// a lot of model formats use the Q1BSP code, so here are the prototypes...
struct entity_render_s;
+void R_Q1BSP_DrawAddWaterPlanes(struct entity_render_s *ent);
void R_Q1BSP_DrawSky(struct entity_render_s *ent);
void R_Q1BSP_Draw(struct entity_render_s *ent);
void R_Q1BSP_DrawDepth(struct entity_render_s *ent);