153 lines
6.3 KiB
C
153 lines
6.3 KiB
C
#pragma once
|
|
|
|
typedef unsigned int GLenum;
|
|
typedef unsigned int GLbitfield;
|
|
typedef unsigned int GLuint;
|
|
typedef int GLint;
|
|
typedef int GLsizei;
|
|
typedef unsigned char GLboolean;
|
|
typedef signed char GLbyte;
|
|
typedef short GLshort;
|
|
typedef unsigned char GLubyte;
|
|
typedef unsigned short GLushort;
|
|
typedef unsigned long GLulong;
|
|
typedef float GLfloat;
|
|
typedef float GLclampf;
|
|
typedef double GLdouble;
|
|
typedef double GLclampd;
|
|
typedef void GLvoid;
|
|
typedef ptrdiff_t GLintptrARB;
|
|
typedef ptrdiff_t GLsizeiptrARB;
|
|
|
|
#define GL_FRONT 0x0404
|
|
#define GL_BACK 0x0405
|
|
|
|
#define GL_UNSIGNED_BYTE 0x1401
|
|
|
|
#define GL_RGB 0x1907
|
|
#define GL_RGBA 0x1908
|
|
|
|
#define GL_BGR 0x80E0
|
|
#define GL_BGRA 0x80E1
|
|
|
|
#define GL_NEAREST 0x2600
|
|
#define GL_LINEAR 0x2601
|
|
|
|
#define GL_READ_ONLY 0x88B8
|
|
#define GL_WRITE_ONLY 0x88B9
|
|
#define GL_READ_WRITE 0x88BA
|
|
#define GL_BUFFER_ACCESS 0x88BB
|
|
#define GL_BUFFER_MAPPED 0x88BC
|
|
#define GL_BUFFER_MAP_POINTER 0x88BD
|
|
#define GL_STREAM_DRAW 0x88E0
|
|
#define GL_STREAM_READ 0x88E1
|
|
#define GL_STREAM_COPY 0x88E2
|
|
#define GL_STATIC_DRAW 0x88E4
|
|
#define GL_STATIC_READ 0x88E5
|
|
#define GL_STATIC_COPY 0x88E6
|
|
#define GL_DYNAMIC_DRAW 0x88E8
|
|
#define GL_DYNAMIC_READ 0x88E9
|
|
#define GL_DYNAMIC_COPY 0x88EA
|
|
#define GL_PIXEL_PACK_BUFFER 0x88EB
|
|
#define GL_PIXEL_UNPACK_BUFFER 0x88EC
|
|
#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
|
|
#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
|
|
|
|
#define GL_TEXTURE_2D 0x0DE1
|
|
#define GL_TEXTURE_BINDING_2D 0x8069
|
|
#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
|
|
|
|
#define WGL_ACCESS_READ_ONLY_NV 0x0000
|
|
#define WGL_ACCESS_READ_WRITE_NV 0x0001
|
|
#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002
|
|
|
|
#define GL_READ_FRAMEBUFFER 0x8CA8
|
|
#define GL_DRAW_FRAMEBUFFER 0x8CA9
|
|
#define GL_COLOR_BUFFER_BIT 0x00004000
|
|
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
|
#define GL_COLOR_ATTACHMENT1 0x8CE1
|
|
|
|
typedef void (WINAPI *GLTEXIMAGE2DPROC)(GLenum target, GLint level,
|
|
GLint internal_format, GLsizei width, GLsizei height,
|
|
GLint border, GLenum format, GLenum type, const GLvoid *data);
|
|
typedef void (WINAPI *GLGETTEXIMAGEPROC)(GLenum target, GLint level,
|
|
GLenum format, GLenum type, GLvoid *img);
|
|
typedef void (WINAPI *GLREADBUFFERPROC)(GLenum);
|
|
typedef void (WINAPI *GLDRAWBUFFERPROC)(GLenum mode);
|
|
typedef void (WINAPI *GLGETINTEGERVPROC)(GLenum pname, GLint *params);
|
|
typedef GLenum (WINAPI *GLGETERRORPROC)();
|
|
typedef BOOL (WINAPI *WGLSWAPLAYERBUFFERSPROC)(HDC, UINT);
|
|
typedef BOOL (WINAPI *WGLSWAPBUFFERSPROC)(HDC);
|
|
typedef BOOL (WINAPI *WGLDELETECONTEXTPROC)(HGLRC);
|
|
typedef PROC (WINAPI *WGLGETPROCADDRESSPROC)(LPCSTR);
|
|
typedef BOOL (WINAPI *WGLMAKECURRENTPROC)(HDC, HGLRC);
|
|
typedef HDC (WINAPI *WGLGETCURRENTDCPROC)();
|
|
typedef HGLRC (WINAPI *WGLGETCURRENTCONTEXTPROC)();
|
|
typedef HGLRC (WINAPI *WGLCREATECONTEXTPROC)(HDC);
|
|
typedef void (WINAPI *GLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size,
|
|
const GLvoid* data, GLenum usage);
|
|
typedef void (WINAPI *GLDELETEBUFFERSARBPROC)(GLsizei n, const GLuint* buffers);
|
|
typedef void (WINAPI *GLDELETETEXTURESPROC)(GLsizei n, const GLuint* buffers);
|
|
typedef void (WINAPI *GLGENBUFFERSARBPROC)(GLsizei n, GLuint* buffers);
|
|
typedef void (WINAPI *GLGENTEXTURESPROC)(GLsizei n, GLuint* textures);
|
|
typedef GLvoid* (WINAPI *GLMAPBUFFERPROC)(GLenum target, GLenum access);
|
|
typedef GLboolean (WINAPI *GLUNMAPBUFFERPROC)(GLenum target);
|
|
typedef void (WINAPI *GLBINDBUFFERPROC)(GLenum target, GLuint buffer);
|
|
typedef void (WINAPI *GLBINDTEXTUREPROC)(GLenum target, GLuint texture);
|
|
typedef void (WINAPI *GLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint* buffers);
|
|
typedef void (WINAPI *GLDELETEFRAMEBUFFERSPROC)(GLsizei n,
|
|
GLuint *framebuffers);
|
|
typedef void (WINAPI *GLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
|
|
typedef void (WINAPI *GLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0,
|
|
GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0,
|
|
GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
|
typedef void (WINAPI *GLFRAMEBUFFERTEXTURE2DPROC)(GLenum target,
|
|
GLenum attachment, GLenum textarget, GLuint texture,
|
|
GLint level);
|
|
typedef BOOL (WINAPI *WGLSETRESOURCESHAREHANDLENVPROC)(void*, HANDLE);
|
|
typedef HANDLE (WINAPI *WGLDXOPENDEVICENVPROC)(void*);
|
|
typedef BOOL (WINAPI *WGLDXCLOSEDEVICENVPROC)(HANDLE);
|
|
typedef HANDLE (WINAPI *WGLDXREGISTEROBJECTNVPROC)(HANDLE, void *, GLuint, GLenum, GLenum);
|
|
typedef BOOL (WINAPI *WGLDXUNREGISTEROBJECTNVPROC)(HANDLE, HANDLE);
|
|
typedef BOOL (WINAPI *WGLDXOBJECTACCESSNVPROC)(HANDLE, GLenum);
|
|
typedef BOOL (WINAPI *WGLDXLOCKOBJECTSNVPROC)(HANDLE, GLint, HANDLE *);
|
|
typedef BOOL (WINAPI *WGLDXUNLOCKOBJECTSNVPROC)(HANDLE, GLint, HANDLE *);
|
|
|
|
static GLTEXIMAGE2DPROC glTexImage2D = NULL;
|
|
static GLGETTEXIMAGEPROC glGetTexImage = NULL;
|
|
static GLREADBUFFERPROC glReadBuffer = NULL;
|
|
static GLDRAWBUFFERPROC glDrawBuffer = NULL;
|
|
static GLGETINTEGERVPROC glGetIntegerv = NULL;
|
|
static GLGETERRORPROC glGetError = NULL;
|
|
static WGLSWAPLAYERBUFFERSPROC jimglSwapLayerBuffers = NULL;
|
|
static WGLSWAPBUFFERSPROC jimglSwapBuffers = NULL;
|
|
static WGLDELETECONTEXTPROC jimglDeleteContext = NULL;
|
|
static WGLGETPROCADDRESSPROC jimglGetProcAddress = NULL;
|
|
static WGLMAKECURRENTPROC jimglMakeCurrent = NULL;
|
|
static WGLGETCURRENTDCPROC jimglGetCurrentDC = NULL;
|
|
static WGLGETCURRENTCONTEXTPROC jimglGetCurrentContext = NULL;
|
|
static WGLCREATECONTEXTPROC jimglCreateContext = NULL;
|
|
static GLBUFFERDATAARBPROC glBufferData = NULL;
|
|
static GLDELETEBUFFERSARBPROC glDeleteBuffers = NULL;
|
|
static GLDELETETEXTURESPROC glDeleteTextures = NULL;
|
|
static GLGENBUFFERSARBPROC glGenBuffers = NULL;
|
|
static GLGENTEXTURESPROC glGenTextures = NULL;
|
|
static GLMAPBUFFERPROC glMapBuffer = NULL;
|
|
static GLUNMAPBUFFERPROC glUnmapBuffer = NULL;
|
|
static GLBINDBUFFERPROC glBindBuffer = NULL;
|
|
static GLBINDTEXTUREPROC glBindTexture = NULL;
|
|
static GLGENFRAMEBUFFERSPROC glGenFramebuffers = NULL;
|
|
static GLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers = NULL;
|
|
static GLBINDFRAMEBUFFERPROC glBindFramebuffer = NULL;
|
|
static GLBLITFRAMEBUFFERPROC glBlitFramebuffer = NULL;
|
|
static GLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D = NULL;
|
|
|
|
static WGLSETRESOURCESHAREHANDLENVPROC jimglDXSetResourceShareHandleNV = NULL;
|
|
static WGLDXOPENDEVICENVPROC jimglDXOpenDeviceNV = NULL;
|
|
static WGLDXCLOSEDEVICENVPROC jimglDXCloseDeviceNV = NULL;
|
|
static WGLDXREGISTEROBJECTNVPROC jimglDXRegisterObjectNV = NULL;
|
|
static WGLDXUNREGISTEROBJECTNVPROC jimglDXUnregisterObjectNV = NULL;
|
|
static WGLDXOBJECTACCESSNVPROC jimglDXObjectAccessNV = NULL;
|
|
static WGLDXLOCKOBJECTSNVPROC jimglDXLockObjectsNV = NULL;
|
|
static WGLDXUNLOCKOBJECTSNVPROC jimglDXUnlockObjectsNV = NULL;
|