int gl_texturecubemap = false;
// GL_ARB_texture_env_dot3
int gl_dot3arb = false;
+// GL_SGIS_texture_edge_clamp
+int gl_support_clamptoedge = false;
// LordHavoc: if window is hidden, don't update screen
int vid_hidden = true;
cvar_t vid_mouse = {CVAR_SAVE, "vid_mouse", "1"};
cvar_t gl_combine = {0, "gl_combine", "1"};
-cvar_t in_pitch_min = {0, "in_pitch_min", "-90"};
-cvar_t in_pitch_max = {0, "in_pitch_max", "90"};
+cvar_t in_pitch_min = {0, "in_pitch_min", "-70"};
+cvar_t in_pitch_max = {0, "in_pitch_max", "80"};
cvar_t m_filter = {CVAR_SAVE, "m_filter","0"};
void (GLAPIENTRY *qglViewport)(GLint x, GLint y, GLsizei width, GLsizei height);
//void (GLAPIENTRY *qglPushMatrix)(void);
//void (GLAPIENTRY *qglPopMatrix)(void);
-//void (GLAPIENTRY *qglLoadIdentity)(void);
+void (GLAPIENTRY *qglLoadIdentity)(void);
//void (GLAPIENTRY *qglLoadMatrixd)(const GLdouble *m);
void (GLAPIENTRY *qglLoadMatrixf)(const GLfloat *m);
//void (GLAPIENTRY *qglMultMatrixd)(const GLdouble *m);
{"glViewport", (void **) &qglViewport},
// {"glPushMatrix", (void **) &qglPushMatrix},
// {"glPopMatrix", (void **) &qglPopMatrix},
-// {"glLoadIdentity", (void **) &qglLoadIdentity},
+ {"glLoadIdentity", (void **) &qglLoadIdentity},
// {"glLoadMatrixd", (void **) &qglLoadMatrixd},
{"glLoadMatrixf", (void **) &qglLoadMatrixf},
// {"glMultMatrixd", (void **) &qglMultMatrixd},
gl_dot3arb = false;
gl_supportslockarrays = false;
gl_textureunits = 1;
+ gl_support_clamptoedge = false;
if (!GL_CheckExtension("OpenGL 1.1.0", opengl110funcs, NULL, false))
Sys_Error("OpenGL 1.1.0 functions not found\n");
gl_texture3d = GL_CheckExtension("GL_EXT_texture3D", texture3dextfuncs, "-notexture3d", false);
gl_texturecubemap = GL_CheckExtension("GL_ARB_texture_cube_map", NULL, "-nocubemap", false);
gl_supportslockarrays = GL_CheckExtension("GL_EXT_compiled_vertex_array", compiledvertexarrayfuncs, "-nocva", false);
+ gl_support_clamptoedge = GL_CheckExtension("GL_EXT_texture_edge_clamp", NULL, "-noedgeclamp", false) || GL_CheckExtension("GL_SGIS_texture_edge_clamp", NULL, "-noedgeclamp", false);
// we don't care if it's an extension or not, they are identical functions, so keep it simple in the rendering code
if (qglDrawRangeElements == NULL)