X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=glquake.h;h=103f392200a9c950dfb658a386832e74b5e3baf2;hb=2f70889e776978ab1746211afc7723e04140fe4b;hp=b27cd252d2d4c7f629fdfc4e8a262b119e4a85fd;hpb=c9279ad2901cadff3086c3b83959e92430a5e46d;p=xonotic%2Fdarkplaces.git diff --git a/glquake.h b/glquake.h index b27cd252..103f3922 100644 --- a/glquake.h +++ b/glquake.h @@ -68,6 +68,10 @@ typedef float GLclampf; typedef double GLdouble; // double precision float in [0,1] typedef double GLclampd; +// int whose size is the same as a pointer (?) +typedef size_t GLintptrARB; +// int whose size is the same as a pointer (?) +typedef size_t GLsizeiptrARB; #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 @@ -393,15 +397,87 @@ extern int gl_support_clamptoedge; #define GL_CLAMP_TO_EDGE 0x812F #endif +//GL_ATI_separate_stencil +extern int gl_support_separatestencil; +#ifndef GL_STENCIL_BACK_FUNC +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#endif +extern void (GLAPIENTRY *qglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); +extern void (GLAPIENTRY *qglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); + //GL_EXT_stencil_two_side #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 extern void (GLAPIENTRY *qglActiveStencilFaceEXT)(GLenum); extern int gl_support_stenciltwoside; +//GL_EXT_blend_minmax +extern int gl_support_ext_blend_minmax; +#ifndef GL_FUNC_ADD_EXT +#define GL_FUNC_ADD_EXT 0x8006 // also supplied by GL_EXT_blend_subtract +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#define GL_BLEND_EQUATION_EXT 0x8009 // also supplied by GL_EXT_blend_subtract +extern void (GLAPIENTRY *qglBlendEquationEXT)(GLenum); // also supplied by GL_EXT_blend_subtract +#endif + +//GL_EXT_blend_subtract +extern int gl_support_ext_blend_subtract; +#ifndef GL_FUNC_SUBTRACT_EXT +#define GL_FUNC_SUBTRACT_EXT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B +#endif + //GL_ARB_texture_non_power_of_two extern int gl_support_arb_texture_non_power_of_two; +//GL_ARB_vertex_buffer_object +extern int gl_support_arb_vertex_buffer_object; +#ifndef GL_ARRAY_BUFFER_ARB +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 +#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F +#define GL_STREAM_DRAW_ARB 0x88E0 +#define GL_STREAM_READ_ARB 0x88E1 +#define GL_STREAM_COPY_ARB 0x88E2 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_STATIC_READ_ARB 0x88E5 +#define GL_STATIC_COPY_ARB 0x88E6 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_DYNAMIC_READ_ARB 0x88E9 +#define GL_DYNAMIC_COPY_ARB 0x88EA +#define GL_READ_ONLY_ARB 0x88B8 +#define GL_WRITE_ONLY_ARB 0x88B9 +#define GL_READ_WRITE_ARB 0x88BA +#define GL_BUFFER_SIZE_ARB 0x8764 +#define GL_BUFFER_USAGE_ARB 0x8765 +#define GL_BUFFER_ACCESS_ARB 0x88BB +#define GL_BUFFER_MAPPED_ARB 0x88BC +#define GL_BUFFER_MAP_POINTER_ARB 0x88BD +#endif +extern void (GLAPIENTRY *qglBindBufferARB) (GLenum target, GLuint buffer); +extern void (GLAPIENTRY *qglDeleteBuffersARB) (GLsizei n, const GLuint *buffers); +extern void (GLAPIENTRY *qglGenBuffersARB) (GLsizei n, GLuint *buffers); +extern GLboolean (GLAPIENTRY *qglIsBufferARB) (GLuint buffer); +extern GLvoid* (GLAPIENTRY *qglMapBufferARB) (GLenum target, GLenum access); +extern GLboolean (GLAPIENTRY *qglUnmapBufferARB) (GLenum target); +extern void (GLAPIENTRY *qglBufferDataARB) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage); +extern void (GLAPIENTRY *qglBufferSubDataARB) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data); + extern void (GLAPIENTRY *qglScissor)(GLint x, GLint y, GLsizei width, GLsizei height); extern void (GLAPIENTRY *qglClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);