#ifndef GL_SHARED_H #define GL_SHARED_H #define WIN32_LEAN_AND_MEAN #include #include #include void GL_Load(); void GL_SwapBuffers(int inverval); void GL_CheckError(); void GL_CheckErrorEx(const char* filename, int line); void GL_CheckErrorFunction(const char* expression, const char* filename, int line); //void GL_SetTexture( int slot, uint texture ); #define GL_CHECK_ERROR() \ GL_CheckErrorEx(__FILE__, __LINE__) #define GL_CHECK_FUNC_ERROR(expr) \ expr; \ GL_CheckErrorFunction(#expr, __FILE__, __LINE__) // Extensions extern bool g_EXTFramebufferSupport; // OpenGL 1.3 Functional extern PFNGLACTIVETEXTUREPROC glActiveTexture; extern PFNGLSAMPLECOVERAGEPROC glSampleCoverage; extern PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D; extern PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D; extern PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D; extern PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D; extern PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D; extern PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glCompressedTexSubImage1D; extern PFNGLGETCOMPRESSEDTEXIMAGEPROC glGetCompressedTexImage; extern PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture; extern PFNGLMULTITEXCOORD1DPROC glMultiTexCoord1d; extern PFNGLMULTITEXCOORD1DVPROC glMultiTexCoord1dv; extern PFNGLMULTITEXCOORD1FPROC glMultiTexCoord1f; extern PFNGLMULTITEXCOORD1FVPROC glMultiTexCoord1fv; extern PFNGLMULTITEXCOORD1IPROC glMultiTexCoord1i; extern PFNGLMULTITEXCOORD1IVPROC glMultiTexCoord1iv; extern PFNGLMULTITEXCOORD1SPROC glMultiTexCoord1s; extern PFNGLMULTITEXCOORD1SVPROC glMultiTexCoord1sv; extern PFNGLMULTITEXCOORD2DPROC glMultiTexCoord2d; extern PFNGLMULTITEXCOORD2DVPROC glMultiTexCoord2dv; extern PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f; extern PFNGLMULTITEXCOORD2FVPROC glMultiTexCoord2fv; extern PFNGLMULTITEXCOORD2IPROC glMultiTexCoord2i; extern PFNGLMULTITEXCOORD2IVPROC glMultiTexCoord2iv; extern PFNGLMULTITEXCOORD2SPROC glMultiTexCoord2s; extern PFNGLMULTITEXCOORD2SVPROC glMultiTexCoord2sv; extern PFNGLMULTITEXCOORD3DPROC glMultiTexCoord3d; extern PFNGLMULTITEXCOORD3DVPROC glMultiTexCoord3dv; extern PFNGLMULTITEXCOORD3FPROC glMultiTexCoord3f; extern PFNGLMULTITEXCOORD3FVPROC glMultiTexCoord3fv; extern PFNGLMULTITEXCOORD3IPROC glMultiTexCoord3i; extern PFNGLMULTITEXCOORD3IVPROC glMultiTexCoord3iv; extern PFNGLMULTITEXCOORD3SPROC glMultiTexCoord3s; extern PFNGLMULTITEXCOORD3SVPROC glMultiTexCoord3sv; extern PFNGLMULTITEXCOORD4DPROC glMultiTexCoord4d; extern PFNGLMULTITEXCOORD4DVPROC glMultiTexCoord4dv; extern PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f; extern PFNGLMULTITEXCOORD4FVPROC glMultiTexCoord4fv; extern PFNGLMULTITEXCOORD4IPROC glMultiTexCoord4i; extern PFNGLMULTITEXCOORD4IVPROC glMultiTexCoord4iv; extern PFNGLMULTITEXCOORD4SPROC glMultiTexCoord4s; extern PFNGLMULTITEXCOORD4SVPROC glMultiTexCoord4sv; extern PFNGLLOADTRANSPOSEMATRIXFPROC glLoadTransposeMatrixf; extern PFNGLLOADTRANSPOSEMATRIXDPROC glLoadTransposeMatrixd; extern PFNGLMULTTRANSPOSEMATRIXFPROC glMultTransposeMatrixf; extern PFNGLMULTTRANSPOSEMATRIXDPROC glMultTransposeMatrixd; // OpenGL 1.5 Functional extern PFNGLGENQUERIESPROC glGenQueries; extern PFNGLDELETEQUERIESPROC glDeleteQueries; extern PFNGLISQUERYPROC glIsQuery; extern PFNGLBEGINQUERYPROC glBeginQuery; extern PFNGLENDQUERYPROC glEndQuery; extern PFNGLGETQUERYIVPROC glGetQueryiv; extern PFNGLGETQUERYOBJECTIVPROC glGetQueryObjectiv; extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv; extern PFNGLBINDBUFFERPROC glBindBuffer; extern PFNGLDELETEBUFFERSPROC glDeleteBuffers; extern PFNGLGENBUFFERSPROC glGenBuffers; extern PFNGLISBUFFERPROC glIsBuffer; extern PFNGLBUFFERDATAPROC glBufferData; extern PFNGLBUFFERSUBDATAPROC glBufferSubData; extern PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData; extern PFNGLMAPBUFFERPROC glMapBuffer; extern PFNGLUNMAPBUFFERPROC glUnmapBuffer; extern PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv; extern PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv; // GL_EXT_framebuffer_object extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT; extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT; extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT; extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT; extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT; extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT; extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT; extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT; extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT; extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT; extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT; extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT; extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT; extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT; extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT; extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT; extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT; #endif // !GL_SHARED_H