FTEQW
Documentation of the FTE engine source tree.
glquake.h
Go to the documentation of this file.
1/*
2Copyright (C) 1996-1997 Id Software, Inc.
3
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
13See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program; if not, write to the Free Software
17Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19*/
20
21#ifndef GLQUAKE_H
22#define GLQUAKE_H
23
24// disable data conversion warnings
25#ifdef MSVCDISABLEWARNINGS
26#pragma warning(disable : 4244) // MIPS
27#pragma warning(disable : 4136) // X86
28#pragma warning(disable : 4051) // ALPHA
29#endif
30
32qboolean BoundsIntersect (const vec3_t mins1, const vec3_t maxs1, const vec3_t mins2, const vec3_t maxs2);
34
35void ModBrush_LoadGLStuff(void *ctx, void *data, size_t a, size_t b); //data === builddata_t
36
37#ifdef GLQUAKE
38 #if defined(ANDROID) /*FIXME: actually just to use standard GLES headers instead of full GL*/
39 #ifndef GLSLONLY
40 #include <GLES/gl.h>
41 #ifndef GL_CLIP_PLANE0
42 #define GL_CLIP_PLANE0 0x3000
43 #endif
44 #else
45 #include <GLES2/gl2.h>
46 #endif
47 /*gles has no doubles*/
48 #define GLclampd GLclampf
49 #define GLdouble GLfloat
50 #define GL_NONE 0
51 #elif defined(__APPLE__) || defined(__MACOSX__)
52 #include <OpenGL/OpenGLAvailability.h>
53 #if defined(OPENGL_DEPRECATED) && !defined(GL_SILENCE_DEPRECATION)
54 #undef OPENGL_DEPRECATED
55 #define OPENGL_DEPRECATED(from, to) API_DEPRECATED("Apple is deprecated. (Define GL_SILENCE_DEPRECATION to silence these warnings)", macos(from, to))
56 #endif
57 #include <OpenGL/gl.h> //tuna says use this.
58 //apple really do suck.
59 #elif defined(FTE_TARGET_WEB)
60 #include <GLES2/gl2.h>
61 #define GLclampd GLclampf
62 #define GLdouble GLfloat
63 #else
64 #ifdef _WIN32 //windows might use the standard header filename, but it still requires that we manually include windows.h first.
65 #if !defined(WIN32_BLOATED) && !defined(WIN32_LEAN_AND_MEAN)
66 #define WIN32_LEAN_AND_MEAN
67 #endif
68 #include <windows.h>
69 #endif
70
71 #include <GL/gl.h>
72 #ifdef GL_STATIC
73 #define GL_GLEXT_PROTOTYPES
74 #include <GL/glext.h>
75 #endif
76 #endif
77// #include <GL/glu.h>
78
79 #ifndef APIENTRY
80 #define APIENTRY //our code decorates function pointers with this for windows, so make sure it exists on systems that don't need it.
81 #endif
82 #include "glsupp.h"
83
84
85
86 /*gles2 has no fixed function*/
87#ifndef GL_ALPHA_TEST
88 #define GL_ALPHA_TEST 0
89#endif
90#ifndef GL_FILL
91 #define GL_FILL (Sys_Error("GL_FILL was used"),0)
92#endif
93#ifndef GL_CLAMP
94 #define GL_CLAMP GL_CLAMP_TO_EDGE
95#endif
96#ifndef GL_TEXTURE_ENV
97 #define GL_TEXTURE_ENV (Con_Printf("GL_TEXTURE_ENV was used"),0)
98 #define GL_TEXTURE_ENV_MODE (Con_Printf("GL_TEXTURE_ENV_MODE was used"),0)
99 #define GL_VERTEX_ARRAY (Con_Printf("GL_VERTEX_ARRAY was used"),0)
100 #define GL_COLOR_ARRAY (Con_Printf("GL_COLOR_ARRAY was used"),0)
101 #define GL_TEXTURE_COORD_ARRAY (Con_Printf("GL_TEXTURE_COORD_ARRAY was used"),0)
102 #define GL_DECAL (Con_Printf("GL_DECAL was used"),0)
103 #define GL_ADD (Con_Printf("GL_ADD was used"),0)
104 #define GL_FLAT (Con_Printf("GL_FLAT was used"),0)
105 #define GL_SMOOTH (Con_Printf("GL_SMOOTH was used"),0)
106 #define GL_MODULATE 0x2100
107 #define GL_PROJECTION (Con_Printf("GL_PROJECTION was used"),0)
108 #define GL_MODELVIEW (Con_Printf("GL_MODELVIEW was used"),0)
109 #define GL_CLIP_PLANE0 (Con_Printf("GL_CLIP_PLANE0 was used"),0)
110#endif
111#ifndef GL_COLOR_ARRAY_POINTER
112 #define GL_COLOR_ARRAY_POINTER 0
113 #define GL_NORMAL_ARRAY 0
114 #define GL_NORMAL_ARRAY_POINTER 0
115 #define GL_TEXTURE_COORD_ARRAY_POINTER 0
116 #define GL_VERTEX_ARRAY_POINTER 0
117 #define GL_BLEND_SRC 0
118 #define GL_BLEND_DST 0
119#endif
120#ifndef GL_POLYGON
121 #define GL_POLYGON (Con_Printf("GL_POLYGON was used"),0)
122 #define GL_QUAD_STRIP (Con_Printf("GL_QUAD_STRIP was used"),0)
123 #define GL_QUADS (Con_Printf("GL_QUADS was used"),0)
124#endif
125
127
128// Function prototypes for the Texture Object Extension routines
129typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
130 const GLboolean *);
131typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
132typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
133typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
134typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
135typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
136 const GLclampf *);
137typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *);
140typedef void (APIENTRY *FTEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, const GLvoid* img);
142typedef void (APIENTRY *FTEPFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);
144
145typedef GLhandleARB (APIENTRYP FTEPFNGLCREATEPROGRAMOBJECTARBPROC) (void);
146typedef void (APIENTRYP FTEPFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
147typedef void (APIENTRYP FTEPFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
148typedef GLhandleARB (APIENTRYP FTEPFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
149typedef void (APIENTRYP FTEPFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
150typedef void (APIENTRYP FTEPFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
151typedef void (APIENTRYP FTEPFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
152typedef void (APIENTRYP FTEPFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
153typedef void (APIENTRYP FTEPFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
154typedef void (APIENTRYP FTEPFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
155typedef void (APIENTRYP FTEPFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, GLcharARB *name);
156typedef GLint (APIENTRYP FTEPFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
157typedef void (APIENTRYP FTEPFNGLVERTEXATTRIBPOINTER) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
158typedef void (APIENTRYP FTEPFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
159typedef void (APIENTRYP FTEPFNGLENABLEVERTEXATTRIBARRAY) (GLuint index);
160typedef void (APIENTRYP FTEPFNGLDISABLEVERTEXATTRIBARRAY) (GLuint index);
161typedef GLint (APIENTRYP FTEPFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
162typedef void (APIENTRYP FTEPFNGLGETVERTEXATTRIBIV) (GLuint index, GLenum pname, GLint *params);
163typedef void (APIENTRYP FTEPFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
164typedef void (APIENTRYP FTEPFNGLUNIFORMMATRIXPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
165typedef void (APIENTRYP FTEPFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
166typedef void (APIENTRYP FTEPFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
167typedef void (APIENTRYP FTEPFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
168typedef void (APIENTRYP FTEPFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
169typedef void (APIENTRYP FTEPFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
170typedef void (APIENTRYP FTEPFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
171typedef void (APIENTRYP FTEPFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
172
174typedef void (APIENTRY * FTEPFNGLUNLOCKARRAYSEXTPROC) (void);
175
176#ifndef GL_STATIC
180extern void (APIENTRY *qglStencilOpSeparate) (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
181#endif
184extern void (APIENTRY *qglPatchParameteriARB)(GLenum pname, GLint value); //core in gl4
185
187
189{
190 int sizedformat; //texstorage
191 int cformat; //sized format used when gl_compress is set
192 int internalformat; //used instead of internal format when gl_compress is set, or 0
193 int format; //0 for compressed data
194 int type; //0 for compressed data
199};
200
201typedef struct {
204 int maxattribs; //max generic attributes. probably only 16 on nvidia.
207 qboolean webgl_ie; //workaround ie webgl bugs/omissions.
208 qboolean blacklist_invariant; //mesa's invariant keyword is broken (for us when combined with fixed function)
212
213// qboolean sgis_generate_mipmap;
214
217
218 qboolean arb_texture_compression; //means we support dynamic compression, rather than any specific compressed texture formats
219 qboolean astc_decodeprecision; //means we can tell the gpu that our astc textures actually are ldr.
220
223
226// qboolean arb_fragment_program;
234
235 struct glfmt_s formatinfo[PTI_MAX];
238
240
241extern float gldepthmin, gldepthmax;
242
243void GL_UpdateFiltering(image_t *imagelist, int filtermip[3], int filterpic[3], int mipcap[2], float lodbias, float anis);
246void GL_SetupFormats(void);
247
248/*
249typedef struct
250{
251 float x, y, z;
252 float s, t;
253 float r, g, b;
254} glvert_t;
255
256FTE_DEPRECATED extern glvert_t glv;
257*/
258#endif
259
260// r_local.h -- private refresh defs
261
262//#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0)
263 // normalizing factor so player model works out to about
264 // 1 pixel per triangle
265//#define MAX_LBM_HEIGHT 480
266
267//#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf
268
269//#define SKYSHIFT 7
270//#define SKYSIZE (1 << SKYSHIFT)
271//#define SKYMASK (SKYSIZE - 1)
272
273
274void R_TimeRefresh_f (void);
275
276#include "particles.h"
277
278//====================================================
279
281extern vec3_t r_entorigin;
282extern entity_t *currententity;
283
285
286//
287// view origin
288//
289extern vec3_t vup;
290extern vec3_t vpn;
291extern vec3_t vright;
292extern vec3_t r_origin;
293
294//
295// screen size info
296//
297extern refdef_t r_refdef;
298extern unsigned int r_viewcontents;
299extern int r_viewarea;
302
303extern texid_t netgraphtexture; // netgraph texture
305
306extern const char *gl_vendor;
307extern const char *gl_renderer;
308extern const char *gl_version;
309
311qboolean R_CullEntityBox(entity_t *e, vec3_t modmins, vec3_t modmaxs);
313void Sh_PreGenerateLights(void);
314void Sh_PurgeShadowMeshes(void);
315
316#ifdef GLQUAKE
317void R_TranslatePlayerSkin (int playernum);
318void GL_MTBind(int tmu, int target, texid_t texnum); /*use this if you're going to change the texture object (ensures glActiveTexture(tmu))*/
319void GL_CullFace(unsigned int sflags);
320void GL_TexEnv(GLenum mode);
321
322// Multitexture
323#define GL_TEXTURE0_SGIS 0x835E
324#define GL_TEXTURE1_SGIS 0x835F
325
326
327extern int gl_stencilbits;
328
329
330extern int gl_mtexarbable; //max texture units
331extern qboolean gl_mtexable;
332
333extern int mtexid0;
334
336
337void GL_SelectTexture (int tmunum);
339void GL_ForceDepthWritable(void);
340
341#endif
342
343//
344// gl_draw.c
345//
346#ifdef GLQUAKE
348void GL_Set2D (qboolean flipped);
349#endif
350
351//
352// gl_rmain.c
353//
355#ifdef GLQUAKE
356void R_RotateForEntity (float *modelmatrix, float *modelviewmatrix, const entity_t *e, const model_t *mod);
357
361#endif
362
363//
364// gl_alias.c
365//
366void R_DrawGAliasShadowVolume(entity_t *e, vec3_t lightpos, float radius);
367
368#ifdef GLQUAKE
369//misc model formats
371#endif
372
373//
374// gl_rlight.c
375//
376void R_GenDlightBatches(batch_t *batches[]);
377void R_InitFlashblends(void);
378#ifdef GLQUAKE
379void GLR_MarkQ2Lights (dlight_t *light, int bit, mnode_t *node);
380#endif
381void GLQ3_LightGrid(model_t *mod, const vec3_t point, vec3_t res_diffuse, vec3_t res_ambient, vec3_t res_dir);
383qboolean R_ImportRTLights(const char *entlump, int importmode);
384
385//doom
386#ifdef MAP_DOOM
387void R_DoomWorld();
388#endif
389#ifdef MAP_PROC
390qboolean QDECL D3_LoadMap_CollisionMap(model_t *mod, void *buf, size_t bufsize);
391unsigned char *D3_CalcVis(model_t *mod, vec3_t org);
393#endif
394
395//gl_bloom.c
396#ifdef GLQUAKE
397void R_BloomRegister(void);
398qboolean R_CanBloom(void);
399void R_BloomBlend (texid_t source, int x, int y, int w, int h);
400void R_BloomShutdown(void);
401#endif
402
403//
404// gl_ngraph.c
405//
406void R_NetGraph (void);
407
408
409#if defined(GLQUAKE)
410
411//updates the viewport correctly.
412//pxrect.y is relative to the top.
413//gl requires viewports specified relative to the bottom.
414//so we need to do a little extra maths, which keeps confusing me, so one macro to ensure consistancy.
415#define GL_ViewportUpdate() qglViewport(r_refdef.pxrect.x, r_refdef.pxrect.maxheight-(r_refdef.pxrect.y+r_refdef.pxrect.height), r_refdef.pxrect.width, r_refdef.pxrect.height)
416
417#ifdef GL_STATIC
418//these are the functions that are valid in gles2.
419//other functions should never actually be used.
420#define qglActiveTextureARB glActiveTexture
421#define qglAttachShader glAttachShader
422#define qglBindAttribLocation glBindAttribLocation
423#define qglBindBuffer glBindBuffer
424#define qglBindFramebuffer glBindFramebuffer
425#define qglBindRenderbufferEXT glBindRenderbuffer
426#define qglBindTexture glBindTexture
427#define qglBlendColor glBlendColor
428#define qglBlendEquation glBlendEquation
429#define qglBlendEquationSeparate glBlendEquationSeparate
430#define qglBlendFunc glBlendFunc
431#define qglBlendFuncSeparate glBlendFuncSeparate
432#define qglBufferData glBufferData
433#define qglBufferSubData glBufferSubData
434#define qglCheckFramebufferStatusEXT glCheckFramebufferStatus
435#define qglClear glClear
436#define qglClearColor glClearColor
437#define qglClearDepthf glClearDepthf
438#define qglClearStencil glClearStencil
439#define qglColorMask glColorMask
440#define qglCompileShader glCompileShader
441#define qglCompressedTexImage2D glCompressedTexImage2D
442#define qglCompressedTexSubImage2D glCompressedTexSubImage2D
443#define qglCopyTexImage2D glCopyTexImage2D
444#define qglCopyTexSubImage2D glCopyTexSubImage2D
445#define qglCreateProgram glCreateProgram
446#define qglCreateShader glCreateShader
447#define qglCullFace glCullFace
448#define qglDeleteBuffers glDeleteBuffers
449#define qglDeleteFramebuffers glDeleteFramebuffers
450#define qglDeleteProgram glDeleteProgram
451#define qglDeleteRenderbuffers glDeleteRenderbuffers
452#define qglDeleteShader glDeleteShader
453#define qglDeleteTextures glDeleteTextures
454#define qglDepthFunc glDepthFunc
455#define qglDepthMask glDepthMask
456#define qglDepthRangef glDepthRangef
457#define qglDetachShader glDetachShader
458#define qglDisable glDisable
459#define qglDisableVertexAttribArray glDisableVertexAttribArray
460#define qglDrawArrays glDrawArrays
461#define qglDrawElements glDrawElements
462#define qglEnable glEnable
463#define qglEnableVertexAttribArray glEnableVertexAttribArray
464#define qglFinish glFinish
465#define qglFlush glFlush
466#define qglFramebufferRenderbufferEXT glFramebufferRenderbuffer
467#define qglFramebufferTexture2D glFramebufferTexture2D
468#define qglFrontFace glFrontFace
469#define qglGenBuffers glGenBuffers
470#define qglGenerateMipmap glGenerateMipmap
471#define qglGenFramebuffers glGenFramebuffers
472#define qglGenRenderbuffersEXT glGenRenderbuffers
473#define qglGenTextures glGenTextures
474#define qglGetActiveAttrib glGetActiveAttrib
475#define qglGetActiveUniform glGetActiveUniform
476#define qglGetAttachedShaders glGetAttachedShaders
477#define qglGetAttribLocation glGetAttribLocation
478#define qglGetBooleanv glGetBooleanv
479#define qglGetBufferParameteriv glGetBufferParameteriv
480#define qglGetError glGetError
481#define qglGetFloatv glGetFloatv
482#define qglGetFramebufferAttachmentParameteriv glGetFramebufferAttachmentParameteriv
483#define qglGetIntegerv glGetIntegerv
484#define qglGetProgramiv glGetProgramiv
485#define qglGetProgramInfoLog glGetProgramInfoLog
486#define qglGetRenderbufferParameteriv glGetRenderbufferParameteriv
487#define qglGetShaderiv glGetShaderiv
488#define qglGetShaderInfoLog glGetShaderInfoLog
489#define qglGetShaderPrecisionFormat glGetShaderPrecisionFormat
490#define qglGetShaderSource glGetShaderSource
491#define qglGetString glGetString
492#define qglGetTexParameterfv glGetTexParameterfv
493#define qglGetTexParameteriv glGetTexParameteriv
494#define qglGetUniformfv glGetUniformfv
495#define qglGetUniformiv glGetUniformiv
496#define qglGetUniformLocation glGetUniformLocation
497#define qglGetVertexAttribfv glGetVertexAttribfv
498#define qglGetVertexAttribiv glGetVertexAttribiv
499#define qglGetVertexAttribPointerv glGetVertexAttribPointerv
500#define qglHint glHint
501#define qglIsBuffer glIsBuffer
502#define qglIsEnabled glIsEnabled
503#define qglIsFramebuffer glIsFramebuffer
504#define qglIsProgram glIsProgram
505#define qglIsRenderbuffer glIsRenderbuffer
506#define qglIsShader glIsShader
507#define qglIsTexture glIsTexture
508#define qglLineWidth glLineWidth
509#define qglLinkProgram glLinkProgram
510#define qglPixelStorei glPixelStorei
511#define qglPolygonOffset glPolygonOffset
512#define qglReadPixels glReadPixels
513#define qglReleaseShaderCompiler glReleaseShaderCompiler
514#define qglRenderbufferStorageEXT glRenderbufferStorage
515#define qglSampleCoverage glSampleCoverage
516#define qglScissor glScissor
517#define qglShaderBinary glShaderBinary
518#define qglShaderSource glShaderSource
519#define qglStencilFunc glStencilFunc
520#define qglStencilFuncSeparate glStencilFuncSeparate
521#define qglStencilMask glStencilMask
522#define qglStencilMaskSeparate glStencilMaskSeparate
523#define qglStencilOp glStencilOp
524#define qglStencilOpSeparate glStencilOpSeparate
525#define qglTexImage2D glTexImage2D
526#define qglTexParameterf glTexParameterf
527#define qglTexParameterfv glTexParameterfv
528#define qglTexParameteri glTexParameteri
529#define qglTexParameteriv glTexParameteriv
530#define qglTexSubImage2D glTexSubImage2D
531#define qglUniform1f glUniform1f
532#define qglUniform1fv glUniform1fv
533#define qglUniform1i glUniform1i
534#define qglUniform1iv glUniform1iv
535#define qglUniform2f glUniform2f
536#define qglUniform2fv glUniform2fv
537#define qglUniform2i glUniform2i
538#define qglUniform2iv glUniform2iv
539#define qglUniform3f glUniform3f
540#define qglUniform3fv glUniform3fv
541#define qglUniform3i glUniform3i
542#define qglUniform3iv glUniform3iv
543#define qglUniform4f glUniform4f
544#define qglUniform4fv glUniform4fv
545#define qglUniform4i glUniform4i
546#define qglUniform4iv glUniform4iv
547#define qglUniformMatrix2fv glUniformMatrix2fv
548#define qglUniformMatrix3fv glUniformMatrix3fv
549#define qglUniformMatrix4fv glUniformMatrix4fv
550#define qglUseProgram glUseProgram
551#define qglValidateProgram glValidateProgram
552#define qglVertexAttrib1f glVertexAttrib1f
553#define qglVertexAttrib1fv glVertexAttrib1fv
554#define qglVertexAttrib2f glVertexAttrib2f
555#define qglVertexAttrib2fv glVertexAttrib2fv
556#define qglVertexAttrib3f glVertexAttrib3f
557#define qglVertexAttrib3fv glVertexAttrib3fv
558#define qglVertexAttrib4f glVertexAttrib4f
559#define qglVertexAttrib4fv glVertexAttrib4fv
560#define qglVertexAttribPointer glVertexAttribPointer
561#define qglViewport glViewport
562
563#define qglGenFramebuffersEXT qglGenFramebuffers
564#define qglDeleteFramebuffersEXT qglDeleteFramebuffers
565#define qglBindFramebufferEXT qglBindFramebuffer
566#define qglFramebufferTexture2DEXT qglFramebufferTexture2D
567#define qglDeleteRenderbuffersEXT qglDeleteRenderbuffers
568//#define qglCompressedTexImage2DARB qglCompressedTexImage2D
569
570#define qglCreateProgramObjectARB glCreateProgram
571#define qglDeleteProgramObject_ glDeleteProgram
572#define qglDeleteShaderObject_ glDeleteShader
573#define qglUseProgramObjectARB glUseProgram
574#define qglCreateShaderObjectARB glCreateShader
575#define qglShaderSourceARB glShaderSource
576#define qglCompileShaderARB glCompileShader
577#define qglGetProgramParameteriv_ glGetProgramiv
578#define qglGetShaderParameteriv_ glGetShaderiv
579#define qglAttachObjectARB glAttachShader
580#define qglGetProgramInfoLog_ glGetProgramInfoLog
581#define qglGetShaderInfoLog_ glGetShaderInfoLog
582#define qglLinkProgramARB glLinkProgram
583#define qglBindAttribLocationARB glBindAttribLocation
584#define qglGetAttribLocationARB glGetAttribLocation
585#define qglGetUniformLocationARB glGetUniformLocation
586#define qglUniformMatrix4fvARB glUniformMatrix4fv
587#define qglUniformMatrix3fvARB glUniformMatrix3fv
588#define qglUniform4fARB glUniform4f
589#define qglUniform4fvARB glUniform4fv
590#define qglUniform3fARB glUniform3f
591#define qglUniform3fvARB glUniform3fv
592#define qglUniform2fvARB glUniform2fv
593#define qglUniform1iARB glUniform1i
594#define qglUniform1fARB glUniform1f
595
596#define qglGenBuffersARB glGenBuffers
597#define qglDeleteBuffersARB glDeleteBuffers
598#define qglBindBufferARB glBindBuffer
599#define qglBufferDataARB glBufferData
600#define qglBufferSubDataARB glBufferSubData
601
602#else
604extern void (APIENTRY *qglBlendFunc) (GLenum sfactor, GLenum dfactor);
605extern void (APIENTRY *qglClear) (GLbitfield mask);
606extern void (APIENTRY *qglClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
607extern void (APIENTRY *qglClearDepthf) (GLclampf depth);
608extern void (APIENTRY *qglClearStencil) (GLint s);
609extern void (APIENTRY *qglColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
611extern void (APIENTRY *qglCopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
612extern void (APIENTRY *qglCullFace) (GLenum mode);
613extern void (APIENTRY *qglDeleteTextures) (GLsizei n, const GLuint *textures);
614extern void (APIENTRY *qglDepthFunc) (GLenum func);
615extern void (APIENTRY *qglDepthMask) (GLboolean flag);
616extern void (APIENTRY *qglDepthRangef) (GLclampf zNear, GLclampf zFar);
617extern void (APIENTRY *qglDisable) (GLenum cap);
618extern void (APIENTRY *qglDrawArrays) (GLenum mode, GLint first, GLsizei count);
619extern void (APIENTRY *qglDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
620extern void (APIENTRY *qglEnable) (GLenum cap);
621extern void (APIENTRY *qglFinish) (void);
622extern void (APIENTRY *qglFlush) (void);
623extern void (APIENTRY *qglFrontFace) (GLenum mode);
624extern void (APIENTRY *qglGenTextures) (GLsizei n, GLuint *textures);
625extern void (APIENTRY *qglGenerateMipmap)(GLenum target);
626extern void (APIENTRY *qglGetBooleanv) (GLenum pname, GLboolean *params);
627extern GLenum (APIENTRY *qglGetError) (void);
628extern void (APIENTRY *qglGetFloatv) (GLenum pname, GLfloat *params);
629extern void (APIENTRY *qglGetIntegerv) (GLenum pname, GLint *params);
630extern const GLubyte * (APIENTRY *qglGetString) (GLenum name);
631extern void (APIENTRY *qglGetTexParameterfv) (GLenum target, GLenum pname, GLfloat *params);
632extern void (APIENTRY *qglGetTexParameteriv) (GLenum target, GLenum pname, GLint *params);
633extern void (APIENTRY *qglHint) (GLenum target, GLenum mode);
634extern GLboolean (APIENTRY *qglIsEnabled) (GLenum cap);
635extern GLboolean (APIENTRY *qglIsTexture) (GLuint texture);
636extern void (APIENTRY *qglLineWidth) (GLfloat width);
637extern void (APIENTRY *qglPixelStorei) (GLenum pname, GLint param);
638extern void (APIENTRY *qglPolygonOffset) (GLfloat factor, GLfloat units);
639extern void (APIENTRY *qglReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
640extern void (APIENTRY *qglScissor) (GLint x, GLint y, GLsizei width, GLsizei height);
641extern void (APIENTRY *qglStencilFunc) (GLenum func, GLint ref, GLuint mask);
642extern void (APIENTRY *qglStencilMask) (GLuint mask);
643extern void (APIENTRY *qglStencilOp) (GLenum fail, GLenum zfail, GLenum zpass);
645extern void (APIENTRY *qglTexParameterf) (GLenum target, GLenum pname, GLfloat param);
646extern void (APIENTRY *qglTexParameterfv) (GLenum target, GLenum pname, const GLfloat *params);
647extern void (APIENTRY *qglTexParameteri) (GLenum target, GLenum pname, GLint param);
648extern void (APIENTRY *qglTexParameteriv) (GLenum target, GLenum pname, const GLint *params);
649extern void (APIENTRY *qglTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
650extern void (APIENTRY *qglViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
652extern void (APIENTRY *qglCompressedTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); //gl1.3
653
654extern void (APIENTRY *qglGenFramebuffersEXT)(GLsizei n, GLuint* ids);
655extern void (APIENTRY *qglDeleteFramebuffersEXT)(GLsizei n, const GLuint* ids);
656extern void (APIENTRY *qglBindFramebufferEXT)(GLenum target, GLuint id);
657extern void (APIENTRY *qglGenRenderbuffersEXT)(GLsizei n, GLuint* ids);
658extern void (APIENTRY *qglDeleteRenderbuffersEXT)(GLsizei n, const GLuint* ids);
659extern void (APIENTRY *qglBindRenderbufferEXT)(GLenum target, GLuint id);
660extern void (APIENTRY *qglRenderbufferStorageEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
661extern void (APIENTRY *qglFramebufferTexture2DEXT)(GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint textureId, GLint level);
662extern void (APIENTRY *qglFramebufferRenderbufferEXT)(GLenum target, GLenum attachmentPoint, GLenum textureTarget, GLuint textureId);
663extern GLenum (APIENTRY *qglCheckFramebufferStatusEXT)(GLenum target);
664extern void (APIENTRY *qglGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
665
666//glslang - arb_shader_objects
667extern FTEPFNGLCREATEPROGRAMOBJECTARBPROC qglCreateProgramObjectARB;
668extern FTEPFNGLDELETEOBJECTARBPROC qglDeleteProgramObject_;
669extern FTEPFNGLDELETEOBJECTARBPROC qglDeleteShaderObject_;
670extern FTEPFNGLUSEPROGRAMOBJECTARBPROC qglUseProgramObjectARB;
671extern FTEPFNGLCREATESHADEROBJECTARBPROC qglCreateShaderObjectARB;
672extern FTEPFNGLSHADERSOURCEARBPROC qglShaderSourceARB;
673extern FTEPFNGLCOMPILESHADERARBPROC qglCompileShaderARB;
674extern FTEPFNGLGETOBJECTPARAMETERIVARBPROC qglGetProgramParameteriv_;
675extern FTEPFNGLGETOBJECTPARAMETERIVARBPROC qglGetShaderParameteriv_;
676extern FTEPFNGLATTACHOBJECTARBPROC qglAttachObjectARB;
677extern FTEPFNGLGETINFOLOGARBPROC qglGetProgramInfoLog_;
678extern FTEPFNGLGETINFOLOGARBPROC qglGetShaderInfoLog_;
679extern FTEPFNGLLINKPROGRAMARBPROC qglLinkProgramARB;
680extern FTEPFNGLBINDATTRIBLOCATIONARBPROC qglBindAttribLocationARB;
681extern FTEPFNGLGETATTRIBLOCATIONARBPROC qglGetAttribLocationARB;
682extern FTEPFNGLGETUNIFORMLOCATIONARBPROC qglGetUniformLocationARB;
683extern FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix4fvARB;
684extern FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix3fvARB;
685extern FTEPFNGLUNIFORM4FARBPROC qglUniform4fARB;
686extern FTEPFNGLUNIFORM4FVARBPROC qglUniform4fvARB;
687extern FTEPFNGLUNIFORM3FARBPROC qglUniform3fARB;
688extern FTEPFNGLUNIFORM3FVARBPROC qglUniform3fvARB;
689extern FTEPFNGLUNIFORM2FVARBPROC qglUniform2fvARB;
690extern FTEPFNGLUNIFORM1IARBPROC qglUniform1iARB;
691extern FTEPFNGLUNIFORM1FARBPROC qglUniform1fARB;
692extern FTEPFNGLVERTEXATTRIB4FARBPROC qglVertexAttrib4f;
693extern FTEPFNGLVERTEXATTRIBPOINTER qglVertexAttribPointer;
694extern FTEPFNGLGETVERTEXATTRIBIV qglGetVertexAttribiv;
695extern FTEPFNGLENABLEVERTEXATTRIBARRAY qglEnableVertexAttribArray;
696extern FTEPFNGLDISABLEVERTEXATTRIBARRAY qglDisableVertexAttribArray;
697
698extern void (APIENTRY *qglGenBuffersARB)(GLsizei n, GLuint* ids);
699extern void (APIENTRY *qglDeleteBuffersARB)(GLsizei n, GLuint* ids);
700extern void (APIENTRY *qglBindBufferARB)(GLenum target, GLuint id);
701extern void (APIENTRY *qglBufferDataARB)(GLenum target, GLsizei size, const void* data, GLenum usage);
702extern void (APIENTRY *qglBufferSubDataARB)(GLenum target, GLint offset, GLsizei size, void* data);
703#endif
704
705#define GLintptr qintptr_t
706#define GLsizeiptr quintptr_t
707#ifndef GL_MAP_READ_BIT
708#define GL_MAP_READ_BIT 0x0001
709#endif
710#ifndef GL_MAP_WRITE_BIT
711#define GL_MAP_WRITE_BIT 0x0002
712#endif
713#ifndef GL_MAP_PERSISTENT_BIT
714#define GL_MAP_PERSISTENT_BIT 0x0040
715#endif
716#ifndef GL_MAP_COHERENT_BIT
717#define GL_MAP_COHERENT_BIT 0x0080
718#endif
719extern void *(APIENTRY *qglMapBufferARB)(GLenum target, GLenum access);
720extern GLboolean (APIENTRY *qglUnmapBufferARB)(GLenum target);
721extern void *(APIENTRY *qglMapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); //gl3.0
722extern void (APIENTRY *qglBufferStorage)(GLenum target, GLsizeiptr size, const GLvoid *data, GLbitfield flags); //gl4.4
723
724extern void (APIENTRY *qglGenQueriesARB)(GLsizei n, GLuint *ids);
725extern void (APIENTRY *qglDeleteQueriesARB)(GLsizei n, const GLuint *ids);
726//extern GLboolean (APIENTRY *qglIsQueryARB)(GLuint id);
727extern void (APIENTRY *qglBeginQueryARB)(GLenum target, GLuint id);
728extern void (APIENTRY *qglEndQueryARB)(GLenum target);
729//extern void (APIENTRY *qglGetQueryivARB)(GLenum target, GLenum pname, GLint *params);
730//extern void (APIENTRY *qglGetQueryObjectivARB)(GLuint id, GLenum pname, GLint *params);
731extern void (APIENTRY *qglGetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint *params);
732
733extern void (APIENTRY *qglDrawBuffers)(GLsizei n, GLsizei *ids); //gl2
734
735extern GLenum (APIENTRY *qglGetGraphicsResetStatus) (void);
736
737//non-gles2 gl functions
738extern void (APIENTRY *qglAccum) (GLenum op, GLfloat value);
739extern void (APIENTRY *qglAlphaFunc) (GLenum func, GLclampf ref);
740extern GLboolean (APIENTRY *qglAreTexturesResident) (GLsizei n, const GLuint *textures, GLboolean *residences);
741extern void (APIENTRY *qglArrayElement) (GLint i);
742extern void (APIENTRY *qglBitmap) (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
743extern void (APIENTRY *qglCallList) (GLuint list);
744extern void (APIENTRY *qglCallLists) (GLsizei n, GLenum type, const GLvoid *lists);
745extern void (APIENTRY *qglClearAccum) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
746extern void (APIENTRY *qglClearDepth) (GLclampd depth);
747extern void (APIENTRY *qglClearIndex) (GLfloat c);
748extern void (APIENTRY *qglClipPlane) (GLenum plane, const GLdouble *equation);
749extern void (APIENTRY *qglColor3b) (GLbyte red, GLbyte green, GLbyte blue);
750extern void (APIENTRY *qglColor3bv) (const GLbyte *v);
751extern void (APIENTRY *qglColor3d) (GLdouble red, GLdouble green, GLdouble blue);
752extern void (APIENTRY *qglColor3dv) (const GLdouble *v);
753extern void (APIENTRY *qglColor3f) (GLfloat red, GLfloat green, GLfloat blue);
754extern void (APIENTRY *qglColor3fv) (const GLfloat *v);
755extern void (APIENTRY *qglColor3i) (GLint red, GLint green, GLint blue);
756extern void (APIENTRY *qglColor3iv) (const GLint *v);
757extern void (APIENTRY *qglColor3s) (GLshort red, GLshort green, GLshort blue);
758extern void (APIENTRY *qglColor3sv) (const GLshort *v);
759extern void (APIENTRY *qglColor3ub) (GLubyte red, GLubyte green, GLubyte blue);
760extern void (APIENTRY *qglColor3ubv) (const GLubyte *v);
761extern void (APIENTRY *qglColor3ui) (GLuint red, GLuint green, GLuint blue);
762extern void (APIENTRY *qglColor3uiv) (const GLuint *v);
763extern void (APIENTRY *qglColor3us) (GLushort red, GLushort green, GLushort blue);
764extern void (APIENTRY *qglColor3usv) (const GLushort *v);
765extern void (APIENTRY *qglColor4b) (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
766extern void (APIENTRY *qglColor4bv) (const GLbyte *v);
767extern void (APIENTRY *qglColor4d) (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
768extern void (APIENTRY *qglColor4dv) (const GLdouble *v);
769extern void (APIENTRY *qglColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
770extern void (APIENTRY *qglColor4fv) (const GLfloat *v);
771extern void (APIENTRY *qglColor4i) (GLint red, GLint green, GLint blue, GLint alpha);
772extern void (APIENTRY *qglColor4iv) (const GLint *v);
773extern void (APIENTRY *qglColor4s) (GLshort red, GLshort green, GLshort blue, GLshort alpha);
774extern void (APIENTRY *qglColor4sv) (const GLshort *v);
775extern void (APIENTRY *qglColor4ub) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
776extern void (APIENTRY *qglColor4ubv) (const GLubyte *v);
777extern void (APIENTRY *qglColor4ui) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
778extern void (APIENTRY *qglColor4uiv) (const GLuint *v);
779extern void (APIENTRY *qglColor4us) (GLushort red, GLushort green, GLushort blue, GLushort alpha);
780extern void (APIENTRY *qglColor4usv) (const GLushort *v);
781extern void (APIENTRY *qglColorMaterial) (GLenum face, GLenum mode);
782extern void (APIENTRY *qglColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
783extern void (APIENTRY *qglCopyPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
784extern void (APIENTRY *qglCopyTexImage1D) (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
785extern void (APIENTRY *qglCopyTexSubImage1D) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
786extern void (APIENTRY *qglDeleteLists) (GLuint list, GLsizei range);
787extern void (APIENTRY *qglDepthRange) (GLclampd zNear, GLclampd zFar);
788extern void (APIENTRY *qglDisableClientState) (GLenum array);
789extern void (APIENTRY *qglDrawBuffer) (GLenum mode);
790extern void (APIENTRY *qglDrawPixels) (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
791extern void (APIENTRY *qglEdgeFlag) (GLboolean flag);
792extern void (APIENTRY *qglEdgeFlagPointer) (GLsizei stride, const GLvoid *pointer);
793extern void (APIENTRY *qglEdgeFlagv) (const GLboolean *flag);
794extern void (APIENTRY *qglEndList) (void);
795extern void (APIENTRY *qglEvalCoord1d) (GLdouble u);
796extern void (APIENTRY *qglEvalCoord1dv) (const GLdouble *u);
797extern void (APIENTRY *qglEvalCoord1f) (GLfloat u);
798extern void (APIENTRY *qglEvalCoord1fv) (const GLfloat *u);
799extern void (APIENTRY *qglEvalCoord2d) (GLdouble u, GLdouble v);
800extern void (APIENTRY *qglEvalCoord2dv) (const GLdouble *u);
801extern void (APIENTRY *qglEvalCoord2f) (GLfloat u, GLfloat v);
802extern void (APIENTRY *qglEvalCoord2fv) (const GLfloat *u);
803extern void (APIENTRY *qglEvalMesh1) (GLenum mode, GLint i1, GLint i2);
804extern void (APIENTRY *qglEvalMesh2) (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
805extern void (APIENTRY *qglEvalPoint1) (GLint i);
806extern void (APIENTRY *qglEvalPoint2) (GLint i, GLint j);
807extern void (APIENTRY *qglFeedbackBuffer) (GLsizei size, GLenum type, GLfloat *buffer);
808extern void (APIENTRY *qglFogf) (GLenum pname, GLfloat param);
809extern void (APIENTRY *qglFogfv) (GLenum pname, const GLfloat *params);
810extern void (APIENTRY *qglFogi) (GLenum pname, GLint param);
811extern void (APIENTRY *qglFogiv) (GLenum pname, const GLint *params);
812extern void (APIENTRY *qglFrustum) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
813extern GLuint (APIENTRY *qglGenLists) (GLsizei range);
814extern void (APIENTRY *qglGetClipPlane) (GLenum plane, GLdouble *equation);
815extern void (APIENTRY *qglGetDoublev) (GLenum pname, GLdouble *params);
816extern void (APIENTRY *qglGetLightfv) (GLenum light, GLenum pname, GLfloat *params);
817extern void (APIENTRY *qglGetLightiv) (GLenum light, GLenum pname, GLint *params);
818extern void (APIENTRY *qglGetMapdv) (GLenum target, GLenum query, GLdouble *v);
819extern void (APIENTRY *qglGetMapfv) (GLenum target, GLenum query, GLfloat *v);
820extern void (APIENTRY *qglGetMapiv) (GLenum target, GLenum query, GLint *v);
821extern void (APIENTRY *qglGetMaterialfv) (GLenum face, GLenum pname, GLfloat *params);
822extern void (APIENTRY *qglGetMaterialiv) (GLenum face, GLenum pname, GLint *params);
823extern void (APIENTRY *qglGetPixelMapfv) (GLenum map, GLfloat *values);
824extern void (APIENTRY *qglGetPixelMapuiv) (GLenum map, GLuint *values);
825extern void (APIENTRY *qglGetPixelMapusv) (GLenum map, GLushort *values);
826extern void (APIENTRY *qglGetPointerv) (GLenum pname, GLvoid* *params);
827extern void (APIENTRY *qglGetPolygonStipple) (GLubyte *mask);
828extern void (APIENTRY *qglGetTexEnvfv) (GLenum target, GLenum pname, GLfloat *params);
829extern void (APIENTRY *qglGetTexEnviv) (GLenum target, GLenum pname, GLint *params);
830extern void (APIENTRY *qglGetTexGendv) (GLenum coord, GLenum pname, GLdouble *params);
831extern void (APIENTRY *qglGetTexGenfv) (GLenum coord, GLenum pname, GLfloat *params);
832extern void (APIENTRY *qglGetTexGeniv) (GLenum coord, GLenum pname, GLint *params);
833extern void (APIENTRY *qglGetTexImage) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
834extern void (APIENTRY *qglGetTexLevelParameterfv) (GLenum target, GLint level, GLenum pname, GLfloat *params);
835extern void (APIENTRY *qglGetTexLevelParameteriv) (GLenum target, GLint level, GLenum pname, GLint *params);
836extern void (APIENTRY *qglIndexMask) (GLuint mask);
837extern void (APIENTRY *qglIndexPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
838extern void (APIENTRY *qglIndexd) (GLdouble c);
839extern void (APIENTRY *qglIndexdv) (const GLdouble *c);
840extern void (APIENTRY *qglIndexf) (GLfloat c);
841extern void (APIENTRY *qglIndexfv) (const GLfloat *c);
842extern void (APIENTRY *qglIndexi) (GLint c);
843extern void (APIENTRY *qglIndexiv) (const GLint *c);
844extern void (APIENTRY *qglIndexs) (GLshort c);
845extern void (APIENTRY *qglIndexsv) (const GLshort *c);
846extern void (APIENTRY *qglIndexub) (GLubyte c);
847extern void (APIENTRY *qglIndexubv) (const GLubyte *c);
848extern void (APIENTRY *qglInitNames) (void);
849extern void (APIENTRY *qglInterleavedArrays) (GLenum format, GLsizei stride, const GLvoid *pointer);
850extern GLboolean (APIENTRY *qglIsList) (GLuint list);
851extern void (APIENTRY *qglLightModelf) (GLenum pname, GLfloat param);
852extern void (APIENTRY *qglLightModelfv) (GLenum pname, const GLfloat *params);
853extern void (APIENTRY *qglLightModeli) (GLenum pname, GLint param);
854extern void (APIENTRY *qglLightModeliv) (GLenum pname, const GLint *params);
855extern void (APIENTRY *qglLightf) (GLenum light, GLenum pname, GLfloat param);
856extern void (APIENTRY *qglLightfv) (GLenum light, GLenum pname, const GLfloat *params);
857extern void (APIENTRY *qglLighti) (GLenum light, GLenum pname, GLint param);
858extern void (APIENTRY *qglLightiv) (GLenum light, GLenum pname, const GLint *params);
859extern void (APIENTRY *qglLineStipple) (GLint factor, GLushort pattern);
860extern void (APIENTRY *qglListBase) (GLuint base);
861extern void (APIENTRY *qglLoadIdentity) (void);
862extern void (APIENTRY *qglLoadMatrixd) (const GLdouble *m);
863extern void (APIENTRY *qglLoadMatrixf) (const GLfloat *m);
864extern void (APIENTRY *qglLoadName) (GLuint name);
865extern void (APIENTRY *qglLogicOp) (GLenum opcode);
866extern void (APIENTRY *qglMap1d) (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
867extern void (APIENTRY *qglMap1f) (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
868extern void (APIENTRY *qglMap2d) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
869extern void (APIENTRY *qglMap2f) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
870extern void (APIENTRY *qglMapGrid1d) (GLint un, GLdouble u1, GLdouble u2);
871extern void (APIENTRY *qglMapGrid1f) (GLint un, GLfloat u1, GLfloat u2);
872extern void (APIENTRY *qglMapGrid2d) (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
873extern void (APIENTRY *qglMapGrid2f) (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
874extern void (APIENTRY *qglMaterialf) (GLenum face, GLenum pname, GLfloat param);
875extern void (APIENTRY *qglMaterialfv) (GLenum face, GLenum pname, const GLfloat *params);
876extern void (APIENTRY *qglMateriali) (GLenum face, GLenum pname, GLint param);
877extern void (APIENTRY *qglMaterialiv) (GLenum face, GLenum pname, const GLint *params);
878extern void (APIENTRY *qglMatrixMode) (GLenum mode);
879extern void (APIENTRY *qglMultMatrixd) (const GLdouble *m);
880extern void (APIENTRY *qglMultMatrixf) (const GLfloat *m);
881extern void (APIENTRY *qglNewList) (GLuint list, GLenum mode);
882extern void (APIENTRY *qglNormal3b) (GLbyte nx, GLbyte ny, GLbyte nz);
883extern void (APIENTRY *qglNormal3bv) (const GLbyte *v);
884extern void (APIENTRY *qglNormal3d) (GLdouble nx, GLdouble ny, GLdouble nz);
885extern void (APIENTRY *qglNormal3dv) (const GLdouble *v);
886extern void (APIENTRY *qglNormal3f) (GLfloat nx, GLfloat ny, GLfloat nz);
887extern void (APIENTRY *qglNormal3fv) (const GLfloat *v);
888extern void (APIENTRY *qglNormal3i) (GLint nx, GLint ny, GLint nz);
889extern void (APIENTRY *qglNormal3iv) (const GLint *v);
890extern void (APIENTRY *qglNormal3s) (GLshort nx, GLshort ny, GLshort nz);
891extern void (APIENTRY *qglNormal3sv) (const GLshort *v);
892extern void (APIENTRY *qglNormalPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
893//extern void (APIENTRY *qglOrtho) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
894extern void (APIENTRY *qglPassThrough) (GLfloat token);
895extern void (APIENTRY *qglPixelMapfv) (GLenum map, GLsizei mapsize, const GLfloat *values);
896extern void (APIENTRY *qglPixelMapuiv) (GLenum map, GLsizei mapsize, const GLuint *values);
897extern void (APIENTRY *qglPixelMapusv) (GLenum map, GLsizei mapsize, const GLushort *values);
898extern void (APIENTRY *qglPixelStoref) (GLenum pname, GLfloat param);
899extern void (APIENTRY *qglPixelTransferf) (GLenum pname, GLfloat param);
900extern void (APIENTRY *qglPixelTransferi) (GLenum pname, GLint param);
901extern void (APIENTRY *qglPixelZoom) (GLfloat xfactor, GLfloat yfactor);
902extern void (APIENTRY *qglPointSize) (GLfloat size);
903extern void (APIENTRY *qglPolygonMode) (GLenum face, GLenum mode);
904extern void (APIENTRY *qglPolygonStipple) (const GLubyte *mask);
905extern void (APIENTRY *qglPopAttrib) (void);
906extern void (APIENTRY *qglPopClientAttrib) (void);
907extern void (APIENTRY *qglPopMatrix) (void);
908extern void (APIENTRY *qglPopName) (void);
909extern void (APIENTRY *qglPrioritizeTextures) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
910extern void (APIENTRY *qglPushAttrib) (GLbitfield mask);
911extern void (APIENTRY *qglPushClientAttrib) (GLbitfield mask);
912extern void (APIENTRY *qglPushMatrix) (void);
913extern void (APIENTRY *qglPushName) (GLuint name);
914extern void (APIENTRY *qglRasterPos2d) (GLdouble x, GLdouble y);
915extern void (APIENTRY *qglRasterPos2dv) (const GLdouble *v);
916extern void (APIENTRY *qglRasterPos2f) (GLfloat x, GLfloat y);
917extern void (APIENTRY *qglRasterPos2fv) (const GLfloat *v);
918extern void (APIENTRY *qglRasterPos2i) (GLint x, GLint y);
919extern void (APIENTRY *qglRasterPos2iv) (const GLint *v);
920extern void (APIENTRY *qglRasterPos2s) (GLshort x, GLshort y);
921extern void (APIENTRY *qglRasterPos2sv) (const GLshort *v);
922extern void (APIENTRY *qglRasterPos3d) (GLdouble x, GLdouble y, GLdouble z);
923extern void (APIENTRY *qglRasterPos3dv) (const GLdouble *v);
924extern void (APIENTRY *qglRasterPos3f) (GLfloat x, GLfloat y, GLfloat z);
925extern void (APIENTRY *qglRasterPos3fv) (const GLfloat *v);
926extern void (APIENTRY *qglRasterPos3i) (GLint x, GLint y, GLint z);
927extern void (APIENTRY *qglRasterPos3iv) (const GLint *v);
928extern void (APIENTRY *qglRasterPos3s) (GLshort x, GLshort y, GLshort z);
929extern void (APIENTRY *qglRasterPos3sv) (const GLshort *v);
930extern void (APIENTRY *qglRasterPos4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
931extern void (APIENTRY *qglRasterPos4dv) (const GLdouble *v);
932extern void (APIENTRY *qglRasterPos4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
933extern void (APIENTRY *qglRasterPos4fv) (const GLfloat *v);
934extern void (APIENTRY *qglRasterPos4i) (GLint x, GLint y, GLint z, GLint w);
935extern void (APIENTRY *qglRasterPos4iv) (const GLint *v);
936extern void (APIENTRY *qglRasterPos4s) (GLshort x, GLshort y, GLshort z, GLshort w);
937extern void (APIENTRY *qglRasterPos4sv) (const GLshort *v);
938extern void (APIENTRY *qglRectd) (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
939extern void (APIENTRY *qglRectdv) (const GLdouble *v1, const GLdouble *v2);
940extern void (APIENTRY *qglRectf) (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
941extern void (APIENTRY *qglRectfv) (const GLfloat *v1, const GLfloat *v2);
942extern void (APIENTRY *qglRecti) (GLint x1, GLint y1, GLint x2, GLint y2);
943extern void (APIENTRY *qglRectiv) (const GLint *v1, const GLint *v2);
944extern void (APIENTRY *qglRects) (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
945extern void (APIENTRY *qglRectsv) (const GLshort *v1, const GLshort *v2);
946extern GLint (APIENTRY *qglRenderMode) (GLenum mode);
947extern void (APIENTRY *qglRotated) (GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
948extern void (APIENTRY *qglRotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
949extern void (APIENTRY *qglScaled) (GLdouble x, GLdouble y, GLdouble z);
950extern void (APIENTRY *qglScalef) (GLfloat x, GLfloat y, GLfloat z);
951extern void (APIENTRY *qglSelectBuffer) (GLsizei size, GLuint *buffer);
952extern void (APIENTRY *qglShadeModel) (GLenum mode);
953extern void (APIENTRY *qglTexCoord1d) (GLdouble s);
954extern void (APIENTRY *qglTexCoord1dv) (const GLdouble *v);
955extern void (APIENTRY *qglTexCoord1f) (GLfloat s);
956extern void (APIENTRY *qglTexCoord1fv) (const GLfloat *v);
957extern void (APIENTRY *qglTexCoord1i) (GLint s);
958extern void (APIENTRY *qglTexCoord1iv) (const GLint *v);
959extern void (APIENTRY *qglTexCoord1s) (GLshort s);
960extern void (APIENTRY *qglTexCoord1sv) (const GLshort *v);
961extern void (APIENTRY *qglTexCoord2d) (GLdouble s, GLdouble t);
962extern void (APIENTRY *qglTexCoord2dv) (const GLdouble *v);
963extern void (APIENTRY *qglTexCoord2f) (GLfloat s, GLfloat t);
964extern void (APIENTRY *qglTexCoord2fv) (const GLfloat *v);
965extern void (APIENTRY *qglTexCoord2i) (GLint s, GLint t);
966extern void (APIENTRY *qglTexCoord2iv) (const GLint *v);
967extern void (APIENTRY *qglTexCoord2s) (GLshort s, GLshort t);
968extern void (APIENTRY *qglTexCoord2sv) (const GLshort *v);
969extern void (APIENTRY *qglTexCoord3d) (GLdouble s, GLdouble t, GLdouble r);
970extern void (APIENTRY *qglTexCoord3dv) (const GLdouble *v);
971extern void (APIENTRY *qglTexCoord3f) (GLfloat s, GLfloat t, GLfloat r);
972extern void (APIENTRY *qglTexCoord3fv) (const GLfloat *v);
973extern void (APIENTRY *qglTexCoord3i) (GLint s, GLint t, GLint r);
974extern void (APIENTRY *qglTexCoord3iv) (const GLint *v);
975extern void (APIENTRY *qglTexCoord3s) (GLshort s, GLshort t, GLshort r);
976extern void (APIENTRY *qglTexCoord3sv) (const GLshort *v);
977extern void (APIENTRY *qglTexCoord4d) (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
978extern void (APIENTRY *qglTexCoord4dv) (const GLdouble *v);
979extern void (APIENTRY *qglTexCoord4f) (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
980extern void (APIENTRY *qglTexCoord4fv) (const GLfloat *v);
981extern void (APIENTRY *qglTexCoord4i) (GLint s, GLint t, GLint r, GLint q);
982extern void (APIENTRY *qglTexCoord4iv) (const GLint *v);
983extern void (APIENTRY *qglTexCoord4s) (GLshort s, GLshort t, GLshort r, GLshort q);
984extern void (APIENTRY *qglTexCoord4sv) (const GLshort *v);
985extern void (APIENTRY *qglTexCoordPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
986extern void (APIENTRY *qglTexEnvf) (GLenum target, GLenum pname, GLfloat param);
987extern void (APIENTRY *qglTexEnvfv) (GLenum target, GLenum pname, const GLfloat *params);
988extern void (APIENTRY *qglTexEnvi) (GLenum target, GLenum pname, GLint param);
989extern void (APIENTRY *qglTexEnviv) (GLenum target, GLenum pname, const GLint *params);
990extern void (APIENTRY *qglTexGend) (GLenum coord, GLenum pname, GLdouble param);
991extern void (APIENTRY *qglTexGendv) (GLenum coord, GLenum pname, const GLdouble *params);
992extern void (APIENTRY *qglTexGenf) (GLenum coord, GLenum pname, GLfloat param);
993extern void (APIENTRY *qglTexGenfv) (GLenum coord, GLenum pname, const GLfloat *params);
994extern void (APIENTRY *qglTexGeni) (GLenum coord, GLenum pname, GLint param);
995extern void (APIENTRY *qglTexGeniv) (GLenum coord, GLenum pname, const GLint *params);
996extern void (APIENTRY *qglTexImage1D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
998extern void (APIENTRY *qglTexSubImage1D) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
1000extern void (APIENTRY *qglTranslated) (GLdouble x, GLdouble y, GLdouble z);
1001extern void (APIENTRY *qglTranslatef) (GLfloat x, GLfloat y, GLfloat z);
1002
1003extern FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix4x3fv;
1004extern FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix3x4fv;
1005
1007extern void (APIENTRY *qglCompressedTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); //gl1.3
1009
1010extern const GLubyte * (APIENTRY * qglGetStringi) (GLenum name, GLuint index);
1011
1012/*
1013extern qboolean gl_arb_fragment_program;
1014extern PFNGLPROGRAMSTRINGARBPROC qglProgramStringARB;
1015extern PFNGLGETPROGRAMIVARBPROC qglGetProgramivARB;
1016extern PFNGLBINDPROGRAMARBPROC qglBindProgramARB;
1017extern PFNGLGENPROGRAMSARBPROC qglGenProgramsARB;
1018*/
1019
1022
1023typedef void (APIENTRY *lpSelTexFUNC) (GLenum en);
1025
1026//these functions are not available in gles2, for one reason or another
1027extern void (APIENTRY *qglBegin) (GLenum mode);
1028extern void (APIENTRY *qglVertex2d) (GLdouble x, GLdouble y);
1029extern void (APIENTRY *qglVertex2dv) (const GLdouble *v);
1030extern void (APIENTRY *qglVertex2f) (GLfloat x, GLfloat y);
1031extern void (APIENTRY *qglVertex2fv) (const GLfloat *v);
1032extern void (APIENTRY *qglVertex2i) (GLint x, GLint y);
1033extern void (APIENTRY *qglVertex2iv) (const GLint *v);
1034extern void (APIENTRY *qglVertex2s) (GLshort x, GLshort y);
1035extern void (APIENTRY *qglVertex2sv) (const GLshort *v);
1036extern void (APIENTRY *qglVertex3d) (GLdouble x, GLdouble y, GLdouble z);
1037extern void (APIENTRY *qglVertex3dv) (const GLdouble *v);
1038extern void (APIENTRY *qglVertex3f) (GLfloat x, GLfloat y, GLfloat z);
1039extern void (APIENTRY *qglVertex3fv) (const GLfloat *v);
1040extern void (APIENTRY *qglVertex3i) (GLint x, GLint y, GLint z);
1041extern void (APIENTRY *qglVertex3iv) (const GLint *v);
1042extern void (APIENTRY *qglVertex3s) (GLshort x, GLshort y, GLshort z);
1043extern void (APIENTRY *qglVertex3sv) (const GLshort *v);
1044extern void (APIENTRY *qglVertex4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1045extern void (APIENTRY *qglVertex4dv) (const GLdouble *v);
1046extern void (APIENTRY *qglVertex4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1047extern void (APIENTRY *qglVertex4fv) (const GLfloat *v);
1048extern void (APIENTRY *qglVertex4i) (GLint x, GLint y, GLint z, GLint w);
1049extern void (APIENTRY *qglVertex4iv) (const GLint *v);
1050extern void (APIENTRY *qglVertex4s) (GLshort x, GLshort y, GLshort z, GLshort w);
1051extern void (APIENTRY *qglVertex4sv) (const GLshort *v);
1052extern void (APIENTRY *qglEnd) (void);
1053extern void (APIENTRY *qglReadBuffer) (GLenum mode);
1054
1055//misc extensions
1057extern void (APIENTRY *qglDepthBoundsEXT) (GLclampd zmin, GLclampd zmax);
1058
1059extern void (APIENTRY *qglDrawRangeElements) (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
1060extern void (APIENTRY *qglMultiDrawElements) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei drawcount);
1061extern void (APIENTRY *qglEnableClientState) (GLenum array);
1062extern void (APIENTRY *qglVertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1063
1064extern void (APIENTRY *qglGenVertexArrays)(GLsizei n, GLuint *arrays);
1065extern void (APIENTRY *qglBindVertexArray)(GLuint vaoarray);
1066
1067extern void (APIENTRY *qglTexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); //gl4.2
1068extern void (APIENTRY *qglTexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); //gl4.2
1069
1070
1071//glslang helper api
1072struct programshared_s;
1073union programhandle_u GLSlang_CreateProgram(struct programshared_s *prog, const char *name, int ver, const char **precompilerconstants, const char *vert, const char *cont, const char *eval, const char *geom, const char *frag, qboolean silent, vfsfile_t *blobfile);
1074GLint GLSlang_GetUniformLocation (int prog, char *name);
1075void GL_SelectProgram(int program);
1076#define GLSlang_UseProgram(prog) GL_SelectProgram(prog)
1077#define GLSlang_SetUniform1i(uni, parm0) qglUniform1iARB(uni, parm0)
1078#define GLSlang_SetUniform1f(uni, parm0) qglUniform1fARB(uni, parm0)
1079
1080
1081#ifdef _DEBUG
1082#if defined(__GNUC__)
1083#define checkglerror() do {int i=qglGetError(); if (i) Sys_Printf("GL Error %i detected at line %s:%i (caller %p)\n", i, __FILE__, __LINE__, __builtin_return_address(0));}while(0)
1084#else
1085#define checkglerror() do {int i=qglGetError(); if (i) Con_Printf("GL Error %i detected at line %s:%i\n", i, __FILE__, __LINE__);}while(0)
1086#endif
1087#else
1088#define checkglerror()
1089#endif
1090
1091
1092
1093
1094qboolean GL_Init(rendererstate_t *info, void *(*getglfunction) (char *name));
1095void GL_ForgetPointers(void);
1096
1097#endif
1098
1099qbyte GetPaletteIndex(int red, int green, int blue);
1100qbyte GetPaletteIndexNoFB(int red, int green, int blue);
1101int Mod_ReadFlagsFromMD1(char *name, int md3version);
1102
1103/*
1104//opengl 3 deprecation
1105
1106. Application-generated object names - the names of all object types, such as
1107buffer, query, and texture objects, must be generated using the corresponding
1108Gen* commands. Trying to bind an object name not returned by a Gen*
1109command will result in an INVALID OPERATION error. This behavior is
1110already the case for framebuffer, renderbuffer, and vertex array objects. Object
1111types which have default objects (objects named zero) , such as vertex
1112array, framebuffer, and texture objects, may also bind the default object, even
1113though it is not returned by Gen*.
1114
1115. OpenGL Shading Language versions 1.10 and 1.20. These versions of the
1116shading language depend on many API features that have also been deprecated.
1117
1118. Pixel transfer modes and operations - all pixel transfer modes, including
1119pixel maps, shift and bias, color table lookup, color matrix, and convolution
1120commands and state, and all associated state and commands defining
1121that state.
1122
1123. Legacy OpenGL 1.0 pixel formats - the values 1, 2, 3, and 4 are no longer
1124accepted as internal formats by TexImage* or any other command taking
1125an internal format argument. The initial internal format of a texel array is
1126RGBA instead of 1.
1127
1128. Texture borders - the border value to TexImage* must always be zero, or
1129an INVALID VALUE error is generated (section 3.8.1); all language in section
11303.8 referring to nonzero border widths during texture image specification
1131and texture sampling; and all associated state.
1132
1133GL_COLOR_INDEX
1134
1135glBegin
1136glEnd
1137glEdgeFlag*;
1138glColor*,
1139glFogCoord*
1140glIndex*
1141glNormal3*
1142glSecondaryColor3*
1143glTexCoord*
1144glVertex*
1145
1146glColorPointer
1147glEdgeFlagPointer
1148glFogCoordPointer
1149glIndexPointer
1150glNormalPointer
1151glSecondary-
1152glColorPointer,
1153glTexCoordPointer
1154glVertexPointer
1155glEnableClientState
1156glDisableClientState,
1157
1158glInterleavedArrays
1159glClientActiveTexture
1160glFrustum,
1161glLoadIdentity
1162glLoadMatrix
1163glLoadTransposeMatrix
1164glMatrixMode,
1165glMultMatrix
1166glMultTransposeMatrix
1167glOrtho
1168glPopMatrix
1169glPushMatrix,
1170glRotate
1171glScale
1172glTranslate
1173GL_RESCALE_NORMAL
1174GL_NORMALIZE
1175glTexGen*
1176GL_TEXTURE_GEN_*,
1177Material*
1178glLight*
1179glLightModel*
1180glColorMaterial
1181glShadeModel
1182GL_LIGHTING
1183GL_VERTEX_PROGRAM_TWO_SIDE
1184GL_LIGHTi,
1185GL_COLOR_MATERIAL
1186glClipPlane
1187GL_CLAMP_VERTEX_COLOR
1188GL_CLAMP_FRAGMENT_COLOR
1189glRect*
1190
1191glRasterPos*
1192glWindowPos*
1193
1194GL_POINT_SMOOTH
1195GL_POINT_SPRITE
1196
1197glLineStipple
1198GL_LINE_STIPPLE
1199GL_POLYGON
1200GL_QUADS
1201GL_QUAD_STRIP
1202glPolygonMode
1203glPolygonStipple
1204GL_POLYGON_STIPPLE
1205glDrawPixels
1206glPixelZoom
1207glBitmap
1208GL_BITMAP
1209
1210GL_TEXTURE_COMPONENTS
1211GL_ALPHA
1212GL_LUMINANCE
1213GL_LUMINANCE_ALPHA
1214GL_INTENSITY
1215
1216GL_DEPTH_TEXTURE_MODE
1217
1218GL_CLAMP
1219
1220GL_GENERATE_MIPMAP
1221
1222glAreTexturesResident
1223glPrioritizeTextures,
1224GL_TEXTURE_PRIORITY
1225GL_TEXTURE_ENV
1226GL_TEXTURE_FILTER_CONTROL
1227GL_TEXTURE_LOD_BIAS
1228
1229GL_TEXTURE_1D
1230GL_TEXTURE_2D,
1231GL_TEXTURE_3D
1232GL_TEXTURE_1D_ARRAY
1233GL_TEXTURE_2D_ARRAY
1234GL_TEXTURE_CUBE_MAP
1235GL_COLOR_SUM
1236GL_FOG
1237glFog
1238GL_MAX_TEXTURE_UNITS
1239GL_MAX_TEXTURE_COORDS
1240glAlphaFunc
1241GL_ALPHA_TEST
1242
1243glClearAccum
1244GL_ACCUM_BUFFER_BIT
1245
1246glCopyPixels
1247
1248GL_AUX0
1249GL_RED_BITS
1250GL_GREEN_BITS
1251GL_BLUE_BITS
1252GL_ALPHA_BITS
1253GL_DEPTH_BITS
1254STENCIL BITS
1255glMap*
1256glEvalCoord*
1257glMapGrid*
1258glEvalMesh*
1259glEvalPoint*
1260
1261glRenderMode
1262glInitNames
1263glPopName
1264glPushName
1265glLoadName
1266glSelectBuffer
1267glFeedbackBuffer
1268glPassThrough
1269glNewList
1270glEndList
1271glCallList
1272glCallLists
1273glListBase
1274glGenLists,
1275glIsList
1276glDeleteLists
1277
1278
1279GL_PERSPECTIVE_CORRECTION_HINT
1280GL_POINT_SMOOTH_HINT,
1281GL_FOG_HINT
1282GL_GENERATE_MIPMAP_HINT
1283
1284glPushAttrib
1285glPushClientAttrib
1286glPopAttrib
1287glPopClientAttrib,
1288GL_MAX_ATTRIB_STACK_DEPTH,
1289GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
1290GL_ATTRIB_STACK_DEPTH
1291GL_CLIENT_ATTRIB_STACK_DEPTH
1292GL_ALL_ATTRIB_BITS
1293GL_CLIENT_ALL_ATTRIB_BITS.
1294GL_EXTENSIONS
1295*/
1296
1297#endif
qboolean
Definition: api_menu.h:34
vec_t vec3_t[3]
Definition: api_menu.h:40
int op
Definition: cmd.c:3416
dReal dReal radius
Definition: com_phys_ode.c:289
unsigned char qbyte
Definition: common.h:127
s
Definition: execloop.h:53
float modelmatrix[16]
Definition: gl_backend.c:142
float modelviewmatrix[16]
Definition: gl_backend.c:144
unsigned int vert[2]
Definition: gl_shadow.c:1318
GLsizei bufsize
Definition: gl_vidcommon.c:312
static EGLSurface EGLSurface EGLContext ctx
Definition: gl_videgl.c:47
int opcode
Definition: gl_vidlinuxglx.c:447
static CONST PIXELFORMATDESCRIPTOR *static int
Definition: gl_vidnt.c:222
static GLuint GLfloat GLfloat GLfloat x1
Definition: gl_vidnt.c:848
FTEPFNGLLOCKARRAYSEXTPROC qglLockArraysEXT
Definition: gl_vidcommon.c:259
int r_viewcluster2
Definition: glquake.h:300
void GL_ForceDepthWritable(void)
Definition: gl_backend.c:435
void R_BloomShutdown(void)
Definition: gl_bloom.c:407
GLsizei
Definition: glquake.h:1059
GLfloat GLfloat v1
Definition: glquake.h:163
qboolean QDECL D3_LoadMap_CollisionMap(model_t *mod, void *buf, size_t bufsize)
Definition: r_d3.c:1143
FTEPFNGLACTIVESTENCILFACEEXTPROC qglActiveStencilFaceEXT
Definition: gl_vidcommon.c:281
const char * gl_vendor
Definition: gl_vidcommon.c:395
void GL_UpdateFiltering(image_t *imagelist, int filtermip[3], int filterpic[3], int mipcap[2], float lodbias, float anis)
Definition: gl_draw.c:1195
const GLuint const GLclampf * priorities
Definition: glquake.h:909
FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix3x4fv
Definition: gl_vidcommon.c:129
GLdouble right
Definition: glquake.h:812
GLuint texture
Definition: glquake.h:603
GLuint
Definition: glquake.h:1059
float gldepthmin
Definition: gl_vidcommon.c:394
GLsizei mapsize
Definition: glquake.h:895
texid_t netgraphtexture
GLhandleARB obj
Definition: glquake.h:152
GLdouble v
Definition: glquake.h:799
void GL_SetShaderState2D(qboolean is2d)
Definition: gl_backend.c:449
GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte * bitmap
Definition: glquake.h:742
qboolean gl_mtexable
Definition: glquake.h:335
GLdouble GLdouble GLint ustride
Definition: glquake.h:868
GLfloat * values
Definition: glquake.h:823
GLenum attachmentPoint
Definition: glquake.h:661
void R_DrawGAliasShadowVolume(entity_t *e, vec3_t lightpos, float radius)
Definition: gl_alias.c:2177
FTEPFNGLGETINFOLOGARBPROC qglGetShaderInfoLog_
Definition: gl_vidcommon.c:112
void ClearBounds(vec3_t mins, vec3_t maxs)
Definition: gl_q2bsp.c:178
GLsizeiptr const GLvoid GLbitfield flags
Definition: glquake.h:722
GLint GLint GLint yoffset
Definition: glquake.h:611
FTEPFNGLUNIFORM1IARBPROC qglUniform1iARB
Definition: gl_vidcommon.c:125
GLdouble GLdouble GLint GLint uorder
Definition: glquake.h:868
GLint GLint GLint j1
Definition: glquake.h:804
GLboolean(APIENTRY * ISTEXFUNCPTR)(GLuint)
Definition: glquake.h:134
union programhandle_u GLSlang_CreateProgram(struct programshared_s *prog, const char *name, int ver, const char **precompilerconstants, const char *vert, const char *cont, const char *eval, const char *geom, const char *frag, qboolean silent, vfsfile_t *blobfile)
Definition: gl_vidcommon.c:2709
FTEPFNGLUNIFORM4FARBPROC qglUniform4fARB
Definition: gl_vidcommon.c:120
void GL_CullFace(unsigned int sflags)
Definition: gl_backend.c:1005
GLfloat GLfloat GLfloat v2
Definition: glquake.h:163
GLenum GLenum textureTarget
Definition: glquake.h:661
GLdouble GLdouble GLdouble GLdouble zNear
Definition: glquake.h:812
GLint GLint GLint GLsizei GLsizei GLenum GLsizei imageSize
Definition: glquake.h:652
GLdouble GLdouble bottom
Definition: glquake.h:812
texid_tf GL_LoadPicTexture(qpic_t *pic)
GLint GLSlang_GetUniformLocation(int prog, char *name)
Definition: gl_vidcommon.c:2815
GLenum mode
Definition: glquake.h:633
FTEPFNGLGETATTRIBLOCATIONARBPROC qglGetAttribLocationARB
Definition: gl_vidcommon.c:116
GLsizei GLfloat GLfloat GLfloat GLfloat ymove
Definition: glquake.h:742
void D3_GenerateAreas(model_t *mod)
qboolean GL_LoadTextureMips(texid_t tex, const struct pendingtextureinfo *mips)
Definition: gl_draw.c:760
FTEPFNGLUSEPROGRAMOBJECTARBPROC qglUseProgramObjectARB
Definition: gl_vidcommon.c:105
GLint GLuint mask
Definition: glquake.h:641
int r_viewarea
Definition: renderer.c:2685
FTEPFNGLGETVERTEXATTRIBIV qglGetVertexAttribiv
Definition: gl_vidcommon.c:89
GLdouble GLdouble u2
Definition: glquake.h:866
void(APIENTRY * FTEPFNGLACTIVESTENCILFACEEXTPROC)(GLenum face)
Definition: glquake.h:143
GLsizei GLfloat GLfloat yorig
Definition: glquake.h:742
void(APIENTRY * GENTEXFUNCPTR)(GLsizei, GLuint *)
Definition: glquake.h:133
GLint GLint i2
Definition: glquake.h:803
vec3_t vright
Definition: render.h:330
GLfloat GLfloat GLfloat z
Definition: glquake.h:158
FTEPFNGLGETOBJECTPARAMETERIVARBPROC qglGetShaderParameteriv_
Definition: gl_vidcommon.c:109
GLfloat yfactor
Definition: glquake.h:901
GLenum query
Definition: glquake.h:818
GLdouble GLdouble GLdouble y2
Definition: glquake.h:938
GLfloat GLfloat y
Definition: glquake.h:158
GLbyte GLbyte nz
Definition: glquake.h:882
void GL_TexEnv(GLenum mode)
Definition: gl_backend.c:360
vec3_t vup
Definition: render.h:330
void(APIENTRY * FTEPFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param)
Definition: glquake.h:142
qboolean R_LoadRTLights(void)
Definition: gl_rlight.c:1268
void GLQ3_LightGrid(model_t *mod, const vec3_t point, vec3_t res_diffuse, vec3_t res_ambient, vec3_t res_dir)
Definition: gl_rlight.c:2422
GLsizei count
Definition: glquake.h:149
FTEPFNGLUNIFORM4FVARBPROC qglUniform4fvARB
Definition: gl_vidcommon.c:121
GLint ref
Definition: glquake.h:641
GLint GLenum GLint GLint GLsizei width
Definition: glquake.h:610
FTEPFNGLUNLOCKARRAYSEXTPROC qglUnlockArraysEXT
Definition: gl_vidcommon.c:260
FTEPFNGLGETOBJECTPARAMETERIVARBPROC qglGetProgramParameteriv_
Definition: gl_vidcommon.c:110
GLsizei const GLcharARB const GLint * length
Definition: glquake.h:149
GLdouble GLdouble GLdouble top
Definition: glquake.h:812
typedef GLhandleARB(APIENTRYP FTEPFNGLCREATEPROGRAMOBJECTARBPROC)(void)
vec3_t r_origin
Definition: renderer.c:20
GLint GLsizei GLsizei GLenum format
Definition: glquake.h:639
float gldepthmax
Definition: glquake.h:241
qboolean R_ImportRTLights(const char *entlump, int importmode)
Definition: gl_rlight.c:789
int gl_stencilbits
qboolean R_CanBloom(void)
Definition: gl_bloom.c:172
void R_RotateForEntity(float *modelmatrix, float *modelviewmatrix, const entity_t *e, const model_t *mod)
Definition: gl_rmain.c:268
int Mod_ReadFlagsFromMD1(char *name, int md3version)
void GL_InitFogTexture(void)
GLuint index
Definition: glquake.h:155
FTEPFNGLPNTRIANGLESFATIPROC qglPNTrianglesfATI
Definition: gl_vidcommon.c:276
void GL_SelectTexture(int tmunum)
Definition: gl_backend.c:471
FTEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC qglGetCompressedTexImage
Definition: gl_vidcommon.c:234
GLclampf zFar
Definition: glquake.h:616
void R_TimeRefresh_f(void)
FTEPFNGLBINDATTRIBLOCATIONARBPROC qglBindAttribLocationARB
Definition: gl_vidcommon.c:115
const GLubyte *APIENTRY * qglGetStringi(GLenum name, GLuint index)
lpSelTexFUNC qglSelectTextureSGIS
Definition: gl_vidcommon.c:271
GLenum pname
Definition: glquake.h:151
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint vstride
Definition: glquake.h:868
GLsizei range
Definition: glquake.h:786
qboolean BoundsIntersect(const vec3_t mins1, const vec3_t maxs1, const vec3_t mins2, const vec3_t maxs2)
Definition: gl_q2bsp.c:417
GLclampf GLclampf blue
Definition: glquake.h:606
FTEPFNGLATTACHOBJECTARBPROC qglAttachObjectARB
Definition: gl_vidcommon.c:111
GLenum dfactor
Definition: glquake.h:604
refdef_t r_refdef
Definition: renderer.c:19
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glquake.h:997
GLbyte ny
Definition: glquake.h:882
void *APIENTRY * qglMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
void GL_InitSceneProcessingShaders(void)
Definition: gl_rmain.c:139
FTEPFNGLCREATESHADEROBJECTARBPROC qglCreateShaderObjectARB
Definition: gl_vidcommon.c:106
FTEPFNGLUNIFORM3FARBPROC qglUniform3fARB
Definition: gl_vidcommon.c:122
FTEPFNGLGETUNIFORMLOCATIONARBPROC qglGetUniformLocationARB
Definition: gl_vidcommon.c:117
typedef GLint(APIENTRYP FTEPFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB programObj
DELTEXFUNCPTR delTexFunc
GLenum GLfloat * buffer
Definition: glquake.h:807
GLdouble GLdouble GLint vn
Definition: glquake.h:872
void(APIENTRY * FTEPFNGLLOCKARRAYSEXTPROC)(GLint first, GLsizei count)
Definition: glquake.h:173
GLint GLenum type
Definition: glquake.h:157
GLdouble y1
Definition: glquake.h:938
GLint GLint GLint GLint j2
Definition: glquake.h:804
GLboolean(APIENTRY *qglIsEnabled)(GLenum cap)
void GL_Set2D(qboolean flipped)
Definition: gl_draw.c:626
FTEPFNGLUNIFORM2FVARBPROC qglUniform2fvARB
Definition: gl_vidcommon.c:124
void R_GenDlightBatches(batch_t *batches[])
Definition: gl_rlight.c:619
FTEPFNGLUNIFORM3FVARBPROC qglUniform3fvARB
Definition: gl_vidcommon.c:123
void Sh_PurgeShadowMeshes(void)
Definition: gl_shadow.c:3785
FTEPFNGLDELETEOBJECTARBPROC qglDeleteProgramObject_
Definition: gl_vidcommon.c:103
GLint GLenum GLboolean GLsizei stride
Definition: glquake.h:157
GLdouble GLdouble x2
Definition: glquake.h:938
const GLuint * textures
Definition: glquake.h:613
FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix3fvARB
Definition: gl_vidcommon.c:119
GLclampd zmax
Definition: glquake.h:1057
GLint GLenum GLint GLint GLsizei GLsizei height
Definition: glquake.h:610
texture_t * r_notexture_mip
Definition: renderer.c:25
GLint GLint xoffset
Definition: glquake.h:611
GLsizei GLfloat xorig
Definition: glquake.h:742
void R_DoomWorld()
Definition: glmod_doom.c:1167
const GLuint GLboolean * residences
Definition: glquake.h:740
GLenum attachment
Definition: glquake.h:664
int mtexid0
Definition: gl_vidcommon.c:272
GLuint * arrays
Definition: glquake.h:1064
qboolean R_CullEntityBox(entity_t *e, vec3_t modmins, vec3_t modmaxs)
Definition: renderer.c:2726
FTEPFNGLUNIFORM1FARBPROC qglUniform1fARB
Definition: gl_vidcommon.c:126
void R_InitFlashblends(void)
Definition: gl_rlight.c:251
void Sh_PreGenerateLights(void)
Definition: gl_shadow.c:3804
shader_t * netgraphshader
const char * gl_version
Definition: gl_vidcommon.c:397
FTEPFNGLENABLEVERTEXATTRIBARRAY qglEnableVertexAttribArray
Definition: gl_vidcommon.c:90
void(APIENTRY * TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *)
Definition: glquake.h:137
GLuint id
Definition: glquake.h:656
GLfloat v0
Definition: glquake.h:163
GLsizei GLfloat GLfloat GLfloat xmove
Definition: glquake.h:742
GLsizei const void GLenum usage
Definition: glquake.h:701
qboolean r_loadbumpmapping
Definition: com_mesh.c:21
GLenum
Definition: glquake.h:1059
GLenum GLenum GLuint textureId
Definition: glquake.h:661
qboolean GL_Init(rendererstate_t *info, void *(*getglfunction)(char *name))
Definition: gl_vidcommon.c:3307
unsigned char * D3_CalcVis(model_t *mod, vec3_t org)
Definition: r_d3.c:539
GLint first
Definition: glquake.h:618
GLint GLint GLint GLsizei GLsizei GLenum GLsizei const void * data
Definition: glquake.h:652
GLsizei const GLcharARB ** string
Definition: glquake.h:149
FTEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC qglCompressedTexImage3D
Definition: gl_vidcommon.c:236
FTEPFNGLCOMPILESHADERARBPROC qglCompileShaderARB
Definition: gl_vidcommon.c:108
void GL_SelectProgram(int program)
Definition: gl_backend.c:943
GLsizei maxLength
Definition: glquake.h:153
void(APIENTRY * FTEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
Definition: glquake.h:139
GLint GLenum GLboolean normalized
Definition: glquake.h:157
qboolean R_CullBox(vec3_t mins, vec3_t maxs)
Definition: renderer.c:2696
GLuint GLcharARB * name
Definition: glquake.h:155
void ModBrush_LoadGLStuff(void *ctx, void *data, size_t a, size_t b)
Definition: gl_model.c:5249
GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint vorder
Definition: glquake.h:868
GLenum GLenum zfail
Definition: glquake.h:180
vec3_t vpn
Definition: render.h:330
const char * gl_renderer
Definition: gl_vidcommon.c:396
void GLR_MarkQ2Lights(dlight_t *light, int bit, mnode_t *node)
GLdouble t
Definition: glquake.h:961
FTEPFNGLSHADERSOURCEARBPROC qglShaderSourceARB
Definition: gl_vidcommon.c:107
GLfloat GLfloat GLfloat GLfloat v3
Definition: glquake.h:163
FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix4fvARB
Definition: gl_vidcommon.c:118
GLsizei GLsizei GLcharARB * infoLog
Definition: glquake.h:153
void GL_ShutdownPostProcessing(void)
Definition: gl_rmain.c:130
FTEPFNGLVERTEXATTRIBPOINTER qglVertexAttribPointer
Definition: gl_vidcommon.c:87
BINDTEXFUNCPTR qglBindTexture
Definition: gl_vidcommon.c:97
entity_t r_worldentity
Definition: renderer.c:21
GLuint * ids
Definition: glquake.h:654
GLdouble GLdouble GLint GLint const GLdouble * points
Definition: glquake.h:866
typedef void(APIENTRYP FTEPFNGLDELETEOBJECTARBPROC)(GLhandleARB obj)
int gl_mtexarbable
Definition: gl_vidcommon.c:385
GLdouble GLdouble GLdouble q
Definition: glquake.h:977
void GL_ForgetPointers(void)
Definition: gl_vidcommon.c:3023
GLint level
Definition: glquake.h:610
FTEPFNGLCREATEPROGRAMOBJECTARBPROC qglCreateProgramObjectARB
Definition: gl_vidcommon.c:102
GLint param
Definition: glquake.h:637
void(APIENTRY * FTEPFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param)
Definition: glquake.h:141
TEXSUBIMAGEPTR TexSubImage2DFunc
GLint offset
Definition: glquake.h:702
void GL_SetupFormats(void)
Definition: gl_draw.c:80
FTEPFNGLVERTEXATTRIB4FARBPROC qglVertexAttrib4f
Definition: gl_vidcommon.c:88
const GLdouble * equation
Definition: glquake.h:748
qboolean GL_CheckExtension(char *extname)
Definition: gl_vidcommon.c:405
GLclampf green
Definition: glquake.h:606
GLint GLenum GLboolean GLsizei const GLvoid * pointer
Definition: glquake.h:157
gl_config_t gl_config
Definition: gl_vidcommon.c:392
void R_DrawHLModel(entity_t *curent)
GLsizei levels
Definition: glquake.h:1067
GLint i1
Definition: glquake.h:803
void R_BloomRegister(void)
Definition: gl_bloom.c:83
GLenum const GLvoid * lists
Definition: glquake.h:744
void(APIENTRY * lpSelTexFUNC)(GLenum en)
Definition: glquake.h:1023
void R_TranslatePlayerSkin(int playernum)
GLsizei GLboolean transpose
Definition: glquake.h:164
GLushort pattern
Definition: glquake.h:859
GLint GLenum internalFormat
Definition: glquake.h:610
void GL_SetupSceneProcessingTextures(void)
Definition: gl_rmain.c:186
GLfloat units
Definition: glquake.h:638
GLint size
Definition: glquake.h:157
void AddPointToBounds(const vec3_t v, vec3_t mins, vec3_t maxs)
Definition: gl_q2bsp.c:163
GLsizei GLenum const GLvoid * indices
Definition: glquake.h:619
GLfloat x
Definition: glquake.h:158
void(APIENTRY * BINDTEXFUNCPTR)(GLenum, GLuint)
Definition: glquake.h:131
void(APIENTRY * DELTEXFUNCPTR)(GLsizei, const GLuint *)
Definition: glquake.h:132
GLint GLenum GLint GLint GLsizei GLsizei GLint border
Definition: glquake.h:610
void(APIENTRY * FTEPFNGLUNLOCKARRAYSEXTPROC)(void)
Definition: glquake.h:174
void *APIENTRY * qglMapBufferARB(GLenum target, GLenum access)
const GLubyte *APIENTRY * qglGetString(GLenum name)
void R_BloomBlend(texid_t source, int x, int y, int w, int h)
Definition: gl_bloom.c:298
FTEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC qglCompressedTexImage2D
Definition: gl_vidcommon.c:79
GLint GLint internalformat
Definition: glquake.h:644
const GLvoid const GLsizei GLenum const GLvoid *const GLsizei drawcount
Definition: glquake.h:1060
vec3_t r_entorigin
void R_NetGraph(void)
Definition: gl_ngraph.c:89
void GL_DestroyTexture(texid_t tex)
Definition: gl_draw.c:49
qbyte GetPaletteIndex(int red, int green, int blue)
Definition: r_2d.c:86
qboolean R_CullSphere(vec3_t origin, float radius)
Definition: renderer.c:2711
qbyte GetPaletteIndexNoFB(int red, int green, int blue)
Definition: r_2d.c:112
FTEPFNGLPNTRIANGLESIATIPROC qglPNTrianglesiATI
Definition: gl_vidcommon.c:275
void(APIENTRY * FTEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
Definition: glquake.h:138
GLboolean(APIENTRY * ARETEXRESFUNCPTR)(GLsizei, const GLuint *, const GLboolean *)
Definition: glquake.h:129
void GL_MTBind(int tmu, int target, texid_t texnum)
Definition: gl_backend.c:508
FTEPFNGLGETINFOLOGARBPROC qglGetProgramInfoLog_
Definition: gl_vidcommon.c:113
GLint GLint GLint GLint zoffset
Definition: glquake.h:999
GLclampf GLclampf GLclampf alpha
Definition: glquake.h:606
unsigned int r_viewcontents
Definition: renderer.c:2682
GLint GLsizei GLsizei GLenum GLenum GLvoid * pixels
Definition: glquake.h:639
GLdouble GLdouble r
Definition: glquake.h:969
FTEPFNGLDISABLEVERTEXATTRIBARRAY qglDisableVertexAttribArray
Definition: gl_vidcommon.c:91
FTEPFNGLDELETEOBJECTARBPROC qglDeleteShaderObject_
Definition: gl_vidcommon.c:104
GLdouble u1
Definition: glquake.h:866
GLint j
Definition: glquake.h:806
GLenum fail
Definition: glquake.h:180
GLdouble GLdouble GLint GLint order
Definition: glquake.h:866
GLsizei GLboolean const GLfloat * value
Definition: glquake.h:164
GLfloat GLfloat GLfloat GLfloat w
Definition: glquake.h:158
FTEPFNGLUNIFORMMATRIXPROC qglUniformMatrix4x3fv
Definition: gl_vidcommon.c:130
GLenum GLenum GLenum zpass
Definition: glquake.h:180
void(APIENTRY * PRIORTEXFUNCPTR)(GLsizei, const GLuint *, const GLclampf *)
Definition: glquake.h:135
FTEPFNGLLINKPROGRAMARBPROC qglLinkProgramARB
Definition: gl_vidcommon.c:114
int r_viewcluster
Definition: renderer.c:2686
GLsizei GLsizei GLcharARB * source
Definition: glquake.h:171
qboolean R_ShouldDraw(entity_t *e)
entity_t * currententity
Definition: renderer.c:22
GLenum GLint * params
Definition: glquake.h:151
void(APIENTRY * FTEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum target, GLint lod, const GLvoid *img)
Definition: glquake.h:140
const GLfloat * v
Definition: glsupp.h:466
GLuint program
Definition: glsupp.h:503
GLint location
Definition: glsupp.h:612
unsigned int GLhandleARB
Definition: glsupp.h:574
char GLcharARB
Definition: glsupp.h:575
char * map
Definition: m_download.c:203
int base
Definition: menu.c:1054
struct texid_s texid_tf
Definition: merged.h:292
char * token
Definition: pr_bgcmd.c:6016
unsigned int bit
Definition: pr_cmds.c:204
int b
Definition: pr_lua.c:242
int const char * e
Definition: pr_lua.c:259
evalc_t origin
Definition: pr_menu.c:1356
evalc_t mins
Definition: pr_menu.c:1354
evalc_t maxs
Definition: pr_menu.c:1355
qcc_targetformat_t target
Definition: qcc_pr_comp.c:1706
texid_t tex
Definition: r_2d.c:52
@ PTI_MAX
Definition: screen.h:289
static AL_API ALsizei n
Definition: snd_al.c:161
static ALC_API const ALCchar * extname
Definition: snd_al.c:239
int i
Definition: snd_ov.c:50
Definition: gl_model.h:133
Definition: client.h:315
Definition: render.h:99
Definition: glquake.h:201
qboolean tex_env_combine
Definition: glquake.h:209
qboolean arb_texture_env_dot3
Definition: glquake.h:216
qboolean env_add
Definition: glquake.h:211
qboolean arb_depth_clamp
Definition: glquake.h:232
qboolean arb_depth_texture
Definition: glquake.h:229
qboolean ext_framebuffer_objects
Definition: glquake.h:224
qboolean nofixedfunc
Definition: glquake.h:205
qboolean astc_decodeprecision
Definition: glquake.h:219
float glversion
Definition: glquake.h:202
int maxglslversion
Definition: glquake.h:203
qboolean ext_packed_depth_stencil
Definition: glquake.h:231
qboolean arb_shadow
Definition: glquake.h:228
qboolean geometryshaders
Definition: glquake.h:221
int ext_texture_filter_anisotropic
Definition: glquake.h:233
qboolean ext_stencil_wrap
Definition: glquake.h:230
qboolean arb_shader_objects
Definition: glquake.h:227
int maxattribs
Definition: glquake.h:204
qboolean blacklist_invariant
Definition: glquake.h:208
qboolean nv_tex_env_combine4
Definition: glquake.h:210
qboolean arb_texture_env_combine
Definition: glquake.h:215
qboolean arb_texture_compression
Definition: glquake.h:218
qboolean arb_framebuffer_srgb
Definition: glquake.h:225
qboolean arb_tessellation_shader
Definition: glquake.h:222
qboolean webgl_ie
Definition: glquake.h:207
int unpackalignment
Definition: glquake.h:236
qboolean gles
Definition: glquake.h:206
Definition: glquake.h:189
int format
Definition: glquake.h:193
int internalformat
Definition: glquake.h:192
int sizedformat
Definition: glquake.h:190
int cformat
Definition: glquake.h:191
int swizzle_a
Definition: glquake.h:198
int swizzle_g
Definition: glquake.h:196
int swizzle_r
Definition: glquake.h:195
int type
Definition: glquake.h:194
int swizzle_b
Definition: glquake.h:197
Definition: merged.h:238
Definition: gl_model.h:514
Definition: gl_model.h:972
Definition: merged.h:302
Definition: shader.h:540
Definition: wad.h:42
Definition: render.h:255
Definition: vid.h:42
Definition: shader.h:602
Definition: gl_model.h:365
netadr_t a
Definition: sv_master.c:141
unsigned char buf[KBRINGSIZE]
Definition: sys_dos.c:27
void * vfsfile_t
Definition: sys_plugfte.h:2