1 /* 2 ** Copyright 1992-1999 Silicon Graphics, Inc. 3 ** All Rights Reserved. 4 ** 5 ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.; 6 ** the contents of this file may not be disclosed to third parties, copied or 7 ** duplicated in any form, in whole or in part, without the prior written 8 ** permission of Silicon Graphics, Inc. 9 ** 10 ** RESTRICTED RIGHTS LEGEND: 11 ** Use, duplication or disclosure by the Government is subject to restrictions 12 ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data 13 ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or 14 ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - 15 ** rights reserved under the Copyright Laws of the United States. 16 */ 17 #ifndef __glext_h_ 18 #define __glext_h_ 19 20 21 #ifndef APIENTRY 22 #define WIN32_LEAN_AND_MEAN 1 23 #include <windows.h> 24 #endif 25 26 #define GL_ARB_multitexture 1 27 #define GL_EXT_abgr 1 28 #define GL_EXT_bgra 1 29 #define GL_EXT_clip_volume_hint 1 30 #define GL_EXT_compiled_vertex_array 1 31 #define GL_EXT_cull_vertex 1 32 #define GL_EXT_packed_pixels 1 33 #define GL_EXT_point_parameters 1 34 #define GL_EXT_stencil_wrap 1 35 #define GL_EXT_texture_env_add 1 36 #define GL_EXT_texture_env_combine 1 37 #define GL_EXT_vertex_array 1 38 #define GL_NV_texgen_reflection 1 39 #define GL_NV_texture_env_combine4 1 40 #define GL_WIN_swap_hint 1 41 42 /* EXT_abgr */ 43 #define GL_ABGR_EXT 0x8000 44 45 /* EXT_packed_pixels */ 46 #define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 47 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 48 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 49 #define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 50 #define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 51 52 /* EXT_vertex_array */ 53 #define GL_VERTEX_ARRAY_EXT 0x8074 54 #define GL_NORMAL_ARRAY_EXT 0x8075 55 #define GL_COLOR_ARRAY_EXT 0x8076 56 #define GL_INDEX_ARRAY_EXT 0x8077 57 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 58 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 59 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A 60 #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B 61 #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C 62 #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D 63 #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E 64 #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F 65 #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 66 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 67 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 68 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 69 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 70 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 71 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 72 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 73 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 74 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 75 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A 76 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B 77 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C 78 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D 79 #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E 80 #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F 81 #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 82 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 83 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 84 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 85 86 /* EXT_bgra */ 87 #define GL_BGR_EXT 0x80E0 88 #define GL_BGRA_EXT 0x80E1 89 90 /* EXT_clip_volume_hint */ 91 #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 92 93 /* EXT_point_parameters */ 94 #define GL_POINT_SIZE_MIN_EXT 0x8126 95 #define GL_POINT_SIZE_MAX_EXT 0x8127 96 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 97 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 98 99 /* EXT_compiled_vertex_array */ 100 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 101 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 102 103 /* EXT_cull_vertex */ 104 #define GL_CULL_VERTEX_EXT 0x81AA 105 #define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB 106 #define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC 107 108 /* ARB_multitexture */ 109 #define GL_ACTIVE_TEXTURE_ARB 0x84E0 110 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 111 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 112 #define GL_TEXTURE0_ARB 0x84C0 113 #define GL_TEXTURE1_ARB 0x84C1 114 #define GL_TEXTURE2_ARB 0x84C2 115 #define GL_TEXTURE3_ARB 0x84C3 116 #define GL_TEXTURE4_ARB 0x84C4 117 #define GL_TEXTURE5_ARB 0x84C5 118 #define GL_TEXTURE6_ARB 0x84C6 119 #define GL_TEXTURE7_ARB 0x84C7 120 #define GL_TEXTURE8_ARB 0x84C8 121 #define GL_TEXTURE9_ARB 0x84C9 122 #define GL_TEXTURE10_ARB 0x84CA 123 #define GL_TEXTURE11_ARB 0x84CB 124 #define GL_TEXTURE12_ARB 0x84CC 125 #define GL_TEXTURE13_ARB 0x84CD 126 #define GL_TEXTURE14_ARB 0x84CE 127 #define GL_TEXTURE15_ARB 0x84CF 128 #define GL_TEXTURE16_ARB 0x84D0 129 #define GL_TEXTURE17_ARB 0x84D1 130 #define GL_TEXTURE18_ARB 0x84D2 131 #define GL_TEXTURE19_ARB 0x84D3 132 #define GL_TEXTURE20_ARB 0x84D4 133 #define GL_TEXTURE21_ARB 0x84D5 134 #define GL_TEXTURE22_ARB 0x84D6 135 #define GL_TEXTURE23_ARB 0x84D7 136 #define GL_TEXTURE24_ARB 0x84D8 137 #define GL_TEXTURE25_ARB 0x84D9 138 #define GL_TEXTURE26_ARB 0x84DA 139 #define GL_TEXTURE27_ARB 0x84DB 140 #define GL_TEXTURE28_ARB 0x84DC 141 #define GL_TEXTURE29_ARB 0x84DD 142 #define GL_TEXTURE30_ARB 0x84DE 143 #define GL_TEXTURE31_ARB 0x84DF 144 145 /* EXT_stencil_wrap */ 146 #define GL_INCR_WRAP_EXT 0x8507 147 #define GL_DECR_WRAP_EXT 0x8508 148 149 /* NV_texgen_reflection */ 150 #define GL_NORMAL_MAP_NV 0x8511 151 #define GL_REFLECTION_MAP_NV 0x8512 152 153 /* EXT_texture_env_combine */ 154 #define GL_COMBINE_EXT 0x8570 155 #define GL_COMBINE_RGB_EXT 0x8571 156 #define GL_COMBINE_ALPHA_EXT 0x8572 157 #define GL_RGB_SCALE_EXT 0x8573 158 #define GL_ADD_SIGNED_EXT 0x8574 159 #define GL_INTERPOLATE_EXT 0x8575 160 #define GL_CONSTANT_EXT 0x8576 161 #define GL_PRIMARY_COLOR_EXT 0x8577 162 #define GL_PREVIOUS_EXT 0x8578 163 #define GL_SOURCE0_RGB_EXT 0x8580 164 #define GL_SOURCE1_RGB_EXT 0x8581 165 #define GL_SOURCE2_RGB_EXT 0x8582 166 #define GL_SOURCE0_ALPHA_EXT 0x8588 167 #define GL_SOURCE1_ALPHA_EXT 0x8589 168 #define GL_SOURCE2_ALPHA_EXT 0x858A 169 #define GL_OPERAND0_RGB_EXT 0x8590 170 #define GL_OPERAND1_RGB_EXT 0x8591 171 #define GL_OPERAND2_RGB_EXT 0x8592 172 #define GL_OPERAND0_ALPHA_EXT 0x8598 173 #define GL_OPERAND1_ALPHA_EXT 0x8599 174 #define GL_OPERAND2_ALPHA_EXT 0x859A 175 176 /* NV_texture_env_combine4 */ 177 #define GL_COMBINE4_NV 0x8503 178 #define GL_SOURCE3_RGB_NV 0x8583 179 #define GL_SOURCE3_ALPHA_NV 0x858B 180 #define GL_OPERAND3_RGB_NV 0x8593 181 #define GL_OPERAND3_ALPHA_NV 0x859B 182 183 /* texture clamp */ 184 #define GL_CLAMP_TO_EDGE 0x812F 185 #define GL_CLAMP_TO_BORDER 0x812D 186 #define GL_CLAMP_TO_BORDER_SGIS 0x812D 187 188 #ifndef GL_ARB_texture_border_clamp 189 #define GL_CLAMP_TO_BORDER_ARB 0x812D 190 #endif 191 192 #ifndef GL_SGIS_texture_edge_clamp 193 #define GL_CLAMP_TO_EDGE_SGIS 0x812F 194 #endif 195 196 #ifndef GL_SGIX_texture_coordinate_clamp 197 #define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 198 #define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A 199 #define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B 200 #endif 201 202 /*************************************************************/ 203 204 /* EXT_vertex_array */ 205 typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); 206 typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); 207 typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); 208 typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer); 209 typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params); 210 typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); 211 typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); 212 typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); 213 typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); 214 215 /* ARB_multitexture */ 216 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); 217 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); 218 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); 219 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); 220 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); 221 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); 222 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); 223 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); 224 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); 225 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); 226 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); 227 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); 228 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); 229 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); 230 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); 231 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); 232 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); 233 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); 234 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); 235 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); 236 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); 237 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); 238 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); 239 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); 240 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); 241 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); 242 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); 243 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); 244 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); 245 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); 246 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 247 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); 248 typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum target); 249 typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum target); 250 251 /* EXT_compiled_vertex_array */ 252 typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); 253 typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); 254 255 /* EXT_cull_vertex */ 256 typedef void (APIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); 257 typedef void (APIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); 258 259 /* WIN_swap_hint */ 260 typedef void (APIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); 261 262 /* EXT_point_parameter */ 263 typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); 264 typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params); 265 266 /* WGL_EXT_swap_control */ 267 typedef void (APIENTRY * PFNWGLSWAPINTERVALPROC) (GLenum interval); 268 typedef GLenum (APIENTRY * PFNWGLGETSWAPINTERVALPROC) (void); 269 270 271 272 273 #endif /* __glext_h_ */