GLUS
glus.h
Go to the documentation of this file.
1 /*
2  * GLUS - Modern OpenGL, OpenGL ES and OpenVG Utilities. Copyright (C) since 2010 Norbert Nopper
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #if (GLUS_ES || GLUS_ES2 || GLUS_ES3 || GLUS_ES31)
19 
20 #ifdef GLUS_ES31
21 #include "../GLES3/glus31.h"
22 #elif GLUS_ES2
23 #include "../GLES2/glus2.h"
24 #else
25 #include "../GLES3/glus3.h"
26 #endif
27 
28 #elif (GLUS_VG || GLUS_VG11) /*GLUS_ES || GLUS_ES2 || GLUS_ES3 || GLUS_ES31*/
29 
30 #include "../VG/glus.h"
31 
32 #else /* GLUS_VG || GLUS_VG11 */
33 
34 #ifndef __glus_h_
35 #define __glus_h_
36 
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41 
42 //
43 // GLUS libraries.
44 //
45 
46 #include "../GLUS/glus_clib.h"
47 
48 //
49 // GLEW for binding OpenGL functions. GLFW for hardware abstraction.
50 //
51 
52 #define GLEW_STATIC
53 #include <GL/glew.h>
54 
55 #include <GLFW/glfw3.h>
56 
57 typedef int EGLint;
58 
59 #define EGL_TRUE 1
60 #define EGL_FALSE 0
61 #define EGL_NONE 0x3038
62 #define EGL_DONT_CARE ((EGLint)-1)
63 
64 //
65 
66 #define EGL_RENDERABLE_TYPE 0x3040
67 #define EGL_OPENGL_BIT 0x0008
68 
69 #define EGL_RED_SIZE 0x3024
70 #define EGL_GREEN_SIZE 0x3023
71 #define EGL_BLUE_SIZE 0x3022
72 #define EGL_DEPTH_SIZE 0x3025
73 #define EGL_STENCIL_SIZE 0x3026
74 #define EGL_ALPHA_SIZE 0x3021
75 #define EGL_SAMPLES 0x3031
76 #define EGL_SAMPLE_BUFFERS 0x3032
77 
78 //
79 
80 #define EGL_CONTEXT_CLIENT_VERSION 0x3098
81 #define EGL_CONTEXT_MAJOR_VERSION 0x3098
82 #define EGL_CONTEXT_MINOR_VERSION 0x30FB
83 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
84 
85 #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
86 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
87 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
88 
89 #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
90 
91 //
92 // GLUS function call convention etc.
93 //
94 
95 #include "../GLUS/glus_function.h"
96 
97 //
98 // GLUS types.
99 //
100 
101 #include "../GLUS/glus_typedef.h"
102 
103 //
104 // GLUS defines.
105 //
106 
107 #include "../GLUS/glus_define.h"
108 
109 #include "../GLUS/glus_define_shader.h"
110 
111 #include "../GLUS/glus_define_color.h"
112 
113 #include "../GLUS/glus_define_color_channel.h"
114 
115 #include "../GLUS/glus_define_uint.h"
116 
117 //
118 // Image and file structures.
119 //
120 
121 #include "../GLUS/glus_file.h"
122 #include "../GLUS/glus_image.h"
123 
124 //
125 // Memory manager.
126 //
127 
128 #include "../GLUS/glus_memory.h"
129 
130 //
131 // Window preparation and creation functions.
132 //
133 
134 #include "../GLUS/glus_window.h"
135 
136 //
137 // Version check functions.
138 //
139 
140 #include "../GLUS/glus_version.h"
141 
142 //
143 // Extension functions.
144 //
145 
146 #include "../GLUS/glus_extension.h"
147 
148 //
149 // Screenshot functions
150 //
151 
152 #include "../GLUS/glus_screenshot.h"
153 
154 //
155 // Perlin noise functions.
156 //
157 
158 #include "../GLUS/glus_perlin.h"
159 
160 //
161 // Vector functions.
162 //
163 
164 #include "../GLUS/glus_vector.h"
165 
166 //
167 // Point functions.
168 //
169 
170 #include "../GLUS/glus_point.h"
171 
172 //
173 // Plane functions.
174 //
175 
176 #include "../GLUS/glus_plane.h"
177 
178 //
179 // Sphere functions.
180 //
181 
182 #include "../GLUS/glus_sphere.h"
183 
184 //
185 // Axis Aligned Box functions.
186 //
187 
188 #include "../GLUS/glus_axisalignedbox.h"
189 
190 //
191 // Oriented Box functions.
192 //
193 
194 #include "../GLUS/glus_orientedbox.h"
195 
196 //
197 // Math functions
198 //
199 
200 #include "../GLUS/glus_math.h"
201 
202 //
203 // Random functions
204 //
205 
206 #include "../GLUS/glus_random.h"
207 
208 //
209 // View, projection etc. functions.
210 //
211 
212 #include "../GLUS/glus_matrix_viewprojection.h"
213 
214 //
215 // Functions, related to planar surfaces.
216 //
217 
218 #include "../GLUS/glus_matrix_planar.h"
219 
220 //
221 // Matrix functions.
222 //
223 
224 #include "../GLUS/glus_matrix.h"
225 
226 //
227 // Quaternion functions.
228 //
229 
230 #include "../GLUS/glus_quaternion.h"
231 
232 //
233 // Complex numbers and vector functions.
234 //
235 
236 #include "../GLUS/glus_complex.h"
237 
238 //
239 // Fourier functions.
240 //
241 
242 #include "../GLUS/glus_fourier.h"
243 
244 //
245 // Shader creation function.
246 //
247 
248 #include "../GLUS/glus_program.h"
249 
250 #include "../GLUS/glus_programpipeline.h"
251 
252 //
253 // Shape / geometry functions.
254 //
255 
256 #include "../GLUS/glus_shape.h"
257 
258 //
259 // Shape adjacency
260 //
261 
262 #include "../GLUS/glus_shape_adjacency.h"
263 
264 //
265 // Shape texture coordinate generation
266 //
267 
268 #include "../GLUS/glus_shape_texgen.h"
269 
270 //
271 // Line / geometry functions.
272 //
273 
274 #include "../GLUS/glus_line.h"
275 
276 //
277 // Model loading functions.
278 //
279 
280 #include "../GLUS/glus_shape_wavefront.h"
281 #include "../GLUS/glus_wavefront.h"
282 
283 //
284 // Logging
285 //
286 
287 #include "../GLUS/glus_log.h"
288 
289 //
290 // Profiling
291 //
292 
293 #include "../GLUS/glus_profile.h"
294 
295 //
296 // Ray tracing
297 //
298 
299 #include "../GLUS/glus_raytrace.h"
300 
301 //
302 // Intersection testing
303 //
304 
305 #include "../GLUS/glus_intersect.h"
306 
307 //
308 // Textures and files
309 //
310 
311 #include "../GLUS/glus_image_tga.h"
312 #include "../GLUS/glus_image_hdr.h"
313 #include "../GLUS/glus_image_pkm.h"
314 
315 #include "../GLUS/glus_file_text.h"
316 #include "../GLUS/glus_file_binary.h"
317 
318 //
319 // Padding
320 //
321 
322 #include "../GLUS/glus_padding.h"
323 
324 #ifdef __cplusplus
325 }
326 #endif
327 
328 #endif /*__glus_h_*/
329 
330 #endif /*GLUS_ES*/
int EGLint
Definition: glus.h:57