21 #ifndef _GL_GLOBALS_H_
22 #define _GL_GLOBALS_H_
27 #ifdef __APPLE_PANTHER_GCC33_CLI__
28 #define GL_EXT_texture_env_combine 1
30 #undef __APPLE_PANTHER_GCC33_CLI__
31 #if defined (__GNUC__) && defined (__APPLE__)
32 #if (__GNUC__ == 3 && __GNUC_MINOR__ > 2) || (__GNUC__ > 3)
33 #define __APPLE_PANTHER_GCC33_CLI__
50 drawnTris = drawnQuads = drawnPoints = 0;
53 GFXStats(
int tri,
int quad,
int point )
59 GFXStats&operator+=(
const GFXStats &rval )
61 drawnTris += rval.drawnTris;
62 drawnQuads += rval.drawnQuads;
63 drawnPoints += rval.drawnPoints;
68 return drawnTris*3+drawnQuads*4+drawnPoints;
74 return (
int) (t-ztime);
80 #define MAX_NUM_LIGHTS 4
81 #define MAX_NUM_MATERIAL 4
82 #define TEXTURE_CUBE_MAP_ARB 0x8513
86 #if defined (__CYGWIN__)
87 #define GL_EXT_color_subtable 1
94 #if defined (_WIN32) || defined (__CYGWIN__)
97 #endif //tells VCC not to generate min/max macros
101 #if defined (__APPLE__) || defined (MACOSX)
102 #include <GLUT/glut.h>
104 #if defined (GL_ARB_vertex_program) && defined (GL_ARB_fragment_program)
105 #define OSX_AT_LEAST_10_4
107 #define OSX_LOWER_THAN_10_4
109 #define GL_GLEXT_PROTOTYPES
111 #include <OpenGL/glext.h>
118 #include <GL/glext.h>
121 #define GL_TEXTURE0_ARB 0x84C0
122 #define GL_TEXTURE1_ARB 0x84C1
123 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513
124 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
125 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
126 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
127 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
128 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
129 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
130 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
131 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
132 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
133 #define GL_TEXTURE_CUBE_MAP_EXT 0x8513
134 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
135 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
136 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
137 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
138 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
139 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
140 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
141 #define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
142 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
145 #if defined (__APPLE__)
146 #define glMultiDrawElements_p glMultiDrawElements
147 #define glMultiDrawArrays_p glMultiDrawArrays
148 #define glMultiTexCoord4fARB_p glMultiTexCoord4fARB
149 #define glMultiTexCoord2fARB_p glMultiTexCoord2fARB
150 #define glClientActiveTextureARB_p glClientActiveTextureARB
151 #define glActiveTextureARB_p glActiveTextureARB
152 #define glColorTable_p glColorTable
153 #define glCompressedTexImage2D_p glCompressedTexImage2D
154 #ifndef OSX_LOWER_THAN_10_4
155 #define glGetShaderiv_p glGetShaderiv
156 #define glGetProgramiv_p glGetProgramiv
157 #define glGetShaderInfoLog_p glGetShaderInfoLog
158 #define glGetProgramInfoLog_p glGetProgramInfoLog
159 #define glCreateShader_p glCreateShader
160 #define glShaderSource_p glShaderSource
161 #define glCompileShader_p glCompileShader
162 #define glCreateProgram_p glCreateProgram
163 #define glAttachShader_p glAttachShader
164 #define glLinkProgram_p glLinkProgram
165 #define glUseProgram_p glUseProgram
166 #define glGetUniformLocation_p glGetUniformLocation
167 #define glUniform1f_p glUniform1f
168 #define glUniform2f_p glUniform2f
169 #define glUniform3f_p glUniform3f
170 #define glUniform4f_p glUniform4f
171 #define glUniform1i_p glUniform1i
172 #define glUniform2i_p glUniform2i
173 #define glUniform3i_p glUniform3i
174 #define glUniform4i_p glUniform4i
175 #define glUniform1fv_p glUniform1fv
176 #define glUniform2fv_p glUniform2fv
177 #define glUniform3fv_p glUniform3fv
178 #define glUniform4fv_p glUniform4fv
179 #define glUniform1iv_p glUniform1iv
180 #define glUniform2iv_p glUniform2iv
181 #define glUniform3iv_p glUniform3iv
182 #define glUniform4iv_p glUniform4iv
184 #define glDeleteShader_p glDeleteShader
185 #define glDeleteProgram_p glDeleteProgram
187 #define glGetShaderiv_p( a, b, c )
188 #define glGetProgramiv_p( a, b, c )
189 #define glGetShaderInfoLog_p( a, b, c, d )
190 #define glGetProgramInfoLog_p( a, b, c, d )
191 #define glCreateShader_p( a ) 0
192 #define glShaderSource_p( a, b, c, d )
193 #define glCompileShader_p( a )
194 #define glCreateProgram_p() 0
195 #define glAttachShader_p( a, b )
196 #define glLinkProgram_p( a )
197 #define glUseProgram_p( a )
198 #define glGetUniformLocation_p( a, b ) 0
199 #define glUniform1f_p( a, b )
200 #define glUniform2f_p( a, b, c )
201 #define glUniform3f_p( a, b, c, d )
202 #define glUniform4f_p( a, b, c, d, e )
203 #define glUniform1i_p( a, b )
204 #define glUniform2i_p( a, b, c )
205 #define glUniform3i_p( a, b, c, d )
206 #define glUniform4i_p( a, b, c, d, e )
207 #define glUniform1fv_p( a, b, c )
208 #define glUniform2fv_p( a, b, c )
209 #define glUniform3fv_p( a, b, c )
210 #define glUniform4fv_p( a, b, c )
211 #define glUniform1iv_p( a, b, c )
212 #define glUniform2iv_p( a, b, c )
213 #define glUniform3iv_p( a, b, c )
214 #define glUniform4iv_p( a, b, c )
216 #define glDeleteProgram_p glIsTexture
219 #if !defined (glLockArraysEXT) || !defined (glUnlockArraysEXT)
220 #define NO_COMPILEDVERTEXARRAY_SUPPORT
223 #ifndef NO_COMPILEDVERTEXARRAY_SUPPORT
224 #define glLockArraysEXT_p glLockArraysEXT
225 #define glUnlockArraysEXT_p glUnlockArraysEXT
228 #if !defined (glDeleteBuffersARB) || !defined (glGenBuffersARB) || !defined (glBindBuffersARB) || !defined (glMapBufferARB) \
229 || !defined (glUnmapBufferARB)
230 #define NO_VBO_SUPPORT
233 #ifndef NO_VBO_SUPPORT
234 #define glDeleteBuffersARB_p glDeleteBuffersARB
235 #define glGenBuffersARB_p glGenBuffersARB
236 #define glBindBufferARB_p glBindBufferARB
237 #define glBufferDataARB_p glBufferDataARB
238 #define glMapBufferARB_p glMapBufferARB
239 #define glUnmapBufferARB_p glUnmapBufferARB
298 extern queue< GFXStats >statsqueue;
334 #define MAX_PICK 2048
335 #define GFX_SCALE 1./1024.
341 #ifndef GL_TEXTURE_CUBE_MAP_EXT
342 #ifdef GL_TEXTURE_CUBE_MAP
343 #define GL_TEXTURE_CUBE_MAP_EXT GL_TEXTURE_CUBE_MAP
344 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_X
345 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_X
346 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Y
347 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
348 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Z
349 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
351 #ifdef GL_TEXTURE_CUBE_MAP_ARB
352 #define GL_TEXTURE_CUBE_MAP_EXT GL_TEXTURE_CUBE_MAP_ARB
353 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB
354 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
355 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
356 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
357 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
358 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
363 #ifndef GL_TEXTURE_RECTANGLE_ARB
364 #define GL_TEXTURE_RECTANGLE_ARB 0x84F5
365 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
370 #ifndef GL_FRAMEBUFFER_SRGB_EXT
371 #define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
372 #define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA