+cvar_t gl_mesh_maxtriangles = {0, "gl_mesh_maxtriangles", "1024"};
+cvar_t gl_mesh_floatcolors = {0, "gl_mesh_floatcolors", "1"};
+cvar_t gl_mesh_drawmode = {CVAR_SAVE, "gl_mesh_drawmode", "3"};
+
+cvar_t r_render = {0, "r_render", "1"};
+cvar_t gl_dither = {CVAR_SAVE, "gl_dither", "1"}; // whether or not to use dithering
+cvar_t gl_lockarrays = {0, "gl_lockarrays", "1"};
+
+// this is used to increase gl_mesh_maxtriangles automatically if a mesh was
+// too large for the buffers in the previous frame
+int overflowedverts = 0;
+
+int gl_maxdrawrangeelementsvertices;
+int gl_maxdrawrangeelementsindices;
+
+#ifdef DEBUGGL
+int errornumber = 0;
+
+void GL_PrintError(int errornumber, char *filename, int linenumber)
+{
+ switch(errornumber)
+ {
+#ifdef GL_INVALID_ENUM
+ case GL_INVALID_ENUM:
+ Con_Printf("GL_INVALID_ENUM at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_INVALID_VALUE
+ case GL_INVALID_VALUE:
+ Con_Printf("GL_INVALID_VALUE at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_INVALID_OPERATION
+ case GL_INVALID_OPERATION:
+ Con_Printf("GL_INVALID_OPERATION at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_STACK_OVERFLOW
+ case GL_STACK_OVERFLOW:
+ Con_Printf("GL_STACK_OVERFLOW at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_STACK_UNDERFLOW
+ case GL_STACK_UNDERFLOW:
+ Con_Printf("GL_STACK_UNDERFLOW at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_OUT_OF_MEMORY
+ case GL_OUT_OF_MEMORY:
+ Con_Printf("GL_OUT_OF_MEMORY at %s:%i\n", filename, linenumber);
+ break;
+#endif
+#ifdef GL_TABLE_TOO_LARGE
+ case GL_TABLE_TOO_LARGE:
+ Con_Printf("GL_TABLE_TOO_LARGE at %s:%i\n", filename, linenumber);
+ break;
+#endif
+ default:
+ Con_Printf("GL UNKNOWN (%i) at %s:%i\n", errornumber, filename, linenumber);
+ break;
+ }
+}
+#endif
+
+float r_mesh_farclip;
+
+static float viewdist;
+// sign bits (true if negative) for vpn[] entries, so quick integer compares can be used instead of float compares
+static int vpnbit0, vpnbit1, vpnbit2;
+
+int c_meshs, c_meshtris;
+
+int lightscalebit;
+float lightscale;
+float overbrightscale;
+
+void SCR_ScreenShot_f (void);
+