📄 defines.h
字号:
/******************************************************************************\
Copyright 2005 The University of North Carolina at Chapel Hill.
All Rights Reserved.
Permission to use, copy, modify and distribute this software and its
documentation for educational, research and non-profit purposes, without
fee, and without a written agreement is hereby granted, provided that the
above copyright notice and the following three paragraphs appear in all
copies. Any use in a commercial organization requires a separate license.
IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE LIABLE
TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND
ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF NORTH CAROLINA HAVE BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Permission to use, copy, modify and distribute this software and its
documentation for educational, research and non-profit purposes, without
fee, and without a written agreement is hereby granted, provided that the
above copyright notice and the following three paragraphs appear in all
copies.
THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
"AS IS" BASIS, AND THE UNIVERSITY OF NORTH CAROLINA HAS NO OBLIGATION TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
---------------------------------
|Please send all BUG REPORTS to: |
| |
| geom@cs.unc.edu |
| |
---------------------------------
The authors may be contacted via:
US Mail: N. Govindaraju
Department of Computer Science
Sitterson Hall, CB #3175
University of North Carolina
Chapel Hill, NC 27599-3175
\*****************************************************************************/
#ifndef __DEFINES_H_
#define __DEFINES_H_
#if(defined _WIN64 || defined WIN32)
#include <windows.h>
#else
#ifndef APIENTRY
#define APIENTRY
#endif
#include <GL/glx.h>
#endif
typedef bool (APIENTRY * PFNIsRenderbufferEXT)(unsigned int renderbuffer);
typedef void (APIENTRY * PFNBindRenderbufferEXT)(int target, unsigned int renderbuffer);
typedef void (APIENTRY * PFNDeleteRenderbuffersEXT)(GLsizei n, const unsigned int *renderbuffers);
typedef void (APIENTRY * PFNGenRenderbuffersEXT)(GLsizei n, unsigned int *renderbuffers);
typedef void (APIENTRY * PFNRenderbufferStorageEXT)(int target, int internalformat,
GLsizei width, GLsizei height);
typedef void (APIENTRY * PFNGetRenderbufferParameterivEXT)(int target, int pname, int* params);
typedef bool (APIENTRY * PFNIsFramebufferEXT)(unsigned int framebuffer);
typedef void (APIENTRY * PFNBindFramebufferEXT)(int target, unsigned int framebuffer);
typedef void (APIENTRY * PFNDeleteFramebuffersEXT)(GLsizei n, const unsigned int *framebuffers);
typedef void (APIENTRY * PFNGenFramebuffersEXT)(GLsizei n, unsigned int *framebuffers);
typedef void (APIENTRY * PFNFramebufferTexture1DEXT)(int target, int attachment,
int textarget, unsigned int texture,
int level);
typedef void (APIENTRY * PFNFramebufferTexture2DEXT)(int target, int attachment,
int textarget, unsigned int texture,
int level);
typedef void (APIENTRY * PFNFramebufferTexture3DEXT)(int target, int attachment,
int textarget, unsigned int texture,
int level, int zoffset);
typedef void (APIENTRY * PFNFramebufferRenderbufferEXT)(int target, int attachment,
int renderbuffertarget, unsigned int renderbuffer);
typedef void (APIENTRY * PFNGetFramebufferAttachmentParameterivEXT)(unsigned int target, int attachment,
int pname, int *params);
typedef void (APIENTRY * PFNGenerateMipmapEXT)(unsigned int target);
typedef void (APIENTRY * PFNGLDrawBuffersARB)(GLsizei n, unsigned int *bufs);
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
#define WGL_FRONT_LEFT_ARB 0x2083
#define WGL_BACK_LEFT_ARB 0x2085
#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1
#define GL_TEXTURE2_ARB 0x84C2
#define GL_TEXTURE3_ARB 0x84C3
#define GL_TEXTURE4_ARB 0x84C4
#define GL_TEXTURE5_ARB 0x84C5
#define GL_TEXTURE6_ARB 0x84C6
#define GL_TEXTURE7_ARB 0x84C7
#define GL_TEXTURE8_ARB 0x84C8
#define GL_TEXTURE9_ARB 0x84C9
#define GL_TEXTURE_RECTANGLE_NV 0x84F5
#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
#define GL_FLOAT_RGBA16_NV 0x888A
#define GL_FLOAT_RGBA32_NV 0x888B
#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_FRAMEBUFFER_EXT 0x8D40
#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
typedef void (APIENTRY * PFNGLActiveTextureARB) (GLint texture);
PFNIsRenderbufferEXT glIsRenderbufferEXT;
PFNBindRenderbufferEXT glBindRenderbufferEXT;
PFNDeleteRenderbuffersEXT glDeleteRenderbuffersEXT;
PFNGenRenderbuffersEXT glGenRenderbuffersEXT;
PFNRenderbufferStorageEXT glRenderbufferStorageEXT;
PFNGetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT;
PFNIsFramebufferEXT glIsFramebufferEXT;
PFNBindFramebufferEXT glBindFramebufferEXT;
PFNDeleteFramebuffersEXT glDeleteFramebuffersEXT;
PFNGenFramebuffersEXT glGenFramebuffersEXT;
PFNFramebufferTexture1DEXT glFramebufferTexture1DEXT;
PFNFramebufferTexture2DEXT glFramebufferTexture2DEXT;
PFNFramebufferTexture3DEXT glFramebufferTexture3DEXT;
PFNFramebufferRenderbufferEXT glFramebufferRenderbufferEXT;
PFNGetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT;
PFNGenerateMipmapEXT glGenerateMipmapEXT;
PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f;
PFNGLMULTITEXCOORD3FPROC glMultiTexCoord3f;
PFNGLActiveTextureARB glActiveTextureARB;
PFNGLDrawBuffersARB glDrawBuffers;
void InitARBFP();
void InitFBOExts(){
#if(defined _WIN64 || defined WIN32)
glIsRenderbufferEXT = (PFNIsRenderbufferEXT) wglGetProcAddress("glIsRenderbufferEXT");
glBindRenderbufferEXT = (PFNBindRenderbufferEXT) wglGetProcAddress("glBindRenderbufferEXT");
glDeleteRenderbuffersEXT = (PFNDeleteRenderbuffersEXT) wglGetProcAddress("glDeleteRenderbuffersEXT");
glGenRenderbuffersEXT = (PFNGenRenderbuffersEXT ) wglGetProcAddress("glGenRenderbuffersEXT");
glRenderbufferStorageEXT = (PFNRenderbufferStorageEXT ) wglGetProcAddress("glRenderbufferStorageEXT");
glGetRenderbufferParameterivEXT =(PFNGetRenderbufferParameterivEXT ) wglGetProcAddress("glGetRenderbufferParameterivEXT");
glIsFramebufferEXT =(PFNIsFramebufferEXT ) wglGetProcAddress("glIsFramebufferEXT");
glBindFramebufferEXT =(PFNBindFramebufferEXT ) wglGetProcAddress("glBindFramebufferEXT");
glDeleteFramebuffersEXT =(PFNDeleteFramebuffersEXT ) wglGetProcAddress("glDeleteFramebuffersEXT");
glGenFramebuffersEXT =(PFNGenFramebuffersEXT ) wglGetProcAddress("glGenFramebuffersEXT");
glFramebufferTexture1DEXT =(PFNFramebufferTexture1DEXT ) wglGetProcAddress("glFramebufferTexture1DEXT");
glFramebufferTexture2DEXT =(PFNFramebufferTexture2DEXT ) wglGetProcAddress("glFramebufferTexture2DEXT");
glFramebufferTexture3DEXT =(PFNFramebufferTexture3DEXT ) wglGetProcAddress("glFramebufferTexture3DEXT");
glFramebufferRenderbufferEXT =(PFNFramebufferRenderbufferEXT ) wglGetProcAddress("glFramebufferRenderbufferEXT");
glGetFramebufferAttachmentParameterivEXT =(PFNGetFramebufferAttachmentParameterivEXT ) wglGetProcAddress("glGetFramebufferAttachmentParameterivEXT");
glGenerateMipmapEXT =(PFNGenerateMipmapEXT ) wglGetProcAddress("glGenerateMipmapEXT");
glActiveTextureARB = (PFNGLActiveTextureARB) wglGetProcAddress("glActiveTextureARB");
glDrawBuffers = (PFNGLDrawBuffersARB) wglGetProcAddress("glDrawBuffers");
glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC) wglGetProcAddress("glMultiTexCoord2f");
glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC) wglGetProcAddress("glMultiTexCoord3f");
#else
glIsRenderbufferEXT = (PFNIsRenderbufferEXT) glXGetProcAddressARB((const GLubyte *) "glIsRenderbufferEXT");
glBindRenderbufferEXT = (PFNBindRenderbufferEXT) glXGetProcAddressARB((const GLubyte *) "glBindRenderbufferEXT");
glDeleteRenderbuffersEXT = (PFNDeleteRenderbuffersEXT) glXGetProcAddressARB((const GLubyte *) "glDeleteRenderbuffersEXT");
glGenRenderbuffersEXT = (PFNGenRenderbuffersEXT ) glXGetProcAddressARB((const GLubyte *) "glGenRenderbuffersEXT");
glRenderbufferStorageEXT = (PFNRenderbufferStorageEXT ) glXGetProcAddressARB((const GLubyte *) "glRenderbufferStorageEXT");
glGetRenderbufferParameterivEXT =(PFNGetRenderbufferParameterivEXT ) glXGetProcAddressARB((const GLubyte *) "glGetRenderbufferParameterivEXT");
glIsFramebufferEXT =(PFNIsFramebufferEXT ) glXGetProcAddressARB((const GLubyte *) "glIsFramebufferEXT");
glBindFramebufferEXT =(PFNBindFramebufferEXT ) glXGetProcAddressARB((const GLubyte *) "glBindFramebufferEXT");
glDeleteFramebuffersEXT =(PFNDeleteFramebuffersEXT ) glXGetProcAddressARB((const GLubyte *) "glDeleteFramebuffersEXT");
glGenFramebuffersEXT =(PFNGenFramebuffersEXT ) glXGetProcAddressARB((const GLubyte *) "glGenFramebuffersEXT");
glFramebufferTexture1DEXT =(PFNFramebufferTexture1DEXT ) glXGetProcAddressARB((const GLubyte *) "glFramebufferTexture1DEXT");
glFramebufferTexture2DEXT =(PFNFramebufferTexture2DEXT ) glXGetProcAddressARB((const GLubyte *) "glFramebufferTexture2DEXT");
glFramebufferTexture3DEXT =(PFNFramebufferTexture3DEXT ) glXGetProcAddressARB((const GLubyte *) "glFramebufferTexture3DEXT");
glFramebufferRenderbufferEXT =(PFNFramebufferRenderbufferEXT ) glXGetProcAddressARB((const GLubyte *) "glFramebufferRenderbufferEXT");
glGetFramebufferAttachmentParameterivEXT =(PFNGetFramebufferAttachmentParameterivEXT ) glXGetProcAddressARB((const GLubyte *) "glGetFramebufferAttachmentParameterivEXT");
glGenerateMipmapEXT =(PFNGenerateMipmapEXT ) glXGetProcAddressARB((const GLubyte *) "glGenerateMipmapEXT");
glActiveTextureARB = (PFNGLActiveTextureARB) glXGetProcAddressARB((const GLubyte *) "glActiveTextureARB");
glDrawBuffers = (PFNGLDrawBuffersARB) glXGetProcAddressARB((const GLubyte *)"glDrawBuffers");
glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC) glXGetProcAddressARB((const GLubyte *)"glMultiTexCoord2f");
glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC) glXGetProcAddressARB((const GLubyte *)"glMultiTexCoord3f");
#endif
InitARBFP();
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -