X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fscreen%2Fextensions.hxx;h=e1871068faa0cb1aa736d9ff7d9a542a874f3f8d;hb=bbd61977f14c30ce93a2bcf5a3551708d36a29c8;hp=13f6faabbe7e3747089a0a8376e503278fded785;hpb=0cd4d44bd3836622d33c8c13740b250d1bd38f28;p=simgear.git diff --git a/simgear/screen/extensions.hxx b/simgear/screen/extensions.hxx index 13f6faab..e1871068 100644 --- a/simgear/screen/extensions.hxx +++ b/simgear/screen/extensions.hxx @@ -24,22 +24,17 @@ #ifndef __SG_EXTENSIONS_HXX #define __SG_EXTENSIONS_HXX 1 -#if defined(__CYGWIN__) && !defined(WIN32) /* && !defined(USING_X) */ -#define WIN32 -#endif - -#if defined(WIN32) /* MINGW and MSC predefine WIN32 */ +#ifdef WIN32 # include #endif -#if !defined(WIN32) -# include -#endif - #include -#include SG_GL_H +#include +#if !defined(__APPLE__) && !defined(WIN32) +# include +#endif #if defined(__cplusplus) extern "C" { @@ -50,7 +45,7 @@ extern "C" { #endif bool SGSearchExtensionsString(const char *extString, const char *extName); -bool SGIsOpenGLExtensionSupported(char *extName); +bool SGIsOpenGLExtensionSupported(const char *extName); #ifdef __APPLE__ // don't use an inline function for symbol lookup, since it is too big @@ -70,8 +65,7 @@ inline void (*SGLookupFunction(const char *func))() #elif defined( __APPLE__ ) return (void (*)()) macosxGetGLProcAddress(func); -#else // UNIX - +#else // UNIX, default return (void (*)()) SGGetGLProcAddress(func); #endif } @@ -208,7 +202,7 @@ typedef void (APIENTRY * glClientActiveTextureProc)(GLenum texture); #define GL_RGB_SCALE_ARB 0x8573 #define GL_ADD_SIGNED_ARB 0x8574 #define GL_INTERPOLATE_ARB 0x8575 -#define GL_SUBTRACT_ARB 0x84E7 +#define GL_SUBTRACT_ARB 0x84E7 #define GL_CONSTANT_ARB 0x8576 #define GL_PRIMARY_COLOR_ARB 0x8577 #define GL_PREVIOUS_ARB 0x8578 @@ -465,6 +459,18 @@ typedef void (*glXQueryDrawableProc) (Display *, GLXDrawable, int, unsigned int #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 #endif +/* + * NV_texture_rectangle + */ + +#ifndef GL_EXT_texture_rectangle +#define GL_EXT_texture_rectangle 1 +#define GL_TEXTURE_RECTANGLE_EXT 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 +#endif + /* * WGL_NV_texture_rectangle */ @@ -760,6 +766,62 @@ typedef void (APIENTRY * glGetVertexAttribivProc) (GLuint index, GLenum pname, G typedef void (APIENTRY * glGetVertexAttribPointervProc) (GLuint index, GLenum pname, GLvoid* *pointer); typedef GLboolean (APIENTRY * glIsProgramProc) (GLuint program); +/* + * EXT_framebuffer_objects + */ +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 +#define GL_NONE_EXT 0 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RGBA4_EXT 0x8056 +#define GL_RGB5_A1_EXT 0x8057 +#define GL_RGB565_EXT 0x8D62 +#define GL_DEPTH_COMPONENT16_EXT 0x81A5 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#endif + +typedef GLboolean (APIENTRY * glIsRenderbufferProc) (GLuint renderbuffer); +typedef void (APIENTRY * glBindRenderbufferProc) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRY * glDeleteRenderbuffersProc) (GLsizei n, const GLuint* renderbuffers); +typedef void (APIENTRY * glGenRenderbuffersProc) (GLsizei n, GLuint* renderbuffers); +typedef void (APIENTRY * glRenderbufferStorageProc) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRY * glGetRenderbufferParameterivProc) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (APIENTRY * glIsFramebufferProc) (GLuint framebuffer); +typedef void (APIENTRY * glBindFramebufferProc) (GLenum target, GLuint framebuffer); +typedef void (APIENTRY * glDeleteFramebuffersProc) (GLsizei n, const GLuint* framebuffers); +typedef void (APIENTRY * glGenFramebuffersProc) (GLsizei n, GLuint* framebuffers); +typedef GLenum (APIENTRY * glCheckFramebufferStatusProc) (GLenum target); +typedef void (APIENTRY * glFramebufferRenderbufferProc) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRY * glFramebufferTexture2DProc) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRY * glGetFramebufferAttachmentParameterivProc) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (APIENTRY * glGenerateMipmapProc) (GLenum target); + /* * ARB_shader_objects */