diff options
author | Sven Gothel <[email protected]> | 2010-08-24 02:39:14 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2010-08-24 02:39:14 +0200 |
commit | ca119c97340caf325cd682c5fdbe8f794a35ac0e (patch) | |
tree | 3ad60aff37fe6e6167db14c3f3f4fcbf36e6a535 /make/stub_includes/opengl/GL/gl.h | |
parent | 8d55c437547a697b7d0bd4dd81b6669209cf912f (diff) |
Add OpenGL 3.3, 4.0 and 4.1 language mapping.
- Update header:
- GL/glext.h to khronos 2010-08-03
- GL3/gl3.h to khronos 2010-08-03
- Move platform code to
GL/glplatform.h
GL3/glplatform.h
- Unify 64bit typedefs: gl-64bit-types.h
- Move GL 3.[123] and 4.[01] complete subsumed extension
enums and functions into their extension spec and just reference them.
This ensures proper extension availability
via lower OpenGL profiles, hence a proper GL2GL3 interface.
- GL3/GL4 cleanup:
- make-glextension-depignore.sh:
determine required GL version for extensions
for proper positioning, ie GL2GL3 or GL3 or GL4
via gluegen IgnoreExtension commands.
- use ARB_ES2_compatibility for common GL2ES2 methods,
if available
- consolidated gl2-gl4 subsumed extension to gl-common.cfg
- Missing GL3/GL4 Functions:
glMultiDrawElementsBaseVertex
glDebugMessageCallbackARB
glDebugMessageCallbackAMD
- TODO (new feature integration):
- ARB_ES2_compatibility / ARB_get_program_binary for com/jogamp/opengl/util/glsl, ie
- store binaries com/jogamp/opengl/util/glsl/sdk/CompileShader*
- query supported binary formats (enums ?)
- optional prio binaries
- ARB_ES2_compatibility, if available GLES2/GL2ES12 would be available
- ARB_separate_shader_objects for com/jogamp/opengl/util/glsl, ie
- swizzle vertex/fragment shader in programs
- ..
Diffstat (limited to 'make/stub_includes/opengl/GL/gl.h')
-rw-r--r-- | make/stub_includes/opengl/GL/gl.h | 71 |
1 files changed, 10 insertions, 61 deletions
diff --git a/make/stub_includes/opengl/GL/gl.h b/make/stub_includes/opengl/GL/gl.h index 244696a9f..142e03510 100644 --- a/make/stub_includes/opengl/GL/gl.h +++ b/make/stub_includes/opengl/GL/gl.h @@ -33,77 +33,26 @@ #ifndef __gl_h_ #define __gl_h_ -/********************************************************************** - * Begin system-specific stuff. - */ -#if defined(__BEOS__) -#include <stdlib.h> /* to get some BeOS-isms */ -#endif +/* Function declaration macros - to move into glplatform.h */ +#include "glplatform.h" -#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO)) -#define OPENSTEP +#ifndef GLAPIENTRY +#define GLAPIENTRY #endif - -#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__) -#define __WIN32__ -#endif - -#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) -# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ -# define GLAPI __declspec(dllexport) -# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ -# define GLAPI __declspec(dllimport) -# else /* for use with static link lib build of Win32 edition only */ -# define GLAPI extern -# endif /* _STATIC_MESA support */ -# define GLAPIENTRY __stdcall -#else -/* non-Windows compilation */ -# define GLAPI extern -# define GLAPIENTRY -#endif /* WIN32 / CYGWIN bracket */ - -#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__) -# define PRAGMA_EXPORT_SUPPORTED 1 +#ifndef GLAPIENTRYP +#define GLAPIENTRYP GLAPIENTRY* #endif - -/* - * WINDOWS: Include windows.h here to define APIENTRY. - * It is also useful when applications include this file by - * including only glut.h, since glut.h depends on windows.h. - * Applications needing to include windows.h with parms other - * than "WIN32_LEAN_AND_MEAN" may include windows.h before - * glut.h or gl.h. - */ -#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) -#define WIN32_LEAN_AND_MEAN 1 -#include <windows.h> -#endif - -#if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) && !defined(__CYGWIN__) -#include <gl/mesa_wgl.h> -#endif - -#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED -#pragma import on +#ifndef GLAPI +#define GLAPI extern #endif #ifndef APIENTRY #define APIENTRY GLAPIENTRY #endif - -#ifdef CENTERLINE_CLPP -#define signed -#endif - -#if defined(PRAGMA_EXPORT_SUPPORTED) -#pragma export on +#ifndef APIENTRYP +#define APIENTRYP GLAPIENTRYP #endif -/* - * End system-specific stuff. - **********************************************************************/ - #ifdef __cplusplus extern "C" { #endif |