summaryrefslogtreecommitdiffstats
Unidiff
-rw-r--r--r/connect.R2
-rw-r--r--src/GLee5_4/GLee.c18170
-rw-r--r--src/GLee5_4/GLee.h17652
-rw-r--r--src/GLee5_4/GLee.libbin0 -> 1460208 bytes
-rw-r--r--src/GLee5_4/extensionList.txt410
-rw-r--r--src/GLee5_4/readme.txt380
-rw-r--r--src/controller/actions/clear_selection.sqc2
-rw-r--r--src/controller/actions/process_hits.c1
-rw-r--r--src/controller/actions/process_hits.h2
-rw-r--r--src/controller/callbacks/mouse.c2
-rw-r--r--src/util/check_error.c8
11 files changed, 36621 insertions, 8 deletions
diff --git a/src/GLee5_4/readme.txt b/src/GLee5_4/readme.txt
new file mode 100644
index 0000000..72dd82f
--- a/dev/null
+++ b/src/GLee5_4/readme.txt
@@ -0,0 +1,380 @@
1GLee
2GL Easy Extension Library
3Version 5.4
4
5By Ben Woodhouse
6http://elf-stone.com
7
8
9LICENSE
10
11Copyright (c)2009 Ben Woodhouse All rights reserved.
12
13Redistribution and use in source and binary forms, with or without
14modification, are permitted provided that the following conditions are
15met:
161. Redistributions of source code must retain the above copyright
17notice, this list of conditions and the following disclaimer as
18the first lines of this file unmodified.
192. Redistributions in binary form must reproduce the above copyright
20notice, this list of conditions and the following disclaimer in the
21documentation and/or other materials provided with the distribution.
22
23THIS SOFTWARE IS PROVIDED BY BEN WOODHOUSE ``AS IS'' AND ANY EXPRESS OR
24IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26IN NO EVENT SHALL BEN WOODHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT,
27INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
34
35
36CONTACT
37
38Send any general questions, bug reports etc to me (Ben Woodhouse):
39 bw [at] elf-stone.com
40
41Questions about the D port for GLee should go to Joel Anderson:
42 anderson [at] badmama.com.au
43
44Questions about GLee on OS X should go to Tristam MacDonald
45 swiftcoder [at] gmail.com
46
47
48
49INTRODUCTION
50
51GLee provides a simple interface for using extensions and core OpenGL
52functionality beyond OpenGL version 1.1, and automates the otherwise tedious
53process of linking function pointers. GLee works with both C and C++
54compilers.
55
56Because the code is automatically generated, the latest extensions can
57be included rapidly in new versions. Currently there is support
58for OpenGL up to 3.0 and almost all registered extensions. For a complete
59list of extensions, please see the accompanying extensionList.txt file.
60
61For extension specifications, please visit:
62
63 http://www.opengl.org/registry/
64
65
66CREDITS
67
68Tristam MacDonald for adding OS-X compatibility.
69
70Martin Büchler (LousyPhreak on the GameDev.net forums) for
71a huge amount of testing, tweaking, suggestions and advice to get GLee to
72work properly with Linux.
73
74Daniel Jo (Ostsol on the OpenGL.org forums) for helping to get
75GLEE 2.1 working with the OGLSL extensions (ARB_shader_objects,
76ARB_vertex_shader and ARB_fragment_shader).
77
78Joel Anderson for his for his D port of GLee 3.0
79
80Jacques Beaurain for pointing out a potential access violation in
81__GLeeGetExtensions.
82
83
84WHAT'S NEW IN GLEE 5.0
85
86GLeeGen, the program that generates the code for the GLee library, has been
87rewritten to support parsing of extension specifications. As a result, GLee 5.0 and upwards support
88all extensions for which there is a specification, regardless of that
89extension's inclusion in glext.h, wglext.h or glxext.h.
90
91GLee 5.0 adds support for forced extension loading through the
92GLeeForceLink function. This makes it possible to force the linking of
93extension functions (or core functions) which are not reported by the video driver.
94
95GLee now supports lazy loading of extensions, meaning it is no longer
96necessary to call GLeeInit() at initialisation time.
97
98
99
100HOW TO INSTALL
101
102MSVC 2003 binary version
103
104 1. Copy GLee.lib to your visual C++ lib directory
105 (eg C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib)
106
107 2. Copy GLee.h to your visual C++ include\GL directory
108 (eg C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\gl)
109
110
111Linux binary version (GLee-*-bin.tar.gz)
112 (Installation has to be done as root)
113
114 1. unpack GLee-*-bin.tar.gz
115 (tar -xzf GLee-2.0-bin.tar.gz)
116
117 2. Install with the inst script
118 (cd glee && ./inst)
119
120Linux source version (GLee-*-src.tar.gz)
121 1. unpack GLee-*-src.tar.gz
122 (tar -xzf GLee-2.0-src.tar.gz)
123
124 2. cd to "glee" and run the gnu build chain
125 (cd glee && ./configure && make)
126
127 3. Become root (password needed)
128 (su)
129
130 4. Install the lib
131 (make install)
132
133
134
135HOW TO USE
136
137If you're using the binary version then you'll need to link to
138glee.lib and #include <gl\glee.h> in your project. Otherwise,
139just add glee.h and glee.c in your project and #include "glee.h".
140You can also build the library yourself using glee.c and glee.h.
141
142From this point onwards, you should have access to all OpenGL
143extensions and core functionality.
144
145You can query the availability of an extension like this:
146
147if (GLEE_ARB_point_parameters)
148{
149 //GL_ARB_point_parameters is supported
150 glPointParameterfARB(...);
151}
152
153WGL extensions have a GLEE_WGL_ prefix. For example,
154GLEE_WGL_ARB_pbuffer. GLX extensions work in a similar way.
155
156You can also query the OpenGL version:
157if (GLEE_VERSION_1_3)
158{
159 //OpenGL 1.3 is supported
160 glLoadTransposeMatrixf(...) ;
161 ...
162}
163
164
165
166ERROR CHECKING
167
168Optionally, you can add a call to GLeeInit() after your OpenGL
169initialisation code, however this is no longer required as of
170GLee 5.0. GLeeInit returns a boolean value to indicate success
171or failure.
172
173If GLeeInit returns false you can get more detailed error
174information by calling GLeeGetErrorString(). This returns a pointer
175to a string which contains error description(s).
176
177At any time you can call GLeeGetExtStrGL() or GLeeGetExtStrWGL()
178(win32) or GLeeGetExtStrGLX() (linux) to retrieve a pointer to the
179corresponding extension list string.
180
181
182
183FORCED EXTENSION SUPPORT
184
185By default, only those extensions reported by OpenGL's
186glGetString(GL_EXTENSIONS) are loaded by GLeeInit(). Likewise,
187only core functions whose version doesn't exceed the version number
188returned by glGetString(GL_VERSION) are loaded.
189
190However, GLee 5.0 and above can load additional extension and core
191functions using the GLeeForceLink function:
192
193 GLint GLeeForceLink(const char * extensionName)
194
195For example, GLeeForceLink("GL_ARB_point_parameters") will attempt to
196load the ARB_point_parameters function.
197
198For core functions, you can use the GL version string for the version
199you wish to initialise. For example, GLeeForceLink( "GL_VERSION_2_0" )
200will attempt to initialise OpenGL 2.0 core functions.
201
202Return Value:
203 GLEE_LINK_COMPLETE is returned if all functions were
204 successfully linked.
205
206 GLEE_LINK_PARTIAL is returned if only some functions were
207 linked successfully.
208
209 GLEE_LINK_FAIL is returned if no functions could be linked
210 successfully.
211
212Functions which could not be linked will be set to NULL.
213
214A successful link does not guarantee that a function will work
215correctly. If you want to be safe, only use extensions which are
216reported by the driver.
217
218
219
220LINUX NOTES - by LousyPhreak
221
222The binary version was compiled with gcc 3.3 and was also tested
223with gcc 3.2, but if you still have gcc 2.x you need the source
224version. If you don't know which version you have on your system just
225look at the output of 'gcc --version'.
226
227You should be using the NVIDIA headers if you have the NVIDIA drivers
228installed, and the MESA headers otherwise.
229
230One more note:
231The binary version might complain about missing glXGetProcAddressARB
232on the linker stage, but if you get this error, use the source
233version and email me (lousyphreak [at] gmx.at).
234
235Compiling on linux:
236You just need to replace the linking of libGL by libGLee:
237gcc main.cpp whatever.cpp -lGLee -o myproject
238
239Everything else should be the same as on windows.
240
241
242
243NOTES ON THE GLEE 3.0 D PORT FOR WIN32 - by Joel Anderson
244
2451) Put the GLee.lib in the lib folder (ie C:\dmd\lib)
2462) Put glee.d and glConstants.d in the include folder (ie create c:\glee
247and use the -IC:\glee on the compiler.)
2483) The D code is pretty much the same as the C code but you need to specify:
249
250import glee; //Instead of #include "glee.h"
251
252Notes
253- The GLee.lib was built using dmc. I did try the one that comes with the
254C version, but that doesn't work with D. You can compile the lib yourself
255using cbuild\go.bat
256- I haven't tested everything.
257
258You can contact me (Joel Anderson) at anderson@badmama.com.au
259
260(21/01/2004) - AU
261
262
263CHANGES
264
2655.4 : Added 5 new extensions :
266 GL_EXT_texture_swizzle
267 GL_NV_explicit_multisample
268 GL_NV_transform_feedback2
269 WGL_NV_gpu_affinity
270 GLX_ARB_create_context
271
272 Removed some duplicate extensions:
273 GL_NV_geometry_program4 (use GL_NV_gpu_program4)
274 GL_NV_vertex_program4 (use GL_NV_gpu_program4)
275 GL_NV_fragment_program4 (use GL_NV_gpu_program4)
276 WGL_NV_video_out (use WGL_NV_video_output)
277
278 Fixed GL_NV_gpu_program4 by merging with GL_NV_geometry_program4,
279 GL_NV_vertex_program4 and GL_NV_fragment_program4.
280
281 Added support for multiple extensions including the same functions, so
282 GL_EXT_geometry_shader4 and GL_NV_geometry_program4 can coexist without
283 compile errors.
284
285 Fixed GL_EXT_geometry_shader4 so it no longer has missing functions and constants.
286 These were excluded previously to avoid clashes with GL_NV_vertex_program4, which
287 included a bunch of functions with the same names.
288
289 Various GLeeGen/GLeeXMLGen fixes, mainly to fix issues with NVidia extensions, most
290 notably:
291 Added support for overriding extension spec files so we can manually fix
292 buggy specs which don't follow the standard (like GL_NV_gpu_program4).
293
294
295Reworked GLeeGen and GLeeXMLGen to allow overriding of
296
2975.33 : Fixed some GCC warnings
298 Fixed some OS-X warnings
299 Fixed an issue in __GLeeGetExtensions which could cause two
300 extensions to go missing on some platforms
301
3025.32 : Fixed a potential access violation in __GLeeGetExtensions
303
3045.31 : Fixed GLX compile error
305
3065.3 : OpenGL 3.0 support
307
3085.21 : Nvidia geometry shader extensions
309
3105.2 : OS-X support
311
3125.1 : Fixed some ansi-C compatibility issues.
313 New GLeeGen version
314 Added 5 new GL extensions and 1 new WGL extension.
315
3165.04 : Added the latest extensions
317
3185.03 : Some minor compatibility fixes.
319
320 Malloc.h no longer used.
321
322 GLee no longer fails if platform-specific (GLX or WGL) extensions
323 could not be loaded (a problem with some cards apparently).
324
3255.02 : Changed extension querying variable system. Removed GLEE_ENABLED()
326 extension checking macro introduced in 5.00, since it is no longer
327 needed
328
3295.01 : Fixed GLX_SGIX_HYPERPIPE bug
330
3315.00 : Rewrote GLeeGen to parse extension specs
332
333 Added lazy loading for extensions
334
335 Added experimental support
336
3374.00 : Updated using extensions from glext.h version 26, wglext.h version 6,
338 and glxext.h version 10. OpenGL 2.0 is now supported.
339
3403.05 : Updated with glExt.h version 23 extensions.
341
3423.04 : Updated with glExt.h version 22 extensions.
343
3443.03 : Another linux compatibility bug fixed
345
3463.02 : GLX typedef bug fixed
347
3483.01 : Minor linux compatibility bugs fixed
349
3503.0 : Removed STL and other C++ specific features to make GLee
351 compatible with C compilers
352
353 Added a number of WGL extensions that had previously been
354 excluded due to a bug with GLeeGen (now fixed)
355
3562.21 : Fixed VC6 compilation bug
357
3582.2 : Added full OpenGL 1.5 support
359
3602.1 : Added the OpenGL shading language extensions:
361 ARB_shader_objects, ARB_vertex_shader and ARB_fragment_shader.
362
3632.01 : Fixed missing description comment in header
364 Fixed include guard
365
3662.0 : Removed dependency on glext.h and wglext.h
367 Added cross-platform code for support with linux
368 Fixed potential stability problems
369
3701.2 : Made library compatible with VC7 and VC7.1
371
3721.12 : Cleaned up some commenting errors in GLeeGen
373
3741.11 : Added functions to get WGL and GL extension strings.
375 Fixed minor formatting errors caused by a bug in GLeeGen (now fixed)
376
3771.1 : Added detailed error checking.
378 Fixed possible buffer overrun issue
379
3801.01 : GLeeInit no longer requires a device context handle. \ No newline at end of file

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.