//Pobrane z http://www.opengl.org/registry/ //#include #include "wglext.h" #include "glext.h" /* Do COknoGL::InitWGL */ /* //wyjete z glext.h #define GL_MAJOR_VERSION 0x821B #define GL_MINOR_VERSION 0x821C //wyjete z wglext.h #define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 #define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 #define WGL_CONTEXT_FLAGS_ARB 0x2094 #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 #define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 #define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 #define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int *attribList); */ PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB; /* Do COknoGL::InitBuforWerteksow i COknoGL::UsunBuforWerteksow */ /* //VAO //#define GL_VERTEX_ARRAY_BINDING 0x85B5 typedef void (WINAPI * PFNGLBINDVERTEXARRAYPROC) (GLuint array); typedef void (WINAPI * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays); typedef void (WINAPI * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (WINAPI * PFNGLISVERTEXARRAYPROC) (GLuint array); */ PFNGLBINDVERTEXARRAYPROC glBindVertexArray; PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays; PFNGLGENVERTEXARRAYSPROC glGenVertexArrays; PFNGLISVERTEXARRAYPROC glIsVertexArray; //VBO /* typedef ptrdiff_t GLsizeiptr; #define GL_ARRAY_BUFFER 0x8892 #define GL_STATIC_DRAW 0x88E4 typedef void (WINAPI * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); typedef void (WINAPI * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); typedef void (WINAPI * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); typedef GLboolean (WINAPI * PFNGLISBUFFERPROC) (GLuint buffer); typedef void (WINAPI * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); */ PFNGLBINDBUFFERPROC glBindBuffer; PFNGLDELETEBUFFERSPROC glDeleteBuffers; PFNGLGENBUFFERSPROC glGenBuffers; PFNGLISBUFFERPROC glIsBuffer; PFNGLBUFFERDATAPROC glBufferData; PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray; PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer; PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray; /* Pobieranie adresow funkcji */ void InitAPI() { //do COknoGL::InitWGL wglCreateContextAttribsARB = reinterpret_cast(::wglGetProcAddress("wglCreateContextAttribsARB")); //VAO glBindVertexArray = reinterpret_cast(::wglGetProcAddress("glBindVertexArray")); glDeleteVertexArrays = reinterpret_cast(::wglGetProcAddress("glDeleteVertexArrays")); glGenVertexArrays = reinterpret_cast(::wglGetProcAddress("glGenVertexArrays")); glIsVertexArray = reinterpret_cast(::wglGetProcAddress("glIsVertexArray")); //VBO glBindBuffer = reinterpret_cast(::wglGetProcAddress("glBindBuffer")); glDeleteBuffers = reinterpret_cast(::wglGetProcAddress("glDeleteBuffers")); glGenBuffers = reinterpret_cast(::wglGetProcAddress("glGenBuffers")); glIsBuffer = reinterpret_cast(::wglGetProcAddress("glIsBuffer")); glBufferData = reinterpret_cast(::wglGetProcAddress("glBufferData")); glEnableVertexAttribArray = reinterpret_cast(::wglGetProcAddress("glEnableVertexAttribArray")); glVertexAttribPointer = reinterpret_cast(::wglGetProcAddress("glVertexAttribPointer")); glDisableVertexAttribArray = reinterpret_cast(::wglGetProcAddress("glDisableVertexAttribArray")); }