diff --git a/.hgignore b/.hgignore index 0d04fc2a0..5bd86de56 100644 --- a/.hgignore +++ b/.hgignore @@ -1,7 +1,3 @@ -relre:platform/msvc2008/include/ -glob:platform/msvc2008/lib/ -relre:platform/msvc2008/(.*)txt -relre:platform/msvc2008/(.*)suo glob:extra/reshax/Release/ glob:extra/reshax/Debug/ glob:extra/reshax/resources.h @@ -22,23 +18,16 @@ glob:*.lib glob:*.ncb glob:*.exe glob:*.bat -glob:platform/macosx/build -glob:platform/macosx/Build -glob:platform/macosx/DerivedData -glob:platform/macosx/*.xcodeproj/bill* -glob:platform/macosx/*.xcodeproj/xcuserdata -glob:platform/macosx/*.xcodeproj/project.xcworkspace +glob:platform/xcode/Build +glob:platform/xcode/DerivedData +glob:platform/xcode/ios/include +glob:platform/xcode/ios/libraries +glob:*xcuserdata* glob:*.DS_Store glob:*.dylib glob:*.dmg* glob:demos glob:*.orig -relre:platform/msvc2010/include/ -glob:platform/msvc2010/lib/ -relre:platform/msvc2010/(.*)txt -relre:platform/msvc2010/(.*)suo -relre:platform/msvc2010/(.*)sdf -relre:platform/msvc2010/(.*)ipch glob:.*.swp glob:autom4te.cache/ glob:src/.libs/ diff --git a/CMakeLists.txt b/CMakeLists.txt index a5de3f68d..8ffaed123 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,7 @@ set(LOVE_SRC_COMMON src/common/runtime.cpp src/common/runtime.h src/common/StringMap.h + src/common/types.cpp src/common/types.h src/common/utf8.cpp src/common/utf8.h @@ -164,13 +165,13 @@ source_group("modules\\audio\\openal" FILES ${LOVE_SRC_MODULE_AUDIO_OPENAL}) set(LOVE_SRC_MODULE_EVENT_ROOT src/modules/event/Event.cpp src/modules/event/Event.h + src/modules/event/wrap_Event.cpp + src/modules/event/wrap_Event.h ) set(LOVE_SRC_MODULE_EVENT_SDL src/modules/event/sdl/Event.cpp src/modules/event/sdl/Event.h - src/modules/event/sdl/wrap_Event.cpp - src/modules/event/sdl/wrap_Event.h ) set(LOVE_SRC_MODULE_EVENT @@ -186,10 +187,16 @@ source_group("modules\\event\\sdl" FILES ${LOVE_SRC_MODULE_EVENT_SDL}) # set(LOVE_SRC_MODULE_FILESYSTEM_ROOT + src/modules/filesystem/DroppedFile.cpp + src/modules/filesystem/DroppedFile.h src/modules/filesystem/File.cpp src/modules/filesystem/File.h src/modules/filesystem/FileData.cpp src/modules/filesystem/FileData.h + src/modules/filesystem/Filesystem.cpp + src/modules/filesystem/Filesystem.h + src/modules/filesystem/wrap_DroppedFile.cpp + src/modules/filesystem/wrap_DroppedFile.h src/modules/filesystem/wrap_File.cpp src/modules/filesystem/wrap_File.h src/modules/filesystem/wrap_FileData.cpp @@ -218,6 +225,9 @@ source_group("modules\\filesystem\\physfs" FILES ${LOVE_SRC_MODULE_FILESYSTEM_PH # set(LOVE_SRC_MODULE_FONT_ROOT + src/modules/font/BMFontRasterizer.cpp + src/modules/font/BMFontRasterizer.h + src/modules/font/Font.cpp src/modules/font/Font.h src/modules/font/GlyphData.cpp src/modules/font/GlyphData.h @@ -225,6 +235,8 @@ set(LOVE_SRC_MODULE_FONT_ROOT src/modules/font/ImageRasterizer.h src/modules/font/Rasterizer.cpp src/modules/font/Rasterizer.h + src/modules/font/wrap_Font.cpp + src/modules/font/wrap_Font.h src/modules/font/wrap_GlyphData.cpp src/modules/font/wrap_GlyphData.h src/modules/font/wrap_Rasterizer.cpp @@ -236,8 +248,6 @@ set(LOVE_SRC_MODULE_FONT_FREETYPE src/modules/font/freetype/Font.h src/modules/font/freetype/TrueTypeRasterizer.cpp src/modules/font/freetype/TrueTypeRasterizer.h - src/modules/font/freetype/wrap_Font.cpp - src/modules/font/freetype/wrap_Font.h ) set(LOVE_SRC_MODULE_FONT @@ -263,6 +273,10 @@ set(LOVE_SRC_MODULE_GRAPHICS_ROOT src/modules/graphics/Texture.h src/modules/graphics/Volatile.cpp src/modules/graphics/Volatile.h + src/modules/graphics/wrap_Quad.cpp + src/modules/graphics/wrap_Quad.h + src/modules/graphics/wrap_Texture.cpp + src/modules/graphics/wrap_Texture.h ) set(LOVE_SRC_MODULE_GRAPHICS_OPENGL @@ -270,8 +284,6 @@ set(LOVE_SRC_MODULE_GRAPHICS_OPENGL src/modules/graphics/opengl/Canvas.h src/modules/graphics/opengl/Font.cpp src/modules/graphics/opengl/Font.h - src/modules/graphics/opengl/GLee.c - src/modules/graphics/opengl/GLee.h src/modules/graphics/opengl/Graphics.cpp src/modules/graphics/opengl/Graphics.h src/modules/graphics/opengl/Image.cpp @@ -288,7 +300,8 @@ set(LOVE_SRC_MODULE_GRAPHICS_OPENGL src/modules/graphics/opengl/Shader.h src/modules/graphics/opengl/SpriteBatch.cpp src/modules/graphics/opengl/SpriteBatch.h - src/modules/graphics/opengl/Texture.h + src/modules/graphics/opengl/Text.cpp + src/modules/graphics/opengl/Text.h src/modules/graphics/opengl/VertexBuffer.cpp src/modules/graphics/opengl/VertexBuffer.h src/modules/graphics/opengl/wrap_Canvas.cpp @@ -303,14 +316,12 @@ set(LOVE_SRC_MODULE_GRAPHICS_OPENGL src/modules/graphics/opengl/wrap_Mesh.h src/modules/graphics/opengl/wrap_ParticleSystem.cpp src/modules/graphics/opengl/wrap_ParticleSystem.h - src/modules/graphics/opengl/wrap_Quad.cpp - src/modules/graphics/opengl/wrap_Quad.h src/modules/graphics/opengl/wrap_Shader.cpp src/modules/graphics/opengl/wrap_Shader.h src/modules/graphics/opengl/wrap_SpriteBatch.cpp src/modules/graphics/opengl/wrap_SpriteBatch.h - src/modules/graphics/opengl/wrap_Texture.cpp - src/modules/graphics/opengl/wrap_Texture.h + src/modules/graphics/opengl/wrap_Text.cpp + src/modules/graphics/opengl/wrap_Text.h ) set(LOVE_SRC_MODULE_GRAPHICS @@ -342,16 +353,27 @@ set(LOVE_SRC_MODULE_IMAGE_ROOT set(LOVE_SRC_MODULE_IMAGE_MAGPIE src/modules/image/magpie/CompressedData.cpp src/modules/image/magpie/CompressedData.h + src/modules/image/magpie/CompressedFormatHandler.h src/modules/image/magpie/ddsHandler.cpp src/modules/image/magpie/ddsHandler.h - src/modules/image/magpie/DevilHandler.cpp - src/modules/image/magpie/DevilHandler.h src/modules/image/magpie/FormatHandler.cpp src/modules/image/magpie/FormatHandler.h src/modules/image/magpie/Image.cpp src/modules/image/magpie/Image.h src/modules/image/magpie/ImageData.cpp src/modules/image/magpie/ImageData.h + src/modules/image/magpie/JPEGHandler.cpp + src/modules/image/magpie/JPEGHandler.h + src/modules/image/magpie/KTXHandler.cpp + src/modules/image/magpie/KTXHandler.h + src/modules/image/magpie/PKMHandler.cpp + src/modules/image/magpie/PKMHandler.h + src/modules/image/magpie/PNGHandler.cpp + src/modules/image/magpie/PNGHandler.h + src/modules/image/magpie/PVRHandler.cpp + src/modules/image/magpie/PVRHandler.h + src/modules/image/magpie/STBHandler.cpp + src/modules/image/magpie/STBHandler.h ) set(LOVE_SRC_MODULE_IMAGE @@ -723,6 +745,29 @@ set(LOVE_SRC_MODULE_TIMER source_group("modules\\timer" FILES ${LOVE_SRC_MODULE_TIMER_ROOT}) source_group("modules\\timer\\sdl" FILES ${LOVE_SRC_MODULE_TIMER_SDL}) +# +# love.touch +# + +set(LOVE_SRC_MODULE_TOUCH_ROOT + src/modules/touch/Touch.h + src/modules/touch/wrap_Touch.cpp + src/modules/touch/wrap_Touch.h +) + +set(LOVE_SRC_MODULE_TOUCH_SDL + src/modules/touch/sdl/Touch.cpp + src/modules/touch/sdl/Touch.h +) + +set(LOVE_SRC_MODULE_TOUCH + ${LOVE_SRC_MODULE_TOUCH_ROOT} + ${LOVE_SRC_MODULE_TOUCH_SDL} +) + +source_group("modules\\touch" FILES ${LOVE_SRC_MODULE_TOUCH_ROOT}) +source_group("modules\\touch\\sdl" FILES ${LOVE_SRC_MODULE_TOUCH_SDL}) + # # love.window # @@ -939,6 +984,29 @@ add_library(love_3p_enet ${LOVE_SRC_3P_ENET}) target_link_libraries(love_3p_enet ${MEGA_LUA}) target_include_directories(love_3p_enet PUBLIC src/libraries/enet/libenet/include) +# +# GLAD +# + +set(LOVE_SRC_3P_GLAD + src/libraries/glad/glad.cpp + src/libraries/glad/glad.hpp + src/libraries/glad/gladfuncs.hpp +) + +add_library(love_3p_glad ${LOVE_SRC_3P_GLAD}) + +# +# LodePNG +# + +set(LOVE_SRC_3P_LODEPNG + src/libraries/lodepng/lodepng.cpp + src/libraries/lodepng/lodepng.h +) + +add_library(love_3p_lodepng ${LOVE_SRC_3P_LODEPNG}) + # # luasocket # @@ -1024,6 +1092,16 @@ set(LOVE_SRC_3P_NOISE1234 add_library(love_3p_noise1234 ${LOVE_SRC_3P_NOISE1234}) +# +# stb_image +# + +set(LOVE_SRC_3P_STB + src/libraries/stb/stb_image.h +) + +# stb_image has no implementation files of its own. + # # utf8 # @@ -1065,6 +1143,8 @@ set(LOVE_3P love_3p_box2d love_3p_ddsparse love_3p_enet + love_3p_glad + love_3p_lodepng love_3p_luasocket love_3p_luautf8 love_3p_noise1234 @@ -1095,6 +1175,7 @@ set(LOVE_LIB_SRC ${LOVE_SRC_MODULE_SYSTEM} ${LOVE_SRC_MODULE_THREAD} ${LOVE_SRC_MODULE_TIMER} + ${LOVE_SRC_MODULE_TOUCH} ${LOVE_SRC_MODULE_WINDOW} ) @@ -1110,12 +1191,9 @@ include_directories( link_directories(${SDL_LINK_DIR}) set(LOVE_MEGA_3P - ${MEGA_DEVIL} ${MEGA_FREETYPE} - ${MEGA_JASPER} - ${MEGA_JPEG} + ${MEGA_JPEG_TURBO} ${MEGA_LIBOGG} - ${MEGA_LIBPNG} ${MEGA_LIBVORBISFILE} ${MEGA_LIBVORBIS} ${MEGA_LUA} @@ -1124,7 +1202,6 @@ set(LOVE_MEGA_3P ${MEGA_PHYSFS} ${MEGA_SDL2MAIN} ${MEGA_SDL2} - ${MEGA_TIFF} ${MEGA_ZLIB} ) @@ -1181,7 +1258,6 @@ endif() add_move_dll(love ${MEGA_SDL2}) add_move_dll(love ${MEGA_OPENAL}) -add_move_dll(love ${MEGA_DEVIL}) if(LOVE_JIT) add_move_file(love ${MEGA_LUAJIT_DLL}) diff --git a/changes.txt b/changes.txt index 30a7c1aeb..261b102d5 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,54 @@ +LOVE 0.10.0 [] +-------------- + +Released: N/A + + * Added love.filesystem.setRequirePath and love.filesystem.getRequirePath. + * Added love.filedropped and love.directorydropped event callback functions. + * Added love.wheelmoved event callback function (replaces "wu" and "wd" constants for love.mousepressed.) + * Added Source:getType (replaces Source:isStatic.) + * Added love.graphics.getSupported (replaces love.graphics.isSupported.) + * Added love.graphics.getSystemLimits (replaces love.graphics.getSystemLimit.) + * Added love.graphics.stencil and love.graphics.setStencilTest (replaces love.graphics.setStencil.) + * Added optional x/y/width/height arguments to Image:refresh. + * Added support for OpenGL ES. + * Added support for loading ETC1/2, EAC, and PVRTC compressed textures. + * Added Text objects and love.graphics.newText. + * Added BMFont bitmap font file support to love.graphics.newFont and love.font. + + * Removed love.filesystem.exists (use love.filesystem.isFile or love.filesystem.isDirectory instead.) + * Removed the "wu" and "wd" constants for love.mousepressed (replaced by love.wheelmoved.) + * Removed Source:isStatic (replaced by Source:getType.) + * Removed image loading support for all (non-compressed texture) file formats except for PNG, JPEG, TGA, and BMP. + * Removed love.graphics.setPointStyle and love.graphics.getPointStyle. + * Removed love.graphics.isSupported (replaced by love.graphics.getSupported.) + * Removed love.graphics.getSystemLimit (replaced by love.graphics.getSystemLimits.) + * Removed love.graphics.setStencil (replaced by love.graphics.stencil and love.graphics.setStencilTest.) + * Removed the "canvas", "shader", "npot", "subtractive", and "mipmap" Graphics Feature enums. + * Removed functions deprecated in LOVE 0.9.x: + * Removed Canvas:getType (replaced by Canvas:getFormat.) + * Removed love.graphics.getMaxTextureSize/getMaxImageSize (replaced by love.graphics.getSystemLimits.) + * Removed love.graphics.getMaxPointSize (replaced by love.graphics.getSystemLimits.) + * Removed Mesh:set/getImage, SpriteBatch:set/getImage, and ParticleSystem:set/getImage (replaced by set/getTexture.) + * Removed SpriteBatch:bind/unbind. + * Removed Canvas:getFSAA and the "fsaa" flag in love.conf and love.window.setMode (replaced by Canvas:getMSAA and "msaa".) + * Removed the "dxt" and "bc5" Graphics Feature enums (replaced by love.graphics.getCompressedImageFormats.) + * Removed the "hdrcanvas" Graphics Feature enum (replaced by love.graphics.getCanvasFormats.) + * Removed love.window.getWidth/getHeight (use love.graphics.getWidth/getHeight or love.window.getMode instead.) + + * Renamed the fullscreen type "normal" to "exclusive". + * Renamed the Distance Model enums "inverse clamped", "linear clamped", and "exponent clamped" to "inverseclamped", "linearclamped", and "exponentclamped". + * Renamed blend modes "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply". + + * Updated love.math.setRandomSeed and RandomGenerator:setSeed to produce better results for the first few random() calls. + * Updated Source methods that deal with spatial audio to error rather than failing silently if the Source isn't mono. + * Updated ImageFonts to no longer treat separator pixels as spacing. + * Updated the minimum runtime system requirements of LOVE to require OpenGL 2.1 support. + * Updated the pixel shader effect function so screen_coords.y is 0 at the top of the screen instead of the bottom. + * Updated love.graphics.newImage's optional second argument to be a table of flags (flags are "mipmaps" and "srgb".) + * Updated Images to require setting the mipmaps flag to true on creation in order to use mipmaps. + * Updated Images to allow mipmaps for non-power-of-two sizes. + LOVE 0.9.2 [Baby Inspector] --------------------------- diff --git a/extra/windows/love.rc b/extra/windows/love.rc index 16030396f..8fd682913 100644 Binary files a/extra/windows/love.rc and b/extra/windows/love.rc differ diff --git a/license.txt b/license.txt index be749f598..4ab53606d 100644 --- a/license.txt +++ b/license.txt @@ -123,7 +123,7 @@ DEALINGS IN THE SOFTWARE. --------- -This software uses the following LGPL libraries: +This software uses the following LGPL libraries on Windows, Mac OS X, and Linux: - libmpg123 Website: http://www.mpg123.de/ @@ -131,9 +131,6 @@ This software uses the following LGPL libraries: - OpenAL Soft Website: http://kcat.strangesoft.net/openal.html Source download: http://kcat.strangesoft.net/openal.html#download - - DevIL - Website: http://openil.sourceforge.net/ - Source download: http://downloads.sourceforge.net/openil/DevIL-1.7.8.tar.gz Following are the LGPL and GPL license texts: diff --git a/platform/macosx/dmg/DS_Store b/platform/macosx/dmg/DS_Store deleted file mode 100644 index e9df1d6f0..000000000 Binary files a/platform/macosx/dmg/DS_Store and /dev/null differ diff --git a/platform/macosx/dmg/VolumeIcon.icns b/platform/macosx/dmg/VolumeIcon.icns deleted file mode 100644 index 7303779b9..000000000 Binary files a/platform/macosx/dmg/VolumeIcon.icns and /dev/null differ diff --git a/platform/macosx/dmg/backgroundImage.tiff b/platform/macosx/dmg/backgroundImage.tiff deleted file mode 100644 index 66c843770..000000000 Binary files a/platform/macosx/dmg/backgroundImage.tiff and /dev/null differ diff --git a/platform/macosx/love-framework.xcodeproj/project.pbxproj b/platform/macosx/love-framework.xcodeproj/project.pbxproj deleted file mode 100644 index 1462cefed..000000000 --- a/platform/macosx/love-framework.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2595 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - FA01BE1E1878E35B00640047 /* wrap_Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA01BE1C1878E35B00640047 /* wrap_Texture.cpp */; }; - FA01BE1F1878E35B00640047 /* wrap_Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA01BE1D1878E35B00640047 /* wrap_Texture.h */; }; - FA03546C1731F3A700284828 /* simplexnoise1234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA03546A1731F3A700284828 /* simplexnoise1234.cpp */; }; - FA03546D1731F3A700284828 /* simplexnoise1234.h in Headers */ = {isa = PBXBuildFile; fileRef = FA03546B1731F3A700284828 /* simplexnoise1234.h */; }; - FA08F5B016C752F900F007B5 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FB732687B1669402408356D /* Source.cpp */; }; - FA08F5B116C752F900F007B5 /* wrap_Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02CA1BE908D91B104EB9590F /* wrap_Audio.cpp */; }; - FA08F5B216C752F900F007B5 /* wrap_Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02662CBC29B954295A634A39 /* wrap_Source.cpp */; }; - FA08F5B316C752FC00F007B5 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1839744763625B5D64EC70AC /* Audio.cpp */; }; - FA08F5B416C7530100F007B5 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC5707C79175FA6427B3D62 /* Audio.cpp */; }; - FA08F5B516C7530100F007B5 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A304E384AF2119905C01504 /* Source.cpp */; }; - FA08F5B616C7530A00F007B5 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CB1193233FA78EE646A17A1 /* Audio.cpp */; }; - FA08F5B716C7530A00F007B5 /* Pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 601E6A56345412E87E1D396B /* Pool.cpp */; }; - FA08F5B816C7530A00F007B5 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28024635525B077E08A73D9B /* Source.cpp */; }; - FA08F5B916C7532A00F007B5 /* b64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D383DA1468545C30E7B5805 /* b64.cpp */; }; - FA08F5BA16C7532A00F007B5 /* delay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36437CE95936736320710513 /* delay.cpp */; }; - FA08F5BB16C7532A00F007B5 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3746164716797CF80D6B0CEE /* Exception.cpp */; }; - FA08F5BD16C7532A00F007B5 /* Matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6025618505B055A4E75DD /* Matrix.cpp */; }; - FA08F5BE16C7532A00F007B5 /* Memoizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40A0593B616A223A4CEF07C9 /* Memoizer.cpp */; }; - FA08F5BF16C7532A00F007B5 /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 30E466F441EE727658716873 /* Module.cpp */; }; - FA08F5C016C7532A00F007B5 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 411B061C49172C971C622125 /* Object.cpp */; }; - FA08F5C116C7532A00F007B5 /* Reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35B31EBC4DDB6F994BCA46B6 /* Reference.cpp */; }; - FA08F5C216C7532A00F007B5 /* runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45E761A0072E0EF92BD66EA9 /* runtime.cpp */; }; - FA08F5C316C7532A00F007B5 /* utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7D9B03C2438B748D0DE93DD5 /* utf8.cpp */; }; - FA08F5C416C7532A00F007B5 /* Variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C56375F752B7A9779DD37EC /* Variant.cpp */; }; - FA08F5C516C7532A00F007B5 /* Vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A61843B753E3F5B330703 /* Vector.cpp */; }; - FA08F5C616C7532A00F007B5 /* wrap_Data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5ED732200E1B2E5F79831DDA /* wrap_Data.cpp */; }; - FA08F5C716C7533C00F007B5 /* b2BroadPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B5F4DF8110020A96B5D3EAB /* b2BroadPhase.cpp */; }; - FA08F5C816C7533C00F007B5 /* b2CollideCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E7A068041FD553876712F05 /* b2CollideCircle.cpp */; }; - FA08F5C916C7533C00F007B5 /* b2CollideEdge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B036C7C5A8832AE53BB1C06 /* b2CollideEdge.cpp */; }; - FA08F5CA16C7533C00F007B5 /* b2CollidePolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 427B4B2517C0516844370E3D /* b2CollidePolygon.cpp */; }; - FA08F5CB16C7533C00F007B5 /* b2Collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 32CC11481CD9164455455D72 /* b2Collision.cpp */; }; - FA08F5CC16C7533C00F007B5 /* b2Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 175A1B8D733B2D4803F64AC1 /* b2Distance.cpp */; }; - FA08F5CD16C7533C00F007B5 /* b2DynamicTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59D27EA33E8E62E15C185948 /* b2DynamicTree.cpp */; }; - FA08F5CE16C7533C00F007B5 /* b2TimeOfImpact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F0D375C38A245E403E53DB5 /* b2TimeOfImpact.cpp */; }; - FA08F5CF16C7534400F007B5 /* b2ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E6705C154C34FBD143F465E /* b2ChainShape.cpp */; }; - FA08F5D016C7534400F007B5 /* b2CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08AA5965073A1C520A7A6833 /* b2CircleShape.cpp */; }; - FA08F5D116C7534400F007B5 /* b2EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 633E37194CB535AE41A00092 /* b2EdgeShape.cpp */; }; - FA08F5D216C7534400F007B5 /* b2PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08983C025D0655270DF81A5B /* b2PolygonShape.cpp */; }; - FA08F5D316C7535000F007B5 /* b2BlockAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 55A759CE711E157339930E58 /* b2BlockAllocator.cpp */; }; - FA08F5D416C7535000F007B5 /* b2Draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12390CBC115B00D06EF951DD /* b2Draw.cpp */; }; - FA08F5D516C7535000F007B5 /* b2Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2C78323D7D5C628A53EC6931 /* b2Math.cpp */; }; - FA08F5D616C7535000F007B5 /* b2Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6FF15DF4423F6426224024C9 /* b2Settings.cpp */; }; - FA08F5D716C7535000F007B5 /* b2StackAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 780D5B6358096BEB1F1336EE /* b2StackAllocator.cpp */; }; - FA08F5D816C7535000F007B5 /* b2Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 239054AE7475433E39747DA9 /* b2Timer.cpp */; }; - FA08F5D916C7536C00F007B5 /* b2Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 120B391518206E964493126C /* b2Body.cpp */; }; - FA08F5DA16C7536C00F007B5 /* b2ContactManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A6150F7479D21346EC54B68 /* b2ContactManager.cpp */; }; - FA08F5DB16C7536C00F007B5 /* b2Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 059C04C13F3A7C05570F2987 /* b2Fixture.cpp */; }; - FA08F5DC16C7536C00F007B5 /* b2Island.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59BE634A2ACE722F14B86F89 /* b2Island.cpp */; }; - FA08F5DD16C7536C00F007B5 /* b2World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0D6F00D95C4407BB26E71E02 /* b2World.cpp */; }; - FA08F5DE16C7536C00F007B5 /* b2WorldCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F8D03F1544476B57CA97B01 /* b2WorldCallbacks.cpp */; }; - FA08F5DF16C7537B00F007B5 /* b2ChainAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 468F7A0A484820DE79CE76D2 /* b2ChainAndCircleContact.cpp */; }; - FA08F5E016C7537B00F007B5 /* b2ChainAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 60C95C7F507A381D0A483B3F /* b2ChainAndPolygonContact.cpp */; }; - FA08F5E116C7537B00F007B5 /* b2CircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58792BC1126C2917432D706B /* b2CircleContact.cpp */; }; - FA08F5E216C7537B00F007B5 /* b2Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71F878E2440A021B68D93ABC /* b2Contact.cpp */; }; - FA08F5E316C7537B00F007B5 /* b2ContactSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E9E4F657DEC2772493B79CC /* b2ContactSolver.cpp */; }; - FA08F5E416C7537B00F007B5 /* b2EdgeAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1108594E361A22D90D6022E8 /* b2EdgeAndCircleContact.cpp */; }; - FA08F5E516C7537B00F007B5 /* b2EdgeAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 243E18977E2A37CC6FDD55A5 /* b2EdgeAndPolygonContact.cpp */; }; - FA08F5E616C7537B00F007B5 /* b2PolygonAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31871B8B7E1A697A73576040 /* b2PolygonAndCircleContact.cpp */; }; - FA08F5E716C7537B00F007B5 /* b2PolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F4E747212DE41716BC245C9 /* b2PolygonContact.cpp */; }; - FA08F5E816C7538F00F007B5 /* b2DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33627AE97E66147E76804EF9 /* b2DistanceJoint.cpp */; }; - FA08F5E916C7538F00F007B5 /* b2FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 13093ADC78426C5009DF3B13 /* b2FrictionJoint.cpp */; }; - FA08F5EA16C7538F00F007B5 /* b2GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A01D71103275D451F965B2 /* b2GearJoint.cpp */; }; - FA08F5EB16C7538F00F007B5 /* b2Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F1B61350B6B36AF216C57D7 /* b2Joint.cpp */; }; - FA08F5EC16C7538F00F007B5 /* b2MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A47384208BE218F688C4EFA /* b2MouseJoint.cpp */; }; - FA08F5ED16C7538F00F007B5 /* b2PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E27263847302FCA1F843B47 /* b2PrismaticJoint.cpp */; }; - FA08F5EE16C7538F00F007B5 /* b2PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66EC3C0463A703A97445193B /* b2PulleyJoint.cpp */; }; - FA08F5EF16C7538F00F007B5 /* b2RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11D62E873092729B497B447F /* b2RevoluteJoint.cpp */; }; - FA08F5F016C7538F00F007B5 /* b2RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38AF72D4790619BB022E2AEF /* b2RopeJoint.cpp */; }; - FA08F5F116C7538F00F007B5 /* b2WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BCC49F529F726385CD41FA6 /* b2WeldJoint.cpp */; }; - FA08F5F216C7538F00F007B5 /* b2WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0602250B7E4664E43CA113DC /* b2WheelJoint.cpp */; }; - FA08F5F316C7539B00F007B5 /* b2Rope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4832527C02C105776536438A /* b2Rope.cpp */; }; - FA08F5F416C753A400F007B5 /* luasocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2DC90F3C6160198256795C75 /* luasocket.cpp */; }; - FA08F5F516C753B800F007B5 /* auxiliar.c in Sources */ = {isa = PBXBuildFile; fileRef = 1CD02D1975803957282F28AB /* auxiliar.c */; }; - FA08F5F616C753B800F007B5 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 21B25A7E333315172B754D4F /* buffer.c */; }; - FA08F5F716C753B800F007B5 /* except.c in Sources */ = {isa = PBXBuildFile; fileRef = 49496EAF3305281B19223C22 /* except.c */; }; - FA08F5F816C753B800F007B5 /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = 610B475400DE0F7213352BC3 /* inet.c */; }; - FA08F5F916C753B800F007B5 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 135801A6483528800C676492 /* io.c */; }; - FA08F5FA16C753B800F007B5 /* luasocket.c in Sources */ = {isa = PBXBuildFile; fileRef = 5FAE2A9679C97F2C2792182D /* luasocket.c */; }; - FA08F5FB16C753B800F007B5 /* mime.c in Sources */ = {isa = PBXBuildFile; fileRef = 00393E4930202C2B6E381F68 /* mime.c */; }; - FA08F5FC16C753B800F007B5 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = 5F846B49240D52C10F6F76E5 /* options.c */; }; - FA08F5FD16C753B800F007B5 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = 415E1438178736BE0EA908D5 /* select.c */; }; - FA08F5FE16C753B800F007B5 /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = 22256CC12B7C7D0D1B430D46 /* tcp.c */; }; - FA08F5FF16C753B800F007B5 /* timeout.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B41232F7AF7793540F46C58 /* timeout.c */; }; - FA08F60016C753B800F007B5 /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 2E2675AF3DAA24CE0728042C /* udp.c */; }; - FA08F60116C753B800F007B5 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 734947AA28AF36E436D242FD /* unix.c */; }; - FA08F60216C753B800F007B5 /* usocket.c in Sources */ = {isa = PBXBuildFile; fileRef = 041672ED2CF51FC62F532FDB /* usocket.c */; }; - FA08F60316C753CE00F007B5 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24265680279E30A40DF81946 /* Event.cpp */; }; - FA08F60416C753CE00F007B5 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BA712260D725FEB72EB3CDE /* Event.cpp */; }; - FA08F60516C753CE00F007B5 /* wrap_Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 691C5C5828550E2F60754EF2 /* wrap_Event.cpp */; }; - FA08F60616C753DB00F007B5 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11D141087979064B441B787D /* File.cpp */; }; - FA08F60716C753DB00F007B5 /* FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62370A494F9D6E2D570065EB /* FileData.cpp */; }; - FA08F60816C753DB00F007B5 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E0F565B03D05C3722496F27 /* File.cpp */; }; - FA08F60916C753DB00F007B5 /* Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6DE3129F3A0B2D9C178118F3 /* Filesystem.cpp */; }; - FA08F60A16C753DB00F007B5 /* wrap_File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C367AE309C453C412D91363 /* wrap_File.cpp */; }; - FA08F60B16C753DB00F007B5 /* wrap_FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 597478A255B82B56488B4717 /* wrap_FileData.cpp */; }; - FA08F60C16C753DB00F007B5 /* wrap_Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E827AE8548C52493ED95629 /* wrap_Filesystem.cpp */; }; - FA08F60D16C753E700F007B5 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 714251EE742346DC17103357 /* Font.cpp */; }; - FA08F60E16C753E700F007B5 /* TrueTypeRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C30420F7FD3038C721223A5 /* TrueTypeRasterizer.cpp */; }; - FA08F60F16C753E700F007B5 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 232D67C67BEE54B776420682 /* wrap_Font.cpp */; }; - FA08F61016C753E700F007B5 /* GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 74003CB27FA762A021183AD5 /* GlyphData.cpp */; }; - FA08F61116C753E700F007B5 /* ImageRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D016F4C27EF506C13FE3058 /* ImageRasterizer.cpp */; }; - FA08F61216C753E700F007B5 /* Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B1C4E4D288A1D2F29E57B1B /* Rasterizer.cpp */; }; - FA08F61316C753E700F007B5 /* wrap_GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1B4E22F1388E2B2E76E3377B /* wrap_GlyphData.cpp */; }; - FA08F61416C753E700F007B5 /* wrap_Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11745DE315E859F71E881D76 /* wrap_Rasterizer.cpp */; }; - FA08F61716C753F600F007B5 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 03F17FF546D637744E263961 /* Graphics.cpp */; }; - FA08F61816C753F600F007B5 /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 58CC50E70A375FDF53EF01B6 /* Texture.cpp */; }; - FA08F61A16C753F600F007B5 /* Volatile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B731754147B27AF73AC5358 /* Volatile.cpp */; }; - FA08F61B16C7541400F007B5 /* Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AD52074367950B735707CE1 /* Canvas.cpp */; }; - FA08F61C16C7541400F007B5 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 583037E9238A6EF00DD20B1A /* Font.cpp */; }; - FA08F61D16C7541400F007B5 /* GLee.c in Sources */ = {isa = PBXBuildFile; fileRef = 5725505310E75ECC5044583A /* GLee.c */; }; - FA08F61E16C7541400F007B5 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 11773415762F3A38421C6DB3 /* Graphics.cpp */; }; - FA08F61F16C7541400F007B5 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 56D6030A0B8F7397715062B9 /* Image.cpp */; }; - FA08F62016C7541400F007B5 /* OpenGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E406F8328543EC63EB922C6 /* OpenGL.cpp */; }; - FA08F62116C7541400F007B5 /* ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A206C9004150640C432100 /* ParticleSystem.cpp */; }; - FA08F62316C7541400F007B5 /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA577A8516C71CF000860150 /* Shader.cpp */; }; - FA08F62416C7541400F007B5 /* SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D700D182EAA46273D1E2CC4 /* SpriteBatch.cpp */; }; - FA08F62516C7541400F007B5 /* VertexBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 426B1C4475DC54505B824B7F /* VertexBuffer.cpp */; }; - FA08F62616C7541400F007B5 /* wrap_Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E3251027026699A1D4D310D /* wrap_Canvas.cpp */; }; - FA08F62716C7541400F007B5 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A3B52AF1FBE73FC36AD50C8 /* wrap_Font.cpp */; }; - FA08F62816C7541400F007B5 /* wrap_Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A9810F758AC1D1E4B6431FD /* wrap_Graphics.cpp */; }; - FA08F62916C7541400F007B5 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AE68E14C2C74526A612FA0 /* wrap_Image.cpp */; }; - FA08F62A16C7541400F007B5 /* wrap_ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5F42052D7C8271A1105541DE /* wrap_ParticleSystem.cpp */; }; - FA08F62C16C7541400F007B5 /* wrap_Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA577A8716C71CF000860150 /* wrap_Shader.cpp */; }; - FA08F62D16C7541400F007B5 /* wrap_SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02C16FDB537A702F4D42534E /* wrap_SpriteBatch.cpp */; }; - FA08F62E16C7542600F007B5 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78115E763B723C0C40AD47CF /* ImageData.cpp */; }; - FA08F62F16C7542600F007B5 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 505F23A73BFE250833D650E4 /* Image.cpp */; }; - FA08F63016C7542600F007B5 /* DevilHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AA7781A230065F346E2313A /* DevilHandler.cpp */; }; - FA08F63116C7542600F007B5 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0B0728FA73B107B37A956A09 /* wrap_Image.cpp */; }; - FA08F63216C7542600F007B5 /* wrap_ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 076840774B0B6E721D0C18D0 /* wrap_ImageData.cpp */; }; - FA08F63416C7542D00F007B5 /* JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 55B425307C0C1C4B3EFC3A5F /* JoystickModule.cpp */; }; - FA08F63516C7542D00F007B5 /* wrap_JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 139411436818381E493F00F5 /* wrap_JoystickModule.cpp */; }; - FA08F63616C7543400F007B5 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 524741891BB93848039F4174 /* Keyboard.cpp */; }; - FA08F63716C7543400F007B5 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43BC2B1C505E5EFF650C31E3 /* Keyboard.cpp */; }; - FA08F63816C7543400F007B5 /* wrap_Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19F40DF6507028212FEB1D77 /* wrap_Keyboard.cpp */; }; - FA08F63916C7543A00F007B5 /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19ED419874B46EC16F927524 /* love.cpp */; }; - FA08F63A16C7544300F007B5 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31E0110E5797041465FF5F95 /* Mouse.cpp */; }; - FA08F63B16C7544300F007B5 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 584E16AE09E12536206C46FE /* Mouse.cpp */; }; - FA08F63C16C7544300F007B5 /* wrap_Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22EF17981EBD442773FE41B6 /* wrap_Mouse.cpp */; }; - FA08F63D16C7544B00F007B5 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2DCE45C868A0091B762C7377 /* Body.cpp */; }; - FA08F63E16C7544B00F007B5 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69DB4423147C7E3362941E75 /* Joint.cpp */; }; - FA08F63F16C7544B00F007B5 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70F425B5336E1CD652827FD0 /* Shape.cpp */; }; - FA08F64016C7546400F007B5 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 089B1AC1248B21D336594457 /* Body.cpp */; }; - FA08F64116C7546400F007B5 /* ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0959542C4B54320B1DDD5911 /* ChainShape.cpp */; }; - FA08F64216C7546400F007B5 /* CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DAB28A9235E2CBE75F56848 /* CircleShape.cpp */; }; - FA08F64316C7546400F007B5 /* Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02CD63315FF902E336AB4657 /* Contact.cpp */; }; - FA08F64416C7546400F007B5 /* DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 34A36BB617BC5CCA5B870EA6 /* DistanceJoint.cpp */; }; - FA08F64516C7546400F007B5 /* EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 755C2B980C106EA7423E7E5E /* EdgeShape.cpp */; }; - FA08F64616C7546400F007B5 /* Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47C77F6032FA77E046AA6810 /* Fixture.cpp */; }; - FA08F64716C7546400F007B5 /* FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E22646A710E5EFC27FE3932 /* FrictionJoint.cpp */; }; - FA08F64816C7546400F007B5 /* GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F4D478A52A0408765095920 /* GearJoint.cpp */; }; - FA08F64916C7546400F007B5 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA80A4E0CE0014052076037 /* Joint.cpp */; }; - FA08F64A16C7546400F007B5 /* MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C0B06AF6B5326C840477B18 /* MouseJoint.cpp */; }; - FA08F64B16C7546400F007B5 /* Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 370D76DC224F2EB300CB4E2F /* Physics.cpp */; }; - FA08F64C16C7546400F007B5 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54E85987318206E93DC8189F /* PolygonShape.cpp */; }; - FA08F64D16C7546400F007B5 /* PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0AE5755936E84C247FB56C65 /* PrismaticJoint.cpp */; }; - FA08F64E16C7546400F007B5 /* PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB720BA493D7D995E0E20DD /* PulleyJoint.cpp */; }; - FA08F64F16C7546400F007B5 /* RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36DD053F754B2D29719B1F80 /* RevoluteJoint.cpp */; }; - FA08F65016C7546400F007B5 /* RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53C4064801456193163E4631 /* RopeJoint.cpp */; }; - FA08F65116C7546400F007B5 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61E64F07028039774F502D69 /* Shape.cpp */; }; - FA08F65216C7547300F007B5 /* WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78E50525407567F863476E27 /* WeldJoint.cpp */; }; - FA08F65316C7547300F007B5 /* WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 44DE79C879CC0074510A2403 /* WheelJoint.cpp */; }; - FA08F65416C7547300F007B5 /* World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 644D0C953C3439FC57C03FC6 /* World.cpp */; }; - FA08F65516C7547300F007B5 /* wrap_Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 64694F91593478085859666F /* wrap_Body.cpp */; }; - FA08F65616C7547300F007B5 /* wrap_ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1CAA69E00D0808BA2108238B /* wrap_ChainShape.cpp */; }; - FA08F65716C7547300F007B5 /* wrap_CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF321185C2B1F1E1AF54F64 /* wrap_CircleShape.cpp */; }; - FA08F65816C7547300F007B5 /* wrap_Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BB22A142670197B0DBD0BED /* wrap_Contact.cpp */; }; - FA08F65916C7547300F007B5 /* wrap_DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69967D2323404E1F0ED21F11 /* wrap_DistanceJoint.cpp */; }; - FA08F65A16C7547300F007B5 /* wrap_EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40F412FF29F65F5A3D511B98 /* wrap_EdgeShape.cpp */; }; - FA08F65B16C7547300F007B5 /* wrap_Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F796B7A3362196075C62E61 /* wrap_Fixture.cpp */; }; - FA08F65C16C7547300F007B5 /* wrap_FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 340345481F165F8945C716AE /* wrap_FrictionJoint.cpp */; }; - FA08F65D16C7548200F007B5 /* wrap_GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50B67F2D0CC511706810302E /* wrap_GearJoint.cpp */; }; - FA08F65E16C7548200F007B5 /* wrap_Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 71810207414B52F8340D7797 /* wrap_Joint.cpp */; }; - FA08F65F16C7548200F007B5 /* wrap_MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D81102E7ABD1C282BE42CE3 /* wrap_MouseJoint.cpp */; }; - FA08F66016C7548200F007B5 /* wrap_Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CEB48E969FC42C53F9432B1 /* wrap_Physics.cpp */; }; - FA08F66116C7548200F007B5 /* wrap_PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3AD03C7A77C546ED07BE4C06 /* wrap_PolygonShape.cpp */; }; - FA08F66216C7548200F007B5 /* wrap_PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0B4020CD058D70F569DF6129 /* wrap_PrismaticJoint.cpp */; }; - FA08F66316C7548200F007B5 /* wrap_PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E840AF84AB61C6410E26634 /* wrap_PulleyJoint.cpp */; }; - FA08F66416C7548200F007B5 /* wrap_RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F3A277A44141DBF7BCF146A /* wrap_RevoluteJoint.cpp */; }; - FA08F66516C7548200F007B5 /* wrap_RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0E3E13BC3E3A7C0C7DBE7DF8 /* wrap_RopeJoint.cpp */; }; - FA08F66616C7548200F007B5 /* wrap_Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 124E716E0BCA055534A60AD2 /* wrap_Shape.cpp */; }; - FA08F66716C7548200F007B5 /* wrap_WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DFF31EE26405E554C610C8F /* wrap_WeldJoint.cpp */; }; - FA08F66816C7548200F007B5 /* wrap_WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 73473B3C698B538002540A5D /* wrap_WheelJoint.cpp */; }; - FA08F66916C7548200F007B5 /* wrap_World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36324E12371E518E6E9C61B5 /* wrap_World.cpp */; }; - FA08F66A16C7549200F007B5 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 30ED4BB03C5F11254AF12E98 /* Sound.cpp */; }; - FA08F66B16C7549200F007B5 /* SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C5C6C6E47851D1308411DE6 /* SoundData.cpp */; }; - FA08F66C16C7549200F007B5 /* wrap_Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CF629B94C7802D446D61C45 /* wrap_Decoder.cpp */; }; - FA08F66D16C7549200F007B5 /* wrap_Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 385902BD584E7D73154E4EBB /* wrap_Sound.cpp */; }; - FA08F66E16C7549200F007B5 /* wrap_SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DC3617831763D2760335D87 /* wrap_SoundData.cpp */; }; - FA08F66F16C754A100F007B5 /* Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E15567759041CC379292BE6 /* Decoder.cpp */; }; - FA08F67016C754A100F007B5 /* FLACDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A774BC26B7235E410D40C8E /* FLACDecoder.cpp */; }; - FA08F67116C754A100F007B5 /* GmeDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 02F0197227150E1B28D9425B /* GmeDecoder.cpp */; }; - FA08F67216C754A100F007B5 /* ModPlugDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 407422E8589417B6683D1042 /* ModPlugDecoder.cpp */; }; - FA08F67316C754A100F007B5 /* Mpg123Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F875B224C4E1B9E35854766 /* Mpg123Decoder.cpp */; }; - FA08F67416C754A100F007B5 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F7DCB40652F9B7D61073A /* Sound.cpp */; }; - FA08F67516C754A100F007B5 /* VorbisDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 727648E06CD863A2582F798F /* VorbisDecoder.cpp */; }; - FA08F67716C754A900F007B5 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B3565203A1778431F8A5409 /* threads.cpp */; }; - FA08F67916C754B100F007B5 /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 113269E55FCF208D2D6754BC /* Timer.cpp */; }; - FA08F67A16C754B100F007B5 /* wrap_Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 695E4ED13AA0689E64280573 /* wrap_Timer.cpp */; }; - FA08F67B16C754BA00F007B5 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 351B09E51FDC338622F44624 /* Window.cpp */; }; - FA08F67C16C754BA00F007B5 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CDD4F3320303D222C180CD0 /* Window.cpp */; }; - FA0A4BF0182E0C2800E1E4D2 /* b2MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0A4BEE182E0C2800E1E4D2 /* b2MotorJoint.cpp */; }; - FA0A4BF1182E0C2800E1E4D2 /* b2MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0A4BEF182E0C2800E1E4D2 /* b2MotorJoint.h */; }; - FA0A4BF4182E1AD600E1E4D2 /* MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0A4BF2182E1AD600E1E4D2 /* MotorJoint.cpp */; }; - FA0A4BF5182E1AD600E1E4D2 /* MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0A4BF3182E1AD600E1E4D2 /* MotorJoint.h */; }; - FA0A4BF9182E260200E1E4D2 /* wrap_MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0A4BF7182E260200E1E4D2 /* wrap_MotorJoint.h */; }; - FA0A4BFA182E26F500E1E4D2 /* wrap_MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0A4BF6182E260200E1E4D2 /* wrap_MotorJoint.cpp */; }; - FA0CDE3D1710F9A50056E8D7 /* FormatHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0CDE3B1710F9A50056E8D7 /* FormatHandler.h */; }; - FA1EF7C41799FEAC00FF380C /* wrap_System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA34E7D4174B55AF00E04D3F /* wrap_System.cpp */; }; - FA1EF7C51799FEB200FF380C /* wrap_System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA34E7D5174B55AF00E04D3F /* wrap_System.h */; }; - FA34E7CD174B513F00E04D3F /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA34E7CB174B513F00E04D3F /* System.cpp */; }; - FA34E7CE174B513F00E04D3F /* System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA34E7CC174B513F00E04D3F /* System.h */; }; - FA34E7D2174B515D00E04D3F /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA34E7D0174B515D00E04D3F /* System.cpp */; }; - FA34E7D3174B515D00E04D3F /* System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA34E7D1174B515D00E04D3F /* System.h */; }; - FA3D9E0D16E68DE600CA6630 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA3D9E0B16E68DE600CA6630 /* Cursor.cpp */; }; - FA3D9E0E16E68DE600CA6630 /* Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA3D9E0C16E68DE600CA6630 /* Cursor.h */; }; - FA3D9E1116E68EAE00CA6630 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA3D9E0F16E68EAE00CA6630 /* Cursor.cpp */; }; - FA3D9E1216E68EAE00CA6630 /* Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA3D9E1016E68EAE00CA6630 /* Cursor.h */; }; - FA3D9E1516E6D41100CA6630 /* wrap_Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA3D9E1316E6D41000CA6630 /* wrap_Cursor.cpp */; }; - FA3D9E1616E6D41100CA6630 /* wrap_Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA3D9E1416E6D41000CA6630 /* wrap_Cursor.h */; }; - FA435EA317B36E9C004C3F22 /* Polyline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA435EA117B36E9C004C3F22 /* Polyline.cpp */; }; - FA435EA417B36E9C004C3F22 /* Polyline.h in Headers */ = {isa = PBXBuildFile; fileRef = FA435EA217B36E9C004C3F22 /* Polyline.h */; }; - FA5454C216F1310000D30303 /* MathModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA5454C016F1310000D30303 /* MathModule.cpp */; }; - FA5454C316F1310000D30303 /* MathModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5454C116F1310000D30303 /* MathModule.h */; }; - FA577AB016C7507900860150 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7916C71A1700860150 /* Cocoa.framework */; }; - FA577AC216C7512D00860150 /* FreeType.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6716C719D900860150 /* FreeType.framework */; }; - FA577AC416C7513200860150 /* IL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6916C719DE00860150 /* IL.framework */; }; - FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A8216C71A5300860150 /* libmodplug.framework */; }; - FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6F16C719F000860150 /* mpg123.framework */; }; - FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7116C719F400860150 /* Ogg.framework */; }; - FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7C16C71A2600860150 /* OpenGL.framework */; }; - FA577ACB16C7514400860150 /* physfs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7316C719F900860150 /* physfs.framework */; }; - FA577ACD16C7514C00860150 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7716C71A0800860150 /* Vorbis.framework */; }; - FA5FDC791788D548002F0ED2 /* enet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC5F1788D548002F0ED2 /* enet.cpp */; }; - FA5FDC7A1788D548002F0ED2 /* callbacks.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC611788D548002F0ED2 /* callbacks.c */; }; - FA5FDC7C1788D548002F0ED2 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC631788D548002F0ED2 /* compress.c */; }; - FA5FDC7D1788D548002F0ED2 /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC641788D548002F0ED2 /* host.c */; }; - FA5FDC7E1788D548002F0ED2 /* callbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC671788D548002F0ED2 /* callbacks.h */; }; - FA5FDC7F1788D548002F0ED2 /* enet.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC681788D548002F0ED2 /* enet.h */; }; - FA5FDC801788D548002F0ED2 /* list.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC691788D548002F0ED2 /* list.h */; }; - FA5FDC811788D548002F0ED2 /* protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6A1788D548002F0ED2 /* protocol.h */; }; - FA5FDC821788D548002F0ED2 /* time.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6B1788D548002F0ED2 /* time.h */; }; - FA5FDC831788D548002F0ED2 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6C1788D548002F0ED2 /* types.h */; }; - FA5FDC841788D548002F0ED2 /* unix.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6D1788D548002F0ED2 /* unix.h */; }; - FA5FDC851788D548002F0ED2 /* utility.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6E1788D548002F0ED2 /* utility.h */; }; - FA5FDC861788D548002F0ED2 /* win32.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC6F1788D548002F0ED2 /* win32.h */; }; - FA5FDC881788D548002F0ED2 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC711788D548002F0ED2 /* list.c */; }; - FA5FDC891788D548002F0ED2 /* packet.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC721788D548002F0ED2 /* packet.c */; }; - FA5FDC8A1788D548002F0ED2 /* peer.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC731788D548002F0ED2 /* peer.c */; }; - FA5FDC8B1788D548002F0ED2 /* protocol.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC741788D548002F0ED2 /* protocol.c */; }; - FA5FDC8D1788D548002F0ED2 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC761788D548002F0ED2 /* unix.c */; }; - FA5FDC8E1788D548002F0ED2 /* win32.c in Sources */ = {isa = PBXBuildFile; fileRef = FA5FDC771788D548002F0ED2 /* win32.c */; }; - FA5FDC8F1788D548002F0ED2 /* lua-enet.h in Headers */ = {isa = PBXBuildFile; fileRef = FA5FDC781788D548002F0ED2 /* lua-enet.h */; }; - FA636D8A171B70920065623F /* RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA636D88171B70920065623F /* RandomGenerator.cpp */; }; - FA636D8B171B70920065623F /* RandomGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA636D89171B70920065623F /* RandomGenerator.h */; }; - FA636D8E171B72A70065623F /* wrap_RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA636D8C171B72A70065623F /* wrap_RandomGenerator.cpp */; }; - FA636D8F171B72A70065623F /* wrap_RandomGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA636D8D171B72A70065623F /* wrap_RandomGenerator.h */; }; - FA7175AA178E8418001FE7FE /* lua.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7175A9178E8418001FE7FE /* lua.h */; }; - FA7AA59217F6AC1F00704BE2 /* wrap_Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA7AA59017F6AC1F00704BE2 /* wrap_Mesh.cpp */; }; - FA7AA59317F6AC1F00704BE2 /* wrap_Mesh.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7AA59117F6AC1F00704BE2 /* wrap_Mesh.h */; }; - FA7C937A16DCC6C2006F2BEE /* wrap_Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA7C937516DCC6C2006F2BEE /* wrap_Math.cpp */; }; - FA7C937B16DCC6C2006F2BEE /* wrap_Math.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7C937616DCC6C2006F2BEE /* wrap_Math.h */; }; - FA9B492A1875EFB900201DA9 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA9B49281875EFB900201DA9 /* Texture.h */; }; - FA9B4A0816E1578300074F42 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0716E1578300074F42 /* SDL2.framework */; }; - FA9FC0B0173D6E3E005027FF /* wrap_Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA9FC0AE173D6E3E005027FF /* wrap_Window.cpp */; }; - FA9FC0B1173D6E3E005027FF /* wrap_Window.h in Headers */ = {isa = PBXBuildFile; fileRef = FA9FC0AF173D6E3E005027FF /* wrap_Window.h */; }; - FAA0A45E1A704016009487CB /* lprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA0A45C1A704016009487CB /* lprefix.h */; }; - FAA0A45F1A704016009487CB /* lutf8lib.c in Sources */ = {isa = PBXBuildFile; fileRef = FAA0A45D1A704016009487CB /* lutf8lib.c */; }; - FAA0A4611A70431A009487CB /* lutf8lib.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA0A4601A70431A009487CB /* lutf8lib.h */; }; - FAA627CE18E7E1560080752D /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAA627CD18E7E1560080752D /* CoreServices.framework */; }; - FAAC6B02170A373B008A61C5 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAAC6B00170A373A008A61C5 /* CompressedData.cpp */; }; - FAAC6B03170A373B008A61C5 /* CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FAAC6B01170A373A008A61C5 /* CompressedData.h */; }; - FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */; }; - FAB0078F1740C12D00A9664D /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAB0078D1740C12D00A9664D /* Joystick.cpp */; }; - FAB007901740C12D00A9664D /* Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB0078E1740C12D00A9664D /* Joystick.h */; }; - FAB007931740C28900A9664D /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAB007911740C28900A9664D /* Joystick.cpp */; }; - FAB007941740C28900A9664D /* Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB007921740C28900A9664D /* Joystick.h */; }; - FAB007971740C87D00A9664D /* wrap_Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAB007951740C87D00A9664D /* wrap_Joystick.cpp */; }; - FAB007981740C87D00A9664D /* wrap_Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB007961740C87D00A9664D /* wrap_Joystick.h */; }; - FAC5710017402D1100D147E4 /* BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC570FC17402D1100D147E4 /* BezierCurve.cpp */; }; - FAC5710117402D1100D147E4 /* BezierCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC570FD17402D1100D147E4 /* BezierCurve.h */; }; - FAC5710217402D1100D147E4 /* wrap_BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC570FE17402D1100D147E4 /* wrap_BezierCurve.cpp */; }; - FAC5710317402D1100D147E4 /* wrap_BezierCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC570FF17402D1100D147E4 /* wrap_BezierCurve.h */; }; - FAC86E631724552C00EED715 /* wrap_Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC86E611724552C00EED715 /* wrap_Quad.cpp */; }; - FAC86E641724552C00EED715 /* wrap_Quad.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC86E621724552C00EED715 /* wrap_Quad.h */; }; - FAC86E6B1724555D00EED715 /* Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAC86E671724555D00EED715 /* Quad.cpp */; }; - FAC86E6C1724555D00EED715 /* Quad.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC86E681724555D00EED715 /* Quad.h */; }; - FAD8E84F1A7C949B0084E24D /* Vera.ttf.h in Headers */ = {isa = PBXBuildFile; fileRef = FAD8E84E1A7C949B0084E24D /* Vera.ttf.h */; }; - FADD58DD18C30367005FC3BF /* FormatHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FADD58DC18C30367005FC3BF /* FormatHandler.cpp */; }; - FAE010DB170DDE99006F29D0 /* ddsinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE010D8170DDE99006F29D0 /* ddsinfo.h */; }; - FAE010DC170DDE99006F29D0 /* ddsparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAE010D9170DDE99006F29D0 /* ddsparse.cpp */; }; - FAE010DD170DDE99006F29D0 /* ddsparse.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE010DA170DDE99006F29D0 /* ddsparse.h */; }; - FAE010E0170DE25E006F29D0 /* ddsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAE010DE170DE25E006F29D0 /* ddsHandler.cpp */; }; - FAE010E1170DE25E006F29D0 /* ddsHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE010DF170DE25E006F29D0 /* ddsHandler.h */; }; - FAE010E4170DF75C006F29D0 /* wrap_CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAE010E2170DF75B006F29D0 /* wrap_CompressedData.cpp */; }; - FAE010E5170DF75C006F29D0 /* wrap_CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE010E3170DF75C006F29D0 /* wrap_CompressedData.h */; }; - FAEC808A1710FEA60057279A /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAEC80881710FEA60057279A /* ImageData.cpp */; }; - FAEC808B1710FEA60057279A /* ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = FAEC80891710FEA60057279A /* ImageData.h */; }; - FAEC808E1711E76C0057279A /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAEC808C1711E76C0057279A /* CompressedData.cpp */; }; - FAEC808F1711E76C0057279A /* CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FAEC808D1711E76C0057279A /* CompressedData.h */; }; - FAF272A416E3D44400CC193A /* Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF2729816E3D44400CC193A /* Channel.cpp */; }; - FAF272A516E3D44400CC193A /* Channel.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF2729916E3D44400CC193A /* Channel.h */; }; - FAF272A616E3D44400CC193A /* LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF2729A16E3D44400CC193A /* LuaThread.cpp */; }; - FAF272A716E3D44400CC193A /* LuaThread.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF2729B16E3D44400CC193A /* LuaThread.h */; }; - FAF272A816E3D44400CC193A /* ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF2729C16E3D44400CC193A /* ThreadModule.cpp */; }; - FAF272A916E3D44400CC193A /* ThreadModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF2729D16E3D44400CC193A /* ThreadModule.h */; }; - FAF272AA16E3D44400CC193A /* wrap_Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF2729E16E3D44400CC193A /* wrap_Channel.cpp */; }; - FAF272AB16E3D44400CC193A /* wrap_Channel.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF2729F16E3D44400CC193A /* wrap_Channel.h */; }; - FAF272AC16E3D44400CC193A /* wrap_LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF272A016E3D44400CC193A /* wrap_LuaThread.cpp */; }; - FAF272AD16E3D44400CC193A /* wrap_LuaThread.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF272A116E3D44400CC193A /* wrap_LuaThread.h */; }; - FAF272AE16E3D44400CC193A /* wrap_ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF272A216E3D44400CC193A /* wrap_ThreadModule.cpp */; }; - FAF272AF16E3D44400CC193A /* wrap_ThreadModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF272A316E3D44400CC193A /* wrap_ThreadModule.h */; }; - FAF272B516E3D46400CC193A /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF272B116E3D46400CC193A /* Thread.cpp */; }; - FAF272B616E3D46400CC193A /* Thread.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF272B216E3D46400CC193A /* Thread.h */; }; - FAF272B716E3D46400CC193A /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF272B316E3D46400CC193A /* threads.cpp */; }; - FAF272B816E3D46400CC193A /* threads.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF272B416E3D46400CC193A /* threads.h */; }; - FAF4376F17F4AC530074F9E2 /* Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF4376D17F4AC530074F9E2 /* Mesh.cpp */; }; - FAF4377017F4AC530074F9E2 /* Mesh.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF4376E17F4AC530074F9E2 /* Mesh.h */; }; - FAF6704C18184FF800DBDEEA /* wuff.c in Sources */ = {isa = PBXBuildFile; fileRef = FAF6704418184FF800DBDEEA /* wuff.c */; }; - FAF6704D18184FF800DBDEEA /* wuff.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF6704518184FF800DBDEEA /* wuff.h */; }; - FAF6704E18184FF800DBDEEA /* wuff_config.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF6704618184FF800DBDEEA /* wuff_config.h */; }; - FAF6704F18184FF800DBDEEA /* wuff_convert.c in Sources */ = {isa = PBXBuildFile; fileRef = FAF6704718184FF800DBDEEA /* wuff_convert.c */; }; - FAF6705018184FF800DBDEEA /* wuff_convert.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF6704818184FF800DBDEEA /* wuff_convert.h */; }; - FAF6705118184FF800DBDEEA /* wuff_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = FAF6704918184FF800DBDEEA /* wuff_internal.c */; }; - FAF6705218184FF800DBDEEA /* wuff_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF6704A18184FF800DBDEEA /* wuff_internal.h */; }; - FAF6705318184FF800DBDEEA /* wuff_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = FAF6704B18184FF800DBDEEA /* wuff_memory.c */; }; - FAF670561818501300DBDEEA /* WaveDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FAF670541818501300DBDEEA /* WaveDecoder.cpp */; }; - FAF670571818501300DBDEEA /* WaveDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF670551818501300DBDEEA /* WaveDecoder.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 001F02BC119E349012652C17 /* wrap_Data.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Data.h; sourceTree = ""; }; - 003142374F3D40A518716024 /* wrap_Keyboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Keyboard.h; sourceTree = ""; }; - 00393E4930202C2B6E381F68 /* mime.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mime.c; sourceTree = ""; }; - 006B015320155B4D42B43B61 /* wrap_Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Image.h; sourceTree = ""; }; - 00744BD73BFE3F591537728F /* Shape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = ""; }; - 00D329851B1E7F6A3AF9614E /* tcp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tcp.h; sourceTree = ""; }; - 02662CBC29B954295A634A39 /* wrap_Source.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Source.cpp; sourceTree = ""; }; - 02C16FDB537A702F4D42534E /* wrap_SpriteBatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_SpriteBatch.cpp; sourceTree = ""; }; - 02CA1BE908D91B104EB9590F /* wrap_Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Audio.cpp; sourceTree = ""; }; - 02CD63315FF902E336AB4657 /* Contact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Contact.cpp; sourceTree = ""; }; - 02F0197227150E1B28D9425B /* GmeDecoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GmeDecoder.cpp; sourceTree = ""; }; - 02F064F5202E34F5718352B8 /* wrap_Shape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Shape.h; sourceTree = ""; }; - 034144EE6C33421377674516 /* b2Distance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Distance.h; sourceTree = ""; }; - 03F17FF546D637744E263961 /* Graphics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Graphics.cpp; sourceTree = ""; }; - 041672ED2CF51FC62F532FDB /* usocket.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = usocket.c; sourceTree = ""; }; - 047815B73C1C5373551442A6 /* wrap_Joint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Joint.h; sourceTree = ""; }; - 048C39D14DA05F5843FE08CA /* ftp.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ftp.lua.h; sourceTree = ""; }; - 057A3770539D25AE6C8F20D3 /* Keyboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Keyboard.h; sourceTree = ""; }; - 059C04C13F3A7C05570F2987 /* b2Fixture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Fixture.cpp; sourceTree = ""; }; - 05DF237B657042515F3B4E52 /* wrap_Graphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Graphics.h; sourceTree = ""; }; - 0602250B7E4664E43CA113DC /* b2WheelJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2WheelJoint.cpp; sourceTree = ""; }; - 065364DB7A29396C777213D0 /* Joint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Joint.h; sourceTree = ""; }; - 076840774B0B6E721D0C18D0 /* wrap_ImageData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ImageData.cpp; sourceTree = ""; }; - 079504CB332E415D4B27797B /* b2Body.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Body.h; sourceTree = ""; }; - 07B301984BE42246402F7D27 /* ImageData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = ""; }; - 085B376E3FBB254F0FD37958 /* Matrix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Matrix.h; sourceTree = ""; }; - 086B4A4E025B4B5F606747A2 /* b2DistanceJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2DistanceJoint.h; sourceTree = ""; }; - 08983C025D0655270DF81A5B /* b2PolygonShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonShape.cpp; sourceTree = ""; }; - 089B1AC1248B21D336594457 /* Body.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Body.cpp; sourceTree = ""; }; - 08AA5965073A1C520A7A6833 /* b2CircleShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2CircleShape.cpp; sourceTree = ""; }; - 08D24B70441A2496160C0849 /* Rasterizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Rasterizer.h; sourceTree = ""; }; - 090F537B70DA06EA0B29593F /* b2Settings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Settings.h; sourceTree = ""; }; - 0959542C4B54320B1DDD5911 /* ChainShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ChainShape.cpp; sourceTree = ""; }; - 09C71F9D7DC45F5765B2462B /* socket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = ""; }; - 0A063D006D52330E67FF4B3A /* b2PolygonContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2PolygonContact.h; sourceTree = ""; }; - 0A0A2DA4094130187F655E52 /* b2Math.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Math.h; sourceTree = ""; }; - 0A420541704C1C2D718A4D20 /* b2EdgeAndCircleContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2EdgeAndCircleContact.h; sourceTree = ""; }; - 0A936C83344E2CF84E703059 /* PulleyJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PulleyJoint.h; sourceTree = ""; }; - 0AA1539E66B2641B66130709 /* b2MouseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2MouseJoint.h; sourceTree = ""; }; - 0AE5755936E84C247FB56C65 /* PrismaticJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PrismaticJoint.cpp; sourceTree = ""; }; - 0AFB7DA45B2D6913110A5AAB /* wrap_WheelJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_WheelJoint.h; sourceTree = ""; }; - 0B0728FA73B107B37A956A09 /* wrap_Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Image.cpp; sourceTree = ""; }; - 0B4020CD058D70F569DF6129 /* wrap_PrismaticJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PrismaticJoint.cpp; sourceTree = ""; }; - 0B727D416262392743091BC3 /* TrueTypeRasterizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TrueTypeRasterizer.h; sourceTree = ""; }; - 0B930B8571276AA86AB87D80 /* GLee.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GLee.h; sourceTree = ""; }; - 0BEB72033ACA25550ADA76C4 /* b64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b64.h; sourceTree = ""; }; - 0C30420F7FD3038C721223A5 /* TrueTypeRasterizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TrueTypeRasterizer.cpp; sourceTree = ""; }; - 0C5C6C6E47851D1308411DE6 /* SoundData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SoundData.cpp; sourceTree = ""; }; - 0CB6025618505B055A4E75DD /* Matrix.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Matrix.cpp; sourceTree = ""; }; - 0CFF64090F0F4F481BB80CF0 /* Volatile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Volatile.h; sourceTree = ""; }; - 0D6F00D95C4407BB26E71E02 /* b2World.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2World.cpp; sourceTree = ""; }; - 0E3E13BC3E3A7C0C7DBE7DF8 /* wrap_RopeJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RopeJoint.cpp; sourceTree = ""; }; - 0E755DCF691828CE11444877 /* b2PolygonShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2PolygonShape.h; sourceTree = ""; }; - 0EA87794395D3B287C5949AA /* wrap_FrictionJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_FrictionJoint.h; sourceTree = ""; }; - 0EB870A1180261FD424A41B3 /* Shape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = ""; }; - 0F0E666B7C790BB870477994 /* b2BlockAllocator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2BlockAllocator.h; sourceTree = ""; }; - 0F8D03F1544476B57CA97B01 /* b2WorldCallbacks.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2WorldCallbacks.cpp; sourceTree = ""; }; - 104144AB73A974BC04A03131 /* graphics.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = graphics.lua.h; sourceTree = ""; }; - 104D5534669B772556942891 /* PrismaticJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrismaticJoint.h; sourceTree = ""; }; - 104D567660003ADE696D341A /* Source.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; - 10A608C96F067F972C962EFB /* love.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = love.h; sourceTree = ""; }; - 10F83B5848B77A937C250FEB /* b2Joint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Joint.h; sourceTree = ""; }; - 1108594E361A22D90D6022E8 /* b2EdgeAndCircleContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeAndCircleContact.cpp; sourceTree = ""; }; - 112814480BBF2ED06EED15BF /* GlyphData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GlyphData.h; sourceTree = ""; }; - 113269E55FCF208D2D6754BC /* Timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Timer.cpp; sourceTree = ""; }; - 11745DE315E859F71E881D76 /* wrap_Rasterizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Rasterizer.cpp; sourceTree = ""; }; - 11773415762F3A38421C6DB3 /* Graphics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Graphics.cpp; sourceTree = ""; }; - 11CF30E73CEA2D8D0A1B17D3 /* b2DynamicTree.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2DynamicTree.h; sourceTree = ""; }; - 11D141087979064B441B787D /* File.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = File.cpp; sourceTree = ""; }; - 11D62E873092729B497B447F /* b2RevoluteJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2RevoluteJoint.cpp; sourceTree = ""; }; - 120B391518206E964493126C /* b2Body.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Body.cpp; sourceTree = ""; }; - 12390CBC115B00D06EF951DD /* b2Draw.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Draw.cpp; sourceTree = ""; }; - 124E716E0BCA055534A60AD2 /* wrap_Shape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Shape.cpp; sourceTree = ""; }; - 13093ADC78426C5009DF3B13 /* b2FrictionJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2FrictionJoint.cpp; sourceTree = ""; }; - 131F69C3368C4B8A55EE0DAD /* wrap_WeldJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_WeldJoint.h; sourceTree = ""; }; - 135801A6483528800C676492 /* io.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = io.c; sourceTree = ""; }; - 138913BE5126483748FA43D0 /* Joint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Joint.h; sourceTree = ""; }; - 139411436818381E493F00F5 /* wrap_JoystickModule.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_JoystickModule.cpp; sourceTree = ""; }; - 14AE68E14C2C74526A612FA0 /* wrap_Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Image.cpp; sourceTree = ""; }; - 15093E1B1A14176374C81299 /* wrap_CircleShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_CircleShape.h; sourceTree = ""; }; - 153957EB332E1269671E7F4A /* b2CircleShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2CircleShape.h; sourceTree = ""; }; - 16C36B3C59A10CDC7ACE0DD4 /* http.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = http.lua.h; sourceTree = ""; }; - 174D472C1AFE594D77A0322B /* b2ChainAndCircleContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2ChainAndCircleContact.h; sourceTree = ""; }; - 175A1B8D733B2D4803F64AC1 /* b2Distance.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Distance.cpp; sourceTree = ""; }; - 17C730CB1DA01B8F0A11217C /* except.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = except.h; sourceTree = ""; }; - 17E9544103AE376210ED5BAA /* select.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = select.h; sourceTree = ""; }; - 182A781C7A2D3D2B6B8904A8 /* Data.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Data.h; sourceTree = ""; }; - 1839744763625B5D64EC70AC /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; - 18E0492204644DE929B96486 /* wrap_DistanceJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_DistanceJoint.h; sourceTree = ""; }; - 1916112F57AF56A173727464 /* Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; - 198A44BD71BB61EE517C2A39 /* Mouse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mouse.h; sourceTree = ""; }; - 19ED419874B46EC16F927524 /* love.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = love.cpp; sourceTree = ""; }; - 19F40DF6507028212FEB1D77 /* wrap_Keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Keyboard.cpp; sourceTree = ""; }; - 1A2A61843B753E3F5B330703 /* Vector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vector.cpp; sourceTree = ""; }; - 1A304E384AF2119905C01504 /* Source.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; - 1A311FC16B9C0F8D7A41580E /* wrap_Body.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Body.h; sourceTree = ""; }; - 1A95437F513E662113AC154A /* b2Rope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Rope.h; sourceTree = ""; }; - 1A9810F758AC1D1E4B6431FD /* wrap_Graphics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Graphics.cpp; sourceTree = ""; }; - 1AA213FC158815FA77C40330 /* ChainShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChainShape.h; sourceTree = ""; }; - 1AA7781A230065F346E2313A /* DevilHandler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DevilHandler.cpp; sourceTree = ""; }; - 1B036C7C5A8832AE53BB1C06 /* b2CollideEdge.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollideEdge.cpp; sourceTree = ""; }; - 1B1C4E4D288A1D2F29E57B1B /* Rasterizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Rasterizer.cpp; sourceTree = ""; }; - 1B4E22F1388E2B2E76E3377B /* wrap_GlyphData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_GlyphData.cpp; sourceTree = ""; }; - 1BCD6EE50EB8791E5A870135 /* utf8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = ""; }; - 1C5B57F87B315E39005B119F /* b2TimeOfImpact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2TimeOfImpact.h; sourceTree = ""; }; - 1CAA69E00D0808BA2108238B /* wrap_ChainShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ChainShape.cpp; sourceTree = ""; }; - 1CD02D1975803957282F28AB /* auxiliar.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = auxiliar.c; sourceTree = ""; }; - 1CE84F1F19BC2AA412C638B1 /* timeout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = timeout.h; sourceTree = ""; }; - 1DA41DFF0869489411A71AFC /* Texture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = ""; }; - 1E22646A710E5EFC27FE3932 /* FrictionJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FrictionJoint.cpp; sourceTree = ""; }; - 1E27263847302FCA1F843B47 /* b2PrismaticJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2PrismaticJoint.cpp; sourceTree = ""; }; - 1E827AE8548C52493ED95629 /* wrap_Filesystem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Filesystem.cpp; sourceTree = ""; }; - 1E840AF84AB61C6410E26634 /* wrap_PulleyJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PulleyJoint.cpp; sourceTree = ""; }; - 1E9E4F657DEC2772493B79CC /* b2ContactSolver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2ContactSolver.cpp; sourceTree = ""; }; - 1F0D375C38A245E403E53DB5 /* b2TimeOfImpact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2TimeOfImpact.cpp; sourceTree = ""; }; - 1F3A277A44141DBF7BCF146A /* wrap_RevoluteJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RevoluteJoint.cpp; sourceTree = ""; }; - 1F4E747212DE41716BC245C9 /* b2PolygonContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonContact.cpp; sourceTree = ""; }; - 1F6F652A57F8098E5CCA6F9A /* auxiliar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = auxiliar.h; sourceTree = ""; }; - 1F875B224C4E1B9E35854766 /* Mpg123Decoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Mpg123Decoder.cpp; sourceTree = ""; }; - 202650DE4F267CD3082A1B30 /* wrap_Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Font.h; sourceTree = ""; }; - 208275724C9421035EA145A4 /* MouseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MouseJoint.h; sourceTree = ""; }; - 21124F915912499179A42115 /* b2CircleContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2CircleContact.h; sourceTree = ""; }; - 219636CF6780074F7871463D /* Filesystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Filesystem.h; sourceTree = ""; }; - 21B25A7E333315172B754D4F /* buffer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = buffer.c; sourceTree = ""; }; - 21E975B81E8D701F2147658C /* wrap_Contact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Contact.h; sourceTree = ""; }; - 22256CC12B7C7D0D1B430D46 /* tcp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tcp.c; sourceTree = ""; }; - 22EF17981EBD442773FE41B6 /* wrap_Mouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Mouse.cpp; sourceTree = ""; }; - 232D67C67BEE54B776420682 /* wrap_Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Font.cpp; sourceTree = ""; }; - 23573F2F4F7D56312E663E24 /* Canvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Canvas.h; sourceTree = ""; }; - 239054AE7475433E39747DA9 /* b2Timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Timer.cpp; sourceTree = ""; }; - 23985AB32E7B463A2CB87E2C /* Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; - 23A266CD4FC729355E23606E /* b2WheelJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2WheelJoint.h; sourceTree = ""; }; - 24265680279E30A40DF81946 /* Event.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = ""; }; - 243E18977E2A37CC6FDD55A5 /* b2EdgeAndPolygonContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeAndPolygonContact.cpp; sourceTree = ""; }; - 249015D170563D85709D7B6D /* options.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = options.h; sourceTree = ""; }; - 24D758D262EA18DC15187A12 /* delay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = delay.h; sourceTree = ""; }; - 24EE059E03D8155F4BFF64D6 /* Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; - 25C325DC2128769F6C6A54C3 /* Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; - 25CE236F66F70EB3444A7CC8 /* GearJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GearJoint.h; sourceTree = ""; }; - 276C3474657D0A246F64221C /* wrap_EdgeShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_EdgeShape.h; sourceTree = ""; }; - 27F777AB188D674F30BC1829 /* wrap_World.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_World.h; sourceTree = ""; }; - 28016C9B51FE1A893DC35B66 /* Variant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Variant.h; sourceTree = ""; }; - 28024635525B077E08A73D9B /* Source.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; - 283342E174613897621A43F1 /* DevilHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DevilHandler.h; sourceTree = ""; }; - 286660042F9654F61AB90D7A /* Body.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Body.h; sourceTree = ""; }; - 2912092853050AF9785F39BE /* wrap_RevoluteJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_RevoluteJoint.h; sourceTree = ""; }; - 295C665B1E0B6B2D03CC4937 /* wrap_Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Event.h; sourceTree = ""; }; - 2A5F7DCB40652F9B7D61073A /* Sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; - 2A6150F7479D21346EC54B68 /* b2ContactManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2ContactManager.cpp; sourceTree = ""; }; - 2B8C245A21A515E86636725A /* wrap_PrismaticJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_PrismaticJoint.h; sourceTree = ""; }; - 2BE75A693BE206B22DAE1B2E /* wrap_SpriteBatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_SpriteBatch.h; sourceTree = ""; }; - 2C78323D7D5C628A53EC6931 /* b2Math.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Math.cpp; sourceTree = ""; }; - 2C87695707B046B536F347D8 /* OpenGL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenGL.h; sourceTree = ""; }; - 2C970EA7229F20934C72581D /* b2RopeJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2RopeJoint.h; sourceTree = ""; }; - 2CAE75B079B828FE6892684A /* udp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = udp.h; sourceTree = ""; }; - 2CEC5ED5211174C7583849AD /* Reference.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Reference.h; sourceTree = ""; }; - 2D290E902C451D6849051FEF /* b2WeldJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2WeldJoint.h; sourceTree = ""; }; - 2D7B7DEC4FC87878332E41B3 /* wrap_JoystickModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_JoystickModule.h; sourceTree = ""; }; - 2D8E6FAE2A100B5866E96BFF /* runtime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = runtime.h; sourceTree = ""; }; - 2D9475890CDA3D3776435622 /* Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = ""; }; - 2DC90F3C6160198256795C75 /* luasocket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = luasocket.cpp; sourceTree = ""; }; - 2DCE45C868A0091B762C7377 /* Body.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Body.cpp; sourceTree = ""; }; - 2E2675AF3DAA24CE0728042C /* udp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = udp.c; sourceTree = ""; }; - 2E406F8328543EC63EB922C6 /* OpenGL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OpenGL.cpp; sourceTree = ""; }; - 2E5C2A2F05417B294ED655E8 /* Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; - 2E9B5D9926034F9172215D5E /* Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; - 2FB732687B1669402408356D /* Source.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; - 2FD366F113387BC95125133D /* b2Shape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Shape.h; sourceTree = ""; }; - 2FF26CC52C28773750B812D9 /* PolygonShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PolygonShape.h; sourceTree = ""; }; - 30E466F441EE727658716873 /* Module.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Module.cpp; sourceTree = ""; }; - 30ED4BB03C5F11254AF12E98 /* Sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; - 31871B8B7E1A697A73576040 /* b2PolygonAndCircleContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonAndCircleContact.cpp; sourceTree = ""; }; - 31A444CF0B4E6DA450120730 /* File.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = File.h; sourceTree = ""; }; - 31B85B507F466FE158A3718E /* wrap_ImageData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_ImageData.h; sourceTree = ""; }; - 31C84D0129AE5F6044A94AC2 /* ModPlugDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ModPlugDecoder.h; sourceTree = ""; }; - 31E0110E5797041465FF5F95 /* Mouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Mouse.cpp; sourceTree = ""; }; - 325E60A57F2624766A524423 /* b2World.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2World.h; sourceTree = ""; }; - 329915E84B0B6D025DDC34A9 /* luasocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = luasocket.h; sourceTree = ""; }; - 32CC11481CD9164455455D72 /* b2Collision.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Collision.cpp; sourceTree = ""; }; - 32FD3FEE52FD1911405B3C59 /* b2BroadPhase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2BroadPhase.h; sourceTree = ""; }; - 330F59B11A5B5D1B44DC07BF /* wrap_Source.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Source.h; sourceTree = ""; }; - 33627AE97E66147E76804EF9 /* b2DistanceJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2DistanceJoint.cpp; sourceTree = ""; }; - 33FD508B0754314530A35EF3 /* StringMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StringMap.h; sourceTree = ""; }; - 340345481F165F8945C716AE /* wrap_FrictionJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_FrictionJoint.cpp; sourceTree = ""; }; - 343E66751EBA75264C3400FA /* b2Draw.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Draw.h; sourceTree = ""; }; - 34A36BB617BC5CCA5B870EA6 /* DistanceJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DistanceJoint.cpp; sourceTree = ""; }; - 350C47C774835EA552130431 /* Object.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Object.h; sourceTree = ""; }; - 3512460642B046876D687B22 /* wrap_FileData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_FileData.h; sourceTree = ""; }; - 351B09E51FDC338622F44624 /* Window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = ""; }; - 3547706F2E7D43212CB40D04 /* wrap_GlyphData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_GlyphData.h; sourceTree = ""; }; - 35B31EBC4DDB6F994BCA46B6 /* Reference.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Reference.cpp; sourceTree = ""; }; - 36324E12371E518E6E9C61B5 /* wrap_World.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_World.cpp; sourceTree = ""; }; - 36437CE95936736320710513 /* delay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = delay.cpp; sourceTree = ""; }; - 36465ABA28FB06F4333C3F07 /* ImageRasterizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageRasterizer.h; sourceTree = ""; }; - 36DD053F754B2D29719B1F80 /* RevoluteJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RevoluteJoint.cpp; sourceTree = ""; }; - 370D76DC224F2EB300CB4E2F /* Physics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Physics.cpp; sourceTree = ""; }; - 37224F6B30CA5D800B1F41F1 /* wrap_Rasterizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Rasterizer.h; sourceTree = ""; }; - 3746164716797CF80D6B0CEE /* Exception.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Exception.cpp; sourceTree = ""; }; - 385902BD584E7D73154E4EBB /* wrap_Sound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Sound.cpp; sourceTree = ""; }; - 386430B43A081E2A617B05F1 /* EnumMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnumMap.h; sourceTree = ""; }; - 389E3CEC356050A27784290E /* Graphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Graphics.h; sourceTree = ""; }; - 38AF72D4790619BB022E2AEF /* b2RopeJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2RopeJoint.cpp; sourceTree = ""; }; - 3960064616E26C0213E323E2 /* wrap_Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Sound.h; sourceTree = ""; }; - 3A430C846C642DBC14975C7C /* utf8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = ""; }; - 3AC7627D7E1458AA0D8E0522 /* b2GrowableStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2GrowableStack.h; sourceTree = ""; }; - 3AD03C7A77C546ED07BE4C06 /* wrap_PolygonShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PolygonShape.cpp; sourceTree = ""; }; - 3AFB3A18384A2D22352262B1 /* wrap_Canvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Canvas.h; sourceTree = ""; }; - 3BA712260D725FEB72EB3CDE /* Event.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = ""; }; - 3BB22A142670197B0DBD0BED /* wrap_Contact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Contact.cpp; sourceTree = ""; }; - 3C0B06AF6B5326C840477B18 /* MouseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MouseJoint.cpp; sourceTree = ""; }; - 3C4D70E82FC12A9A15EC39BA /* checked.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = checked.h; sourceTree = ""; }; - 3C56375F752B7A9779DD37EC /* Variant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Variant.cpp; sourceTree = ""; }; - 3C9253C8152355E1274814B7 /* FLACDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FLACDecoder.h; sourceTree = ""; }; - 3C965422252F672D3FF6598C /* CircleShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleShape.h; sourceTree = ""; }; - 3CDA3E9B364F17A902384AAC /* wrap_Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Font.h; sourceTree = ""; }; - 3CFE5C4A12D5675E7C9C7BF9 /* Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; - 3D8460B2486A372825213933 /* Vector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vector.h; sourceTree = ""; }; - 3DFF31EE26405E554C610C8F /* wrap_WeldJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_WeldJoint.cpp; sourceTree = ""; }; - 3EA80A4E0CE0014052076037 /* Joint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Joint.cpp; sourceTree = ""; }; - 407422E8589417B6683D1042 /* ModPlugDecoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ModPlugDecoder.cpp; sourceTree = ""; }; - 40A0593B616A223A4CEF07C9 /* Memoizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Memoizer.cpp; sourceTree = ""; }; - 40BC14C607396F8B1B084012 /* int.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = int.h; sourceTree = ""; }; - 40F412FF29F65F5A3D511B98 /* wrap_EdgeShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_EdgeShape.cpp; sourceTree = ""; }; - 411B061C49172C971C622125 /* Object.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Object.cpp; sourceTree = ""; }; - 415E1438178736BE0EA908D5 /* select.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = select.c; sourceTree = ""; }; - 426B1C4475DC54505B824B7F /* VertexBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VertexBuffer.cpp; sourceTree = ""; }; - 427B4B2517C0516844370E3D /* b2CollidePolygon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollidePolygon.cpp; sourceTree = ""; }; - 439E46D768A266780E894800 /* JoystickModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JoystickModule.h; sourceTree = ""; }; - 43A258C229C75C15238E520C /* Decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = ""; }; - 43BC2B1C505E5EFF650C31E3 /* Keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = ""; }; - 448C492C7AEB7840504F1C9D /* b2EdgeShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2EdgeShape.h; sourceTree = ""; }; - 44DE79C879CC0074510A2403 /* WheelJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WheelJoint.cpp; sourceTree = ""; }; - 44E85D982F01082F5E1346B6 /* b2ChainAndPolygonContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2ChainAndPolygonContact.h; sourceTree = ""; }; - 457674E43FF71E974D990C00 /* DistanceJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DistanceJoint.h; sourceTree = ""; }; - 459946CA7F4406B026E80501 /* inet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inet.h; sourceTree = ""; }; - 45DC20A760FC42341E5762F7 /* FrictionJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrictionJoint.h; sourceTree = ""; }; - 45E761A0072E0EF92BD66EA9 /* runtime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = runtime.cpp; sourceTree = ""; }; - 465D0438379342C4589E2B1C /* WeldJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeldJoint.h; sourceTree = ""; }; - 468F7A0A484820DE79CE76D2 /* b2ChainAndCircleContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainAndCircleContact.cpp; sourceTree = ""; }; - 46CA2B6B17C32BBE55772268 /* Source.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; - 473D2247745F4901155A75DB /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; - 47C77F6032FA77E046AA6810 /* Fixture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Fixture.cpp; sourceTree = ""; }; - 47D46915001F342A3CD23E86 /* File.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = File.h; sourceTree = ""; }; - 4832527C02C105776536438A /* b2Rope.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Rope.cpp; sourceTree = ""; }; - 485645C663D372A96DFD33F7 /* mime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mime.h; sourceTree = ""; }; - 48A206C9004150640C432100 /* ParticleSystem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ParticleSystem.cpp; sourceTree = ""; }; - 4941079838020ECA049B5C21 /* Color.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; }; - 49496EAF3305281B19223C22 /* except.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = except.c; sourceTree = ""; }; - 4A1D6DAE45E627BD12903B52 /* b2PolygonAndCircleContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2PolygonAndCircleContact.h; sourceTree = ""; }; - 4A47384208BE218F688C4EFA /* b2MouseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2MouseJoint.cpp; sourceTree = ""; }; - 4A774BC26B7235E410D40C8E /* FLACDecoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FLACDecoder.cpp; sourceTree = ""; }; - 4A80315175C5625804AA4A56 /* VorbisDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VorbisDecoder.h; sourceTree = ""; }; - 4ABD4A7B5CB6678E39490982 /* io.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = io.h; sourceTree = ""; }; - 4AD52074367950B735707CE1 /* Canvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Canvas.cpp; sourceTree = ""; }; - 4B002CBD52493ED9347C6EBA /* url.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = url.lua.h; sourceTree = ""; }; - 4B41232F7AF7793540F46C58 /* timeout.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = timeout.c; sourceTree = ""; }; - 4B5F4DF8110020A96B5D3EAB /* b2BroadPhase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2BroadPhase.cpp; sourceTree = ""; }; - 4B731754147B27AF73AC5358 /* Volatile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Volatile.cpp; sourceTree = ""; }; - 4C606AEC342457600C3F0741 /* JoystickModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JoystickModule.h; sourceTree = ""; }; - 4D700D182EAA46273D1E2CC4 /* SpriteBatch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SpriteBatch.cpp; sourceTree = ""; }; - 4D81102E7ABD1C282BE42CE3 /* wrap_MouseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_MouseJoint.cpp; sourceTree = ""; }; - 4DAB28A9235E2CBE75F56848 /* CircleShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleShape.cpp; sourceTree = ""; }; - 4DC3617831763D2760335D87 /* wrap_SoundData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_SoundData.cpp; sourceTree = ""; }; - 4E0F565B03D05C3722496F27 /* File.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = File.cpp; sourceTree = ""; }; - 4E15567759041CC379292BE6 /* Decoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Decoder.cpp; sourceTree = ""; }; - 4E3251027026699A1D4D310D /* wrap_Canvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Canvas.cpp; sourceTree = ""; }; - 4E6705C154C34FBD143F465E /* b2ChainShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainShape.cpp; sourceTree = ""; }; - 4E972C114A6C25A63B5B6EF2 /* wrap_Mouse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Mouse.h; sourceTree = ""; }; - 4F1862D324C9429157A27A2E /* Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = ""; }; - 4F34010A575C02E66D400CE2 /* RopeJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RopeJoint.h; sourceTree = ""; }; - 4F3E12BD4A646D0366792FC9 /* b2WorldCallbacks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2WorldCallbacks.h; sourceTree = ""; }; - 503971A86B7167A91B670FBA /* boot.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = boot.lua.h; sourceTree = ""; }; - 505F23A73BFE250833D650E4 /* Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; - 50B67F2D0CC511706810302E /* wrap_GearJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_GearJoint.cpp; sourceTree = ""; }; - 50EC67CE3ED71F5D13304FD4 /* b2Contact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Contact.h; sourceTree = ""; }; - 50F0575E16561864699E41F5 /* b2Fixture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Fixture.h; sourceTree = ""; }; - 5100177E5D8A14366C5B0BC5 /* b2Island.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Island.h; sourceTree = ""; }; - 524741891BB93848039F4174 /* Keyboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = ""; }; - 525A4D633D9B0D8B225936D4 /* b2Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Timer.h; sourceTree = ""; }; - 52D130DF3DC82D9D4C867B61 /* math.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = ""; }; - 52E15B702C40593D3BF431DF /* wrap_File.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_File.h; sourceTree = ""; }; - 53C4064801456193163E4631 /* RopeJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RopeJoint.cpp; sourceTree = ""; }; - 53C6151E07FB1E3471590CB9 /* ltn12.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ltn12.lua.h; sourceTree = ""; }; - 53EE57FF4DBD52BB22701160 /* ParticleSystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ParticleSystem.h; sourceTree = ""; }; - 54A13C2209F945671BC27974 /* FileData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FileData.h; sourceTree = ""; }; - 54E653E84E8873D467C750FC /* mime.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mime.lua.h; sourceTree = ""; }; - 54E85987318206E93DC8189F /* PolygonShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PolygonShape.cpp; sourceTree = ""; }; - 55A759CE711E157339930E58 /* b2BlockAllocator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2BlockAllocator.cpp; sourceTree = ""; }; - 55AE226405CC1A55462E1D89 /* threads.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = threads.h; sourceTree = ""; }; - 55B425307C0C1C4B3EFC3A5F /* JoystickModule.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JoystickModule.cpp; sourceTree = ""; }; - 561D4A4722E36BAA16D17CC8 /* EdgeShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EdgeShape.h; sourceTree = ""; }; - 567C0A0C58931DE54733011B /* b2StackAllocator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2StackAllocator.h; sourceTree = ""; }; - 56D6030A0B8F7397715062B9 /* Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; - 5725505310E75ECC5044583A /* GLee.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = GLee.c; sourceTree = ""; }; - 577B66502A5360AE60733B10 /* VertexBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VertexBuffer.h; sourceTree = ""; }; - 57E6429235C547BE26B73C6C /* version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; - 583037E9238A6EF00DD20B1A /* Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; - 584E16AE09E12536206C46FE /* Mouse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Mouse.cpp; sourceTree = ""; }; - 58792BC1126C2917432D706B /* b2CircleContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2CircleContact.cpp; sourceTree = ""; }; - 58CC50E70A375FDF53EF01B6 /* Texture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Texture.cpp; sourceTree = ""; }; - 58CD093F254501E37CA47CA8 /* types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; - 597478A255B82B56488B4717 /* wrap_FileData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_FileData.cpp; sourceTree = ""; }; - 59BE634A2ACE722F14B86F89 /* b2Island.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Island.cpp; sourceTree = ""; }; - 59D27EA33E8E62E15C185948 /* b2DynamicTree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2DynamicTree.cpp; sourceTree = ""; }; - 5A1C77401B1B32CE326332A1 /* b2ContactSolver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2ContactSolver.h; sourceTree = ""; }; - 5B3306B5587A708557EE4D4F /* Source.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; - 5B5A0BEC36BE007E6E491396 /* wrap_SoundData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_SoundData.h; sourceTree = ""; }; - 5BCC49F529F726385CD41FA6 /* b2WeldJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2WeldJoint.cpp; sourceTree = ""; }; - 5CB720BA493D7D995E0E20DD /* PulleyJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PulleyJoint.cpp; sourceTree = ""; }; - 5CE0167703887B376F2368FD /* RevoluteJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RevoluteJoint.h; sourceTree = ""; }; - 5CE370672B1234B10F9532FA /* Physics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Physics.h; sourceTree = ""; }; - 5CF629B94C7802D446D61C45 /* wrap_Decoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Decoder.cpp; sourceTree = ""; }; - 5D016F4C27EF506C13FE3058 /* ImageRasterizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ImageRasterizer.cpp; sourceTree = ""; }; - 5D383DA1468545C30E7B5805 /* b64.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b64.cpp; sourceTree = ""; }; - 5D590ACE5E237B7D5B556AD0 /* Contact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; - 5D93601669875EE06721689E /* Drawable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Drawable.h; sourceTree = ""; }; - 5DA322AC59AD7E43183577CB /* b2EdgeAndPolygonContact.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2EdgeAndPolygonContact.h; sourceTree = ""; }; - 5DC271240F0119AE16FA1B8E /* wrap_Filesystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Filesystem.h; sourceTree = ""; }; - 5ED732200E1B2E5F79831DDA /* wrap_Data.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Data.cpp; sourceTree = ""; }; - 5F1F169C7FC633EF292E26DF /* wrap_Fixture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Fixture.h; sourceTree = ""; }; - 5F42052D7C8271A1105541DE /* wrap_ParticleSystem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ParticleSystem.cpp; sourceTree = ""; }; - 5F846B49240D52C10F6F76E5 /* options.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = ""; }; - 5FAE2A9679C97F2C2792182D /* luasocket.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = luasocket.c; sourceTree = ""; }; - 5FF97D522B8872947DED611C /* wrap_Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Audio.h; sourceTree = ""; }; - 601E6A56345412E87E1D396B /* Pool.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Pool.cpp; sourceTree = ""; }; - 60840050412A459D5D21518F /* Fixture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Fixture.h; sourceTree = ""; }; - 60C95C7F507A381D0A483B3F /* b2ChainAndPolygonContact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainAndPolygonContact.cpp; sourceTree = ""; }; - 610B475400DE0F7213352BC3 /* inet.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inet.c; sourceTree = ""; }; - 615E0F450F2B7BA25EE679A6 /* Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; - 61E64F07028039774F502D69 /* Shape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = ""; }; - 62370A494F9D6E2D570065EB /* FileData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FileData.cpp; sourceTree = ""; }; - 62E121F35BEB622029324F25 /* Pool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Pool.h; sourceTree = ""; }; - 63024AF52EE3658260BE116B /* Module.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Module.h; sourceTree = ""; }; - 633E37194CB535AE41A00092 /* b2EdgeShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeShape.cpp; sourceTree = ""; }; - 63936FF81D4E14F6534A43BB /* usocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = usocket.h; sourceTree = ""; }; - 63A63DFB339266AC401B545A /* Mouse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mouse.h; sourceTree = ""; }; - 64491E98483728D601110EF0 /* b2PrismaticJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2PrismaticJoint.h; sourceTree = ""; }; - 644D0C953C3439FC57C03FC6 /* World.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = World.cpp; sourceTree = ""; }; - 64694F91593478085859666F /* wrap_Body.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Body.cpp; sourceTree = ""; }; - 64AC15B600F2473651823D40 /* GmeDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GmeDecoder.h; sourceTree = ""; }; - 64BA1CE328FF17144B475111 /* wrap_MouseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_MouseJoint.h; sourceTree = ""; }; - 6590063A6E4B3AEF4550443C /* b2GearJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2GearJoint.h; sourceTree = ""; }; - 66EC3C0463A703A97445193B /* b2PulleyJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2PulleyJoint.cpp; sourceTree = ""; }; - 66F8479E6D2D587A592F2024 /* socket.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = socket.lua.h; sourceTree = ""; }; - 678E42771C9B415628A3234D /* wrap_ParticleSystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_ParticleSystem.h; sourceTree = ""; }; - 68616BD516DB124312B47EB3 /* Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; - 691C5C5828550E2F60754EF2 /* wrap_Event.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Event.cpp; sourceTree = ""; }; - 695E4ED13AA0689E64280573 /* wrap_Timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Timer.cpp; sourceTree = ""; }; - 69967D2323404E1F0ED21F11 /* wrap_DistanceJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_DistanceJoint.cpp; sourceTree = ""; }; - 69A01D71103275D451F965B2 /* b2GearJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2GearJoint.cpp; sourceTree = ""; }; - 69DB4423147C7E3362941E75 /* Joint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Joint.cpp; sourceTree = ""; }; - 6AA03CE31B942DC660045FE9 /* WheelJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WheelJoint.h; sourceTree = ""; }; - 6B255FFC4A2C404E50512CB5 /* Mpg123Decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mpg123Decoder.h; sourceTree = ""; }; - 6B2E52E6185E6980660F1374 /* luasocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = luasocket.h; sourceTree = ""; }; - 6B3565203A1778431F8A5409 /* threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = threads.cpp; sourceTree = ""; }; - 6BEE6511475F641A70A0591E /* Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = ""; }; - 6C367AE309C453C412D91363 /* wrap_File.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_File.cpp; sourceTree = ""; }; - 6C7E6C3F1CCA1CF6164123F6 /* b2ChainShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2ChainShape.h; sourceTree = ""; }; - 6C981DA13E3D42DA06891046 /* Keyboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Keyboard.h; sourceTree = ""; }; - 6CB1193233FA78EE646A17A1 /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; - 6CDD4F3320303D222C180CD0 /* Window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = ""; }; - 6CEB48E969FC42C53F9432B1 /* wrap_Physics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Physics.cpp; sourceTree = ""; }; - 6D822D830EF049417D184372 /* b2TimeStep.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2TimeStep.h; sourceTree = ""; }; - 6DE3129F3A0B2D9C178118F3 /* Filesystem.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Filesystem.cpp; sourceTree = ""; }; - 6E682862758051BF7C0A10AA /* tp.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tp.lua.h; sourceTree = ""; }; - 6E6D5AB27B71488D405526C3 /* Body.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Body.h; sourceTree = ""; }; - 6EF321185C2B1F1E1AF54F64 /* wrap_CircleShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_CircleShape.cpp; sourceTree = ""; }; - 6F1B61350B6B36AF216C57D7 /* b2Joint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Joint.cpp; sourceTree = ""; }; - 6F4D478A52A0408765095920 /* GearJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GearJoint.cpp; sourceTree = ""; }; - 6FF15DF4423F6426224024C9 /* b2Settings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Settings.cpp; sourceTree = ""; }; - 70564CC32DEC209F2A615F44 /* wrap_ChainShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_ChainShape.h; sourceTree = ""; }; - 70F425B5336E1CD652827FD0 /* Shape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = ""; }; - 714251EE742346DC17103357 /* Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; - 71810207414B52F8340D7797 /* wrap_Joint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Joint.cpp; sourceTree = ""; }; - 71C579A557640A3E2A696518 /* wrap_Physics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Physics.h; sourceTree = ""; }; - 71F878E2440A021B68D93ABC /* b2Contact.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2Contact.cpp; sourceTree = ""; }; - 727648E06CD863A2582F798F /* VorbisDecoder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VorbisDecoder.cpp; sourceTree = ""; }; - 727D23FA1CC755B902471A45 /* SpriteBatch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SpriteBatch.h; sourceTree = ""; }; - 733758E8028B20BB799A7BE6 /* Decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = ""; }; - 73473B3C698B538002540A5D /* wrap_WheelJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_WheelJoint.cpp; sourceTree = ""; }; - 734947AA28AF36E436D242FD /* unix.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = ""; }; - 74003CB27FA762A021183AD5 /* GlyphData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphData.cpp; sourceTree = ""; }; - 74215662418726B35C581E55 /* Thread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Thread.h; sourceTree = ""; }; - 7423362764CF57574BB16CDA /* Window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = ""; }; - 74EE403977734BA53DDF16F0 /* core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = ""; }; - 753F0B42534106D6545926C8 /* Memoizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Memoizer.h; sourceTree = ""; }; - 755C2B980C106EA7423E7E5E /* EdgeShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = EdgeShape.cpp; sourceTree = ""; }; - 75C0197971FE16926CDA624A /* wrap_RopeJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_RopeJoint.h; sourceTree = ""; }; - 762E57DE65A626FA1F6D4305 /* wrap_PulleyJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_PulleyJoint.h; sourceTree = ""; }; - 77234CEE2EFE633537975850 /* Sound.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; - 774434E1581A23EC1B0F1E6F /* b2RevoluteJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2RevoluteJoint.h; sourceTree = ""; }; - 777352284E262F48543E6E7F /* Graphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Graphics.h; sourceTree = ""; }; - 78073FEB0F54031B1A3A56FD /* wrap_PolygonShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_PolygonShape.h; sourceTree = ""; }; - 780D5B6358096BEB1F1336EE /* b2StackAllocator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2StackAllocator.cpp; sourceTree = ""; }; - 78115E763B723C0C40AD47CF /* ImageData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = ""; }; - 782A153A1E6314CB583250E0 /* wrap_Decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Decoder.h; sourceTree = ""; }; - 785D31764A1D6CDE21BC6404 /* SoundData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SoundData.h; sourceTree = ""; }; - 78A2127828793F7A778D7932 /* wrap_Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Image.h; sourceTree = ""; }; - 78C0420E2548523B241E3D61 /* b2FrictionJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2FrictionJoint.h; sourceTree = ""; }; - 78E50525407567F863476E27 /* WeldJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WeldJoint.cpp; sourceTree = ""; }; - 79A9038A15A324B450010E8B /* unix.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = unix.h; sourceTree = ""; }; - 7A0A2BB707F44CAD12694679 /* buffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = ""; }; - 7A3B52AF1FBE73FC36AD50C8 /* wrap_Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Font.cpp; sourceTree = ""; }; - 7A5C32955F016AB85EB55519 /* Exception.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = ""; }; - 7A707F7A60B47A091107144B /* World.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = World.h; sourceTree = ""; }; - 7A840CB020803B7C6C097CD1 /* b2PulleyJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2PulleyJoint.h; sourceTree = ""; }; - 7B7A47F267D77A570D995658 /* Box2D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Box2D.h; sourceTree = ""; }; - 7BAB25936D207169591A666A /* wrap_GearJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_GearJoint.h; sourceTree = ""; }; - 7CA02BF51EBA65C263E15250 /* unchecked.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = unchecked.h; sourceTree = ""; }; - 7CC5707C79175FA6427B3D62 /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; - 7D48236B78EA06D346A86E3F /* smtp.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = smtp.lua.h; sourceTree = ""; }; - 7D9B03C2438B748D0DE93DD5 /* utf8.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = utf8.cpp; sourceTree = ""; }; - 7E4B280637927B532B456D5E /* Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = ""; }; - 7E7A068041FD553876712F05 /* b2CollideCircle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollideCircle.cpp; sourceTree = ""; }; - 7EC570BC74C369747ED0183A /* Window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = ""; }; - 7EFA04373ADC5CC24DCB5824 /* Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; - 7F4B2A3860273D89294A44F4 /* b2ContactManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2ContactManager.h; sourceTree = ""; }; - 7F575BE9573C654B5ED44CC1 /* wrap_Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrap_Timer.h; sourceTree = ""; }; - 7F796B7A3362196075C62E61 /* wrap_Fixture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Fixture.cpp; sourceTree = ""; }; - 7F911CF2107B22F44C5B2542 /* b2Collision.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = b2Collision.h; sourceTree = ""; }; - FA01BE1C1878E35B00640047 /* wrap_Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Texture.cpp; sourceTree = ""; }; - FA01BE1D1878E35B00640047 /* wrap_Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Texture.h; sourceTree = ""; }; - FA03546A1731F3A700284828 /* simplexnoise1234.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplexnoise1234.cpp; sourceTree = ""; }; - FA03546B1731F3A700284828 /* simplexnoise1234.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplexnoise1234.h; sourceTree = ""; }; - FA08F5AE16C7525600F007B5 /* Info-Framework.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-Framework.plist"; sourceTree = ""; }; - FA0A4BEE182E0C2800E1E4D2 /* b2MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2MotorJoint.cpp; sourceTree = ""; }; - FA0A4BEF182E0C2800E1E4D2 /* b2MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2MotorJoint.h; sourceTree = ""; }; - FA0A4BF2182E1AD600E1E4D2 /* MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MotorJoint.cpp; sourceTree = ""; }; - FA0A4BF3182E1AD600E1E4D2 /* MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MotorJoint.h; sourceTree = ""; }; - FA0A4BF6182E260200E1E4D2 /* wrap_MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_MotorJoint.cpp; sourceTree = ""; }; - FA0A4BF7182E260200E1E4D2 /* wrap_MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_MotorJoint.h; sourceTree = ""; }; - FA0CDE3B1710F9A50056E8D7 /* FormatHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormatHandler.h; sourceTree = ""; }; - FA34E7CB174B513F00E04D3F /* System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = System.cpp; sourceTree = ""; }; - FA34E7CC174B513F00E04D3F /* System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = System.h; sourceTree = ""; }; - FA34E7D0174B515D00E04D3F /* System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = System.cpp; sourceTree = ""; }; - FA34E7D1174B515D00E04D3F /* System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = System.h; sourceTree = ""; }; - FA34E7D4174B55AF00E04D3F /* wrap_System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_System.cpp; sourceTree = ""; }; - FA34E7D5174B55AF00E04D3F /* wrap_System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_System.h; sourceTree = ""; }; - FA3D9E0B16E68DE600CA6630 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = ""; }; - FA3D9E0C16E68DE600CA6630 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = ""; }; - FA3D9E0F16E68EAE00CA6630 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = ""; }; - FA3D9E1016E68EAE00CA6630 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = ""; }; - FA3D9E1316E6D41000CA6630 /* wrap_Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Cursor.cpp; sourceTree = ""; }; - FA3D9E1416E6D41000CA6630 /* wrap_Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Cursor.h; sourceTree = ""; }; - FA435EA117B36E9C004C3F22 /* Polyline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Polyline.cpp; sourceTree = ""; }; - FA435EA217B36E9C004C3F22 /* Polyline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Polyline.h; sourceTree = ""; }; - FA5454C016F1310000D30303 /* MathModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathModule.cpp; sourceTree = ""; }; - FA5454C116F1310000D30303 /* MathModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathModule.h; sourceTree = ""; }; - FA577A6716C719D900860150 /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; - FA577A6916C719DE00860150 /* IL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IL.framework; path = /Library/Frameworks/IL.framework; sourceTree = ""; }; - FA577A6D16C719EA00860150 /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; - FA577A6F16C719F000860150 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; }; - FA577A7116C719F400860150 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = ""; }; - FA577A7316C719F900860150 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; - FA577A7716C71A0800860150 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = ""; }; - FA577A7916C71A1700860150 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - FA577A7C16C71A2600860150 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - FA577A8216C71A5300860150 /* libmodplug.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libmodplug.framework; path = /Library/Frameworks/libmodplug.framework; sourceTree = ""; }; - FA577A8516C71CF000860150 /* Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shader.cpp; sourceTree = ""; }; - FA577A8616C71CF000860150 /* Shader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shader.h; sourceTree = ""; }; - FA577A8716C71CF000860150 /* wrap_Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Shader.cpp; sourceTree = ""; }; - FA577A8816C71CF000860150 /* wrap_Shader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Shader.h; sourceTree = ""; }; - FA577A8C16C71D3600860150 /* auto.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = auto.lua; sourceTree = ""; }; - FA577A8D16C71D3600860150 /* boot.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = boot.lua; sourceTree = ""; }; - FA577A8E16C71D3600860150 /* graphics.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = graphics.lua; sourceTree = ""; }; - FA577AAF16C7507900860150 /* love.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FA5FDC5F1788D548002F0ED2 /* enet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enet.cpp; sourceTree = ""; }; - FA5FDC611788D548002F0ED2 /* callbacks.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = callbacks.c; sourceTree = ""; }; - FA5FDC631788D548002F0ED2 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; - FA5FDC641788D548002F0ED2 /* host.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = host.c; sourceTree = ""; }; - FA5FDC671788D548002F0ED2 /* callbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = callbacks.h; sourceTree = ""; }; - FA5FDC681788D548002F0ED2 /* enet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enet.h; sourceTree = ""; }; - FA5FDC691788D548002F0ED2 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = ""; }; - FA5FDC6A1788D548002F0ED2 /* protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = ""; }; - FA5FDC6B1788D548002F0ED2 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = ""; }; - FA5FDC6C1788D548002F0ED2 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; - FA5FDC6D1788D548002F0ED2 /* unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unix.h; sourceTree = ""; }; - FA5FDC6E1788D548002F0ED2 /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; - FA5FDC6F1788D548002F0ED2 /* win32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = win32.h; sourceTree = ""; }; - FA5FDC711788D548002F0ED2 /* list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = list.c; sourceTree = ""; }; - FA5FDC721788D548002F0ED2 /* packet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = packet.c; sourceTree = ""; }; - FA5FDC731788D548002F0ED2 /* peer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = peer.c; sourceTree = ""; }; - FA5FDC741788D548002F0ED2 /* protocol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = protocol.c; sourceTree = ""; }; - FA5FDC761788D548002F0ED2 /* unix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = ""; }; - FA5FDC771788D548002F0ED2 /* win32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = win32.c; sourceTree = ""; }; - FA5FDC781788D548002F0ED2 /* lua-enet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "lua-enet.h"; sourceTree = ""; }; - FA636D88171B70920065623F /* RandomGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RandomGenerator.cpp; sourceTree = ""; }; - FA636D89171B70920065623F /* RandomGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RandomGenerator.h; sourceTree = ""; }; - FA636D8C171B72A70065623F /* wrap_RandomGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RandomGenerator.cpp; sourceTree = ""; }; - FA636D8D171B72A70065623F /* wrap_RandomGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_RandomGenerator.h; sourceTree = ""; }; - FA7175A9178E8418001FE7FE /* lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua.h; sourceTree = ""; }; - FA7AA59017F6AC1F00704BE2 /* wrap_Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Mesh.cpp; sourceTree = ""; }; - FA7AA59117F6AC1F00704BE2 /* wrap_Mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Mesh.h; sourceTree = ""; }; - FA7C937516DCC6C2006F2BEE /* wrap_Math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Math.cpp; sourceTree = ""; }; - FA7C937616DCC6C2006F2BEE /* wrap_Math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Math.h; sourceTree = ""; }; - FA9B49281875EFB900201DA9 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = ""; }; - FA9B4A0716E1578300074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; - FA9FC0AE173D6E3E005027FF /* wrap_Window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Window.cpp; sourceTree = ""; }; - FA9FC0AF173D6E3E005027FF /* wrap_Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Window.h; sourceTree = ""; }; - FAA0A45C1A704016009487CB /* lprefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lprefix.h; sourceTree = ""; }; - FAA0A45D1A704016009487CB /* lutf8lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lutf8lib.c; sourceTree = ""; }; - FAA0A4601A70431A009487CB /* lutf8lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lutf8lib.h; sourceTree = ""; }; - FAA627CD18E7E1560080752D /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; - FAAC6B00170A373A008A61C5 /* CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompressedData.cpp; sourceTree = ""; }; - FAAC6B01170A373A008A61C5 /* CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedData.h; sourceTree = ""; }; - FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; - FAB0078D1740C12D00A9664D /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joystick.cpp; sourceTree = ""; }; - FAB0078E1740C12D00A9664D /* Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joystick.h; sourceTree = ""; }; - FAB007911740C28900A9664D /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joystick.cpp; sourceTree = ""; }; - FAB007921740C28900A9664D /* Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joystick.h; sourceTree = ""; }; - FAB007951740C87D00A9664D /* wrap_Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Joystick.cpp; sourceTree = ""; }; - FAB007961740C87D00A9664D /* wrap_Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Joystick.h; sourceTree = ""; }; - FAC570FC17402D1100D147E4 /* BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BezierCurve.cpp; sourceTree = ""; }; - FAC570FD17402D1100D147E4 /* BezierCurve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BezierCurve.h; sourceTree = ""; }; - FAC570FE17402D1100D147E4 /* wrap_BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_BezierCurve.cpp; sourceTree = ""; }; - FAC570FF17402D1100D147E4 /* wrap_BezierCurve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_BezierCurve.h; sourceTree = ""; }; - FAC86E611724552C00EED715 /* wrap_Quad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Quad.cpp; sourceTree = ""; }; - FAC86E621724552C00EED715 /* wrap_Quad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Quad.h; sourceTree = ""; }; - FAC86E671724555D00EED715 /* Quad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Quad.cpp; sourceTree = ""; }; - FAC86E681724555D00EED715 /* Quad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Quad.h; sourceTree = ""; }; - FAD8E84E1A7C949B0084E24D /* Vera.ttf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vera.ttf.h; sourceTree = ""; }; - FADD58DC18C30367005FC3BF /* FormatHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormatHandler.cpp; sourceTree = ""; }; - FAE010D8170DDE99006F29D0 /* ddsinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsinfo.h; sourceTree = ""; }; - FAE010D9170DDE99006F29D0 /* ddsparse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ddsparse.cpp; sourceTree = ""; }; - FAE010DA170DDE99006F29D0 /* ddsparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsparse.h; sourceTree = ""; }; - FAE010DE170DE25E006F29D0 /* ddsHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ddsHandler.cpp; sourceTree = ""; }; - FAE010DF170DE25E006F29D0 /* ddsHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsHandler.h; sourceTree = ""; }; - FAE010E2170DF75B006F29D0 /* wrap_CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_CompressedData.cpp; sourceTree = ""; }; - FAE010E3170DF75C006F29D0 /* wrap_CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_CompressedData.h; sourceTree = ""; }; - FAEC80881710FEA60057279A /* ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = ""; }; - FAEC80891710FEA60057279A /* ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = ""; }; - FAEC808C1711E76C0057279A /* CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompressedData.cpp; sourceTree = ""; }; - FAEC808D1711E76C0057279A /* CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedData.h; sourceTree = ""; }; - FAF2729816E3D44400CC193A /* Channel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Channel.cpp; sourceTree = ""; }; - FAF2729916E3D44400CC193A /* Channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Channel.h; sourceTree = ""; }; - FAF2729A16E3D44400CC193A /* LuaThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LuaThread.cpp; sourceTree = ""; }; - FAF2729B16E3D44400CC193A /* LuaThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuaThread.h; sourceTree = ""; }; - FAF2729C16E3D44400CC193A /* ThreadModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadModule.cpp; sourceTree = ""; }; - FAF2729D16E3D44400CC193A /* ThreadModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadModule.h; sourceTree = ""; }; - FAF2729E16E3D44400CC193A /* wrap_Channel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Channel.cpp; sourceTree = ""; }; - FAF2729F16E3D44400CC193A /* wrap_Channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Channel.h; sourceTree = ""; }; - FAF272A016E3D44400CC193A /* wrap_LuaThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_LuaThread.cpp; sourceTree = ""; }; - FAF272A116E3D44400CC193A /* wrap_LuaThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_LuaThread.h; sourceTree = ""; }; - FAF272A216E3D44400CC193A /* wrap_ThreadModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ThreadModule.cpp; sourceTree = ""; }; - FAF272A316E3D44400CC193A /* wrap_ThreadModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_ThreadModule.h; sourceTree = ""; }; - FAF272B116E3D46400CC193A /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Thread.cpp; sourceTree = ""; }; - FAF272B216E3D46400CC193A /* Thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Thread.h; sourceTree = ""; }; - FAF272B316E3D46400CC193A /* threads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = threads.cpp; sourceTree = ""; }; - FAF272B416E3D46400CC193A /* threads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threads.h; sourceTree = ""; }; - FAF4376D17F4AC530074F9E2 /* Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mesh.cpp; sourceTree = ""; }; - FAF4376E17F4AC530074F9E2 /* Mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mesh.h; sourceTree = ""; }; - FAF6704418184FF800DBDEEA /* wuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff.c; sourceTree = ""; }; - FAF6704518184FF800DBDEEA /* wuff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff.h; sourceTree = ""; }; - FAF6704618184FF800DBDEEA /* wuff_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_config.h; sourceTree = ""; }; - FAF6704718184FF800DBDEEA /* wuff_convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_convert.c; sourceTree = ""; }; - FAF6704818184FF800DBDEEA /* wuff_convert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_convert.h; sourceTree = ""; }; - FAF6704918184FF800DBDEEA /* wuff_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_internal.c; sourceTree = ""; }; - FAF6704A18184FF800DBDEEA /* wuff_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_internal.h; sourceTree = ""; }; - FAF6704B18184FF800DBDEEA /* wuff_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_memory.c; sourceTree = ""; }; - FAF670541818501300DBDEEA /* WaveDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveDecoder.cpp; sourceTree = ""; }; - FAF670551818501300DBDEEA /* WaveDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveDecoder.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - FA577AAB16C7507900860150 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FAA627CE18E7E1560080752D /* CoreServices.framework in Frameworks */, - FA9B4A0816E1578300074F42 /* SDL2.framework in Frameworks */, - FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */, - FA577AB016C7507900860150 /* Cocoa.framework in Frameworks */, - FA577AC216C7512D00860150 /* FreeType.framework in Frameworks */, - FA577AC416C7513200860150 /* IL.framework in Frameworks */, - FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */, - FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */, - FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */, - FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */, - FA577ACB16C7514400860150 /* physfs.framework in Frameworks */, - FA577ACD16C7514C00860150 /* Vorbis.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 003F4BA82B6046BC133B3F0F /* image */ = { - isa = PBXGroup; - children = ( - FAAC6B00170A373A008A61C5 /* CompressedData.cpp */, - FAAC6B01170A373A008A61C5 /* CompressedData.h */, - 25C325DC2128769F6C6A54C3 /* Image.h */, - 78115E763B723C0C40AD47CF /* ImageData.cpp */, - 07B301984BE42246402F7D27 /* ImageData.h */, - 13730AB030E309FF6E2961F1 /* magpie */, - FAE010E2170DF75B006F29D0 /* wrap_CompressedData.cpp */, - FAE010E3170DF75C006F29D0 /* wrap_CompressedData.h */, - 0B0728FA73B107B37A956A09 /* wrap_Image.cpp */, - 006B015320155B4D42B43B61 /* wrap_Image.h */, - 076840774B0B6E721D0C18D0 /* wrap_ImageData.cpp */, - 31B85B507F466FE158A3718E /* wrap_ImageData.h */, - ); - path = image; - sourceTree = ""; - }; - 02E0744773D13AD65E7C49DC /* thread */ = { - isa = PBXGroup; - children = ( - FAF2729816E3D44400CC193A /* Channel.cpp */, - FAF2729916E3D44400CC193A /* Channel.h */, - FAF2729A16E3D44400CC193A /* LuaThread.cpp */, - FAF2729B16E3D44400CC193A /* LuaThread.h */, - FAF272B016E3D46400CC193A /* sdl */, - 74215662418726B35C581E55 /* Thread.h */, - FAF2729C16E3D44400CC193A /* ThreadModule.cpp */, - FAF2729D16E3D44400CC193A /* ThreadModule.h */, - 6B3565203A1778431F8A5409 /* threads.cpp */, - 55AE226405CC1A55462E1D89 /* threads.h */, - FAF2729E16E3D44400CC193A /* wrap_Channel.cpp */, - FAF2729F16E3D44400CC193A /* wrap_Channel.h */, - FAF272A016E3D44400CC193A /* wrap_LuaThread.cpp */, - FAF272A116E3D44400CC193A /* wrap_LuaThread.h */, - FAF272A216E3D44400CC193A /* wrap_ThreadModule.cpp */, - FAF272A316E3D44400CC193A /* wrap_ThreadModule.h */, - ); - path = thread; - sourceTree = ""; - }; - 07571BBD29A9184E2F465E28 /* common */ = { - isa = PBXGroup; - children = ( - 5D383DA1468545C30E7B5805 /* b64.cpp */, - 0BEB72033ACA25550ADA76C4 /* b64.h */, - 473D2247745F4901155A75DB /* config.h */, - 182A781C7A2D3D2B6B8904A8 /* Data.h */, - 36437CE95936736320710513 /* delay.cpp */, - 24D758D262EA18DC15187A12 /* delay.h */, - 386430B43A081E2A617B05F1 /* EnumMap.h */, - 3746164716797CF80D6B0CEE /* Exception.cpp */, - 7A5C32955F016AB85EB55519 /* Exception.h */, - 40BC14C607396F8B1B084012 /* int.h */, - 52D130DF3DC82D9D4C867B61 /* math.h */, - 0CB6025618505B055A4E75DD /* Matrix.cpp */, - 085B376E3FBB254F0FD37958 /* Matrix.h */, - 40A0593B616A223A4CEF07C9 /* Memoizer.cpp */, - 753F0B42534106D6545926C8 /* Memoizer.h */, - 30E466F441EE727658716873 /* Module.cpp */, - 63024AF52EE3658260BE116B /* Module.h */, - 411B061C49172C971C622125 /* Object.cpp */, - 350C47C774835EA552130431 /* Object.h */, - 35B31EBC4DDB6F994BCA46B6 /* Reference.cpp */, - 2CEC5ED5211174C7583849AD /* Reference.h */, - 45E761A0072E0EF92BD66EA9 /* runtime.cpp */, - 2D8E6FAE2A100B5866E96BFF /* runtime.h */, - 33FD508B0754314530A35EF3 /* StringMap.h */, - 58CD093F254501E37CA47CA8 /* types.h */, - 7D9B03C2438B748D0DE93DD5 /* utf8.cpp */, - 3A430C846C642DBC14975C7C /* utf8.h */, - 3C56375F752B7A9779DD37EC /* Variant.cpp */, - 28016C9B51FE1A893DC35B66 /* Variant.h */, - 1A2A61843B753E3F5B330703 /* Vector.cpp */, - 3D8460B2486A372825213933 /* Vector.h */, - 57E6429235C547BE26B73C6C /* version.h */, - 5ED732200E1B2E5F79831DDA /* wrap_Data.cpp */, - 001F02BC119E349012652C17 /* wrap_Data.h */, - ); - name = common; - path = ../../src/common; - sourceTree = ""; - }; - 09000F404D44660029EF38F0 /* sdl */ = { - isa = PBXGroup; - children = ( - 3BA712260D725FEB72EB3CDE /* Event.cpp */, - 7E4B280637927B532B456D5E /* Event.h */, - 691C5C5828550E2F60754EF2 /* wrap_Event.cpp */, - 295C665B1E0B6B2D03CC4937 /* wrap_Event.h */, - ); - path = sdl; - sourceTree = ""; - }; - 12BB56F127170B3709670896 /* freetype */ = { - isa = PBXGroup; - children = ( - 714251EE742346DC17103357 /* Font.cpp */, - 615E0F450F2B7BA25EE679A6 /* Font.h */, - 0C30420F7FD3038C721223A5 /* TrueTypeRasterizer.cpp */, - 0B727D416262392743091BC3 /* TrueTypeRasterizer.h */, - 232D67C67BEE54B776420682 /* wrap_Font.cpp */, - 202650DE4F267CD3082A1B30 /* wrap_Font.h */, - ); - path = freetype; - sourceTree = ""; - }; - 130737AF4BD12D0356A65C87 /* mouse */ = { - isa = PBXGroup; - children = ( - FA3D9E0B16E68DE600CA6630 /* Cursor.cpp */, - FA3D9E0C16E68DE600CA6630 /* Cursor.h */, - 31E0110E5797041465FF5F95 /* Mouse.cpp */, - 63A63DFB339266AC401B545A /* Mouse.h */, - 1E017A8673D531394B5A3B16 /* sdl */, - FA3D9E1316E6D41000CA6630 /* wrap_Cursor.cpp */, - FA3D9E1416E6D41000CA6630 /* wrap_Cursor.h */, - 22EF17981EBD442773FE41B6 /* wrap_Mouse.cpp */, - 4E972C114A6C25A63B5B6EF2 /* wrap_Mouse.h */, - ); - path = mouse; - sourceTree = ""; - }; - 1350109F709C227D4AFD423C /* libluasocket */ = { - isa = PBXGroup; - children = ( - FA7175A9178E8418001FE7FE /* lua.h */, - 1CD02D1975803957282F28AB /* auxiliar.c */, - 1F6F652A57F8098E5CCA6F9A /* auxiliar.h */, - 21B25A7E333315172B754D4F /* buffer.c */, - 7A0A2BB707F44CAD12694679 /* buffer.h */, - 49496EAF3305281B19223C22 /* except.c */, - 17C730CB1DA01B8F0A11217C /* except.h */, - 048C39D14DA05F5843FE08CA /* ftp.lua.h */, - 16C36B3C59A10CDC7ACE0DD4 /* http.lua.h */, - 610B475400DE0F7213352BC3 /* inet.c */, - 459946CA7F4406B026E80501 /* inet.h */, - 135801A6483528800C676492 /* io.c */, - 4ABD4A7B5CB6678E39490982 /* io.h */, - 53C6151E07FB1E3471590CB9 /* ltn12.lua.h */, - 5FAE2A9679C97F2C2792182D /* luasocket.c */, - 329915E84B0B6D025DDC34A9 /* luasocket.h */, - 00393E4930202C2B6E381F68 /* mime.c */, - 485645C663D372A96DFD33F7 /* mime.h */, - 54E653E84E8873D467C750FC /* mime.lua.h */, - 5F846B49240D52C10F6F76E5 /* options.c */, - 249015D170563D85709D7B6D /* options.h */, - 415E1438178736BE0EA908D5 /* select.c */, - 17E9544103AE376210ED5BAA /* select.h */, - 7D48236B78EA06D346A86E3F /* smtp.lua.h */, - 09C71F9D7DC45F5765B2462B /* socket.h */, - 66F8479E6D2D587A592F2024 /* socket.lua.h */, - 22256CC12B7C7D0D1B430D46 /* tcp.c */, - 00D329851B1E7F6A3AF9614E /* tcp.h */, - 4B41232F7AF7793540F46C58 /* timeout.c */, - 1CE84F1F19BC2AA412C638B1 /* timeout.h */, - 6E682862758051BF7C0A10AA /* tp.lua.h */, - 2E2675AF3DAA24CE0728042C /* udp.c */, - 2CAE75B079B828FE6892684A /* udp.h */, - 734947AA28AF36E436D242FD /* unix.c */, - 79A9038A15A324B450010E8B /* unix.h */, - 4B002CBD52493ED9347C6EBA /* url.lua.h */, - 041672ED2CF51FC62F532FDB /* usocket.c */, - 63936FF81D4E14F6534A43BB /* usocket.h */, - ); - path = libluasocket; - sourceTree = ""; - }; - 13730AB030E309FF6E2961F1 /* magpie */ = { - isa = PBXGroup; - children = ( - FAEC808C1711E76C0057279A /* CompressedData.cpp */, - FAEC808D1711E76C0057279A /* CompressedData.h */, - FAE010DE170DE25E006F29D0 /* ddsHandler.cpp */, - FAE010DF170DE25E006F29D0 /* ddsHandler.h */, - 1AA7781A230065F346E2313A /* DevilHandler.cpp */, - 283342E174613897621A43F1 /* DevilHandler.h */, - FADD58DC18C30367005FC3BF /* FormatHandler.cpp */, - FA0CDE3B1710F9A50056E8D7 /* FormatHandler.h */, - 505F23A73BFE250833D650E4 /* Image.cpp */, - 68616BD516DB124312B47EB3 /* Image.h */, - FAEC80881710FEA60057279A /* ImageData.cpp */, - FAEC80891710FEA60057279A /* ImageData.h */, - ); - path = magpie; - sourceTree = ""; - }; - 153D76205F7A4ACD12FB4C0E /* window */ = { - isa = PBXGroup; - children = ( - 63082CBA23A6046C60DA1C6F /* sdl */, - 351B09E51FDC338622F44624 /* Window.cpp */, - 7423362764CF57574BB16CDA /* Window.h */, - FA9FC0AE173D6E3E005027FF /* wrap_Window.cpp */, - FA9FC0AF173D6E3E005027FF /* wrap_Window.h */, - ); - path = window; - sourceTree = ""; - }; - 18AF317B298302545C386404 /* Dynamics */ = { - isa = PBXGroup; - children = ( - 7DE032B3334E559969264529 /* Contacts */, - 68027AB25AAF234679615C14 /* Joints */, - 120B391518206E964493126C /* b2Body.cpp */, - 079504CB332E415D4B27797B /* b2Body.h */, - 2A6150F7479D21346EC54B68 /* b2ContactManager.cpp */, - 7F4B2A3860273D89294A44F4 /* b2ContactManager.h */, - 059C04C13F3A7C05570F2987 /* b2Fixture.cpp */, - 50F0575E16561864699E41F5 /* b2Fixture.h */, - 59BE634A2ACE722F14B86F89 /* b2Island.cpp */, - 5100177E5D8A14366C5B0BC5 /* b2Island.h */, - 6D822D830EF049417D184372 /* b2TimeStep.h */, - 0D6F00D95C4407BB26E71E02 /* b2World.cpp */, - 325E60A57F2624766A524423 /* b2World.h */, - 0F8D03F1544476B57CA97B01 /* b2WorldCallbacks.cpp */, - 4F3E12BD4A646D0366792FC9 /* b2WorldCallbacks.h */, - ); - path = Dynamics; - sourceTree = ""; - }; - 196B6B2E1BC81F47771E6467 /* font */ = { - isa = PBXGroup; - children = ( - 2E9B5D9926034F9172215D5E /* Font.h */, - 12BB56F127170B3709670896 /* freetype */, - 74003CB27FA762A021183AD5 /* GlyphData.cpp */, - 112814480BBF2ED06EED15BF /* GlyphData.h */, - 5D016F4C27EF506C13FE3058 /* ImageRasterizer.cpp */, - 36465ABA28FB06F4333C3F07 /* ImageRasterizer.h */, - 1B1C4E4D288A1D2F29E57B1B /* Rasterizer.cpp */, - 08D24B70441A2496160C0849 /* Rasterizer.h */, - FAD8E84E1A7C949B0084E24D /* Vera.ttf.h */, - 1B4E22F1388E2B2E76E3377B /* wrap_GlyphData.cpp */, - 3547706F2E7D43212CB40D04 /* wrap_GlyphData.h */, - 11745DE315E859F71E881D76 /* wrap_Rasterizer.cpp */, - 37224F6B30CA5D800B1F41F1 /* wrap_Rasterizer.h */, - ); - path = font; - sourceTree = ""; - }; - 1E017A8673D531394B5A3B16 /* sdl */ = { - isa = PBXGroup; - children = ( - FA3D9E0F16E68EAE00CA6630 /* Cursor.cpp */, - FA3D9E1016E68EAE00CA6630 /* Cursor.h */, - 584E16AE09E12536206C46FE /* Mouse.cpp */, - 198A44BD71BB61EE517C2A39 /* Mouse.h */, - ); - path = sdl; - sourceTree = ""; - }; - 20A8288624E9654322DC388D /* sdl */ = { - isa = PBXGroup; - children = ( - 43BC2B1C505E5EFF650C31E3 /* Keyboard.cpp */, - 057A3770539D25AE6C8F20D3 /* Keyboard.h */, - ); - path = sdl; - sourceTree = ""; - }; - 264B1FF46F2C68D26B7B158D /* openal */ = { - isa = PBXGroup; - children = ( - 6CB1193233FA78EE646A17A1 /* Audio.cpp */, - 1916112F57AF56A173727464 /* Audio.h */, - 601E6A56345412E87E1D396B /* Pool.cpp */, - 62E121F35BEB622029324F25 /* Pool.h */, - 28024635525B077E08A73D9B /* Source.cpp */, - 5B3306B5587A708557EE4D4F /* Source.h */, - ); - path = openal; - sourceTree = ""; - }; - 2F654C0235EB60C744A22507 /* Products */ = { - isa = PBXGroup; - children = ( - FA577AAF16C7507900860150 /* love.framework */, - ); - name = Products; - sourceTree = ""; - }; - 34067FA94AEA4D7C3E103A64 /* box2d */ = { - isa = PBXGroup; - children = ( - 089B1AC1248B21D336594457 /* Body.cpp */, - 6E6D5AB27B71488D405526C3 /* Body.h */, - 0959542C4B54320B1DDD5911 /* ChainShape.cpp */, - 1AA213FC158815FA77C40330 /* ChainShape.h */, - 4DAB28A9235E2CBE75F56848 /* CircleShape.cpp */, - 3C965422252F672D3FF6598C /* CircleShape.h */, - 02CD63315FF902E336AB4657 /* Contact.cpp */, - 5D590ACE5E237B7D5B556AD0 /* Contact.h */, - 34A36BB617BC5CCA5B870EA6 /* DistanceJoint.cpp */, - 457674E43FF71E974D990C00 /* DistanceJoint.h */, - 755C2B980C106EA7423E7E5E /* EdgeShape.cpp */, - 561D4A4722E36BAA16D17CC8 /* EdgeShape.h */, - 47C77F6032FA77E046AA6810 /* Fixture.cpp */, - 60840050412A459D5D21518F /* Fixture.h */, - 1E22646A710E5EFC27FE3932 /* FrictionJoint.cpp */, - 45DC20A760FC42341E5762F7 /* FrictionJoint.h */, - 6F4D478A52A0408765095920 /* GearJoint.cpp */, - 25CE236F66F70EB3444A7CC8 /* GearJoint.h */, - 3EA80A4E0CE0014052076037 /* Joint.cpp */, - 138913BE5126483748FA43D0 /* Joint.h */, - FA0A4BF2182E1AD600E1E4D2 /* MotorJoint.cpp */, - FA0A4BF3182E1AD600E1E4D2 /* MotorJoint.h */, - 3C0B06AF6B5326C840477B18 /* MouseJoint.cpp */, - 208275724C9421035EA145A4 /* MouseJoint.h */, - 370D76DC224F2EB300CB4E2F /* Physics.cpp */, - 5CE370672B1234B10F9532FA /* Physics.h */, - 54E85987318206E93DC8189F /* PolygonShape.cpp */, - 2FF26CC52C28773750B812D9 /* PolygonShape.h */, - 0AE5755936E84C247FB56C65 /* PrismaticJoint.cpp */, - 104D5534669B772556942891 /* PrismaticJoint.h */, - 5CB720BA493D7D995E0E20DD /* PulleyJoint.cpp */, - 0A936C83344E2CF84E703059 /* PulleyJoint.h */, - 36DD053F754B2D29719B1F80 /* RevoluteJoint.cpp */, - 5CE0167703887B376F2368FD /* RevoluteJoint.h */, - 53C4064801456193163E4631 /* RopeJoint.cpp */, - 4F34010A575C02E66D400CE2 /* RopeJoint.h */, - 61E64F07028039774F502D69 /* Shape.cpp */, - 0EB870A1180261FD424A41B3 /* Shape.h */, - 78E50525407567F863476E27 /* WeldJoint.cpp */, - 465D0438379342C4589E2B1C /* WeldJoint.h */, - 44DE79C879CC0074510A2403 /* WheelJoint.cpp */, - 6AA03CE31B942DC660045FE9 /* WheelJoint.h */, - 644D0C953C3439FC57C03FC6 /* World.cpp */, - 7A707F7A60B47A091107144B /* World.h */, - 64694F91593478085859666F /* wrap_Body.cpp */, - 1A311FC16B9C0F8D7A41580E /* wrap_Body.h */, - 1CAA69E00D0808BA2108238B /* wrap_ChainShape.cpp */, - 70564CC32DEC209F2A615F44 /* wrap_ChainShape.h */, - 6EF321185C2B1F1E1AF54F64 /* wrap_CircleShape.cpp */, - 15093E1B1A14176374C81299 /* wrap_CircleShape.h */, - 3BB22A142670197B0DBD0BED /* wrap_Contact.cpp */, - 21E975B81E8D701F2147658C /* wrap_Contact.h */, - 69967D2323404E1F0ED21F11 /* wrap_DistanceJoint.cpp */, - 18E0492204644DE929B96486 /* wrap_DistanceJoint.h */, - 40F412FF29F65F5A3D511B98 /* wrap_EdgeShape.cpp */, - 276C3474657D0A246F64221C /* wrap_EdgeShape.h */, - 7F796B7A3362196075C62E61 /* wrap_Fixture.cpp */, - 5F1F169C7FC633EF292E26DF /* wrap_Fixture.h */, - 340345481F165F8945C716AE /* wrap_FrictionJoint.cpp */, - 0EA87794395D3B287C5949AA /* wrap_FrictionJoint.h */, - 50B67F2D0CC511706810302E /* wrap_GearJoint.cpp */, - 7BAB25936D207169591A666A /* wrap_GearJoint.h */, - 71810207414B52F8340D7797 /* wrap_Joint.cpp */, - 047815B73C1C5373551442A6 /* wrap_Joint.h */, - FA0A4BF6182E260200E1E4D2 /* wrap_MotorJoint.cpp */, - FA0A4BF7182E260200E1E4D2 /* wrap_MotorJoint.h */, - 4D81102E7ABD1C282BE42CE3 /* wrap_MouseJoint.cpp */, - 64BA1CE328FF17144B475111 /* wrap_MouseJoint.h */, - 6CEB48E969FC42C53F9432B1 /* wrap_Physics.cpp */, - 71C579A557640A3E2A696518 /* wrap_Physics.h */, - 3AD03C7A77C546ED07BE4C06 /* wrap_PolygonShape.cpp */, - 78073FEB0F54031B1A3A56FD /* wrap_PolygonShape.h */, - 0B4020CD058D70F569DF6129 /* wrap_PrismaticJoint.cpp */, - 2B8C245A21A515E86636725A /* wrap_PrismaticJoint.h */, - 1E840AF84AB61C6410E26634 /* wrap_PulleyJoint.cpp */, - 762E57DE65A626FA1F6D4305 /* wrap_PulleyJoint.h */, - 1F3A277A44141DBF7BCF146A /* wrap_RevoluteJoint.cpp */, - 2912092853050AF9785F39BE /* wrap_RevoluteJoint.h */, - 0E3E13BC3E3A7C0C7DBE7DF8 /* wrap_RopeJoint.cpp */, - 75C0197971FE16926CDA624A /* wrap_RopeJoint.h */, - 124E716E0BCA055534A60AD2 /* wrap_Shape.cpp */, - 02F064F5202E34F5718352B8 /* wrap_Shape.h */, - 3DFF31EE26405E554C610C8F /* wrap_WeldJoint.cpp */, - 131F69C3368C4B8A55EE0DAD /* wrap_WeldJoint.h */, - 73473B3C698B538002540A5D /* wrap_WheelJoint.cpp */, - 0AFB7DA45B2D6913110A5AAB /* wrap_WheelJoint.h */, - 36324E12371E518E6E9C61B5 /* wrap_World.cpp */, - 27F777AB188D674F30BC1829 /* wrap_World.h */, - ); - path = box2d; - sourceTree = ""; - }; - 352E6C5F6F8A681766EB5299 /* scripts */ = { - isa = PBXGroup; - children = ( - FA577A8C16C71D3600860150 /* auto.lua */, - FA577A8D16C71D3600860150 /* boot.lua */, - 503971A86B7167A91B670FBA /* boot.lua.h */, - FA577A8E16C71D3600860150 /* graphics.lua */, - 104144AB73A974BC04A03131 /* graphics.lua.h */, - ); - name = scripts; - path = ../../src/scripts; - sourceTree = ""; - }; - 36C14C81334735EC54E33637 /* utf8 */ = { - isa = PBXGroup; - children = ( - 5CB1063C6DF04E2E409F2DB0 /* utf8 */, - 1BCD6EE50EB8791E5A870135 /* utf8.h */, - ); - path = utf8; - sourceTree = ""; - }; - 36DA23075AF92B22676D34C9 /* audio */ = { - isa = PBXGroup; - children = ( - 1839744763625B5D64EC70AC /* Audio.cpp */, - 24EE059E03D8155F4BFF64D6 /* Audio.h */, - 7DB6750C1F01062849171B8B /* null */, - 264B1FF46F2C68D26B7B158D /* openal */, - 2FB732687B1669402408356D /* Source.cpp */, - 46CA2B6B17C32BBE55772268 /* Source.h */, - 02CA1BE908D91B104EB9590F /* wrap_Audio.cpp */, - 5FF97D522B8872947DED611C /* wrap_Audio.h */, - 02662CBC29B954295A634A39 /* wrap_Source.cpp */, - 330F59B11A5B5D1B44DC07BF /* wrap_Source.h */, - ); - path = audio; - sourceTree = ""; - }; - 3AED1DE005A53DDB07902760 /* luasocket */ = { - isa = PBXGroup; - children = ( - 1350109F709C227D4AFD423C /* libluasocket */, - 2DC90F3C6160198256795C75 /* luasocket.cpp */, - 6B2E52E6185E6980660F1374 /* luasocket.h */, - ); - path = luasocket; - sourceTree = ""; - }; - 3D490B3A36B935BD14B05986 /* Collision */ = { - isa = PBXGroup; - children = ( - 7BC957592F43649453A57B23 /* Shapes */, - 4B5F4DF8110020A96B5D3EAB /* b2BroadPhase.cpp */, - 32FD3FEE52FD1911405B3C59 /* b2BroadPhase.h */, - 7E7A068041FD553876712F05 /* b2CollideCircle.cpp */, - 1B036C7C5A8832AE53BB1C06 /* b2CollideEdge.cpp */, - 427B4B2517C0516844370E3D /* b2CollidePolygon.cpp */, - 32CC11481CD9164455455D72 /* b2Collision.cpp */, - 7F911CF2107B22F44C5B2542 /* b2Collision.h */, - 175A1B8D733B2D4803F64AC1 /* b2Distance.cpp */, - 034144EE6C33421377674516 /* b2Distance.h */, - 59D27EA33E8E62E15C185948 /* b2DynamicTree.cpp */, - 11CF30E73CEA2D8D0A1B17D3 /* b2DynamicTree.h */, - 1F0D375C38A245E403E53DB5 /* b2TimeOfImpact.cpp */, - 1C5B57F87B315E39005B119F /* b2TimeOfImpact.h */, - ); - path = Collision; - sourceTree = ""; - }; - 47217E6729AC72E74FF651E3 /* lullaby */ = { - isa = PBXGroup; - children = ( - 4E15567759041CC379292BE6 /* Decoder.cpp */, - 733758E8028B20BB799A7BE6 /* Decoder.h */, - 4A774BC26B7235E410D40C8E /* FLACDecoder.cpp */, - 3C9253C8152355E1274814B7 /* FLACDecoder.h */, - 02F0197227150E1B28D9425B /* GmeDecoder.cpp */, - 64AC15B600F2473651823D40 /* GmeDecoder.h */, - 407422E8589417B6683D1042 /* ModPlugDecoder.cpp */, - 31C84D0129AE5F6044A94AC2 /* ModPlugDecoder.h */, - 1F875B224C4E1B9E35854766 /* Mpg123Decoder.cpp */, - 6B255FFC4A2C404E50512CB5 /* Mpg123Decoder.h */, - 2A5F7DCB40652F9B7D61073A /* Sound.cpp */, - 77234CEE2EFE633537975850 /* Sound.h */, - 727648E06CD863A2582F798F /* VorbisDecoder.cpp */, - 4A80315175C5625804AA4A56 /* VorbisDecoder.h */, - FAF670541818501300DBDEEA /* WaveDecoder.cpp */, - FAF670551818501300DBDEEA /* WaveDecoder.h */, - ); - path = lullaby; - sourceTree = ""; - }; - 48DE0A5A52042D0361883E40 /* libraries */ = { - isa = PBXGroup; - children = ( - 63287ED84D0F2EEB65D249A3 /* Box2D */, - FAE010D7170DDE99006F29D0 /* ddsparse */, - FA5FDC5E1788D548002F0ED2 /* enet */, - 3AED1DE005A53DDB07902760 /* luasocket */, - FAA0A45B1A704016009487CB /* luautf8 */, - FA0354691731F3A700284828 /* noise1234 */, - 36C14C81334735EC54E33637 /* utf8 */, - FAF6704318184FF800DBDEEA /* Wuff */, - ); - name = libraries; - path = ../../src/libraries; - sourceTree = ""; - }; - 4BAB08EE4A6B4A1A01DA50A4 /* sound */ = { - isa = PBXGroup; - children = ( - 43A258C229C75C15238E520C /* Decoder.h */, - 47217E6729AC72E74FF651E3 /* lullaby */, - 30ED4BB03C5F11254AF12E98 /* Sound.cpp */, - 23985AB32E7B463A2CB87E2C /* Sound.h */, - 0C5C6C6E47851D1308411DE6 /* SoundData.cpp */, - 785D31764A1D6CDE21BC6404 /* SoundData.h */, - 5CF629B94C7802D446D61C45 /* wrap_Decoder.cpp */, - 782A153A1E6314CB583250E0 /* wrap_Decoder.h */, - 385902BD584E7D73154E4EBB /* wrap_Sound.cpp */, - 3960064616E26C0213E323E2 /* wrap_Sound.h */, - 4DC3617831763D2760335D87 /* wrap_SoundData.cpp */, - 5B5A0BEC36BE007E6E491396 /* wrap_SoundData.h */, - ); - path = sound; - sourceTree = ""; - }; - 4E2517690E6C64EB07D164F7 /* event */ = { - isa = PBXGroup; - children = ( - 24265680279E30A40DF81946 /* Event.cpp */, - 4F1862D324C9429157A27A2E /* Event.h */, - 09000F404D44660029EF38F0 /* sdl */, - ); - path = event; - sourceTree = ""; - }; - 501126AD67DC2A4B527654EA /* joystick */ = { - isa = PBXGroup; - children = ( - FAB0078D1740C12D00A9664D /* Joystick.cpp */, - FAB0078E1740C12D00A9664D /* Joystick.h */, - 4C606AEC342457600C3F0741 /* JoystickModule.h */, - 687216AD6FA406C838284B91 /* sdl */, - FAB007951740C87D00A9664D /* wrap_Joystick.cpp */, - FAB007961740C87D00A9664D /* wrap_Joystick.h */, - 139411436818381E493F00F5 /* wrap_JoystickModule.cpp */, - 2D7B7DEC4FC87878332E41B3 /* wrap_JoystickModule.h */, - ); - path = joystick; - sourceTree = ""; - }; - 54067CFB7D564E5764FA17DC /* love */ = { - isa = PBXGroup; - children = ( - 07571BBD29A9184E2F465E28 /* common */, - 48DE0A5A52042D0361883E40 /* libraries */, - 548A533617C45319431D3ECF /* modules */, - 352E6C5F6F8A681766EB5299 /* scripts */, - FA577A6616C7199700860150 /* Frameworks */, - FA08F5AC16C751BA00F007B5 /* Resources */, - 2F654C0235EB60C744A22507 /* Products */, - ); - name = love; - sourceTree = ""; - usesTabs = 1; - }; - 548A533617C45319431D3ECF /* modules */ = { - isa = PBXGroup; - children = ( - 36DA23075AF92B22676D34C9 /* audio */, - 4E2517690E6C64EB07D164F7 /* event */, - 7B0734182055607468261A5E /* filesystem */, - 196B6B2E1BC81F47771E6467 /* font */, - 586900D11BD011D949F45D7D /* graphics */, - 003F4BA82B6046BC133B3F0F /* image */, - 501126AD67DC2A4B527654EA /* joystick */, - 752A4B4672B6166A2CA30E85 /* keyboard */, - 70C250C41ADF59C0697925C2 /* love */, - FA7C937116DCC6C2006F2BEE /* math */, - 130737AF4BD12D0356A65C87 /* mouse */, - 67F10C1D58A96C1C53563B5C /* physics */, - 4BAB08EE4A6B4A1A01DA50A4 /* sound */, - FA34E7CA174B512200E04D3F /* system */, - 02E0744773D13AD65E7C49DC /* thread */, - 6D590DDD41E72A60262E4A4F /* timer */, - 153D76205F7A4ACD12FB4C0E /* window */, - ); - name = modules; - path = ../../src/modules; - sourceTree = ""; - }; - 586900D11BD011D949F45D7D /* graphics */ = { - isa = PBXGroup; - children = ( - 4941079838020ECA049B5C21 /* Color.h */, - 5D93601669875EE06721689E /* Drawable.h */, - 03F17FF546D637744E263961 /* Graphics.cpp */, - 777352284E262F48543E6E7F /* Graphics.h */, - 75093EE94918576801F50993 /* opengl */, - FAC86E671724555D00EED715 /* Quad.cpp */, - FAC86E681724555D00EED715 /* Quad.h */, - 58CC50E70A375FDF53EF01B6 /* Texture.cpp */, - 1DA41DFF0869489411A71AFC /* Texture.h */, - 4B731754147B27AF73AC5358 /* Volatile.cpp */, - 0CFF64090F0F4F481BB80CF0 /* Volatile.h */, - ); - path = graphics; - sourceTree = ""; - }; - 59207AEF0DE97A632CE30FE6 /* Rope */ = { - isa = PBXGroup; - children = ( - 4832527C02C105776536438A /* b2Rope.cpp */, - 1A95437F513E662113AC154A /* b2Rope.h */, - ); - path = Rope; - sourceTree = ""; - }; - 5CB1063C6DF04E2E409F2DB0 /* utf8 */ = { - isa = PBXGroup; - children = ( - 3C4D70E82FC12A9A15EC39BA /* checked.h */, - 74EE403977734BA53DDF16F0 /* core.h */, - 7CA02BF51EBA65C263E15250 /* unchecked.h */, - ); - path = utf8; - sourceTree = ""; - }; - 5CFF12567FFB5C5166631693 /* sdl */ = { - isa = PBXGroup; - children = ( - 113269E55FCF208D2D6754BC /* Timer.cpp */, - 6BEE6511475F641A70A0591E /* Timer.h */, - ); - path = sdl; - sourceTree = ""; - }; - 63082CBA23A6046C60DA1C6F /* sdl */ = { - isa = PBXGroup; - children = ( - 6CDD4F3320303D222C180CD0 /* Window.cpp */, - 7EC570BC74C369747ED0183A /* Window.h */, - ); - path = sdl; - sourceTree = ""; - }; - 63287ED84D0F2EEB65D249A3 /* Box2D */ = { - isa = PBXGroup; - children = ( - 7B7A47F267D77A570D995658 /* Box2D.h */, - 3D490B3A36B935BD14B05986 /* Collision */, - 71F67B4A51CC637C6D113715 /* Common */, - 18AF317B298302545C386404 /* Dynamics */, - 59207AEF0DE97A632CE30FE6 /* Rope */, - ); - path = Box2D; - sourceTree = ""; - }; - 64DD03B45BF6265723662DAF /* physfs */ = { - isa = PBXGroup; - children = ( - 4E0F565B03D05C3722496F27 /* File.cpp */, - 47D46915001F342A3CD23E86 /* File.h */, - 6DE3129F3A0B2D9C178118F3 /* Filesystem.cpp */, - 219636CF6780074F7871463D /* Filesystem.h */, - ); - path = physfs; - sourceTree = ""; - }; - 67F10C1D58A96C1C53563B5C /* physics */ = { - isa = PBXGroup; - children = ( - 2DCE45C868A0091B762C7377 /* Body.cpp */, - 286660042F9654F61AB90D7A /* Body.h */, - 69DB4423147C7E3362941E75 /* Joint.cpp */, - 065364DB7A29396C777213D0 /* Joint.h */, - 70F425B5336E1CD652827FD0 /* Shape.cpp */, - 00744BD73BFE3F591537728F /* Shape.h */, - 34067FA94AEA4D7C3E103A64 /* box2d */, - ); - path = physics; - sourceTree = ""; - }; - 68027AB25AAF234679615C14 /* Joints */ = { - isa = PBXGroup; - children = ( - 33627AE97E66147E76804EF9 /* b2DistanceJoint.cpp */, - 086B4A4E025B4B5F606747A2 /* b2DistanceJoint.h */, - 13093ADC78426C5009DF3B13 /* b2FrictionJoint.cpp */, - 78C0420E2548523B241E3D61 /* b2FrictionJoint.h */, - 69A01D71103275D451F965B2 /* b2GearJoint.cpp */, - 6590063A6E4B3AEF4550443C /* b2GearJoint.h */, - 6F1B61350B6B36AF216C57D7 /* b2Joint.cpp */, - 10F83B5848B77A937C250FEB /* b2Joint.h */, - FA0A4BEE182E0C2800E1E4D2 /* b2MotorJoint.cpp */, - FA0A4BEF182E0C2800E1E4D2 /* b2MotorJoint.h */, - 4A47384208BE218F688C4EFA /* b2MouseJoint.cpp */, - 0AA1539E66B2641B66130709 /* b2MouseJoint.h */, - 1E27263847302FCA1F843B47 /* b2PrismaticJoint.cpp */, - 64491E98483728D601110EF0 /* b2PrismaticJoint.h */, - 66EC3C0463A703A97445193B /* b2PulleyJoint.cpp */, - 7A840CB020803B7C6C097CD1 /* b2PulleyJoint.h */, - 11D62E873092729B497B447F /* b2RevoluteJoint.cpp */, - 774434E1581A23EC1B0F1E6F /* b2RevoluteJoint.h */, - 38AF72D4790619BB022E2AEF /* b2RopeJoint.cpp */, - 2C970EA7229F20934C72581D /* b2RopeJoint.h */, - 5BCC49F529F726385CD41FA6 /* b2WeldJoint.cpp */, - 2D290E902C451D6849051FEF /* b2WeldJoint.h */, - 0602250B7E4664E43CA113DC /* b2WheelJoint.cpp */, - 23A266CD4FC729355E23606E /* b2WheelJoint.h */, - ); - path = Joints; - sourceTree = ""; - }; - 687216AD6FA406C838284B91 /* sdl */ = { - isa = PBXGroup; - children = ( - FAB007911740C28900A9664D /* Joystick.cpp */, - FAB007921740C28900A9664D /* Joystick.h */, - 55B425307C0C1C4B3EFC3A5F /* JoystickModule.cpp */, - 439E46D768A266780E894800 /* JoystickModule.h */, - ); - path = sdl; - sourceTree = ""; - }; - 6D590DDD41E72A60262E4A4F /* timer */ = { - isa = PBXGroup; - children = ( - 5CFF12567FFB5C5166631693 /* sdl */, - 2D9475890CDA3D3776435622 /* Timer.h */, - 695E4ED13AA0689E64280573 /* wrap_Timer.cpp */, - 7F575BE9573C654B5ED44CC1 /* wrap_Timer.h */, - ); - path = timer; - sourceTree = ""; - }; - 70C250C41ADF59C0697925C2 /* love */ = { - isa = PBXGroup; - children = ( - 19ED419874B46EC16F927524 /* love.cpp */, - 10A608C96F067F972C962EFB /* love.h */, - ); - path = love; - sourceTree = ""; - }; - 71F67B4A51CC637C6D113715 /* Common */ = { - isa = PBXGroup; - children = ( - 55A759CE711E157339930E58 /* b2BlockAllocator.cpp */, - 0F0E666B7C790BB870477994 /* b2BlockAllocator.h */, - 12390CBC115B00D06EF951DD /* b2Draw.cpp */, - 343E66751EBA75264C3400FA /* b2Draw.h */, - 3AC7627D7E1458AA0D8E0522 /* b2GrowableStack.h */, - 2C78323D7D5C628A53EC6931 /* b2Math.cpp */, - 0A0A2DA4094130187F655E52 /* b2Math.h */, - 6FF15DF4423F6426224024C9 /* b2Settings.cpp */, - 090F537B70DA06EA0B29593F /* b2Settings.h */, - 780D5B6358096BEB1F1336EE /* b2StackAllocator.cpp */, - 567C0A0C58931DE54733011B /* b2StackAllocator.h */, - 239054AE7475433E39747DA9 /* b2Timer.cpp */, - 525A4D633D9B0D8B225936D4 /* b2Timer.h */, - ); - path = Common; - sourceTree = ""; - }; - 75093EE94918576801F50993 /* opengl */ = { - isa = PBXGroup; - children = ( - 4AD52074367950B735707CE1 /* Canvas.cpp */, - 23573F2F4F7D56312E663E24 /* Canvas.h */, - 583037E9238A6EF00DD20B1A /* Font.cpp */, - 7EFA04373ADC5CC24DCB5824 /* Font.h */, - 5725505310E75ECC5044583A /* GLee.c */, - 0B930B8571276AA86AB87D80 /* GLee.h */, - 11773415762F3A38421C6DB3 /* Graphics.cpp */, - 389E3CEC356050A27784290E /* Graphics.h */, - 56D6030A0B8F7397715062B9 /* Image.cpp */, - 3CFE5C4A12D5675E7C9C7BF9 /* Image.h */, - FAF4376D17F4AC530074F9E2 /* Mesh.cpp */, - FAF4376E17F4AC530074F9E2 /* Mesh.h */, - 2E406F8328543EC63EB922C6 /* OpenGL.cpp */, - 2C87695707B046B536F347D8 /* OpenGL.h */, - 48A206C9004150640C432100 /* ParticleSystem.cpp */, - 53EE57FF4DBD52BB22701160 /* ParticleSystem.h */, - FA435EA117B36E9C004C3F22 /* Polyline.cpp */, - FA435EA217B36E9C004C3F22 /* Polyline.h */, - FA577A8516C71CF000860150 /* Shader.cpp */, - FA577A8616C71CF000860150 /* Shader.h */, - 4D700D182EAA46273D1E2CC4 /* SpriteBatch.cpp */, - 727D23FA1CC755B902471A45 /* SpriteBatch.h */, - FA9B49281875EFB900201DA9 /* Texture.h */, - 426B1C4475DC54505B824B7F /* VertexBuffer.cpp */, - 577B66502A5360AE60733B10 /* VertexBuffer.h */, - 4E3251027026699A1D4D310D /* wrap_Canvas.cpp */, - 3AFB3A18384A2D22352262B1 /* wrap_Canvas.h */, - 7A3B52AF1FBE73FC36AD50C8 /* wrap_Font.cpp */, - 3CDA3E9B364F17A902384AAC /* wrap_Font.h */, - 1A9810F758AC1D1E4B6431FD /* wrap_Graphics.cpp */, - 05DF237B657042515F3B4E52 /* wrap_Graphics.h */, - 14AE68E14C2C74526A612FA0 /* wrap_Image.cpp */, - 78A2127828793F7A778D7932 /* wrap_Image.h */, - FA7AA59017F6AC1F00704BE2 /* wrap_Mesh.cpp */, - FA7AA59117F6AC1F00704BE2 /* wrap_Mesh.h */, - 5F42052D7C8271A1105541DE /* wrap_ParticleSystem.cpp */, - 678E42771C9B415628A3234D /* wrap_ParticleSystem.h */, - FAC86E611724552C00EED715 /* wrap_Quad.cpp */, - FAC86E621724552C00EED715 /* wrap_Quad.h */, - FA577A8716C71CF000860150 /* wrap_Shader.cpp */, - FA577A8816C71CF000860150 /* wrap_Shader.h */, - 02C16FDB537A702F4D42534E /* wrap_SpriteBatch.cpp */, - 2BE75A693BE206B22DAE1B2E /* wrap_SpriteBatch.h */, - FA01BE1C1878E35B00640047 /* wrap_Texture.cpp */, - FA01BE1D1878E35B00640047 /* wrap_Texture.h */, - ); - path = opengl; - sourceTree = ""; - }; - 752A4B4672B6166A2CA30E85 /* keyboard */ = { - isa = PBXGroup; - children = ( - 524741891BB93848039F4174 /* Keyboard.cpp */, - 6C981DA13E3D42DA06891046 /* Keyboard.h */, - 20A8288624E9654322DC388D /* sdl */, - 19F40DF6507028212FEB1D77 /* wrap_Keyboard.cpp */, - 003142374F3D40A518716024 /* wrap_Keyboard.h */, - ); - path = keyboard; - sourceTree = ""; - }; - 7B0734182055607468261A5E /* filesystem */ = { - isa = PBXGroup; - children = ( - 11D141087979064B441B787D /* File.cpp */, - 31A444CF0B4E6DA450120730 /* File.h */, - 62370A494F9D6E2D570065EB /* FileData.cpp */, - 54A13C2209F945671BC27974 /* FileData.h */, - 64DD03B45BF6265723662DAF /* physfs */, - 6C367AE309C453C412D91363 /* wrap_File.cpp */, - 52E15B702C40593D3BF431DF /* wrap_File.h */, - 597478A255B82B56488B4717 /* wrap_FileData.cpp */, - 3512460642B046876D687B22 /* wrap_FileData.h */, - 1E827AE8548C52493ED95629 /* wrap_Filesystem.cpp */, - 5DC271240F0119AE16FA1B8E /* wrap_Filesystem.h */, - ); - path = filesystem; - sourceTree = ""; - }; - 7BC957592F43649453A57B23 /* Shapes */ = { - isa = PBXGroup; - children = ( - 4E6705C154C34FBD143F465E /* b2ChainShape.cpp */, - 6C7E6C3F1CCA1CF6164123F6 /* b2ChainShape.h */, - 08AA5965073A1C520A7A6833 /* b2CircleShape.cpp */, - 153957EB332E1269671E7F4A /* b2CircleShape.h */, - 633E37194CB535AE41A00092 /* b2EdgeShape.cpp */, - 448C492C7AEB7840504F1C9D /* b2EdgeShape.h */, - 08983C025D0655270DF81A5B /* b2PolygonShape.cpp */, - 0E755DCF691828CE11444877 /* b2PolygonShape.h */, - 2FD366F113387BC95125133D /* b2Shape.h */, - ); - path = Shapes; - sourceTree = ""; - }; - 7DB6750C1F01062849171B8B /* null */ = { - isa = PBXGroup; - children = ( - 7CC5707C79175FA6427B3D62 /* Audio.cpp */, - 2E5C2A2F05417B294ED655E8 /* Audio.h */, - 1A304E384AF2119905C01504 /* Source.cpp */, - 104D567660003ADE696D341A /* Source.h */, - ); - path = null; - sourceTree = ""; - }; - 7DE032B3334E559969264529 /* Contacts */ = { - isa = PBXGroup; - children = ( - 468F7A0A484820DE79CE76D2 /* b2ChainAndCircleContact.cpp */, - 174D472C1AFE594D77A0322B /* b2ChainAndCircleContact.h */, - 60C95C7F507A381D0A483B3F /* b2ChainAndPolygonContact.cpp */, - 44E85D982F01082F5E1346B6 /* b2ChainAndPolygonContact.h */, - 58792BC1126C2917432D706B /* b2CircleContact.cpp */, - 21124F915912499179A42115 /* b2CircleContact.h */, - 71F878E2440A021B68D93ABC /* b2Contact.cpp */, - 50EC67CE3ED71F5D13304FD4 /* b2Contact.h */, - 1E9E4F657DEC2772493B79CC /* b2ContactSolver.cpp */, - 5A1C77401B1B32CE326332A1 /* b2ContactSolver.h */, - 1108594E361A22D90D6022E8 /* b2EdgeAndCircleContact.cpp */, - 0A420541704C1C2D718A4D20 /* b2EdgeAndCircleContact.h */, - 243E18977E2A37CC6FDD55A5 /* b2EdgeAndPolygonContact.cpp */, - 5DA322AC59AD7E43183577CB /* b2EdgeAndPolygonContact.h */, - 31871B8B7E1A697A73576040 /* b2PolygonAndCircleContact.cpp */, - 4A1D6DAE45E627BD12903B52 /* b2PolygonAndCircleContact.h */, - 1F4E747212DE41716BC245C9 /* b2PolygonContact.cpp */, - 0A063D006D52330E67FF4B3A /* b2PolygonContact.h */, - ); - path = Contacts; - sourceTree = ""; - }; - FA0354691731F3A700284828 /* noise1234 */ = { - isa = PBXGroup; - children = ( - FA03546A1731F3A700284828 /* simplexnoise1234.cpp */, - FA03546B1731F3A700284828 /* simplexnoise1234.h */, - ); - path = noise1234; - sourceTree = ""; - }; - FA08F5AC16C751BA00F007B5 /* Resources */ = { - isa = PBXGroup; - children = ( - FA08F5AE16C7525600F007B5 /* Info-Framework.plist */, - ); - name = Resources; - sourceTree = ""; - }; - FA34E7CA174B512200E04D3F /* system */ = { - isa = PBXGroup; - children = ( - FA34E7CF174B514F00E04D3F /* sdl */, - FA34E7CB174B513F00E04D3F /* System.cpp */, - FA34E7CC174B513F00E04D3F /* System.h */, - FA34E7D4174B55AF00E04D3F /* wrap_System.cpp */, - FA34E7D5174B55AF00E04D3F /* wrap_System.h */, - ); - path = system; - sourceTree = ""; - }; - FA34E7CF174B514F00E04D3F /* sdl */ = { - isa = PBXGroup; - children = ( - FA34E7D0174B515D00E04D3F /* System.cpp */, - FA34E7D1174B515D00E04D3F /* System.h */, - ); - path = sdl; - sourceTree = ""; - }; - FA577A6616C7199700860150 /* Frameworks */ = { - isa = PBXGroup; - children = ( - FA577A7916C71A1700860150 /* Cocoa.framework */, - FAA627CD18E7E1560080752D /* CoreServices.framework */, - FA577A6716C719D900860150 /* FreeType.framework */, - FA577A6916C719DE00860150 /* IL.framework */, - FA577A8216C71A5300860150 /* libmodplug.framework */, - FA577A6D16C719EA00860150 /* Lua.framework */, - FA577A6F16C719F000860150 /* mpg123.framework */, - FA577A7116C719F400860150 /* Ogg.framework */, - FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */, - FA577A7C16C71A2600860150 /* OpenGL.framework */, - FA577A7316C719F900860150 /* physfs.framework */, - FA9B4A0716E1578300074F42 /* SDL2.framework */, - FA577A7716C71A0800860150 /* Vorbis.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - FA5FDC5E1788D548002F0ED2 /* enet */ = { - isa = PBXGroup; - children = ( - FA5FDC5F1788D548002F0ED2 /* enet.cpp */, - FA5FDC601788D548002F0ED2 /* libenet */, - FA5FDC781788D548002F0ED2 /* lua-enet.h */, - ); - path = enet; - sourceTree = ""; - }; - FA5FDC601788D548002F0ED2 /* libenet */ = { - isa = PBXGroup; - children = ( - FA5FDC611788D548002F0ED2 /* callbacks.c */, - FA5FDC631788D548002F0ED2 /* compress.c */, - FA5FDC641788D548002F0ED2 /* host.c */, - FA5FDC651788D548002F0ED2 /* include */, - FA5FDC711788D548002F0ED2 /* list.c */, - FA5FDC721788D548002F0ED2 /* packet.c */, - FA5FDC731788D548002F0ED2 /* peer.c */, - FA5FDC741788D548002F0ED2 /* protocol.c */, - FA5FDC761788D548002F0ED2 /* unix.c */, - FA5FDC771788D548002F0ED2 /* win32.c */, - ); - path = libenet; - sourceTree = ""; - }; - FA5FDC651788D548002F0ED2 /* include */ = { - isa = PBXGroup; - children = ( - FA5FDC661788D548002F0ED2 /* enet */, - ); - path = include; - sourceTree = ""; - }; - FA5FDC661788D548002F0ED2 /* enet */ = { - isa = PBXGroup; - children = ( - FA5FDC671788D548002F0ED2 /* callbacks.h */, - FA5FDC681788D548002F0ED2 /* enet.h */, - FA5FDC691788D548002F0ED2 /* list.h */, - FA5FDC6A1788D548002F0ED2 /* protocol.h */, - FA5FDC6B1788D548002F0ED2 /* time.h */, - FA5FDC6C1788D548002F0ED2 /* types.h */, - FA5FDC6D1788D548002F0ED2 /* unix.h */, - FA5FDC6E1788D548002F0ED2 /* utility.h */, - FA5FDC6F1788D548002F0ED2 /* win32.h */, - ); - path = enet; - sourceTree = ""; - }; - FA7C937116DCC6C2006F2BEE /* math */ = { - isa = PBXGroup; - children = ( - FAC570FC17402D1100D147E4 /* BezierCurve.cpp */, - FAC570FD17402D1100D147E4 /* BezierCurve.h */, - FA5454C016F1310000D30303 /* MathModule.cpp */, - FA5454C116F1310000D30303 /* MathModule.h */, - FA636D88171B70920065623F /* RandomGenerator.cpp */, - FA636D89171B70920065623F /* RandomGenerator.h */, - FAC570FE17402D1100D147E4 /* wrap_BezierCurve.cpp */, - FAC570FF17402D1100D147E4 /* wrap_BezierCurve.h */, - FA7C937516DCC6C2006F2BEE /* wrap_Math.cpp */, - FA7C937616DCC6C2006F2BEE /* wrap_Math.h */, - FA636D8C171B72A70065623F /* wrap_RandomGenerator.cpp */, - FA636D8D171B72A70065623F /* wrap_RandomGenerator.h */, - ); - path = math; - sourceTree = ""; - }; - FAA0A45B1A704016009487CB /* luautf8 */ = { - isa = PBXGroup; - children = ( - FAA0A45C1A704016009487CB /* lprefix.h */, - FAA0A45D1A704016009487CB /* lutf8lib.c */, - FAA0A4601A70431A009487CB /* lutf8lib.h */, - ); - path = luautf8; - sourceTree = ""; - }; - FAE010D7170DDE99006F29D0 /* ddsparse */ = { - isa = PBXGroup; - children = ( - FAE010D8170DDE99006F29D0 /* ddsinfo.h */, - FAE010D9170DDE99006F29D0 /* ddsparse.cpp */, - FAE010DA170DDE99006F29D0 /* ddsparse.h */, - ); - path = ddsparse; - sourceTree = ""; - }; - FAF272B016E3D46400CC193A /* sdl */ = { - isa = PBXGroup; - children = ( - FAF272B116E3D46400CC193A /* Thread.cpp */, - FAF272B216E3D46400CC193A /* Thread.h */, - FAF272B316E3D46400CC193A /* threads.cpp */, - FAF272B416E3D46400CC193A /* threads.h */, - ); - path = sdl; - sourceTree = ""; - }; - FAF6704318184FF800DBDEEA /* Wuff */ = { - isa = PBXGroup; - children = ( - FAF6704418184FF800DBDEEA /* wuff.c */, - FAF6704518184FF800DBDEEA /* wuff.h */, - FAF6704618184FF800DBDEEA /* wuff_config.h */, - FAF6704718184FF800DBDEEA /* wuff_convert.c */, - FAF6704818184FF800DBDEEA /* wuff_convert.h */, - FAF6704918184FF800DBDEEA /* wuff_internal.c */, - FAF6704A18184FF800DBDEEA /* wuff_internal.h */, - FAF6704B18184FF800DBDEEA /* wuff_memory.c */, - ); - path = Wuff; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - FA577AAC16C7507900860150 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FA7C937B16DCC6C2006F2BEE /* wrap_Math.h in Headers */, - FAF272A516E3D44400CC193A /* Channel.h in Headers */, - FAF272A716E3D44400CC193A /* LuaThread.h in Headers */, - FAF4377017F4AC530074F9E2 /* Mesh.h in Headers */, - FAF272A916E3D44400CC193A /* ThreadModule.h in Headers */, - FAF6705018184FF800DBDEEA /* wuff_convert.h in Headers */, - FAF272AB16E3D44400CC193A /* wrap_Channel.h in Headers */, - FA0A4BF9182E260200E1E4D2 /* wrap_MotorJoint.h in Headers */, - FAF272AD16E3D44400CC193A /* wrap_LuaThread.h in Headers */, - FAF272AF16E3D44400CC193A /* wrap_ThreadModule.h in Headers */, - FAF272B616E3D46400CC193A /* Thread.h in Headers */, - FAF272B816E3D46400CC193A /* threads.h in Headers */, - FA5454C316F1310000D30303 /* MathModule.h in Headers */, - FAA0A45E1A704016009487CB /* lprefix.h in Headers */, - FAAC6B03170A373B008A61C5 /* CompressedData.h in Headers */, - FAE010DB170DDE99006F29D0 /* ddsinfo.h in Headers */, - FAE010DD170DDE99006F29D0 /* ddsparse.h in Headers */, - FAE010E1170DE25E006F29D0 /* ddsHandler.h in Headers */, - FAE010E5170DF75C006F29D0 /* wrap_CompressedData.h in Headers */, - FAF6704E18184FF800DBDEEA /* wuff_config.h in Headers */, - FA0CDE3D1710F9A50056E8D7 /* FormatHandler.h in Headers */, - FA7AA59317F6AC1F00704BE2 /* wrap_Mesh.h in Headers */, - FA01BE1F1878E35B00640047 /* wrap_Texture.h in Headers */, - FAEC808B1710FEA60057279A /* ImageData.h in Headers */, - FAD8E84F1A7C949B0084E24D /* Vera.ttf.h in Headers */, - FAEC808F1711E76C0057279A /* CompressedData.h in Headers */, - FA636D8B171B70920065623F /* RandomGenerator.h in Headers */, - FA636D8F171B72A70065623F /* wrap_RandomGenerator.h in Headers */, - FAC86E641724552C00EED715 /* wrap_Quad.h in Headers */, - FAC86E6C1724555D00EED715 /* Quad.h in Headers */, - FA03546D1731F3A700284828 /* simplexnoise1234.h in Headers */, - FA3D9E0E16E68DE600CA6630 /* Cursor.h in Headers */, - FA3D9E1216E68EAE00CA6630 /* Cursor.h in Headers */, - FA3D9E1616E6D41100CA6630 /* wrap_Cursor.h in Headers */, - FA9FC0B1173D6E3E005027FF /* wrap_Window.h in Headers */, - FAB007901740C12D00A9664D /* Joystick.h in Headers */, - FAF6705218184FF800DBDEEA /* wuff_internal.h in Headers */, - FAB007941740C28900A9664D /* Joystick.h in Headers */, - FAB007981740C87D00A9664D /* wrap_Joystick.h in Headers */, - FA9B492A1875EFB900201DA9 /* Texture.h in Headers */, - FAC5710117402D1100D147E4 /* BezierCurve.h in Headers */, - FAC5710317402D1100D147E4 /* wrap_BezierCurve.h in Headers */, - FA5FDC7E1788D548002F0ED2 /* callbacks.h in Headers */, - FA5FDC7F1788D548002F0ED2 /* enet.h in Headers */, - FA5FDC801788D548002F0ED2 /* list.h in Headers */, - FA5FDC811788D548002F0ED2 /* protocol.h in Headers */, - FA5FDC821788D548002F0ED2 /* time.h in Headers */, - FA5FDC831788D548002F0ED2 /* types.h in Headers */, - FA0A4BF5182E1AD600E1E4D2 /* MotorJoint.h in Headers */, - FA5FDC841788D548002F0ED2 /* unix.h in Headers */, - FAA0A4611A70431A009487CB /* lutf8lib.h in Headers */, - FA0A4BF1182E0C2800E1E4D2 /* b2MotorJoint.h in Headers */, - FA5FDC851788D548002F0ED2 /* utility.h in Headers */, - FAF6704D18184FF800DBDEEA /* wuff.h in Headers */, - FA5FDC861788D548002F0ED2 /* win32.h in Headers */, - FA5FDC8F1788D548002F0ED2 /* lua-enet.h in Headers */, - FA7175AA178E8418001FE7FE /* lua.h in Headers */, - FA34E7CE174B513F00E04D3F /* System.h in Headers */, - FA34E7D3174B515D00E04D3F /* System.h in Headers */, - FAF670571818501300DBDEEA /* WaveDecoder.h in Headers */, - FA1EF7C51799FEB200FF380C /* wrap_System.h in Headers */, - FA435EA417B36E9C004C3F22 /* Polyline.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - FA577AAE16C7507900860150 /* Framework */ = { - isa = PBXNativeTarget; - buildConfigurationList = FA577ABF16C7507900860150 /* Build configuration list for PBXNativeTarget "Framework" */; - buildPhases = ( - FA577AAA16C7507900860150 /* Sources */, - FA577AAB16C7507900860150 /* Frameworks */, - FA577AAC16C7507900860150 /* Headers */, - FA577AAD16C7507900860150 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Framework; - productName = love; - productReference = FA577AAF16C7507900860150 /* love.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0510; - }; - buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "love-framework" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - en, - ); - mainGroup = 54067CFB7D564E5764FA17DC /* love */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - FA577AAE16C7507900860150 /* Framework */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - FA577AAD16C7507900860150 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - FA577AAA16C7507900860150 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FA08F5B016C752F900F007B5 /* Source.cpp in Sources */, - FA08F5B116C752F900F007B5 /* wrap_Audio.cpp in Sources */, - FA08F5B216C752F900F007B5 /* wrap_Source.cpp in Sources */, - FA08F5B316C752FC00F007B5 /* Audio.cpp in Sources */, - FA08F5B416C7530100F007B5 /* Audio.cpp in Sources */, - FA08F5B516C7530100F007B5 /* Source.cpp in Sources */, - FAF6705118184FF800DBDEEA /* wuff_internal.c in Sources */, - FA08F5B616C7530A00F007B5 /* Audio.cpp in Sources */, - FA08F5B716C7530A00F007B5 /* Pool.cpp in Sources */, - FA08F5B816C7530A00F007B5 /* Source.cpp in Sources */, - FA08F5B916C7532A00F007B5 /* b64.cpp in Sources */, - FA08F5BA16C7532A00F007B5 /* delay.cpp in Sources */, - FA08F5BB16C7532A00F007B5 /* Exception.cpp in Sources */, - FA08F5BD16C7532A00F007B5 /* Matrix.cpp in Sources */, - FA08F5BE16C7532A00F007B5 /* Memoizer.cpp in Sources */, - FA08F5BF16C7532A00F007B5 /* Module.cpp in Sources */, - FA08F5C016C7532A00F007B5 /* Object.cpp in Sources */, - FAF670561818501300DBDEEA /* WaveDecoder.cpp in Sources */, - FA08F5C116C7532A00F007B5 /* Reference.cpp in Sources */, - FA08F5C216C7532A00F007B5 /* runtime.cpp in Sources */, - FA08F5C316C7532A00F007B5 /* utf8.cpp in Sources */, - FA08F5C416C7532A00F007B5 /* Variant.cpp in Sources */, - FA08F5C516C7532A00F007B5 /* Vector.cpp in Sources */, - FA08F5C616C7532A00F007B5 /* wrap_Data.cpp in Sources */, - FA08F5C716C7533C00F007B5 /* b2BroadPhase.cpp in Sources */, - FA08F5C816C7533C00F007B5 /* b2CollideCircle.cpp in Sources */, - FA08F5C916C7533C00F007B5 /* b2CollideEdge.cpp in Sources */, - FA08F5CA16C7533C00F007B5 /* b2CollidePolygon.cpp in Sources */, - FA08F5CB16C7533C00F007B5 /* b2Collision.cpp in Sources */, - FA08F5CC16C7533C00F007B5 /* b2Distance.cpp in Sources */, - FA08F5CD16C7533C00F007B5 /* b2DynamicTree.cpp in Sources */, - FA08F5CE16C7533C00F007B5 /* b2TimeOfImpact.cpp in Sources */, - FA08F5CF16C7534400F007B5 /* b2ChainShape.cpp in Sources */, - FA08F5D016C7534400F007B5 /* b2CircleShape.cpp in Sources */, - FA08F5D116C7534400F007B5 /* b2EdgeShape.cpp in Sources */, - FA08F5D216C7534400F007B5 /* b2PolygonShape.cpp in Sources */, - FA08F5D316C7535000F007B5 /* b2BlockAllocator.cpp in Sources */, - FA08F5D416C7535000F007B5 /* b2Draw.cpp in Sources */, - FA0A4BF4182E1AD600E1E4D2 /* MotorJoint.cpp in Sources */, - FA08F5D516C7535000F007B5 /* b2Math.cpp in Sources */, - FA08F5D616C7535000F007B5 /* b2Settings.cpp in Sources */, - FA08F5D716C7535000F007B5 /* b2StackAllocator.cpp in Sources */, - FA08F5D816C7535000F007B5 /* b2Timer.cpp in Sources */, - FA08F5D916C7536C00F007B5 /* b2Body.cpp in Sources */, - FA08F5DA16C7536C00F007B5 /* b2ContactManager.cpp in Sources */, - FA08F5DB16C7536C00F007B5 /* b2Fixture.cpp in Sources */, - FA08F5DC16C7536C00F007B5 /* b2Island.cpp in Sources */, - FA08F5DD16C7536C00F007B5 /* b2World.cpp in Sources */, - FA08F5DE16C7536C00F007B5 /* b2WorldCallbacks.cpp in Sources */, - FA08F5DF16C7537B00F007B5 /* b2ChainAndCircleContact.cpp in Sources */, - FA08F5E016C7537B00F007B5 /* b2ChainAndPolygonContact.cpp in Sources */, - FA08F5E116C7537B00F007B5 /* b2CircleContact.cpp in Sources */, - FA08F5E216C7537B00F007B5 /* b2Contact.cpp in Sources */, - FA08F5E316C7537B00F007B5 /* b2ContactSolver.cpp in Sources */, - FA08F5E416C7537B00F007B5 /* b2EdgeAndCircleContact.cpp in Sources */, - FA08F5E516C7537B00F007B5 /* b2EdgeAndPolygonContact.cpp in Sources */, - FA08F5E616C7537B00F007B5 /* b2PolygonAndCircleContact.cpp in Sources */, - FA08F5E716C7537B00F007B5 /* b2PolygonContact.cpp in Sources */, - FA08F5E816C7538F00F007B5 /* b2DistanceJoint.cpp in Sources */, - FA08F5E916C7538F00F007B5 /* b2FrictionJoint.cpp in Sources */, - FA08F5EA16C7538F00F007B5 /* b2GearJoint.cpp in Sources */, - FA08F5EB16C7538F00F007B5 /* b2Joint.cpp in Sources */, - FA08F5EC16C7538F00F007B5 /* b2MouseJoint.cpp in Sources */, - FA08F5ED16C7538F00F007B5 /* b2PrismaticJoint.cpp in Sources */, - FAF6705318184FF800DBDEEA /* wuff_memory.c in Sources */, - FA08F5EE16C7538F00F007B5 /* b2PulleyJoint.cpp in Sources */, - FA08F5EF16C7538F00F007B5 /* b2RevoluteJoint.cpp in Sources */, - FA08F5F016C7538F00F007B5 /* b2RopeJoint.cpp in Sources */, - FA08F5F116C7538F00F007B5 /* b2WeldJoint.cpp in Sources */, - FA08F5F216C7538F00F007B5 /* b2WheelJoint.cpp in Sources */, - FA08F5F316C7539B00F007B5 /* b2Rope.cpp in Sources */, - FA08F5F416C753A400F007B5 /* luasocket.cpp in Sources */, - FA08F5F516C753B800F007B5 /* auxiliar.c in Sources */, - FA08F5F616C753B800F007B5 /* buffer.c in Sources */, - FAF6704F18184FF800DBDEEA /* wuff_convert.c in Sources */, - FA08F5F716C753B800F007B5 /* except.c in Sources */, - FA08F5F816C753B800F007B5 /* inet.c in Sources */, - FA08F5F916C753B800F007B5 /* io.c in Sources */, - FA08F5FA16C753B800F007B5 /* luasocket.c in Sources */, - FA08F5FB16C753B800F007B5 /* mime.c in Sources */, - FA08F5FC16C753B800F007B5 /* options.c in Sources */, - FA08F5FD16C753B800F007B5 /* select.c in Sources */, - FA08F5FE16C753B800F007B5 /* tcp.c in Sources */, - FA08F5FF16C753B800F007B5 /* timeout.c in Sources */, - FA08F60016C753B800F007B5 /* udp.c in Sources */, - FA08F60116C753B800F007B5 /* unix.c in Sources */, - FA08F60216C753B800F007B5 /* usocket.c in Sources */, - FA08F60316C753CE00F007B5 /* Event.cpp in Sources */, - FA08F60416C753CE00F007B5 /* Event.cpp in Sources */, - FA08F60516C753CE00F007B5 /* wrap_Event.cpp in Sources */, - FA08F60616C753DB00F007B5 /* File.cpp in Sources */, - FA08F60716C753DB00F007B5 /* FileData.cpp in Sources */, - FA08F60816C753DB00F007B5 /* File.cpp in Sources */, - FA08F60916C753DB00F007B5 /* Filesystem.cpp in Sources */, - FA08F60A16C753DB00F007B5 /* wrap_File.cpp in Sources */, - FA08F60B16C753DB00F007B5 /* wrap_FileData.cpp in Sources */, - FA08F60C16C753DB00F007B5 /* wrap_Filesystem.cpp in Sources */, - FA08F60D16C753E700F007B5 /* Font.cpp in Sources */, - FA08F60E16C753E700F007B5 /* TrueTypeRasterizer.cpp in Sources */, - FA08F60F16C753E700F007B5 /* wrap_Font.cpp in Sources */, - FA08F61016C753E700F007B5 /* GlyphData.cpp in Sources */, - FA08F61116C753E700F007B5 /* ImageRasterizer.cpp in Sources */, - FA08F61216C753E700F007B5 /* Rasterizer.cpp in Sources */, - FA08F61316C753E700F007B5 /* wrap_GlyphData.cpp in Sources */, - FA08F61416C753E700F007B5 /* wrap_Rasterizer.cpp in Sources */, - FA08F61716C753F600F007B5 /* Graphics.cpp in Sources */, - FA08F61816C753F600F007B5 /* Texture.cpp in Sources */, - FA08F61A16C753F600F007B5 /* Volatile.cpp in Sources */, - FA08F61B16C7541400F007B5 /* Canvas.cpp in Sources */, - FA08F61C16C7541400F007B5 /* Font.cpp in Sources */, - FA08F61D16C7541400F007B5 /* GLee.c in Sources */, - FA08F61E16C7541400F007B5 /* Graphics.cpp in Sources */, - FAF4376F17F4AC530074F9E2 /* Mesh.cpp in Sources */, - FA08F61F16C7541400F007B5 /* Image.cpp in Sources */, - FA08F62016C7541400F007B5 /* OpenGL.cpp in Sources */, - FA08F62116C7541400F007B5 /* ParticleSystem.cpp in Sources */, - FA08F62316C7541400F007B5 /* Shader.cpp in Sources */, - FA08F62416C7541400F007B5 /* SpriteBatch.cpp in Sources */, - FA08F62516C7541400F007B5 /* VertexBuffer.cpp in Sources */, - FA08F62616C7541400F007B5 /* wrap_Canvas.cpp in Sources */, - FA08F62716C7541400F007B5 /* wrap_Font.cpp in Sources */, - FA08F62816C7541400F007B5 /* wrap_Graphics.cpp in Sources */, - FA08F62916C7541400F007B5 /* wrap_Image.cpp in Sources */, - FA08F62A16C7541400F007B5 /* wrap_ParticleSystem.cpp in Sources */, - FA08F62C16C7541400F007B5 /* wrap_Shader.cpp in Sources */, - FA0A4BFA182E26F500E1E4D2 /* wrap_MotorJoint.cpp in Sources */, - FA08F62D16C7541400F007B5 /* wrap_SpriteBatch.cpp in Sources */, - FA08F62E16C7542600F007B5 /* ImageData.cpp in Sources */, - FA08F62F16C7542600F007B5 /* Image.cpp in Sources */, - FA08F63016C7542600F007B5 /* DevilHandler.cpp in Sources */, - FA08F63116C7542600F007B5 /* wrap_Image.cpp in Sources */, - FA08F63216C7542600F007B5 /* wrap_ImageData.cpp in Sources */, - FA08F63416C7542D00F007B5 /* JoystickModule.cpp in Sources */, - FA7AA59217F6AC1F00704BE2 /* wrap_Mesh.cpp in Sources */, - FA08F63516C7542D00F007B5 /* wrap_JoystickModule.cpp in Sources */, - FA08F63616C7543400F007B5 /* Keyboard.cpp in Sources */, - FA08F63716C7543400F007B5 /* Keyboard.cpp in Sources */, - FA08F63816C7543400F007B5 /* wrap_Keyboard.cpp in Sources */, - FA08F63916C7543A00F007B5 /* love.cpp in Sources */, - FA08F63A16C7544300F007B5 /* Mouse.cpp in Sources */, - FA08F63B16C7544300F007B5 /* Mouse.cpp in Sources */, - FA08F63C16C7544300F007B5 /* wrap_Mouse.cpp in Sources */, - FA08F63D16C7544B00F007B5 /* Body.cpp in Sources */, - FA08F63E16C7544B00F007B5 /* Joint.cpp in Sources */, - FA08F63F16C7544B00F007B5 /* Shape.cpp in Sources */, - FA08F64016C7546400F007B5 /* Body.cpp in Sources */, - FA08F64116C7546400F007B5 /* ChainShape.cpp in Sources */, - FA08F64216C7546400F007B5 /* CircleShape.cpp in Sources */, - FA08F64316C7546400F007B5 /* Contact.cpp in Sources */, - FA08F64416C7546400F007B5 /* DistanceJoint.cpp in Sources */, - FA08F64516C7546400F007B5 /* EdgeShape.cpp in Sources */, - FA08F64616C7546400F007B5 /* Fixture.cpp in Sources */, - FA08F64716C7546400F007B5 /* FrictionJoint.cpp in Sources */, - FA08F64816C7546400F007B5 /* GearJoint.cpp in Sources */, - FA08F64916C7546400F007B5 /* Joint.cpp in Sources */, - FA08F64A16C7546400F007B5 /* MouseJoint.cpp in Sources */, - FA08F64B16C7546400F007B5 /* Physics.cpp in Sources */, - FA08F64C16C7546400F007B5 /* PolygonShape.cpp in Sources */, - FA08F64D16C7546400F007B5 /* PrismaticJoint.cpp in Sources */, - FA08F64E16C7546400F007B5 /* PulleyJoint.cpp in Sources */, - FA08F64F16C7546400F007B5 /* RevoluteJoint.cpp in Sources */, - FA08F65016C7546400F007B5 /* RopeJoint.cpp in Sources */, - FA08F65116C7546400F007B5 /* Shape.cpp in Sources */, - FA08F65216C7547300F007B5 /* WeldJoint.cpp in Sources */, - FAF6704C18184FF800DBDEEA /* wuff.c in Sources */, - FA08F65316C7547300F007B5 /* WheelJoint.cpp in Sources */, - FA08F65416C7547300F007B5 /* World.cpp in Sources */, - FA08F65516C7547300F007B5 /* wrap_Body.cpp in Sources */, - FA08F65616C7547300F007B5 /* wrap_ChainShape.cpp in Sources */, - FA08F65716C7547300F007B5 /* wrap_CircleShape.cpp in Sources */, - FA08F65816C7547300F007B5 /* wrap_Contact.cpp in Sources */, - FA08F65916C7547300F007B5 /* wrap_DistanceJoint.cpp in Sources */, - FA08F65A16C7547300F007B5 /* wrap_EdgeShape.cpp in Sources */, - FA08F65B16C7547300F007B5 /* wrap_Fixture.cpp in Sources */, - FA08F65C16C7547300F007B5 /* wrap_FrictionJoint.cpp in Sources */, - FA08F65D16C7548200F007B5 /* wrap_GearJoint.cpp in Sources */, - FA08F65E16C7548200F007B5 /* wrap_Joint.cpp in Sources */, - FA08F65F16C7548200F007B5 /* wrap_MouseJoint.cpp in Sources */, - FA08F66016C7548200F007B5 /* wrap_Physics.cpp in Sources */, - FA08F66116C7548200F007B5 /* wrap_PolygonShape.cpp in Sources */, - FA08F66216C7548200F007B5 /* wrap_PrismaticJoint.cpp in Sources */, - FA08F66316C7548200F007B5 /* wrap_PulleyJoint.cpp in Sources */, - FA08F66416C7548200F007B5 /* wrap_RevoluteJoint.cpp in Sources */, - FA08F66516C7548200F007B5 /* wrap_RopeJoint.cpp in Sources */, - FA08F66616C7548200F007B5 /* wrap_Shape.cpp in Sources */, - FA08F66716C7548200F007B5 /* wrap_WeldJoint.cpp in Sources */, - FA08F66816C7548200F007B5 /* wrap_WheelJoint.cpp in Sources */, - FA08F66916C7548200F007B5 /* wrap_World.cpp in Sources */, - FA08F66A16C7549200F007B5 /* Sound.cpp in Sources */, - FADD58DD18C30367005FC3BF /* FormatHandler.cpp in Sources */, - FA08F66B16C7549200F007B5 /* SoundData.cpp in Sources */, - FA08F66C16C7549200F007B5 /* wrap_Decoder.cpp in Sources */, - FA08F66D16C7549200F007B5 /* wrap_Sound.cpp in Sources */, - FA08F66E16C7549200F007B5 /* wrap_SoundData.cpp in Sources */, - FA08F66F16C754A100F007B5 /* Decoder.cpp in Sources */, - FA08F67016C754A100F007B5 /* FLACDecoder.cpp in Sources */, - FA08F67116C754A100F007B5 /* GmeDecoder.cpp in Sources */, - FA08F67216C754A100F007B5 /* ModPlugDecoder.cpp in Sources */, - FA08F67316C754A100F007B5 /* Mpg123Decoder.cpp in Sources */, - FA08F67416C754A100F007B5 /* Sound.cpp in Sources */, - FA08F67516C754A100F007B5 /* VorbisDecoder.cpp in Sources */, - FA08F67716C754A900F007B5 /* threads.cpp in Sources */, - FA08F67916C754B100F007B5 /* Timer.cpp in Sources */, - FA08F67A16C754B100F007B5 /* wrap_Timer.cpp in Sources */, - FA08F67B16C754BA00F007B5 /* Window.cpp in Sources */, - FA08F67C16C754BA00F007B5 /* Window.cpp in Sources */, - FA7C937A16DCC6C2006F2BEE /* wrap_Math.cpp in Sources */, - FAF272A416E3D44400CC193A /* Channel.cpp in Sources */, - FAF272A616E3D44400CC193A /* LuaThread.cpp in Sources */, - FA0A4BF0182E0C2800E1E4D2 /* b2MotorJoint.cpp in Sources */, - FAF272A816E3D44400CC193A /* ThreadModule.cpp in Sources */, - FA01BE1E1878E35B00640047 /* wrap_Texture.cpp in Sources */, - FAF272AA16E3D44400CC193A /* wrap_Channel.cpp in Sources */, - FAF272AC16E3D44400CC193A /* wrap_LuaThread.cpp in Sources */, - FAF272AE16E3D44400CC193A /* wrap_ThreadModule.cpp in Sources */, - FAF272B516E3D46400CC193A /* Thread.cpp in Sources */, - FAF272B716E3D46400CC193A /* threads.cpp in Sources */, - FA5454C216F1310000D30303 /* MathModule.cpp in Sources */, - FAAC6B02170A373B008A61C5 /* CompressedData.cpp in Sources */, - FAE010DC170DDE99006F29D0 /* ddsparse.cpp in Sources */, - FAE010E0170DE25E006F29D0 /* ddsHandler.cpp in Sources */, - FAE010E4170DF75C006F29D0 /* wrap_CompressedData.cpp in Sources */, - FAEC808A1710FEA60057279A /* ImageData.cpp in Sources */, - FAEC808E1711E76C0057279A /* CompressedData.cpp in Sources */, - FA636D8A171B70920065623F /* RandomGenerator.cpp in Sources */, - FA636D8E171B72A70065623F /* wrap_RandomGenerator.cpp in Sources */, - FAC86E631724552C00EED715 /* wrap_Quad.cpp in Sources */, - FAC86E6B1724555D00EED715 /* Quad.cpp in Sources */, - FA03546C1731F3A700284828 /* simplexnoise1234.cpp in Sources */, - FA3D9E0D16E68DE600CA6630 /* Cursor.cpp in Sources */, - FA3D9E1116E68EAE00CA6630 /* Cursor.cpp in Sources */, - FA3D9E1516E6D41100CA6630 /* wrap_Cursor.cpp in Sources */, - FA9FC0B0173D6E3E005027FF /* wrap_Window.cpp in Sources */, - FAB0078F1740C12D00A9664D /* Joystick.cpp in Sources */, - FAB007931740C28900A9664D /* Joystick.cpp in Sources */, - FAA0A45F1A704016009487CB /* lutf8lib.c in Sources */, - FAB007971740C87D00A9664D /* wrap_Joystick.cpp in Sources */, - FAC5710017402D1100D147E4 /* BezierCurve.cpp in Sources */, - FAC5710217402D1100D147E4 /* wrap_BezierCurve.cpp in Sources */, - FA5FDC791788D548002F0ED2 /* enet.cpp in Sources */, - FA5FDC7A1788D548002F0ED2 /* callbacks.c in Sources */, - FA5FDC7C1788D548002F0ED2 /* compress.c in Sources */, - FA5FDC7D1788D548002F0ED2 /* host.c in Sources */, - FA5FDC881788D548002F0ED2 /* list.c in Sources */, - FA5FDC891788D548002F0ED2 /* packet.c in Sources */, - FA5FDC8A1788D548002F0ED2 /* peer.c in Sources */, - FA5FDC8B1788D548002F0ED2 /* protocol.c in Sources */, - FA5FDC8D1788D548002F0ED2 /* unix.c in Sources */, - FA5FDC8E1788D548002F0ED2 /* win32.c in Sources */, - FA34E7CD174B513F00E04D3F /* System.cpp in Sources */, - FA34E7D2174B515D00E04D3F /* System.cpp in Sources */, - FA1EF7C41799FEAC00FF380C /* wrap_System.cpp in Sources */, - FA435EA317B36E9C004C3F22 /* Polyline.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 10D5479E63C26BB35EB5482E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - DEAD_CODE_STRIPPING = YES; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_PARAMETER = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", - /Library/Frameworks/FreeType.framework/Headers, - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - LD_RUNPATH_SEARCH_PATHS = "@rpath"; - LIBRARY_SEARCH_PATHS = ""; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = NO; - SDKROOT = macosx; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wall"; - }; - name = Release; - }; - 64274E785071353E1A1D0D4B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_PARAMETER = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", - /Library/Frameworks/FreeType.framework/Headers, - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - LD_RUNPATH_SEARCH_PATHS = "@rpath"; - LIBRARY_SEARCH_PATHS = ""; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wall"; - }; - name = Debug; - }; - FA5326C4189719C700F7BBF4 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - DEAD_CODE_STRIPPING = YES; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_PARAMETER = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", - /Library/Frameworks/FreeType.framework/Headers, - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - LD_RUNPATH_SEARCH_PATHS = "@rpath"; - LIBRARY_SEARCH_PATHS = ""; - LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = NO; - SDKROOT = macosx; - USE_HEADERMAP = NO; - WARNING_CFLAGS = "-Wall"; - }; - name = Distribution; - }; - FA5326C5189719C700F7BBF4 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_MODULES = NO; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 9.0; - DYLIB_CURRENT_VERSION = 9.0; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - INFOPLIST_FILE = "Info-Framework.plist"; - LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - PRODUCT_NAME = love; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = framework; - }; - name = Distribution; - }; - FA577AC016C7507900860150 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_MODULES = NO; - COMBINE_HIDPI_IMAGES = YES; - DYLIB_COMPATIBILITY_VERSION = 9.0; - DYLIB_CURRENT_VERSION = 9.0; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "Info-Framework.plist"; - LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - PRODUCT_NAME = love; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = framework; - }; - name = Debug; - }; - FA577AC116C7507900860150 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_MODULES = NO; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 9.0; - DYLIB_CURRENT_VERSION = 9.0; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - INFOPLIST_FILE = "Info-Framework.plist"; - LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-undefined", - dynamic_lookup, - ); - PRODUCT_NAME = love; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = framework; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "love-framework" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 64274E785071353E1A1D0D4B /* Debug */, - 10D5479E63C26BB35EB5482E /* Release */, - FA5326C4189719C700F7BBF4 /* Distribution */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - FA577ABF16C7507900860150 /* Build configuration list for PBXNativeTarget "Framework" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FA577AC016C7507900860150 /* Debug */, - FA577AC116C7507900860150 /* Release */, - FA5326C5189719C700F7BBF4 /* Distribution */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/platform/macosx/love.xcodeproj/project.pbxproj b/platform/macosx/love.xcodeproj/project.pbxproj deleted file mode 100644 index 72eebb650..000000000 --- a/platform/macosx/love.xcodeproj/project.pbxproj +++ /dev/null @@ -1,508 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; - A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4810420B4A007D418B /* FreeType.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255E021043195A00BA1496 /* Vorbis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9255F431043240F00BA1496 /* IL.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F421043240F00BA1496 /* IL.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A93E6E5510420B57007D418B /* Lua.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; }; - A93E6EED10420BA8007D418B /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E6A3410420AC0007D418B /* love.cpp */; }; - A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9D307E9106635C3004FEDF8 /* physfs.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9DEC1C11046EFA70049C70C /* Love.icns in Resources */ = {isa = PBXBuildFile; fileRef = A9DEC1BF1046EFA60049C70C /* Love.icns */; }; - A9DEC1C21046EFA70049C70C /* LoveDocument.icns in Resources */ = {isa = PBXBuildFile; fileRef = A9DEC1C01046EFA70049C70C /* LoveDocument.icns */; }; - A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F169A6109E824900FC83D1 /* mpg123.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F16926109E7BAD00FC83D1 /* libmodplug.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - FA08F69616C766E000F007B5 /* love.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; }; - FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; }; - FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - FAC1A449196F5DC600125284 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = FAC1A448196F5DC600125284 /* license.txt */; }; - FAC8E8D416F3C468004DADF3 /* OSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = FAC8E8D316F3C468004DADF3 /* OSX.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - FA08F6A616C77A4300F007B5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = FA577A9316C7217800860150 /* love-framework.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = FA577AAF16C7507900860150; - remoteInfo = "love framework"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - A9255DDE1043185300BA1496 /* Copy Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */, - FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */, - FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */, - A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */, - A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */, - A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */, - A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */, - A9255F431043240F00BA1496 /* IL.framework in Copy Frameworks */, - A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */, - A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */, - A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */, - ); - name = "Copy Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 8D1107320486CEB800E47090 /* love.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = love.app; sourceTree = BUILT_PRODUCTS_DIR; }; - A9255E021043195A00BA1496 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = ""; }; - A9255F421043240F00BA1496 /* IL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IL.framework; path = /Library/Frameworks/IL.framework; sourceTree = ""; }; - A9255F51104324D700BA1496 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = ""; }; - A93E6A3410420AC0007D418B /* love.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = love.cpp; path = ../../src/love.cpp; sourceTree = ""; }; - A93E6E4710420B4A007D418B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - A93E6E4810420B4A007D418B /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; - A93E6E5310420B57007D418B /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; - A97E3842132A9EDE00198A2F /* love-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "love-Info.plist"; sourceTree = ""; }; - A9D307E9106635C3004FEDF8 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; - A9DEC1BF1046EFA60049C70C /* Love.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Love.icns; path = icons/Love.icns; sourceTree = ""; }; - A9DEC1C01046EFA70049C70C /* LoveDocument.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = LoveDocument.icns; path = icons/LoveDocument.icns; sourceTree = ""; }; - A9F16926109E7BAD00FC83D1 /* libmodplug.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libmodplug.framework; path = /Library/Frameworks/libmodplug.framework; sourceTree = ""; }; - A9F169A6109E824900FC83D1 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; }; - FA08F69116C765A200F007B5 /* love.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FA577A9316C7217800860150 /* love-framework.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "love-framework.xcodeproj"; sourceTree = ""; }; - FA9B4A0916E1579F00074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; - FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; - FAC1A448196F5DC600125284 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = license.txt; path = ../../license.txt; sourceTree = ""; }; - FAC8E8D316F3C468004DADF3 /* OSX.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OSX.mm; sourceTree = ""; }; - FAC8E8D616F3C46E004DADF3 /* OSX.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSX.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D11072E0486CEB800E47090 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FA08F69616C766E000F007B5 /* love.framework in Frameworks */, - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - A93E6E5510420B57007D418B /* Lua.framework in Frameworks */, - FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1058C7A0FEA54F0111CA2CBB /* Frameworks */ = { - isa = PBXGroup; - children = ( - FA9B4A0916E1579F00074F42 /* SDL2.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, - A93E6E4810420B4A007D418B /* FreeType.framework */, - A9255F421043240F00BA1496 /* IL.framework */, - A9F16926109E7BAD00FC83D1 /* libmodplug.framework */, - FA08F69116C765A200F007B5 /* love.framework */, - A93E6E5310420B57007D418B /* Lua.framework */, - A9F169A6109E824900FC83D1 /* mpg123.framework */, - A9255F51104324D700BA1496 /* Ogg.framework */, - FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */, - A93E6E4710420B4A007D418B /* OpenGL.framework */, - A9D307E9106635C3004FEDF8 /* physfs.framework */, - A9255E021043195A00BA1496 /* Vorbis.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D1107320486CEB800E47090 /* love.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* love */ = { - isa = PBXGroup; - children = ( - FA577A9D16C7262E00860150 /* Source */, - 1058C7A0FEA54F0111CA2CBB /* Frameworks */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 19C28FACFE9D520D11CA2CBB /* Products */, - FA577A9316C7217800860150 /* love-framework.xcodeproj */, - ); - name = love; - sourceTree = ""; - usesTabs = 1; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - FAC1A448196F5DC600125284 /* license.txt */, - A97E3842132A9EDE00198A2F /* love-Info.plist */, - A9DEC1BF1046EFA60049C70C /* Love.icns */, - A9DEC1C01046EFA70049C70C /* LoveDocument.icns */, - ); - name = Resources; - sourceTree = ""; - }; - FA08F6A316C77A4300F007B5 /* Products */ = { - isa = PBXGroup; - children = ( - FA08F6A716C77A4300F007B5 /* love.framework */, - ); - name = Products; - sourceTree = ""; - }; - FA577A9D16C7262E00860150 /* Source */ = { - isa = PBXGroup; - children = ( - A93E6A3410420AC0007D418B /* love.cpp */, - FAC8E8D616F3C46E004DADF3 /* OSX.h */, - FAC8E8D316F3C468004DADF3 /* OSX.mm */, - ); - name = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D1107260486CEB800E47090 /* love */ = { - isa = PBXNativeTarget; - buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love" */; - buildPhases = ( - 8D1107290486CEB800E47090 /* Resources */, - 8D11072C0486CEB800E47090 /* Sources */, - A9255DDE1043185300BA1496 /* Copy Frameworks */, - 8D11072E0486CEB800E47090 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = love; - productInstallPath = "$(HOME)/Applications"; - productName = love; - productReference = 8D1107320486CEB800E47090 /* love.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0610; - }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* love */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = FA08F6A316C77A4300F007B5 /* Products */; - ProjectRef = FA577A9316C7217800860150 /* love-framework.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 8D1107260486CEB800E47090 /* love */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - FA08F6A716C77A4300F007B5 /* love.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = love.framework; - remoteRef = FA08F6A616C77A4300F007B5 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D1107290486CEB800E47090 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FAC1A449196F5DC600125284 /* license.txt in Resources */, - A9DEC1C11046EFA70049C70C /* Love.icns in Resources */, - A9DEC1C21046EFA70049C70C /* LoveDocument.icns in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D11072C0486CEB800E47090 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A93E6EED10420BA8007D418B /* love.cpp in Sources */, - FAC8E8D416F3C468004DADF3 /* OSX.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - C01FCF4B08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build/Release\"", - "\"$(SRCROOT)/build/Debug\"", - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = /Applications; - PRODUCT_NAME = love; - }; - name = Debug; - }; - C01FCF4C08A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build/Release\"", - "\"$(SRCROOT)/build/Debug\"", - ); - INSTALL_PATH = /Applications; - PRODUCT_NAME = love; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - INFOPLIST_FILE = "love-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ""; - "OTHER_LDFLAGS[arch=x86_64]" = ( - "-pagezero_size", - 10000, - "-image_base", - 100000000, - ); - PRODUCT_NAME = love; - WARNING_CFLAGS = ( - "-Wall", - "-W", - ); - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - DEPLOYMENT_POSTPROCESSING = NO; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_INPUT_FILETYPE = automatic; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - INFOPLIST_FILE = "love-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; - LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = ""; - "OTHER_LDFLAGS[arch=x86_64]" = ( - "-pagezero_size", - 10000, - "-image_base", - 100000000, - ); - PRODUCT_NAME = love; - SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - WARNING_CFLAGS = ( - "-Wall", - "-W", - ); - }; - name = Release; - }; - FA5326C618971A0900F7BBF4 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; - CLANG_ENABLE_MODULES = YES; - DEPLOYMENT_POSTPROCESSING = NO; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; - GCC_INPUT_FILETYPE = automatic; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PREPROCESSOR_DEFINITIONS = LOVE_MACOSX_USE_FRAMEWORKS; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "\"$(SRCROOT)/../../src\"", - "\"$(SRCROOT)/../../src/libraries\"", - "\"$(SRCROOT)/../../src/modules\"", - /Library/Frameworks/Lua.framework/Headers, - /Library/Frameworks/SDL2.framework/Headers, - ); - INFOPLIST_FILE = "love-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; - LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.6; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = ""; - "OTHER_LDFLAGS[arch=x86_64]" = ( - "-pagezero_size", - 10000, - "-image_base", - 100000000, - ); - PRODUCT_NAME = love; - SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; - WARNING_CFLAGS = ( - "-Wall", - "-W", - ); - }; - name = Distribution; - }; - FA5326C718971A0900F7BBF4 /* Distribution */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/build/Release\"", - "\"$(SRCROOT)/build/Debug\"", - ); - INSTALL_PATH = /Applications; - PRODUCT_NAME = love; - }; - name = Distribution; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4B08A954540054247B /* Debug */, - C01FCF4C08A954540054247B /* Release */, - FA5326C718971A0900F7BBF4 /* Distribution */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - FA5326C618971A0900F7BBF4 /* Distribution */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/platform/unix/configure.ac b/platform/unix/configure.ac index 219709a7c..1adb42118 100644 --- a/platform/unix/configure.ac +++ b/platform/unix/configure.ac @@ -56,14 +56,15 @@ PKG_CHECK_MODULES([lua], [${with_lua}${with_luaversion}], [lua_found=yes], [PKG_CHECK_MODULES([lua], [${with_lua}], [lua_found=yes], [lua_found=no])]) PKG_CHECK_MODULES([freetype2], [freetype2], [], [LOVE_MSG_ERROR([FreeType2])]) PKG_CHECK_MODULES([openal], [openal], [], [LOVE_MSG_ERROR([OpenAL])]) -PKG_CHECK_MODULES([devil], [IL], [], [LOVE_MSG_ERROR([DevIL])]) PKG_CHECK_MODULES([libmodplug], [libmodplug], [], [LOVE_MSG_ERROR([libmodplug])]) PKG_CHECK_MODULES([vorbisfile], [vorbisfile], [], [LOVE_MSG_ERROR([libvorbis and libvorbisfile])]) +PKG_CHECK_MODULES([zlib], [zlib], [], [LOVE_MSG_ERROR([zlib])]) # Other libraries AC_SEARCH_LIBS([sqrt], [m], [], [LOVE_MSG_ERROR([the C math library])]) AC_SEARCH_LIBS([PHYSFS_init], [physfs], [], [LOVE_MSG_ERROR([PhysicsFS])]) -AC_SEARCH_LIBS([glLoadIdentity], [GL], [], [LOVE_MSG_ERROR([OpenGL])]) +AC_SEARCH_LIBS([glDrawArrays], [GL], [], [LOVE_MSG_ERROR([OpenGL])]) +AC_SEARCH_LIBS([tjInitCompress], [turbojpeg], [], [LOVE_MSG_ERROR([TurboJPEG])]) # Lua, treated seperately because of --with-lua AS_VAR_IF([with_luaversion], [5.2], [luatest=lua_version], [luatest=lua_pcall]) # use lua_version for 5.2 diff --git a/platform/unix/debian/control.in b/platform/unix/debian/control.in index 541ea680f..4116afacb 100644 --- a/platform/unix/debian/control.in +++ b/platform/unix/debian/control.in @@ -8,7 +8,6 @@ Build-Depends: debhelper (>= 9), automake, libtool, pkg-config, - libdevil-dev, libfreetype6-dev, libluajit-5.1-dev, libphysfs-dev, @@ -16,10 +15,10 @@ Build-Depends: debhelper (>= 9), libopenal-dev, libogg-dev, libvorbis-dev, - libflac-dev, - libflac++-dev, libmodplug-dev, - libmpg123-dev + libmpg123-dev, + zlib1g-dev, + libjpeg-turbo8-dev Standards-Version: 3.9.5 Homepage: http://love2d.org @@ -29,7 +28,6 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends}, - libdevil1c2, libfreetype6, libgl1-mesa-glx, libluajit-5.1-2, @@ -40,7 +38,9 @@ Depends: ${misc:Depends}, libvorbis0a, libvorbisfile3, libmodplug1, - libmpg123-0 + libmpg123-0, + zlib1g, + libjpeg-turbo8 Description: LOVE is a free 2D game engine which enables easy game creation in Lua. Package: love@LOVE_SUFFIX@ diff --git a/platform/unix/genmodules b/platform/unix/genmodules index 5c4107d1a..f63ad6382 100644 --- a/platform/unix/genmodules +++ b/platform/unix/genmodules @@ -113,7 +113,7 @@ inc_libraries="$inc_current/libraries" cat > src/Makefile.am << EOF AM_CPPFLAGS = -I$inc_current -I$inc_modules -I$inc_libraries -I$inc_libraries/enet/libenet/include \$(LOVE_INCLUDES) \$(FILE_OFFSET)\ \$(SDL_CFLAGS) \$(lua_CFLAGS) \$(freetype2_CFLAGS)\ - \$(openal_CFLAGS) \$(devil_CFLAGS) \$(libmodplug_CFLAGS)\ + \$(openal_CFLAGS) \$(zlib_CFLAGS) \$(libmodplug_CFLAGS)\ \$(vorbisfile_CFLAGS) AUTOMAKE_OPTIONS = subdir-objects SUBDIRS = @@ -146,7 +146,7 @@ lib_LTLIBRARIES = liblove${love_suffix}.la liblove${love_amsuffix}_la_LDFLAGS = -module -export-dynamic \$(LDFLAGS) liblove${love_amsuffix}_la_LIBADD = \ \$(SDL_LIBS) \$(freetype2_LIBS) \$(lua_LIBS)\ - \$(openal_LIBS) \$(devil_LIBS) \$(libmodplug_LIBS)\ + \$(openal_LIBS) \$(zlib_LIBS) \$(libmodplug_LIBS)\ \$(vorbisfile_LIBS) EOF diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..80f200222 --- /dev/null +++ b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,128 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "pig-29pt@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "pig-29pt@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "pig-29pt@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "pig-40pt@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "pig-40pt@3x.png", + "scale" : "3x" + }, + { + "size" : "57x57", + "idiom" : "iphone", + "filename" : "pig-57pt@1x.png", + "scale" : "1x" + }, + { + "size" : "57x57", + "idiom" : "iphone", + "filename" : "pig-57pt@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "pig-60pt@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "pig-60pt@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "pig-29pt@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "pig-29pt@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "pig-40pt@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "pig-40pt@2x.png", + "scale" : "2x" + }, + { + "size" : "50x50", + "idiom" : "ipad", + "filename" : "pig-50pt@1x.png", + "scale" : "1x" + }, + { + "size" : "50x50", + "idiom" : "ipad", + "filename" : "pig-50pt@2x.png", + "scale" : "2x" + }, + { + "size" : "72x72", + "idiom" : "ipad", + "filename" : "pig-72pt@1x.png", + "scale" : "1x" + }, + { + "size" : "72x72", + "idiom" : "ipad", + "filename" : "pig-72pt@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "pig-76pt@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "pig-76pt@2x.png", + "scale" : "2x" + }, + { + "size" : "120x120", + "idiom" : "car", + "filename" : "pig-120pt@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-120pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-120pt@1x.png new file mode 100644 index 000000000..de29613e9 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-120pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png new file mode 100644 index 000000000..7b2ef1872 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png new file mode 100644 index 000000000..a67fca032 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png new file mode 100644 index 000000000..9fcc1ee0a Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-29pt@3x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png new file mode 100644 index 000000000..599212d2b Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png new file mode 100644 index 000000000..fbb029b5f Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png new file mode 100644 index 000000000..de29613e9 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-40pt@3x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png new file mode 100644 index 000000000..87a29dd2e Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png new file mode 100644 index 000000000..0fb257a35 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-50pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png new file mode 100644 index 000000000..d5c81e2e2 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png new file mode 100644 index 000000000..77bc3086d Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-57pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png new file mode 100644 index 000000000..de29613e9 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png new file mode 100644 index 000000000..0d31db7f1 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-60pt@3x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png new file mode 100644 index 000000000..e9648ceb9 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png new file mode 100644 index 000000000..4227fd6a5 Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-72pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png new file mode 100644 index 000000000..4e40fe0bf Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@1x.png differ diff --git a/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png new file mode 100644 index 000000000..d5fcbe95a Binary files /dev/null and b/platform/xcode/ios/Images.xcassets/AppIcon.appiconset/pig-76pt@2x.png differ diff --git a/platform/xcode/ios/Images.xcassets/LaunchImage.launchimage/Contents.json b/platform/xcode/ios/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 000000000..3dd8aa5b6 --- /dev/null +++ b/platform/xcode/ios/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,142 @@ +{ + "images" : [ + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "8.0", + "subtype" : "736h", + "scale" : "3x" + }, + { + "orientation" : "landscape", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "8.0", + "subtype" : "736h", + "scale" : "3x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "8.0", + "subtype" : "667h", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "full-screen", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/platform/xcode/ios/Launch Screen.xib b/platform/xcode/ios/Launch Screen.xib new file mode 100644 index 000000000..ce8441d6c --- /dev/null +++ b/platform/xcode/ios/Launch Screen.xib @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platform/xcode/ios/love-ios.plist b/platform/xcode/ios/love-ios.plist new file mode 100644 index 000000000..85ca6818d --- /dev/null +++ b/platform/xcode/ios/love-ios.plist @@ -0,0 +1,102 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleDocumentTypes + + + CFBundleTypeIconFiles + + LoveDocument.icns + + CFBundleTypeName + LÖVE Project + CFBundleTypeRole + Viewer + LSHandlerRank + Owner + LSItemContentTypes + + org.love2d.love-game + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIcons + + CFBundleIcons~ipad + + CFBundleIdentifier + love.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIFileSharingEnabled + + UILaunchStoryboardName + Launch Screen + UIRequiredDeviceCapabilities + + opengles-2 + + UIStatusBarStyle + UIStatusBarStyleLightContent + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UTExportedTypeDeclarations + + + UTTypeConformsTo + + com.pkware.zip-archive + + UTTypeDescription + LÖVE Project + UTTypeIdentifier + org.love2d.love-game + UTTypeSize320IconFile + LoveDocument + UTTypeSize64IconFile + LoveDocument + UTTypeTagSpecification + + com.apple.ostype + LOVE + public.filename-extension + + love + + public.mime-type + application/x-love-game + + + + + diff --git a/platform/macosx/icons/LoveDocument.icns b/platform/xcode/ios/lovedocument.icns similarity index 100% rename from platform/macosx/icons/LoveDocument.icns rename to platform/xcode/ios/lovedocument.icns diff --git a/platform/xcode/liblove.xcodeproj/project.pbxproj b/platform/xcode/liblove.xcodeproj/project.pbxproj new file mode 100644 index 000000000..b2d35e174 --- /dev/null +++ b/platform/xcode/liblove.xcodeproj/project.pbxproj @@ -0,0 +1,4108 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + FA0B791B1A958E3B000E1D17 /* b64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78F71A958E3B000E1D17 /* b64.cpp */; }; + FA0B791C1A958E3B000E1D17 /* b64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78F71A958E3B000E1D17 /* b64.cpp */; }; + FA0B791D1A958E3B000E1D17 /* b64.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78F81A958E3B000E1D17 /* b64.h */; }; + FA0B791E1A958E3B000E1D17 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78F91A958E3B000E1D17 /* config.h */; }; + FA0B791F1A958E3B000E1D17 /* Data.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78FA1A958E3B000E1D17 /* Data.h */; }; + FA0B79201A958E3B000E1D17 /* delay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78FB1A958E3B000E1D17 /* delay.cpp */; }; + FA0B79211A958E3B000E1D17 /* delay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78FB1A958E3B000E1D17 /* delay.cpp */; }; + FA0B79221A958E3B000E1D17 /* delay.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78FC1A958E3B000E1D17 /* delay.h */; }; + FA0B79231A958E3B000E1D17 /* EnumMap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78FD1A958E3B000E1D17 /* EnumMap.h */; }; + FA0B79241A958E3B000E1D17 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78FE1A958E3B000E1D17 /* Exception.cpp */; }; + FA0B79251A958E3B000E1D17 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B78FE1A958E3B000E1D17 /* Exception.cpp */; }; + FA0B79261A958E3B000E1D17 /* Exception.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B78FF1A958E3B000E1D17 /* Exception.h */; }; + FA0B79271A958E3B000E1D17 /* int.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79001A958E3B000E1D17 /* int.h */; }; + FA0B79281A958E3B000E1D17 /* math.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79011A958E3B000E1D17 /* math.h */; }; + FA0B79291A958E3B000E1D17 /* Matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79021A958E3B000E1D17 /* Matrix.cpp */; }; + FA0B792A1A958E3B000E1D17 /* Matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79021A958E3B000E1D17 /* Matrix.cpp */; }; + FA0B792B1A958E3B000E1D17 /* Matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79031A958E3B000E1D17 /* Matrix.h */; }; + FA0B792C1A958E3B000E1D17 /* Memoizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79041A958E3B000E1D17 /* Memoizer.cpp */; }; + FA0B792D1A958E3B000E1D17 /* Memoizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79041A958E3B000E1D17 /* Memoizer.cpp */; }; + FA0B792E1A958E3B000E1D17 /* Memoizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79051A958E3B000E1D17 /* Memoizer.h */; }; + FA0B792F1A958E3B000E1D17 /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79061A958E3B000E1D17 /* Module.cpp */; }; + FA0B79301A958E3B000E1D17 /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79061A958E3B000E1D17 /* Module.cpp */; }; + FA0B79311A958E3B000E1D17 /* Module.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79071A958E3B000E1D17 /* Module.h */; }; + FA0B79321A958E3B000E1D17 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79081A958E3B000E1D17 /* Object.cpp */; }; + FA0B79331A958E3B000E1D17 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79081A958E3B000E1D17 /* Object.cpp */; }; + FA0B79341A958E3B000E1D17 /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79091A958E3B000E1D17 /* Object.h */; }; + FA0B79351A958E3B000E1D17 /* OSX.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B790A1A958E3B000E1D17 /* OSX.h */; }; + FA0B79361A958E3B000E1D17 /* OSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790B1A958E3B000E1D17 /* OSX.mm */; }; + FA0B79371A958E3B000E1D17 /* OSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790B1A958E3B000E1D17 /* OSX.mm */; }; + FA0B79381A958E3B000E1D17 /* Reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790C1A958E3B000E1D17 /* Reference.cpp */; }; + FA0B79391A958E3B000E1D17 /* Reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790C1A958E3B000E1D17 /* Reference.cpp */; }; + FA0B793A1A958E3B000E1D17 /* Reference.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B790D1A958E3B000E1D17 /* Reference.h */; }; + FA0B793B1A958E3B000E1D17 /* runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790E1A958E3B000E1D17 /* runtime.cpp */; }; + FA0B793C1A958E3B000E1D17 /* runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B790E1A958E3B000E1D17 /* runtime.cpp */; }; + FA0B793D1A958E3B000E1D17 /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B790F1A958E3B000E1D17 /* runtime.h */; }; + FA0B793E1A958E3B000E1D17 /* StringMap.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79101A958E3B000E1D17 /* StringMap.h */; }; + FA0B793F1A958E3B000E1D17 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79111A958E3B000E1D17 /* types.h */; }; + FA0B79401A958E3B000E1D17 /* utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79121A958E3B000E1D17 /* utf8.cpp */; }; + FA0B79411A958E3B000E1D17 /* utf8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79121A958E3B000E1D17 /* utf8.cpp */; }; + FA0B79421A958E3B000E1D17 /* utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79131A958E3B000E1D17 /* utf8.h */; }; + FA0B79431A958E3B000E1D17 /* Variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79141A958E3B000E1D17 /* Variant.cpp */; }; + FA0B79441A958E3B000E1D17 /* Variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79141A958E3B000E1D17 /* Variant.cpp */; }; + FA0B79451A958E3B000E1D17 /* Variant.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79151A958E3B000E1D17 /* Variant.h */; }; + FA0B79461A958E3B000E1D17 /* Vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79161A958E3B000E1D17 /* Vector.cpp */; }; + FA0B79471A958E3B000E1D17 /* Vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79161A958E3B000E1D17 /* Vector.cpp */; }; + FA0B79481A958E3B000E1D17 /* Vector.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79171A958E3B000E1D17 /* Vector.h */; }; + FA0B79491A958E3B000E1D17 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79181A958E3B000E1D17 /* version.h */; }; + FA0B794A1A958E3B000E1D17 /* wrap_Data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79191A958E3B000E1D17 /* wrap_Data.cpp */; }; + FA0B794B1A958E3B000E1D17 /* wrap_Data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79191A958E3B000E1D17 /* wrap_Data.cpp */; }; + FA0B794C1A958E3B000E1D17 /* wrap_Data.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B791A1A958E3B000E1D17 /* wrap_Data.h */; }; + FA0B7A281A958EA3000E1D17 /* Box2D.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B794F1A958EA3000E1D17 /* Box2D.h */; }; + FA0B7A291A958EA3000E1D17 /* b2BroadPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79511A958EA3000E1D17 /* b2BroadPhase.cpp */; }; + FA0B7A2A1A958EA3000E1D17 /* b2BroadPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79511A958EA3000E1D17 /* b2BroadPhase.cpp */; }; + FA0B7A2B1A958EA3000E1D17 /* b2BroadPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79521A958EA3000E1D17 /* b2BroadPhase.h */; }; + FA0B7A2C1A958EA3000E1D17 /* b2CollideCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79531A958EA3000E1D17 /* b2CollideCircle.cpp */; }; + FA0B7A2D1A958EA3000E1D17 /* b2CollideCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79531A958EA3000E1D17 /* b2CollideCircle.cpp */; }; + FA0B7A2E1A958EA3000E1D17 /* b2CollideEdge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79541A958EA3000E1D17 /* b2CollideEdge.cpp */; }; + FA0B7A2F1A958EA3000E1D17 /* b2CollideEdge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79541A958EA3000E1D17 /* b2CollideEdge.cpp */; }; + FA0B7A301A958EA3000E1D17 /* b2CollidePolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79551A958EA3000E1D17 /* b2CollidePolygon.cpp */; }; + FA0B7A311A958EA3000E1D17 /* b2CollidePolygon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79551A958EA3000E1D17 /* b2CollidePolygon.cpp */; }; + FA0B7A321A958EA3000E1D17 /* b2Collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79561A958EA3000E1D17 /* b2Collision.cpp */; }; + FA0B7A331A958EA3000E1D17 /* b2Collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79561A958EA3000E1D17 /* b2Collision.cpp */; }; + FA0B7A341A958EA3000E1D17 /* b2Collision.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79571A958EA3000E1D17 /* b2Collision.h */; }; + FA0B7A351A958EA3000E1D17 /* b2Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79581A958EA3000E1D17 /* b2Distance.cpp */; }; + FA0B7A361A958EA3000E1D17 /* b2Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79581A958EA3000E1D17 /* b2Distance.cpp */; }; + FA0B7A371A958EA3000E1D17 /* b2Distance.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79591A958EA3000E1D17 /* b2Distance.h */; }; + FA0B7A381A958EA3000E1D17 /* b2DynamicTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795A1A958EA3000E1D17 /* b2DynamicTree.cpp */; }; + FA0B7A391A958EA3000E1D17 /* b2DynamicTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795A1A958EA3000E1D17 /* b2DynamicTree.cpp */; }; + FA0B7A3A1A958EA3000E1D17 /* b2DynamicTree.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B795B1A958EA3000E1D17 /* b2DynamicTree.h */; }; + FA0B7A3B1A958EA3000E1D17 /* b2TimeOfImpact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795C1A958EA3000E1D17 /* b2TimeOfImpact.cpp */; }; + FA0B7A3C1A958EA3000E1D17 /* b2TimeOfImpact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795C1A958EA3000E1D17 /* b2TimeOfImpact.cpp */; }; + FA0B7A3D1A958EA3000E1D17 /* b2TimeOfImpact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B795D1A958EA3000E1D17 /* b2TimeOfImpact.h */; }; + FA0B7A3E1A958EA3000E1D17 /* b2ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795F1A958EA3000E1D17 /* b2ChainShape.cpp */; }; + FA0B7A3F1A958EA3000E1D17 /* b2ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B795F1A958EA3000E1D17 /* b2ChainShape.cpp */; }; + FA0B7A401A958EA3000E1D17 /* b2ChainShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79601A958EA3000E1D17 /* b2ChainShape.h */; }; + FA0B7A411A958EA3000E1D17 /* b2CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79611A958EA3000E1D17 /* b2CircleShape.cpp */; }; + FA0B7A421A958EA3000E1D17 /* b2CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79611A958EA3000E1D17 /* b2CircleShape.cpp */; }; + FA0B7A431A958EA3000E1D17 /* b2CircleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79621A958EA3000E1D17 /* b2CircleShape.h */; }; + FA0B7A441A958EA3000E1D17 /* b2EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79631A958EA3000E1D17 /* b2EdgeShape.cpp */; }; + FA0B7A451A958EA3000E1D17 /* b2EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79631A958EA3000E1D17 /* b2EdgeShape.cpp */; }; + FA0B7A461A958EA3000E1D17 /* b2EdgeShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79641A958EA3000E1D17 /* b2EdgeShape.h */; }; + FA0B7A471A958EA3000E1D17 /* b2PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79651A958EA3000E1D17 /* b2PolygonShape.cpp */; }; + FA0B7A481A958EA3000E1D17 /* b2PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79651A958EA3000E1D17 /* b2PolygonShape.cpp */; }; + FA0B7A491A958EA3000E1D17 /* b2PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79661A958EA3000E1D17 /* b2PolygonShape.h */; }; + FA0B7A4A1A958EA3000E1D17 /* b2Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79671A958EA3000E1D17 /* b2Shape.h */; }; + FA0B7A4B1A958EA3000E1D17 /* b2BlockAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79691A958EA3000E1D17 /* b2BlockAllocator.cpp */; }; + FA0B7A4C1A958EA3000E1D17 /* b2BlockAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79691A958EA3000E1D17 /* b2BlockAllocator.cpp */; }; + FA0B7A4D1A958EA3000E1D17 /* b2BlockAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B796A1A958EA3000E1D17 /* b2BlockAllocator.h */; }; + FA0B7A4E1A958EA3000E1D17 /* b2Draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B796B1A958EA3000E1D17 /* b2Draw.cpp */; }; + FA0B7A4F1A958EA3000E1D17 /* b2Draw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B796B1A958EA3000E1D17 /* b2Draw.cpp */; }; + FA0B7A501A958EA3000E1D17 /* b2Draw.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B796C1A958EA3000E1D17 /* b2Draw.h */; }; + FA0B7A511A958EA3000E1D17 /* b2GrowableStack.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B796D1A958EA3000E1D17 /* b2GrowableStack.h */; }; + FA0B7A521A958EA3000E1D17 /* b2Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B796E1A958EA3000E1D17 /* b2Math.cpp */; }; + FA0B7A531A958EA3000E1D17 /* b2Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B796E1A958EA3000E1D17 /* b2Math.cpp */; }; + FA0B7A541A958EA3000E1D17 /* b2Math.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B796F1A958EA3000E1D17 /* b2Math.h */; }; + FA0B7A551A958EA3000E1D17 /* b2Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79701A958EA3000E1D17 /* b2Settings.cpp */; }; + FA0B7A561A958EA3000E1D17 /* b2Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79701A958EA3000E1D17 /* b2Settings.cpp */; }; + FA0B7A571A958EA3000E1D17 /* b2Settings.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79711A958EA3000E1D17 /* b2Settings.h */; }; + FA0B7A581A958EA3000E1D17 /* b2StackAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79721A958EA3000E1D17 /* b2StackAllocator.cpp */; }; + FA0B7A591A958EA3000E1D17 /* b2StackAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79721A958EA3000E1D17 /* b2StackAllocator.cpp */; }; + FA0B7A5A1A958EA3000E1D17 /* b2StackAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79731A958EA3000E1D17 /* b2StackAllocator.h */; }; + FA0B7A5B1A958EA3000E1D17 /* b2Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79741A958EA3000E1D17 /* b2Timer.cpp */; }; + FA0B7A5C1A958EA3000E1D17 /* b2Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79741A958EA3000E1D17 /* b2Timer.cpp */; }; + FA0B7A5D1A958EA3000E1D17 /* b2Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79751A958EA3000E1D17 /* b2Timer.h */; }; + FA0B7A5E1A958EA3000E1D17 /* b2Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79771A958EA3000E1D17 /* b2Body.cpp */; }; + FA0B7A5F1A958EA3000E1D17 /* b2Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79771A958EA3000E1D17 /* b2Body.cpp */; }; + FA0B7A601A958EA3000E1D17 /* b2Body.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79781A958EA3000E1D17 /* b2Body.h */; }; + FA0B7A611A958EA3000E1D17 /* b2ContactManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79791A958EA3000E1D17 /* b2ContactManager.cpp */; }; + FA0B7A621A958EA3000E1D17 /* b2ContactManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79791A958EA3000E1D17 /* b2ContactManager.cpp */; }; + FA0B7A631A958EA3000E1D17 /* b2ContactManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B797A1A958EA3000E1D17 /* b2ContactManager.h */; }; + FA0B7A641A958EA3000E1D17 /* b2Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B797B1A958EA3000E1D17 /* b2Fixture.cpp */; }; + FA0B7A651A958EA3000E1D17 /* b2Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B797B1A958EA3000E1D17 /* b2Fixture.cpp */; }; + FA0B7A661A958EA3000E1D17 /* b2Fixture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B797C1A958EA3000E1D17 /* b2Fixture.h */; }; + FA0B7A671A958EA3000E1D17 /* b2Island.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B797D1A958EA3000E1D17 /* b2Island.cpp */; }; + FA0B7A681A958EA3000E1D17 /* b2Island.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B797D1A958EA3000E1D17 /* b2Island.cpp */; }; + FA0B7A691A958EA3000E1D17 /* b2Island.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B797E1A958EA3000E1D17 /* b2Island.h */; }; + FA0B7A6A1A958EA3000E1D17 /* b2TimeStep.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B797F1A958EA3000E1D17 /* b2TimeStep.h */; }; + FA0B7A6B1A958EA3000E1D17 /* b2World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79801A958EA3000E1D17 /* b2World.cpp */; }; + FA0B7A6C1A958EA3000E1D17 /* b2World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79801A958EA3000E1D17 /* b2World.cpp */; }; + FA0B7A6D1A958EA3000E1D17 /* b2World.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79811A958EA3000E1D17 /* b2World.h */; }; + FA0B7A6E1A958EA3000E1D17 /* b2WorldCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79821A958EA3000E1D17 /* b2WorldCallbacks.cpp */; }; + FA0B7A6F1A958EA3000E1D17 /* b2WorldCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79821A958EA3000E1D17 /* b2WorldCallbacks.cpp */; }; + FA0B7A701A958EA3000E1D17 /* b2WorldCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79831A958EA3000E1D17 /* b2WorldCallbacks.h */; }; + FA0B7A711A958EA3000E1D17 /* b2ChainAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79851A958EA3000E1D17 /* b2ChainAndCircleContact.cpp */; }; + FA0B7A721A958EA3000E1D17 /* b2ChainAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79851A958EA3000E1D17 /* b2ChainAndCircleContact.cpp */; }; + FA0B7A731A958EA3000E1D17 /* b2ChainAndCircleContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79861A958EA3000E1D17 /* b2ChainAndCircleContact.h */; }; + FA0B7A741A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79871A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp */; }; + FA0B7A751A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79871A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp */; }; + FA0B7A761A958EA3000E1D17 /* b2ChainAndPolygonContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79881A958EA3000E1D17 /* b2ChainAndPolygonContact.h */; }; + FA0B7A771A958EA3000E1D17 /* b2CircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79891A958EA3000E1D17 /* b2CircleContact.cpp */; }; + FA0B7A781A958EA3000E1D17 /* b2CircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79891A958EA3000E1D17 /* b2CircleContact.cpp */; }; + FA0B7A791A958EA3000E1D17 /* b2CircleContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B798A1A958EA3000E1D17 /* b2CircleContact.h */; }; + FA0B7A7A1A958EA3000E1D17 /* b2Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798B1A958EA3000E1D17 /* b2Contact.cpp */; }; + FA0B7A7B1A958EA3000E1D17 /* b2Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798B1A958EA3000E1D17 /* b2Contact.cpp */; }; + FA0B7A7C1A958EA3000E1D17 /* b2Contact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B798C1A958EA3000E1D17 /* b2Contact.h */; }; + FA0B7A7D1A958EA3000E1D17 /* b2ContactSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798D1A958EA3000E1D17 /* b2ContactSolver.cpp */; }; + FA0B7A7E1A958EA3000E1D17 /* b2ContactSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798D1A958EA3000E1D17 /* b2ContactSolver.cpp */; }; + FA0B7A7F1A958EA3000E1D17 /* b2ContactSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B798E1A958EA3000E1D17 /* b2ContactSolver.h */; }; + FA0B7A801A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798F1A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp */; }; + FA0B7A811A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B798F1A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp */; }; + FA0B7A821A958EA3000E1D17 /* b2EdgeAndCircleContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79901A958EA3000E1D17 /* b2EdgeAndCircleContact.h */; }; + FA0B7A831A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79911A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp */; }; + FA0B7A841A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79911A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp */; }; + FA0B7A851A958EA3000E1D17 /* b2EdgeAndPolygonContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79921A958EA3000E1D17 /* b2EdgeAndPolygonContact.h */; }; + FA0B7A861A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79931A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp */; }; + FA0B7A871A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79931A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp */; }; + FA0B7A881A958EA3000E1D17 /* b2PolygonAndCircleContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79941A958EA3000E1D17 /* b2PolygonAndCircleContact.h */; }; + FA0B7A891A958EA3000E1D17 /* b2PolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79951A958EA3000E1D17 /* b2PolygonContact.cpp */; }; + FA0B7A8A1A958EA3000E1D17 /* b2PolygonContact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79951A958EA3000E1D17 /* b2PolygonContact.cpp */; }; + FA0B7A8B1A958EA3000E1D17 /* b2PolygonContact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79961A958EA3000E1D17 /* b2PolygonContact.h */; }; + FA0B7A8C1A958EA3000E1D17 /* b2DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79981A958EA3000E1D17 /* b2DistanceJoint.cpp */; }; + FA0B7A8D1A958EA3000E1D17 /* b2DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79981A958EA3000E1D17 /* b2DistanceJoint.cpp */; }; + FA0B7A8E1A958EA3000E1D17 /* b2DistanceJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79991A958EA3000E1D17 /* b2DistanceJoint.h */; }; + FA0B7A8F1A958EA3000E1D17 /* b2FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799A1A958EA3000E1D17 /* b2FrictionJoint.cpp */; }; + FA0B7A901A958EA3000E1D17 /* b2FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799A1A958EA3000E1D17 /* b2FrictionJoint.cpp */; }; + FA0B7A911A958EA3000E1D17 /* b2FrictionJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B799B1A958EA3000E1D17 /* b2FrictionJoint.h */; }; + FA0B7A921A958EA3000E1D17 /* b2GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799C1A958EA3000E1D17 /* b2GearJoint.cpp */; }; + FA0B7A931A958EA3000E1D17 /* b2GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799C1A958EA3000E1D17 /* b2GearJoint.cpp */; }; + FA0B7A941A958EA3000E1D17 /* b2GearJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B799D1A958EA3000E1D17 /* b2GearJoint.h */; }; + FA0B7A951A958EA3000E1D17 /* b2Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799E1A958EA3000E1D17 /* b2Joint.cpp */; }; + FA0B7A961A958EA3000E1D17 /* b2Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B799E1A958EA3000E1D17 /* b2Joint.cpp */; }; + FA0B7A971A958EA3000E1D17 /* b2Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B799F1A958EA3000E1D17 /* b2Joint.h */; }; + FA0B7A981A958EA3000E1D17 /* b2MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A01A958EA3000E1D17 /* b2MotorJoint.cpp */; }; + FA0B7A991A958EA3000E1D17 /* b2MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A01A958EA3000E1D17 /* b2MotorJoint.cpp */; }; + FA0B7A9A1A958EA3000E1D17 /* b2MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79A11A958EA3000E1D17 /* b2MotorJoint.h */; }; + FA0B7A9B1A958EA3000E1D17 /* b2MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A21A958EA3000E1D17 /* b2MouseJoint.cpp */; }; + FA0B7A9C1A958EA3000E1D17 /* b2MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A21A958EA3000E1D17 /* b2MouseJoint.cpp */; }; + FA0B7A9D1A958EA3000E1D17 /* b2MouseJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79A31A958EA3000E1D17 /* b2MouseJoint.h */; }; + FA0B7A9E1A958EA3000E1D17 /* b2PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A41A958EA3000E1D17 /* b2PrismaticJoint.cpp */; }; + FA0B7A9F1A958EA3000E1D17 /* b2PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A41A958EA3000E1D17 /* b2PrismaticJoint.cpp */; }; + FA0B7AA01A958EA3000E1D17 /* b2PrismaticJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79A51A958EA3000E1D17 /* b2PrismaticJoint.h */; }; + FA0B7AA11A958EA3000E1D17 /* b2PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A61A958EA3000E1D17 /* b2PulleyJoint.cpp */; }; + FA0B7AA21A958EA3000E1D17 /* b2PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A61A958EA3000E1D17 /* b2PulleyJoint.cpp */; }; + FA0B7AA31A958EA3000E1D17 /* b2PulleyJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79A71A958EA3000E1D17 /* b2PulleyJoint.h */; }; + FA0B7AA41A958EA3000E1D17 /* b2RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A81A958EA3000E1D17 /* b2RevoluteJoint.cpp */; }; + FA0B7AA51A958EA3000E1D17 /* b2RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79A81A958EA3000E1D17 /* b2RevoluteJoint.cpp */; }; + FA0B7AA61A958EA3000E1D17 /* b2RevoluteJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79A91A958EA3000E1D17 /* b2RevoluteJoint.h */; }; + FA0B7AA71A958EA3000E1D17 /* b2RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AA1A958EA3000E1D17 /* b2RopeJoint.cpp */; }; + FA0B7AA81A958EA3000E1D17 /* b2RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AA1A958EA3000E1D17 /* b2RopeJoint.cpp */; }; + FA0B7AA91A958EA3000E1D17 /* b2RopeJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79AB1A958EA3000E1D17 /* b2RopeJoint.h */; }; + FA0B7AAA1A958EA3000E1D17 /* b2WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AC1A958EA3000E1D17 /* b2WeldJoint.cpp */; }; + FA0B7AAB1A958EA3000E1D17 /* b2WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AC1A958EA3000E1D17 /* b2WeldJoint.cpp */; }; + FA0B7AAC1A958EA3000E1D17 /* b2WeldJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79AD1A958EA3000E1D17 /* b2WeldJoint.h */; }; + FA0B7AAD1A958EA3000E1D17 /* b2WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AE1A958EA3000E1D17 /* b2WheelJoint.cpp */; }; + FA0B7AAE1A958EA3000E1D17 /* b2WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79AE1A958EA3000E1D17 /* b2WheelJoint.cpp */; }; + FA0B7AAF1A958EA3000E1D17 /* b2WheelJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79AF1A958EA3000E1D17 /* b2WheelJoint.h */; }; + FA0B7AB11A958EA3000E1D17 /* b2Rope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B21A958EA3000E1D17 /* b2Rope.cpp */; }; + FA0B7AB21A958EA3000E1D17 /* b2Rope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B21A958EA3000E1D17 /* b2Rope.cpp */; }; + FA0B7AB31A958EA3000E1D17 /* b2Rope.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79B31A958EA3000E1D17 /* b2Rope.h */; }; + FA0B7AB41A958EA3000E1D17 /* ddsinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79B51A958EA3000E1D17 /* ddsinfo.h */; }; + FA0B7AB51A958EA3000E1D17 /* ddsparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B61A958EA3000E1D17 /* ddsparse.cpp */; }; + FA0B7AB61A958EA3000E1D17 /* ddsparse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B61A958EA3000E1D17 /* ddsparse.cpp */; }; + FA0B7AB71A958EA3000E1D17 /* ddsparse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79B71A958EA3000E1D17 /* ddsparse.h */; }; + FA0B7AB81A958EA3000E1D17 /* enet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B91A958EA3000E1D17 /* enet.cpp */; }; + FA0B7AB91A958EA3000E1D17 /* enet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79B91A958EA3000E1D17 /* enet.cpp */; }; + FA0B7ABA1A958EA3000E1D17 /* callbacks.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BB1A958EA3000E1D17 /* callbacks.c */; }; + FA0B7ABB1A958EA3000E1D17 /* callbacks.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BB1A958EA3000E1D17 /* callbacks.c */; }; + FA0B7ABD1A958EA3000E1D17 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BD1A958EA3000E1D17 /* compress.c */; }; + FA0B7ABE1A958EA3000E1D17 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BD1A958EA3000E1D17 /* compress.c */; }; + FA0B7ABF1A958EA3000E1D17 /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BE1A958EA3000E1D17 /* host.c */; }; + FA0B7AC01A958EA3000E1D17 /* host.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79BE1A958EA3000E1D17 /* host.c */; }; + FA0B7AC11A958EA3000E1D17 /* callbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C11A958EA3000E1D17 /* callbacks.h */; }; + FA0B7AC21A958EA3000E1D17 /* enet.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C21A958EA3000E1D17 /* enet.h */; }; + FA0B7AC31A958EA3000E1D17 /* list.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C31A958EA3000E1D17 /* list.h */; }; + FA0B7AC41A958EA3000E1D17 /* protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C41A958EA3000E1D17 /* protocol.h */; }; + FA0B7AC51A958EA3000E1D17 /* time.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C51A958EA3000E1D17 /* time.h */; }; + FA0B7AC61A958EA3000E1D17 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C61A958EA3000E1D17 /* types.h */; }; + FA0B7AC71A958EA3000E1D17 /* unix.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C71A958EA3000E1D17 /* unix.h */; }; + FA0B7AC81A958EA3000E1D17 /* utility.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C81A958EA3000E1D17 /* utility.h */; }; + FA0B7AC91A958EA3000E1D17 /* win32.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79C91A958EA3000E1D17 /* win32.h */; }; + FA0B7ACB1A958EA3000E1D17 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CB1A958EA3000E1D17 /* list.c */; }; + FA0B7ACC1A958EA3000E1D17 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CB1A958EA3000E1D17 /* list.c */; }; + FA0B7ACD1A958EA3000E1D17 /* packet.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CC1A958EA3000E1D17 /* packet.c */; }; + FA0B7ACE1A958EA3000E1D17 /* packet.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CC1A958EA3000E1D17 /* packet.c */; }; + FA0B7ACF1A958EA3000E1D17 /* peer.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CD1A958EA3000E1D17 /* peer.c */; }; + FA0B7AD01A958EA3000E1D17 /* peer.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CD1A958EA3000E1D17 /* peer.c */; }; + FA0B7AD11A958EA3000E1D17 /* protocol.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CE1A958EA3000E1D17 /* protocol.c */; }; + FA0B7AD21A958EA3000E1D17 /* protocol.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79CE1A958EA3000E1D17 /* protocol.c */; }; + FA0B7AD41A958EA3000E1D17 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D01A958EA3000E1D17 /* unix.c */; }; + FA0B7AD51A958EA3000E1D17 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D01A958EA3000E1D17 /* unix.c */; }; + FA0B7AD61A958EA3000E1D17 /* win32.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D11A958EA3000E1D17 /* win32.c */; }; + FA0B7AD71A958EA3000E1D17 /* win32.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D11A958EA3000E1D17 /* win32.c */; }; + FA0B7AD81A958EA3000E1D17 /* lua-enet.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79D21A958EA3000E1D17 /* lua-enet.h */; }; + FA0B7AD91A958EA3000E1D17 /* glad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D41A958EA3000E1D17 /* glad.cpp */; }; + FA0B7ADA1A958EA3000E1D17 /* glad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D41A958EA3000E1D17 /* glad.cpp */; }; + FA0B7ADC1A958EA3000E1D17 /* glad.hpp in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79D61A958EA3000E1D17 /* glad.hpp */; }; + FA0B7ADD1A958EA3000E1D17 /* gladfuncs.hpp in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79D71A958EA3000E1D17 /* gladfuncs.hpp */; }; + FA0B7ADE1A958EA3000E1D17 /* lodepng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D91A958EA3000E1D17 /* lodepng.cpp */; }; + FA0B7ADF1A958EA3000E1D17 /* lodepng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79D91A958EA3000E1D17 /* lodepng.cpp */; }; + FA0B7AE01A958EA3000E1D17 /* lodepng.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B79DA1A958EA3000E1D17 /* lodepng.h */; }; + FA0B7AE11A958EA3000E1D17 /* auxiliar.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79DD1A958EA3000E1D17 /* auxiliar.c */; }; + FA0B7AE21A958EA3000E1D17 /* auxiliar.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79DD1A958EA3000E1D17 /* auxiliar.c */; }; + FA0B7AE41A958EA3000E1D17 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79DF1A958EA3000E1D17 /* buffer.c */; }; + FA0B7AE51A958EA3000E1D17 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79DF1A958EA3000E1D17 /* buffer.c */; }; + FA0B7AE71A958EA3000E1D17 /* except.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E11A958EA3000E1D17 /* except.c */; }; + FA0B7AE81A958EA3000E1D17 /* except.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E11A958EA3000E1D17 /* except.c */; }; + FA0B7AEE1A958EA3000E1D17 /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E71A958EA3000E1D17 /* inet.c */; }; + FA0B7AEF1A958EA3000E1D17 /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E71A958EA3000E1D17 /* inet.c */; }; + FA0B7AF11A958EA3000E1D17 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E91A958EA3000E1D17 /* io.c */; }; + FA0B7AF21A958EA3000E1D17 /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79E91A958EA3000E1D17 /* io.c */; }; + FA0B7AF71A958EA3000E1D17 /* luasocket.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79EE1A958EA3000E1D17 /* luasocket.c */; }; + FA0B7AF81A958EA3000E1D17 /* luasocket.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79EE1A958EA3000E1D17 /* luasocket.c */; }; + FA0B7AFA1A958EA3000E1D17 /* mime.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F01A958EA3000E1D17 /* mime.c */; }; + FA0B7AFB1A958EA3000E1D17 /* mime.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F01A958EA3000E1D17 /* mime.c */; }; + FA0B7AFF1A958EA3000E1D17 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F41A958EA3000E1D17 /* options.c */; }; + FA0B7B001A958EA3000E1D17 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F41A958EA3000E1D17 /* options.c */; }; + FA0B7B031A958EA3000E1D17 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F71A958EA3000E1D17 /* select.c */; }; + FA0B7B041A958EA3000E1D17 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79F71A958EA3000E1D17 /* select.c */; }; + FA0B7B0B1A958EA3000E1D17 /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79FE1A958EA3000E1D17 /* tcp.c */; }; + FA0B7B0C1A958EA3000E1D17 /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B79FE1A958EA3000E1D17 /* tcp.c */; }; + FA0B7B0E1A958EA3000E1D17 /* timeout.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A001A958EA3000E1D17 /* timeout.c */; }; + FA0B7B0F1A958EA3000E1D17 /* timeout.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A001A958EA3000E1D17 /* timeout.c */; }; + FA0B7B131A958EA3000E1D17 /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A041A958EA3000E1D17 /* udp.c */; }; + FA0B7B141A958EA3000E1D17 /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A041A958EA3000E1D17 /* udp.c */; }; + FA0B7B161A958EA3000E1D17 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A061A958EA3000E1D17 /* unix.c */; }; + FA0B7B171A958EA3000E1D17 /* unix.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A061A958EA3000E1D17 /* unix.c */; }; + FA0B7B1B1A958EA3000E1D17 /* usocket.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A0A1A958EA3000E1D17 /* usocket.c */; }; + FA0B7B1C1A958EA3000E1D17 /* usocket.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A0A1A958EA3000E1D17 /* usocket.c */; }; + FA0B7B211A958EA3000E1D17 /* luasocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A0E1A958EA3000E1D17 /* luasocket.cpp */; }; + FA0B7B221A958EA3000E1D17 /* luasocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A0E1A958EA3000E1D17 /* luasocket.cpp */; }; + FA0B7B231A958EA3000E1D17 /* luasocket.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A0F1A958EA3000E1D17 /* luasocket.h */; }; + FA0B7B241A958EA3000E1D17 /* lprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A111A958EA3000E1D17 /* lprefix.h */; }; + FA0B7B251A958EA3000E1D17 /* lutf8lib.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A121A958EA3000E1D17 /* lutf8lib.c */; }; + FA0B7B261A958EA3000E1D17 /* lutf8lib.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A121A958EA3000E1D17 /* lutf8lib.c */; }; + FA0B7B271A958EA3000E1D17 /* lutf8lib.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A131A958EA3000E1D17 /* lutf8lib.h */; }; + FA0B7B281A958EA3000E1D17 /* simplexnoise1234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A151A958EA3000E1D17 /* simplexnoise1234.cpp */; }; + FA0B7B291A958EA3000E1D17 /* simplexnoise1234.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A151A958EA3000E1D17 /* simplexnoise1234.cpp */; }; + FA0B7B2A1A958EA3000E1D17 /* simplexnoise1234.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A161A958EA3000E1D17 /* simplexnoise1234.h */; }; + FA0B7B2B1A958EA3000E1D17 /* stb_image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A181A958EA3000E1D17 /* stb_image.h */; }; + FA0B7B2C1A958EA3000E1D17 /* checked.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A1B1A958EA3000E1D17 /* checked.h */; }; + FA0B7B2D1A958EA3000E1D17 /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A1C1A958EA3000E1D17 /* core.h */; }; + FA0B7B2E1A958EA3000E1D17 /* unchecked.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A1D1A958EA3000E1D17 /* unchecked.h */; }; + FA0B7B2F1A958EA3000E1D17 /* utf8.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A1E1A958EA3000E1D17 /* utf8.h */; }; + FA0B7B301A958EA3000E1D17 /* wuff.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A201A958EA3000E1D17 /* wuff.c */; }; + FA0B7B311A958EA3000E1D17 /* wuff.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A201A958EA3000E1D17 /* wuff.c */; }; + FA0B7B321A958EA3000E1D17 /* wuff.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A211A958EA3000E1D17 /* wuff.h */; }; + FA0B7B331A958EA3000E1D17 /* wuff_config.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A221A958EA3000E1D17 /* wuff_config.h */; }; + FA0B7B341A958EA3000E1D17 /* wuff_convert.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A231A958EA3000E1D17 /* wuff_convert.c */; }; + FA0B7B351A958EA3000E1D17 /* wuff_convert.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A231A958EA3000E1D17 /* wuff_convert.c */; }; + FA0B7B361A958EA3000E1D17 /* wuff_convert.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A241A958EA3000E1D17 /* wuff_convert.h */; }; + FA0B7B371A958EA3000E1D17 /* wuff_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A251A958EA3000E1D17 /* wuff_internal.c */; }; + FA0B7B381A958EA3000E1D17 /* wuff_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A251A958EA3000E1D17 /* wuff_internal.c */; }; + FA0B7B391A958EA3000E1D17 /* wuff_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7A261A958EA3000E1D17 /* wuff_internal.h */; }; + FA0B7B3A1A958EA3000E1D17 /* wuff_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A271A958EA3000E1D17 /* wuff_memory.c */; }; + FA0B7B3B1A958EA3000E1D17 /* wuff_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7A271A958EA3000E1D17 /* wuff_memory.c */; }; + FA0B7CCD1A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B3E1A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CCE1A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B3E1A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CCF1A95902C000E1D17 /* Audio.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B3F1A95902C000E1D17 /* Audio.h */; }; + FA0B7CD01A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B411A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CD11A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B411A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CD21A95902C000E1D17 /* Audio.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B421A95902C000E1D17 /* Audio.h */; }; + FA0B7CD31A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B431A95902C000E1D17 /* Source.cpp */; }; + FA0B7CD41A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B431A95902C000E1D17 /* Source.cpp */; }; + FA0B7CD51A95902C000E1D17 /* Source.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B441A95902C000E1D17 /* Source.h */; }; + FA0B7CD61A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B461A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CD71A95902C000E1D17 /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B461A95902C000E1D17 /* Audio.cpp */; }; + FA0B7CD81A95902C000E1D17 /* Audio.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B471A95902C000E1D17 /* Audio.h */; }; + FA0B7CD91A95902C000E1D17 /* Pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B481A95902C000E1D17 /* Pool.cpp */; }; + FA0B7CDA1A95902C000E1D17 /* Pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B481A95902C000E1D17 /* Pool.cpp */; }; + FA0B7CDB1A95902C000E1D17 /* Pool.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B491A95902C000E1D17 /* Pool.h */; }; + FA0B7CDC1A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4A1A95902C000E1D17 /* Source.cpp */; }; + FA0B7CDD1A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4A1A95902C000E1D17 /* Source.cpp */; }; + FA0B7CDE1A95902C000E1D17 /* Source.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B4B1A95902C000E1D17 /* Source.h */; }; + FA0B7CDF1A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4C1A95902C000E1D17 /* Source.cpp */; }; + FA0B7CE01A95902C000E1D17 /* Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4C1A95902C000E1D17 /* Source.cpp */; }; + FA0B7CE11A95902C000E1D17 /* Source.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B4D1A95902C000E1D17 /* Source.h */; }; + FA0B7CE21A95902C000E1D17 /* wrap_Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4E1A95902C000E1D17 /* wrap_Audio.cpp */; }; + FA0B7CE31A95902C000E1D17 /* wrap_Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B4E1A95902C000E1D17 /* wrap_Audio.cpp */; }; + FA0B7CE41A95902C000E1D17 /* wrap_Audio.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B4F1A95902C000E1D17 /* wrap_Audio.h */; }; + FA0B7CE51A95902C000E1D17 /* wrap_Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B501A95902C000E1D17 /* wrap_Source.cpp */; }; + FA0B7CE61A95902C000E1D17 /* wrap_Source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B501A95902C000E1D17 /* wrap_Source.cpp */; }; + FA0B7CE71A95902C000E1D17 /* wrap_Source.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B511A95902C000E1D17 /* wrap_Source.h */; }; + FA0B7CE81A95902C000E1D17 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B531A95902C000E1D17 /* Event.cpp */; }; + FA0B7CE91A95902C000E1D17 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B531A95902C000E1D17 /* Event.cpp */; }; + FA0B7CEA1A95902C000E1D17 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B541A95902C000E1D17 /* Event.h */; }; + FA0B7CEB1A95902C000E1D17 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B561A95902C000E1D17 /* Event.cpp */; }; + FA0B7CEC1A95902C000E1D17 /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B561A95902C000E1D17 /* Event.cpp */; }; + FA0B7CED1A95902C000E1D17 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B571A95902C000E1D17 /* Event.h */; }; + FA0B7CF11A95902C000E1D17 /* DroppedFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5B1A95902C000E1D17 /* DroppedFile.cpp */; }; + FA0B7CF21A95902C000E1D17 /* DroppedFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5B1A95902C000E1D17 /* DroppedFile.cpp */; }; + FA0B7CF31A95902C000E1D17 /* DroppedFile.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B5C1A95902C000E1D17 /* DroppedFile.h */; }; + FA0B7CF41A95902C000E1D17 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5D1A95902C000E1D17 /* File.cpp */; }; + FA0B7CF51A95902C000E1D17 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5D1A95902C000E1D17 /* File.cpp */; }; + FA0B7CF61A95902C000E1D17 /* File.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B5E1A95902C000E1D17 /* File.h */; }; + FA0B7CF71A95902C000E1D17 /* FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5F1A95902C000E1D17 /* FileData.cpp */; }; + FA0B7CF81A95902C000E1D17 /* FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B5F1A95902C000E1D17 /* FileData.cpp */; }; + FA0B7CF91A95902C000E1D17 /* FileData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B601A95902C000E1D17 /* FileData.h */; }; + FA0B7CFA1A95902C000E1D17 /* Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B611A95902C000E1D17 /* Filesystem.cpp */; }; + FA0B7CFB1A95902C000E1D17 /* Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B611A95902C000E1D17 /* Filesystem.cpp */; }; + FA0B7CFC1A95902C000E1D17 /* Filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B621A95902C000E1D17 /* Filesystem.h */; }; + FA0B7CFD1A95902C000E1D17 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B641A95902C000E1D17 /* File.cpp */; }; + FA0B7CFE1A95902C000E1D17 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B641A95902C000E1D17 /* File.cpp */; }; + FA0B7CFF1A95902C000E1D17 /* File.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B651A95902C000E1D17 /* File.h */; }; + FA0B7D001A95902C000E1D17 /* Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B661A95902C000E1D17 /* Filesystem.cpp */; }; + FA0B7D011A95902C000E1D17 /* Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B661A95902C000E1D17 /* Filesystem.cpp */; }; + FA0B7D021A95902C000E1D17 /* Filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B671A95902C000E1D17 /* Filesystem.h */; }; + FA0B7D031A95902C000E1D17 /* wrap_DroppedFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B681A95902C000E1D17 /* wrap_DroppedFile.cpp */; }; + FA0B7D041A95902C000E1D17 /* wrap_DroppedFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B681A95902C000E1D17 /* wrap_DroppedFile.cpp */; }; + FA0B7D051A95902C000E1D17 /* wrap_DroppedFile.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B691A95902C000E1D17 /* wrap_DroppedFile.h */; }; + FA0B7D061A95902C000E1D17 /* wrap_File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6A1A95902C000E1D17 /* wrap_File.cpp */; }; + FA0B7D071A95902C000E1D17 /* wrap_File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6A1A95902C000E1D17 /* wrap_File.cpp */; }; + FA0B7D081A95902C000E1D17 /* wrap_File.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B6B1A95902C000E1D17 /* wrap_File.h */; }; + FA0B7D091A95902C000E1D17 /* wrap_FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6C1A95902C000E1D17 /* wrap_FileData.cpp */; }; + FA0B7D0A1A95902C000E1D17 /* wrap_FileData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6C1A95902C000E1D17 /* wrap_FileData.cpp */; }; + FA0B7D0B1A95902C000E1D17 /* wrap_FileData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B6D1A95902C000E1D17 /* wrap_FileData.h */; }; + FA0B7D0C1A95902C000E1D17 /* wrap_Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6E1A95902C000E1D17 /* wrap_Filesystem.cpp */; }; + FA0B7D0D1A95902C000E1D17 /* wrap_Filesystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B6E1A95902C000E1D17 /* wrap_Filesystem.cpp */; }; + FA0B7D0E1A95902C000E1D17 /* wrap_Filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B6F1A95902C000E1D17 /* wrap_Filesystem.h */; }; + FA0B7D0F1A95902C000E1D17 /* BMFontRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B711A95902C000E1D17 /* BMFontRasterizer.cpp */; }; + FA0B7D101A95902C000E1D17 /* BMFontRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B711A95902C000E1D17 /* BMFontRasterizer.cpp */; }; + FA0B7D111A95902C000E1D17 /* BMFontRasterizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B721A95902C000E1D17 /* BMFontRasterizer.h */; }; + FA0B7D121A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B731A95902C000E1D17 /* Font.cpp */; }; + FA0B7D131A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B731A95902C000E1D17 /* Font.cpp */; }; + FA0B7D141A95902C000E1D17 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B741A95902C000E1D17 /* Font.h */; }; + FA0B7D151A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B761A95902C000E1D17 /* Font.cpp */; }; + FA0B7D161A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B761A95902C000E1D17 /* Font.cpp */; }; + FA0B7D171A95902C000E1D17 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B771A95902C000E1D17 /* Font.h */; }; + FA0B7D181A95902C000E1D17 /* TrueTypeRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B781A95902C000E1D17 /* TrueTypeRasterizer.cpp */; }; + FA0B7D191A95902C000E1D17 /* TrueTypeRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B781A95902C000E1D17 /* TrueTypeRasterizer.cpp */; }; + FA0B7D1A1A95902C000E1D17 /* TrueTypeRasterizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B791A95902C000E1D17 /* TrueTypeRasterizer.h */; }; + FA0B7D1B1A95902C000E1D17 /* GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7A1A95902C000E1D17 /* GlyphData.cpp */; }; + FA0B7D1C1A95902C000E1D17 /* GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7A1A95902C000E1D17 /* GlyphData.cpp */; }; + FA0B7D1D1A95902C000E1D17 /* GlyphData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B7B1A95902C000E1D17 /* GlyphData.h */; }; + FA0B7D1E1A95902C000E1D17 /* ImageRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7C1A95902C000E1D17 /* ImageRasterizer.cpp */; }; + FA0B7D1F1A95902C000E1D17 /* ImageRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7C1A95902C000E1D17 /* ImageRasterizer.cpp */; }; + FA0B7D201A95902C000E1D17 /* ImageRasterizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B7D1A95902C000E1D17 /* ImageRasterizer.h */; }; + FA0B7D211A95902C000E1D17 /* Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7E1A95902C000E1D17 /* Rasterizer.cpp */; }; + FA0B7D221A95902C000E1D17 /* Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B7E1A95902C000E1D17 /* Rasterizer.cpp */; }; + FA0B7D231A95902C000E1D17 /* Rasterizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B7F1A95902C000E1D17 /* Rasterizer.h */; }; + FA0B7D241A95902C000E1D17 /* Vera.ttf.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B801A95902C000E1D17 /* Vera.ttf.h */; }; + FA0B7D251A95902C000E1D17 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B811A95902C000E1D17 /* wrap_Font.cpp */; }; + FA0B7D261A95902C000E1D17 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B811A95902C000E1D17 /* wrap_Font.cpp */; }; + FA0B7D271A95902C000E1D17 /* wrap_Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B821A95902C000E1D17 /* wrap_Font.h */; }; + FA0B7D281A95902C000E1D17 /* wrap_GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B831A95902C000E1D17 /* wrap_GlyphData.cpp */; }; + FA0B7D291A95902C000E1D17 /* wrap_GlyphData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B831A95902C000E1D17 /* wrap_GlyphData.cpp */; }; + FA0B7D2A1A95902C000E1D17 /* wrap_GlyphData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B841A95902C000E1D17 /* wrap_GlyphData.h */; }; + FA0B7D2B1A95902C000E1D17 /* wrap_Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B851A95902C000E1D17 /* wrap_Rasterizer.cpp */; }; + FA0B7D2C1A95902C000E1D17 /* wrap_Rasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B851A95902C000E1D17 /* wrap_Rasterizer.cpp */; }; + FA0B7D2D1A95902C000E1D17 /* wrap_Rasterizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B861A95902C000E1D17 /* wrap_Rasterizer.h */; }; + FA0B7D2E1A95902C000E1D17 /* Color.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B881A95902C000E1D17 /* Color.h */; }; + FA0B7D2F1A95902C000E1D17 /* Drawable.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B891A95902C000E1D17 /* Drawable.h */; }; + FA0B7D301A95902C000E1D17 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8A1A95902C000E1D17 /* Graphics.cpp */; }; + FA0B7D311A95902C000E1D17 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8A1A95902C000E1D17 /* Graphics.cpp */; }; + FA0B7D321A95902C000E1D17 /* Graphics.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B8B1A95902C000E1D17 /* Graphics.h */; }; + FA0B7D331A95902C000E1D17 /* Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8D1A95902C000E1D17 /* Canvas.cpp */; }; + FA0B7D341A95902C000E1D17 /* Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8D1A95902C000E1D17 /* Canvas.cpp */; }; + FA0B7D351A95902C000E1D17 /* Canvas.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B8E1A95902C000E1D17 /* Canvas.h */; }; + FA0B7D361A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8F1A95902C000E1D17 /* Font.cpp */; }; + FA0B7D371A95902C000E1D17 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B8F1A95902C000E1D17 /* Font.cpp */; }; + FA0B7D381A95902C000E1D17 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B901A95902C000E1D17 /* Font.h */; }; + FA0B7D391A95902C000E1D17 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B911A95902C000E1D17 /* Graphics.cpp */; }; + FA0B7D3A1A95902C000E1D17 /* Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B911A95902C000E1D17 /* Graphics.cpp */; }; + FA0B7D3B1A95902C000E1D17 /* Graphics.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B921A95902C000E1D17 /* Graphics.h */; }; + FA0B7D3C1A95902C000E1D17 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B931A95902C000E1D17 /* Image.cpp */; }; + FA0B7D3D1A95902C000E1D17 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B931A95902C000E1D17 /* Image.cpp */; }; + FA0B7D3E1A95902C000E1D17 /* Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B941A95902C000E1D17 /* Image.h */; }; + FA0B7D3F1A95902C000E1D17 /* Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B951A95902C000E1D17 /* Mesh.cpp */; }; + FA0B7D401A95902C000E1D17 /* Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B951A95902C000E1D17 /* Mesh.cpp */; }; + FA0B7D411A95902C000E1D17 /* Mesh.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B961A95902C000E1D17 /* Mesh.h */; }; + FA0B7D421A95902C000E1D17 /* OpenGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B971A95902C000E1D17 /* OpenGL.cpp */; }; + FA0B7D431A95902C000E1D17 /* OpenGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B971A95902C000E1D17 /* OpenGL.cpp */; }; + FA0B7D441A95902C000E1D17 /* OpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B981A95902C000E1D17 /* OpenGL.h */; }; + FA0B7D451A95902C000E1D17 /* ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B991A95902C000E1D17 /* ParticleSystem.cpp */; }; + FA0B7D461A95902C000E1D17 /* ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B991A95902C000E1D17 /* ParticleSystem.cpp */; }; + FA0B7D471A95902C000E1D17 /* ParticleSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B9A1A95902C000E1D17 /* ParticleSystem.h */; }; + FA0B7D481A95902C000E1D17 /* Polyline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9B1A95902C000E1D17 /* Polyline.cpp */; }; + FA0B7D491A95902C000E1D17 /* Polyline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9B1A95902C000E1D17 /* Polyline.cpp */; }; + FA0B7D4A1A95902C000E1D17 /* Polyline.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B9C1A95902C000E1D17 /* Polyline.h */; }; + FA0B7D4B1A95902C000E1D17 /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9D1A95902C000E1D17 /* Shader.cpp */; }; + FA0B7D4C1A95902C000E1D17 /* Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9D1A95902C000E1D17 /* Shader.cpp */; }; + FA0B7D4D1A95902C000E1D17 /* Shader.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7B9E1A95902C000E1D17 /* Shader.h */; }; + FA0B7D4E1A95902C000E1D17 /* SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9F1A95902C000E1D17 /* SpriteBatch.cpp */; }; + FA0B7D4F1A95902C000E1D17 /* SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7B9F1A95902C000E1D17 /* SpriteBatch.cpp */; }; + FA0B7D501A95902C000E1D17 /* SpriteBatch.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BA01A95902C000E1D17 /* SpriteBatch.h */; }; + FA0B7D511A95902C000E1D17 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA11A95902C000E1D17 /* Text.cpp */; }; + FA0B7D521A95902C000E1D17 /* Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA11A95902C000E1D17 /* Text.cpp */; }; + FA0B7D531A95902C000E1D17 /* Text.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BA21A95902C000E1D17 /* Text.h */; }; + FA0B7D551A95902C000E1D17 /* VertexBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA41A95902C000E1D17 /* VertexBuffer.cpp */; }; + FA0B7D561A95902C000E1D17 /* VertexBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA41A95902C000E1D17 /* VertexBuffer.cpp */; }; + FA0B7D571A95902C000E1D17 /* VertexBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BA51A95902C000E1D17 /* VertexBuffer.h */; }; + FA0B7D581A95902C000E1D17 /* wrap_Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA61A95902C000E1D17 /* wrap_Canvas.cpp */; }; + FA0B7D591A95902C000E1D17 /* wrap_Canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA61A95902C000E1D17 /* wrap_Canvas.cpp */; }; + FA0B7D5A1A95902C000E1D17 /* wrap_Canvas.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BA71A95902C000E1D17 /* wrap_Canvas.h */; }; + FA0B7D5B1A95902C000E1D17 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA81A95902C000E1D17 /* wrap_Font.cpp */; }; + FA0B7D5C1A95902C000E1D17 /* wrap_Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BA81A95902C000E1D17 /* wrap_Font.cpp */; }; + FA0B7D5D1A95902C000E1D17 /* wrap_Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BA91A95902C000E1D17 /* wrap_Font.h */; }; + FA0B7D5E1A95902C000E1D17 /* wrap_Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAA1A95902C000E1D17 /* wrap_Graphics.cpp */; }; + FA0B7D5F1A95902C000E1D17 /* wrap_Graphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAA1A95902C000E1D17 /* wrap_Graphics.cpp */; }; + FA0B7D601A95902C000E1D17 /* wrap_Graphics.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BAB1A95902C000E1D17 /* wrap_Graphics.h */; }; + FA0B7D611A95902C000E1D17 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAC1A95902C000E1D17 /* wrap_Image.cpp */; }; + FA0B7D621A95902C000E1D17 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAC1A95902C000E1D17 /* wrap_Image.cpp */; }; + FA0B7D631A95902C000E1D17 /* wrap_Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BAD1A95902C000E1D17 /* wrap_Image.h */; }; + FA0B7D641A95902C000E1D17 /* wrap_Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAE1A95902C000E1D17 /* wrap_Mesh.cpp */; }; + FA0B7D651A95902C000E1D17 /* wrap_Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BAE1A95902C000E1D17 /* wrap_Mesh.cpp */; }; + FA0B7D661A95902C000E1D17 /* wrap_Mesh.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BAF1A95902C000E1D17 /* wrap_Mesh.h */; }; + FA0B7D671A95902C000E1D17 /* wrap_ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB01A95902C000E1D17 /* wrap_ParticleSystem.cpp */; }; + FA0B7D681A95902C000E1D17 /* wrap_ParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB01A95902C000E1D17 /* wrap_ParticleSystem.cpp */; }; + FA0B7D691A95902C000E1D17 /* wrap_ParticleSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BB11A95902C000E1D17 /* wrap_ParticleSystem.h */; }; + FA0B7D6D1A95902C000E1D17 /* wrap_Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB41A95902C000E1D17 /* wrap_Shader.cpp */; }; + FA0B7D6E1A95902C000E1D17 /* wrap_Shader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB41A95902C000E1D17 /* wrap_Shader.cpp */; }; + FA0B7D6F1A95902C000E1D17 /* wrap_Shader.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BB51A95902C000E1D17 /* wrap_Shader.h */; }; + FA0B7D701A95902C000E1D17 /* wrap_SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB61A95902C000E1D17 /* wrap_SpriteBatch.cpp */; }; + FA0B7D711A95902C000E1D17 /* wrap_SpriteBatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB61A95902C000E1D17 /* wrap_SpriteBatch.cpp */; }; + FA0B7D721A95902C000E1D17 /* wrap_SpriteBatch.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BB71A95902C000E1D17 /* wrap_SpriteBatch.h */; }; + FA0B7D731A95902C000E1D17 /* wrap_Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB81A95902C000E1D17 /* wrap_Text.cpp */; }; + FA0B7D741A95902C000E1D17 /* wrap_Text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BB81A95902C000E1D17 /* wrap_Text.cpp */; }; + FA0B7D751A95902C000E1D17 /* wrap_Text.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BB91A95902C000E1D17 /* wrap_Text.h */; }; + FA0B7D791A95902C000E1D17 /* Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BBC1A95902C000E1D17 /* Quad.cpp */; }; + FA0B7D7A1A95902C000E1D17 /* Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BBC1A95902C000E1D17 /* Quad.cpp */; }; + FA0B7D7B1A95902C000E1D17 /* Quad.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BBD1A95902C000E1D17 /* Quad.h */; }; + FA0B7D7C1A95902C000E1D17 /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BBE1A95902C000E1D17 /* Texture.cpp */; }; + FA0B7D7D1A95902C000E1D17 /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BBE1A95902C000E1D17 /* Texture.cpp */; }; + FA0B7D7E1A95902C000E1D17 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BBF1A95902C000E1D17 /* Texture.h */; }; + FA0B7D7F1A95902C000E1D17 /* Volatile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC01A95902C000E1D17 /* Volatile.cpp */; }; + FA0B7D801A95902C000E1D17 /* Volatile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC01A95902C000E1D17 /* Volatile.cpp */; }; + FA0B7D811A95902C000E1D17 /* Volatile.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BC11A95902C000E1D17 /* Volatile.h */; }; + FA0B7D821A95902C000E1D17 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC31A95902C000E1D17 /* CompressedData.cpp */; }; + FA0B7D831A95902C000E1D17 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC31A95902C000E1D17 /* CompressedData.cpp */; }; + FA0B7D841A95902C000E1D17 /* CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BC41A95902C000E1D17 /* CompressedData.h */; }; + FA0B7D851A95902C000E1D17 /* Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BC51A95902C000E1D17 /* Image.h */; }; + FA0B7D861A95902C000E1D17 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC61A95902C000E1D17 /* ImageData.cpp */; }; + FA0B7D871A95902C000E1D17 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC61A95902C000E1D17 /* ImageData.cpp */; }; + FA0B7D881A95902C000E1D17 /* ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BC71A95902C000E1D17 /* ImageData.h */; }; + FA0B7D891A95902C000E1D17 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC91A95902C000E1D17 /* CompressedData.cpp */; }; + FA0B7D8A1A95902C000E1D17 /* CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BC91A95902C000E1D17 /* CompressedData.cpp */; }; + FA0B7D8B1A95902C000E1D17 /* CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BCA1A95902C000E1D17 /* CompressedData.h */; }; + FA0B7D8C1A95902C000E1D17 /* CompressedFormatHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BCB1A95902C000E1D17 /* CompressedFormatHandler.h */; }; + FA0B7D8D1A95902C000E1D17 /* ddsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BCC1A95902C000E1D17 /* ddsHandler.cpp */; }; + FA0B7D8E1A95902C000E1D17 /* ddsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BCC1A95902C000E1D17 /* ddsHandler.cpp */; }; + FA0B7D8F1A95902C000E1D17 /* ddsHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BCD1A95902C000E1D17 /* ddsHandler.h */; }; + FA0B7D901A95902C000E1D17 /* FormatHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BCE1A95902C000E1D17 /* FormatHandler.cpp */; }; + FA0B7D911A95902C000E1D17 /* FormatHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BCE1A95902C000E1D17 /* FormatHandler.cpp */; }; + FA0B7D921A95902C000E1D17 /* FormatHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BCF1A95902C000E1D17 /* FormatHandler.h */; }; + FA0B7D931A95902C000E1D17 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD01A95902C000E1D17 /* Image.cpp */; }; + FA0B7D941A95902C000E1D17 /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD01A95902C000E1D17 /* Image.cpp */; }; + FA0B7D951A95902C000E1D17 /* Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BD11A95902C000E1D17 /* Image.h */; }; + FA0B7D961A95902C000E1D17 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD21A95902C000E1D17 /* ImageData.cpp */; }; + FA0B7D971A95902C000E1D17 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD21A95902C000E1D17 /* ImageData.cpp */; }; + FA0B7D981A95902C000E1D17 /* ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BD31A95902C000E1D17 /* ImageData.h */; }; + FA0B7D991A95902C000E1D17 /* ImageIOHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD41A95902C000E1D17 /* ImageIOHandler.cpp */; }; + FA0B7D9A1A95902C000E1D17 /* ImageIOHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD41A95902C000E1D17 /* ImageIOHandler.cpp */; }; + FA0B7D9B1A95902C000E1D17 /* ImageIOHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BD51A95902C000E1D17 /* ImageIOHandler.h */; }; + FA0B7D9C1A95902C000E1D17 /* JPEGHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD61A95902C000E1D17 /* JPEGHandler.cpp */; }; + FA0B7D9D1A95902C000E1D17 /* JPEGHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD61A95902C000E1D17 /* JPEGHandler.cpp */; }; + FA0B7D9E1A95902C000E1D17 /* JPEGHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BD71A95902C000E1D17 /* JPEGHandler.h */; }; + FA0B7D9F1A95902C000E1D17 /* KTXHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD81A95902C000E1D17 /* KTXHandler.cpp */; }; + FA0B7DA01A95902C000E1D17 /* KTXHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BD81A95902C000E1D17 /* KTXHandler.cpp */; }; + FA0B7DA11A95902C000E1D17 /* KTXHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BD91A95902C000E1D17 /* KTXHandler.h */; }; + FA0B7DA21A95902C000E1D17 /* PKMHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDA1A95902C000E1D17 /* PKMHandler.cpp */; }; + FA0B7DA31A95902C000E1D17 /* PKMHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDA1A95902C000E1D17 /* PKMHandler.cpp */; }; + FA0B7DA41A95902C000E1D17 /* PKMHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BDB1A95902C000E1D17 /* PKMHandler.h */; }; + FA0B7DA51A95902C000E1D17 /* PNGHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDC1A95902C000E1D17 /* PNGHandler.cpp */; }; + FA0B7DA61A95902C000E1D17 /* PNGHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDC1A95902C000E1D17 /* PNGHandler.cpp */; }; + FA0B7DA71A95902C000E1D17 /* PNGHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BDD1A95902C000E1D17 /* PNGHandler.h */; }; + FA0B7DA81A95902C000E1D17 /* PVRHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDE1A95902C000E1D17 /* PVRHandler.cpp */; }; + FA0B7DA91A95902C000E1D17 /* PVRHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BDE1A95902C000E1D17 /* PVRHandler.cpp */; }; + FA0B7DAA1A95902C000E1D17 /* PVRHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BDF1A95902C000E1D17 /* PVRHandler.h */; }; + FA0B7DAB1A95902C000E1D17 /* STBHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE01A95902C000E1D17 /* STBHandler.cpp */; }; + FA0B7DAC1A95902C000E1D17 /* STBHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE01A95902C000E1D17 /* STBHandler.cpp */; }; + FA0B7DAD1A95902C000E1D17 /* STBHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BE11A95902C000E1D17 /* STBHandler.h */; }; + FA0B7DAE1A95902C000E1D17 /* wrap_CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE21A95902C000E1D17 /* wrap_CompressedData.cpp */; }; + FA0B7DAF1A95902C000E1D17 /* wrap_CompressedData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE21A95902C000E1D17 /* wrap_CompressedData.cpp */; }; + FA0B7DB01A95902C000E1D17 /* wrap_CompressedData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BE31A95902C000E1D17 /* wrap_CompressedData.h */; }; + FA0B7DB11A95902C000E1D17 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE41A95902C000E1D17 /* wrap_Image.cpp */; }; + FA0B7DB21A95902C000E1D17 /* wrap_Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE41A95902C000E1D17 /* wrap_Image.cpp */; }; + FA0B7DB31A95902C000E1D17 /* wrap_Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BE51A95902C000E1D17 /* wrap_Image.h */; }; + FA0B7DB41A95902C000E1D17 /* wrap_ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE61A95902C000E1D17 /* wrap_ImageData.cpp */; }; + FA0B7DB51A95902C000E1D17 /* wrap_ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE61A95902C000E1D17 /* wrap_ImageData.cpp */; }; + FA0B7DB61A95902C000E1D17 /* wrap_ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BE71A95902C000E1D17 /* wrap_ImageData.h */; }; + FA0B7DB71A95902C000E1D17 /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE91A95902C000E1D17 /* Joystick.cpp */; }; + FA0B7DB81A95902C000E1D17 /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BE91A95902C000E1D17 /* Joystick.cpp */; }; + FA0B7DB91A95902C000E1D17 /* Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BEA1A95902C000E1D17 /* Joystick.h */; }; + FA0B7DBA1A95902C000E1D17 /* JoystickModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BEB1A95902C000E1D17 /* JoystickModule.h */; }; + FA0B7DBB1A95902C000E1D17 /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BED1A95902C000E1D17 /* Joystick.cpp */; }; + FA0B7DBC1A95902C000E1D17 /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BED1A95902C000E1D17 /* Joystick.cpp */; }; + FA0B7DBD1A95902C000E1D17 /* Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BEE1A95902C000E1D17 /* Joystick.h */; }; + FA0B7DBE1A95902C000E1D17 /* JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BEF1A95902C000E1D17 /* JoystickModule.cpp */; }; + FA0B7DBF1A95902C000E1D17 /* JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BEF1A95902C000E1D17 /* JoystickModule.cpp */; }; + FA0B7DC01A95902C000E1D17 /* JoystickModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BF01A95902C000E1D17 /* JoystickModule.h */; }; + FA0B7DC11A95902C000E1D17 /* wrap_Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF11A95902C000E1D17 /* wrap_Joystick.cpp */; }; + FA0B7DC21A95902C000E1D17 /* wrap_Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF11A95902C000E1D17 /* wrap_Joystick.cpp */; }; + FA0B7DC31A95902C000E1D17 /* wrap_Joystick.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BF21A95902C000E1D17 /* wrap_Joystick.h */; }; + FA0B7DC41A95902C000E1D17 /* wrap_JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF31A95902C000E1D17 /* wrap_JoystickModule.cpp */; }; + FA0B7DC51A95902C000E1D17 /* wrap_JoystickModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF31A95902C000E1D17 /* wrap_JoystickModule.cpp */; }; + FA0B7DC61A95902C000E1D17 /* wrap_JoystickModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BF41A95902C000E1D17 /* wrap_JoystickModule.h */; }; + FA0B7DC71A95902C000E1D17 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF61A95902C000E1D17 /* Keyboard.cpp */; }; + FA0B7DC81A95902C000E1D17 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF61A95902C000E1D17 /* Keyboard.cpp */; }; + FA0B7DC91A95902C000E1D17 /* Keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BF71A95902C000E1D17 /* Keyboard.h */; }; + FA0B7DCA1A95902C000E1D17 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF91A95902C000E1D17 /* Keyboard.cpp */; }; + FA0B7DCB1A95902C000E1D17 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BF91A95902C000E1D17 /* Keyboard.cpp */; }; + FA0B7DCC1A95902C000E1D17 /* Keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BFA1A95902C000E1D17 /* Keyboard.h */; }; + FA0B7DCD1A95902C000E1D17 /* wrap_Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BFB1A95902C000E1D17 /* wrap_Keyboard.cpp */; }; + FA0B7DCE1A95902C000E1D17 /* wrap_Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BFB1A95902C000E1D17 /* wrap_Keyboard.cpp */; }; + FA0B7DCF1A95902C000E1D17 /* wrap_Keyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BFC1A95902C000E1D17 /* wrap_Keyboard.h */; }; + FA0B7DD01A95902C000E1D17 /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BFE1A95902C000E1D17 /* love.cpp */; }; + FA0B7DD11A95902C000E1D17 /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7BFE1A95902C000E1D17 /* love.cpp */; }; + FA0B7DD21A95902C000E1D17 /* love.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7BFF1A95902C000E1D17 /* love.h */; }; + FA0B7DD31A95902C000E1D17 /* BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C011A95902C000E1D17 /* BezierCurve.cpp */; }; + FA0B7DD41A95902C000E1D17 /* BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C011A95902C000E1D17 /* BezierCurve.cpp */; }; + FA0B7DD51A95902C000E1D17 /* BezierCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C021A95902C000E1D17 /* BezierCurve.h */; }; + FA0B7DD61A95902C000E1D17 /* MathModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C031A95902C000E1D17 /* MathModule.cpp */; }; + FA0B7DD71A95902C000E1D17 /* MathModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C031A95902C000E1D17 /* MathModule.cpp */; }; + FA0B7DD81A95902C000E1D17 /* MathModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C041A95902C000E1D17 /* MathModule.h */; }; + FA0B7DD91A95902C000E1D17 /* RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C051A95902C000E1D17 /* RandomGenerator.cpp */; }; + FA0B7DDA1A95902C000E1D17 /* RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C051A95902C000E1D17 /* RandomGenerator.cpp */; }; + FA0B7DDB1A95902C000E1D17 /* RandomGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C061A95902C000E1D17 /* RandomGenerator.h */; }; + FA0B7DDC1A95902C000E1D17 /* wrap_BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C071A95902C000E1D17 /* wrap_BezierCurve.cpp */; }; + FA0B7DDD1A95902C000E1D17 /* wrap_BezierCurve.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C071A95902C000E1D17 /* wrap_BezierCurve.cpp */; }; + FA0B7DDE1A95902C000E1D17 /* wrap_BezierCurve.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C081A95902C000E1D17 /* wrap_BezierCurve.h */; }; + FA0B7DDF1A95902C000E1D17 /* wrap_Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C091A95902C000E1D17 /* wrap_Math.cpp */; }; + FA0B7DE01A95902C000E1D17 /* wrap_Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C091A95902C000E1D17 /* wrap_Math.cpp */; }; + FA0B7DE11A95902C000E1D17 /* wrap_Math.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C0A1A95902C000E1D17 /* wrap_Math.h */; }; + FA0B7DE21A95902C000E1D17 /* wrap_RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C0B1A95902C000E1D17 /* wrap_RandomGenerator.cpp */; }; + FA0B7DE31A95902C000E1D17 /* wrap_RandomGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C0B1A95902C000E1D17 /* wrap_RandomGenerator.cpp */; }; + FA0B7DE41A95902C000E1D17 /* wrap_RandomGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C0C1A95902C000E1D17 /* wrap_RandomGenerator.h */; }; + FA0B7DE51A95902C000E1D17 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C0E1A95902C000E1D17 /* Cursor.cpp */; }; + FA0B7DE61A95902C000E1D17 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C0E1A95902C000E1D17 /* Cursor.cpp */; }; + FA0B7DE71A95902C000E1D17 /* Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C0F1A95902C000E1D17 /* Cursor.h */; }; + FA0B7DE81A95902C000E1D17 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C101A95902C000E1D17 /* Mouse.cpp */; }; + FA0B7DE91A95902C000E1D17 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C101A95902C000E1D17 /* Mouse.cpp */; }; + FA0B7DEA1A95902C000E1D17 /* Mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C111A95902C000E1D17 /* Mouse.h */; }; + FA0B7DEB1A95902C000E1D17 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C131A95902C000E1D17 /* Cursor.cpp */; }; + FA0B7DEC1A95902C000E1D17 /* Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C131A95902C000E1D17 /* Cursor.cpp */; }; + FA0B7DED1A95902C000E1D17 /* Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C141A95902C000E1D17 /* Cursor.h */; }; + FA0B7DEE1A95902C000E1D17 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C151A95902C000E1D17 /* Mouse.cpp */; }; + FA0B7DEF1A95902C000E1D17 /* Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C151A95902C000E1D17 /* Mouse.cpp */; }; + FA0B7DF01A95902C000E1D17 /* Mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C161A95902C000E1D17 /* Mouse.h */; }; + FA0B7DF11A95902C000E1D17 /* wrap_Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C171A95902C000E1D17 /* wrap_Cursor.cpp */; }; + FA0B7DF21A95902C000E1D17 /* wrap_Cursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C171A95902C000E1D17 /* wrap_Cursor.cpp */; }; + FA0B7DF31A95902C000E1D17 /* wrap_Cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C181A95902C000E1D17 /* wrap_Cursor.h */; }; + FA0B7DF41A95902C000E1D17 /* wrap_Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C191A95902C000E1D17 /* wrap_Mouse.cpp */; }; + FA0B7DF51A95902C000E1D17 /* wrap_Mouse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C191A95902C000E1D17 /* wrap_Mouse.cpp */; }; + FA0B7DF61A95902C000E1D17 /* wrap_Mouse.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C1A1A95902C000E1D17 /* wrap_Mouse.h */; }; + FA0B7DF71A95902C000E1D17 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C1C1A95902C000E1D17 /* Body.cpp */; }; + FA0B7DF81A95902C000E1D17 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C1C1A95902C000E1D17 /* Body.cpp */; }; + FA0B7DF91A95902C000E1D17 /* Body.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C1D1A95902C000E1D17 /* Body.h */; }; + FA0B7DFA1A95902C000E1D17 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C1F1A95902C000E1D17 /* Body.cpp */; }; + FA0B7DFB1A95902C000E1D17 /* Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C1F1A95902C000E1D17 /* Body.cpp */; }; + FA0B7DFC1A95902C000E1D17 /* Body.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C201A95902C000E1D17 /* Body.h */; }; + FA0B7DFD1A95902C000E1D17 /* ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C211A95902C000E1D17 /* ChainShape.cpp */; }; + FA0B7DFE1A95902C000E1D17 /* ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C211A95902C000E1D17 /* ChainShape.cpp */; }; + FA0B7DFF1A95902C000E1D17 /* ChainShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C221A95902C000E1D17 /* ChainShape.h */; }; + FA0B7E001A95902C000E1D17 /* CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C231A95902C000E1D17 /* CircleShape.cpp */; }; + FA0B7E011A95902C000E1D17 /* CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C231A95902C000E1D17 /* CircleShape.cpp */; }; + FA0B7E021A95902C000E1D17 /* CircleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C241A95902C000E1D17 /* CircleShape.h */; }; + FA0B7E031A95902C000E1D17 /* Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C251A95902C000E1D17 /* Contact.cpp */; }; + FA0B7E041A95902C000E1D17 /* Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C251A95902C000E1D17 /* Contact.cpp */; }; + FA0B7E051A95902C000E1D17 /* Contact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C261A95902C000E1D17 /* Contact.h */; }; + FA0B7E061A95902C000E1D17 /* DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C271A95902C000E1D17 /* DistanceJoint.cpp */; }; + FA0B7E071A95902C000E1D17 /* DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C271A95902C000E1D17 /* DistanceJoint.cpp */; }; + FA0B7E081A95902C000E1D17 /* DistanceJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C281A95902C000E1D17 /* DistanceJoint.h */; }; + FA0B7E091A95902C000E1D17 /* EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C291A95902C000E1D17 /* EdgeShape.cpp */; }; + FA0B7E0A1A95902C000E1D17 /* EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C291A95902C000E1D17 /* EdgeShape.cpp */; }; + FA0B7E0B1A95902C000E1D17 /* EdgeShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C2A1A95902C000E1D17 /* EdgeShape.h */; }; + FA0B7E0C1A95902C000E1D17 /* Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2B1A95902C000E1D17 /* Fixture.cpp */; }; + FA0B7E0D1A95902C000E1D17 /* Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2B1A95902C000E1D17 /* Fixture.cpp */; }; + FA0B7E0E1A95902C000E1D17 /* Fixture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C2C1A95902C000E1D17 /* Fixture.h */; }; + FA0B7E0F1A95902C000E1D17 /* FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2D1A95902C000E1D17 /* FrictionJoint.cpp */; }; + FA0B7E101A95902C000E1D17 /* FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2D1A95902C000E1D17 /* FrictionJoint.cpp */; }; + FA0B7E111A95902C000E1D17 /* FrictionJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C2E1A95902C000E1D17 /* FrictionJoint.h */; }; + FA0B7E121A95902C000E1D17 /* GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2F1A95902C000E1D17 /* GearJoint.cpp */; }; + FA0B7E131A95902C000E1D17 /* GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C2F1A95902C000E1D17 /* GearJoint.cpp */; }; + FA0B7E141A95902C000E1D17 /* GearJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C301A95902C000E1D17 /* GearJoint.h */; }; + FA0B7E151A95902C000E1D17 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C311A95902C000E1D17 /* Joint.cpp */; }; + FA0B7E161A95902C000E1D17 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C311A95902C000E1D17 /* Joint.cpp */; }; + FA0B7E171A95902C000E1D17 /* Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C321A95902C000E1D17 /* Joint.h */; }; + FA0B7E181A95902C000E1D17 /* MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C331A95902C000E1D17 /* MotorJoint.cpp */; }; + FA0B7E191A95902C000E1D17 /* MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C331A95902C000E1D17 /* MotorJoint.cpp */; }; + FA0B7E1A1A95902C000E1D17 /* MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C341A95902C000E1D17 /* MotorJoint.h */; }; + FA0B7E1B1A95902C000E1D17 /* MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C351A95902C000E1D17 /* MouseJoint.cpp */; }; + FA0B7E1C1A95902C000E1D17 /* MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C351A95902C000E1D17 /* MouseJoint.cpp */; }; + FA0B7E1D1A95902C000E1D17 /* MouseJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C361A95902C000E1D17 /* MouseJoint.h */; }; + FA0B7E1E1A95902C000E1D17 /* Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C371A95902C000E1D17 /* Physics.cpp */; }; + FA0B7E1F1A95902C000E1D17 /* Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C371A95902C000E1D17 /* Physics.cpp */; }; + FA0B7E201A95902C000E1D17 /* Physics.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C381A95902C000E1D17 /* Physics.h */; }; + FA0B7E211A95902C000E1D17 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C391A95902C000E1D17 /* PolygonShape.cpp */; }; + FA0B7E221A95902C000E1D17 /* PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C391A95902C000E1D17 /* PolygonShape.cpp */; }; + FA0B7E231A95902C000E1D17 /* PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C3A1A95902C000E1D17 /* PolygonShape.h */; }; + FA0B7E241A95902C000E1D17 /* PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3B1A95902C000E1D17 /* PrismaticJoint.cpp */; }; + FA0B7E251A95902C000E1D17 /* PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3B1A95902C000E1D17 /* PrismaticJoint.cpp */; }; + FA0B7E261A95902C000E1D17 /* PrismaticJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C3C1A95902C000E1D17 /* PrismaticJoint.h */; }; + FA0B7E271A95902C000E1D17 /* PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3D1A95902C000E1D17 /* PulleyJoint.cpp */; }; + FA0B7E281A95902C000E1D17 /* PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3D1A95902C000E1D17 /* PulleyJoint.cpp */; }; + FA0B7E291A95902C000E1D17 /* PulleyJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C3E1A95902C000E1D17 /* PulleyJoint.h */; }; + FA0B7E2A1A95902C000E1D17 /* RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3F1A95902C000E1D17 /* RevoluteJoint.cpp */; }; + FA0B7E2B1A95902C000E1D17 /* RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C3F1A95902C000E1D17 /* RevoluteJoint.cpp */; }; + FA0B7E2C1A95902C000E1D17 /* RevoluteJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C401A95902C000E1D17 /* RevoluteJoint.h */; }; + FA0B7E2D1A95902C000E1D17 /* RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C411A95902C000E1D17 /* RopeJoint.cpp */; }; + FA0B7E2E1A95902C000E1D17 /* RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C411A95902C000E1D17 /* RopeJoint.cpp */; }; + FA0B7E2F1A95902C000E1D17 /* RopeJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C421A95902C000E1D17 /* RopeJoint.h */; }; + FA0B7E301A95902C000E1D17 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C431A95902C000E1D17 /* Shape.cpp */; }; + FA0B7E311A95902C000E1D17 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C431A95902C000E1D17 /* Shape.cpp */; }; + FA0B7E321A95902C000E1D17 /* Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C441A95902C000E1D17 /* Shape.h */; }; + FA0B7E331A95902C000E1D17 /* WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C451A95902C000E1D17 /* WeldJoint.cpp */; }; + FA0B7E341A95902C000E1D17 /* WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C451A95902C000E1D17 /* WeldJoint.cpp */; }; + FA0B7E351A95902C000E1D17 /* WeldJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C461A95902C000E1D17 /* WeldJoint.h */; }; + FA0B7E361A95902C000E1D17 /* WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C471A95902C000E1D17 /* WheelJoint.cpp */; }; + FA0B7E371A95902C000E1D17 /* WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C471A95902C000E1D17 /* WheelJoint.cpp */; }; + FA0B7E381A95902C000E1D17 /* WheelJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C481A95902C000E1D17 /* WheelJoint.h */; }; + FA0B7E391A95902C000E1D17 /* World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C491A95902C000E1D17 /* World.cpp */; }; + FA0B7E3A1A95902C000E1D17 /* World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C491A95902C000E1D17 /* World.cpp */; }; + FA0B7E3B1A95902C000E1D17 /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C4A1A95902C000E1D17 /* World.h */; }; + FA0B7E3C1A95902C000E1D17 /* wrap_Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4B1A95902C000E1D17 /* wrap_Body.cpp */; }; + FA0B7E3D1A95902C000E1D17 /* wrap_Body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4B1A95902C000E1D17 /* wrap_Body.cpp */; }; + FA0B7E3E1A95902C000E1D17 /* wrap_Body.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C4C1A95902C000E1D17 /* wrap_Body.h */; }; + FA0B7E3F1A95902C000E1D17 /* wrap_ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4D1A95902C000E1D17 /* wrap_ChainShape.cpp */; }; + FA0B7E401A95902C000E1D17 /* wrap_ChainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4D1A95902C000E1D17 /* wrap_ChainShape.cpp */; }; + FA0B7E411A95902C000E1D17 /* wrap_ChainShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C4E1A95902C000E1D17 /* wrap_ChainShape.h */; }; + FA0B7E421A95902C000E1D17 /* wrap_CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4F1A95902C000E1D17 /* wrap_CircleShape.cpp */; }; + FA0B7E431A95902C000E1D17 /* wrap_CircleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C4F1A95902C000E1D17 /* wrap_CircleShape.cpp */; }; + FA0B7E441A95902C000E1D17 /* wrap_CircleShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C501A95902C000E1D17 /* wrap_CircleShape.h */; }; + FA0B7E451A95902C000E1D17 /* wrap_Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C511A95902C000E1D17 /* wrap_Contact.cpp */; }; + FA0B7E461A95902C000E1D17 /* wrap_Contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C511A95902C000E1D17 /* wrap_Contact.cpp */; }; + FA0B7E471A95902C000E1D17 /* wrap_Contact.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C521A95902C000E1D17 /* wrap_Contact.h */; }; + FA0B7E481A95902C000E1D17 /* wrap_DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C531A95902C000E1D17 /* wrap_DistanceJoint.cpp */; }; + FA0B7E491A95902C000E1D17 /* wrap_DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C531A95902C000E1D17 /* wrap_DistanceJoint.cpp */; }; + FA0B7E4A1A95902C000E1D17 /* wrap_DistanceJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C541A95902C000E1D17 /* wrap_DistanceJoint.h */; }; + FA0B7E4B1A95902C000E1D17 /* wrap_EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C551A95902C000E1D17 /* wrap_EdgeShape.cpp */; }; + FA0B7E4C1A95902C000E1D17 /* wrap_EdgeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C551A95902C000E1D17 /* wrap_EdgeShape.cpp */; }; + FA0B7E4D1A95902C000E1D17 /* wrap_EdgeShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C561A95902C000E1D17 /* wrap_EdgeShape.h */; }; + FA0B7E4E1A95902C000E1D17 /* wrap_Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C571A95902C000E1D17 /* wrap_Fixture.cpp */; }; + FA0B7E4F1A95902C000E1D17 /* wrap_Fixture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C571A95902C000E1D17 /* wrap_Fixture.cpp */; }; + FA0B7E501A95902C000E1D17 /* wrap_Fixture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C581A95902C000E1D17 /* wrap_Fixture.h */; }; + FA0B7E511A95902C000E1D17 /* wrap_FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C591A95902C000E1D17 /* wrap_FrictionJoint.cpp */; }; + FA0B7E521A95902C000E1D17 /* wrap_FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C591A95902C000E1D17 /* wrap_FrictionJoint.cpp */; }; + FA0B7E531A95902C000E1D17 /* wrap_FrictionJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C5A1A95902C000E1D17 /* wrap_FrictionJoint.h */; }; + FA0B7E541A95902C000E1D17 /* wrap_GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5B1A95902C000E1D17 /* wrap_GearJoint.cpp */; }; + FA0B7E551A95902C000E1D17 /* wrap_GearJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5B1A95902C000E1D17 /* wrap_GearJoint.cpp */; }; + FA0B7E561A95902C000E1D17 /* wrap_GearJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C5C1A95902C000E1D17 /* wrap_GearJoint.h */; }; + FA0B7E571A95902C000E1D17 /* wrap_Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5D1A95902C000E1D17 /* wrap_Joint.cpp */; }; + FA0B7E581A95902C000E1D17 /* wrap_Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5D1A95902C000E1D17 /* wrap_Joint.cpp */; }; + FA0B7E591A95902C000E1D17 /* wrap_Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C5E1A95902C000E1D17 /* wrap_Joint.h */; }; + FA0B7E5A1A95902C000E1D17 /* wrap_MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5F1A95902C000E1D17 /* wrap_MotorJoint.cpp */; }; + FA0B7E5B1A95902C000E1D17 /* wrap_MotorJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C5F1A95902C000E1D17 /* wrap_MotorJoint.cpp */; }; + FA0B7E5C1A95902C000E1D17 /* wrap_MotorJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C601A95902C000E1D17 /* wrap_MotorJoint.h */; }; + FA0B7E5D1A95902C000E1D17 /* wrap_MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C611A95902C000E1D17 /* wrap_MouseJoint.cpp */; }; + FA0B7E5E1A95902C000E1D17 /* wrap_MouseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C611A95902C000E1D17 /* wrap_MouseJoint.cpp */; }; + FA0B7E5F1A95902C000E1D17 /* wrap_MouseJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C621A95902C000E1D17 /* wrap_MouseJoint.h */; }; + FA0B7E601A95902C000E1D17 /* wrap_Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C631A95902C000E1D17 /* wrap_Physics.cpp */; }; + FA0B7E611A95902C000E1D17 /* wrap_Physics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C631A95902C000E1D17 /* wrap_Physics.cpp */; }; + FA0B7E621A95902C000E1D17 /* wrap_Physics.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C641A95902C000E1D17 /* wrap_Physics.h */; }; + FA0B7E631A95902C000E1D17 /* wrap_PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C651A95902C000E1D17 /* wrap_PolygonShape.cpp */; }; + FA0B7E641A95902C000E1D17 /* wrap_PolygonShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C651A95902C000E1D17 /* wrap_PolygonShape.cpp */; }; + FA0B7E651A95902C000E1D17 /* wrap_PolygonShape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C661A95902C000E1D17 /* wrap_PolygonShape.h */; }; + FA0B7E661A95902C000E1D17 /* wrap_PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C671A95902C000E1D17 /* wrap_PrismaticJoint.cpp */; }; + FA0B7E671A95902C000E1D17 /* wrap_PrismaticJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C671A95902C000E1D17 /* wrap_PrismaticJoint.cpp */; }; + FA0B7E681A95902C000E1D17 /* wrap_PrismaticJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C681A95902C000E1D17 /* wrap_PrismaticJoint.h */; }; + FA0B7E691A95902C000E1D17 /* wrap_PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C691A95902C000E1D17 /* wrap_PulleyJoint.cpp */; }; + FA0B7E6A1A95902C000E1D17 /* wrap_PulleyJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C691A95902C000E1D17 /* wrap_PulleyJoint.cpp */; }; + FA0B7E6B1A95902C000E1D17 /* wrap_PulleyJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C6A1A95902C000E1D17 /* wrap_PulleyJoint.h */; }; + FA0B7E6C1A95902C000E1D17 /* wrap_RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6B1A95902C000E1D17 /* wrap_RevoluteJoint.cpp */; }; + FA0B7E6D1A95902C000E1D17 /* wrap_RevoluteJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6B1A95902C000E1D17 /* wrap_RevoluteJoint.cpp */; }; + FA0B7E6E1A95902C000E1D17 /* wrap_RevoluteJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C6C1A95902C000E1D17 /* wrap_RevoluteJoint.h */; }; + FA0B7E6F1A95902C000E1D17 /* wrap_RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6D1A95902C000E1D17 /* wrap_RopeJoint.cpp */; }; + FA0B7E701A95902C000E1D17 /* wrap_RopeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6D1A95902C000E1D17 /* wrap_RopeJoint.cpp */; }; + FA0B7E711A95902C000E1D17 /* wrap_RopeJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C6E1A95902C000E1D17 /* wrap_RopeJoint.h */; }; + FA0B7E721A95902C000E1D17 /* wrap_Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6F1A95902C000E1D17 /* wrap_Shape.cpp */; }; + FA0B7E731A95902C000E1D17 /* wrap_Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C6F1A95902C000E1D17 /* wrap_Shape.cpp */; }; + FA0B7E741A95902C000E1D17 /* wrap_Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C701A95902C000E1D17 /* wrap_Shape.h */; }; + FA0B7E751A95902C000E1D17 /* wrap_WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C711A95902C000E1D17 /* wrap_WeldJoint.cpp */; }; + FA0B7E761A95902C000E1D17 /* wrap_WeldJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C711A95902C000E1D17 /* wrap_WeldJoint.cpp */; }; + FA0B7E771A95902C000E1D17 /* wrap_WeldJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C721A95902C000E1D17 /* wrap_WeldJoint.h */; }; + FA0B7E781A95902C000E1D17 /* wrap_WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C731A95902C000E1D17 /* wrap_WheelJoint.cpp */; }; + FA0B7E791A95902C000E1D17 /* wrap_WheelJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C731A95902C000E1D17 /* wrap_WheelJoint.cpp */; }; + FA0B7E7A1A95902C000E1D17 /* wrap_WheelJoint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C741A95902C000E1D17 /* wrap_WheelJoint.h */; }; + FA0B7E7B1A95902C000E1D17 /* wrap_World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C751A95902C000E1D17 /* wrap_World.cpp */; }; + FA0B7E7C1A95902C000E1D17 /* wrap_World.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C751A95902C000E1D17 /* wrap_World.cpp */; }; + FA0B7E7D1A95902C000E1D17 /* wrap_World.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C761A95902C000E1D17 /* wrap_World.h */; }; + FA0B7E7E1A95902C000E1D17 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C771A95902C000E1D17 /* Joint.cpp */; }; + FA0B7E7F1A95902C000E1D17 /* Joint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C771A95902C000E1D17 /* Joint.cpp */; }; + FA0B7E801A95902C000E1D17 /* Joint.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C781A95902C000E1D17 /* Joint.h */; }; + FA0B7E811A95902C000E1D17 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C791A95902C000E1D17 /* Shape.cpp */; }; + FA0B7E821A95902C000E1D17 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C791A95902C000E1D17 /* Shape.cpp */; }; + FA0B7E831A95902C000E1D17 /* Shape.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C7A1A95902C000E1D17 /* Shape.h */; }; + FA0B7E841A95902C000E1D17 /* Decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C7C1A95902C000E1D17 /* Decoder.h */; }; + FA0B7E851A95902C000E1D17 /* CoreAudioDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C7E1A95902C000E1D17 /* CoreAudioDecoder.cpp */; }; + FA0B7E861A95902C000E1D17 /* CoreAudioDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C7E1A95902C000E1D17 /* CoreAudioDecoder.cpp */; }; + FA0B7E871A95902C000E1D17 /* CoreAudioDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C7F1A95902C000E1D17 /* CoreAudioDecoder.h */; }; + FA0B7E881A95902C000E1D17 /* Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C801A95902C000E1D17 /* Decoder.cpp */; }; + FA0B7E891A95902C000E1D17 /* Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C801A95902C000E1D17 /* Decoder.cpp */; }; + FA0B7E8A1A95902C000E1D17 /* Decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C811A95902C000E1D17 /* Decoder.h */; }; + FA0B7E8B1A95902C000E1D17 /* FLACDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C821A95902C000E1D17 /* FLACDecoder.cpp */; }; + FA0B7E8C1A95902C000E1D17 /* FLACDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C821A95902C000E1D17 /* FLACDecoder.cpp */; }; + FA0B7E8D1A95902C000E1D17 /* FLACDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C831A95902C000E1D17 /* FLACDecoder.h */; }; + FA0B7E8E1A95902C000E1D17 /* GmeDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C841A95902C000E1D17 /* GmeDecoder.cpp */; }; + FA0B7E8F1A95902C000E1D17 /* GmeDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C841A95902C000E1D17 /* GmeDecoder.cpp */; }; + FA0B7E901A95902C000E1D17 /* GmeDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C851A95902C000E1D17 /* GmeDecoder.h */; }; + FA0B7E911A95902C000E1D17 /* ModPlugDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C861A95902C000E1D17 /* ModPlugDecoder.cpp */; }; + FA0B7E921A95902C000E1D17 /* ModPlugDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C861A95902C000E1D17 /* ModPlugDecoder.cpp */; }; + FA0B7E931A95902C000E1D17 /* ModPlugDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C871A95902C000E1D17 /* ModPlugDecoder.h */; }; + FA0B7E941A95902C000E1D17 /* Mpg123Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C881A95902C000E1D17 /* Mpg123Decoder.cpp */; }; + FA0B7E961A95902C000E1D17 /* Mpg123Decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C891A95902C000E1D17 /* Mpg123Decoder.h */; }; + FA0B7E971A95902C000E1D17 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8A1A95902C000E1D17 /* Sound.cpp */; }; + FA0B7E981A95902C000E1D17 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8A1A95902C000E1D17 /* Sound.cpp */; }; + FA0B7E991A95902C000E1D17 /* Sound.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C8B1A95902C000E1D17 /* Sound.h */; }; + FA0B7E9A1A95902C000E1D17 /* VorbisDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8C1A95902C000E1D17 /* VorbisDecoder.cpp */; }; + FA0B7E9B1A95902C000E1D17 /* VorbisDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8C1A95902C000E1D17 /* VorbisDecoder.cpp */; }; + FA0B7E9C1A95902C000E1D17 /* VorbisDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C8D1A95902C000E1D17 /* VorbisDecoder.h */; }; + FA0B7E9D1A95902C000E1D17 /* WaveDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8E1A95902C000E1D17 /* WaveDecoder.cpp */; }; + FA0B7E9E1A95902C000E1D17 /* WaveDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C8E1A95902C000E1D17 /* WaveDecoder.cpp */; }; + FA0B7E9F1A95902C000E1D17 /* WaveDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C8F1A95902C000E1D17 /* WaveDecoder.h */; }; + FA0B7EA01A95902C000E1D17 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C901A95902C000E1D17 /* Sound.cpp */; }; + FA0B7EA11A95902C000E1D17 /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C901A95902C000E1D17 /* Sound.cpp */; }; + FA0B7EA21A95902C000E1D17 /* Sound.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C911A95902C000E1D17 /* Sound.h */; }; + FA0B7EA31A95902C000E1D17 /* SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C921A95902C000E1D17 /* SoundData.cpp */; }; + FA0B7EA41A95902C000E1D17 /* SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C921A95902C000E1D17 /* SoundData.cpp */; }; + FA0B7EA51A95902C000E1D17 /* SoundData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C931A95902C000E1D17 /* SoundData.h */; }; + FA0B7EA61A95902C000E1D17 /* wrap_Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C941A95902C000E1D17 /* wrap_Decoder.cpp */; }; + FA0B7EA71A95902C000E1D17 /* wrap_Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C941A95902C000E1D17 /* wrap_Decoder.cpp */; }; + FA0B7EA81A95902C000E1D17 /* wrap_Decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C951A95902C000E1D17 /* wrap_Decoder.h */; }; + FA0B7EA91A95902C000E1D17 /* wrap_Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C961A95902C000E1D17 /* wrap_Sound.cpp */; }; + FA0B7EAA1A95902C000E1D17 /* wrap_Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C961A95902C000E1D17 /* wrap_Sound.cpp */; }; + FA0B7EAB1A95902C000E1D17 /* wrap_Sound.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C971A95902C000E1D17 /* wrap_Sound.h */; }; + FA0B7EAC1A95902C000E1D17 /* wrap_SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C981A95902C000E1D17 /* wrap_SoundData.cpp */; }; + FA0B7EAD1A95902C000E1D17 /* wrap_SoundData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C981A95902C000E1D17 /* wrap_SoundData.cpp */; }; + FA0B7EAE1A95902C000E1D17 /* wrap_SoundData.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C991A95902C000E1D17 /* wrap_SoundData.h */; }; + FA0B7EAF1A95902C000E1D17 /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C9C1A95902C000E1D17 /* System.cpp */; }; + FA0B7EB01A95902C000E1D17 /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C9C1A95902C000E1D17 /* System.cpp */; }; + FA0B7EB11A95902C000E1D17 /* System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C9D1A95902C000E1D17 /* System.h */; }; + FA0B7EB21A95902C000E1D17 /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C9E1A95902C000E1D17 /* System.cpp */; }; + FA0B7EB31A95902C000E1D17 /* System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7C9E1A95902C000E1D17 /* System.cpp */; }; + FA0B7EB41A95902C000E1D17 /* System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7C9F1A95902C000E1D17 /* System.h */; }; + FA0B7EB51A95902C000E1D17 /* wrap_System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA01A95902C000E1D17 /* wrap_System.cpp */; }; + FA0B7EB61A95902C000E1D17 /* wrap_System.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA01A95902C000E1D17 /* wrap_System.cpp */; }; + FA0B7EB71A95902C000E1D17 /* wrap_System.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CA11A95902C000E1D17 /* wrap_System.h */; }; + FA0B7EB81A95902C000E1D17 /* Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA31A95902C000E1D17 /* Channel.cpp */; }; + FA0B7EB91A95902C000E1D17 /* Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA31A95902C000E1D17 /* Channel.cpp */; }; + FA0B7EBA1A95902C000E1D17 /* Channel.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CA41A95902C000E1D17 /* Channel.h */; }; + FA0B7EBB1A95902C000E1D17 /* LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA51A95902C000E1D17 /* LuaThread.cpp */; }; + FA0B7EBC1A95902C000E1D17 /* LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA51A95902C000E1D17 /* LuaThread.cpp */; }; + FA0B7EBD1A95902C000E1D17 /* LuaThread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CA61A95902C000E1D17 /* LuaThread.h */; }; + FA0B7EBE1A95902C000E1D17 /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA81A95902C000E1D17 /* Thread.cpp */; }; + FA0B7EBF1A95902C000E1D17 /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CA81A95902C000E1D17 /* Thread.cpp */; }; + FA0B7EC01A95902C000E1D17 /* Thread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CA91A95902C000E1D17 /* Thread.h */; }; + FA0B7EC11A95902C000E1D17 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAA1A95902C000E1D17 /* threads.cpp */; }; + FA0B7EC21A95902C000E1D17 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAA1A95902C000E1D17 /* threads.cpp */; }; + FA0B7EC31A95902C000E1D17 /* threads.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CAB1A95902C000E1D17 /* threads.h */; }; + FA0B7EC41A95902C000E1D17 /* Thread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CAC1A95902C000E1D17 /* Thread.h */; }; + FA0B7EC51A95902C000E1D17 /* ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAD1A95902C000E1D17 /* ThreadModule.cpp */; }; + FA0B7EC61A95902C000E1D17 /* ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAD1A95902C000E1D17 /* ThreadModule.cpp */; }; + FA0B7EC71A95902C000E1D17 /* ThreadModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CAE1A95902C000E1D17 /* ThreadModule.h */; }; + FA0B7EC81A95902C000E1D17 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAF1A95902C000E1D17 /* threads.cpp */; }; + FA0B7EC91A95902C000E1D17 /* threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CAF1A95902C000E1D17 /* threads.cpp */; }; + FA0B7ECA1A95902C000E1D17 /* threads.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CB01A95902C000E1D17 /* threads.h */; }; + FA0B7ECB1A95902C000E1D17 /* wrap_Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB11A95902C000E1D17 /* wrap_Channel.cpp */; }; + FA0B7ECC1A95902C000E1D17 /* wrap_Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB11A95902C000E1D17 /* wrap_Channel.cpp */; }; + FA0B7ECD1A95902C000E1D17 /* wrap_Channel.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CB21A95902C000E1D17 /* wrap_Channel.h */; }; + FA0B7ECE1A95902C000E1D17 /* wrap_LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB31A95902C000E1D17 /* wrap_LuaThread.cpp */; }; + FA0B7ECF1A95902C000E1D17 /* wrap_LuaThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB31A95902C000E1D17 /* wrap_LuaThread.cpp */; }; + FA0B7ED01A95902C000E1D17 /* wrap_LuaThread.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CB41A95902C000E1D17 /* wrap_LuaThread.h */; }; + FA0B7ED11A95902C000E1D17 /* wrap_ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB51A95902C000E1D17 /* wrap_ThreadModule.cpp */; }; + FA0B7ED21A95902C000E1D17 /* wrap_ThreadModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB51A95902C000E1D17 /* wrap_ThreadModule.cpp */; }; + FA0B7ED31A95902C000E1D17 /* wrap_ThreadModule.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CB61A95902C000E1D17 /* wrap_ThreadModule.h */; }; + FA0B7ED41A95902D000E1D17 /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB91A95902C000E1D17 /* Timer.cpp */; }; + FA0B7ED51A95902D000E1D17 /* Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CB91A95902C000E1D17 /* Timer.cpp */; }; + FA0B7ED61A95902D000E1D17 /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CBA1A95902C000E1D17 /* Timer.h */; }; + FA0B7ED71A95902D000E1D17 /* Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CBB1A95902C000E1D17 /* Timer.h */; }; + FA0B7ED81A95902D000E1D17 /* wrap_Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CBC1A95902C000E1D17 /* wrap_Timer.cpp */; }; + FA0B7ED91A95902D000E1D17 /* wrap_Timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CBC1A95902C000E1D17 /* wrap_Timer.cpp */; }; + FA0B7EDA1A95902D000E1D17 /* wrap_Timer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CBD1A95902C000E1D17 /* wrap_Timer.h */; }; + FA0B7EDB1A95902D000E1D17 /* Touch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC01A95902C000E1D17 /* Touch.cpp */; }; + FA0B7EDC1A95902D000E1D17 /* Touch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC01A95902C000E1D17 /* Touch.cpp */; }; + FA0B7EDD1A95902D000E1D17 /* Touch.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CC11A95902C000E1D17 /* Touch.h */; }; + FA0B7EDE1A95902D000E1D17 /* Touch.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CC21A95902C000E1D17 /* Touch.h */; }; + FA0B7EDF1A95902D000E1D17 /* wrap_Touch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC31A95902C000E1D17 /* wrap_Touch.cpp */; }; + FA0B7EE01A95902D000E1D17 /* wrap_Touch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC31A95902C000E1D17 /* wrap_Touch.cpp */; }; + FA0B7EE11A95902D000E1D17 /* wrap_Touch.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CC41A95902C000E1D17 /* wrap_Touch.h */; }; + FA0B7EE21A95902D000E1D17 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC71A95902C000E1D17 /* Window.cpp */; }; + FA0B7EE31A95902D000E1D17 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC71A95902C000E1D17 /* Window.cpp */; }; + FA0B7EE41A95902D000E1D17 /* Window.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CC81A95902C000E1D17 /* Window.h */; }; + FA0B7EE51A95902D000E1D17 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC91A95902C000E1D17 /* Window.cpp */; }; + FA0B7EE61A95902D000E1D17 /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CC91A95902C000E1D17 /* Window.cpp */; }; + FA0B7EE71A95902D000E1D17 /* Window.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CCA1A95902C000E1D17 /* Window.h */; }; + FA0B7EE81A95902D000E1D17 /* wrap_Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CCB1A95902C000E1D17 /* wrap_Window.cpp */; }; + FA0B7EE91A95902D000E1D17 /* wrap_Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7CCB1A95902C000E1D17 /* wrap_Window.cpp */; }; + FA0B7EEA1A95902D000E1D17 /* wrap_Window.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0B7CCC1A95902C000E1D17 /* wrap_Window.h */; }; + FA0B7EF21A959D2C000E1D17 /* iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA0B7EF11A959D2C000E1D17 /* iOS.mm */; }; + FA317EBA18F28B6D00B0BCD7 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FA317EB918F28B6D00B0BCD7 /* libz.dylib */; }; + FA48E43918F10D6C007CF0BD /* jpeg-turbo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA48E43818F10D6C007CF0BD /* jpeg-turbo.framework */; }; + FA577AB016C7507900860150 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7916C71A1700860150 /* Cocoa.framework */; }; + FA577AC216C7512D00860150 /* FreeType.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6716C719D900860150 /* FreeType.framework */; }; + FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A8216C71A5300860150 /* libmodplug.framework */; }; + FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A6F16C719F000860150 /* mpg123.framework */; }; + FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7116C719F400860150 /* Ogg.framework */; }; + FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7C16C71A2600860150 /* OpenGL.framework */; }; + FA577ACB16C7514400860150 /* physfs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7316C719F900860150 /* physfs.framework */; }; + FA577ACD16C7514C00860150 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA577A7716C71A0800860150 /* Vorbis.framework */; }; + FA5D24B01A96D2EC00C6FC8F /* libFreetype2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24A51A96D2EC00C6FC8F /* libFreetype2.a */; }; + FA5D24B21A96D2EC00C6FC8F /* libluajit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24A91A96D2EC00C6FC8F /* libluajit.a */; }; + FA5D24B31A96D2EC00C6FC8F /* libogg.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24AB1A96D2EC00C6FC8F /* libogg.a */; }; + FA5D24B41A96D2EC00C6FC8F /* libphysfs.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24AD1A96D2EC00C6FC8F /* libphysfs.a */; }; + FA5D24B51A96D2EC00C6FC8F /* libvorbis.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24AF1A96D2EC00C6FC8F /* libvorbis.a */; }; + FA5D24CF1A96E68300C6FC8F /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24CD1A96E63D00C6FC8F /* libSDL2.a */; }; + FA620A321AA2F8DB005DB4C2 /* wrap_Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A2E1AA2F8DB005DB4C2 /* wrap_Quad.cpp */; }; + FA620A331AA2F8DB005DB4C2 /* wrap_Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A2E1AA2F8DB005DB4C2 /* wrap_Quad.cpp */; }; + FA620A341AA2F8DB005DB4C2 /* wrap_Quad.h in Headers */ = {isa = PBXBuildFile; fileRef = FA620A2F1AA2F8DB005DB4C2 /* wrap_Quad.h */; }; + FA620A351AA2F8DB005DB4C2 /* wrap_Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A301AA2F8DB005DB4C2 /* wrap_Texture.cpp */; }; + FA620A361AA2F8DB005DB4C2 /* wrap_Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A301AA2F8DB005DB4C2 /* wrap_Texture.cpp */; }; + FA620A371AA2F8DB005DB4C2 /* wrap_Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = FA620A311AA2F8DB005DB4C2 /* wrap_Texture.h */; }; + FA620A3A1AA305F6005DB4C2 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A391AA305F6005DB4C2 /* types.cpp */; }; + FA620A3B1AA305F6005DB4C2 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA620A391AA305F6005DB4C2 /* types.cpp */; }; + FA8951A21AA2EDF300EC385A /* wrap_Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA8951A01AA2EDF300EC385A /* wrap_Event.cpp */; }; + FA8951A31AA2EDF300EC385A /* wrap_Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA8951A01AA2EDF300EC385A /* wrap_Event.cpp */; }; + FA8951A41AA2EDF300EC385A /* wrap_Event.h in Headers */ = {isa = PBXBuildFile; fileRef = FA8951A11AA2EDF300EC385A /* wrap_Event.h */; }; + FA9B4A0816E1578300074F42 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0716E1578300074F42 /* SDL2.framework */; }; + FAA627CE18E7E1560080752D /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAA627CD18E7E1560080752D /* CoreServices.framework */; }; + FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + FA0B78DB1A958B90000E1D17 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 104144AB73A974BC04A03131 /* graphics.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = graphics.lua.h; sourceTree = ""; }; + 503971A86B7167A91B670FBA /* boot.lua.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = boot.lua.h; sourceTree = ""; }; + FA08F5AE16C7525600F007B5 /* liblove-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "liblove-macosx.plist"; path = "macosx/liblove-macosx.plist"; sourceTree = ""; }; + FA0B78DD1A958B90000E1D17 /* liblove.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblove.a; sourceTree = BUILT_PRODUCTS_DIR; }; + FA0B78F71A958E3B000E1D17 /* b64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b64.cpp; sourceTree = ""; }; + FA0B78F81A958E3B000E1D17 /* b64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b64.h; sourceTree = ""; }; + FA0B78F91A958E3B000E1D17 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + FA0B78FA1A958E3B000E1D17 /* Data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Data.h; sourceTree = ""; }; + FA0B78FB1A958E3B000E1D17 /* delay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay.cpp; sourceTree = ""; }; + FA0B78FC1A958E3B000E1D17 /* delay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay.h; sourceTree = ""; }; + FA0B78FD1A958E3B000E1D17 /* EnumMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumMap.h; sourceTree = ""; }; + FA0B78FE1A958E3B000E1D17 /* Exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Exception.cpp; sourceTree = ""; }; + FA0B78FF1A958E3B000E1D17 /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = ""; }; + FA0B79001A958E3B000E1D17 /* int.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = int.h; sourceTree = ""; }; + FA0B79011A958E3B000E1D17 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = ""; }; + FA0B79021A958E3B000E1D17 /* Matrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Matrix.cpp; sourceTree = ""; }; + FA0B79031A958E3B000E1D17 /* Matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Matrix.h; sourceTree = ""; }; + FA0B79041A958E3B000E1D17 /* Memoizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Memoizer.cpp; sourceTree = ""; }; + FA0B79051A958E3B000E1D17 /* Memoizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Memoizer.h; sourceTree = ""; }; + FA0B79061A958E3B000E1D17 /* Module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Module.cpp; sourceTree = ""; }; + FA0B79071A958E3B000E1D17 /* Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Module.h; sourceTree = ""; }; + FA0B79081A958E3B000E1D17 /* Object.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Object.cpp; sourceTree = ""; }; + FA0B79091A958E3B000E1D17 /* Object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Object.h; sourceTree = ""; }; + FA0B790A1A958E3B000E1D17 /* OSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSX.h; sourceTree = ""; }; + FA0B790B1A958E3B000E1D17 /* OSX.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OSX.mm; sourceTree = ""; }; + FA0B790C1A958E3B000E1D17 /* Reference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Reference.cpp; sourceTree = ""; }; + FA0B790D1A958E3B000E1D17 /* Reference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reference.h; sourceTree = ""; }; + FA0B790E1A958E3B000E1D17 /* runtime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = runtime.cpp; sourceTree = ""; }; + FA0B790F1A958E3B000E1D17 /* runtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = runtime.h; sourceTree = ""; }; + FA0B79101A958E3B000E1D17 /* StringMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringMap.h; sourceTree = ""; }; + FA0B79111A958E3B000E1D17 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + FA0B79121A958E3B000E1D17 /* utf8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utf8.cpp; sourceTree = ""; }; + FA0B79131A958E3B000E1D17 /* utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = ""; }; + FA0B79141A958E3B000E1D17 /* Variant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Variant.cpp; sourceTree = ""; }; + FA0B79151A958E3B000E1D17 /* Variant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Variant.h; sourceTree = ""; }; + FA0B79161A958E3B000E1D17 /* Vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Vector.cpp; sourceTree = ""; }; + FA0B79171A958E3B000E1D17 /* Vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vector.h; sourceTree = ""; }; + FA0B79181A958E3B000E1D17 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + FA0B79191A958E3B000E1D17 /* wrap_Data.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Data.cpp; sourceTree = ""; }; + FA0B791A1A958E3B000E1D17 /* wrap_Data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Data.h; sourceTree = ""; }; + FA0B794F1A958EA3000E1D17 /* Box2D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Box2D.h; sourceTree = ""; }; + FA0B79511A958EA3000E1D17 /* b2BroadPhase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2BroadPhase.cpp; sourceTree = ""; }; + FA0B79521A958EA3000E1D17 /* b2BroadPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2BroadPhase.h; sourceTree = ""; }; + FA0B79531A958EA3000E1D17 /* b2CollideCircle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollideCircle.cpp; sourceTree = ""; }; + FA0B79541A958EA3000E1D17 /* b2CollideEdge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollideEdge.cpp; sourceTree = ""; }; + FA0B79551A958EA3000E1D17 /* b2CollidePolygon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2CollidePolygon.cpp; sourceTree = ""; }; + FA0B79561A958EA3000E1D17 /* b2Collision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Collision.cpp; sourceTree = ""; }; + FA0B79571A958EA3000E1D17 /* b2Collision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Collision.h; sourceTree = ""; }; + FA0B79581A958EA3000E1D17 /* b2Distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Distance.cpp; sourceTree = ""; }; + FA0B79591A958EA3000E1D17 /* b2Distance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Distance.h; sourceTree = ""; }; + FA0B795A1A958EA3000E1D17 /* b2DynamicTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2DynamicTree.cpp; sourceTree = ""; }; + FA0B795B1A958EA3000E1D17 /* b2DynamicTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2DynamicTree.h; sourceTree = ""; }; + FA0B795C1A958EA3000E1D17 /* b2TimeOfImpact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2TimeOfImpact.cpp; sourceTree = ""; }; + FA0B795D1A958EA3000E1D17 /* b2TimeOfImpact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2TimeOfImpact.h; sourceTree = ""; }; + FA0B795F1A958EA3000E1D17 /* b2ChainShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainShape.cpp; sourceTree = ""; }; + FA0B79601A958EA3000E1D17 /* b2ChainShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2ChainShape.h; sourceTree = ""; }; + FA0B79611A958EA3000E1D17 /* b2CircleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2CircleShape.cpp; sourceTree = ""; }; + FA0B79621A958EA3000E1D17 /* b2CircleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2CircleShape.h; sourceTree = ""; }; + FA0B79631A958EA3000E1D17 /* b2EdgeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeShape.cpp; sourceTree = ""; }; + FA0B79641A958EA3000E1D17 /* b2EdgeShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2EdgeShape.h; sourceTree = ""; }; + FA0B79651A958EA3000E1D17 /* b2PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonShape.cpp; sourceTree = ""; }; + FA0B79661A958EA3000E1D17 /* b2PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2PolygonShape.h; sourceTree = ""; }; + FA0B79671A958EA3000E1D17 /* b2Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Shape.h; sourceTree = ""; }; + FA0B79691A958EA3000E1D17 /* b2BlockAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2BlockAllocator.cpp; sourceTree = ""; }; + FA0B796A1A958EA3000E1D17 /* b2BlockAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2BlockAllocator.h; sourceTree = ""; }; + FA0B796B1A958EA3000E1D17 /* b2Draw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Draw.cpp; sourceTree = ""; }; + FA0B796C1A958EA3000E1D17 /* b2Draw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Draw.h; sourceTree = ""; }; + FA0B796D1A958EA3000E1D17 /* b2GrowableStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2GrowableStack.h; sourceTree = ""; }; + FA0B796E1A958EA3000E1D17 /* b2Math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Math.cpp; sourceTree = ""; }; + FA0B796F1A958EA3000E1D17 /* b2Math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Math.h; sourceTree = ""; }; + FA0B79701A958EA3000E1D17 /* b2Settings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Settings.cpp; sourceTree = ""; }; + FA0B79711A958EA3000E1D17 /* b2Settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Settings.h; sourceTree = ""; }; + FA0B79721A958EA3000E1D17 /* b2StackAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2StackAllocator.cpp; sourceTree = ""; }; + FA0B79731A958EA3000E1D17 /* b2StackAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2StackAllocator.h; sourceTree = ""; }; + FA0B79741A958EA3000E1D17 /* b2Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Timer.cpp; sourceTree = ""; }; + FA0B79751A958EA3000E1D17 /* b2Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Timer.h; sourceTree = ""; }; + FA0B79771A958EA3000E1D17 /* b2Body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Body.cpp; sourceTree = ""; }; + FA0B79781A958EA3000E1D17 /* b2Body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Body.h; sourceTree = ""; }; + FA0B79791A958EA3000E1D17 /* b2ContactManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2ContactManager.cpp; sourceTree = ""; }; + FA0B797A1A958EA3000E1D17 /* b2ContactManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2ContactManager.h; sourceTree = ""; }; + FA0B797B1A958EA3000E1D17 /* b2Fixture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Fixture.cpp; sourceTree = ""; }; + FA0B797C1A958EA3000E1D17 /* b2Fixture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Fixture.h; sourceTree = ""; }; + FA0B797D1A958EA3000E1D17 /* b2Island.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Island.cpp; sourceTree = ""; }; + FA0B797E1A958EA3000E1D17 /* b2Island.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Island.h; sourceTree = ""; }; + FA0B797F1A958EA3000E1D17 /* b2TimeStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2TimeStep.h; sourceTree = ""; }; + FA0B79801A958EA3000E1D17 /* b2World.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2World.cpp; sourceTree = ""; }; + FA0B79811A958EA3000E1D17 /* b2World.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2World.h; sourceTree = ""; }; + FA0B79821A958EA3000E1D17 /* b2WorldCallbacks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2WorldCallbacks.cpp; sourceTree = ""; }; + FA0B79831A958EA3000E1D17 /* b2WorldCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2WorldCallbacks.h; sourceTree = ""; }; + FA0B79851A958EA3000E1D17 /* b2ChainAndCircleContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainAndCircleContact.cpp; sourceTree = ""; }; + FA0B79861A958EA3000E1D17 /* b2ChainAndCircleContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2ChainAndCircleContact.h; sourceTree = ""; }; + FA0B79871A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2ChainAndPolygonContact.cpp; sourceTree = ""; }; + FA0B79881A958EA3000E1D17 /* b2ChainAndPolygonContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2ChainAndPolygonContact.h; sourceTree = ""; }; + FA0B79891A958EA3000E1D17 /* b2CircleContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2CircleContact.cpp; sourceTree = ""; }; + FA0B798A1A958EA3000E1D17 /* b2CircleContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2CircleContact.h; sourceTree = ""; }; + FA0B798B1A958EA3000E1D17 /* b2Contact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Contact.cpp; sourceTree = ""; }; + FA0B798C1A958EA3000E1D17 /* b2Contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Contact.h; sourceTree = ""; }; + FA0B798D1A958EA3000E1D17 /* b2ContactSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2ContactSolver.cpp; sourceTree = ""; }; + FA0B798E1A958EA3000E1D17 /* b2ContactSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2ContactSolver.h; sourceTree = ""; }; + FA0B798F1A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeAndCircleContact.cpp; sourceTree = ""; }; + FA0B79901A958EA3000E1D17 /* b2EdgeAndCircleContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2EdgeAndCircleContact.h; sourceTree = ""; }; + FA0B79911A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2EdgeAndPolygonContact.cpp; sourceTree = ""; }; + FA0B79921A958EA3000E1D17 /* b2EdgeAndPolygonContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2EdgeAndPolygonContact.h; sourceTree = ""; }; + FA0B79931A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonAndCircleContact.cpp; sourceTree = ""; }; + FA0B79941A958EA3000E1D17 /* b2PolygonAndCircleContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2PolygonAndCircleContact.h; sourceTree = ""; }; + FA0B79951A958EA3000E1D17 /* b2PolygonContact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2PolygonContact.cpp; sourceTree = ""; }; + FA0B79961A958EA3000E1D17 /* b2PolygonContact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2PolygonContact.h; sourceTree = ""; }; + FA0B79981A958EA3000E1D17 /* b2DistanceJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2DistanceJoint.cpp; sourceTree = ""; }; + FA0B79991A958EA3000E1D17 /* b2DistanceJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2DistanceJoint.h; sourceTree = ""; }; + FA0B799A1A958EA3000E1D17 /* b2FrictionJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2FrictionJoint.cpp; sourceTree = ""; }; + FA0B799B1A958EA3000E1D17 /* b2FrictionJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2FrictionJoint.h; sourceTree = ""; }; + FA0B799C1A958EA3000E1D17 /* b2GearJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2GearJoint.cpp; sourceTree = ""; }; + FA0B799D1A958EA3000E1D17 /* b2GearJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2GearJoint.h; sourceTree = ""; }; + FA0B799E1A958EA3000E1D17 /* b2Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Joint.cpp; sourceTree = ""; }; + FA0B799F1A958EA3000E1D17 /* b2Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Joint.h; sourceTree = ""; }; + FA0B79A01A958EA3000E1D17 /* b2MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2MotorJoint.cpp; sourceTree = ""; }; + FA0B79A11A958EA3000E1D17 /* b2MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2MotorJoint.h; sourceTree = ""; }; + FA0B79A21A958EA3000E1D17 /* b2MouseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2MouseJoint.cpp; sourceTree = ""; }; + FA0B79A31A958EA3000E1D17 /* b2MouseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2MouseJoint.h; sourceTree = ""; }; + FA0B79A41A958EA3000E1D17 /* b2PrismaticJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2PrismaticJoint.cpp; sourceTree = ""; }; + FA0B79A51A958EA3000E1D17 /* b2PrismaticJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2PrismaticJoint.h; sourceTree = ""; }; + FA0B79A61A958EA3000E1D17 /* b2PulleyJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2PulleyJoint.cpp; sourceTree = ""; }; + FA0B79A71A958EA3000E1D17 /* b2PulleyJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2PulleyJoint.h; sourceTree = ""; }; + FA0B79A81A958EA3000E1D17 /* b2RevoluteJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2RevoluteJoint.cpp; sourceTree = ""; }; + FA0B79A91A958EA3000E1D17 /* b2RevoluteJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2RevoluteJoint.h; sourceTree = ""; }; + FA0B79AA1A958EA3000E1D17 /* b2RopeJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2RopeJoint.cpp; sourceTree = ""; }; + FA0B79AB1A958EA3000E1D17 /* b2RopeJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2RopeJoint.h; sourceTree = ""; }; + FA0B79AC1A958EA3000E1D17 /* b2WeldJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2WeldJoint.cpp; sourceTree = ""; }; + FA0B79AD1A958EA3000E1D17 /* b2WeldJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2WeldJoint.h; sourceTree = ""; }; + FA0B79AE1A958EA3000E1D17 /* b2WheelJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2WheelJoint.cpp; sourceTree = ""; }; + FA0B79AF1A958EA3000E1D17 /* b2WheelJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2WheelJoint.h; sourceTree = ""; }; + FA0B79B21A958EA3000E1D17 /* b2Rope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = b2Rope.cpp; sourceTree = ""; }; + FA0B79B31A958EA3000E1D17 /* b2Rope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = b2Rope.h; sourceTree = ""; }; + FA0B79B51A958EA3000E1D17 /* ddsinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsinfo.h; sourceTree = ""; }; + FA0B79B61A958EA3000E1D17 /* ddsparse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ddsparse.cpp; sourceTree = ""; }; + FA0B79B71A958EA3000E1D17 /* ddsparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsparse.h; sourceTree = ""; }; + FA0B79B91A958EA3000E1D17 /* enet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = enet.cpp; sourceTree = ""; }; + FA0B79BB1A958EA3000E1D17 /* callbacks.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = callbacks.c; sourceTree = ""; }; + FA0B79BD1A958EA3000E1D17 /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; + FA0B79BE1A958EA3000E1D17 /* host.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = host.c; sourceTree = ""; }; + FA0B79C11A958EA3000E1D17 /* callbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = callbacks.h; sourceTree = ""; }; + FA0B79C21A958EA3000E1D17 /* enet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = enet.h; sourceTree = ""; }; + FA0B79C31A958EA3000E1D17 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = ""; }; + FA0B79C41A958EA3000E1D17 /* protocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = ""; }; + FA0B79C51A958EA3000E1D17 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = ""; }; + FA0B79C61A958EA3000E1D17 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = ""; }; + FA0B79C71A958EA3000E1D17 /* unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unix.h; sourceTree = ""; }; + FA0B79C81A958EA3000E1D17 /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + FA0B79C91A958EA3000E1D17 /* win32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = win32.h; sourceTree = ""; }; + FA0B79CB1A958EA3000E1D17 /* list.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = list.c; sourceTree = ""; }; + FA0B79CC1A958EA3000E1D17 /* packet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = packet.c; sourceTree = ""; }; + FA0B79CD1A958EA3000E1D17 /* peer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = peer.c; sourceTree = ""; }; + FA0B79CE1A958EA3000E1D17 /* protocol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = protocol.c; sourceTree = ""; }; + FA0B79D01A958EA3000E1D17 /* unix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = ""; }; + FA0B79D11A958EA3000E1D17 /* win32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = win32.c; sourceTree = ""; }; + FA0B79D21A958EA3000E1D17 /* lua-enet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "lua-enet.h"; sourceTree = ""; }; + FA0B79D41A958EA3000E1D17 /* glad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glad.cpp; sourceTree = ""; }; + FA0B79D61A958EA3000E1D17 /* glad.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = glad.hpp; sourceTree = ""; }; + FA0B79D71A958EA3000E1D17 /* gladfuncs.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = gladfuncs.hpp; sourceTree = ""; }; + FA0B79D91A958EA3000E1D17 /* lodepng.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lodepng.cpp; sourceTree = ""; }; + FA0B79DA1A958EA3000E1D17 /* lodepng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lodepng.h; sourceTree = ""; }; + FA0B79DD1A958EA3000E1D17 /* auxiliar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auxiliar.c; sourceTree = ""; }; + FA0B79DE1A958EA3000E1D17 /* auxiliar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = auxiliar.h; sourceTree = ""; }; + FA0B79DF1A958EA3000E1D17 /* buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = buffer.c; sourceTree = ""; }; + FA0B79E01A958EA3000E1D17 /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = ""; }; + FA0B79E11A958EA3000E1D17 /* except.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = except.c; sourceTree = ""; }; + FA0B79E21A958EA3000E1D17 /* except.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = except.h; sourceTree = ""; }; + FA0B79E31A958EA3000E1D17 /* ftp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ftp.lua; sourceTree = ""; }; + FA0B79E41A958EA3000E1D17 /* ftp.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftp.lua.h; sourceTree = ""; }; + FA0B79E51A958EA3000E1D17 /* http.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = http.lua; sourceTree = ""; }; + FA0B79E61A958EA3000E1D17 /* http.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = http.lua.h; sourceTree = ""; }; + FA0B79E71A958EA3000E1D17 /* inet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inet.c; sourceTree = ""; }; + FA0B79E81A958EA3000E1D17 /* inet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inet.h; sourceTree = ""; }; + FA0B79E91A958EA3000E1D17 /* io.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = io.c; sourceTree = ""; }; + FA0B79EA1A958EA3000E1D17 /* io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = io.h; sourceTree = ""; }; + FA0B79EB1A958EA3000E1D17 /* ltn12.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ltn12.lua; sourceTree = ""; }; + FA0B79EC1A958EA3000E1D17 /* ltn12.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ltn12.lua.h; sourceTree = ""; }; + FA0B79ED1A958EA3000E1D17 /* lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua.h; sourceTree = ""; }; + FA0B79EE1A958EA3000E1D17 /* luasocket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = luasocket.c; sourceTree = ""; }; + FA0B79EF1A958EA3000E1D17 /* luasocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = luasocket.h; sourceTree = ""; }; + FA0B79F01A958EA3000E1D17 /* mime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mime.c; sourceTree = ""; }; + FA0B79F11A958EA3000E1D17 /* mime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mime.h; sourceTree = ""; }; + FA0B79F21A958EA3000E1D17 /* mime.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mime.lua; sourceTree = ""; }; + FA0B79F31A958EA3000E1D17 /* mime.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mime.lua.h; sourceTree = ""; }; + FA0B79F41A958EA3000E1D17 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = ""; }; + FA0B79F51A958EA3000E1D17 /* options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = options.h; sourceTree = ""; }; + FA0B79F61A958EA3000E1D17 /* pre.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = pre.lua; sourceTree = ""; }; + FA0B79F71A958EA3000E1D17 /* select.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = select.c; sourceTree = ""; }; + FA0B79F81A958EA3000E1D17 /* select.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = select.h; sourceTree = ""; }; + FA0B79F91A958EA3000E1D17 /* smtp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = smtp.lua; sourceTree = ""; }; + FA0B79FA1A958EA3000E1D17 /* smtp.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smtp.lua.h; sourceTree = ""; }; + FA0B79FB1A958EA3000E1D17 /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = ""; }; + FA0B79FC1A958EA3000E1D17 /* socket.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = socket.lua; sourceTree = ""; }; + FA0B79FD1A958EA3000E1D17 /* socket.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socket.lua.h; sourceTree = ""; }; + FA0B79FE1A958EA3000E1D17 /* tcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tcp.c; sourceTree = ""; }; + FA0B79FF1A958EA3000E1D17 /* tcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp.h; sourceTree = ""; }; + FA0B7A001A958EA3000E1D17 /* timeout.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = timeout.c; sourceTree = ""; }; + FA0B7A011A958EA3000E1D17 /* timeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timeout.h; sourceTree = ""; }; + FA0B7A021A958EA3000E1D17 /* tp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tp.lua; sourceTree = ""; }; + FA0B7A031A958EA3000E1D17 /* tp.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tp.lua.h; sourceTree = ""; }; + FA0B7A041A958EA3000E1D17 /* udp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udp.c; sourceTree = ""; }; + FA0B7A051A958EA3000E1D17 /* udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udp.h; sourceTree = ""; }; + FA0B7A061A958EA3000E1D17 /* unix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unix.c; sourceTree = ""; }; + FA0B7A071A958EA3000E1D17 /* unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unix.h; sourceTree = ""; }; + FA0B7A081A958EA3000E1D17 /* url.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = url.lua; sourceTree = ""; }; + FA0B7A091A958EA3000E1D17 /* url.lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = url.lua.h; sourceTree = ""; }; + FA0B7A0A1A958EA3000E1D17 /* usocket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = usocket.c; sourceTree = ""; }; + FA0B7A0B1A958EA3000E1D17 /* usocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = usocket.h; sourceTree = ""; }; + FA0B7A0E1A958EA3000E1D17 /* luasocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = luasocket.cpp; sourceTree = ""; }; + FA0B7A0F1A958EA3000E1D17 /* luasocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = luasocket.h; sourceTree = ""; }; + FA0B7A111A958EA3000E1D17 /* lprefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lprefix.h; sourceTree = ""; }; + FA0B7A121A958EA3000E1D17 /* lutf8lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lutf8lib.c; sourceTree = ""; }; + FA0B7A131A958EA3000E1D17 /* lutf8lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lutf8lib.h; sourceTree = ""; }; + FA0B7A151A958EA3000E1D17 /* simplexnoise1234.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = simplexnoise1234.cpp; sourceTree = ""; }; + FA0B7A161A958EA3000E1D17 /* simplexnoise1234.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = simplexnoise1234.h; sourceTree = ""; }; + FA0B7A181A958EA3000E1D17 /* stb_image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_image.h; sourceTree = ""; }; + FA0B7A1B1A958EA3000E1D17 /* checked.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checked.h; sourceTree = ""; }; + FA0B7A1C1A958EA3000E1D17 /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = ""; }; + FA0B7A1D1A958EA3000E1D17 /* unchecked.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unchecked.h; sourceTree = ""; }; + FA0B7A1E1A958EA3000E1D17 /* utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = ""; }; + FA0B7A201A958EA3000E1D17 /* wuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff.c; sourceTree = ""; }; + FA0B7A211A958EA3000E1D17 /* wuff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff.h; sourceTree = ""; }; + FA0B7A221A958EA3000E1D17 /* wuff_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_config.h; sourceTree = ""; }; + FA0B7A231A958EA3000E1D17 /* wuff_convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_convert.c; sourceTree = ""; }; + FA0B7A241A958EA3000E1D17 /* wuff_convert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_convert.h; sourceTree = ""; }; + FA0B7A251A958EA3000E1D17 /* wuff_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_internal.c; sourceTree = ""; }; + FA0B7A261A958EA3000E1D17 /* wuff_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wuff_internal.h; sourceTree = ""; }; + FA0B7A271A958EA3000E1D17 /* wuff_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = wuff_memory.c; sourceTree = ""; }; + FA0B7B3E1A95902C000E1D17 /* Audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; + FA0B7B3F1A95902C000E1D17 /* Audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; + FA0B7B411A95902C000E1D17 /* Audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; + FA0B7B421A95902C000E1D17 /* Audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; + FA0B7B431A95902C000E1D17 /* Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; + FA0B7B441A95902C000E1D17 /* Source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; + FA0B7B461A95902C000E1D17 /* Audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Audio.cpp; sourceTree = ""; }; + FA0B7B471A95902C000E1D17 /* Audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Audio.h; sourceTree = ""; }; + FA0B7B481A95902C000E1D17 /* Pool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pool.cpp; sourceTree = ""; }; + FA0B7B491A95902C000E1D17 /* Pool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pool.h; sourceTree = ""; }; + FA0B7B4A1A95902C000E1D17 /* Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; + FA0B7B4B1A95902C000E1D17 /* Source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; + FA0B7B4C1A95902C000E1D17 /* Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Source.cpp; sourceTree = ""; }; + FA0B7B4D1A95902C000E1D17 /* Source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Source.h; sourceTree = ""; }; + FA0B7B4E1A95902C000E1D17 /* wrap_Audio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Audio.cpp; sourceTree = ""; }; + FA0B7B4F1A95902C000E1D17 /* wrap_Audio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Audio.h; sourceTree = ""; }; + FA0B7B501A95902C000E1D17 /* wrap_Source.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Source.cpp; sourceTree = ""; }; + FA0B7B511A95902C000E1D17 /* wrap_Source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Source.h; sourceTree = ""; }; + FA0B7B531A95902C000E1D17 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = ""; }; + FA0B7B541A95902C000E1D17 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = ""; }; + FA0B7B561A95902C000E1D17 /* Event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Event.cpp; sourceTree = ""; }; + FA0B7B571A95902C000E1D17 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = ""; }; + FA0B7B5B1A95902C000E1D17 /* DroppedFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DroppedFile.cpp; sourceTree = ""; }; + FA0B7B5C1A95902C000E1D17 /* DroppedFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DroppedFile.h; sourceTree = ""; }; + FA0B7B5D1A95902C000E1D17 /* File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = File.cpp; sourceTree = ""; }; + FA0B7B5E1A95902C000E1D17 /* File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = File.h; sourceTree = ""; }; + FA0B7B5F1A95902C000E1D17 /* FileData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileData.cpp; sourceTree = ""; }; + FA0B7B601A95902C000E1D17 /* FileData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileData.h; sourceTree = ""; }; + FA0B7B611A95902C000E1D17 /* Filesystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Filesystem.cpp; sourceTree = ""; }; + FA0B7B621A95902C000E1D17 /* Filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Filesystem.h; sourceTree = ""; }; + FA0B7B641A95902C000E1D17 /* File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = File.cpp; sourceTree = ""; }; + FA0B7B651A95902C000E1D17 /* File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = File.h; sourceTree = ""; }; + FA0B7B661A95902C000E1D17 /* Filesystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Filesystem.cpp; sourceTree = ""; }; + FA0B7B671A95902C000E1D17 /* Filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Filesystem.h; sourceTree = ""; }; + FA0B7B681A95902C000E1D17 /* wrap_DroppedFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_DroppedFile.cpp; sourceTree = ""; }; + FA0B7B691A95902C000E1D17 /* wrap_DroppedFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_DroppedFile.h; sourceTree = ""; }; + FA0B7B6A1A95902C000E1D17 /* wrap_File.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_File.cpp; sourceTree = ""; }; + FA0B7B6B1A95902C000E1D17 /* wrap_File.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_File.h; sourceTree = ""; }; + FA0B7B6C1A95902C000E1D17 /* wrap_FileData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_FileData.cpp; sourceTree = ""; }; + FA0B7B6D1A95902C000E1D17 /* wrap_FileData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_FileData.h; sourceTree = ""; }; + FA0B7B6E1A95902C000E1D17 /* wrap_Filesystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Filesystem.cpp; sourceTree = ""; }; + FA0B7B6F1A95902C000E1D17 /* wrap_Filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Filesystem.h; sourceTree = ""; }; + FA0B7B711A95902C000E1D17 /* BMFontRasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BMFontRasterizer.cpp; sourceTree = ""; }; + FA0B7B721A95902C000E1D17 /* BMFontRasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMFontRasterizer.h; sourceTree = ""; }; + FA0B7B731A95902C000E1D17 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; + FA0B7B741A95902C000E1D17 /* Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; + FA0B7B761A95902C000E1D17 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; + FA0B7B771A95902C000E1D17 /* Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; + FA0B7B781A95902C000E1D17 /* TrueTypeRasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TrueTypeRasterizer.cpp; sourceTree = ""; }; + FA0B7B791A95902C000E1D17 /* TrueTypeRasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrueTypeRasterizer.h; sourceTree = ""; }; + FA0B7B7A1A95902C000E1D17 /* GlyphData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlyphData.cpp; sourceTree = ""; }; + FA0B7B7B1A95902C000E1D17 /* GlyphData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphData.h; sourceTree = ""; }; + FA0B7B7C1A95902C000E1D17 /* ImageRasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageRasterizer.cpp; sourceTree = ""; }; + FA0B7B7D1A95902C000E1D17 /* ImageRasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageRasterizer.h; sourceTree = ""; }; + FA0B7B7E1A95902C000E1D17 /* Rasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Rasterizer.cpp; sourceTree = ""; }; + FA0B7B7F1A95902C000E1D17 /* Rasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rasterizer.h; sourceTree = ""; }; + FA0B7B801A95902C000E1D17 /* Vera.ttf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vera.ttf.h; sourceTree = ""; }; + FA0B7B811A95902C000E1D17 /* wrap_Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Font.cpp; sourceTree = ""; }; + FA0B7B821A95902C000E1D17 /* wrap_Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Font.h; sourceTree = ""; }; + FA0B7B831A95902C000E1D17 /* wrap_GlyphData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_GlyphData.cpp; sourceTree = ""; }; + FA0B7B841A95902C000E1D17 /* wrap_GlyphData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_GlyphData.h; sourceTree = ""; }; + FA0B7B851A95902C000E1D17 /* wrap_Rasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Rasterizer.cpp; sourceTree = ""; }; + FA0B7B861A95902C000E1D17 /* wrap_Rasterizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Rasterizer.h; sourceTree = ""; }; + FA0B7B881A95902C000E1D17 /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; }; + FA0B7B891A95902C000E1D17 /* Drawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Drawable.h; sourceTree = ""; }; + FA0B7B8A1A95902C000E1D17 /* Graphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Graphics.cpp; sourceTree = ""; }; + FA0B7B8B1A95902C000E1D17 /* Graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Graphics.h; sourceTree = ""; }; + FA0B7B8D1A95902C000E1D17 /* Canvas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Canvas.cpp; sourceTree = ""; }; + FA0B7B8E1A95902C000E1D17 /* Canvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Canvas.h; sourceTree = ""; }; + FA0B7B8F1A95902C000E1D17 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; + FA0B7B901A95902C000E1D17 /* Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = ""; }; + FA0B7B911A95902C000E1D17 /* Graphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Graphics.cpp; sourceTree = ""; }; + FA0B7B921A95902C000E1D17 /* Graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Graphics.h; sourceTree = ""; }; + FA0B7B931A95902C000E1D17 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; + FA0B7B941A95902C000E1D17 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; + FA0B7B951A95902C000E1D17 /* Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mesh.cpp; sourceTree = ""; }; + FA0B7B961A95902C000E1D17 /* Mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mesh.h; sourceTree = ""; }; + FA0B7B971A95902C000E1D17 /* OpenGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenGL.cpp; sourceTree = ""; }; + FA0B7B981A95902C000E1D17 /* OpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGL.h; sourceTree = ""; }; + FA0B7B991A95902C000E1D17 /* ParticleSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParticleSystem.cpp; sourceTree = ""; }; + FA0B7B9A1A95902C000E1D17 /* ParticleSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParticleSystem.h; sourceTree = ""; }; + FA0B7B9B1A95902C000E1D17 /* Polyline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Polyline.cpp; sourceTree = ""; }; + FA0B7B9C1A95902C000E1D17 /* Polyline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Polyline.h; sourceTree = ""; }; + FA0B7B9D1A95902C000E1D17 /* Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shader.cpp; sourceTree = ""; }; + FA0B7B9E1A95902C000E1D17 /* Shader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shader.h; sourceTree = ""; }; + FA0B7B9F1A95902C000E1D17 /* SpriteBatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpriteBatch.cpp; sourceTree = ""; }; + FA0B7BA01A95902C000E1D17 /* SpriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpriteBatch.h; sourceTree = ""; }; + FA0B7BA11A95902C000E1D17 /* Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Text.cpp; sourceTree = ""; }; + FA0B7BA21A95902C000E1D17 /* Text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Text.h; sourceTree = ""; }; + FA0B7BA41A95902C000E1D17 /* VertexBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VertexBuffer.cpp; sourceTree = ""; }; + FA0B7BA51A95902C000E1D17 /* VertexBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VertexBuffer.h; sourceTree = ""; }; + FA0B7BA61A95902C000E1D17 /* wrap_Canvas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Canvas.cpp; sourceTree = ""; }; + FA0B7BA71A95902C000E1D17 /* wrap_Canvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Canvas.h; sourceTree = ""; }; + FA0B7BA81A95902C000E1D17 /* wrap_Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Font.cpp; sourceTree = ""; }; + FA0B7BA91A95902C000E1D17 /* wrap_Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Font.h; sourceTree = ""; }; + FA0B7BAA1A95902C000E1D17 /* wrap_Graphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Graphics.cpp; sourceTree = ""; }; + FA0B7BAB1A95902C000E1D17 /* wrap_Graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Graphics.h; sourceTree = ""; }; + FA0B7BAC1A95902C000E1D17 /* wrap_Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Image.cpp; sourceTree = ""; }; + FA0B7BAD1A95902C000E1D17 /* wrap_Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Image.h; sourceTree = ""; }; + FA0B7BAE1A95902C000E1D17 /* wrap_Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Mesh.cpp; sourceTree = ""; }; + FA0B7BAF1A95902C000E1D17 /* wrap_Mesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Mesh.h; sourceTree = ""; }; + FA0B7BB01A95902C000E1D17 /* wrap_ParticleSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ParticleSystem.cpp; sourceTree = ""; }; + FA0B7BB11A95902C000E1D17 /* wrap_ParticleSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_ParticleSystem.h; sourceTree = ""; }; + FA0B7BB41A95902C000E1D17 /* wrap_Shader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Shader.cpp; sourceTree = ""; }; + FA0B7BB51A95902C000E1D17 /* wrap_Shader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Shader.h; sourceTree = ""; }; + FA0B7BB61A95902C000E1D17 /* wrap_SpriteBatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_SpriteBatch.cpp; sourceTree = ""; }; + FA0B7BB71A95902C000E1D17 /* wrap_SpriteBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_SpriteBatch.h; sourceTree = ""; }; + FA0B7BB81A95902C000E1D17 /* wrap_Text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Text.cpp; sourceTree = ""; }; + FA0B7BB91A95902C000E1D17 /* wrap_Text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Text.h; sourceTree = ""; }; + FA0B7BBC1A95902C000E1D17 /* Quad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Quad.cpp; sourceTree = ""; }; + FA0B7BBD1A95902C000E1D17 /* Quad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Quad.h; sourceTree = ""; }; + FA0B7BBE1A95902C000E1D17 /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Texture.cpp; sourceTree = ""; }; + FA0B7BBF1A95902C000E1D17 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = ""; }; + FA0B7BC01A95902C000E1D17 /* Volatile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Volatile.cpp; sourceTree = ""; }; + FA0B7BC11A95902C000E1D17 /* Volatile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Volatile.h; sourceTree = ""; }; + FA0B7BC31A95902C000E1D17 /* CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompressedData.cpp; sourceTree = ""; }; + FA0B7BC41A95902C000E1D17 /* CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedData.h; sourceTree = ""; }; + FA0B7BC51A95902C000E1D17 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; + FA0B7BC61A95902C000E1D17 /* ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = ""; }; + FA0B7BC71A95902C000E1D17 /* ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = ""; }; + FA0B7BC91A95902C000E1D17 /* CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompressedData.cpp; sourceTree = ""; }; + FA0B7BCA1A95902C000E1D17 /* CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedData.h; sourceTree = ""; }; + FA0B7BCB1A95902C000E1D17 /* CompressedFormatHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressedFormatHandler.h; sourceTree = ""; }; + FA0B7BCC1A95902C000E1D17 /* ddsHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ddsHandler.cpp; sourceTree = ""; }; + FA0B7BCD1A95902C000E1D17 /* ddsHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ddsHandler.h; sourceTree = ""; }; + FA0B7BCE1A95902C000E1D17 /* FormatHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormatHandler.cpp; sourceTree = ""; }; + FA0B7BCF1A95902C000E1D17 /* FormatHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormatHandler.h; sourceTree = ""; }; + FA0B7BD01A95902C000E1D17 /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; + FA0B7BD11A95902C000E1D17 /* Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Image.h; sourceTree = ""; }; + FA0B7BD21A95902C000E1D17 /* ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = ""; }; + FA0B7BD31A95902C000E1D17 /* ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = ""; }; + FA0B7BD41A95902C000E1D17 /* ImageIOHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageIOHandler.cpp; sourceTree = ""; }; + FA0B7BD51A95902C000E1D17 /* ImageIOHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageIOHandler.h; sourceTree = ""; }; + FA0B7BD61A95902C000E1D17 /* JPEGHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JPEGHandler.cpp; sourceTree = ""; }; + FA0B7BD71A95902C000E1D17 /* JPEGHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JPEGHandler.h; sourceTree = ""; }; + FA0B7BD81A95902C000E1D17 /* KTXHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KTXHandler.cpp; sourceTree = ""; }; + FA0B7BD91A95902C000E1D17 /* KTXHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KTXHandler.h; sourceTree = ""; }; + FA0B7BDA1A95902C000E1D17 /* PKMHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PKMHandler.cpp; sourceTree = ""; }; + FA0B7BDB1A95902C000E1D17 /* PKMHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PKMHandler.h; sourceTree = ""; }; + FA0B7BDC1A95902C000E1D17 /* PNGHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PNGHandler.cpp; sourceTree = ""; }; + FA0B7BDD1A95902C000E1D17 /* PNGHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PNGHandler.h; sourceTree = ""; }; + FA0B7BDE1A95902C000E1D17 /* PVRHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PVRHandler.cpp; sourceTree = ""; }; + FA0B7BDF1A95902C000E1D17 /* PVRHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PVRHandler.h; sourceTree = ""; }; + FA0B7BE01A95902C000E1D17 /* STBHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = STBHandler.cpp; sourceTree = ""; }; + FA0B7BE11A95902C000E1D17 /* STBHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STBHandler.h; sourceTree = ""; }; + FA0B7BE21A95902C000E1D17 /* wrap_CompressedData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_CompressedData.cpp; sourceTree = ""; }; + FA0B7BE31A95902C000E1D17 /* wrap_CompressedData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_CompressedData.h; sourceTree = ""; }; + FA0B7BE41A95902C000E1D17 /* wrap_Image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Image.cpp; sourceTree = ""; }; + FA0B7BE51A95902C000E1D17 /* wrap_Image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Image.h; sourceTree = ""; }; + FA0B7BE61A95902C000E1D17 /* wrap_ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ImageData.cpp; sourceTree = ""; }; + FA0B7BE71A95902C000E1D17 /* wrap_ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_ImageData.h; sourceTree = ""; }; + FA0B7BE91A95902C000E1D17 /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joystick.cpp; sourceTree = ""; }; + FA0B7BEA1A95902C000E1D17 /* Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joystick.h; sourceTree = ""; }; + FA0B7BEB1A95902C000E1D17 /* JoystickModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JoystickModule.h; sourceTree = ""; }; + FA0B7BED1A95902C000E1D17 /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joystick.cpp; sourceTree = ""; }; + FA0B7BEE1A95902C000E1D17 /* Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joystick.h; sourceTree = ""; }; + FA0B7BEF1A95902C000E1D17 /* JoystickModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JoystickModule.cpp; sourceTree = ""; }; + FA0B7BF01A95902C000E1D17 /* JoystickModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JoystickModule.h; sourceTree = ""; }; + FA0B7BF11A95902C000E1D17 /* wrap_Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Joystick.cpp; sourceTree = ""; }; + FA0B7BF21A95902C000E1D17 /* wrap_Joystick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Joystick.h; sourceTree = ""; }; + FA0B7BF31A95902C000E1D17 /* wrap_JoystickModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_JoystickModule.cpp; sourceTree = ""; }; + FA0B7BF41A95902C000E1D17 /* wrap_JoystickModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_JoystickModule.h; sourceTree = ""; }; + FA0B7BF61A95902C000E1D17 /* Keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = ""; }; + FA0B7BF71A95902C000E1D17 /* Keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Keyboard.h; sourceTree = ""; }; + FA0B7BF91A95902C000E1D17 /* Keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = ""; }; + FA0B7BFA1A95902C000E1D17 /* Keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Keyboard.h; sourceTree = ""; }; + FA0B7BFB1A95902C000E1D17 /* wrap_Keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Keyboard.cpp; sourceTree = ""; }; + FA0B7BFC1A95902C000E1D17 /* wrap_Keyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Keyboard.h; sourceTree = ""; }; + FA0B7BFE1A95902C000E1D17 /* love.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = love.cpp; sourceTree = ""; }; + FA0B7BFF1A95902C000E1D17 /* love.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = love.h; sourceTree = ""; }; + FA0B7C011A95902C000E1D17 /* BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BezierCurve.cpp; sourceTree = ""; }; + FA0B7C021A95902C000E1D17 /* BezierCurve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BezierCurve.h; sourceTree = ""; }; + FA0B7C031A95902C000E1D17 /* MathModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathModule.cpp; sourceTree = ""; }; + FA0B7C041A95902C000E1D17 /* MathModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MathModule.h; sourceTree = ""; }; + FA0B7C051A95902C000E1D17 /* RandomGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RandomGenerator.cpp; sourceTree = ""; }; + FA0B7C061A95902C000E1D17 /* RandomGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RandomGenerator.h; sourceTree = ""; }; + FA0B7C071A95902C000E1D17 /* wrap_BezierCurve.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_BezierCurve.cpp; sourceTree = ""; }; + FA0B7C081A95902C000E1D17 /* wrap_BezierCurve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_BezierCurve.h; sourceTree = ""; }; + FA0B7C091A95902C000E1D17 /* wrap_Math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Math.cpp; sourceTree = ""; }; + FA0B7C0A1A95902C000E1D17 /* wrap_Math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Math.h; sourceTree = ""; }; + FA0B7C0B1A95902C000E1D17 /* wrap_RandomGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RandomGenerator.cpp; sourceTree = ""; }; + FA0B7C0C1A95902C000E1D17 /* wrap_RandomGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_RandomGenerator.h; sourceTree = ""; }; + FA0B7C0E1A95902C000E1D17 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = ""; }; + FA0B7C0F1A95902C000E1D17 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = ""; }; + FA0B7C101A95902C000E1D17 /* Mouse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mouse.cpp; sourceTree = ""; }; + FA0B7C111A95902C000E1D17 /* Mouse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mouse.h; sourceTree = ""; }; + FA0B7C131A95902C000E1D17 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = ""; }; + FA0B7C141A95902C000E1D17 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = ""; }; + FA0B7C151A95902C000E1D17 /* Mouse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mouse.cpp; sourceTree = ""; }; + FA0B7C161A95902C000E1D17 /* Mouse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mouse.h; sourceTree = ""; }; + FA0B7C171A95902C000E1D17 /* wrap_Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Cursor.cpp; sourceTree = ""; }; + FA0B7C181A95902C000E1D17 /* wrap_Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Cursor.h; sourceTree = ""; }; + FA0B7C191A95902C000E1D17 /* wrap_Mouse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Mouse.cpp; sourceTree = ""; }; + FA0B7C1A1A95902C000E1D17 /* wrap_Mouse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Mouse.h; sourceTree = ""; }; + FA0B7C1C1A95902C000E1D17 /* Body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Body.cpp; sourceTree = ""; }; + FA0B7C1D1A95902C000E1D17 /* Body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Body.h; sourceTree = ""; }; + FA0B7C1F1A95902C000E1D17 /* Body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Body.cpp; sourceTree = ""; }; + FA0B7C201A95902C000E1D17 /* Body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Body.h; sourceTree = ""; }; + FA0B7C211A95902C000E1D17 /* ChainShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChainShape.cpp; sourceTree = ""; }; + FA0B7C221A95902C000E1D17 /* ChainShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChainShape.h; sourceTree = ""; }; + FA0B7C231A95902C000E1D17 /* CircleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleShape.cpp; sourceTree = ""; }; + FA0B7C241A95902C000E1D17 /* CircleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleShape.h; sourceTree = ""; }; + FA0B7C251A95902C000E1D17 /* Contact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Contact.cpp; sourceTree = ""; }; + FA0B7C261A95902C000E1D17 /* Contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Contact.h; sourceTree = ""; }; + FA0B7C271A95902C000E1D17 /* DistanceJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DistanceJoint.cpp; sourceTree = ""; }; + FA0B7C281A95902C000E1D17 /* DistanceJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DistanceJoint.h; sourceTree = ""; }; + FA0B7C291A95902C000E1D17 /* EdgeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EdgeShape.cpp; sourceTree = ""; }; + FA0B7C2A1A95902C000E1D17 /* EdgeShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EdgeShape.h; sourceTree = ""; }; + FA0B7C2B1A95902C000E1D17 /* Fixture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Fixture.cpp; sourceTree = ""; }; + FA0B7C2C1A95902C000E1D17 /* Fixture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Fixture.h; sourceTree = ""; }; + FA0B7C2D1A95902C000E1D17 /* FrictionJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrictionJoint.cpp; sourceTree = ""; }; + FA0B7C2E1A95902C000E1D17 /* FrictionJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrictionJoint.h; sourceTree = ""; }; + FA0B7C2F1A95902C000E1D17 /* GearJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GearJoint.cpp; sourceTree = ""; }; + FA0B7C301A95902C000E1D17 /* GearJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GearJoint.h; sourceTree = ""; }; + FA0B7C311A95902C000E1D17 /* Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joint.cpp; sourceTree = ""; }; + FA0B7C321A95902C000E1D17 /* Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joint.h; sourceTree = ""; }; + FA0B7C331A95902C000E1D17 /* MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MotorJoint.cpp; sourceTree = ""; }; + FA0B7C341A95902C000E1D17 /* MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MotorJoint.h; sourceTree = ""; }; + FA0B7C351A95902C000E1D17 /* MouseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseJoint.cpp; sourceTree = ""; }; + FA0B7C361A95902C000E1D17 /* MouseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MouseJoint.h; sourceTree = ""; }; + FA0B7C371A95902C000E1D17 /* Physics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Physics.cpp; sourceTree = ""; }; + FA0B7C381A95902C000E1D17 /* Physics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Physics.h; sourceTree = ""; }; + FA0B7C391A95902C000E1D17 /* PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PolygonShape.cpp; sourceTree = ""; }; + FA0B7C3A1A95902C000E1D17 /* PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolygonShape.h; sourceTree = ""; }; + FA0B7C3B1A95902C000E1D17 /* PrismaticJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrismaticJoint.cpp; sourceTree = ""; }; + FA0B7C3C1A95902C000E1D17 /* PrismaticJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrismaticJoint.h; sourceTree = ""; }; + FA0B7C3D1A95902C000E1D17 /* PulleyJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PulleyJoint.cpp; sourceTree = ""; }; + FA0B7C3E1A95902C000E1D17 /* PulleyJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PulleyJoint.h; sourceTree = ""; }; + FA0B7C3F1A95902C000E1D17 /* RevoluteJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RevoluteJoint.cpp; sourceTree = ""; }; + FA0B7C401A95902C000E1D17 /* RevoluteJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RevoluteJoint.h; sourceTree = ""; }; + FA0B7C411A95902C000E1D17 /* RopeJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RopeJoint.cpp; sourceTree = ""; }; + FA0B7C421A95902C000E1D17 /* RopeJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RopeJoint.h; sourceTree = ""; }; + FA0B7C431A95902C000E1D17 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = ""; }; + FA0B7C441A95902C000E1D17 /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = ""; }; + FA0B7C451A95902C000E1D17 /* WeldJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WeldJoint.cpp; sourceTree = ""; }; + FA0B7C461A95902C000E1D17 /* WeldJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeldJoint.h; sourceTree = ""; }; + FA0B7C471A95902C000E1D17 /* WheelJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WheelJoint.cpp; sourceTree = ""; }; + FA0B7C481A95902C000E1D17 /* WheelJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WheelJoint.h; sourceTree = ""; }; + FA0B7C491A95902C000E1D17 /* World.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = World.cpp; sourceTree = ""; }; + FA0B7C4A1A95902C000E1D17 /* World.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = World.h; sourceTree = ""; }; + FA0B7C4B1A95902C000E1D17 /* wrap_Body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Body.cpp; sourceTree = ""; }; + FA0B7C4C1A95902C000E1D17 /* wrap_Body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Body.h; sourceTree = ""; }; + FA0B7C4D1A95902C000E1D17 /* wrap_ChainShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ChainShape.cpp; sourceTree = ""; }; + FA0B7C4E1A95902C000E1D17 /* wrap_ChainShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_ChainShape.h; sourceTree = ""; }; + FA0B7C4F1A95902C000E1D17 /* wrap_CircleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_CircleShape.cpp; sourceTree = ""; }; + FA0B7C501A95902C000E1D17 /* wrap_CircleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_CircleShape.h; sourceTree = ""; }; + FA0B7C511A95902C000E1D17 /* wrap_Contact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Contact.cpp; sourceTree = ""; }; + FA0B7C521A95902C000E1D17 /* wrap_Contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Contact.h; sourceTree = ""; }; + FA0B7C531A95902C000E1D17 /* wrap_DistanceJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_DistanceJoint.cpp; sourceTree = ""; }; + FA0B7C541A95902C000E1D17 /* wrap_DistanceJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_DistanceJoint.h; sourceTree = ""; }; + FA0B7C551A95902C000E1D17 /* wrap_EdgeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_EdgeShape.cpp; sourceTree = ""; }; + FA0B7C561A95902C000E1D17 /* wrap_EdgeShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_EdgeShape.h; sourceTree = ""; }; + FA0B7C571A95902C000E1D17 /* wrap_Fixture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Fixture.cpp; sourceTree = ""; }; + FA0B7C581A95902C000E1D17 /* wrap_Fixture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Fixture.h; sourceTree = ""; }; + FA0B7C591A95902C000E1D17 /* wrap_FrictionJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_FrictionJoint.cpp; sourceTree = ""; }; + FA0B7C5A1A95902C000E1D17 /* wrap_FrictionJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_FrictionJoint.h; sourceTree = ""; }; + FA0B7C5B1A95902C000E1D17 /* wrap_GearJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_GearJoint.cpp; sourceTree = ""; }; + FA0B7C5C1A95902C000E1D17 /* wrap_GearJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_GearJoint.h; sourceTree = ""; }; + FA0B7C5D1A95902C000E1D17 /* wrap_Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Joint.cpp; sourceTree = ""; }; + FA0B7C5E1A95902C000E1D17 /* wrap_Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Joint.h; sourceTree = ""; }; + FA0B7C5F1A95902C000E1D17 /* wrap_MotorJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_MotorJoint.cpp; sourceTree = ""; }; + FA0B7C601A95902C000E1D17 /* wrap_MotorJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_MotorJoint.h; sourceTree = ""; }; + FA0B7C611A95902C000E1D17 /* wrap_MouseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_MouseJoint.cpp; sourceTree = ""; }; + FA0B7C621A95902C000E1D17 /* wrap_MouseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_MouseJoint.h; sourceTree = ""; }; + FA0B7C631A95902C000E1D17 /* wrap_Physics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Physics.cpp; sourceTree = ""; }; + FA0B7C641A95902C000E1D17 /* wrap_Physics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Physics.h; sourceTree = ""; }; + FA0B7C651A95902C000E1D17 /* wrap_PolygonShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PolygonShape.cpp; sourceTree = ""; }; + FA0B7C661A95902C000E1D17 /* wrap_PolygonShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_PolygonShape.h; sourceTree = ""; }; + FA0B7C671A95902C000E1D17 /* wrap_PrismaticJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PrismaticJoint.cpp; sourceTree = ""; }; + FA0B7C681A95902C000E1D17 /* wrap_PrismaticJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_PrismaticJoint.h; sourceTree = ""; }; + FA0B7C691A95902C000E1D17 /* wrap_PulleyJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_PulleyJoint.cpp; sourceTree = ""; }; + FA0B7C6A1A95902C000E1D17 /* wrap_PulleyJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_PulleyJoint.h; sourceTree = ""; }; + FA0B7C6B1A95902C000E1D17 /* wrap_RevoluteJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RevoluteJoint.cpp; sourceTree = ""; }; + FA0B7C6C1A95902C000E1D17 /* wrap_RevoluteJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_RevoluteJoint.h; sourceTree = ""; }; + FA0B7C6D1A95902C000E1D17 /* wrap_RopeJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_RopeJoint.cpp; sourceTree = ""; }; + FA0B7C6E1A95902C000E1D17 /* wrap_RopeJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_RopeJoint.h; sourceTree = ""; }; + FA0B7C6F1A95902C000E1D17 /* wrap_Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Shape.cpp; sourceTree = ""; }; + FA0B7C701A95902C000E1D17 /* wrap_Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Shape.h; sourceTree = ""; }; + FA0B7C711A95902C000E1D17 /* wrap_WeldJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_WeldJoint.cpp; sourceTree = ""; }; + FA0B7C721A95902C000E1D17 /* wrap_WeldJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_WeldJoint.h; sourceTree = ""; }; + FA0B7C731A95902C000E1D17 /* wrap_WheelJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_WheelJoint.cpp; sourceTree = ""; }; + FA0B7C741A95902C000E1D17 /* wrap_WheelJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_WheelJoint.h; sourceTree = ""; }; + FA0B7C751A95902C000E1D17 /* wrap_World.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_World.cpp; sourceTree = ""; }; + FA0B7C761A95902C000E1D17 /* wrap_World.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_World.h; sourceTree = ""; }; + FA0B7C771A95902C000E1D17 /* Joint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Joint.cpp; sourceTree = ""; }; + FA0B7C781A95902C000E1D17 /* Joint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Joint.h; sourceTree = ""; }; + FA0B7C791A95902C000E1D17 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = ""; }; + FA0B7C7A1A95902C000E1D17 /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = ""; }; + FA0B7C7C1A95902C000E1D17 /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = ""; }; + FA0B7C7E1A95902C000E1D17 /* CoreAudioDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CoreAudioDecoder.cpp; sourceTree = ""; }; + FA0B7C7F1A95902C000E1D17 /* CoreAudioDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreAudioDecoder.h; sourceTree = ""; }; + FA0B7C801A95902C000E1D17 /* Decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Decoder.cpp; sourceTree = ""; }; + FA0B7C811A95902C000E1D17 /* Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Decoder.h; sourceTree = ""; }; + FA0B7C821A95902C000E1D17 /* FLACDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FLACDecoder.cpp; sourceTree = ""; }; + FA0B7C831A95902C000E1D17 /* FLACDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLACDecoder.h; sourceTree = ""; }; + FA0B7C841A95902C000E1D17 /* GmeDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GmeDecoder.cpp; sourceTree = ""; }; + FA0B7C851A95902C000E1D17 /* GmeDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GmeDecoder.h; sourceTree = ""; }; + FA0B7C861A95902C000E1D17 /* ModPlugDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ModPlugDecoder.cpp; sourceTree = ""; }; + FA0B7C871A95902C000E1D17 /* ModPlugDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModPlugDecoder.h; sourceTree = ""; }; + FA0B7C881A95902C000E1D17 /* Mpg123Decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mpg123Decoder.cpp; sourceTree = ""; }; + FA0B7C891A95902C000E1D17 /* Mpg123Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mpg123Decoder.h; sourceTree = ""; }; + FA0B7C8A1A95902C000E1D17 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; + FA0B7C8B1A95902C000E1D17 /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; + FA0B7C8C1A95902C000E1D17 /* VorbisDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VorbisDecoder.cpp; sourceTree = ""; }; + FA0B7C8D1A95902C000E1D17 /* VorbisDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VorbisDecoder.h; sourceTree = ""; }; + FA0B7C8E1A95902C000E1D17 /* WaveDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveDecoder.cpp; sourceTree = ""; }; + FA0B7C8F1A95902C000E1D17 /* WaveDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveDecoder.h; sourceTree = ""; }; + FA0B7C901A95902C000E1D17 /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; + FA0B7C911A95902C000E1D17 /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; + FA0B7C921A95902C000E1D17 /* SoundData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SoundData.cpp; sourceTree = ""; }; + FA0B7C931A95902C000E1D17 /* SoundData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SoundData.h; sourceTree = ""; }; + FA0B7C941A95902C000E1D17 /* wrap_Decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Decoder.cpp; sourceTree = ""; }; + FA0B7C951A95902C000E1D17 /* wrap_Decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Decoder.h; sourceTree = ""; }; + FA0B7C961A95902C000E1D17 /* wrap_Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Sound.cpp; sourceTree = ""; }; + FA0B7C971A95902C000E1D17 /* wrap_Sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Sound.h; sourceTree = ""; }; + FA0B7C981A95902C000E1D17 /* wrap_SoundData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_SoundData.cpp; sourceTree = ""; }; + FA0B7C991A95902C000E1D17 /* wrap_SoundData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_SoundData.h; sourceTree = ""; }; + FA0B7C9C1A95902C000E1D17 /* System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = System.cpp; sourceTree = ""; }; + FA0B7C9D1A95902C000E1D17 /* System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = System.h; sourceTree = ""; }; + FA0B7C9E1A95902C000E1D17 /* System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = System.cpp; sourceTree = ""; }; + FA0B7C9F1A95902C000E1D17 /* System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = System.h; sourceTree = ""; }; + FA0B7CA01A95902C000E1D17 /* wrap_System.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_System.cpp; sourceTree = ""; }; + FA0B7CA11A95902C000E1D17 /* wrap_System.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_System.h; sourceTree = ""; }; + FA0B7CA31A95902C000E1D17 /* Channel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Channel.cpp; sourceTree = ""; }; + FA0B7CA41A95902C000E1D17 /* Channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Channel.h; sourceTree = ""; }; + FA0B7CA51A95902C000E1D17 /* LuaThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LuaThread.cpp; sourceTree = ""; }; + FA0B7CA61A95902C000E1D17 /* LuaThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LuaThread.h; sourceTree = ""; }; + FA0B7CA81A95902C000E1D17 /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Thread.cpp; sourceTree = ""; }; + FA0B7CA91A95902C000E1D17 /* Thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Thread.h; sourceTree = ""; }; + FA0B7CAA1A95902C000E1D17 /* threads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = threads.cpp; sourceTree = ""; }; + FA0B7CAB1A95902C000E1D17 /* threads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threads.h; sourceTree = ""; }; + FA0B7CAC1A95902C000E1D17 /* Thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Thread.h; sourceTree = ""; }; + FA0B7CAD1A95902C000E1D17 /* ThreadModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadModule.cpp; sourceTree = ""; }; + FA0B7CAE1A95902C000E1D17 /* ThreadModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadModule.h; sourceTree = ""; }; + FA0B7CAF1A95902C000E1D17 /* threads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = threads.cpp; sourceTree = ""; }; + FA0B7CB01A95902C000E1D17 /* threads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threads.h; sourceTree = ""; }; + FA0B7CB11A95902C000E1D17 /* wrap_Channel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Channel.cpp; sourceTree = ""; }; + FA0B7CB21A95902C000E1D17 /* wrap_Channel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Channel.h; sourceTree = ""; }; + FA0B7CB31A95902C000E1D17 /* wrap_LuaThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_LuaThread.cpp; sourceTree = ""; }; + FA0B7CB41A95902C000E1D17 /* wrap_LuaThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_LuaThread.h; sourceTree = ""; }; + FA0B7CB51A95902C000E1D17 /* wrap_ThreadModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_ThreadModule.cpp; sourceTree = ""; }; + FA0B7CB61A95902C000E1D17 /* wrap_ThreadModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_ThreadModule.h; sourceTree = ""; }; + FA0B7CB91A95902C000E1D17 /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timer.cpp; sourceTree = ""; }; + FA0B7CBA1A95902C000E1D17 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = ""; }; + FA0B7CBB1A95902C000E1D17 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = ""; }; + FA0B7CBC1A95902C000E1D17 /* wrap_Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Timer.cpp; sourceTree = ""; }; + FA0B7CBD1A95902C000E1D17 /* wrap_Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Timer.h; sourceTree = ""; }; + FA0B7CC01A95902C000E1D17 /* Touch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Touch.cpp; sourceTree = ""; }; + FA0B7CC11A95902C000E1D17 /* Touch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Touch.h; sourceTree = ""; }; + FA0B7CC21A95902C000E1D17 /* Touch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Touch.h; sourceTree = ""; }; + FA0B7CC31A95902C000E1D17 /* wrap_Touch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Touch.cpp; sourceTree = ""; }; + FA0B7CC41A95902C000E1D17 /* wrap_Touch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Touch.h; sourceTree = ""; }; + FA0B7CC71A95902C000E1D17 /* Window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = ""; }; + FA0B7CC81A95902C000E1D17 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = ""; }; + FA0B7CC91A95902C000E1D17 /* Window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = ""; }; + FA0B7CCA1A95902C000E1D17 /* Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Window.h; sourceTree = ""; }; + FA0B7CCB1A95902C000E1D17 /* wrap_Window.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Window.cpp; sourceTree = ""; }; + FA0B7CCC1A95902C000E1D17 /* wrap_Window.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Window.h; sourceTree = ""; }; + FA0B7EF01A959D2C000E1D17 /* iOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iOS.h; sourceTree = ""; }; + FA0B7EF11A959D2C000E1D17 /* iOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = iOS.mm; sourceTree = ""; }; + FA317EB918F28B6D00B0BCD7 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + FA48E43818F10D6C007CF0BD /* jpeg-turbo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "jpeg-turbo.framework"; path = "/Library/Frameworks/jpeg-turbo.framework"; sourceTree = ""; }; + FA577A6716C719D900860150 /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; + FA577A6D16C719EA00860150 /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; + FA577A6F16C719F000860150 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; }; + FA577A7116C719F400860150 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = ""; }; + FA577A7316C719F900860150 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; + FA577A7716C71A0800860150 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = ""; }; + FA577A7916C71A1700860150 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + FA577A7C16C71A2600860150 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + FA577A8216C71A5300860150 /* libmodplug.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libmodplug.framework; path = /Library/Frameworks/libmodplug.framework; sourceTree = ""; }; + FA577A8C16C71D3600860150 /* auto.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = auto.lua; sourceTree = ""; }; + FA577A8D16C71D3600860150 /* boot.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = boot.lua; sourceTree = ""; }; + FA577A8E16C71D3600860150 /* graphics.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = graphics.lua; sourceTree = ""; }; + FA577AAF16C7507900860150 /* love.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FA5D24A51A96D2EC00C6FC8F /* libFreetype2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libFreetype2.a; sourceTree = ""; }; + FA5D24A91A96D2EC00C6FC8F /* libluajit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libluajit.a; sourceTree = ""; }; + FA5D24AB1A96D2EC00C6FC8F /* libogg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libogg.a; sourceTree = ""; }; + FA5D24AD1A96D2EC00C6FC8F /* libphysfs.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libphysfs.a; sourceTree = ""; }; + FA5D24AF1A96D2EC00C6FC8F /* libvorbis.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libvorbis.a; sourceTree = ""; }; + FA5D24CD1A96E63D00C6FC8F /* libSDL2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSDL2.a; sourceTree = ""; }; + FA620A2E1AA2F8DB005DB4C2 /* wrap_Quad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Quad.cpp; sourceTree = ""; }; + FA620A2F1AA2F8DB005DB4C2 /* wrap_Quad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Quad.h; sourceTree = ""; }; + FA620A301AA2F8DB005DB4C2 /* wrap_Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Texture.cpp; sourceTree = ""; }; + FA620A311AA2F8DB005DB4C2 /* wrap_Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Texture.h; sourceTree = ""; }; + FA620A391AA305F6005DB4C2 /* types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = types.cpp; sourceTree = ""; }; + FA8951A01AA2EDF300EC385A /* wrap_Event.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wrap_Event.cpp; sourceTree = ""; }; + FA8951A11AA2EDF300EC385A /* wrap_Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wrap_Event.h; sourceTree = ""; }; + FA9B4A0716E1578300074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; + FAA627CD18E7E1560080752D /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; + FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + FA0B78DA1A958B90000E1D17 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FA5D24B51A96D2EC00C6FC8F /* libvorbis.a in Frameworks */, + FA5D24B21A96D2EC00C6FC8F /* libluajit.a in Frameworks */, + FA5D24B01A96D2EC00C6FC8F /* libFreetype2.a in Frameworks */, + FA5D24B41A96D2EC00C6FC8F /* libphysfs.a in Frameworks */, + FA5D24B31A96D2EC00C6FC8F /* libogg.a in Frameworks */, + FA5D24CF1A96E68300C6FC8F /* libSDL2.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA577AAB16C7507900860150 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FA317EBA18F28B6D00B0BCD7 /* libz.dylib in Frameworks */, + FA48E43918F10D6C007CF0BD /* jpeg-turbo.framework in Frameworks */, + FAA627CE18E7E1560080752D /* CoreServices.framework in Frameworks */, + FA9B4A0816E1578300074F42 /* SDL2.framework in Frameworks */, + FAAFF04416CB11C700CCDE45 /* OpenAL-Soft.framework in Frameworks */, + FA577AB016C7507900860150 /* Cocoa.framework in Frameworks */, + FA577AC216C7512D00860150 /* FreeType.framework in Frameworks */, + FA577AC516C7513400860150 /* libmodplug.framework in Frameworks */, + FA577AC716C7513A00860150 /* mpg123.framework in Frameworks */, + FA577AC816C7513C00860150 /* Ogg.framework in Frameworks */, + FA577ACA16C7514100860150 /* OpenGL.framework in Frameworks */, + FA577ACB16C7514400860150 /* physfs.framework in Frameworks */, + FA577ACD16C7514C00860150 /* Vorbis.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2F654C0235EB60C744A22507 /* Products */ = { + isa = PBXGroup; + children = ( + FA577AAF16C7507900860150 /* love.framework */, + FA0B78DD1A958B90000E1D17 /* liblove.a */, + ); + name = Products; + sourceTree = ""; + }; + 352E6C5F6F8A681766EB5299 /* scripts */ = { + isa = PBXGroup; + children = ( + FA577A8C16C71D3600860150 /* auto.lua */, + FA577A8D16C71D3600860150 /* boot.lua */, + 503971A86B7167A91B670FBA /* boot.lua.h */, + FA577A8E16C71D3600860150 /* graphics.lua */, + 104144AB73A974BC04A03131 /* graphics.lua.h */, + ); + name = scripts; + path = ../../src/scripts; + sourceTree = ""; + }; + 54067CFB7D564E5764FA17DC /* love */ = { + isa = PBXGroup; + children = ( + FA0B78F61A958E3B000E1D17 /* common */, + FA0B794D1A958EA3000E1D17 /* libraries */, + FA0B7B3C1A95902C000E1D17 /* modules */, + 352E6C5F6F8A681766EB5299 /* scripts */, + FA577A6616C7199700860150 /* Frameworks */, + FA5D24A11A96D24500C6FC8F /* Libraries */, + FA08F5AC16C751BA00F007B5 /* Resources */, + 2F654C0235EB60C744A22507 /* Products */, + ); + name = love; + sourceTree = ""; + usesTabs = 1; + }; + FA08F5AC16C751BA00F007B5 /* Resources */ = { + isa = PBXGroup; + children = ( + FA08F5AE16C7525600F007B5 /* liblove-macosx.plist */, + ); + name = Resources; + sourceTree = ""; + }; + FA0B78F61A958E3B000E1D17 /* common */ = { + isa = PBXGroup; + children = ( + FA0B78F71A958E3B000E1D17 /* b64.cpp */, + FA0B78F81A958E3B000E1D17 /* b64.h */, + FA0B78F91A958E3B000E1D17 /* config.h */, + FA0B78FA1A958E3B000E1D17 /* Data.h */, + FA0B78FB1A958E3B000E1D17 /* delay.cpp */, + FA0B78FC1A958E3B000E1D17 /* delay.h */, + FA0B78FD1A958E3B000E1D17 /* EnumMap.h */, + FA0B78FE1A958E3B000E1D17 /* Exception.cpp */, + FA0B78FF1A958E3B000E1D17 /* Exception.h */, + FA0B79001A958E3B000E1D17 /* int.h */, + FA0B7EF01A959D2C000E1D17 /* iOS.h */, + FA0B7EF11A959D2C000E1D17 /* iOS.mm */, + FA0B79011A958E3B000E1D17 /* math.h */, + FA0B79021A958E3B000E1D17 /* Matrix.cpp */, + FA0B79031A958E3B000E1D17 /* Matrix.h */, + FA0B79041A958E3B000E1D17 /* Memoizer.cpp */, + FA0B79051A958E3B000E1D17 /* Memoizer.h */, + FA0B79061A958E3B000E1D17 /* Module.cpp */, + FA0B79071A958E3B000E1D17 /* Module.h */, + FA0B79081A958E3B000E1D17 /* Object.cpp */, + FA0B79091A958E3B000E1D17 /* Object.h */, + FA0B790A1A958E3B000E1D17 /* OSX.h */, + FA0B790B1A958E3B000E1D17 /* OSX.mm */, + FA0B790C1A958E3B000E1D17 /* Reference.cpp */, + FA0B790D1A958E3B000E1D17 /* Reference.h */, + FA0B790E1A958E3B000E1D17 /* runtime.cpp */, + FA0B790F1A958E3B000E1D17 /* runtime.h */, + FA0B79101A958E3B000E1D17 /* StringMap.h */, + FA620A391AA305F6005DB4C2 /* types.cpp */, + FA0B79111A958E3B000E1D17 /* types.h */, + FA0B79121A958E3B000E1D17 /* utf8.cpp */, + FA0B79131A958E3B000E1D17 /* utf8.h */, + FA0B79141A958E3B000E1D17 /* Variant.cpp */, + FA0B79151A958E3B000E1D17 /* Variant.h */, + FA0B79161A958E3B000E1D17 /* Vector.cpp */, + FA0B79171A958E3B000E1D17 /* Vector.h */, + FA0B79181A958E3B000E1D17 /* version.h */, + FA0B79191A958E3B000E1D17 /* wrap_Data.cpp */, + FA0B791A1A958E3B000E1D17 /* wrap_Data.h */, + ); + name = common; + path = ../../src/common; + sourceTree = ""; + }; + FA0B794D1A958EA3000E1D17 /* libraries */ = { + isa = PBXGroup; + children = ( + FA0B794E1A958EA3000E1D17 /* Box2D */, + FA0B79B41A958EA3000E1D17 /* ddsparse */, + FA0B79B81A958EA3000E1D17 /* enet */, + FA0B79D31A958EA3000E1D17 /* glad */, + FA0B79D81A958EA3000E1D17 /* lodepng */, + FA0B79DB1A958EA3000E1D17 /* luasocket */, + FA0B7A101A958EA3000E1D17 /* luautf8 */, + FA0B7A141A958EA3000E1D17 /* noise1234 */, + FA0B7A171A958EA3000E1D17 /* stb */, + FA0B7A191A958EA3000E1D17 /* utf8 */, + FA0B7A1F1A958EA3000E1D17 /* Wuff */, + ); + name = libraries; + path = ../../src/libraries; + sourceTree = ""; + }; + FA0B794E1A958EA3000E1D17 /* Box2D */ = { + isa = PBXGroup; + children = ( + FA0B794F1A958EA3000E1D17 /* Box2D.h */, + FA0B79501A958EA3000E1D17 /* Collision */, + FA0B79681A958EA3000E1D17 /* Common */, + FA0B79761A958EA3000E1D17 /* Dynamics */, + FA0B79B11A958EA3000E1D17 /* Rope */, + ); + path = Box2D; + sourceTree = ""; + }; + FA0B79501A958EA3000E1D17 /* Collision */ = { + isa = PBXGroup; + children = ( + FA0B79511A958EA3000E1D17 /* b2BroadPhase.cpp */, + FA0B79521A958EA3000E1D17 /* b2BroadPhase.h */, + FA0B79531A958EA3000E1D17 /* b2CollideCircle.cpp */, + FA0B79541A958EA3000E1D17 /* b2CollideEdge.cpp */, + FA0B79551A958EA3000E1D17 /* b2CollidePolygon.cpp */, + FA0B79561A958EA3000E1D17 /* b2Collision.cpp */, + FA0B79571A958EA3000E1D17 /* b2Collision.h */, + FA0B79581A958EA3000E1D17 /* b2Distance.cpp */, + FA0B79591A958EA3000E1D17 /* b2Distance.h */, + FA0B795A1A958EA3000E1D17 /* b2DynamicTree.cpp */, + FA0B795B1A958EA3000E1D17 /* b2DynamicTree.h */, + FA0B795C1A958EA3000E1D17 /* b2TimeOfImpact.cpp */, + FA0B795D1A958EA3000E1D17 /* b2TimeOfImpact.h */, + FA0B795E1A958EA3000E1D17 /* Shapes */, + ); + path = Collision; + sourceTree = ""; + }; + FA0B795E1A958EA3000E1D17 /* Shapes */ = { + isa = PBXGroup; + children = ( + FA0B795F1A958EA3000E1D17 /* b2ChainShape.cpp */, + FA0B79601A958EA3000E1D17 /* b2ChainShape.h */, + FA0B79611A958EA3000E1D17 /* b2CircleShape.cpp */, + FA0B79621A958EA3000E1D17 /* b2CircleShape.h */, + FA0B79631A958EA3000E1D17 /* b2EdgeShape.cpp */, + FA0B79641A958EA3000E1D17 /* b2EdgeShape.h */, + FA0B79651A958EA3000E1D17 /* b2PolygonShape.cpp */, + FA0B79661A958EA3000E1D17 /* b2PolygonShape.h */, + FA0B79671A958EA3000E1D17 /* b2Shape.h */, + ); + path = Shapes; + sourceTree = ""; + }; + FA0B79681A958EA3000E1D17 /* Common */ = { + isa = PBXGroup; + children = ( + FA0B79691A958EA3000E1D17 /* b2BlockAllocator.cpp */, + FA0B796A1A958EA3000E1D17 /* b2BlockAllocator.h */, + FA0B796B1A958EA3000E1D17 /* b2Draw.cpp */, + FA0B796C1A958EA3000E1D17 /* b2Draw.h */, + FA0B796D1A958EA3000E1D17 /* b2GrowableStack.h */, + FA0B796E1A958EA3000E1D17 /* b2Math.cpp */, + FA0B796F1A958EA3000E1D17 /* b2Math.h */, + FA0B79701A958EA3000E1D17 /* b2Settings.cpp */, + FA0B79711A958EA3000E1D17 /* b2Settings.h */, + FA0B79721A958EA3000E1D17 /* b2StackAllocator.cpp */, + FA0B79731A958EA3000E1D17 /* b2StackAllocator.h */, + FA0B79741A958EA3000E1D17 /* b2Timer.cpp */, + FA0B79751A958EA3000E1D17 /* b2Timer.h */, + ); + path = Common; + sourceTree = ""; + }; + FA0B79761A958EA3000E1D17 /* Dynamics */ = { + isa = PBXGroup; + children = ( + FA0B79771A958EA3000E1D17 /* b2Body.cpp */, + FA0B79781A958EA3000E1D17 /* b2Body.h */, + FA0B79791A958EA3000E1D17 /* b2ContactManager.cpp */, + FA0B797A1A958EA3000E1D17 /* b2ContactManager.h */, + FA0B797B1A958EA3000E1D17 /* b2Fixture.cpp */, + FA0B797C1A958EA3000E1D17 /* b2Fixture.h */, + FA0B797D1A958EA3000E1D17 /* b2Island.cpp */, + FA0B797E1A958EA3000E1D17 /* b2Island.h */, + FA0B797F1A958EA3000E1D17 /* b2TimeStep.h */, + FA0B79801A958EA3000E1D17 /* b2World.cpp */, + FA0B79811A958EA3000E1D17 /* b2World.h */, + FA0B79821A958EA3000E1D17 /* b2WorldCallbacks.cpp */, + FA0B79831A958EA3000E1D17 /* b2WorldCallbacks.h */, + FA0B79841A958EA3000E1D17 /* Contacts */, + FA0B79971A958EA3000E1D17 /* Joints */, + ); + path = Dynamics; + sourceTree = ""; + }; + FA0B79841A958EA3000E1D17 /* Contacts */ = { + isa = PBXGroup; + children = ( + FA0B79851A958EA3000E1D17 /* b2ChainAndCircleContact.cpp */, + FA0B79861A958EA3000E1D17 /* b2ChainAndCircleContact.h */, + FA0B79871A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp */, + FA0B79881A958EA3000E1D17 /* b2ChainAndPolygonContact.h */, + FA0B79891A958EA3000E1D17 /* b2CircleContact.cpp */, + FA0B798A1A958EA3000E1D17 /* b2CircleContact.h */, + FA0B798B1A958EA3000E1D17 /* b2Contact.cpp */, + FA0B798C1A958EA3000E1D17 /* b2Contact.h */, + FA0B798D1A958EA3000E1D17 /* b2ContactSolver.cpp */, + FA0B798E1A958EA3000E1D17 /* b2ContactSolver.h */, + FA0B798F1A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp */, + FA0B79901A958EA3000E1D17 /* b2EdgeAndCircleContact.h */, + FA0B79911A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp */, + FA0B79921A958EA3000E1D17 /* b2EdgeAndPolygonContact.h */, + FA0B79931A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp */, + FA0B79941A958EA3000E1D17 /* b2PolygonAndCircleContact.h */, + FA0B79951A958EA3000E1D17 /* b2PolygonContact.cpp */, + FA0B79961A958EA3000E1D17 /* b2PolygonContact.h */, + ); + path = Contacts; + sourceTree = ""; + }; + FA0B79971A958EA3000E1D17 /* Joints */ = { + isa = PBXGroup; + children = ( + FA0B79981A958EA3000E1D17 /* b2DistanceJoint.cpp */, + FA0B79991A958EA3000E1D17 /* b2DistanceJoint.h */, + FA0B799A1A958EA3000E1D17 /* b2FrictionJoint.cpp */, + FA0B799B1A958EA3000E1D17 /* b2FrictionJoint.h */, + FA0B799C1A958EA3000E1D17 /* b2GearJoint.cpp */, + FA0B799D1A958EA3000E1D17 /* b2GearJoint.h */, + FA0B799E1A958EA3000E1D17 /* b2Joint.cpp */, + FA0B799F1A958EA3000E1D17 /* b2Joint.h */, + FA0B79A01A958EA3000E1D17 /* b2MotorJoint.cpp */, + FA0B79A11A958EA3000E1D17 /* b2MotorJoint.h */, + FA0B79A21A958EA3000E1D17 /* b2MouseJoint.cpp */, + FA0B79A31A958EA3000E1D17 /* b2MouseJoint.h */, + FA0B79A41A958EA3000E1D17 /* b2PrismaticJoint.cpp */, + FA0B79A51A958EA3000E1D17 /* b2PrismaticJoint.h */, + FA0B79A61A958EA3000E1D17 /* b2PulleyJoint.cpp */, + FA0B79A71A958EA3000E1D17 /* b2PulleyJoint.h */, + FA0B79A81A958EA3000E1D17 /* b2RevoluteJoint.cpp */, + FA0B79A91A958EA3000E1D17 /* b2RevoluteJoint.h */, + FA0B79AA1A958EA3000E1D17 /* b2RopeJoint.cpp */, + FA0B79AB1A958EA3000E1D17 /* b2RopeJoint.h */, + FA0B79AC1A958EA3000E1D17 /* b2WeldJoint.cpp */, + FA0B79AD1A958EA3000E1D17 /* b2WeldJoint.h */, + FA0B79AE1A958EA3000E1D17 /* b2WheelJoint.cpp */, + FA0B79AF1A958EA3000E1D17 /* b2WheelJoint.h */, + ); + path = Joints; + sourceTree = ""; + }; + FA0B79B11A958EA3000E1D17 /* Rope */ = { + isa = PBXGroup; + children = ( + FA0B79B21A958EA3000E1D17 /* b2Rope.cpp */, + FA0B79B31A958EA3000E1D17 /* b2Rope.h */, + ); + path = Rope; + sourceTree = ""; + }; + FA0B79B41A958EA3000E1D17 /* ddsparse */ = { + isa = PBXGroup; + children = ( + FA0B79B51A958EA3000E1D17 /* ddsinfo.h */, + FA0B79B61A958EA3000E1D17 /* ddsparse.cpp */, + FA0B79B71A958EA3000E1D17 /* ddsparse.h */, + ); + path = ddsparse; + sourceTree = ""; + }; + FA0B79B81A958EA3000E1D17 /* enet */ = { + isa = PBXGroup; + children = ( + FA0B79B91A958EA3000E1D17 /* enet.cpp */, + FA0B79BA1A958EA3000E1D17 /* libenet */, + FA0B79D21A958EA3000E1D17 /* lua-enet.h */, + ); + path = enet; + sourceTree = ""; + }; + FA0B79BA1A958EA3000E1D17 /* libenet */ = { + isa = PBXGroup; + children = ( + FA0B79BB1A958EA3000E1D17 /* callbacks.c */, + FA0B79BD1A958EA3000E1D17 /* compress.c */, + FA0B79BE1A958EA3000E1D17 /* host.c */, + FA0B79BF1A958EA3000E1D17 /* include */, + FA0B79CB1A958EA3000E1D17 /* list.c */, + FA0B79CC1A958EA3000E1D17 /* packet.c */, + FA0B79CD1A958EA3000E1D17 /* peer.c */, + FA0B79CE1A958EA3000E1D17 /* protocol.c */, + FA0B79D01A958EA3000E1D17 /* unix.c */, + FA0B79D11A958EA3000E1D17 /* win32.c */, + ); + path = libenet; + sourceTree = ""; + }; + FA0B79BF1A958EA3000E1D17 /* include */ = { + isa = PBXGroup; + children = ( + FA0B79C01A958EA3000E1D17 /* enet */, + ); + path = include; + sourceTree = ""; + }; + FA0B79C01A958EA3000E1D17 /* enet */ = { + isa = PBXGroup; + children = ( + FA0B79C11A958EA3000E1D17 /* callbacks.h */, + FA0B79C21A958EA3000E1D17 /* enet.h */, + FA0B79C31A958EA3000E1D17 /* list.h */, + FA0B79C41A958EA3000E1D17 /* protocol.h */, + FA0B79C51A958EA3000E1D17 /* time.h */, + FA0B79C61A958EA3000E1D17 /* types.h */, + FA0B79C71A958EA3000E1D17 /* unix.h */, + FA0B79C81A958EA3000E1D17 /* utility.h */, + FA0B79C91A958EA3000E1D17 /* win32.h */, + ); + path = enet; + sourceTree = ""; + }; + FA0B79D31A958EA3000E1D17 /* glad */ = { + isa = PBXGroup; + children = ( + FA0B79D41A958EA3000E1D17 /* glad.cpp */, + FA0B79D61A958EA3000E1D17 /* glad.hpp */, + FA0B79D71A958EA3000E1D17 /* gladfuncs.hpp */, + ); + path = glad; + sourceTree = ""; + }; + FA0B79D81A958EA3000E1D17 /* lodepng */ = { + isa = PBXGroup; + children = ( + FA0B79D91A958EA3000E1D17 /* lodepng.cpp */, + FA0B79DA1A958EA3000E1D17 /* lodepng.h */, + ); + path = lodepng; + sourceTree = ""; + }; + FA0B79DB1A958EA3000E1D17 /* luasocket */ = { + isa = PBXGroup; + children = ( + FA0B79DC1A958EA3000E1D17 /* libluasocket */, + FA0B7A0E1A958EA3000E1D17 /* luasocket.cpp */, + FA0B7A0F1A958EA3000E1D17 /* luasocket.h */, + ); + path = luasocket; + sourceTree = ""; + }; + FA0B79DC1A958EA3000E1D17 /* libluasocket */ = { + isa = PBXGroup; + children = ( + FA0B79DD1A958EA3000E1D17 /* auxiliar.c */, + FA0B79DE1A958EA3000E1D17 /* auxiliar.h */, + FA0B79DF1A958EA3000E1D17 /* buffer.c */, + FA0B79E01A958EA3000E1D17 /* buffer.h */, + FA0B79E11A958EA3000E1D17 /* except.c */, + FA0B79E21A958EA3000E1D17 /* except.h */, + FA0B79E31A958EA3000E1D17 /* ftp.lua */, + FA0B79E41A958EA3000E1D17 /* ftp.lua.h */, + FA0B79E51A958EA3000E1D17 /* http.lua */, + FA0B79E61A958EA3000E1D17 /* http.lua.h */, + FA0B79E71A958EA3000E1D17 /* inet.c */, + FA0B79E81A958EA3000E1D17 /* inet.h */, + FA0B79E91A958EA3000E1D17 /* io.c */, + FA0B79EA1A958EA3000E1D17 /* io.h */, + FA0B79EB1A958EA3000E1D17 /* ltn12.lua */, + FA0B79EC1A958EA3000E1D17 /* ltn12.lua.h */, + FA0B79ED1A958EA3000E1D17 /* lua.h */, + FA0B79EE1A958EA3000E1D17 /* luasocket.c */, + FA0B79EF1A958EA3000E1D17 /* luasocket.h */, + FA0B79F01A958EA3000E1D17 /* mime.c */, + FA0B79F11A958EA3000E1D17 /* mime.h */, + FA0B79F21A958EA3000E1D17 /* mime.lua */, + FA0B79F31A958EA3000E1D17 /* mime.lua.h */, + FA0B79F41A958EA3000E1D17 /* options.c */, + FA0B79F51A958EA3000E1D17 /* options.h */, + FA0B79F61A958EA3000E1D17 /* pre.lua */, + FA0B79F71A958EA3000E1D17 /* select.c */, + FA0B79F81A958EA3000E1D17 /* select.h */, + FA0B79F91A958EA3000E1D17 /* smtp.lua */, + FA0B79FA1A958EA3000E1D17 /* smtp.lua.h */, + FA0B79FB1A958EA3000E1D17 /* socket.h */, + FA0B79FC1A958EA3000E1D17 /* socket.lua */, + FA0B79FD1A958EA3000E1D17 /* socket.lua.h */, + FA0B79FE1A958EA3000E1D17 /* tcp.c */, + FA0B79FF1A958EA3000E1D17 /* tcp.h */, + FA0B7A001A958EA3000E1D17 /* timeout.c */, + FA0B7A011A958EA3000E1D17 /* timeout.h */, + FA0B7A021A958EA3000E1D17 /* tp.lua */, + FA0B7A031A958EA3000E1D17 /* tp.lua.h */, + FA0B7A041A958EA3000E1D17 /* udp.c */, + FA0B7A051A958EA3000E1D17 /* udp.h */, + FA0B7A061A958EA3000E1D17 /* unix.c */, + FA0B7A071A958EA3000E1D17 /* unix.h */, + FA0B7A081A958EA3000E1D17 /* url.lua */, + FA0B7A091A958EA3000E1D17 /* url.lua.h */, + FA0B7A0A1A958EA3000E1D17 /* usocket.c */, + FA0B7A0B1A958EA3000E1D17 /* usocket.h */, + ); + path = libluasocket; + sourceTree = ""; + }; + FA0B7A101A958EA3000E1D17 /* luautf8 */ = { + isa = PBXGroup; + children = ( + FA0B7A111A958EA3000E1D17 /* lprefix.h */, + FA0B7A121A958EA3000E1D17 /* lutf8lib.c */, + FA0B7A131A958EA3000E1D17 /* lutf8lib.h */, + ); + path = luautf8; + sourceTree = ""; + }; + FA0B7A141A958EA3000E1D17 /* noise1234 */ = { + isa = PBXGroup; + children = ( + FA0B7A151A958EA3000E1D17 /* simplexnoise1234.cpp */, + FA0B7A161A958EA3000E1D17 /* simplexnoise1234.h */, + ); + path = noise1234; + sourceTree = ""; + }; + FA0B7A171A958EA3000E1D17 /* stb */ = { + isa = PBXGroup; + children = ( + FA0B7A181A958EA3000E1D17 /* stb_image.h */, + ); + path = stb; + sourceTree = ""; + }; + FA0B7A191A958EA3000E1D17 /* utf8 */ = { + isa = PBXGroup; + children = ( + FA0B7A1A1A958EA3000E1D17 /* utf8 */, + FA0B7A1E1A958EA3000E1D17 /* utf8.h */, + ); + path = utf8; + sourceTree = ""; + }; + FA0B7A1A1A958EA3000E1D17 /* utf8 */ = { + isa = PBXGroup; + children = ( + FA0B7A1B1A958EA3000E1D17 /* checked.h */, + FA0B7A1C1A958EA3000E1D17 /* core.h */, + FA0B7A1D1A958EA3000E1D17 /* unchecked.h */, + ); + path = utf8; + sourceTree = ""; + }; + FA0B7A1F1A958EA3000E1D17 /* Wuff */ = { + isa = PBXGroup; + children = ( + FA0B7A201A958EA3000E1D17 /* wuff.c */, + FA0B7A211A958EA3000E1D17 /* wuff.h */, + FA0B7A221A958EA3000E1D17 /* wuff_config.h */, + FA0B7A231A958EA3000E1D17 /* wuff_convert.c */, + FA0B7A241A958EA3000E1D17 /* wuff_convert.h */, + FA0B7A251A958EA3000E1D17 /* wuff_internal.c */, + FA0B7A261A958EA3000E1D17 /* wuff_internal.h */, + FA0B7A271A958EA3000E1D17 /* wuff_memory.c */, + ); + path = Wuff; + sourceTree = ""; + }; + FA0B7B3C1A95902C000E1D17 /* modules */ = { + isa = PBXGroup; + children = ( + FA0B7B3D1A95902C000E1D17 /* audio */, + FA0B7B521A95902C000E1D17 /* event */, + FA0B7B5A1A95902C000E1D17 /* filesystem */, + FA0B7B701A95902C000E1D17 /* font */, + FA0B7B871A95902C000E1D17 /* graphics */, + FA0B7BC21A95902C000E1D17 /* image */, + FA0B7BE81A95902C000E1D17 /* joystick */, + FA0B7BF51A95902C000E1D17 /* keyboard */, + FA0B7BFD1A95902C000E1D17 /* love */, + FA0B7C001A95902C000E1D17 /* math */, + FA0B7C0D1A95902C000E1D17 /* mouse */, + FA0B7C1B1A95902C000E1D17 /* physics */, + FA0B7C7B1A95902C000E1D17 /* sound */, + FA0B7C9A1A95902C000E1D17 /* system */, + FA0B7CA21A95902C000E1D17 /* thread */, + FA0B7CB71A95902C000E1D17 /* timer */, + FA0B7CBE1A95902C000E1D17 /* touch */, + FA0B7CC51A95902C000E1D17 /* window */, + ); + name = modules; + path = ../../src/modules; + sourceTree = ""; + }; + FA0B7B3D1A95902C000E1D17 /* audio */ = { + isa = PBXGroup; + children = ( + FA0B7B3E1A95902C000E1D17 /* Audio.cpp */, + FA0B7B3F1A95902C000E1D17 /* Audio.h */, + FA0B7B401A95902C000E1D17 /* null */, + FA0B7B451A95902C000E1D17 /* openal */, + FA0B7B4C1A95902C000E1D17 /* Source.cpp */, + FA0B7B4D1A95902C000E1D17 /* Source.h */, + FA0B7B4E1A95902C000E1D17 /* wrap_Audio.cpp */, + FA0B7B4F1A95902C000E1D17 /* wrap_Audio.h */, + FA0B7B501A95902C000E1D17 /* wrap_Source.cpp */, + FA0B7B511A95902C000E1D17 /* wrap_Source.h */, + ); + path = audio; + sourceTree = ""; + }; + FA0B7B401A95902C000E1D17 /* null */ = { + isa = PBXGroup; + children = ( + FA0B7B411A95902C000E1D17 /* Audio.cpp */, + FA0B7B421A95902C000E1D17 /* Audio.h */, + FA0B7B431A95902C000E1D17 /* Source.cpp */, + FA0B7B441A95902C000E1D17 /* Source.h */, + ); + path = null; + sourceTree = ""; + }; + FA0B7B451A95902C000E1D17 /* openal */ = { + isa = PBXGroup; + children = ( + FA0B7B461A95902C000E1D17 /* Audio.cpp */, + FA0B7B471A95902C000E1D17 /* Audio.h */, + FA0B7B481A95902C000E1D17 /* Pool.cpp */, + FA0B7B491A95902C000E1D17 /* Pool.h */, + FA0B7B4A1A95902C000E1D17 /* Source.cpp */, + FA0B7B4B1A95902C000E1D17 /* Source.h */, + ); + path = openal; + sourceTree = ""; + }; + FA0B7B521A95902C000E1D17 /* event */ = { + isa = PBXGroup; + children = ( + FA0B7B531A95902C000E1D17 /* Event.cpp */, + FA0B7B541A95902C000E1D17 /* Event.h */, + FA0B7B551A95902C000E1D17 /* sdl */, + FA8951A01AA2EDF300EC385A /* wrap_Event.cpp */, + FA8951A11AA2EDF300EC385A /* wrap_Event.h */, + ); + path = event; + sourceTree = ""; + }; + FA0B7B551A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7B561A95902C000E1D17 /* Event.cpp */, + FA0B7B571A95902C000E1D17 /* Event.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7B5A1A95902C000E1D17 /* filesystem */ = { + isa = PBXGroup; + children = ( + FA0B7B5B1A95902C000E1D17 /* DroppedFile.cpp */, + FA0B7B5C1A95902C000E1D17 /* DroppedFile.h */, + FA0B7B5D1A95902C000E1D17 /* File.cpp */, + FA0B7B5E1A95902C000E1D17 /* File.h */, + FA0B7B5F1A95902C000E1D17 /* FileData.cpp */, + FA0B7B601A95902C000E1D17 /* FileData.h */, + FA0B7B611A95902C000E1D17 /* Filesystem.cpp */, + FA0B7B621A95902C000E1D17 /* Filesystem.h */, + FA0B7B631A95902C000E1D17 /* physfs */, + FA0B7B681A95902C000E1D17 /* wrap_DroppedFile.cpp */, + FA0B7B691A95902C000E1D17 /* wrap_DroppedFile.h */, + FA0B7B6A1A95902C000E1D17 /* wrap_File.cpp */, + FA0B7B6B1A95902C000E1D17 /* wrap_File.h */, + FA0B7B6C1A95902C000E1D17 /* wrap_FileData.cpp */, + FA0B7B6D1A95902C000E1D17 /* wrap_FileData.h */, + FA0B7B6E1A95902C000E1D17 /* wrap_Filesystem.cpp */, + FA0B7B6F1A95902C000E1D17 /* wrap_Filesystem.h */, + ); + path = filesystem; + sourceTree = ""; + }; + FA0B7B631A95902C000E1D17 /* physfs */ = { + isa = PBXGroup; + children = ( + FA0B7B641A95902C000E1D17 /* File.cpp */, + FA0B7B651A95902C000E1D17 /* File.h */, + FA0B7B661A95902C000E1D17 /* Filesystem.cpp */, + FA0B7B671A95902C000E1D17 /* Filesystem.h */, + ); + path = physfs; + sourceTree = ""; + }; + FA0B7B701A95902C000E1D17 /* font */ = { + isa = PBXGroup; + children = ( + FA0B7B711A95902C000E1D17 /* BMFontRasterizer.cpp */, + FA0B7B721A95902C000E1D17 /* BMFontRasterizer.h */, + FA0B7B731A95902C000E1D17 /* Font.cpp */, + FA0B7B741A95902C000E1D17 /* Font.h */, + FA0B7B751A95902C000E1D17 /* freetype */, + FA0B7B7A1A95902C000E1D17 /* GlyphData.cpp */, + FA0B7B7B1A95902C000E1D17 /* GlyphData.h */, + FA0B7B7C1A95902C000E1D17 /* ImageRasterizer.cpp */, + FA0B7B7D1A95902C000E1D17 /* ImageRasterizer.h */, + FA0B7B7E1A95902C000E1D17 /* Rasterizer.cpp */, + FA0B7B7F1A95902C000E1D17 /* Rasterizer.h */, + FA0B7B801A95902C000E1D17 /* Vera.ttf.h */, + FA0B7B811A95902C000E1D17 /* wrap_Font.cpp */, + FA0B7B821A95902C000E1D17 /* wrap_Font.h */, + FA0B7B831A95902C000E1D17 /* wrap_GlyphData.cpp */, + FA0B7B841A95902C000E1D17 /* wrap_GlyphData.h */, + FA0B7B851A95902C000E1D17 /* wrap_Rasterizer.cpp */, + FA0B7B861A95902C000E1D17 /* wrap_Rasterizer.h */, + ); + path = font; + sourceTree = ""; + }; + FA0B7B751A95902C000E1D17 /* freetype */ = { + isa = PBXGroup; + children = ( + FA0B7B761A95902C000E1D17 /* Font.cpp */, + FA0B7B771A95902C000E1D17 /* Font.h */, + FA0B7B781A95902C000E1D17 /* TrueTypeRasterizer.cpp */, + FA0B7B791A95902C000E1D17 /* TrueTypeRasterizer.h */, + ); + path = freetype; + sourceTree = ""; + }; + FA0B7B871A95902C000E1D17 /* graphics */ = { + isa = PBXGroup; + children = ( + FA0B7B881A95902C000E1D17 /* Color.h */, + FA0B7B891A95902C000E1D17 /* Drawable.h */, + FA0B7B8A1A95902C000E1D17 /* Graphics.cpp */, + FA0B7B8B1A95902C000E1D17 /* Graphics.h */, + FA0B7B8C1A95902C000E1D17 /* opengl */, + FA0B7BBC1A95902C000E1D17 /* Quad.cpp */, + FA0B7BBD1A95902C000E1D17 /* Quad.h */, + FA0B7BBE1A95902C000E1D17 /* Texture.cpp */, + FA0B7BBF1A95902C000E1D17 /* Texture.h */, + FA0B7BC01A95902C000E1D17 /* Volatile.cpp */, + FA0B7BC11A95902C000E1D17 /* Volatile.h */, + FA620A2E1AA2F8DB005DB4C2 /* wrap_Quad.cpp */, + FA620A2F1AA2F8DB005DB4C2 /* wrap_Quad.h */, + FA620A301AA2F8DB005DB4C2 /* wrap_Texture.cpp */, + FA620A311AA2F8DB005DB4C2 /* wrap_Texture.h */, + ); + path = graphics; + sourceTree = ""; + }; + FA0B7B8C1A95902C000E1D17 /* opengl */ = { + isa = PBXGroup; + children = ( + FA0B7B8D1A95902C000E1D17 /* Canvas.cpp */, + FA0B7B8E1A95902C000E1D17 /* Canvas.h */, + FA0B7B8F1A95902C000E1D17 /* Font.cpp */, + FA0B7B901A95902C000E1D17 /* Font.h */, + FA0B7B911A95902C000E1D17 /* Graphics.cpp */, + FA0B7B921A95902C000E1D17 /* Graphics.h */, + FA0B7B931A95902C000E1D17 /* Image.cpp */, + FA0B7B941A95902C000E1D17 /* Image.h */, + FA0B7B951A95902C000E1D17 /* Mesh.cpp */, + FA0B7B961A95902C000E1D17 /* Mesh.h */, + FA0B7B971A95902C000E1D17 /* OpenGL.cpp */, + FA0B7B981A95902C000E1D17 /* OpenGL.h */, + FA0B7B991A95902C000E1D17 /* ParticleSystem.cpp */, + FA0B7B9A1A95902C000E1D17 /* ParticleSystem.h */, + FA0B7B9B1A95902C000E1D17 /* Polyline.cpp */, + FA0B7B9C1A95902C000E1D17 /* Polyline.h */, + FA0B7B9D1A95902C000E1D17 /* Shader.cpp */, + FA0B7B9E1A95902C000E1D17 /* Shader.h */, + FA0B7B9F1A95902C000E1D17 /* SpriteBatch.cpp */, + FA0B7BA01A95902C000E1D17 /* SpriteBatch.h */, + FA0B7BA11A95902C000E1D17 /* Text.cpp */, + FA0B7BA21A95902C000E1D17 /* Text.h */, + FA0B7BA41A95902C000E1D17 /* VertexBuffer.cpp */, + FA0B7BA51A95902C000E1D17 /* VertexBuffer.h */, + FA0B7BA61A95902C000E1D17 /* wrap_Canvas.cpp */, + FA0B7BA71A95902C000E1D17 /* wrap_Canvas.h */, + FA0B7BA81A95902C000E1D17 /* wrap_Font.cpp */, + FA0B7BA91A95902C000E1D17 /* wrap_Font.h */, + FA0B7BAA1A95902C000E1D17 /* wrap_Graphics.cpp */, + FA0B7BAB1A95902C000E1D17 /* wrap_Graphics.h */, + FA0B7BAC1A95902C000E1D17 /* wrap_Image.cpp */, + FA0B7BAD1A95902C000E1D17 /* wrap_Image.h */, + FA0B7BAE1A95902C000E1D17 /* wrap_Mesh.cpp */, + FA0B7BAF1A95902C000E1D17 /* wrap_Mesh.h */, + FA0B7BB01A95902C000E1D17 /* wrap_ParticleSystem.cpp */, + FA0B7BB11A95902C000E1D17 /* wrap_ParticleSystem.h */, + FA0B7BB41A95902C000E1D17 /* wrap_Shader.cpp */, + FA0B7BB51A95902C000E1D17 /* wrap_Shader.h */, + FA0B7BB61A95902C000E1D17 /* wrap_SpriteBatch.cpp */, + FA0B7BB71A95902C000E1D17 /* wrap_SpriteBatch.h */, + FA0B7BB81A95902C000E1D17 /* wrap_Text.cpp */, + FA0B7BB91A95902C000E1D17 /* wrap_Text.h */, + ); + path = opengl; + sourceTree = ""; + }; + FA0B7BC21A95902C000E1D17 /* image */ = { + isa = PBXGroup; + children = ( + FA0B7BC31A95902C000E1D17 /* CompressedData.cpp */, + FA0B7BC41A95902C000E1D17 /* CompressedData.h */, + FA0B7BC51A95902C000E1D17 /* Image.h */, + FA0B7BC61A95902C000E1D17 /* ImageData.cpp */, + FA0B7BC71A95902C000E1D17 /* ImageData.h */, + FA0B7BC81A95902C000E1D17 /* magpie */, + FA0B7BE21A95902C000E1D17 /* wrap_CompressedData.cpp */, + FA0B7BE31A95902C000E1D17 /* wrap_CompressedData.h */, + FA0B7BE41A95902C000E1D17 /* wrap_Image.cpp */, + FA0B7BE51A95902C000E1D17 /* wrap_Image.h */, + FA0B7BE61A95902C000E1D17 /* wrap_ImageData.cpp */, + FA0B7BE71A95902C000E1D17 /* wrap_ImageData.h */, + ); + path = image; + sourceTree = ""; + }; + FA0B7BC81A95902C000E1D17 /* magpie */ = { + isa = PBXGroup; + children = ( + FA0B7BC91A95902C000E1D17 /* CompressedData.cpp */, + FA0B7BCA1A95902C000E1D17 /* CompressedData.h */, + FA0B7BCB1A95902C000E1D17 /* CompressedFormatHandler.h */, + FA0B7BCC1A95902C000E1D17 /* ddsHandler.cpp */, + FA0B7BCD1A95902C000E1D17 /* ddsHandler.h */, + FA0B7BCE1A95902C000E1D17 /* FormatHandler.cpp */, + FA0B7BCF1A95902C000E1D17 /* FormatHandler.h */, + FA0B7BD01A95902C000E1D17 /* Image.cpp */, + FA0B7BD11A95902C000E1D17 /* Image.h */, + FA0B7BD21A95902C000E1D17 /* ImageData.cpp */, + FA0B7BD31A95902C000E1D17 /* ImageData.h */, + FA0B7BD41A95902C000E1D17 /* ImageIOHandler.cpp */, + FA0B7BD51A95902C000E1D17 /* ImageIOHandler.h */, + FA0B7BD61A95902C000E1D17 /* JPEGHandler.cpp */, + FA0B7BD71A95902C000E1D17 /* JPEGHandler.h */, + FA0B7BD81A95902C000E1D17 /* KTXHandler.cpp */, + FA0B7BD91A95902C000E1D17 /* KTXHandler.h */, + FA0B7BDA1A95902C000E1D17 /* PKMHandler.cpp */, + FA0B7BDB1A95902C000E1D17 /* PKMHandler.h */, + FA0B7BDC1A95902C000E1D17 /* PNGHandler.cpp */, + FA0B7BDD1A95902C000E1D17 /* PNGHandler.h */, + FA0B7BDE1A95902C000E1D17 /* PVRHandler.cpp */, + FA0B7BDF1A95902C000E1D17 /* PVRHandler.h */, + FA0B7BE01A95902C000E1D17 /* STBHandler.cpp */, + FA0B7BE11A95902C000E1D17 /* STBHandler.h */, + ); + path = magpie; + sourceTree = ""; + }; + FA0B7BE81A95902C000E1D17 /* joystick */ = { + isa = PBXGroup; + children = ( + FA0B7BE91A95902C000E1D17 /* Joystick.cpp */, + FA0B7BEA1A95902C000E1D17 /* Joystick.h */, + FA0B7BEB1A95902C000E1D17 /* JoystickModule.h */, + FA0B7BEC1A95902C000E1D17 /* sdl */, + FA0B7BF11A95902C000E1D17 /* wrap_Joystick.cpp */, + FA0B7BF21A95902C000E1D17 /* wrap_Joystick.h */, + FA0B7BF31A95902C000E1D17 /* wrap_JoystickModule.cpp */, + FA0B7BF41A95902C000E1D17 /* wrap_JoystickModule.h */, + ); + path = joystick; + sourceTree = ""; + }; + FA0B7BEC1A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7BED1A95902C000E1D17 /* Joystick.cpp */, + FA0B7BEE1A95902C000E1D17 /* Joystick.h */, + FA0B7BEF1A95902C000E1D17 /* JoystickModule.cpp */, + FA0B7BF01A95902C000E1D17 /* JoystickModule.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7BF51A95902C000E1D17 /* keyboard */ = { + isa = PBXGroup; + children = ( + FA0B7BF61A95902C000E1D17 /* Keyboard.cpp */, + FA0B7BF71A95902C000E1D17 /* Keyboard.h */, + FA0B7BF81A95902C000E1D17 /* sdl */, + FA0B7BFB1A95902C000E1D17 /* wrap_Keyboard.cpp */, + FA0B7BFC1A95902C000E1D17 /* wrap_Keyboard.h */, + ); + path = keyboard; + sourceTree = ""; + }; + FA0B7BF81A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7BF91A95902C000E1D17 /* Keyboard.cpp */, + FA0B7BFA1A95902C000E1D17 /* Keyboard.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7BFD1A95902C000E1D17 /* love */ = { + isa = PBXGroup; + children = ( + FA0B7BFE1A95902C000E1D17 /* love.cpp */, + FA0B7BFF1A95902C000E1D17 /* love.h */, + ); + path = love; + sourceTree = ""; + }; + FA0B7C001A95902C000E1D17 /* math */ = { + isa = PBXGroup; + children = ( + FA0B7C011A95902C000E1D17 /* BezierCurve.cpp */, + FA0B7C021A95902C000E1D17 /* BezierCurve.h */, + FA0B7C031A95902C000E1D17 /* MathModule.cpp */, + FA0B7C041A95902C000E1D17 /* MathModule.h */, + FA0B7C051A95902C000E1D17 /* RandomGenerator.cpp */, + FA0B7C061A95902C000E1D17 /* RandomGenerator.h */, + FA0B7C071A95902C000E1D17 /* wrap_BezierCurve.cpp */, + FA0B7C081A95902C000E1D17 /* wrap_BezierCurve.h */, + FA0B7C091A95902C000E1D17 /* wrap_Math.cpp */, + FA0B7C0A1A95902C000E1D17 /* wrap_Math.h */, + FA0B7C0B1A95902C000E1D17 /* wrap_RandomGenerator.cpp */, + FA0B7C0C1A95902C000E1D17 /* wrap_RandomGenerator.h */, + ); + path = math; + sourceTree = ""; + }; + FA0B7C0D1A95902C000E1D17 /* mouse */ = { + isa = PBXGroup; + children = ( + FA0B7C0E1A95902C000E1D17 /* Cursor.cpp */, + FA0B7C0F1A95902C000E1D17 /* Cursor.h */, + FA0B7C101A95902C000E1D17 /* Mouse.cpp */, + FA0B7C111A95902C000E1D17 /* Mouse.h */, + FA0B7C121A95902C000E1D17 /* sdl */, + FA0B7C171A95902C000E1D17 /* wrap_Cursor.cpp */, + FA0B7C181A95902C000E1D17 /* wrap_Cursor.h */, + FA0B7C191A95902C000E1D17 /* wrap_Mouse.cpp */, + FA0B7C1A1A95902C000E1D17 /* wrap_Mouse.h */, + ); + path = mouse; + sourceTree = ""; + }; + FA0B7C121A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7C131A95902C000E1D17 /* Cursor.cpp */, + FA0B7C141A95902C000E1D17 /* Cursor.h */, + FA0B7C151A95902C000E1D17 /* Mouse.cpp */, + FA0B7C161A95902C000E1D17 /* Mouse.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7C1B1A95902C000E1D17 /* physics */ = { + isa = PBXGroup; + children = ( + FA0B7C1C1A95902C000E1D17 /* Body.cpp */, + FA0B7C1D1A95902C000E1D17 /* Body.h */, + FA0B7C1E1A95902C000E1D17 /* box2d */, + FA0B7C771A95902C000E1D17 /* Joint.cpp */, + FA0B7C781A95902C000E1D17 /* Joint.h */, + FA0B7C791A95902C000E1D17 /* Shape.cpp */, + FA0B7C7A1A95902C000E1D17 /* Shape.h */, + ); + path = physics; + sourceTree = ""; + }; + FA0B7C1E1A95902C000E1D17 /* box2d */ = { + isa = PBXGroup; + children = ( + FA0B7C1F1A95902C000E1D17 /* Body.cpp */, + FA0B7C201A95902C000E1D17 /* Body.h */, + FA0B7C211A95902C000E1D17 /* ChainShape.cpp */, + FA0B7C221A95902C000E1D17 /* ChainShape.h */, + FA0B7C231A95902C000E1D17 /* CircleShape.cpp */, + FA0B7C241A95902C000E1D17 /* CircleShape.h */, + FA0B7C251A95902C000E1D17 /* Contact.cpp */, + FA0B7C261A95902C000E1D17 /* Contact.h */, + FA0B7C271A95902C000E1D17 /* DistanceJoint.cpp */, + FA0B7C281A95902C000E1D17 /* DistanceJoint.h */, + FA0B7C291A95902C000E1D17 /* EdgeShape.cpp */, + FA0B7C2A1A95902C000E1D17 /* EdgeShape.h */, + FA0B7C2B1A95902C000E1D17 /* Fixture.cpp */, + FA0B7C2C1A95902C000E1D17 /* Fixture.h */, + FA0B7C2D1A95902C000E1D17 /* FrictionJoint.cpp */, + FA0B7C2E1A95902C000E1D17 /* FrictionJoint.h */, + FA0B7C2F1A95902C000E1D17 /* GearJoint.cpp */, + FA0B7C301A95902C000E1D17 /* GearJoint.h */, + FA0B7C311A95902C000E1D17 /* Joint.cpp */, + FA0B7C321A95902C000E1D17 /* Joint.h */, + FA0B7C331A95902C000E1D17 /* MotorJoint.cpp */, + FA0B7C341A95902C000E1D17 /* MotorJoint.h */, + FA0B7C351A95902C000E1D17 /* MouseJoint.cpp */, + FA0B7C361A95902C000E1D17 /* MouseJoint.h */, + FA0B7C371A95902C000E1D17 /* Physics.cpp */, + FA0B7C381A95902C000E1D17 /* Physics.h */, + FA0B7C391A95902C000E1D17 /* PolygonShape.cpp */, + FA0B7C3A1A95902C000E1D17 /* PolygonShape.h */, + FA0B7C3B1A95902C000E1D17 /* PrismaticJoint.cpp */, + FA0B7C3C1A95902C000E1D17 /* PrismaticJoint.h */, + FA0B7C3D1A95902C000E1D17 /* PulleyJoint.cpp */, + FA0B7C3E1A95902C000E1D17 /* PulleyJoint.h */, + FA0B7C3F1A95902C000E1D17 /* RevoluteJoint.cpp */, + FA0B7C401A95902C000E1D17 /* RevoluteJoint.h */, + FA0B7C411A95902C000E1D17 /* RopeJoint.cpp */, + FA0B7C421A95902C000E1D17 /* RopeJoint.h */, + FA0B7C431A95902C000E1D17 /* Shape.cpp */, + FA0B7C441A95902C000E1D17 /* Shape.h */, + FA0B7C451A95902C000E1D17 /* WeldJoint.cpp */, + FA0B7C461A95902C000E1D17 /* WeldJoint.h */, + FA0B7C471A95902C000E1D17 /* WheelJoint.cpp */, + FA0B7C481A95902C000E1D17 /* WheelJoint.h */, + FA0B7C491A95902C000E1D17 /* World.cpp */, + FA0B7C4A1A95902C000E1D17 /* World.h */, + FA0B7C4B1A95902C000E1D17 /* wrap_Body.cpp */, + FA0B7C4C1A95902C000E1D17 /* wrap_Body.h */, + FA0B7C4D1A95902C000E1D17 /* wrap_ChainShape.cpp */, + FA0B7C4E1A95902C000E1D17 /* wrap_ChainShape.h */, + FA0B7C4F1A95902C000E1D17 /* wrap_CircleShape.cpp */, + FA0B7C501A95902C000E1D17 /* wrap_CircleShape.h */, + FA0B7C511A95902C000E1D17 /* wrap_Contact.cpp */, + FA0B7C521A95902C000E1D17 /* wrap_Contact.h */, + FA0B7C531A95902C000E1D17 /* wrap_DistanceJoint.cpp */, + FA0B7C541A95902C000E1D17 /* wrap_DistanceJoint.h */, + FA0B7C551A95902C000E1D17 /* wrap_EdgeShape.cpp */, + FA0B7C561A95902C000E1D17 /* wrap_EdgeShape.h */, + FA0B7C571A95902C000E1D17 /* wrap_Fixture.cpp */, + FA0B7C581A95902C000E1D17 /* wrap_Fixture.h */, + FA0B7C591A95902C000E1D17 /* wrap_FrictionJoint.cpp */, + FA0B7C5A1A95902C000E1D17 /* wrap_FrictionJoint.h */, + FA0B7C5B1A95902C000E1D17 /* wrap_GearJoint.cpp */, + FA0B7C5C1A95902C000E1D17 /* wrap_GearJoint.h */, + FA0B7C5D1A95902C000E1D17 /* wrap_Joint.cpp */, + FA0B7C5E1A95902C000E1D17 /* wrap_Joint.h */, + FA0B7C5F1A95902C000E1D17 /* wrap_MotorJoint.cpp */, + FA0B7C601A95902C000E1D17 /* wrap_MotorJoint.h */, + FA0B7C611A95902C000E1D17 /* wrap_MouseJoint.cpp */, + FA0B7C621A95902C000E1D17 /* wrap_MouseJoint.h */, + FA0B7C631A95902C000E1D17 /* wrap_Physics.cpp */, + FA0B7C641A95902C000E1D17 /* wrap_Physics.h */, + FA0B7C651A95902C000E1D17 /* wrap_PolygonShape.cpp */, + FA0B7C661A95902C000E1D17 /* wrap_PolygonShape.h */, + FA0B7C671A95902C000E1D17 /* wrap_PrismaticJoint.cpp */, + FA0B7C681A95902C000E1D17 /* wrap_PrismaticJoint.h */, + FA0B7C691A95902C000E1D17 /* wrap_PulleyJoint.cpp */, + FA0B7C6A1A95902C000E1D17 /* wrap_PulleyJoint.h */, + FA0B7C6B1A95902C000E1D17 /* wrap_RevoluteJoint.cpp */, + FA0B7C6C1A95902C000E1D17 /* wrap_RevoluteJoint.h */, + FA0B7C6D1A95902C000E1D17 /* wrap_RopeJoint.cpp */, + FA0B7C6E1A95902C000E1D17 /* wrap_RopeJoint.h */, + FA0B7C6F1A95902C000E1D17 /* wrap_Shape.cpp */, + FA0B7C701A95902C000E1D17 /* wrap_Shape.h */, + FA0B7C711A95902C000E1D17 /* wrap_WeldJoint.cpp */, + FA0B7C721A95902C000E1D17 /* wrap_WeldJoint.h */, + FA0B7C731A95902C000E1D17 /* wrap_WheelJoint.cpp */, + FA0B7C741A95902C000E1D17 /* wrap_WheelJoint.h */, + FA0B7C751A95902C000E1D17 /* wrap_World.cpp */, + FA0B7C761A95902C000E1D17 /* wrap_World.h */, + ); + path = box2d; + sourceTree = ""; + }; + FA0B7C7B1A95902C000E1D17 /* sound */ = { + isa = PBXGroup; + children = ( + FA0B7C7C1A95902C000E1D17 /* Decoder.h */, + FA0B7C7D1A95902C000E1D17 /* lullaby */, + FA0B7C901A95902C000E1D17 /* Sound.cpp */, + FA0B7C911A95902C000E1D17 /* Sound.h */, + FA0B7C921A95902C000E1D17 /* SoundData.cpp */, + FA0B7C931A95902C000E1D17 /* SoundData.h */, + FA0B7C941A95902C000E1D17 /* wrap_Decoder.cpp */, + FA0B7C951A95902C000E1D17 /* wrap_Decoder.h */, + FA0B7C961A95902C000E1D17 /* wrap_Sound.cpp */, + FA0B7C971A95902C000E1D17 /* wrap_Sound.h */, + FA0B7C981A95902C000E1D17 /* wrap_SoundData.cpp */, + FA0B7C991A95902C000E1D17 /* wrap_SoundData.h */, + ); + path = sound; + sourceTree = ""; + }; + FA0B7C7D1A95902C000E1D17 /* lullaby */ = { + isa = PBXGroup; + children = ( + FA0B7C7E1A95902C000E1D17 /* CoreAudioDecoder.cpp */, + FA0B7C7F1A95902C000E1D17 /* CoreAudioDecoder.h */, + FA0B7C801A95902C000E1D17 /* Decoder.cpp */, + FA0B7C811A95902C000E1D17 /* Decoder.h */, + FA0B7C821A95902C000E1D17 /* FLACDecoder.cpp */, + FA0B7C831A95902C000E1D17 /* FLACDecoder.h */, + FA0B7C841A95902C000E1D17 /* GmeDecoder.cpp */, + FA0B7C851A95902C000E1D17 /* GmeDecoder.h */, + FA0B7C861A95902C000E1D17 /* ModPlugDecoder.cpp */, + FA0B7C871A95902C000E1D17 /* ModPlugDecoder.h */, + FA0B7C881A95902C000E1D17 /* Mpg123Decoder.cpp */, + FA0B7C891A95902C000E1D17 /* Mpg123Decoder.h */, + FA0B7C8A1A95902C000E1D17 /* Sound.cpp */, + FA0B7C8B1A95902C000E1D17 /* Sound.h */, + FA0B7C8C1A95902C000E1D17 /* VorbisDecoder.cpp */, + FA0B7C8D1A95902C000E1D17 /* VorbisDecoder.h */, + FA0B7C8E1A95902C000E1D17 /* WaveDecoder.cpp */, + FA0B7C8F1A95902C000E1D17 /* WaveDecoder.h */, + ); + path = lullaby; + sourceTree = ""; + }; + FA0B7C9A1A95902C000E1D17 /* system */ = { + isa = PBXGroup; + children = ( + FA0B7C9B1A95902C000E1D17 /* sdl */, + FA0B7C9E1A95902C000E1D17 /* System.cpp */, + FA0B7C9F1A95902C000E1D17 /* System.h */, + FA0B7CA01A95902C000E1D17 /* wrap_System.cpp */, + FA0B7CA11A95902C000E1D17 /* wrap_System.h */, + ); + path = system; + sourceTree = ""; + }; + FA0B7C9B1A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7C9C1A95902C000E1D17 /* System.cpp */, + FA0B7C9D1A95902C000E1D17 /* System.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7CA21A95902C000E1D17 /* thread */ = { + isa = PBXGroup; + children = ( + FA0B7CA31A95902C000E1D17 /* Channel.cpp */, + FA0B7CA41A95902C000E1D17 /* Channel.h */, + FA0B7CA51A95902C000E1D17 /* LuaThread.cpp */, + FA0B7CA61A95902C000E1D17 /* LuaThread.h */, + FA0B7CA71A95902C000E1D17 /* sdl */, + FA0B7CAC1A95902C000E1D17 /* Thread.h */, + FA0B7CAD1A95902C000E1D17 /* ThreadModule.cpp */, + FA0B7CAE1A95902C000E1D17 /* ThreadModule.h */, + FA0B7CAF1A95902C000E1D17 /* threads.cpp */, + FA0B7CB01A95902C000E1D17 /* threads.h */, + FA0B7CB11A95902C000E1D17 /* wrap_Channel.cpp */, + FA0B7CB21A95902C000E1D17 /* wrap_Channel.h */, + FA0B7CB31A95902C000E1D17 /* wrap_LuaThread.cpp */, + FA0B7CB41A95902C000E1D17 /* wrap_LuaThread.h */, + FA0B7CB51A95902C000E1D17 /* wrap_ThreadModule.cpp */, + FA0B7CB61A95902C000E1D17 /* wrap_ThreadModule.h */, + ); + path = thread; + sourceTree = ""; + }; + FA0B7CA71A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7CA81A95902C000E1D17 /* Thread.cpp */, + FA0B7CA91A95902C000E1D17 /* Thread.h */, + FA0B7CAA1A95902C000E1D17 /* threads.cpp */, + FA0B7CAB1A95902C000E1D17 /* threads.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7CB71A95902C000E1D17 /* timer */ = { + isa = PBXGroup; + children = ( + FA0B7CB81A95902C000E1D17 /* sdl */, + FA0B7CBB1A95902C000E1D17 /* Timer.h */, + FA0B7CBC1A95902C000E1D17 /* wrap_Timer.cpp */, + FA0B7CBD1A95902C000E1D17 /* wrap_Timer.h */, + ); + path = timer; + sourceTree = ""; + }; + FA0B7CB81A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7CB91A95902C000E1D17 /* Timer.cpp */, + FA0B7CBA1A95902C000E1D17 /* Timer.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7CBE1A95902C000E1D17 /* touch */ = { + isa = PBXGroup; + children = ( + FA0B7CBF1A95902C000E1D17 /* sdl */, + FA0B7CC21A95902C000E1D17 /* Touch.h */, + FA0B7CC31A95902C000E1D17 /* wrap_Touch.cpp */, + FA0B7CC41A95902C000E1D17 /* wrap_Touch.h */, + ); + path = touch; + sourceTree = ""; + }; + FA0B7CBF1A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7CC01A95902C000E1D17 /* Touch.cpp */, + FA0B7CC11A95902C000E1D17 /* Touch.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7CC51A95902C000E1D17 /* window */ = { + isa = PBXGroup; + children = ( + FA0B7CC61A95902C000E1D17 /* sdl */, + FA0B7CC91A95902C000E1D17 /* Window.cpp */, + FA0B7CCA1A95902C000E1D17 /* Window.h */, + FA0B7CCB1A95902C000E1D17 /* wrap_Window.cpp */, + FA0B7CCC1A95902C000E1D17 /* wrap_Window.h */, + ); + path = window; + sourceTree = ""; + }; + FA0B7CC61A95902C000E1D17 /* sdl */ = { + isa = PBXGroup; + children = ( + FA0B7CC71A95902C000E1D17 /* Window.cpp */, + FA0B7CC81A95902C000E1D17 /* Window.h */, + ); + path = sdl; + sourceTree = ""; + }; + FA0B7EEB1A959125000E1D17 /* macosx */ = { + isa = PBXGroup; + children = ( + FA577A7916C71A1700860150 /* Cocoa.framework */, + FAA627CD18E7E1560080752D /* CoreServices.framework */, + FA577A6716C719D900860150 /* FreeType.framework */, + FA48E43818F10D6C007CF0BD /* jpeg-turbo.framework */, + FA577A8216C71A5300860150 /* libmodplug.framework */, + FA317EB918F28B6D00B0BCD7 /* libz.dylib */, + FA577A6D16C719EA00860150 /* Lua.framework */, + FA577A6F16C719F000860150 /* mpg123.framework */, + FA577A7116C719F400860150 /* Ogg.framework */, + FAAFF04316CB11C700CCDE45 /* OpenAL-Soft.framework */, + FA577A7C16C71A2600860150 /* OpenGL.framework */, + FA577A7316C719F900860150 /* physfs.framework */, + FA9B4A0716E1578300074F42 /* SDL2.framework */, + FA577A7716C71A0800860150 /* Vorbis.framework */, + ); + name = macosx; + sourceTree = ""; + }; + FA577A6616C7199700860150 /* Frameworks */ = { + isa = PBXGroup; + children = ( + FA0B7EEB1A959125000E1D17 /* macosx */, + ); + name = Frameworks; + sourceTree = ""; + }; + FA5D24A11A96D24500C6FC8F /* Libraries */ = { + isa = PBXGroup; + children = ( + FA5D24A31A96D2C300C6FC8F /* ios */, + ); + name = Libraries; + sourceTree = ""; + }; + FA5D24A31A96D2C300C6FC8F /* ios */ = { + isa = PBXGroup; + children = ( + FA5D24A41A96D2EC00C6FC8F /* freetype */, + FA5D24A81A96D2EC00C6FC8F /* lua */, + FA5D24AA1A96D2EC00C6FC8F /* ogg */, + FA5D24AC1A96D2EC00C6FC8F /* physfs */, + FA5D24CC1A96E63D00C6FC8F /* SDL2 */, + FA5D24AE1A96D2EC00C6FC8F /* vorbis */, + ); + name = ios; + sourceTree = ""; + }; + FA5D24A41A96D2EC00C6FC8F /* freetype */ = { + isa = PBXGroup; + children = ( + FA5D24A51A96D2EC00C6FC8F /* libFreetype2.a */, + ); + name = freetype; + path = ios/libraries/freetype; + sourceTree = ""; + }; + FA5D24A81A96D2EC00C6FC8F /* lua */ = { + isa = PBXGroup; + children = ( + FA5D24A91A96D2EC00C6FC8F /* libluajit.a */, + ); + name = lua; + path = ios/libraries/lua; + sourceTree = ""; + }; + FA5D24AA1A96D2EC00C6FC8F /* ogg */ = { + isa = PBXGroup; + children = ( + FA5D24AB1A96D2EC00C6FC8F /* libogg.a */, + ); + name = ogg; + path = ios/libraries/ogg; + sourceTree = ""; + }; + FA5D24AC1A96D2EC00C6FC8F /* physfs */ = { + isa = PBXGroup; + children = ( + FA5D24AD1A96D2EC00C6FC8F /* libphysfs.a */, + ); + name = physfs; + path = ios/libraries/physfs; + sourceTree = ""; + }; + FA5D24AE1A96D2EC00C6FC8F /* vorbis */ = { + isa = PBXGroup; + children = ( + FA5D24AF1A96D2EC00C6FC8F /* libvorbis.a */, + ); + name = vorbis; + path = ios/libraries/vorbis; + sourceTree = ""; + }; + FA5D24CC1A96E63D00C6FC8F /* SDL2 */ = { + isa = PBXGroup; + children = ( + FA5D24CD1A96E63D00C6FC8F /* libSDL2.a */, + ); + name = SDL2; + path = ios/libraries/SDL2; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + FA577AAC16C7507900860150 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FA0B7D7E1A95902C000E1D17 /* Texture.h in Headers */, + FA0B7E561A95902C000E1D17 /* wrap_GearJoint.h in Headers */, + FA0B7E1D1A95902C000E1D17 /* MouseJoint.h in Headers */, + FA0B7DC91A95902C000E1D17 /* Keyboard.h in Headers */, + FA0B7D4A1A95902C000E1D17 /* Polyline.h in Headers */, + FA0B7DB31A95902C000E1D17 /* wrap_Image.h in Headers */, + FA0B7D531A95902C000E1D17 /* Text.h in Headers */, + FA0B7D381A95902C000E1D17 /* Font.h in Headers */, + FA0B7EC31A95902C000E1D17 /* threads.h in Headers */, + FA0B7AC21A958EA3000E1D17 /* enet.h in Headers */, + FA0B7E201A95902C000E1D17 /* Physics.h in Headers */, + FA0B79221A958E3B000E1D17 /* delay.h in Headers */, + FA0B79481A958E3B000E1D17 /* Vector.h in Headers */, + FA0B7CCF1A95902C000E1D17 /* Audio.h in Headers */, + FA0B7EC01A95902C000E1D17 /* Thread.h in Headers */, + FA0B7E9C1A95902C000E1D17 /* VorbisDecoder.h in Headers */, + FA0B791D1A958E3B000E1D17 /* b64.h in Headers */, + FA0B7DC61A95902C000E1D17 /* wrap_JoystickModule.h in Headers */, + FA0B7D201A95902C000E1D17 /* ImageRasterizer.h in Headers */, + FA0B7D241A95902C000E1D17 /* Vera.ttf.h in Headers */, + FA0B7E5F1A95902C000E1D17 /* wrap_MouseJoint.h in Headers */, + FA0B7B361A958EA3000E1D17 /* wuff_convert.h in Headers */, + FA0B7D9E1A95902C000E1D17 /* JPEGHandler.h in Headers */, + FA0B7D981A95902C000E1D17 /* ImageData.h in Headers */, + FA0B7CDE1A95902C000E1D17 /* Source.h in Headers */, + FA0B7E141A95902C000E1D17 /* GearJoint.h in Headers */, + FA0B7D051A95902C000E1D17 /* wrap_DroppedFile.h in Headers */, + FA0B7B271A958EA3000E1D17 /* lutf8lib.h in Headers */, + FA0B7E9F1A95902C000E1D17 /* WaveDecoder.h in Headers */, + FA0B7AC61A958EA3000E1D17 /* types.h in Headers */, + FA0B7D751A95902C000E1D17 /* wrap_Text.h in Headers */, + FA0B7DBD1A95902C000E1D17 /* Joystick.h in Headers */, + FA0B7E901A95902C000E1D17 /* GmeDecoder.h in Headers */, + FA0B7D0E1A95902C000E1D17 /* wrap_Filesystem.h in Headers */, + FA0B7EE41A95902D000E1D17 /* Window.h in Headers */, + FA0B7D721A95902C000E1D17 /* wrap_SpriteBatch.h in Headers */, + FA0B7CFC1A95902C000E1D17 /* Filesystem.h in Headers */, + FA0B7AD81A958EA3000E1D17 /* lua-enet.h in Headers */, + FA0B7A3A1A958EA3000E1D17 /* b2DynamicTree.h in Headers */, + FA0B7D351A95902C000E1D17 /* Canvas.h in Headers */, + FA0B7EBA1A95902C000E1D17 /* Channel.h in Headers */, + FA0B7D3E1A95902C000E1D17 /* Image.h in Headers */, + FA0B7ECA1A95902C000E1D17 /* threads.h in Headers */, + FA0B7ED61A95902D000E1D17 /* Timer.h in Headers */, + FA0B7DB01A95902C000E1D17 /* wrap_CompressedData.h in Headers */, + FA0B7AC11A958EA3000E1D17 /* callbacks.h in Headers */, + FA0B7D8F1A95902C000E1D17 /* ddsHandler.h in Headers */, + FA0B7AA31A958EA3000E1D17 /* b2PulleyJoint.h in Headers */, + FA0B7B2F1A958EA3000E1D17 /* utf8.h in Headers */, + FA0B79231A958E3B000E1D17 /* EnumMap.h in Headers */, + FA0B7A371A958EA3000E1D17 /* b2Distance.h in Headers */, + FA0B7E681A95902C000E1D17 /* wrap_PrismaticJoint.h in Headers */, + FA0B7D571A95902C000E1D17 /* VertexBuffer.h in Headers */, + FA0B7ED71A95902D000E1D17 /* Timer.h in Headers */, + FA0B7AC31A958EA3000E1D17 /* list.h in Headers */, + FA0B7B2D1A958EA3000E1D17 /* core.h in Headers */, + FA0B7E831A95902C000E1D17 /* Shape.h in Headers */, + FA0B7EDD1A95902D000E1D17 /* Touch.h in Headers */, + FA0B7EDE1A95902D000E1D17 /* Touch.h in Headers */, + FA0B7A541A958EA3000E1D17 /* b2Math.h in Headers */, + FA0B7ED01A95902C000E1D17 /* wrap_LuaThread.h in Headers */, + FA0B7CE41A95902C000E1D17 /* wrap_Audio.h in Headers */, + FA0B7A7F1A958EA3000E1D17 /* b2ContactSolver.h in Headers */, + FA0B79491A958E3B000E1D17 /* version.h in Headers */, + FA0B7B2B1A958EA3000E1D17 /* stb_image.h in Headers */, + FA0B7CD21A95902C000E1D17 /* Audio.h in Headers */, + FA0B79421A958E3B000E1D17 /* utf8.h in Headers */, + FA0B7D171A95902C000E1D17 /* Font.h in Headers */, + FA0B7A6D1A958EA3000E1D17 /* b2World.h in Headers */, + FA0B7EAE1A95902C000E1D17 /* wrap_SoundData.h in Headers */, + FA0B7CFF1A95902C000E1D17 /* File.h in Headers */, + FA0B7AB41A958EA3000E1D17 /* ddsinfo.h in Headers */, + FA0B7DD21A95902C000E1D17 /* love.h in Headers */, + FA0B7CE71A95902C000E1D17 /* wrap_Source.h in Headers */, + FA0B7B231A958EA3000E1D17 /* luasocket.h in Headers */, + FA0B7D1D1A95902C000E1D17 /* GlyphData.h in Headers */, + FA0B7B391A958EA3000E1D17 /* wuff_internal.h in Headers */, + FA0B7A5A1A958EA3000E1D17 /* b2StackAllocator.h in Headers */, + FA0B7D881A95902C000E1D17 /* ImageData.h in Headers */, + FA0B7A661A958EA3000E1D17 /* b2Fixture.h in Headers */, + FA0B7EE11A95902D000E1D17 /* wrap_Touch.h in Headers */, + FA0B7AA91A958EA3000E1D17 /* b2RopeJoint.h in Headers */, + FA0B7E441A95902C000E1D17 /* wrap_CircleShape.h in Headers */, + FA0B7EB41A95902C000E1D17 /* System.h in Headers */, + FA0B7CE11A95902C000E1D17 /* Source.h in Headers */, + FA0B7E621A95902C000E1D17 /* wrap_Physics.h in Headers */, + FA0B7DF01A95902C000E1D17 /* Mouse.h in Headers */, + FA0B7DAD1A95902C000E1D17 /* STBHandler.h in Headers */, + FA0B7DE11A95902C000E1D17 /* wrap_Math.h in Headers */, + FA0B7AAF1A958EA3000E1D17 /* b2WheelJoint.h in Headers */, + FA0B7D1A1A95902C000E1D17 /* TrueTypeRasterizer.h in Headers */, + FA0B7EA81A95902C000E1D17 /* wrap_Decoder.h in Headers */, + FA0B7AC51A958EA3000E1D17 /* time.h in Headers */, + FA0B793E1A958E3B000E1D17 /* StringMap.h in Headers */, + FA0B793A1A958E3B000E1D17 /* Reference.h in Headers */, + FA0B7DCC1A95902C000E1D17 /* Keyboard.h in Headers */, + FA620A341AA2F8DB005DB4C2 /* wrap_Quad.h in Headers */, + FA0B7EA51A95902C000E1D17 /* SoundData.h in Headers */, + FA0B7A821A958EA3000E1D17 /* b2EdgeAndCircleContact.h in Headers */, + FA0B79341A958E3B000E1D17 /* Object.h in Headers */, + FA0B7CEA1A95902C000E1D17 /* Event.h in Headers */, + FA0B7E351A95902C000E1D17 /* WeldJoint.h in Headers */, + FA0B7E2F1A95902C000E1D17 /* RopeJoint.h in Headers */, + FA0B7D141A95902C000E1D17 /* Font.h in Headers */, + FA0B7D411A95902C000E1D17 /* Mesh.h in Headers */, + FA0B7E591A95902C000E1D17 /* wrap_Joint.h in Headers */, + FA0B79351A958E3B000E1D17 /* OSX.h in Headers */, + FA0B7A631A958EA3000E1D17 /* b2ContactManager.h in Headers */, + FA0B7E771A95902C000E1D17 /* wrap_WeldJoint.h in Headers */, + FA0B7A911A958EA3000E1D17 /* b2FrictionJoint.h in Headers */, + FA0B7E291A95902C000E1D17 /* PulleyJoint.h in Headers */, + FA0B7D471A95902C000E1D17 /* ParticleSystem.h in Headers */, + FA0B7E231A95902C000E1D17 /* PolygonShape.h in Headers */, + FA0B791E1A958E3B000E1D17 /* config.h in Headers */, + FA0B7E6B1A95902C000E1D17 /* wrap_PulleyJoint.h in Headers */, + FA0B7E051A95902C000E1D17 /* Contact.h in Headers */, + FA0B7A691A958EA3000E1D17 /* b2Island.h in Headers */, + FA0B7E0E1A95902C000E1D17 /* Fixture.h in Headers */, + FA0B7A401A958EA3000E1D17 /* b2ChainShape.h in Headers */, + FA0B7AA61A958EA3000E1D17 /* b2RevoluteJoint.h in Headers */, + FA0B7EEA1A95902D000E1D17 /* wrap_Window.h in Headers */, + FA0B7E381A95902C000E1D17 /* WheelJoint.h in Headers */, + FA0B7D851A95902C000E1D17 /* Image.h in Headers */, + FA0B7E7D1A95902C000E1D17 /* wrap_World.h in Headers */, + FA0B7EBD1A95902C000E1D17 /* LuaThread.h in Headers */, + FA0B7D601A95902C000E1D17 /* wrap_Graphics.h in Headers */, + FA0B7DC01A95902C000E1D17 /* JoystickModule.h in Headers */, + FA0B7E871A95902C000E1D17 /* CoreAudioDecoder.h in Headers */, + FA0B7CD51A95902C000E1D17 /* Source.h in Headers */, + FA0B7A2B1A958EA3000E1D17 /* b2BroadPhase.h in Headers */, + FA0B7D661A95902C000E1D17 /* wrap_Mesh.h in Headers */, + FA0B7AAC1A958EA3000E1D17 /* b2WeldJoint.h in Headers */, + FA0B7E7A1A95902C000E1D17 /* wrap_WheelJoint.h in Headers */, + FA0B7A791A958EA3000E1D17 /* b2CircleContact.h in Headers */, + FA0B7DD81A95902C000E1D17 /* MathModule.h in Headers */, + FA0B7D631A95902C000E1D17 /* wrap_Image.h in Headers */, + FA0B7A341A958EA3000E1D17 /* b2Collision.h in Headers */, + FA0B7EC71A95902C000E1D17 /* ThreadModule.h in Headers */, + FA0B792B1A958E3B000E1D17 /* Matrix.h in Headers */, + FA0B7DA41A95902C000E1D17 /* PKMHandler.h in Headers */, + FA0B7AC81A958EA3000E1D17 /* utility.h in Headers */, + FA0B791F1A958E3B000E1D17 /* Data.h in Headers */, + FA0B7D021A95902C000E1D17 /* Filesystem.h in Headers */, + FA0B7E471A95902C000E1D17 /* wrap_Contact.h in Headers */, + FA0B7E021A95902C000E1D17 /* CircleShape.h in Headers */, + FA0B7E111A95902C000E1D17 /* FrictionJoint.h in Headers */, + FA0B7AE01A958EA3000E1D17 /* lodepng.h in Headers */, + FA0B7A4D1A958EA3000E1D17 /* b2BlockAllocator.h in Headers */, + FA0B7ECD1A95902C000E1D17 /* wrap_Channel.h in Headers */, + FA0B7A431A958EA3000E1D17 /* b2CircleShape.h in Headers */, + FA0B7CD81A95902C000E1D17 /* Audio.h in Headers */, + FA0B7CF61A95902C000E1D17 /* File.h in Headers */, + FA0B7E961A95902C000E1D17 /* Mpg123Decoder.h in Headers */, + FA0B7D501A95902C000E1D17 /* SpriteBatch.h in Headers */, + FA0B7DD51A95902C000E1D17 /* BezierCurve.h in Headers */, + FA0B79271A958E3B000E1D17 /* int.h in Headers */, + FA0B7D8C1A95902C000E1D17 /* CompressedFormatHandler.h in Headers */, + FA0B7E531A95902C000E1D17 /* wrap_FrictionJoint.h in Headers */, + FA0B7EB71A95902C000E1D17 /* wrap_System.h in Headers */, + FA0B7DF61A95902C000E1D17 /* wrap_Mouse.h in Headers */, + FA0B7E801A95902C000E1D17 /* Joint.h in Headers */, + FA0B7D2F1A95902C000E1D17 /* Drawable.h in Headers */, + FA0B7D951A95902C000E1D17 /* Image.h in Headers */, + FA0B7EC41A95902C000E1D17 /* Thread.h in Headers */, + FA0B7DFF1A95902C000E1D17 /* ChainShape.h in Headers */, + FA0B7E4D1A95902C000E1D17 /* wrap_EdgeShape.h in Headers */, + FA0B7DDB1A95902C000E1D17 /* RandomGenerator.h in Headers */, + FA0B7E841A95902C000E1D17 /* Decoder.h in Headers */, + FA0B7A601A958EA3000E1D17 /* b2Body.h in Headers */, + FA0B7EAB1A95902C000E1D17 /* wrap_Sound.h in Headers */, + FA0B7B2C1A958EA3000E1D17 /* checked.h in Headers */, + FA0B7D2A1A95902C000E1D17 /* wrap_GlyphData.h in Headers */, + FA0B7E741A95902C000E1D17 /* wrap_Shape.h in Headers */, + FA0B7A5D1A958EA3000E1D17 /* b2Timer.h in Headers */, + FA0B7A4A1A958EA3000E1D17 /* b2Shape.h in Headers */, + FA0B7E3B1A95902C000E1D17 /* World.h in Headers */, + FA0B7DC31A95902C000E1D17 /* wrap_Joystick.h in Headers */, + FA0B7EE71A95902D000E1D17 /* Window.h in Headers */, + FA0B7E651A95902C000E1D17 /* wrap_PolygonShape.h in Headers */, + FA0B7AC91A958EA3000E1D17 /* win32.h in Headers */, + FA0B7DFC1A95902C000E1D17 /* Body.h in Headers */, + FA0B7A941A958EA3000E1D17 /* b2GearJoint.h in Headers */, + FA0B7DF31A95902C000E1D17 /* wrap_Cursor.h in Headers */, + FA0B7A461A958EA3000E1D17 /* b2EdgeShape.h in Headers */, + FA0B7D271A95902C000E1D17 /* wrap_Font.h in Headers */, + FA0B7A761A958EA3000E1D17 /* b2ChainAndPolygonContact.h in Headers */, + FA0B7DAA1A95902C000E1D17 /* PVRHandler.h in Headers */, + FA0B7D7B1A95902C000E1D17 /* Quad.h in Headers */, + FA0B7E261A95902C000E1D17 /* PrismaticJoint.h in Headers */, + FA0B7E991A95902C000E1D17 /* Sound.h in Headers */, + FA0B7D841A95902C000E1D17 /* CompressedData.h in Headers */, + FA0B7D231A95902C000E1D17 /* Rasterizer.h in Headers */, + FA0B7D9B1A95902C000E1D17 /* ImageIOHandler.h in Headers */, + FA0B7CDB1A95902C000E1D17 /* Pool.h in Headers */, + FA0B7D0B1A95902C000E1D17 /* wrap_FileData.h in Headers */, + FA0B7DF91A95902C000E1D17 /* Body.h in Headers */, + FA0B7DB91A95902C000E1D17 /* Joystick.h in Headers */, + FA0B7E2C1A95902C000E1D17 /* RevoluteJoint.h in Headers */, + FA8951A41AA2EDF300EC385A /* wrap_Event.h in Headers */, + FA0B7B2A1A958EA3000E1D17 /* simplexnoise1234.h in Headers */, + FA0B7ADC1A958EA3000E1D17 /* glad.hpp in Headers */, + FA0B7CF91A95902C000E1D17 /* FileData.h in Headers */, + FA0B7DA71A95902C000E1D17 /* PNGHandler.h in Headers */, + FA0B7AC41A958EA3000E1D17 /* protocol.h in Headers */, + FA0B7D8B1A95902C000E1D17 /* CompressedData.h in Headers */, + FA0B7A8E1A958EA3000E1D17 /* b2DistanceJoint.h in Headers */, + FA0B7A8B1A958EA3000E1D17 /* b2PolygonContact.h in Headers */, + FA0B794C1A958E3B000E1D17 /* wrap_Data.h in Headers */, + FA0B7D321A95902C000E1D17 /* Graphics.h in Headers */, + FA0B7E321A95902C000E1D17 /* Shape.h in Headers */, + FA620A371AA2F8DB005DB4C2 /* wrap_Texture.h in Headers */, + FA0B7DBA1A95902C000E1D17 /* JoystickModule.h in Headers */, + FA0B792E1A958E3B000E1D17 /* Memoizer.h in Headers */, + FA0B7A731A958EA3000E1D17 /* b2ChainAndCircleContact.h in Headers */, + FA0B7AA01A958EA3000E1D17 /* b2PrismaticJoint.h in Headers */, + FA0B7B241A958EA3000E1D17 /* lprefix.h in Headers */, + FA0B7DEA1A95902C000E1D17 /* Mouse.h in Headers */, + FA0B7E931A95902C000E1D17 /* ModPlugDecoder.h in Headers */, + FA0B7D111A95902C000E1D17 /* BMFontRasterizer.h in Headers */, + FA0B7E8A1A95902C000E1D17 /* Decoder.h in Headers */, + FA0B7E3E1A95902C000E1D17 /* wrap_Body.h in Headers */, + FA0B7A571A958EA3000E1D17 /* b2Settings.h in Headers */, + FA0B7B321A958EA3000E1D17 /* wuff.h in Headers */, + FA0B7A3D1A958EA3000E1D17 /* b2TimeOfImpact.h in Headers */, + FA0B79261A958E3B000E1D17 /* Exception.h in Headers */, + FA0B7D4D1A95902C000E1D17 /* Shader.h in Headers */, + FA0B793D1A958E3B000E1D17 /* runtime.h in Headers */, + FA0B7A701A958EA3000E1D17 /* b2WorldCallbacks.h in Headers */, + FA0B7A9D1A958EA3000E1D17 /* b2MouseJoint.h in Headers */, + FA0B7CED1A95902C000E1D17 /* Event.h in Headers */, + FA0B7D811A95902C000E1D17 /* Volatile.h in Headers */, + FA0B7B2E1A958EA3000E1D17 /* unchecked.h in Headers */, + FA0B7D081A95902C000E1D17 /* wrap_File.h in Headers */, + FA0B79451A958E3B000E1D17 /* Variant.h in Headers */, + FA0B7D691A95902C000E1D17 /* wrap_ParticleSystem.h in Headers */, + FA0B7E5C1A95902C000E1D17 /* wrap_MotorJoint.h in Headers */, + FA0B7A7C1A958EA3000E1D17 /* b2Contact.h in Headers */, + FA0B7A881A958EA3000E1D17 /* b2PolygonAndCircleContact.h in Headers */, + FA0B7DDE1A95902C000E1D17 /* wrap_BezierCurve.h in Headers */, + FA0B7DED1A95902C000E1D17 /* Cursor.h in Headers */, + FA0B7E501A95902C000E1D17 /* wrap_Fixture.h in Headers */, + FA0B7A491A958EA3000E1D17 /* b2PolygonShape.h in Headers */, + FA0B79281A958E3B000E1D17 /* math.h in Headers */, + FA0B7A9A1A958EA3000E1D17 /* b2MotorJoint.h in Headers */, + FA0B7DCF1A95902C000E1D17 /* wrap_Keyboard.h in Headers */, + FA0B7D6F1A95902C000E1D17 /* wrap_Shader.h in Headers */, + FA0B7EA21A95902C000E1D17 /* Sound.h in Headers */, + FA0B7B331A958EA3000E1D17 /* wuff_config.h in Headers */, + FA0B7CF31A95902C000E1D17 /* DroppedFile.h in Headers */, + FA0B7D3B1A95902C000E1D17 /* Graphics.h in Headers */, + FA0B7E6E1A95902C000E1D17 /* wrap_RevoluteJoint.h in Headers */, + FA0B7AC71A958EA3000E1D17 /* unix.h in Headers */, + FA0B7E8D1A95902C000E1D17 /* FLACDecoder.h in Headers */, + FA0B7A501A958EA3000E1D17 /* b2Draw.h in Headers */, + FA0B7DE71A95902C000E1D17 /* Cursor.h in Headers */, + FA0B7DB61A95902C000E1D17 /* wrap_ImageData.h in Headers */, + FA0B7A971A958EA3000E1D17 /* b2Joint.h in Headers */, + FA0B7A851A958EA3000E1D17 /* b2EdgeAndPolygonContact.h in Headers */, + FA0B7D2D1A95902C000E1D17 /* wrap_Rasterizer.h in Headers */, + FA0B7AB71A958EA3000E1D17 /* ddsparse.h in Headers */, + FA0B7DA11A95902C000E1D17 /* KTXHandler.h in Headers */, + FA0B79311A958E3B000E1D17 /* Module.h in Headers */, + FA0B7D5A1A95902C000E1D17 /* wrap_Canvas.h in Headers */, + FA0B7E4A1A95902C000E1D17 /* wrap_DistanceJoint.h in Headers */, + FA0B7D2E1A95902C000E1D17 /* Color.h in Headers */, + FA0B7A6A1A958EA3000E1D17 /* b2TimeStep.h in Headers */, + FA0B7A281A958EA3000E1D17 /* Box2D.h in Headers */, + FA0B7DE41A95902C000E1D17 /* wrap_RandomGenerator.h in Headers */, + FA0B7E0B1A95902C000E1D17 /* EdgeShape.h in Headers */, + FA0B7EDA1A95902D000E1D17 /* wrap_Timer.h in Headers */, + FA0B7EB11A95902C000E1D17 /* System.h in Headers */, + FA0B7E1A1A95902C000E1D17 /* MotorJoint.h in Headers */, + FA0B7D441A95902C000E1D17 /* OpenGL.h in Headers */, + FA0B7E081A95902C000E1D17 /* DistanceJoint.h in Headers */, + FA0B7E711A95902C000E1D17 /* wrap_RopeJoint.h in Headers */, + FA0B7E411A95902C000E1D17 /* wrap_ChainShape.h in Headers */, + FA0B7E171A95902C000E1D17 /* Joint.h in Headers */, + FA0B793F1A958E3B000E1D17 /* types.h in Headers */, + FA0B7AB31A958EA3000E1D17 /* b2Rope.h in Headers */, + FA0B7D5D1A95902C000E1D17 /* wrap_Font.h in Headers */, + FA0B7ED31A95902C000E1D17 /* wrap_ThreadModule.h in Headers */, + FA0B7A511A958EA3000E1D17 /* b2GrowableStack.h in Headers */, + FA0B7D921A95902C000E1D17 /* FormatHandler.h in Headers */, + FA0B7ADD1A958EA3000E1D17 /* gladfuncs.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + FA0B78DC1A958B90000E1D17 /* liblove-ios */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA0B78EE1A958B90000E1D17 /* Build configuration list for PBXNativeTarget "liblove-ios" */; + buildPhases = ( + FA0B78D91A958B90000E1D17 /* Sources */, + FA0B78DA1A958B90000E1D17 /* Frameworks */, + FA0B78DB1A958B90000E1D17 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "liblove-ios"; + productName = "liblove-ios"; + productReference = FA0B78DD1A958B90000E1D17 /* liblove.a */; + productType = "com.apple.product-type.library.static"; + }; + FA577AAE16C7507900860150 /* liblove-macosx */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA577ABF16C7507900860150 /* Build configuration list for PBXNativeTarget "liblove-macosx" */; + buildPhases = ( + FA577AAA16C7507900860150 /* Sources */, + FA577AAB16C7507900860150 /* Frameworks */, + FA577AAC16C7507900860150 /* Headers */, + FA577AAD16C7507900860150 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "liblove-macosx"; + productName = love; + productReference = FA577AAF16C7507900860150 /* love.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 08FB7793FE84155DC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + TargetAttributes = { + FA0B78DC1A958B90000E1D17 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "liblove" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + en, + ); + mainGroup = 54067CFB7D564E5764FA17DC /* love */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + FA577AAE16C7507900860150 /* liblove-macosx */, + FA0B78DC1A958B90000E1D17 /* liblove-ios */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + FA577AAD16C7507900860150 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FA0B78D91A958B90000E1D17 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA0B7D741A95902C000E1D17 /* wrap_Text.cpp in Sources */, + FA0B7DE01A95902C000E1D17 /* wrap_Math.cpp in Sources */, + FA0B7DA91A95902C000E1D17 /* PVRHandler.cpp in Sources */, + FA0B7EC61A95902C000E1D17 /* ThreadModule.cpp in Sources */, + FA0B7D2C1A95902C000E1D17 /* wrap_Rasterizer.cpp in Sources */, + FA0B7D591A95902C000E1D17 /* wrap_Canvas.cpp in Sources */, + FA0B7E8F1A95902C000E1D17 /* GmeDecoder.cpp in Sources */, + FA0B7CD71A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7AC01A958EA3000E1D17 /* host.c in Sources */, + FA0B7EB01A95902C000E1D17 /* System.cpp in Sources */, + FA0B7EE31A95902D000E1D17 /* Window.cpp in Sources */, + FA0B7AAB1A958EA3000E1D17 /* b2WeldJoint.cpp in Sources */, + FA0B7EC21A95902C000E1D17 /* threads.cpp in Sources */, + FA0B79371A958E3B000E1D17 /* OSX.mm in Sources */, + FA0B7D011A95902C000E1D17 /* Filesystem.cpp in Sources */, + FA0B7ED91A95902D000E1D17 /* wrap_Timer.cpp in Sources */, + FA0B7DD11A95902C000E1D17 /* love.cpp in Sources */, + FA0B7AB61A958EA3000E1D17 /* ddsparse.cpp in Sources */, + FA0B7D221A95902C000E1D17 /* Rasterizer.cpp in Sources */, + FA0B7A4F1A958EA3000E1D17 /* b2Draw.cpp in Sources */, + FA0B7D7D1A95902C000E1D17 /* Texture.cpp in Sources */, + FA0B7ECC1A95902C000E1D17 /* wrap_Channel.cpp in Sources */, + FA0B7E6D1A95902C000E1D17 /* wrap_RevoluteJoint.cpp in Sources */, + FA0B7B0F1A958EA3000E1D17 /* timeout.c in Sources */, + FA0B7A5F1A958EA3000E1D17 /* b2Body.cpp in Sources */, + FA0B7B171A958EA3000E1D17 /* unix.c in Sources */, + FA0B7E641A95902C000E1D17 /* wrap_PolygonShape.cpp in Sources */, + FA0B7E731A95902C000E1D17 /* wrap_Shape.cpp in Sources */, + FA0B7CFE1A95902C000E1D17 /* File.cpp in Sources */, + FA0B7A751A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp in Sources */, + FA0B7E6A1A95902C000E1D17 /* wrap_PulleyJoint.cpp in Sources */, + FA0B7DB81A95902C000E1D17 /* Joystick.cpp in Sources */, + FA0B794B1A958E3B000E1D17 /* wrap_Data.cpp in Sources */, + FA0B7D371A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7E401A95902C000E1D17 /* wrap_ChainShape.cpp in Sources */, + FA0B7DEC1A95902C000E1D17 /* Cursor.cpp in Sources */, + FA0B7D871A95902C000E1D17 /* ImageData.cpp in Sources */, + FA0B7AE21A958EA3000E1D17 /* auxiliar.c in Sources */, + FA0B7E101A95902C000E1D17 /* FrictionJoint.cpp in Sources */, + FA620A361AA2F8DB005DB4C2 /* wrap_Texture.cpp in Sources */, + FA0B7D0A1A95902C000E1D17 /* wrap_FileData.cpp in Sources */, + FA0B7ABE1A958EA3000E1D17 /* compress.c in Sources */, + FA0B7CF21A95902C000E1D17 /* DroppedFile.cpp in Sources */, + FA0B7D8A1A95902C000E1D17 /* CompressedData.cpp in Sources */, + FA0B7AD21A958EA3000E1D17 /* protocol.c in Sources */, + FA0B7D1F1A95902C000E1D17 /* ImageRasterizer.cpp in Sources */, + FA0B7EA41A95902C000E1D17 /* SoundData.cpp in Sources */, + FA0B7D041A95902C000E1D17 /* wrap_DroppedFile.cpp in Sources */, + FA0B7B261A958EA3000E1D17 /* lutf8lib.c in Sources */, + FA0B7D461A95902C000E1D17 /* ParticleSystem.cpp in Sources */, + FA8951A31AA2EDF300EC385A /* wrap_Event.cpp in Sources */, + FA0B7A361A958EA3000E1D17 /* b2Distance.cpp in Sources */, + FA0B7D4C1A95902C000E1D17 /* Shader.cpp in Sources */, + FA0B792A1A958E3B000E1D17 /* Matrix.cpp in Sources */, + FA0B7A8D1A958EA3000E1D17 /* b2DistanceJoint.cpp in Sources */, + FA0B7A841A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp in Sources */, + FA0B7E191A95902C000E1D17 /* MotorJoint.cpp in Sources */, + FA0B7E4F1A95902C000E1D17 /* wrap_Fixture.cpp in Sources */, + FA0B7EBF1A95902C000E1D17 /* Thread.cpp in Sources */, + FA0B7EB91A95902C000E1D17 /* Channel.cpp in Sources */, + FA0B7AFB1A958EA3000E1D17 /* mime.c in Sources */, + FA0B7A3F1A958EA3000E1D17 /* b2ChainShape.cpp in Sources */, + FA0B7E921A95902C000E1D17 /* ModPlugDecoder.cpp in Sources */, + FA0B7E521A95902C000E1D17 /* wrap_FrictionJoint.cpp in Sources */, + FA0B7A311A958EA3000E1D17 /* b2CollidePolygon.cpp in Sources */, + FA0B7A931A958EA3000E1D17 /* b2GearJoint.cpp in Sources */, + FA0B7E0D1A95902C000E1D17 /* Fixture.cpp in Sources */, + FA0B7D191A95902C000E1D17 /* TrueTypeRasterizer.cpp in Sources */, + FA0B7CFB1A95902C000E1D17 /* Filesystem.cpp in Sources */, + FA0B7D3D1A95902C000E1D17 /* Image.cpp in Sources */, + FA0B7B351A958EA3000E1D17 /* wuff_convert.c in Sources */, + FA0B7E431A95902C000E1D17 /* wrap_CircleShape.cpp in Sources */, + FA0B7DE91A95902C000E1D17 /* Mouse.cpp in Sources */, + FA0B7CE61A95902C000E1D17 /* wrap_Source.cpp in Sources */, + FA0B7AA21A958EA3000E1D17 /* b2PulleyJoint.cpp in Sources */, + FA0B7CCE1A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7DCB1A95902C000E1D17 /* Keyboard.cpp in Sources */, + FA0B7A901A958EA3000E1D17 /* b2FrictionJoint.cpp in Sources */, + FA0B7DFB1A95902C000E1D17 /* Body.cpp in Sources */, + FA0B7ED21A95902C000E1D17 /* wrap_ThreadModule.cpp in Sources */, + FA0B7EE01A95902D000E1D17 /* wrap_Touch.cpp in Sources */, + FA0B7A3C1A958EA3000E1D17 /* b2TimeOfImpact.cpp in Sources */, + FA0B7CDD1A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7DC51A95902C000E1D17 /* wrap_JoystickModule.cpp in Sources */, + FA0B7E701A95902C000E1D17 /* wrap_RopeJoint.cpp in Sources */, + FA0B7A7B1A958EA3000E1D17 /* b2Contact.cpp in Sources */, + FA0B7D9D1A95902C000E1D17 /* JPEGHandler.cpp in Sources */, + FA0B7A6F1A958EA3000E1D17 /* b2WorldCallbacks.cpp in Sources */, + FA0B793C1A958E3B000E1D17 /* runtime.cpp in Sources */, + FA0B7DBC1A95902C000E1D17 /* Joystick.cpp in Sources */, + FA0B7DAF1A95902C000E1D17 /* wrap_CompressedData.cpp in Sources */, + FA0B7A481A958EA3000E1D17 /* b2PolygonShape.cpp in Sources */, + FA0B7A991A958EA3000E1D17 /* b2MotorJoint.cpp in Sources */, + FA0B7D681A95902C000E1D17 /* wrap_ParticleSystem.cpp in Sources */, + FA0B7AD51A958EA3000E1D17 /* unix.c in Sources */, + FA0B7B1C1A958EA3000E1D17 /* usocket.c in Sources */, + FA0B7D651A95902C000E1D17 /* wrap_Mesh.cpp in Sources */, + FA0B7A531A958EA3000E1D17 /* b2Math.cpp in Sources */, + FA0B7CDA1A95902C000E1D17 /* Pool.cpp in Sources */, + FA0B7E161A95902C000E1D17 /* Joint.cpp in Sources */, + FA0B7EE91A95902D000E1D17 /* wrap_Window.cpp in Sources */, + FA0B7AB91A958EA3000E1D17 /* enet.cpp in Sources */, + FA0B7E281A95902C000E1D17 /* PulleyJoint.cpp in Sources */, + FA0B7A4C1A958EA3000E1D17 /* b2BlockAllocator.cpp in Sources */, + FA0B7E041A95902C000E1D17 /* Contact.cpp in Sources */, + FA0B7D831A95902C000E1D17 /* CompressedData.cpp in Sources */, + FA0B7B311A958EA3000E1D17 /* wuff.c in Sources */, + FA0B7DF21A95902C000E1D17 /* wrap_Cursor.cpp in Sources */, + FA0B7E011A95902C000E1D17 /* CircleShape.cpp in Sources */, + FA0B7E461A95902C000E1D17 /* wrap_Contact.cpp in Sources */, + FA0B7D401A95902C000E1D17 /* Mesh.cpp in Sources */, + FA0B7D161A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7EB61A95902C000E1D17 /* wrap_System.cpp in Sources */, + FA0B7DAC1A95902C000E1D17 /* STBHandler.cpp in Sources */, + FA0B79301A958E3B000E1D17 /* Module.cpp in Sources */, + FA0B7DDA1A95902C000E1D17 /* RandomGenerator.cpp in Sources */, + FA0B7AF81A958EA3000E1D17 /* luasocket.c in Sources */, + FA0B7D801A95902C000E1D17 /* Volatile.cpp in Sources */, + FA0B792D1A958E3B000E1D17 /* Memoizer.cpp in Sources */, + FA0B7EBC1A95902C000E1D17 /* LuaThread.cpp in Sources */, + FA0B7A871A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp in Sources */, + FA0B7EF21A959D2C000E1D17 /* iOS.mm in Sources */, + FA0B7D3A1A95902C000E1D17 /* Graphics.cpp in Sources */, + FA0B7A2D1A958EA3000E1D17 /* b2CollideCircle.cpp in Sources */, + FA0B7E131A95902C000E1D17 /* GearJoint.cpp in Sources */, + FA0B7DC21A95902C000E1D17 /* wrap_Joystick.cpp in Sources */, + FA0B7CD41A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7AEF1A958EA3000E1D17 /* inet.c in Sources */, + FA0B7CD11A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7D131A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7EC91A95902C000E1D17 /* threads.cpp in Sources */, + FA0B7A781A958EA3000E1D17 /* b2CircleContact.cpp in Sources */, + FA0B7D5F1A95902C000E1D17 /* wrap_Graphics.cpp in Sources */, + FA0B7A9C1A958EA3000E1D17 /* b2MouseJoint.cpp in Sources */, + FA0B7E551A95902C000E1D17 /* wrap_GearJoint.cpp in Sources */, + FA0B7E791A95902C000E1D17 /* wrap_WheelJoint.cpp in Sources */, + FA0B7DDD1A95902C000E1D17 /* wrap_BezierCurve.cpp in Sources */, + FA0B7A2A1A958EA3000E1D17 /* b2BroadPhase.cpp in Sources */, + FA0B7A811A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp in Sources */, + FA0B7D071A95902C000E1D17 /* wrap_File.cpp in Sources */, + FA0B7AD01A958EA3000E1D17 /* peer.c in Sources */, + FA0B791C1A958E3B000E1D17 /* b64.cpp in Sources */, + FA0B7D941A95902C000E1D17 /* Image.cpp in Sources */, + FA0B7DA01A95902C000E1D17 /* KTXHandler.cpp in Sources */, + FA0B7A5C1A958EA3000E1D17 /* b2Timer.cpp in Sources */, + FA0B7CEC1A95902C000E1D17 /* Event.cpp in Sources */, + FA0B7A7E1A958EA3000E1D17 /* b2ContactSolver.cpp in Sources */, + FA0B7D971A95902C000E1D17 /* ImageData.cpp in Sources */, + FA0B7E581A95902C000E1D17 /* wrap_Joint.cpp in Sources */, + FA0B7E311A95902C000E1D17 /* Shape.cpp in Sources */, + FA0B7E491A95902C000E1D17 /* wrap_DistanceJoint.cpp in Sources */, + FA0B7A391A958EA3000E1D17 /* b2DynamicTree.cpp in Sources */, + FA0B7A681A958EA3000E1D17 /* b2Island.cpp in Sources */, + FA0B7E2B1A95902C000E1D17 /* RevoluteJoint.cpp in Sources */, + FA0B7B291A958EA3000E1D17 /* simplexnoise1234.cpp in Sources */, + FA0B7D261A95902C000E1D17 /* wrap_Font.cpp in Sources */, + FA0B7E0A1A95902C000E1D17 /* EdgeShape.cpp in Sources */, + FA0B7CF81A95902C000E1D17 /* FileData.cpp in Sources */, + FA0B7DA61A95902C000E1D17 /* PNGHandler.cpp in Sources */, + FA0B7B041A958EA3000E1D17 /* select.c in Sources */, + FA0B7E981A95902C000E1D17 /* Sound.cpp in Sources */, + FA0B7E371A95902C000E1D17 /* WheelJoint.cpp in Sources */, + FA0B7A8A1A958EA3000E1D17 /* b2PolygonContact.cpp in Sources */, + FA0B7D8E1A95902C000E1D17 /* ddsHandler.cpp in Sources */, + FA0B7DFE1A95902C000E1D17 /* ChainShape.cpp in Sources */, + FA0B7A451A958EA3000E1D17 /* b2EdgeShape.cpp in Sources */, + FA0B7D621A95902C000E1D17 /* wrap_Image.cpp in Sources */, + FA0B7ABB1A958EA3000E1D17 /* callbacks.c in Sources */, + FA0B7A721A958EA3000E1D17 /* b2ChainAndCircleContact.cpp in Sources */, + FA0B7EAA1A95902C000E1D17 /* wrap_Sound.cpp in Sources */, + FA0B79391A958E3B000E1D17 /* Reference.cpp in Sources */, + FA620A331AA2F8DB005DB4C2 /* wrap_Quad.cpp in Sources */, + FA0B7E071A95902C000E1D17 /* DistanceJoint.cpp in Sources */, + FA0B7A331A958EA3000E1D17 /* b2Collision.cpp in Sources */, + FA0B7D9A1A95902C000E1D17 /* ImageIOHandler.cpp in Sources */, + FA0B7E5E1A95902C000E1D17 /* wrap_MouseJoint.cpp in Sources */, + FA0B7B3B1A958EA3000E1D17 /* wuff_memory.c in Sources */, + FA0B79411A958E3B000E1D17 /* utf8.cpp in Sources */, + FA0B7ADF1A958EA3000E1D17 /* lodepng.cpp in Sources */, + FA0B7D711A95902C000E1D17 /* wrap_SpriteBatch.cpp in Sources */, + FA0B7D341A95902C000E1D17 /* Canvas.cpp in Sources */, + FA0B7E8C1A95902C000E1D17 /* FLACDecoder.cpp in Sources */, + FA0B7A421A958EA3000E1D17 /* b2CircleShape.cpp in Sources */, + FA0B7B141A958EA3000E1D17 /* udp.c in Sources */, + FA0B7D491A95902C000E1D17 /* Polyline.cpp in Sources */, + FA0B7CE31A95902C000E1D17 /* wrap_Audio.cpp in Sources */, + FA0B7B381A958EA3000E1D17 /* wuff_internal.c in Sources */, + FA0B7DF81A95902C000E1D17 /* Body.cpp in Sources */, + FA0B7DF51A95902C000E1D17 /* wrap_Mouse.cpp in Sources */, + FA0B7D6E1A95902C000E1D17 /* wrap_Shader.cpp in Sources */, + FA0B7E861A95902C000E1D17 /* CoreAudioDecoder.cpp in Sources */, + FA0B7E761A95902C000E1D17 /* wrap_WeldJoint.cpp in Sources */, + FA0B7D561A95902C000E1D17 /* VertexBuffer.cpp in Sources */, + FA0B7A6C1A958EA3000E1D17 /* b2World.cpp in Sources */, + FA0B7E221A95902C000E1D17 /* PolygonShape.cpp in Sources */, + FA0B7A651A958EA3000E1D17 /* b2Fixture.cpp in Sources */, + FA0B7D521A95902C000E1D17 /* Text.cpp in Sources */, + FA0B7DA31A95902C000E1D17 /* PKMHandler.cpp in Sources */, + FA0B7AB21A958EA3000E1D17 /* b2Rope.cpp in Sources */, + FA0B7EA71A95902C000E1D17 /* wrap_Decoder.cpp in Sources */, + FA0B7E1C1A95902C000E1D17 /* MouseJoint.cpp in Sources */, + FA0B7CF51A95902C000E1D17 /* File.cpp in Sources */, + FA0B7E341A95902C000E1D17 /* WeldJoint.cpp in Sources */, + FA0B7D5C1A95902C000E1D17 /* wrap_Font.cpp in Sources */, + FA0B7B221A958EA3000E1D17 /* luasocket.cpp in Sources */, + FA0B7D311A95902C000E1D17 /* Graphics.cpp in Sources */, + FA0B7E9E1A95902C000E1D17 /* WaveDecoder.cpp in Sources */, + FA0B7EB31A95902C000E1D17 /* System.cpp in Sources */, + FA0B7D1C1A95902C000E1D17 /* GlyphData.cpp in Sources */, + FA0B7AAE1A958EA3000E1D17 /* b2WheelJoint.cpp in Sources */, + FA0B7E671A95902C000E1D17 /* wrap_PrismaticJoint.cpp in Sources */, + FA0B7DCE1A95902C000E1D17 /* wrap_Keyboard.cpp in Sources */, + FA0B7EE61A95902D000E1D17 /* Window.cpp in Sources */, + FA0B7E3A1A95902C000E1D17 /* World.cpp in Sources */, + FA0B79471A958E3B000E1D17 /* Vector.cpp in Sources */, + FA0B7B001A958EA3000E1D17 /* options.c in Sources */, + FA0B7E7F1A95902C000E1D17 /* Joint.cpp in Sources */, + FA0B7AE81A958EA3000E1D17 /* except.c in Sources */, + FA0B7DB21A95902C000E1D17 /* wrap_Image.cpp in Sources */, + FA0B7E891A95902C000E1D17 /* Decoder.cpp in Sources */, + FA0B7A591A958EA3000E1D17 /* b2StackAllocator.cpp in Sources */, + FA0B7E3D1A95902C000E1D17 /* wrap_Body.cpp in Sources */, + FA0B7D7A1A95902C000E1D17 /* Quad.cpp in Sources */, + FA620A3B1AA305F6005DB4C2 /* types.cpp in Sources */, + FA0B7DD41A95902C000E1D17 /* BezierCurve.cpp in Sources */, + FA0B7E7C1A95902C000E1D17 /* wrap_World.cpp in Sources */, + FA0B7B0C1A958EA3000E1D17 /* tcp.c in Sources */, + FA0B7D911A95902C000E1D17 /* FormatHandler.cpp in Sources */, + FA0B7D431A95902C000E1D17 /* OpenGL.cpp in Sources */, + FA0B7AF21A958EA3000E1D17 /* io.c in Sources */, + FA0B7DBF1A95902C000E1D17 /* JoystickModule.cpp in Sources */, + FA0B7D4F1A95902C000E1D17 /* SpriteBatch.cpp in Sources */, + FA0B7A9F1A958EA3000E1D17 /* b2PrismaticJoint.cpp in Sources */, + FA0B79331A958E3B000E1D17 /* Object.cpp in Sources */, + FA0B7E5B1A95902C000E1D17 /* wrap_MotorJoint.cpp in Sources */, + FA0B79441A958E3B000E1D17 /* Variant.cpp in Sources */, + FA0B7DD71A95902C000E1D17 /* MathModule.cpp in Sources */, + FA0B7D101A95902C000E1D17 /* BMFontRasterizer.cpp in Sources */, + FA0B7E9B1A95902C000E1D17 /* VorbisDecoder.cpp in Sources */, + FA0B7E4C1A95902C000E1D17 /* wrap_EdgeShape.cpp in Sources */, + FA0B7E251A95902C000E1D17 /* PrismaticJoint.cpp in Sources */, + FA0B7A561A958EA3000E1D17 /* b2Settings.cpp in Sources */, + FA0B7E611A95902C000E1D17 /* wrap_Physics.cpp in Sources */, + FA0B7DC81A95902C000E1D17 /* Keyboard.cpp in Sources */, + FA0B7EAD1A95902C000E1D17 /* wrap_SoundData.cpp in Sources */, + FA0B7E2E1A95902C000E1D17 /* RopeJoint.cpp in Sources */, + FA0B7CE01A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7ECF1A95902C000E1D17 /* wrap_LuaThread.cpp in Sources */, + FA0B7AA51A958EA3000E1D17 /* b2RevoluteJoint.cpp in Sources */, + FA0B7EA11A95902C000E1D17 /* Sound.cpp in Sources */, + FA0B7DE61A95902C000E1D17 /* Cursor.cpp in Sources */, + FA0B7EDC1A95902D000E1D17 /* Touch.cpp in Sources */, + FA0B7CE91A95902C000E1D17 /* Event.cpp in Sources */, + FA0B7A961A958EA3000E1D17 /* b2Joint.cpp in Sources */, + FA0B7A621A958EA3000E1D17 /* b2ContactManager.cpp in Sources */, + FA0B7A2F1A958EA3000E1D17 /* b2CollideEdge.cpp in Sources */, + FA0B7ADA1A958EA3000E1D17 /* glad.cpp in Sources */, + FA0B7E1F1A95902C000E1D17 /* Physics.cpp in Sources */, + FA0B7E821A95902C000E1D17 /* Shape.cpp in Sources */, + FA0B7ACE1A958EA3000E1D17 /* packet.c in Sources */, + FA0B7ED51A95902D000E1D17 /* Timer.cpp in Sources */, + FA0B7AA81A958EA3000E1D17 /* b2RopeJoint.cpp in Sources */, + FA0B7ACC1A958EA3000E1D17 /* list.c in Sources */, + FA0B7DEF1A95902C000E1D17 /* Mouse.cpp in Sources */, + FA0B79251A958E3B000E1D17 /* Exception.cpp in Sources */, + FA0B7D291A95902C000E1D17 /* wrap_GlyphData.cpp in Sources */, + FA0B7DE31A95902C000E1D17 /* wrap_RandomGenerator.cpp in Sources */, + FA0B7AD71A958EA3000E1D17 /* win32.c in Sources */, + FA0B7AE51A958EA3000E1D17 /* buffer.c in Sources */, + FA0B7D0D1A95902C000E1D17 /* wrap_Filesystem.cpp in Sources */, + FA0B79211A958E3B000E1D17 /* delay.cpp in Sources */, + FA0B7DB51A95902C000E1D17 /* wrap_ImageData.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA577AAA16C7507900860150 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA0B7D731A95902C000E1D17 /* wrap_Text.cpp in Sources */, + FA0B7DDF1A95902C000E1D17 /* wrap_Math.cpp in Sources */, + FA0B7DA81A95902C000E1D17 /* PVRHandler.cpp in Sources */, + FA0B7EC51A95902C000E1D17 /* ThreadModule.cpp in Sources */, + FA0B7D2B1A95902C000E1D17 /* wrap_Rasterizer.cpp in Sources */, + FA0B7D581A95902C000E1D17 /* wrap_Canvas.cpp in Sources */, + FA0B7E8E1A95902C000E1D17 /* GmeDecoder.cpp in Sources */, + FA0B7CD61A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7A9E1A958EA3000E1D17 /* b2PrismaticJoint.cpp in Sources */, + FA0B7EAF1A95902C000E1D17 /* System.cpp in Sources */, + FA0B7EE21A95902D000E1D17 /* Window.cpp in Sources */, + FA0B791B1A958E3B000E1D17 /* b64.cpp in Sources */, + FA0B7EC11A95902C000E1D17 /* threads.cpp in Sources */, + FA0B79321A958E3B000E1D17 /* Object.cpp in Sources */, + FA0B7D001A95902C000E1D17 /* Filesystem.cpp in Sources */, + FA0B7ED81A95902D000E1D17 /* wrap_Timer.cpp in Sources */, + FA0B7DD01A95902C000E1D17 /* love.cpp in Sources */, + FA0B7A521A958EA3000E1D17 /* b2Math.cpp in Sources */, + FA0B7D211A95902C000E1D17 /* Rasterizer.cpp in Sources */, + FA0B7B131A958EA3000E1D17 /* udp.c in Sources */, + FA0B7D7C1A95902C000E1D17 /* Texture.cpp in Sources */, + FA0B7ECB1A95902C000E1D17 /* wrap_Channel.cpp in Sources */, + FA0B7E6C1A95902C000E1D17 /* wrap_RevoluteJoint.cpp in Sources */, + FA0B7AFA1A958EA3000E1D17 /* mime.c in Sources */, + FA0B7A5E1A958EA3000E1D17 /* b2Body.cpp in Sources */, + FA0B7B0E1A958EA3000E1D17 /* timeout.c in Sources */, + FA0B7E631A95902C000E1D17 /* wrap_PolygonShape.cpp in Sources */, + FA0B7E721A95902C000E1D17 /* wrap_Shape.cpp in Sources */, + FA0B7CFD1A95902C000E1D17 /* File.cpp in Sources */, + FA0B7A2E1A958EA3000E1D17 /* b2CollideEdge.cpp in Sources */, + FA0B7E691A95902C000E1D17 /* wrap_PulleyJoint.cpp in Sources */, + FA0B7DB71A95902C000E1D17 /* Joystick.cpp in Sources */, + FA0B7A321A958EA3000E1D17 /* b2Collision.cpp in Sources */, + FA0B7D361A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7E3F1A95902C000E1D17 /* wrap_ChainShape.cpp in Sources */, + FA0B7DEB1A95902C000E1D17 /* Cursor.cpp in Sources */, + FA0B7D861A95902C000E1D17 /* ImageData.cpp in Sources */, + FA0B7A3E1A958EA3000E1D17 /* b2ChainShape.cpp in Sources */, + FA0B7E0F1A95902C000E1D17 /* FrictionJoint.cpp in Sources */, + FA620A351AA2F8DB005DB4C2 /* wrap_Texture.cpp in Sources */, + FA0B7D091A95902C000E1D17 /* wrap_FileData.cpp in Sources */, + FA0B7B341A958EA3000E1D17 /* wuff_convert.c in Sources */, + FA0B7CF11A95902C000E1D17 /* DroppedFile.cpp in Sources */, + FA0B7D891A95902C000E1D17 /* CompressedData.cpp in Sources */, + FA0B7B031A958EA3000E1D17 /* select.c in Sources */, + FA0B7D1E1A95902C000E1D17 /* ImageRasterizer.cpp in Sources */, + FA0B7EA31A95902C000E1D17 /* SoundData.cpp in Sources */, + FA0B7D031A95902C000E1D17 /* wrap_DroppedFile.cpp in Sources */, + FA0B79291A958E3B000E1D17 /* Matrix.cpp in Sources */, + FA0B7D451A95902C000E1D17 /* ParticleSystem.cpp in Sources */, + FA8951A21AA2EDF300EC385A /* wrap_Event.cpp in Sources */, + FA0B7ABF1A958EA3000E1D17 /* host.c in Sources */, + FA0B7D4B1A95902C000E1D17 /* Shader.cpp in Sources */, + FA0B7A581A958EA3000E1D17 /* b2StackAllocator.cpp in Sources */, + FA0B7A301A958EA3000E1D17 /* b2CollidePolygon.cpp in Sources */, + FA0B7A641A958EA3000E1D17 /* b2Fixture.cpp in Sources */, + FA0B7E181A95902C000E1D17 /* MotorJoint.cpp in Sources */, + FA0B7E4E1A95902C000E1D17 /* wrap_Fixture.cpp in Sources */, + FA0B7EBE1A95902C000E1D17 /* Thread.cpp in Sources */, + FA0B7EB81A95902C000E1D17 /* Channel.cpp in Sources */, + FA0B7AB11A958EA3000E1D17 /* b2Rope.cpp in Sources */, + FA0B7A351A958EA3000E1D17 /* b2Distance.cpp in Sources */, + FA0B7E911A95902C000E1D17 /* ModPlugDecoder.cpp in Sources */, + FA0B7E511A95902C000E1D17 /* wrap_FrictionJoint.cpp in Sources */, + FA0B7AD61A958EA3000E1D17 /* win32.c in Sources */, + FA0B7B161A958EA3000E1D17 /* unix.c in Sources */, + FA0B7E0C1A95902C000E1D17 /* Fixture.cpp in Sources */, + FA0B7D181A95902C000E1D17 /* TrueTypeRasterizer.cpp in Sources */, + FA0B7CFA1A95902C000E1D17 /* Filesystem.cpp in Sources */, + FA0B7D3C1A95902C000E1D17 /* Image.cpp in Sources */, + FA0B7A8C1A958EA3000E1D17 /* b2DistanceJoint.cpp in Sources */, + FA0B7E421A95902C000E1D17 /* wrap_CircleShape.cpp in Sources */, + FA0B7DE81A95902C000E1D17 /* Mouse.cpp in Sources */, + FA0B7CE51A95902C000E1D17 /* wrap_Source.cpp in Sources */, + FA0B792C1A958E3B000E1D17 /* Memoizer.cpp in Sources */, + FA0B7CCD1A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7DCA1A95902C000E1D17 /* Keyboard.cpp in Sources */, + FA0B7AA41A958EA3000E1D17 /* b2RevoluteJoint.cpp in Sources */, + FA0B7DFA1A95902C000E1D17 /* Body.cpp in Sources */, + FA0B7ED11A95902C000E1D17 /* wrap_ThreadModule.cpp in Sources */, + FA0B7EDF1A95902D000E1D17 /* wrap_Touch.cpp in Sources */, + FA0B794A1A958E3B000E1D17 /* wrap_Data.cpp in Sources */, + FA0B7CDC1A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7DC41A95902C000E1D17 /* wrap_JoystickModule.cpp in Sources */, + FA0B7E6F1A95902C000E1D17 /* wrap_RopeJoint.cpp in Sources */, + FA0B7AB51A958EA3000E1D17 /* ddsparse.cpp in Sources */, + FA0B7D9C1A95902C000E1D17 /* JPEGHandler.cpp in Sources */, + FA0B7A441A958EA3000E1D17 /* b2EdgeShape.cpp in Sources */, + FA0B79461A958E3B000E1D17 /* Vector.cpp in Sources */, + FA0B7DBB1A95902C000E1D17 /* Joystick.cpp in Sources */, + FA0B7DAE1A95902C000E1D17 /* wrap_CompressedData.cpp in Sources */, + FA0B7A6E1A958EA3000E1D17 /* b2WorldCallbacks.cpp in Sources */, + FA0B7A831A958EA3000E1D17 /* b2EdgeAndPolygonContact.cpp in Sources */, + FA0B7D671A95902C000E1D17 /* wrap_ParticleSystem.cpp in Sources */, + FA0B7AA11A958EA3000E1D17 /* b2PulleyJoint.cpp in Sources */, + FA0B7B211A958EA3000E1D17 /* luasocket.cpp in Sources */, + FA0B7D641A95902C000E1D17 /* wrap_Mesh.cpp in Sources */, + FA0B7A5B1A958EA3000E1D17 /* b2Timer.cpp in Sources */, + FA0B7CD91A95902C000E1D17 /* Pool.cpp in Sources */, + FA0B7E151A95902C000E1D17 /* Joint.cpp in Sources */, + FA0B7EE81A95902D000E1D17 /* wrap_Window.cpp in Sources */, + FA0B7AF11A958EA3000E1D17 /* io.c in Sources */, + FA0B7E271A95902C000E1D17 /* PulleyJoint.cpp in Sources */, + FA0B7B301A958EA3000E1D17 /* wuff.c in Sources */, + FA0B7E031A95902C000E1D17 /* Contact.cpp in Sources */, + FA0B7D821A95902C000E1D17 /* CompressedData.cpp in Sources */, + FA0B7A7A1A958EA3000E1D17 /* b2Contact.cpp in Sources */, + FA0B7DF11A95902C000E1D17 /* wrap_Cursor.cpp in Sources */, + FA0B7E001A95902C000E1D17 /* CircleShape.cpp in Sources */, + FA0B7E451A95902C000E1D17 /* wrap_Contact.cpp in Sources */, + FA0B7D3F1A95902C000E1D17 /* Mesh.cpp in Sources */, + FA0B7D151A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7EB51A95902C000E1D17 /* wrap_System.cpp in Sources */, + FA0B7DAB1A95902C000E1D17 /* STBHandler.cpp in Sources */, + FA0B7AB81A958EA3000E1D17 /* enet.cpp in Sources */, + FA0B7DD91A95902C000E1D17 /* RandomGenerator.cpp in Sources */, + FA0B7A9B1A958EA3000E1D17 /* b2MouseJoint.cpp in Sources */, + FA0B7D7F1A95902C000E1D17 /* Volatile.cpp in Sources */, + FA0B7A3B1A958EA3000E1D17 /* b2TimeOfImpact.cpp in Sources */, + FA0B7EBB1A95902C000E1D17 /* LuaThread.cpp in Sources */, + FA0B79381A958E3B000E1D17 /* Reference.cpp in Sources */, + FA0B7D391A95902C000E1D17 /* Graphics.cpp in Sources */, + FA0B79361A958E3B000E1D17 /* OSX.mm in Sources */, + FA0B7E121A95902C000E1D17 /* GearJoint.cpp in Sources */, + FA0B7DC11A95902C000E1D17 /* wrap_Joystick.cpp in Sources */, + FA0B7CD31A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7A411A958EA3000E1D17 /* b2CircleShape.cpp in Sources */, + FA0B7CD01A95902C000E1D17 /* Audio.cpp in Sources */, + FA0B7D121A95902C000E1D17 /* Font.cpp in Sources */, + FA0B7EC81A95902C000E1D17 /* threads.cpp in Sources */, + FA0B7A6B1A958EA3000E1D17 /* b2World.cpp in Sources */, + FA0B7D5E1A95902C000E1D17 /* wrap_Graphics.cpp in Sources */, + FA0B7A801A958EA3000E1D17 /* b2EdgeAndCircleContact.cpp in Sources */, + FA0B7E541A95902C000E1D17 /* wrap_GearJoint.cpp in Sources */, + FA0B7E781A95902C000E1D17 /* wrap_WheelJoint.cpp in Sources */, + FA0B7DDC1A95902C000E1D17 /* wrap_BezierCurve.cpp in Sources */, + FA0B7AF71A958EA3000E1D17 /* luasocket.c in Sources */, + FA0B7A951A958EA3000E1D17 /* b2Joint.cpp in Sources */, + FA0B7D061A95902C000E1D17 /* wrap_File.cpp in Sources */, + FA0B7A4E1A958EA3000E1D17 /* b2Draw.cpp in Sources */, + FA0B7AEE1A958EA3000E1D17 /* inet.c in Sources */, + FA0B7D931A95902C000E1D17 /* Image.cpp in Sources */, + FA0B7D9F1A95902C000E1D17 /* KTXHandler.cpp in Sources */, + FA0B7A2C1A958EA3000E1D17 /* b2CollideCircle.cpp in Sources */, + FA0B7CEB1A95902C000E1D17 /* Event.cpp in Sources */, + FA0B7B0B1A958EA3000E1D17 /* tcp.c in Sources */, + FA0B7D961A95902C000E1D17 /* ImageData.cpp in Sources */, + FA0B7E571A95902C000E1D17 /* wrap_Joint.cpp in Sources */, + FA0B7E301A95902C000E1D17 /* Shape.cpp in Sources */, + FA0B7E481A95902C000E1D17 /* wrap_DistanceJoint.cpp in Sources */, + FA0B7A8F1A958EA3000E1D17 /* b2FrictionJoint.cpp in Sources */, + FA0B792F1A958E3B000E1D17 /* Module.cpp in Sources */, + FA0B7E2A1A95902C000E1D17 /* RevoluteJoint.cpp in Sources */, + FA0B7A711A958EA3000E1D17 /* b2ChainAndCircleContact.cpp in Sources */, + FA0B7D251A95902C000E1D17 /* wrap_Font.cpp in Sources */, + FA0B7E091A95902C000E1D17 /* EdgeShape.cpp in Sources */, + FA0B7CF71A95902C000E1D17 /* FileData.cpp in Sources */, + FA0B7DA51A95902C000E1D17 /* PNGHandler.cpp in Sources */, + FA0B7B371A958EA3000E1D17 /* wuff_internal.c in Sources */, + FA0B7E971A95902C000E1D17 /* Sound.cpp in Sources */, + FA0B7E361A95902C000E1D17 /* WheelJoint.cpp in Sources */, + FA0B7A471A958EA3000E1D17 /* b2PolygonShape.cpp in Sources */, + FA0B7D8D1A95902C000E1D17 /* ddsHandler.cpp in Sources */, + FA0B7DFD1A95902C000E1D17 /* ChainShape.cpp in Sources */, + FA0B79201A958E3B000E1D17 /* delay.cpp in Sources */, + FA0B7D611A95902C000E1D17 /* wrap_Image.cpp in Sources */, + FA0B7A4B1A958EA3000E1D17 /* b2BlockAllocator.cpp in Sources */, + FA0B7A551A958EA3000E1D17 /* b2Settings.cpp in Sources */, + FA0B7EA91A95902C000E1D17 /* wrap_Sound.cpp in Sources */, + FA0B7A981A958EA3000E1D17 /* b2MotorJoint.cpp in Sources */, + FA0B7E061A95902C000E1D17 /* DistanceJoint.cpp in Sources */, + FA620A321AA2F8DB005DB4C2 /* wrap_Quad.cpp in Sources */, + FA0B793B1A958E3B000E1D17 /* runtime.cpp in Sources */, + FA0B7D991A95902C000E1D17 /* ImageIOHandler.cpp in Sources */, + FA0B7E5D1A95902C000E1D17 /* wrap_MouseJoint.cpp in Sources */, + FA0B7A741A958EA3000E1D17 /* b2ChainAndPolygonContact.cpp in Sources */, + FA0B7AD41A958EA3000E1D17 /* unix.c in Sources */, + FA0B7A771A958EA3000E1D17 /* b2CircleContact.cpp in Sources */, + FA0B7D701A95902C000E1D17 /* wrap_SpriteBatch.cpp in Sources */, + FA0B7D331A95902C000E1D17 /* Canvas.cpp in Sources */, + FA0B7E941A95902C000E1D17 /* Mpg123Decoder.cpp in Sources */, + FA0B7E8B1A95902C000E1D17 /* FLACDecoder.cpp in Sources */, + FA0B7B3A1A958EA3000E1D17 /* wuff_memory.c in Sources */, + FA0B7A381A958EA3000E1D17 /* b2DynamicTree.cpp in Sources */, + FA0B7D481A95902C000E1D17 /* Polyline.cpp in Sources */, + FA0B7CE21A95902C000E1D17 /* wrap_Audio.cpp in Sources */, + FA0B7AAA1A958EA3000E1D17 /* b2WeldJoint.cpp in Sources */, + FA0B7DF71A95902C000E1D17 /* Body.cpp in Sources */, + FA0B7DF41A95902C000E1D17 /* wrap_Mouse.cpp in Sources */, + FA0B7D6D1A95902C000E1D17 /* wrap_Shader.cpp in Sources */, + FA0B7E851A95902C000E1D17 /* CoreAudioDecoder.cpp in Sources */, + FA0B7E751A95902C000E1D17 /* wrap_WeldJoint.cpp in Sources */, + FA0B7D551A95902C000E1D17 /* VertexBuffer.cpp in Sources */, + FA0B7AFF1A958EA3000E1D17 /* options.c in Sources */, + FA0B7E211A95902C000E1D17 /* PolygonShape.cpp in Sources */, + FA0B7AE41A958EA3000E1D17 /* buffer.c in Sources */, + FA0B7D511A95902C000E1D17 /* Text.cpp in Sources */, + FA0B7DA21A95902C000E1D17 /* PKMHandler.cpp in Sources */, + FA0B7ABA1A958EA3000E1D17 /* callbacks.c in Sources */, + FA0B7EA61A95902C000E1D17 /* wrap_Decoder.cpp in Sources */, + FA0B7E1B1A95902C000E1D17 /* MouseJoint.cpp in Sources */, + FA0B7CF41A95902C000E1D17 /* File.cpp in Sources */, + FA0B7E331A95902C000E1D17 /* WeldJoint.cpp in Sources */, + FA0B7D5B1A95902C000E1D17 /* wrap_Font.cpp in Sources */, + FA0B7AE71A958EA3000E1D17 /* except.c in Sources */, + FA0B7D301A95902C000E1D17 /* Graphics.cpp in Sources */, + FA0B7E9D1A95902C000E1D17 /* WaveDecoder.cpp in Sources */, + FA0B7EB21A95902C000E1D17 /* System.cpp in Sources */, + FA0B7D1B1A95902C000E1D17 /* GlyphData.cpp in Sources */, + FA0B7AD11A958EA3000E1D17 /* protocol.c in Sources */, + FA0B7E661A95902C000E1D17 /* wrap_PrismaticJoint.cpp in Sources */, + FA0B7DCD1A95902C000E1D17 /* wrap_Keyboard.cpp in Sources */, + FA0B7EE51A95902D000E1D17 /* Window.cpp in Sources */, + FA0B7E391A95902C000E1D17 /* World.cpp in Sources */, + FA0B7ABD1A958EA3000E1D17 /* compress.c in Sources */, + FA0B7ACB1A958EA3000E1D17 /* list.c in Sources */, + FA0B7E7E1A95902C000E1D17 /* Joint.cpp in Sources */, + FA0B7A861A958EA3000E1D17 /* b2PolygonAndCircleContact.cpp in Sources */, + FA0B7DB11A95902C000E1D17 /* wrap_Image.cpp in Sources */, + FA0B7E881A95902C000E1D17 /* Decoder.cpp in Sources */, + FA0B7B1B1A958EA3000E1D17 /* usocket.c in Sources */, + FA0B7E3C1A95902C000E1D17 /* wrap_Body.cpp in Sources */, + FA0B7D791A95902C000E1D17 /* Quad.cpp in Sources */, + FA620A3A1AA305F6005DB4C2 /* types.cpp in Sources */, + FA0B7DD31A95902C000E1D17 /* BezierCurve.cpp in Sources */, + FA0B7E7B1A95902C000E1D17 /* wrap_World.cpp in Sources */, + FA0B7B281A958EA3000E1D17 /* simplexnoise1234.cpp in Sources */, + FA0B7D901A95902C000E1D17 /* FormatHandler.cpp in Sources */, + FA0B7D421A95902C000E1D17 /* OpenGL.cpp in Sources */, + FA0B7A671A958EA3000E1D17 /* b2Island.cpp in Sources */, + FA0B7DBE1A95902C000E1D17 /* JoystickModule.cpp in Sources */, + FA0B7D4E1A95902C000E1D17 /* SpriteBatch.cpp in Sources */, + FA0B7ACD1A958EA3000E1D17 /* packet.c in Sources */, + FA0B7A921A958EA3000E1D17 /* b2GearJoint.cpp in Sources */, + FA0B7E5A1A95902C000E1D17 /* wrap_MotorJoint.cpp in Sources */, + FA0B7AA71A958EA3000E1D17 /* b2RopeJoint.cpp in Sources */, + FA0B7DD61A95902C000E1D17 /* MathModule.cpp in Sources */, + FA0B7D0F1A95902C000E1D17 /* BMFontRasterizer.cpp in Sources */, + FA0B7E9A1A95902C000E1D17 /* VorbisDecoder.cpp in Sources */, + FA0B7E4B1A95902C000E1D17 /* wrap_EdgeShape.cpp in Sources */, + FA0B7E241A95902C000E1D17 /* PrismaticJoint.cpp in Sources */, + FA0B7A7D1A958EA3000E1D17 /* b2ContactSolver.cpp in Sources */, + FA0B7E601A95902C000E1D17 /* wrap_Physics.cpp in Sources */, + FA0B7DC71A95902C000E1D17 /* Keyboard.cpp in Sources */, + FA0B7EAC1A95902C000E1D17 /* wrap_SoundData.cpp in Sources */, + FA0B7E2D1A95902C000E1D17 /* RopeJoint.cpp in Sources */, + FA0B7CDF1A95902C000E1D17 /* Source.cpp in Sources */, + FA0B7ECE1A95902C000E1D17 /* wrap_LuaThread.cpp in Sources */, + FA0B79431A958E3B000E1D17 /* Variant.cpp in Sources */, + FA0B7EA01A95902C000E1D17 /* Sound.cpp in Sources */, + FA0B7DE51A95902C000E1D17 /* Cursor.cpp in Sources */, + FA0B7EDB1A95902D000E1D17 /* Touch.cpp in Sources */, + FA0B7CE81A95902C000E1D17 /* Event.cpp in Sources */, + FA0B7ACF1A958EA3000E1D17 /* peer.c in Sources */, + FA0B7ADE1A958EA3000E1D17 /* lodepng.cpp in Sources */, + FA0B7A291A958EA3000E1D17 /* b2BroadPhase.cpp in Sources */, + FA0B7A891A958EA3000E1D17 /* b2PolygonContact.cpp in Sources */, + FA0B7E1E1A95902C000E1D17 /* Physics.cpp in Sources */, + FA0B7E811A95902C000E1D17 /* Shape.cpp in Sources */, + FA0B7B251A958EA3000E1D17 /* lutf8lib.c in Sources */, + FA0B7ED41A95902D000E1D17 /* Timer.cpp in Sources */, + FA0B7A611A958EA3000E1D17 /* b2ContactManager.cpp in Sources */, + FA0B7AAD1A958EA3000E1D17 /* b2WheelJoint.cpp in Sources */, + FA0B7DEE1A95902C000E1D17 /* Mouse.cpp in Sources */, + FA0B7AE11A958EA3000E1D17 /* auxiliar.c in Sources */, + FA0B7D281A95902C000E1D17 /* wrap_GlyphData.cpp in Sources */, + FA0B7DE21A95902C000E1D17 /* wrap_RandomGenerator.cpp in Sources */, + FA0B79401A958E3B000E1D17 /* utf8.cpp in Sources */, + FA0B79241A958E3B000E1D17 /* Exception.cpp in Sources */, + FA0B7D0C1A95902C000E1D17 /* wrap_Filesystem.cpp in Sources */, + FA0B7AD91A958EA3000E1D17 /* glad.cpp in Sources */, + FA0B7DB41A95902C000E1D17 /* wrap_ImageData.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 10D5479E63C26BB35EB5482E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_PARAMETER = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", + ); + LD_RUNPATH_SEARCH_PATHS = "@rpath"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = NO; + SDKROOT = macosx; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wall"; + }; + name = Release; + }; + 64274E785071353E1A1D0D4B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + LOVE_APPLE_USE_FRAMEWORKS, + "DEBUG=1", + ); + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_PARAMETER = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", + ); + LD_RUNPATH_SEARCH_PATHS = "@rpath"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wall"; + }; + name = Debug; + }; + FA0B78EF1A958B90000E1D17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + LOVE_SUPPORT_IMAGEIO, + LOVE_SUPPORT_COREAUDIO, + LOVE_NO_TURBOJPEG, + LOVE_NO_MODPLUG, + LOVE_NOMPG123, + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/freetype, + ios/include/SDL2, + ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/ios/libraries/freetype", + "$(PROJECT_DIR)/ios/libraries/libjpeg-turbo", + "$(PROJECT_DIR)/ios/libraries/lua", + "$(PROJECT_DIR)/ios/libraries/ogg", + "$(PROJECT_DIR)/ios/libraries/physfs", + "$(PROJECT_DIR)/ios/libraries/vorbis", + "$(PROJECT_DIR)/ios/libraries/SDL2", + ); + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FA0B78F01A958B90000E1D17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + LOVE_SUPPORT_IMAGEIO, + LOVE_SUPPORT_COREAUDIO, + LOVE_NO_TURBOJPEG, + LOVE_NO_MODPLUG, + LOVE_NOMPG123, + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/freetype, + ios/include/SDL2, + ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/ios/libraries/freetype", + "$(PROJECT_DIR)/ios/libraries/libjpeg-turbo", + "$(PROJECT_DIR)/ios/libraries/lua", + "$(PROJECT_DIR)/ios/libraries/ogg", + "$(PROJECT_DIR)/ios/libraries/physfs", + "$(PROJECT_DIR)/ios/libraries/vorbis", + "$(PROJECT_DIR)/ios/libraries/SDL2", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FA0B78F11A958B90000E1D17 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + LOVE_SUPPORT_IMAGEIO, + LOVE_SUPPORT_COREAUDIO, + LOVE_NO_TURBOJPEG, + LOVE_NO_MODPLUG, + LOVE_NOMPG123, + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/freetype, + ios/include/SDL2, + ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/ios/libraries/freetype", + "$(PROJECT_DIR)/ios/libraries/libjpeg-turbo", + "$(PROJECT_DIR)/ios/libraries/lua", + "$(PROJECT_DIR)/ios/libraries/ogg", + "$(PROJECT_DIR)/ios/libraries/physfs", + "$(PROJECT_DIR)/ios/libraries/vorbis", + "$(PROJECT_DIR)/ios/libraries/SDL2", + ); + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Distribution; + }; + FA5326C4189719C700F7BBF4 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_PARAMETER = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + "\"$(SRCROOT)/../../src/libraries/enet/libenet/include\"", + ); + LD_RUNPATH_SEARCH_PATHS = "@rpath"; + LIBRARY_SEARCH_PATHS = ""; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = NO; + SDKROOT = macosx; + USE_HEADERMAP = NO; + WARNING_CFLAGS = "-Wall"; + }; + name = Distribution; + }; + FA5326C5189719C700F7BBF4 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = NO; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 9.0; + DYLIB_CURRENT_VERSION = 9.0; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + ); + FRAMEWORK_VERSION = A; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/FreeType.framework/Headers, + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/liblove-macosx.plist"; + LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; + OTHER_LDFLAGS = ( + "-undefined", + dynamic_lookup, + ); + PRODUCT_NAME = love; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = framework; + }; + name = Distribution; + }; + FA577AC016C7507900860150 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = NO; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 9.0; + DYLIB_CURRENT_VERSION = 9.0; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + ); + FRAMEWORK_VERSION = A; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/FreeType.framework/Headers, + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/liblove-macosx.plist"; + LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; + OTHER_LDFLAGS = ( + "-undefined", + dynamic_lookup, + ); + PRODUCT_NAME = love; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = framework; + }; + name = Debug; + }; + FA577AC116C7507900860150 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_MODULES = NO; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 9.0; + DYLIB_CURRENT_VERSION = 9.0; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + ); + FRAMEWORK_VERSION = A; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/FreeType.framework/Headers, + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/liblove-macosx.plist"; + LD_DYLIB_INSTALL_NAME = "@rpath/$(EXECUTABLE_PATH)"; + OTHER_LDFLAGS = ( + "-undefined", + dynamic_lookup, + ); + PRODUCT_NAME = love; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = framework; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB928908733DD80010E9CD /* Build configuration list for PBXProject "liblove" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 64274E785071353E1A1D0D4B /* Debug */, + 10D5479E63C26BB35EB5482E /* Release */, + FA5326C4189719C700F7BBF4 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + FA0B78EE1A958B90000E1D17 /* Build configuration list for PBXNativeTarget "liblove-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA0B78EF1A958B90000E1D17 /* Debug */, + FA0B78F01A958B90000E1D17 /* Release */, + FA0B78F11A958B90000E1D17 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + FA577ABF16C7507900860150 /* Build configuration list for PBXNativeTarget "liblove-macosx" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA577AC016C7507900860150 /* Debug */, + FA577AC116C7507900860150 /* Release */, + FA5326C5189719C700F7BBF4 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; +} diff --git a/platform/xcode/liblove.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/platform/xcode/liblove.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..f4e1c8fd3 --- /dev/null +++ b/platform/xcode/liblove.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/platform/macosx/love.xcodeproj/TemplateIcon.icns b/platform/xcode/love.xcodeproj/TemplateIcon.icns similarity index 100% rename from platform/macosx/love.xcodeproj/TemplateIcon.icns rename to platform/xcode/love.xcodeproj/TemplateIcon.icns diff --git a/platform/macosx/love.xcodeproj/default.pbxuser b/platform/xcode/love.xcodeproj/default.pbxuser similarity index 100% rename from platform/macosx/love.xcodeproj/default.pbxuser rename to platform/xcode/love.xcodeproj/default.pbxuser diff --git a/platform/xcode/love.xcodeproj/project.pbxproj b/platform/xcode/love.xcodeproj/project.pbxproj new file mode 100644 index 000000000..153b345f9 --- /dev/null +++ b/platform/xcode/love.xcodeproj/project.pbxproj @@ -0,0 +1,817 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E4810420B4A007D418B /* FreeType.framework */; }; + A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; }; + A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255E021043195A00BA1496 /* Vorbis.framework */; }; + A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9255F51104324D700BA1496 /* Ogg.framework */; }; + A93E6E5510420B57007D418B /* Lua.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93E6E5310420B57007D418B /* Lua.framework */; }; + A93E6EED10420BA8007D418B /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E6A3410420AC0007D418B /* love.cpp */; }; + A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9D307E9106635C3004FEDF8 /* physfs.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F169A6109E824900FC83D1 /* mpg123.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = A9F16926109E7BAD00FC83D1 /* libmodplug.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + FA08F69616C766E000F007B5 /* love.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; }; + FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA08F69116C765A200F007B5 /* love.framework */; }; + FA0B78D21A95814A000E1D17 /* love.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA0B78D01A95814A000E1D17 /* love.icns */; }; + FA0B78D31A95814A000E1D17 /* lovedocument.icns in Resources */ = {isa = PBXBuildFile; fileRef = FA0B78D11A95814A000E1D17 /* lovedocument.icns */; }; + FA0B7F301A95AC7D000E1D17 /* love.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E6A3410420AC0007D418B /* love.cpp */; }; + FA5D24821A96CA1800C6FC8F /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24811A96CA1800C6FC8F /* OpenAL.framework */; }; + FA5D24841A96CA2700C6FC8F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */; }; + FA5D24881A96CA8A00C6FC8F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24871A96CA8A00C6FC8F /* UIKit.framework */; }; + FA5D248A1A96CA9600C6FC8F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */; }; + FA5D248C1A96CA9E00C6FC8F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */; }; + FA5D248E1A96CAA700C6FC8F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */; }; + FA5D24901A96CAAE00C6FC8F /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D248F1A96CAAE00C6FC8F /* ImageIO.framework */; }; + FA5D24921A96CAB300C6FC8F /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24911A96CAB300C6FC8F /* MobileCoreServices.framework */; }; + FA5D24941A96CABA00C6FC8F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24931A96CABA00C6FC8F /* libz.dylib */; }; + FA5D24961A96CAC200C6FC8F /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */; }; + FA5D249C1A96CF4300C6FC8F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA5D249A1A96CF4300C6FC8F /* Images.xcassets */; }; + FA5D24C21A96D78000C6FC8F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA5D24C11A96D78000C6FC8F /* Foundation.framework */; }; + FA5D24D11A96E73300C6FC8F /* liblove.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA0B7EEF1A95924A000E1D17 /* liblove.a */; }; + FA77A36518F1172600D23AE9 /* jpeg-turbo.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA77A36418F1172600D23AE9 /* jpeg-turbo.framework */; }; + FA7C636A1A9C49570000FD29 /* Launch Screen.xib in Resources */ = {isa = PBXBuildFile; fileRef = FA7C63691A9C49570000FD29 /* Launch Screen.xib */; }; + FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; }; + FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FA9B4A0916E1579F00074F42 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + FAC1A449196F5DC600125284 /* license.txt in Resources */ = {isa = PBXBuildFile; fileRef = FAC1A448196F5DC600125284 /* license.txt */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + FA0B78D71A958301000E1D17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FA577AAF16C7507900860150; + remoteInfo = Framework; + }; + FA0B7EEE1A95924A000E1D17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FA0B78DD1A958B90000E1D17; + remoteInfo = "liblove-ios"; + }; + FA5D24BA1A96D6FC00C6FC8F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FA577A9316C7217800860150 /* liblove.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = FA0B78DC1A958B90000E1D17; + remoteInfo = "liblove-ios"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + A9255DDE1043185300BA1496 /* Copy Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + FA77A36518F1172600D23AE9 /* jpeg-turbo.framework in Copy Frameworks */, + FA08F69716C766E700F007B5 /* love.framework in Copy Frameworks */, + FA9B4A0B16E157B500074F42 /* SDL2.framework in Copy Frameworks */, + FAAFF04716CB120000CCDE45 /* OpenAL-Soft.framework in Copy Frameworks */, + A9F169AC109E825000FC83D1 /* mpg123.framework in Copy Frameworks */, + A9F169AD109E825000FC83D1 /* libmodplug.framework in Copy Frameworks */, + A9D307F2106635D3004FEDF8 /* physfs.framework in Copy Frameworks */, + A9255F58104324E100BA1496 /* Ogg.framework in Copy Frameworks */, + A9255E031043195A00BA1496 /* Vorbis.framework in Copy Frameworks */, + A9255DD11043183600BA1496 /* FreeType.framework in Copy Frameworks */, + A9255DD31043183600BA1496 /* Lua.framework in Copy Frameworks */, + ); + name = "Copy Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* love.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = love.app; sourceTree = BUILT_PRODUCTS_DIR; }; + A9255E021043195A00BA1496 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = /Library/Frameworks/Vorbis.framework; sourceTree = ""; }; + A9255F51104324D700BA1496 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = /Library/Frameworks/Ogg.framework; sourceTree = ""; }; + A93E6A3410420AC0007D418B /* love.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = love.cpp; path = ../../src/love.cpp; sourceTree = ""; }; + A93E6E4710420B4A007D418B /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + A93E6E4810420B4A007D418B /* FreeType.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FreeType.framework; path = /Library/Frameworks/FreeType.framework; sourceTree = ""; }; + A93E6E5310420B57007D418B /* Lua.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lua.framework; path = /Library/Frameworks/Lua.framework; sourceTree = ""; }; + A97E3842132A9EDE00198A2F /* love-macosx.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "love-macosx.plist"; path = "macosx/love-macosx.plist"; sourceTree = ""; }; + A9D307E9106635C3004FEDF8 /* physfs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = physfs.framework; path = /Library/Frameworks/physfs.framework; sourceTree = ""; }; + A9F16926109E7BAD00FC83D1 /* libmodplug.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libmodplug.framework; path = /Library/Frameworks/libmodplug.framework; sourceTree = ""; }; + A9F169A6109E824900FC83D1 /* mpg123.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = mpg123.framework; path = /Library/Frameworks/mpg123.framework; sourceTree = ""; }; + FA08F69116C765A200F007B5 /* love.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = love.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FA0B78D01A95814A000E1D17 /* love.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = love.icns; path = macosx/love.icns; sourceTree = ""; }; + FA0B78D11A95814A000E1D17 /* lovedocument.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = lovedocument.icns; path = macosx/lovedocument.icns; sourceTree = ""; }; + FA0B7F061A95AAF3000E1D17 /* love.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = love.app; sourceTree = BUILT_PRODUCTS_DIR; }; + FA577A9316C7217800860150 /* liblove.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = liblove.xcodeproj; sourceTree = ""; }; + FA5D24811A96CA1800C6FC8F /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/OpenAL.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24871A96CA8A00C6FC8F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; }; + FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + FA5D248F1A96CAAE00C6FC8F /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24911A96CAB300C6FC8F /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24931A96CABA00C6FC8F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; }; + FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/CoreMotion.framework; sourceTree = DEVELOPER_DIR; }; + FA5D24971A96CE1E00C6FC8F /* love-ios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "love-ios.plist"; path = "ios/love-ios.plist"; sourceTree = ""; }; + FA5D249A1A96CF4300C6FC8F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ios/Images.xcassets; sourceTree = ""; }; + FA5D24C11A96D78000C6FC8F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + FA77A36418F1172600D23AE9 /* jpeg-turbo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "jpeg-turbo.framework"; path = "/Library/Frameworks/jpeg-turbo.framework"; sourceTree = ""; }; + FA7C63691A9C49570000FD29 /* Launch Screen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "Launch Screen.xib"; path = "ios/Launch Screen.xib"; sourceTree = ""; }; + FA9B4A0916E1579F00074F42 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = /Library/Frameworks/SDL2.framework; sourceTree = ""; }; + FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "OpenAL-Soft.framework"; path = "/Library/Frameworks/OpenAL-Soft.framework"; sourceTree = ""; }; + FAC1A448196F5DC600125284 /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = license.txt; path = ../../license.txt; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FA08F69616C766E000F007B5 /* love.framework in Frameworks */, + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + A93E6E5510420B57007D418B /* Lua.framework in Frameworks */, + FA9B4A0A16E1579F00074F42 /* SDL2.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA0B7F031A95AAF3000E1D17 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FA5D24D11A96E73300C6FC8F /* liblove.a in Frameworks */, + FA5D24C21A96D78000C6FC8F /* Foundation.framework in Frameworks */, + FA5D24961A96CAC200C6FC8F /* CoreMotion.framework in Frameworks */, + FA5D24941A96CABA00C6FC8F /* libz.dylib in Frameworks */, + FA5D24921A96CAB300C6FC8F /* MobileCoreServices.framework in Frameworks */, + FA5D24901A96CAAE00C6FC8F /* ImageIO.framework in Frameworks */, + FA5D248E1A96CAA700C6FC8F /* CoreGraphics.framework in Frameworks */, + FA5D248C1A96CA9E00C6FC8F /* QuartzCore.framework in Frameworks */, + FA5D248A1A96CA9600C6FC8F /* AudioToolbox.framework in Frameworks */, + FA5D24881A96CA8A00C6FC8F /* UIKit.framework in Frameworks */, + FA5D24841A96CA2700C6FC8F /* OpenGLES.framework in Frameworks */, + FA5D24821A96CA1800C6FC8F /* OpenAL.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1058C7A0FEA54F0111CA2CBB /* Frameworks */ = { + isa = PBXGroup; + children = ( + FA5D24801A96C97900C6FC8F /* ios */, + FA0B7EEC1A959249000E1D17 /* macosx */, + ); + name = Frameworks; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* love.app */, + FA0B7F061A95AAF3000E1D17 /* love.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* love */ = { + isa = PBXGroup; + children = ( + FA5D249A1A96CF4300C6FC8F /* Images.xcassets */, + FA577A9D16C7262E00860150 /* Source */, + FA5D24A01A96CF7200C6FC8F /* Supporting Files */, + 1058C7A0FEA54F0111CA2CBB /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + 29B97317FDCFA39411CA2CEA /* Resources */, + FA577A9316C7217800860150 /* liblove.xcodeproj */, + ); + name = love; + sourceTree = ""; + usesTabs = 1; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + FAC1A448196F5DC600125284 /* license.txt */, + FA0B78D01A95814A000E1D17 /* love.icns */, + FA0B78D11A95814A000E1D17 /* lovedocument.icns */, + ); + name = Resources; + sourceTree = ""; + }; + FA0B78D41A958301000E1D17 /* Products */ = { + isa = PBXGroup; + children = ( + FA0B78D81A958301000E1D17 /* love.framework */, + FA0B7EEF1A95924A000E1D17 /* liblove.a */, + ); + name = Products; + sourceTree = ""; + }; + FA0B7EEC1A959249000E1D17 /* macosx */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + A93E6E4810420B4A007D418B /* FreeType.framework */, + FA77A36418F1172600D23AE9 /* jpeg-turbo.framework */, + A9F16926109E7BAD00FC83D1 /* libmodplug.framework */, + FA08F69116C765A200F007B5 /* love.framework */, + A93E6E5310420B57007D418B /* Lua.framework */, + A9F169A6109E824900FC83D1 /* mpg123.framework */, + A9255F51104324D700BA1496 /* Ogg.framework */, + FAAFF04616CB120000CCDE45 /* OpenAL-Soft.framework */, + A93E6E4710420B4A007D418B /* OpenGL.framework */, + A9D307E9106635C3004FEDF8 /* physfs.framework */, + FA9B4A0916E1579F00074F42 /* SDL2.framework */, + A9255E021043195A00BA1496 /* Vorbis.framework */, + ); + name = macosx; + sourceTree = ""; + }; + FA577A9D16C7262E00860150 /* Source */ = { + isa = PBXGroup; + children = ( + A93E6A3410420AC0007D418B /* love.cpp */, + ); + name = Source; + sourceTree = ""; + }; + FA5D24801A96C97900C6FC8F /* ios */ = { + isa = PBXGroup; + children = ( + FA5D24C11A96D78000C6FC8F /* Foundation.framework */, + FA5D24891A96CA9600C6FC8F /* AudioToolbox.framework */, + FA5D248D1A96CAA700C6FC8F /* CoreGraphics.framework */, + FA5D24951A96CAC200C6FC8F /* CoreMotion.framework */, + FA5D248F1A96CAAE00C6FC8F /* ImageIO.framework */, + FA5D24931A96CABA00C6FC8F /* libz.dylib */, + FA5D24911A96CAB300C6FC8F /* MobileCoreServices.framework */, + FA5D24811A96CA1800C6FC8F /* OpenAL.framework */, + FA5D24831A96CA2700C6FC8F /* OpenGLES.framework */, + FA5D248B1A96CA9E00C6FC8F /* QuartzCore.framework */, + FA5D24871A96CA8A00C6FC8F /* UIKit.framework */, + ); + name = ios; + sourceTree = ""; + }; + FA5D24A01A96CF7200C6FC8F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + FA7C63691A9C49570000FD29 /* Launch Screen.xib */, + FA5D24971A96CE1E00C6FC8F /* love-ios.plist */, + A97E3842132A9EDE00198A2F /* love-macosx.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* love-macosx */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love-macosx" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + A9255DDE1043185300BA1496 /* Copy Frameworks */, + 8D11072E0486CEB800E47090 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "love-macosx"; + productInstallPath = "$(HOME)/Applications"; + productName = love; + productReference = 8D1107320486CEB800E47090 /* love.app */; + productType = "com.apple.product-type.application"; + }; + FA0B7F051A95AAF3000E1D17 /* love-ios */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA0B7F2E1A95AAF4000E1D17 /* Build configuration list for PBXNativeTarget "love-ios" */; + buildPhases = ( + FA0B7F021A95AAF3000E1D17 /* Sources */, + FA0B7F031A95AAF3000E1D17 /* Frameworks */, + FA0B7F041A95AAF3000E1D17 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + FA5D24BB1A96D6FC00C6FC8F /* PBXTargetDependency */, + ); + name = "love-ios"; + productName = "love-ios"; + productReference = FA0B7F061A95AAF3000E1D17 /* love.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + TargetAttributes = { + FA0B7F051A95AAF3000E1D17 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + Base, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* love */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = FA0B78D41A958301000E1D17 /* Products */; + ProjectRef = FA577A9316C7217800860150 /* liblove.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* love-macosx */, + FA0B7F051A95AAF3000E1D17 /* love-ios */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + FA0B78D81A958301000E1D17 /* love.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = love.framework; + remoteRef = FA0B78D71A958301000E1D17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FA0B7EEF1A95924A000E1D17 /* liblove.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = liblove.a; + remoteRef = FA0B7EEE1A95924A000E1D17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FAC1A449196F5DC600125284 /* license.txt in Resources */, + FA0B78D31A95814A000E1D17 /* lovedocument.icns in Resources */, + FA0B78D21A95814A000E1D17 /* love.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA0B7F041A95AAF3000E1D17 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA5D249C1A96CF4300C6FC8F /* Images.xcassets in Resources */, + FA7C636A1A9C49570000FD29 /* Launch Screen.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A93E6EED10420BA8007D418B /* love.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FA0B7F021A95AAF3000E1D17 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FA0B7F301A95AC7D000E1D17 /* love.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + FA5D24BB1A96D6FC00C6FC8F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "liblove-ios"; + targetProxy = FA5D24BA1A96D6FC00C6FC8F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + "\"$(SRCROOT)/build/Release\"", + "\"$(SRCROOT)/build/Debug\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/love-macosx.plist"; + INSTALL_PATH = /Applications; + PRODUCT_NAME = love; + }; + name = Debug; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + "\"$(SRCROOT)/build/Release\"", + "\"$(SRCROOT)/build/Debug\"", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/love-macosx.plist"; + INSTALL_PATH = /Applications; + PRODUCT_NAME = love; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS; + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + ); + INFOPLIST_FILE = "love-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ""; + "OTHER_LDFLAGS[arch=x86_64]" = ( + "-pagezero_size", + 10000, + "-image_base", + 100000000, + ); + PRODUCT_NAME = love; + WARNING_CFLAGS = ( + "-Wall", + "-W", + ); + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + DEPLOYMENT_POSTPROCESSING = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_INPUT_FILETYPE = automatic; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS; + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + ); + INFOPLIST_FILE = "love-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = ""; + "OTHER_LDFLAGS[arch=x86_64]" = ( + "-pagezero_size", + 10000, + "-image_base", + 100000000, + ); + PRODUCT_NAME = love; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + WARNING_CFLAGS = ( + "-Wall", + "-W", + ); + }; + name = Release; + }; + FA0B7F261A95AAF4000E1D17 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/SDL2, + ); + INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FA0B7F271A95AAF4000E1D17 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/SDL2, + ); + INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FA0B7F281A95AAF4000E1D17 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ios/include, + ios/include/lua, + ios/include/SDL2, + ); + INFOPLIST_FILE = "$(SRCROOT)/ios/love-ios.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = love; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Distribution; + }; + FA5326C618971A0900F7BBF4 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + DEPLOYMENT_POSTPROCESSING = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_INPUT_FILETYPE = automatic; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PREPROCESSOR_DEFINITIONS = LOVE_APPLE_USE_FRAMEWORKS; + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "\"$(SRCROOT)/../../src\"", + "\"$(SRCROOT)/../../src/libraries\"", + "\"$(SRCROOT)/../../src/modules\"", + ); + INFOPLIST_FILE = "love-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = ""; + "OTHER_LDFLAGS[arch=x86_64]" = ( + "-pagezero_size", + 10000, + "-image_base", + 100000000, + ); + PRODUCT_NAME = love; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES; + WARNING_CFLAGS = ( + "-Wall", + "-W", + ); + }; + name = Distribution; + }; + FA5326C718971A0900F7BBF4 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + "\"$(SRCROOT)/build/Release\"", + "\"$(SRCROOT)/build/Debug\"", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks/Lua.framework/Headers, + /Library/Frameworks/SDL2.framework/Headers, + ); + INFOPLIST_FILE = "macosx/love-macosx.plist"; + INSTALL_PATH = /Applications; + PRODUCT_NAME = love; + }; + name = Distribution; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "love-macosx" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Debug */, + C01FCF4C08A954540054247B /* Release */, + FA5326C718971A0900F7BBF4 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "love" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + FA5326C618971A0900F7BBF4 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA0B7F2E1A95AAF4000E1D17 /* Build configuration list for PBXNativeTarget "love-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FA0B7F261A95AAF4000E1D17 /* Debug */, + FA0B7F271A95AAF4000E1D17 /* Release */, + FA0B7F281A95AAF4000E1D17 /* Distribution */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/platform/xcode/love.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/platform/xcode/love.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..0c5703c44 --- /dev/null +++ b/platform/xcode/love.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/platform/macosx/Info-Framework.plist b/platform/xcode/macosx/liblove-macosx.plist similarity index 94% rename from platform/macosx/Info-Framework.plist rename to platform/xcode/macosx/liblove-macosx.plist index d2104642e..437894a5f 100644 --- a/platform/macosx/Info-Framework.plist +++ b/platform/xcode/macosx/liblove-macosx.plist @@ -17,11 +17,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.2 + 0.10.0 CFBundleSignature LoVe CFBundleVersion - 0.9.2 + 0.10.0 NSPrincipalClass diff --git a/platform/macosx/love-Info.plist b/platform/xcode/macosx/love-macosx.plist similarity index 84% rename from platform/macosx/love-Info.plist rename to platform/xcode/macosx/love-macosx.plist index b71c21d54..7be385ac4 100644 --- a/platform/macosx/love-Info.plist +++ b/platform/xcode/macosx/love-macosx.plist @@ -8,7 +8,7 @@ CFBundleTypeIconFile - LoveDocument.icns + lovedocument CFBundleTypeName LÖVE Project CFBundleTypeRole @@ -32,11 +32,23 @@ LSHandlerRank None + + CFBundleTypeIconFile + Document + CFBundleTypeName + Document + CFBundleTypeOSTypes + + **** + + CFBundleTypeRole + Editor + CFBundleExecutable love CFBundleIconFile - Love.icns + love.icns CFBundleIdentifier org.love2d.love CFBundleInfoDictionaryVersion @@ -46,7 +58,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.9.2 + 0.10.0 CFBundleSignature LoVe LSApplicationCategoryType @@ -65,7 +77,7 @@ UTTypeDescription LÖVE Project UTTypeIconFile - LoveDocument.icns + lovedocument UTTypeIdentifier org.love2d.love-game UTTypeReferenceURL diff --git a/platform/macosx/icons/Love.icns b/platform/xcode/macosx/love.icns similarity index 100% rename from platform/macosx/icons/Love.icns rename to platform/xcode/macosx/love.icns diff --git a/platform/xcode/macosx/lovedocument.icns b/platform/xcode/macosx/lovedocument.icns new file mode 100644 index 000000000..1dede26b8 Binary files /dev/null and b/platform/xcode/macosx/lovedocument.icns differ diff --git a/readme.md b/readme.md index 14c58188d..64d79bf3b 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,7 @@ Run `platform/unix/automagic` from the repository root, then run ./configure and ###Mac OS X Download the required frameworks from [here][dependencies] and place them in `/Library/Frameworks/`. -Then use the Xcode project found at `platform/macosx/love.xcodeproj`. +Then use the Xcode project found at `platform/xcode/love.xcodeproj` to build the `love-macosx` target. Repository information ---------------------- diff --git a/src/common/Matrix.cpp b/src/common/Matrix.cpp index d2307ee74..67240348f 100644 --- a/src/common/Matrix.cpp +++ b/src/common/Matrix.cpp @@ -177,28 +177,6 @@ void Matrix::shear(float kx, float ky) this->operator *=(t); } -// | x | -// | y | -// | 0 | -// | 1 | -// | e0 e4 e8 e12 | -// | e1 e5 e9 e13 | -// | e2 e6 e10 e14 | -// | e3 e7 e11 e15 | - -void Matrix::transform(Vertex *dst, const Vertex *src, int size) const -{ - for (int i = 0; i + void transform(V *dst, const V *src, int size) const; /** * Creates a new orthographic projection matrix with depth in the range of @@ -173,6 +174,29 @@ private: }; // Matrix +// | x | +// | y | +// | 0 | +// | 1 | +// | e0 e4 e8 e12 | +// | e1 e5 e9 e13 | +// | e2 e6 e10 e14 | +// | e3 e7 e11 e15 | + +template +void Matrix::transform(V *dst, const V *src, int size) const +{ + for (int i = 0; i < size; i++) + { + // Store in temp variables in case src = dst + float x = (e[0]*src[i].x) + (e[4]*src[i].y) + (0) + (e[12]); + float y = (e[1]*src[i].x) + (e[5]*src[i].y) + (0) + (e[13]); + + dst[i].x = x; + dst[i].y = y; + } +} + } //love #endif// LOVE_MATRIX_H diff --git a/src/common/Module.h b/src/common/Module.h index 3665cf482..cac50a3c9 100644 --- a/src/common/Module.h +++ b/src/common/Module.h @@ -51,6 +51,7 @@ public: M_SYSTEM, M_THREAD, M_TIMER, + M_TOUCH, M_WINDOW, M_MAX_ENUM }; diff --git a/platform/macosx/OSX.h b/src/common/OSX.h similarity index 93% rename from platform/macosx/OSX.h rename to src/common/OSX.h index 3972cdfc0..ddd7e0c84 100644 --- a/platform/macosx/OSX.h +++ b/src/common/OSX.h @@ -21,6 +21,10 @@ #ifndef LOVE_OSX_H #define LOVE_OSX_H +#include "config.h" + +#ifdef LOVE_MACOSX + #include namespace love @@ -30,7 +34,7 @@ namespace osx /** * Returns the filepath of the first detected love file in the Resources folder - * in love.app. + * in the main bundle (love.app.) * Returns an empty string if no love file is found. **/ std::string getLoveInResources(); @@ -44,4 +48,6 @@ std::string checkDropEvents(); } // osx } // love +#endif // LOVE_MACOSX + #endif // LOVE_OSX_H diff --git a/platform/macosx/OSX.mm b/src/common/OSX.mm similarity index 90% rename from platform/macosx/OSX.mm rename to src/common/OSX.mm index a2a1a7cf3..3d7eae65f 100644 --- a/platform/macosx/OSX.mm +++ b/src/common/OSX.mm @@ -18,7 +18,10 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#import "OSX.h" +#include "OSX.h" + +#ifdef LOVE_MACOSX + #import #include @@ -49,9 +52,7 @@ std::string checkDropEvents() std::string dropstr; SDL_Event event; - bool initvideo = SDL_WasInit(SDL_INIT_VIDEO) != 0; - if (!initvideo) - SDL_InitSubSystem(SDL_INIT_VIDEO); + SDL_InitSubSystem(SDL_INIT_VIDEO); SDL_PumpEvents(); if (SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_DROPFILE, SDL_DROPFILE) > 0) @@ -63,11 +64,12 @@ std::string checkDropEvents() } } - if (!initvideo) - SDL_QuitSubSystem(SDL_INIT_VIDEO); + SDL_QuitSubSystem(SDL_INIT_VIDEO); return dropstr; } } // osx } // love + +#endif // LOVE_MACOSX diff --git a/src/common/Object.cpp b/src/common/Object.cpp index 291ae1d71..c381a8dc6 100644 --- a/src/common/Object.cpp +++ b/src/common/Object.cpp @@ -25,28 +25,37 @@ namespace love { Object::Object() + : count(1) +{ +} + +Object::Object(const Object & /*other*/) + : count(1) // Always start with a reference count of 1. { - count.value = 1; } Object::~Object() { } -int Object::getReferenceCount() +int Object::getReferenceCount() const { - return SDL_AtomicGet(&count); + return count; } void Object::retain() { - SDL_AtomicIncRef(&count); + count.fetch_add(1, std::memory_order_relaxed); } void Object::release() { - if (SDL_AtomicDecRef(&count)) + // http://www.boost.org/doc/libs/1_56_0/doc/html/atomic/usage_examples.html + if (count.fetch_sub(1, std::memory_order_release) == 1) + { + std::atomic_thread_fence(std::memory_order_acquire); delete this; + } } } // love diff --git a/src/common/Object.h b/src/common/Object.h index e916c9fd8..418d70253 100644 --- a/src/common/Object.h +++ b/src/common/Object.h @@ -21,12 +21,7 @@ #ifndef LOVE_OBJECT_H #define LOVE_OBJECT_H -/** - * NOTE: the fact that an SDL header is included in such a widely used header - * file is only temporary - in the LOVE 0.10+ codebase we use atomics from - * C++11's standard library. - **/ -#include +#include namespace love { @@ -47,6 +42,7 @@ public: * Constructor. Sets reference count to one. **/ Object(); + Object(const Object &other); /** * Destructor. @@ -57,7 +53,7 @@ public: * Gets the reference count of this Object. * @returns The reference count. **/ - int getReferenceCount(); + int getReferenceCount() const; /** * Retains the Object, i.e. increases the @@ -75,7 +71,7 @@ public: private: // The reference count. - SDL_atomic_t count; + std::atomic count; }; // Object diff --git a/src/common/Variant.cpp b/src/common/Variant.cpp index 8a55274ff..743a5b629 100644 --- a/src/common/Variant.cpp +++ b/src/common/Variant.cpp @@ -101,9 +101,8 @@ Variant::Variant(love::Type udatatype, void *userdata) if (udatatype != INVALID_ID) { Proxy *p = (Proxy *) userdata; - flags = p->flags; - data.userdata = p->data; - ((love::Object *) data.userdata)->retain(); + data.userdata = p->object; + p->object->retain(); } else data.userdata = userdata; @@ -223,11 +222,7 @@ void Variant::toLua(lua_State *L) break; case FUSERDATA: if (udatatype != INVALID_ID) - { - const char *name = NULL; - love::types.find(udatatype, name); - luax_pushtype(L, name, flags, (love::Object *) data.userdata); - } + luax_pushtype(L, udatatype, (love::Object *) data.userdata); else lua_pushlightuserdata(L, data.userdata); // I know this is not the same diff --git a/src/common/Variant.h b/src/common/Variant.h index d52e510f4..1a5786868 100644 --- a/src/common/Variant.h +++ b/src/common/Variant.h @@ -76,7 +76,6 @@ public: private: love::Type udatatype; - bits flags; }; // Variant } // love diff --git a/src/common/Vector.h b/src/common/Vector.h index 3aeb9fdba..76520e8d0 100644 --- a/src/common/Vector.h +++ b/src/common/Vector.h @@ -216,15 +216,15 @@ inline float Vector::normalize(float length) **/ inline Vector::Vector() + : x(0.0f) + , y(0.0f) { - x = 1; - y = 1; } inline Vector::Vector(float x, float y) + : x(x) + , y(y) { - this->x = x; - this->y = y; } inline Vector Vector::operator + (const Vector &v) const diff --git a/src/common/config.h b/src/common/config.h index dbf75e82f..97711306b 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -29,8 +29,12 @@ # define LOVE_LINUX 1 #endif #if defined(__APPLE__) -# define LOVE_MACOSX 1 -# include +# include +# if TARGET_OS_IPHONE +# define LOVE_IOS 1 +# elif TARGET_OS_MAC +# define LOVE_MACOSX 1 +# endif #endif // Endianness. @@ -71,7 +75,7 @@ # define NOMINMAX #endif -#if defined(LOVE_MACOSX) +#if defined(LOVE_MACOSX) || defined(LOVE_IOS) # define LOVE_LEGENDARY_APP_ARGV_HACK #endif @@ -124,6 +128,8 @@ # define LOVE_ENABLE_THREAD_SDL # define LOVE_ENABLE_TIMER # define LOVE_ENABLE_TIMER_SDL +# define LOVE_ENABLE_TOUCH +# define LOVE_ENABLE_TOUCH_SDL # define LOVE_ENABLE_UTF8 # define LOVE_ENABLE_WINDOW # define LOVE_ENABLE_WINDOW_SDL diff --git a/src/common/iOS.h b/src/common/iOS.h new file mode 100644 index 000000000..49bfa4162 --- /dev/null +++ b/src/common/iOS.h @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IOS_H +#define LOVE_IOS_H + +#include "config.h" + +#ifdef LOVE_IOS + +#include + +namespace love +{ +namespace ios +{ + +/** + * Gets the filepath of the first detected love file. The main .app Bundle is + * searched first, and then the app's Documents folder. + **/ +std::string getLoveInResources(bool &fused); + +/** + * Gets the directory path where files should be stored. + **/ +std::string getAppdataDirectory(); + +/** + * Get the home directory (on iOS, this really means the app's sandbox dir.) + **/ +std::string getHomeDirectory(); + +/** + * Opens the specified URL with the default program associated with the URL's + * scheme. + **/ +bool openURL(const std::string &url); + +} // ios +} // love + +#endif // LOVE_IOS +#endif // LOVE_IOS_H diff --git a/src/common/iOS.mm b/src/common/iOS.mm new file mode 100644 index 000000000..e626be9df --- /dev/null +++ b/src/common/iOS.mm @@ -0,0 +1,320 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "iOS.h" + +#ifdef LOVE_IOS + +#import +#import + +#include + +#include + +static NSArray *getLovesInDocuments(); +static bool deleteFileInDocuments(NSString *filename); + +@interface LOVETableViewController : UITableViewController + +- (instancetype)initWithGameList:(NSArray *)list; + +@property (nonatomic) NSMutableArray *gameList; +@property (nonatomic, readonly, copy) NSString *selectedGame; + +@end + +@implementation LOVETableViewController + +- (instancetype)initWithGameList:(NSArray *)list +{ + if ((self = [super init])) + { + _gameList = [[NSMutableArray alloc] initWithArray:list copyItems:YES]; + + self.title = @"LÖVE Games"; + self.navigationItem.rightBarButtonItem = self.editButtonItem; + } + + return self; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + #pragma unused(tableView) + #pragma unused(section) + // We want to list all games plus the no-game screen. + return self.gameList.count + 1; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *cellIdentifier = @"LOVETableCell"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; + if (cell == nil) + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; + + if (indexPath.row < (NSInteger) self.gameList.count) + cell.textLabel.text = self.gameList[indexPath.row]; + else + cell.textLabel.text = @"No-game screen"; + + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + #pragma unused(tableView) + if (indexPath.row < (NSInteger) self.gameList.count) + _selectedGame = [(NSString *)(self.gameList[indexPath.row]) copy]; + else + { + // We test against nil to check if a game has been selected, so we'll + // just use an empty string instead to represent the no-game screen. + _selectedGame = @""; + } +} + +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath +{ + if (editingStyle != UITableViewCellEditingStyleDelete) + return; + + if (indexPath.row >= (NSInteger) self.gameList.count) + return; + + NSString *filename = self.gameList[indexPath.row]; + + // Delete the file. + if (deleteFileInDocuments(filename)) + { + [self.gameList removeObjectAtIndex:indexPath.row]; + [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; + } +} + +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath; +{ + #pragma unused(tableView) + // The no-game screen isn't removable. + return indexPath.row < (NSInteger) self.gameList.count; +} + +@end + +static NSString *getDocumentsDirectory() +{ + NSArray *docdirs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); + return docdirs[0]; +} + +static NSArray *getLovesInDocuments() +{ + NSString *documents = getDocumentsDirectory(); + NSArray *filepaths = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documents error:nil]; + return [filepaths pathsMatchingExtensions:@[@"love"]]; +} + +static bool deleteFileInDocuments(NSString *filename) +{ + NSString *documents = getDocumentsDirectory(); + + NSString *file = [documents stringByAppendingPathComponent:filename]; + bool success = [[NSFileManager defaultManager] removeItemAtPath:file error:nil]; + + if (success) + NSLog(@"Deleted file %@ in Documents folder.", filename); + + return success; +} + +static int dropFileEventFilter(void *userdata, SDL_Event *event) +{ + if (event->type != SDL_DROPFILE) + return 1; + + NSString *fname = @(event->drop.file); + NSFileManager *fmanager = [NSFileManager defaultManager]; + + if ([fmanager fileExistsAtPath:fname] && [fname.pathExtension isEqual:@"love"]) + { + NSString *documents = getDocumentsDirectory(); + + documents = [[documents stringByStandardizingPath] stringByResolvingSymlinksInPath]; + fname = [[fname stringByStandardizingPath] stringByResolvingSymlinksInPath]; + + // Is the file inside the Documents directory? + if ([fname hasPrefix:documents]) + { + LOVETableViewController *vc = (__bridge LOVETableViewController *) userdata; + + // Update the game list. + NSArray *games = getLovesInDocuments(); + vc.gameList = [[NSMutableArray alloc] initWithArray:games copyItems:YES]; + [vc.tableView reloadData]; + + SDL_free(event->drop.file); + return 0; + } + } + + return 1; +} + +namespace love +{ +namespace ios +{ + +/** + * Displays a full-screen list of available LOVE games for the user to choose. + * Returns the index of the selected game from the list. The list of games + * includes the no-game screen, and the function will return an index outside + * of the array's range if that is selected. + **/ +static NSString *showGameList(NSArray *filenames) +{ + // Game list view controller. + LOVETableViewController *tablecontroller = [[LOVETableViewController alloc] initWithGameList:filenames]; + + // Navigation view controller (only used for the header bar right now.) + // Contains the game list view/controller. + UINavigationController *navcontroller = [[UINavigationController alloc] initWithRootViewController:tablecontroller]; + + UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + window.rootViewController = navcontroller; + + SDL_EventFilter oldfilter = nullptr; + void *oldudata = nullptr; + SDL_GetEventFilter(&oldfilter, &oldudata); + + // Manually retain the table VC and use it for the event filter userdata. + // We need to set a custom event filter to update the table when .love files + // are opened by the user. + void *tableudata = (void *) CFBridgingRetain(tablecontroller); + SDL_SetEventFilter(dropFileEventFilter, tableudata); + + [window makeKeyAndVisible]; + + // Process events until a game in the list is selected. + NSRunLoop *runloop = [NSRunLoop currentRunLoop]; + while (tablecontroller.selectedGame == nil) + { + [runloop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]]; + [runloop runMode:UITrackingRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:1.0/60.0]]; + } + + // The window will get released and cleaned up once we go out of scope. + window.hidden = YES; + + SDL_SetEventFilter(oldfilter, oldudata); + CFBridgingRelease(tableudata); + + return tablecontroller.selectedGame; +} + +std::string getLoveInResources(bool &fused) +{ + fused = false; + std::string path; + + @autoreleasepool + { + // Start by looking in the main bundle (.app) folder for .love files. + NSArray *bundlepaths = [[NSBundle mainBundle] pathsForResourcesOfType:@"love" inDirectory:nil]; + + if (bundlepaths.count > 0) + { + // The game should be fused if we have something here. + fused = true; + NSLog(@".love files in main Bundle: %@", bundlepaths); + return [bundlepaths[0] UTF8String]; + } + + // Otherwise look in the app's Documents directory. The game won't be + // fused. + NSArray *filepaths = getLovesInDocuments(); + + if (filepaths.count > 0) + NSLog(@".love files in Documents: %@", filepaths); + + // Let the user select a game from the un-fused list. + NSString *selectedfile = showGameList(filepaths); + + // The string length might be 0 if the no-game screen was selected. + if (selectedfile != nil && selectedfile.length > 0) + { + NSString *documents = getDocumentsDirectory(); + path = [[documents stringByAppendingPathComponent:selectedfile] UTF8String]; + NSLog(@"Using unfused .love file: %@", selectedfile); + } + } + + return path; +} + +std::string getAppdataDirectory() +{ + NSSearchPathDirectory searchdir = NSApplicationSupportDirectory; + std::string path; + + @autoreleasepool + { + NSArray *dirs = NSSearchPathForDirectoriesInDomains(searchdir, NSUserDomainMask, YES); + + if (dirs.count > 0) + path = [dirs[0] UTF8String]; + } + + return path; +} + +std::string getHomeDirectory() +{ + std::string path; + + @autoreleasepool + { + path = [NSHomeDirectory() UTF8String]; + } + + return path; +} + +bool openURL(const std::string &url) +{ + bool success = false; + + @autoreleasepool + { + NSURL *nsurl = [NSURL URLWithString:@(url.c_str())]; + + if ([[UIApplication sharedApplication] canOpenURL:nsurl]) + success = [[UIApplication sharedApplication] openURL:nsurl]; + } + + return success; +} + +} // ios +} // love + +#endif // LOVE_IOS diff --git a/src/common/int.h b/src/common/int.h index bf442c478..5b42c1d4b 100644 --- a/src/common/int.h +++ b/src/common/int.h @@ -22,8 +22,6 @@ #define LOVE_INT_H // C standard sized integer types. -// This header was added to Visual studio in VS 2012, which is LOVE's current -// minimum supported VS version (as of this comment's commit date.) #include #define LOVE_INT8_MAX 0x7F @@ -47,6 +45,27 @@ typedef uint32_t uint32; typedef int64_t int64; typedef uint64_t uint64; +static inline uint16 swap16(uint16 x) +{ + return (x >> 8) | (x << 8); +} + +static inline uint32 swap32(uint32 x) +{ + return ((x & 0x000000FF) << 24) | + ((x & 0x0000FF00) << 8) | + ((x & 0x00FF0000) >> 8) | + ((x & 0xFF000000) >> 24); +} + +static inline uint64 swap64(uint64 x) +{ + return ((x << 56) & 0xFF00000000000000ULL) | ((x << 40) & 0x00FF000000000000ULL) | + ((x << 24) & 0x0000FF0000000000ULL) | ((x << 8) & 0x000000FF00000000ULL) | + ((x >> 8) & 0x00000000FF000000ULL) | ((x >> 24) & 0x0000000000FF0000ULL) | + ((x >> 40) & 0x000000000000FF00ULL) | ((x >> 56) & 0x00000000000000FFULL); +} + } // love #endif // LOVE_INT_H diff --git a/src/common/runtime.cpp b/src/common/runtime.cpp index 5c37baba4..341ed2eb1 100644 --- a/src/common/runtime.cpp +++ b/src/common/runtime.cpp @@ -26,7 +26,6 @@ #include "Object.h" #include "Reference.h" #include "StringMap.h" -#include // C++ #include @@ -36,24 +35,14 @@ namespace love { -static thread::Mutex *gcmutex = nullptr; - /** * Called when an object is collected. The object is released * once in this function, possibly deleting it. **/ static int w__gc(lua_State *L) { - if (!gcmutex) - gcmutex = thread::newMutex(); - Proxy *p = (Proxy *) lua_touserdata(L, 1); - Object *object = (Object *) p->data; - - thread::Lock lock(gcmutex); - - object->release(); - + p->object->release(); return 0; } @@ -67,7 +56,7 @@ static int w__typeOf(lua_State *L) { Proxy *p = (Proxy *)lua_touserdata(L, 1); Type t = luax_type(L, 2); - luax_pushboolean(L, p->flags[t]); + luax_pushboolean(L, typeFlags[p->type][t]); return 1; } @@ -75,7 +64,7 @@ static int w__eq(lua_State *L) { Proxy *p1 = (Proxy *)lua_touserdata(L, 1); Proxy *p2 = (Proxy *)lua_touserdata(L, 2); - luax_pushboolean(L, p1->data == p2->data); + luax_pushboolean(L, p1->object == p2->object); return 1; } @@ -217,8 +206,8 @@ int luax_register_module(lua_State *L, const WrappedModule &m) luax_insistregistry(L, REGISTRY_MODULES); Proxy *p = (Proxy *)lua_newuserdata(L, sizeof(Proxy)); - p->data = m.module; - p->flags = m.flags; + p->object = m.module; + p->type = m.type; luaL_newmetatable(L, m.module->getName()); lua_pushvalue(L, -1); @@ -265,12 +254,12 @@ int luax_preload(lua_State *L, lua_CFunction f, const char *name) return 0; } -int luax_register_type(lua_State *L, const char *tname, const luaL_Reg *f) +int luax_register_type(lua_State *L, love::Type type, const luaL_Reg *f) { // Verify that this type name has a matching Type ID and type name mapping. - love::Type ltype; - if (!love::getType(tname, ltype)) - printf("Missing type entry for type name: %s\n", tname); + const char *tname = "Invalid"; + if (!love::getType(type, tname)) + printf("Missing type name entry for type ID %d\n", type); // Get the place for storing and re-using instantiated love types. luax_getregistry(L, REGISTRY_TYPES); @@ -338,19 +327,22 @@ int luax_table_insert(lua_State *L, int tindex, int vindex, int pos) tindex = lua_gettop(L)+1+tindex; if (vindex < 0) vindex = lua_gettop(L)+1+vindex; + if (pos == -1) { lua_pushvalue(L, vindex); - lua_rawseti(L, tindex, lua_objlen(L, tindex)+1); + lua_rawseti(L, tindex, (int) lua_objlen(L, tindex)+1); return 0; } else if (pos < 0) - pos = lua_objlen(L, tindex)+1+pos; - for (int i = lua_objlen(L, tindex)+1; i > pos; i--) + pos = (int) lua_objlen(L, tindex)+1+pos; + + for (int i = (int) lua_objlen(L, tindex)+1; i > pos; i--) { lua_rawgeti(L, tindex, i-1); lua_rawseti(L, tindex, i); } + lua_pushvalue(L, vindex); lua_rawseti(L, tindex, pos); return 0; @@ -382,20 +374,23 @@ int luax_register_searcher(lua_State *L, lua_CFunction f, int pos) return 0; } -void luax_rawnewtype(lua_State *L, const char *name, bits flags, love::Object *object) +void luax_rawnewtype(lua_State *L, love::Type type, love::Object *object) { Proxy *u = (Proxy *)lua_newuserdata(L, sizeof(Proxy)); object->retain(); - u->data = (void *) object; - u->flags = flags; + u->object = object; + u->type = type; + + const char *name = "Invalid"; + getType(type, name); luaL_newmetatable(L, name); lua_setmetatable(L, -2); } -void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *object) +void luax_pushtype(lua_State *L, love::Type type, love::Object *object) { if (object == nullptr) { @@ -410,11 +405,11 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj if (!lua_istable(L, -1)) { lua_pop(L, 1); - return luax_rawnewtype(L, name, flags, object); + return luax_rawnewtype(L, type, object); } // Get the value of lovetypes[object] on the stack. - lua_pushlightuserdata(L, (void *) object); + lua_pushlightuserdata(L, object); lua_gettable(L, -2); // If the Proxy userdata isn't in the instantiated types table yet, add it. @@ -422,9 +417,9 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj { lua_pop(L, 1); - luax_rawnewtype(L, name, flags, object); + luax_rawnewtype(L, type, object); - lua_pushlightuserdata(L, (void *) object); + lua_pushlightuserdata(L, object); lua_pushvalue(L, -2); // lovetypes[object] = Proxy. @@ -437,12 +432,13 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj // Keep the Proxy userdata on the stack. } -bool luax_istype(lua_State *L, int idx, love::bits type) +bool luax_istype(lua_State *L, int idx, love::Type type) { if (lua_type(L, idx) != LUA_TUSERDATA) return false; - return ((((Proxy *)lua_touserdata(L, idx))->flags & type) == type); + Proxy *p = (Proxy *) lua_touserdata(L, idx); + return typeFlags[p->type][type]; } int luax_getfunction(lua_State *L, const char *mod, const char *fn) @@ -632,105 +628,10 @@ extern "C" int luax_typerror(lua_State *L, int narg, const char *tname) return luaL_argerror(L, narg, msg); } -StringMap::Entry typeEntries[] = -{ - {"Invalid", INVALID_ID}, - - {"Object", OBJECT_ID}, - {"Data", DATA_ID}, - {"Module", MODULE_ID}, - - // Filesystem - {"File", FILESYSTEM_FILE_ID}, - {"FileData", FILESYSTEM_FILE_DATA_ID}, - - // Font - {"GlyphData", FONT_GLYPH_DATA_ID}, - {"Rasterizer", FONT_RASTERIZER_ID}, - - // Graphics - {"Drawable", GRAPHICS_DRAWABLE_ID}, - {"Texture", GRAPHICS_TEXTURE_ID}, - {"Image", GRAPHICS_IMAGE_ID}, - {"Quad", GRAPHICS_QUAD_ID}, - {"Font", GRAPHICS_FONT_ID}, - {"ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_ID}, - {"SpriteBatch", GRAPHICS_SPRITE_BATCH_ID}, - {"Canvas", GRAPHICS_CANVAS_ID}, - {"Shader", GRAPHICS_SHADER_ID}, - {"Mesh", GRAPHICS_MESH_ID}, - - // Image - {"ImageData", IMAGE_IMAGE_DATA_ID}, - {"CompressedData", IMAGE_COMPRESSED_DATA_ID}, - - // Joystick - {"Joystick", JOYSTICK_JOYSTICK_ID}, - - // Math - {"RandomGenerator", MATH_RANDOM_GENERATOR_ID}, - {"BezierCurve", MATH_BEZIER_CURVE_ID}, - - // Audio - {"Source", AUDIO_SOURCE_ID}, - - // Sound - {"SoundData", SOUND_SOUND_DATA_ID}, - {"Decoder", SOUND_DECODER_ID}, - - // Mouse - {"Cursor", MOUSE_CURSOR_ID}, - - // Physics - {"World", PHYSICS_WORLD_ID}, - {"Contact", PHYSICS_CONTACT_ID}, - {"Body", PHYSICS_BODY_ID}, - {"Fixture", PHYSICS_FIXTURE_ID}, - {"Shape", PHYSICS_SHAPE_ID}, - {"CircleShape", PHYSICS_CIRCLE_SHAPE_ID}, - {"PolygonShape", PHYSICS_POLYGON_SHAPE_ID}, - {"EdgeShape", PHYSICS_EDGE_SHAPE_ID}, - {"ChainShape", PHYSICS_CHAIN_SHAPE_ID}, - {"Joint", PHYSICS_JOINT_ID}, - {"MouseJoint", PHYSICS_MOUSE_JOINT_ID}, - {"DistanceJoint", PHYSICS_DISTANCE_JOINT_ID}, - {"PrismaticJoint", PHYSICS_PRISMATIC_JOINT_ID}, - {"RevoluteJoint", PHYSICS_REVOLUTE_JOINT_ID}, - {"PulleyJoint", PHYSICS_PULLEY_JOINT_ID}, - {"GearJoint", PHYSICS_GEAR_JOINT_ID}, - {"FrictionJoint", PHYSICS_FRICTION_JOINT_ID}, - {"WeldJoint", PHYSICS_WELD_JOINT_ID}, - {"RopeJoint", PHYSICS_ROPE_JOINT_ID}, - {"WheelJoint", PHYSICS_WHEEL_JOINT_ID}, - {"MotorJoint", PHYSICS_MOTOR_JOINT_ID}, - - // Thread - {"Thread", THREAD_THREAD_ID}, - {"Channel", THREAD_CHANNEL_ID}, - - // The modules themselves. Only add abstracted modules here. - {"filesystem", MODULE_FILESYSTEM_ID}, - {"graphics", MODULE_GRAPHICS_ID}, - {"image", MODULE_IMAGE_ID}, - {"sound", MODULE_SOUND_ID}, -}; - -StringMap types(typeEntries, sizeof(typeEntries)); - -bool getType(const char *in, love::Type &out) -{ - return types.find(in, out); -} - -bool getType(love::Type in, const char *&out) -{ - return types.find(in, out); -} - Type luax_type(lua_State *L, int idx) { Type t = INVALID_ID; - types.find(luaL_checkstring(L, idx), t); + getType(luaL_checkstring(L, idx), t); return t; } diff --git a/src/common/runtime.h b/src/common/runtime.h index b4da0b677..ff227152f 100644 --- a/src/common/runtime.h +++ b/src/common/runtime.h @@ -63,10 +63,10 @@ enum Registry struct Proxy { // Holds type information (see types.h). - bits flags; + Type type; - // The light userdata (pointer to the love::Object). - void *data; + // Pointer to the actual object. + Object *object; }; /** @@ -80,15 +80,14 @@ struct WrappedModule // The name for the table to put the functions in, without the 'love'-prefix. const char *name; - // The type flags of this module. - love::bits flags; + // The type of this module. + love::Type type; // The functions of the module (last element {0,0}). const luaL_Reg *functions; // A list of functions which expose the types of the modules (last element 0). const lua_CFunction *types; - }; /** @@ -241,11 +240,10 @@ int luax_preload(lua_State *L, lua_CFunction f, const char *name); /** * Register a new type. - * @param tname The name of the type. This must not conflict with other type names, - * even from other modules. + * @param type The type. * @param f The list of member functions for the type. **/ -int luax_register_type(lua_State *L, const char *tname, const luaL_Reg *f = 0); +int luax_register_type(lua_State *L, love::Type type, const luaL_Reg *f = 0); /** * Do a table.insert from C @@ -271,10 +269,10 @@ int luax_register_searcher(lua_State *L, lua_CFunction f, int pos = -1); * NOTE: The object will be retained by Lua and released upon garbage collection. * @param L The Lua state. * @param name The name of the type. This must match the name used with luax_register_type. - * @param flags The type information of the object. + * @param type The type information of the object. * @param object The pointer to the actual object. **/ -void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *object); +void luax_pushtype(lua_State *L, const love::Type type, love::Object *object); /** * Creates a new Lua representation of the given object *without* checking if it @@ -285,10 +283,10 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *obj * NOTE: The object will be retained by Lua and released upon garbage collection. * @param L The Lua state. * @param name The name of the type. This must match the name used with luax_register_type. - * @param flags The type information of the object. + * @param type The type information of the object. * @param object The pointer to the actual object. **/ -void luax_rawnewtype(lua_State *L, const char *name, bits flags, love::Object *object); +void luax_rawnewtype(lua_State *L, love::Type type, love::Object *object); /** * Checks whether the value at idx is a certain type. @@ -297,7 +295,7 @@ void luax_rawnewtype(lua_State *L, const char *name, bits flags, love::Object *o * @param type The type to check for. * @return True if the value is Proxy of the specified type, false otherwise. **/ -bool luax_istype(lua_State *L, int idx, love::bits type); +bool luax_istype(lua_State *L, int idx, love::Type type); /** * Gets the function love.module.function and puts it on top of the stack (alone). If the @@ -399,43 +397,57 @@ extern "C" { // Also called from luasocket * @param type The type bit. **/ template -T *luax_checktype(lua_State *L, int idx, const char *name, love::bits type) +T *luax_checktype(lua_State *L, int idx, love::Type type) { if (lua_type(L, idx) != LUA_TUSERDATA) + { + const char *name = "Invalid"; + getType(type, name); luax_typerror(L, idx, name); + } Proxy *u = (Proxy *)lua_touserdata(L, idx); - if ((u->flags & type) != type) + if (!typeFlags[u->type][type]) + { + const char *name = "Invalid"; + getType(type, name); luax_typerror(L, idx, name); + } - return (T *)u->data; + return (T *)u->object; } template -T *luax_getmodule(lua_State *L, const char *k, love::bits type) +T *luax_getmodule(lua_State *L, love::Type type) { + const char *name = "Invalid"; + getType(type, name); + luax_insistregistry(L, REGISTRY_MODULES); - lua_getfield(L, -1, k); + lua_getfield(L, -1, name); if (!lua_isuserdata(L, -1)) - luaL_error(L, "Tried to get nonexistant module %s.", k); + luaL_error(L, "Tried to get nonexistant module %s.", name); Proxy *u = (Proxy *)lua_touserdata(L, -1); - if ((u->flags & type) != type) - luaL_error(L, "Incorrect module %s", k); + if (!typeFlags[u->type][type]) + luaL_error(L, "Incorrect module %s", name); lua_pop(L, 2); - return (T *)u->data; + return (T *)u->object; } template -T *luax_optmodule(lua_State *L, const char *k, love::bits type) +T *luax_optmodule(lua_State *L, love::Type type) { + const char *name = "Invalid"; + getType(type, name); + luax_insistregistry(L, REGISTRY_MODULES); - lua_getfield(L, -1, k); + lua_getfield(L, -1, name); if (!lua_isuserdata(L, -1)) { @@ -445,12 +457,12 @@ T *luax_optmodule(lua_State *L, const char *k, love::bits type) Proxy *u = (Proxy *)lua_touserdata(L, -1); - if ((u->flags & type) != type) - luaL_error(L, "Incorrect module %s", k); + if (!typeFlags[u->type][type]) + luaL_error(L, "Incorrect module %s", name); lua_pop(L, 2); - return (T *) u->data; + return (T *) u->object; } /** @@ -459,13 +471,12 @@ T *luax_optmodule(lua_State *L, const char *k, love::bits type) * luax_istype, then this can be safely used. Otherwise, use luax_checktype. * @param L The Lua state. * @param idx The index on the stack. - * @param name The name of the type. - * @param type The type bit. + * @param type The type of the object. **/ template -T *luax_totype(lua_State *L, int idx, const char * /* name */, love::bits /* type */) +T *luax_totype(lua_State *L, int idx, love::Type /*type*/) { - return (T *)(((Proxy *)lua_touserdata(L, idx))->data); + return (T *)(((Proxy *)lua_touserdata(L, idx))->object); } Type luax_type(lua_State *L, int idx); diff --git a/src/common/types.cpp b/src/common/types.cpp new file mode 100644 index 000000000..66c4b28db --- /dev/null +++ b/src/common/types.cpp @@ -0,0 +1,217 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "types.h" +#include "StringMap.h" + +namespace love +{ + +static const TypeBits *createTypeFlags() +{ + static TypeBits b[TYPE_MAX_ENUM]; + TypeBits one = TypeBits(1); + + b[INVALID_ID] = one << INVALID_ID; + + b[OBJECT_ID] = one << OBJECT_ID; + b[DATA_ID] = (one << DATA_ID) | b[OBJECT_ID]; + b[MODULE_ID] = (one << MODULE_ID) | b[OBJECT_ID]; + + // Filesystem. + b[FILESYSTEM_FILE_ID] = (one << FILESYSTEM_FILE_ID) | b[OBJECT_ID]; + b[FILESYSTEM_DROPPED_FILE_ID] = (one << FILESYSTEM_DROPPED_FILE_ID) | b[FILESYSTEM_FILE_ID]; + b[FILESYSTEM_FILE_DATA_ID] = (one << FILESYSTEM_FILE_DATA_ID) | b[DATA_ID]; + + b[FONT_GLYPH_DATA_ID] = (one << FONT_GLYPH_DATA_ID) | b[DATA_ID]; + b[FONT_RASTERIZER_ID] = (one << FONT_RASTERIZER_ID) | b[OBJECT_ID]; + + // Graphics. + b[GRAPHICS_DRAWABLE_ID] = (one << GRAPHICS_DRAWABLE_ID) | b[OBJECT_ID]; + b[GRAPHICS_TEXTURE_ID] = (one << GRAPHICS_TEXTURE_ID) | b[GRAPHICS_DRAWABLE_ID]; + b[GRAPHICS_IMAGE_ID] = (one << GRAPHICS_IMAGE_ID) | b[GRAPHICS_TEXTURE_ID]; + b[GRAPHICS_QUAD_ID] = (one << GRAPHICS_QUAD_ID) | b[OBJECT_ID]; + b[GRAPHICS_FONT_ID] = (one << GRAPHICS_FONT_ID) | b[OBJECT_ID]; + b[GRAPHICS_PARTICLE_SYSTEM_ID] = (one << GRAPHICS_PARTICLE_SYSTEM_ID) | b[GRAPHICS_DRAWABLE_ID]; + b[GRAPHICS_SPRITE_BATCH_ID] = (one << GRAPHICS_SPRITE_BATCH_ID) | b[GRAPHICS_DRAWABLE_ID]; + b[GRAPHICS_CANVAS_ID] = (one << GRAPHICS_CANVAS_ID) | b[GRAPHICS_TEXTURE_ID]; + b[GRAPHICS_SHADER_ID] = (one << GRAPHICS_SHADER_ID) | b[OBJECT_ID]; + b[GRAPHICS_MESH_ID] = (one << GRAPHICS_MESH_ID) | b[GRAPHICS_DRAWABLE_ID]; + b[GRAPHICS_TEXT_ID] = (one << GRAPHICS_TEXT_ID) | b[GRAPHICS_DRAWABLE_ID]; + + // Image. + b[IMAGE_IMAGE_DATA_ID] = (one << IMAGE_IMAGE_DATA_ID) | b[DATA_ID]; + b[IMAGE_COMPRESSED_DATA_ID] = (one << IMAGE_COMPRESSED_DATA_ID) | b[DATA_ID]; + + // Joystick. + b[JOYSTICK_JOYSTICK_ID] = (one << JOYSTICK_JOYSTICK_ID) | b[OBJECT_ID]; + + // Math. + b[MATH_RANDOM_GENERATOR_ID] = (one << MATH_RANDOM_GENERATOR_ID) | b[OBJECT_ID]; + b[MATH_BEZIER_CURVE_ID] = (one << MATH_BEZIER_CURVE_ID) | b[OBJECT_ID]; + + // Audio. + b[AUDIO_SOURCE_ID] = (one << AUDIO_SOURCE_ID) | b[OBJECT_ID]; + + // Sound. + b[SOUND_SOUND_DATA_ID] = (one << SOUND_SOUND_DATA_ID) | b[DATA_ID]; + b[SOUND_DECODER_ID] = one << SOUND_DECODER_ID; + + // Mouse. + b[MOUSE_CURSOR_ID] = (one << MOUSE_CURSOR_ID) | b[OBJECT_ID]; + + // Physics. + b[PHYSICS_WORLD_ID] = (one << PHYSICS_WORLD_ID) | b[OBJECT_ID]; + b[PHYSICS_CONTACT_ID] = (one << PHYSICS_CONTACT_ID) | b[OBJECT_ID]; + b[PHYSICS_BODY_ID] = (one << PHYSICS_BODY_ID) | b[OBJECT_ID]; + b[PHYSICS_FIXTURE_ID] = (one << PHYSICS_FIXTURE_ID) | b[OBJECT_ID]; + b[PHYSICS_SHAPE_ID] = (one << PHYSICS_SHAPE_ID) | b[OBJECT_ID]; + b[PHYSICS_CIRCLE_SHAPE_ID] = (one << PHYSICS_CIRCLE_SHAPE_ID) | b[PHYSICS_SHAPE_ID]; + b[PHYSICS_POLYGON_SHAPE_ID] = (one << PHYSICS_POLYGON_SHAPE_ID) | b[PHYSICS_SHAPE_ID]; + b[PHYSICS_EDGE_SHAPE_ID] = (one << PHYSICS_EDGE_SHAPE_ID) | b[PHYSICS_SHAPE_ID]; + b[PHYSICS_CHAIN_SHAPE_ID] = (one << PHYSICS_CHAIN_SHAPE_ID) | b[PHYSICS_SHAPE_ID]; + b[PHYSICS_JOINT_ID] = (one << PHYSICS_JOINT_ID) | b[OBJECT_ID]; + b[PHYSICS_MOUSE_JOINT_ID] = (one << PHYSICS_MOUSE_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_DISTANCE_JOINT_ID] = (one << PHYSICS_DISTANCE_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_PRISMATIC_JOINT_ID] = (one << PHYSICS_PRISMATIC_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_REVOLUTE_JOINT_ID] = (one << PHYSICS_REVOLUTE_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_PULLEY_JOINT_ID] = (one << PHYSICS_PULLEY_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_GEAR_JOINT_ID] = (one << PHYSICS_GEAR_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_FRICTION_JOINT_ID] = (one << PHYSICS_FRICTION_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_WELD_JOINT_ID] = (one << PHYSICS_WELD_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_ROPE_JOINT_ID] = (one << PHYSICS_ROPE_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_WHEEL_JOINT_ID] = (one << PHYSICS_WHEEL_JOINT_ID) | b[PHYSICS_JOINT_ID]; + b[PHYSICS_MOTOR_JOINT_ID] = (one << PHYSICS_MOTOR_JOINT_ID) | b[PHYSICS_JOINT_ID]; + + // Thread. + b[THREAD_THREAD_ID] = (one << THREAD_THREAD_ID) | b[OBJECT_ID]; + b[THREAD_CHANNEL_ID] = (one << THREAD_CHANNEL_ID) | b[OBJECT_ID]; + + // Modules. + b[MODULE_FILESYSTEM_ID] = (one << MODULE_FILESYSTEM_ID) | b[MODULE_ID]; + b[MODULE_GRAPHICS_ID] = (one << MODULE_GRAPHICS_ID) | b[MODULE_ID]; + b[MODULE_IMAGE_ID] = (one << MODULE_IMAGE_ID) | b[MODULE_ID]; + b[MODULE_SOUND_ID] = (one << MODULE_SOUND_ID) | b[MODULE_ID]; + + return b; +} + +const TypeBits *typeFlags = createTypeFlags(); + +StringMap::Entry typeEntries[] = +{ + {"Invalid", INVALID_ID}, + + {"Object", OBJECT_ID}, + {"Data", DATA_ID}, + {"Module", MODULE_ID}, + + // Filesystem + {"File", FILESYSTEM_FILE_ID}, + {"DroppedFile", FILESYSTEM_DROPPED_FILE_ID}, + {"FileData", FILESYSTEM_FILE_DATA_ID}, + + // Font + {"GlyphData", FONT_GLYPH_DATA_ID}, + {"Rasterizer", FONT_RASTERIZER_ID}, + + // Graphics + {"Drawable", GRAPHICS_DRAWABLE_ID}, + {"Texture", GRAPHICS_TEXTURE_ID}, + {"Image", GRAPHICS_IMAGE_ID}, + {"Quad", GRAPHICS_QUAD_ID}, + {"Font", GRAPHICS_FONT_ID}, + {"ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_ID}, + {"SpriteBatch", GRAPHICS_SPRITE_BATCH_ID}, + {"Canvas", GRAPHICS_CANVAS_ID}, + {"Shader", GRAPHICS_SHADER_ID}, + {"Mesh", GRAPHICS_MESH_ID}, + {"Text", GRAPHICS_TEXT_ID}, + + // Image + {"ImageData", IMAGE_IMAGE_DATA_ID}, + {"CompressedData", IMAGE_COMPRESSED_DATA_ID}, + + // Joystick + {"Joystick", JOYSTICK_JOYSTICK_ID}, + + // Math + {"RandomGenerator", MATH_RANDOM_GENERATOR_ID}, + {"BezierCurve", MATH_BEZIER_CURVE_ID}, + + // Audio + {"Source", AUDIO_SOURCE_ID}, + + // Sound + {"SoundData", SOUND_SOUND_DATA_ID}, + {"Decoder", SOUND_DECODER_ID}, + + // Mouse + {"Cursor", MOUSE_CURSOR_ID}, + + // Physics + {"World", PHYSICS_WORLD_ID}, + {"Contact", PHYSICS_CONTACT_ID}, + {"Body", PHYSICS_BODY_ID}, + {"Fixture", PHYSICS_FIXTURE_ID}, + {"Shape", PHYSICS_SHAPE_ID}, + {"CircleShape", PHYSICS_CIRCLE_SHAPE_ID}, + {"PolygonShape", PHYSICS_POLYGON_SHAPE_ID}, + {"EdgeShape", PHYSICS_EDGE_SHAPE_ID}, + {"ChainShape", PHYSICS_CHAIN_SHAPE_ID}, + {"Joint", PHYSICS_JOINT_ID}, + {"MouseJoint", PHYSICS_MOUSE_JOINT_ID}, + {"DistanceJoint", PHYSICS_DISTANCE_JOINT_ID}, + {"PrismaticJoint", PHYSICS_PRISMATIC_JOINT_ID}, + {"RevoluteJoint", PHYSICS_REVOLUTE_JOINT_ID}, + {"PulleyJoint", PHYSICS_PULLEY_JOINT_ID}, + {"GearJoint", PHYSICS_GEAR_JOINT_ID}, + {"FrictionJoint", PHYSICS_FRICTION_JOINT_ID}, + {"WeldJoint", PHYSICS_WELD_JOINT_ID}, + {"RopeJoint", PHYSICS_ROPE_JOINT_ID}, + {"WheelJoint", PHYSICS_WHEEL_JOINT_ID}, + {"MotorJoint", PHYSICS_MOTOR_JOINT_ID}, + + // Thread + {"Thread", THREAD_THREAD_ID}, + {"Channel", THREAD_CHANNEL_ID}, + + // The modules themselves. Only add abstracted modules here. + {"filesystem", MODULE_FILESYSTEM_ID}, + {"graphics", MODULE_GRAPHICS_ID}, + {"image", MODULE_IMAGE_ID}, + {"sound", MODULE_SOUND_ID}, +}; + +StringMap types(typeEntries, sizeof(typeEntries)); + +static_assert((sizeof(typeEntries) / sizeof(typeEntries[0])) == TYPE_MAX_ENUM, "Type name array size doesn't match the total number of type IDs!"); + +bool getType(const char *in, love::Type &out) +{ + return types.find(in, out); +} + +bool getType(love::Type in, const char *&out) +{ + return types.find(in, out); +} + +} // love diff --git a/src/common/types.h b/src/common/types.h index 4d71ec032..6566af089 100644 --- a/src/common/types.h +++ b/src/common/types.h @@ -37,6 +37,7 @@ enum Type // Filesystem. FILESYSTEM_FILE_ID, + FILESYSTEM_DROPPED_FILE_ID, FILESYSTEM_FILE_DATA_ID, // Font @@ -54,6 +55,7 @@ enum Type GRAPHICS_CANVAS_ID, GRAPHICS_SHADER_ID, GRAPHICS_MESH_ID, + GRAPHICS_TEXT_ID, // Image IMAGE_IMAGE_DATA_ID, @@ -113,89 +115,15 @@ enum Type TYPE_MAX_ENUM }; -typedef std::bitset bits; +typedef std::bitset TypeBits; -const bits INVALID_T = bits(1) << INVALID_ID; - -const bits OBJECT_T = bits(1) << OBJECT_ID; -const bits DATA_T = (bits(1) << DATA_ID) | OBJECT_T; -const bits MODULE_T = (bits(1) << MODULE_ID) | OBJECT_T; - -// Filesystem. -const bits FILESYSTEM_FILE_T = (bits(1) << FILESYSTEM_FILE_ID) | OBJECT_T; -const bits FILESYSTEM_FILE_DATA_T = (bits(1) << FILESYSTEM_FILE_DATA_ID) | DATA_T; - -const bits FONT_GLYPH_DATA_T = (bits(1) << FONT_GLYPH_DATA_ID) | DATA_T; -const bits FONT_RASTERIZER_T = (bits(1) << FONT_RASTERIZER_ID) | OBJECT_T; - -// Graphics. -const bits GRAPHICS_DRAWABLE_T = (bits(1) << GRAPHICS_DRAWABLE_ID) | OBJECT_T; -const bits GRAPHICS_TEXTURE_T = (bits(1) << GRAPHICS_TEXTURE_ID) | GRAPHICS_DRAWABLE_T; -const bits GRAPHICS_IMAGE_T = (bits(1) << GRAPHICS_IMAGE_ID) | GRAPHICS_TEXTURE_T; -const bits GRAPHICS_QUAD_T = (bits(1) << GRAPHICS_QUAD_ID) | OBJECT_T; -const bits GRAPHICS_FONT_T = (bits(1) << GRAPHICS_FONT_ID) | OBJECT_T; -const bits GRAPHICS_PARTICLE_SYSTEM_T = (bits(1) << GRAPHICS_PARTICLE_SYSTEM_ID) | GRAPHICS_DRAWABLE_T; -const bits GRAPHICS_SPRITE_BATCH_T = (bits(1) << GRAPHICS_SPRITE_BATCH_ID) | GRAPHICS_DRAWABLE_T; -const bits GRAPHICS_CANVAS_T = (bits(1) << GRAPHICS_CANVAS_ID) | GRAPHICS_TEXTURE_T; -const bits GRAPHICS_SHADER_T = (bits(1) << GRAPHICS_SHADER_ID) | OBJECT_T; -const bits GRAPHICS_MESH_T = (bits(1) << GRAPHICS_MESH_ID) | GRAPHICS_DRAWABLE_T; - -// Image. -const bits IMAGE_IMAGE_DATA_T = (bits(1) << IMAGE_IMAGE_DATA_ID) | DATA_T; -const bits IMAGE_COMPRESSED_DATA_T = (bits(1) << IMAGE_COMPRESSED_DATA_ID) | DATA_T; - -// Joystick. -const bits JOYSTICK_JOYSTICK_T = (bits(1) << JOYSTICK_JOYSTICK_ID) | OBJECT_T; - -// Math. -const bits MATH_RANDOM_GENERATOR_T = (bits(1) << MATH_RANDOM_GENERATOR_ID) | OBJECT_T; -const bits MATH_BEZIER_CURVE_T = (bits(1) << MATH_BEZIER_CURVE_ID) | OBJECT_T; - -// Audio. -const bits AUDIO_SOURCE_T = (bits(1) << AUDIO_SOURCE_ID) | OBJECT_T; - -// Sound. -const bits SOUND_SOUND_DATA_T = (bits(1) << SOUND_SOUND_DATA_ID) | DATA_T; -const bits SOUND_DECODER_T = bits(1) << SOUND_DECODER_ID; - -// Mouse. -const bits MOUSE_CURSOR_T = (bits(1) << MOUSE_CURSOR_ID) | OBJECT_T; - -// Physics. -const bits PHYSICS_WORLD_T = (bits(1) << PHYSICS_WORLD_ID) | OBJECT_T; -const bits PHYSICS_CONTACT_T = (bits(1) << PHYSICS_CONTACT_ID) | OBJECT_T; -const bits PHYSICS_BODY_T = (bits(1) << PHYSICS_BODY_ID) | OBJECT_T; -const bits PHYSICS_FIXTURE_T = (bits(1) << PHYSICS_FIXTURE_ID) | OBJECT_T; -const bits PHYSICS_SHAPE_T = (bits(1) << PHYSICS_SHAPE_ID) | OBJECT_T; -const bits PHYSICS_CIRCLE_SHAPE_T = (bits(1) << PHYSICS_CIRCLE_SHAPE_ID) | PHYSICS_SHAPE_T; -const bits PHYSICS_POLYGON_SHAPE_T = (bits(1) << PHYSICS_POLYGON_SHAPE_ID) | PHYSICS_SHAPE_T; -const bits PHYSICS_EDGE_SHAPE_T = (bits(1) << PHYSICS_EDGE_SHAPE_ID) | PHYSICS_SHAPE_T; -const bits PHYSICS_CHAIN_SHAPE_T = (bits(1) << PHYSICS_CHAIN_SHAPE_ID) | PHYSICS_SHAPE_T; -const bits PHYSICS_JOINT_T = (bits(1) << PHYSICS_JOINT_ID) | OBJECT_T; -const bits PHYSICS_MOUSE_JOINT_T = (bits(1) << PHYSICS_MOUSE_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_DISTANCE_JOINT_T = (bits(1) << PHYSICS_DISTANCE_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_PRISMATIC_JOINT_T = (bits(1) << PHYSICS_PRISMATIC_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_REVOLUTE_JOINT_T = (bits(1) << PHYSICS_REVOLUTE_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_PULLEY_JOINT_T = (bits(1) << PHYSICS_PULLEY_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_GEAR_JOINT_T = (bits(1) << PHYSICS_GEAR_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_FRICTION_JOINT_T = (bits(1) << PHYSICS_FRICTION_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_WELD_JOINT_T = (bits(1) << PHYSICS_WELD_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_ROPE_JOINT_T = (bits(1) << PHYSICS_ROPE_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_WHEEL_JOINT_T = (bits(1) << PHYSICS_WHEEL_JOINT_ID) | PHYSICS_JOINT_T; -const bits PHYSICS_MOTOR_JOINT_T = (bits(1) << PHYSICS_MOTOR_JOINT_ID) | PHYSICS_JOINT_T; - -// Thread. -const bits THREAD_THREAD_T = (bits(1) << THREAD_THREAD_ID) | OBJECT_T; -const bits THREAD_CHANNEL_T = (bits(1) << THREAD_CHANNEL_ID) | OBJECT_T; - -// Modules. -const bits MODULE_FILESYSTEM_T = (bits(1) << MODULE_FILESYSTEM_ID) | MODULE_T; -const bits MODULE_GRAPHICS_T = (bits(1) << MODULE_GRAPHICS_ID) | MODULE_T; -const bits MODULE_IMAGE_T = (bits(1) << MODULE_IMAGE_ID) | MODULE_T; -const bits MODULE_SOUND_T = (bits(1) << MODULE_SOUND_ID) | MODULE_T; +/** + * Array of length TYPE_MAX_ENUM containing the flags for each love Type. + **/ +extern const TypeBits *typeFlags; bool getType(const char *in, Type &out); -bool getType(Type in, const char *&out); +bool getType(Type in, const char *&out); } // love diff --git a/src/common/version.h b/src/common/version.h index f96c42d15..54bdc1911 100644 --- a/src/common/version.h +++ b/src/common/version.h @@ -25,13 +25,13 @@ namespace love { // Version stuff. -#define LOVE_VERSION_STRING "0.9.2" -const int VERSION_MAJOR = 0; -const int VERSION_MINOR = 9; -const int VERSION_REV = 2; -const char *VERSION = LOVE_VERSION_STRING; -const char *VERSION_COMPATIBILITY[] = { VERSION, "0.9.1", "0.9.0", 0 }; -const char *VERSION_CODENAME = "Baby Inspector"; +#define LOVE_VERSION_STRING "0.10.0" +static const int VERSION_MAJOR = 0; +static const int VERSION_MINOR = 10; +static const int VERSION_REV = 0; +static const char *VERSION = LOVE_VERSION_STRING; +static const char *VERSION_COMPATIBILITY[] = { VERSION, 0 }; +static const char *VERSION_CODENAME = ""; } // love diff --git a/src/common/wrap_Data.cpp b/src/common/wrap_Data.cpp index 1485326be..646d09b77 100644 --- a/src/common/wrap_Data.cpp +++ b/src/common/wrap_Data.cpp @@ -25,7 +25,7 @@ namespace love Data *luax_checkdata(lua_State *L, int idx) { - return luax_checktype(L, idx, "Data", DATA_T); + return luax_checktype(L, idx, DATA_ID); } int w_Data_getString(lua_State *L) @@ -59,7 +59,7 @@ const luaL_Reg w_Data_functions[] = int w_Data_open(lua_State *L) { - luax_register_type(L, "Data", w_Data_functions); + luax_register_type(L, DATA_ID, w_Data_functions); return 0; } diff --git a/src/libraries/glad/glad.cpp b/src/libraries/glad/glad.cpp new file mode 100644 index 000000000..d9e41f5a8 --- /dev/null +++ b/src/libraries/glad/glad.cpp @@ -0,0 +1,6888 @@ +#include +#include "glad.hpp" + +namespace glad { + + +#ifdef GLAD_USE_SDL +#include +#if !SDL_VERSION_ATLEAST(2,0,0) +#error SDL 2 is required! +#endif +#else +#include +#endif + +bool gladLoadGL(void) { +#ifdef GLAD_USE_SDL + return gladLoadGLLoader(SDL_GL_GetProcAddress); +#else + // generic gladLoadGL is not implemented, use gladLoadGLLoader or define GLAD_USE_SDL + assert(0); + return false; +#endif +} + +struct { + int major; + int minor; + int gles; +} GLVersion; + + +static bool has_ext(const char *ext) { + if(GLVersion.major < 3) { + const char *extensions; + const char *loc; + const char *terminator; + extensions = (const char *)fp_glGetString(GL_EXTENSIONS); + if(extensions == NULL || ext == NULL) { + return false; + } + + while(1) { + loc = strstr(extensions, ext); + if(loc == NULL) { + return false; + } + + terminator = loc + strlen(ext); + if((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return true; + } + extensions = terminator; + } + } else { + int num; + fp_glGetIntegerv(GL_NUM_EXTENSIONS, &num); + + int index; + for(index = 0; index < num; index++) { + const char *e = (const char*)fp_glGetStringi(GL_EXTENSIONS, index); + if(strcmp(e, ext) == 0) { + return true; + } + } + } + + return false; +} + +pfn_glCopyTexImage1D fp_glCopyTexImage1D; +pfn_glTextureParameterf fp_glTextureParameterf; +pfn_glVertexAttribI3ui fp_glVertexAttribI3ui; +pfn_glVertexArrayElementBuffer fp_glVertexArrayElementBuffer; +pfn_glWindowPos2s fp_glWindowPos2s; +pfn_glTextureStorage3DMultisample fp_glTextureStorage3DMultisample; +pfn_glTextureParameterfv fp_glTextureParameterfv; +pfn_glWindowPos2i fp_glWindowPos2i; +pfn_glWindowPos2f fp_glWindowPos2f; +pfn_glWindowPos2d fp_glWindowPos2d; +pfn_glVertex2fv fp_glVertex2fv; +pfn_glIndexi fp_glIndexi; +pfn_glFramebufferRenderbuffer fp_glFramebufferRenderbuffer; +pfn_glUniformSubroutinesuiv fp_glUniformSubroutinesuiv; +pfn_glRectdv fp_glRectdv; +pfn_glCompressedTexSubImage3D fp_glCompressedTexSubImage3D; +pfn_glEvalCoord2d fp_glEvalCoord2d; +pfn_glEvalCoord2f fp_glEvalCoord2f; +pfn_glGetDoublei_v fp_glGetDoublei_v; +pfn_glIndexd fp_glIndexd; +pfn_glVertexAttrib1sv fp_glVertexAttrib1sv; +pfn_glIndexf fp_glIndexf; +pfn_glBindSampler fp_glBindSampler; +pfn_glLineWidth fp_glLineWidth; +pfn_glColorP3uiv fp_glColorP3uiv; +pfn_glGetIntegeri_v fp_glGetIntegeri_v; +pfn_glGetMapfv fp_glGetMapfv; +pfn_glIndexs fp_glIndexs; +pfn_glCompileShader fp_glCompileShader; +pfn_glGetTransformFeedbackVarying fp_glGetTransformFeedbackVarying; +pfn_glWindowPos2iv fp_glWindowPos2iv; +pfn_glDrawTransformFeedbackStreamInstanced fp_glDrawTransformFeedbackStreamInstanced; +pfn_glIndexfv fp_glIndexfv; +pfn_glGetCompressedTextureImage fp_glGetCompressedTextureImage; +pfn_glGetnMapfv fp_glGetnMapfv; +pfn_glFogiv fp_glFogiv; +pfn_glStencilMaskSeparate fp_glStencilMaskSeparate; +pfn_glRasterPos2fv fp_glRasterPos2fv; +pfn_glLightModeliv fp_glLightModeliv; +pfn_glDepthRangef fp_glDepthRangef; +pfn_glColor4ui fp_glColor4ui; +pfn_glSecondaryColor3fv fp_glSecondaryColor3fv; +pfn_glMultiTexCoordP3ui fp_glMultiTexCoordP3ui; +pfn_glMemoryBarrierByRegion fp_glMemoryBarrierByRegion; +pfn_glGetNamedBufferParameteriv fp_glGetNamedBufferParameteriv; +pfn_glFogfv fp_glFogfv; +pfn_glVertexP4ui fp_glVertexP4ui; +pfn_glDrawElementsInstancedBaseInstance fp_glDrawElementsInstancedBaseInstance; +pfn_glEnablei fp_glEnablei; +pfn_glProgramUniform3dv fp_glProgramUniform3dv; +pfn_glVertex4iv fp_glVertex4iv; +pfn_glEvalCoord1fv fp_glEvalCoord1fv; +pfn_glWindowPos2sv fp_glWindowPos2sv; +pfn_glVertexAttribP4ui fp_glVertexAttribP4ui; +pfn_glCreateShader fp_glCreateShader; +pfn_glIsBuffer fp_glIsBuffer; +pfn_glGetMultisamplefv fp_glGetMultisamplefv; +pfn_glProgramUniformMatrix2dv fp_glProgramUniformMatrix2dv; +pfn_glGenRenderbuffers fp_glGenRenderbuffers; +pfn_glCopyTexSubImage2D fp_glCopyTexSubImage2D; +pfn_glCompressedTexImage2D fp_glCompressedTexImage2D; +pfn_glVertexAttrib1f fp_glVertexAttrib1f; +pfn_glBlendFuncSeparate fp_glBlendFuncSeparate; +pfn_glVertex4fv fp_glVertex4fv; +pfn_glMinSampleShading fp_glMinSampleShading; +pfn_glClearNamedFramebufferfi fp_glClearNamedFramebufferfi; +pfn_glBindTexture fp_glBindTexture; +pfn_glVertexAttrib1s fp_glVertexAttrib1s; +pfn_glTexCoord2fv fp_glTexCoord2fv; +pfn_glSampleMaski fp_glSampleMaski; +pfn_glVertexP2ui fp_glVertexP2ui; +pfn_glDrawRangeElementsBaseVertex fp_glDrawRangeElementsBaseVertex; +pfn_glTexCoord4fv fp_glTexCoord4fv; +pfn_glUniformMatrix3x2fv fp_glUniformMatrix3x2fv; +pfn_glDebugMessageControl fp_glDebugMessageControl; +pfn_glPointSize fp_glPointSize; +pfn_glBindTextureUnit fp_glBindTextureUnit; +pfn_glVertexAttrib2dv fp_glVertexAttrib2dv; +pfn_glDeleteProgram fp_glDeleteProgram; +pfn_glColor4bv fp_glColor4bv; +pfn_glRasterPos2f fp_glRasterPos2f; +pfn_glRasterPos2d fp_glRasterPos2d; +pfn_glLoadIdentity fp_glLoadIdentity; +pfn_glRasterPos2i fp_glRasterPos2i; +pfn_glMultiDrawArraysIndirect fp_glMultiDrawArraysIndirect; +pfn_glRenderbufferStorage fp_glRenderbufferStorage; +pfn_glUniformMatrix4x3fv fp_glUniformMatrix4x3fv; +pfn_glColor3b fp_glColor3b; +pfn_glClearBufferfv fp_glClearBufferfv; +pfn_glEdgeFlag fp_glEdgeFlag; +pfn_glDeleteSamplers fp_glDeleteSamplers; +pfn_glVertex3d fp_glVertex3d; +pfn_glVertex3f fp_glVertex3f; +pfn_glGetnMapiv fp_glGetnMapiv; +pfn_glVertex3i fp_glVertex3i; +pfn_glColor3i fp_glColor3i; +pfn_glUniform3d fp_glUniform3d; +pfn_glUniform3f fp_glUniform3f; +pfn_glVertexAttrib4ubv fp_glVertexAttrib4ubv; +pfn_glColor3s fp_glColor3s; +pfn_glVertex3s fp_glVertex3s; +pfn_glTexCoordP2ui fp_glTexCoordP2ui; +pfn_glColorMaski fp_glColorMaski; +pfn_glClearBufferfi fp_glClearBufferfi; +pfn_glDrawArraysIndirect fp_glDrawArraysIndirect; +pfn_glTexCoord1iv fp_glTexCoord1iv; +pfn_glBlitFramebuffer fp_glBlitFramebuffer; +pfn_glPauseTransformFeedback fp_glPauseTransformFeedback; +pfn_glMultiTexCoordP2ui fp_glMultiTexCoordP2ui; +pfn_glProgramUniformMatrix3x2dv fp_glProgramUniformMatrix3x2dv; +pfn_glCopyNamedBufferSubData fp_glCopyNamedBufferSubData; +pfn_glNamedFramebufferTexture fp_glNamedFramebufferTexture; +pfn_glProgramUniformMatrix3x2fv fp_glProgramUniformMatrix3x2fv; +pfn_glGetSamplerParameterIiv fp_glGetSamplerParameterIiv; +pfn_glGetFragDataIndex fp_glGetFragDataIndex; +pfn_glVertexAttribL4d fp_glVertexAttribL4d; +pfn_glBindImageTexture fp_glBindImageTexture; +pfn_glVertexAttrib3f fp_glVertexAttrib3f; +pfn_glProgramUniformMatrix4fv fp_glProgramUniformMatrix4fv; +pfn_glVertex2iv fp_glVertex2iv; +pfn_glColor3sv fp_glColor3sv; +pfn_glGetVertexAttribdv fp_glGetVertexAttribdv; +pfn_glActiveShaderProgram fp_glActiveShaderProgram; +pfn_glUniformMatrix3x4fv fp_glUniformMatrix3x4fv; +pfn_glUniformMatrix3dv fp_glUniformMatrix3dv; +pfn_glNormalPointer fp_glNormalPointer; +pfn_glTexCoordP3uiv fp_glTexCoordP3uiv; +pfn_glVertex4sv fp_glVertex4sv; +pfn_glVertexArrayAttribLFormat fp_glVertexArrayAttribLFormat; +pfn_glInvalidateBufferSubData fp_glInvalidateBufferSubData; +pfn_glPassThrough fp_glPassThrough; +pfn_glMultiTexCoordP4ui fp_glMultiTexCoordP4ui; +pfn_glFogi fp_glFogi; +pfn_glBegin fp_glBegin; +pfn_glEvalCoord2dv fp_glEvalCoord2dv; +pfn_glColor3ubv fp_glColor3ubv; +pfn_glVertexPointer fp_glVertexPointer; +pfn_glSecondaryColor3uiv fp_glSecondaryColor3uiv; +pfn_glDeleteFramebuffers fp_glDeleteFramebuffers; +pfn_glDrawArrays fp_glDrawArrays; +pfn_glUniform1ui fp_glUniform1ui; +pfn_glGetTransformFeedbackiv fp_glGetTransformFeedbackiv; +pfn_glMultiTexCoord1d fp_glMultiTexCoord1d; +pfn_glMultiTexCoord1f fp_glMultiTexCoord1f; +pfn_glProgramParameteri fp_glProgramParameteri; +pfn_glLightfv fp_glLightfv; +pfn_glTexCoordP3ui fp_glTexCoordP3ui; +pfn_glVertexAttrib3d fp_glVertexAttrib3d; +pfn_glClear fp_glClear; +pfn_glMultiTexCoord1i fp_glMultiTexCoord1i; +pfn_glGetActiveUniformName fp_glGetActiveUniformName; +pfn_glMemoryBarrier fp_glMemoryBarrier; +pfn_glGetGraphicsResetStatus fp_glGetGraphicsResetStatus; +pfn_glMultiTexCoord1s fp_glMultiTexCoord1s; +pfn_glIsEnabled fp_glIsEnabled; +pfn_glStencilOp fp_glStencilOp; +pfn_glGetQueryObjectuiv fp_glGetQueryObjectuiv; +pfn_glFramebufferTexture2D fp_glFramebufferTexture2D; +pfn_glGetFramebufferAttachmentParameteriv fp_glGetFramebufferAttachmentParameteriv; +pfn_glTranslatef fp_glTranslatef; +pfn_glVertexAttrib4Nub fp_glVertexAttrib4Nub; +pfn_glTranslated fp_glTranslated; +pfn_glTexCoord3sv fp_glTexCoord3sv; +pfn_glGetFragDataLocation fp_glGetFragDataLocation; +pfn_glGetTextureParameterIiv fp_glGetTextureParameterIiv; +pfn_glTexImage1D fp_glTexImage1D; +pfn_glCopyTextureSubImage3D fp_glCopyTextureSubImage3D; +pfn_glVertexP3uiv fp_glVertexP3uiv; +pfn_glTexParameteriv fp_glTexParameteriv; +pfn_glVertexArrayAttribIFormat fp_glVertexArrayAttribIFormat; +pfn_glSecondaryColor3bv fp_glSecondaryColor3bv; +pfn_glGetMaterialfv fp_glGetMaterialfv; +pfn_glGetTexImage fp_glGetTexImage; +pfn_glFogCoordfv fp_glFogCoordfv; +pfn_glPixelMapuiv fp_glPixelMapuiv; +pfn_glGetShaderInfoLog fp_glGetShaderInfoLog; +pfn_glGetQueryObjecti64v fp_glGetQueryObjecti64v; +pfn_glGenFramebuffers fp_glGenFramebuffers; +pfn_glCreateTextures fp_glCreateTextures; +pfn_glTransformFeedbackBufferBase fp_glTransformFeedbackBufferBase; +pfn_glIndexsv fp_glIndexsv; +pfn_glClearTexSubImage fp_glClearTexSubImage; +pfn_glProgramUniformMatrix3x4dv fp_glProgramUniformMatrix3x4dv; +pfn_glGetAttachedShaders fp_glGetAttachedShaders; +pfn_glIsRenderbuffer fp_glIsRenderbuffer; +pfn_glVertex3iv fp_glVertex3iv; +pfn_glBitmap fp_glBitmap; +pfn_glGetDebugMessageLog fp_glGetDebugMessageLog; +pfn_glProgramUniform1uiv fp_glProgramUniform1uiv; +pfn_glMateriali fp_glMateriali; +pfn_glIsVertexArray fp_glIsVertexArray; +pfn_glDisableVertexAttribArray fp_glDisableVertexAttribArray; +pfn_glProgramUniform2iv fp_glProgramUniform2iv; +pfn_glGetQueryiv fp_glGetQueryiv; +pfn_glTexCoord4f fp_glTexCoord4f; +pfn_glBlitNamedFramebuffer fp_glBlitNamedFramebuffer; +pfn_glTexCoord4d fp_glTexCoord4d; +pfn_glCreateQueries fp_glCreateQueries; +pfn_glGetSamplerParameterfv fp_glGetSamplerParameterfv; +pfn_glTexCoord4i fp_glTexCoord4i; +pfn_glShaderStorageBlockBinding fp_glShaderStorageBlockBinding; +pfn_glMaterialf fp_glMaterialf; +pfn_glTexCoord4s fp_glTexCoord4s; +pfn_glProgramUniformMatrix4x2dv fp_glProgramUniformMatrix4x2dv; +pfn_glGetUniformIndices fp_glGetUniformIndices; +pfn_glIsShader fp_glIsShader; +pfn_glMultiTexCoord2s fp_glMultiTexCoord2s; +pfn_glVertexAttribI4ubv fp_glVertexAttribI4ubv; +pfn_glVertex3dv fp_glVertex3dv; +pfn_glGetInteger64v fp_glGetInteger64v; +pfn_glPointParameteriv fp_glPointParameteriv; +pfn_glGetnMinmax fp_glGetnMinmax; +pfn_glEnable fp_glEnable; +pfn_glGetActiveUniformsiv fp_glGetActiveUniformsiv; +pfn_glColor4fv fp_glColor4fv; +pfn_glTexCoord1fv fp_glTexCoord1fv; +pfn_glVertexArrayAttribBinding fp_glVertexArrayAttribBinding; +pfn_glTextureStorage1D fp_glTextureStorage1D; +pfn_glPopDebugGroup fp_glPopDebugGroup; +pfn_glBlendEquationi fp_glBlendEquationi; +pfn_glTexCoord2sv fp_glTexCoord2sv; +pfn_glVertexAttrib4dv fp_glVertexAttrib4dv; +pfn_glMultiTexCoord1dv fp_glMultiTexCoord1dv; +pfn_glGetProgramInterfaceiv fp_glGetProgramInterfaceiv; +pfn_glMultiTexCoord2i fp_glMultiTexCoord2i; +pfn_glTexCoord3fv fp_glTexCoord3fv; +pfn_glSecondaryColor3usv fp_glSecondaryColor3usv; +pfn_glTexGenf fp_glTexGenf; +pfn_glMapNamedBuffer fp_glMapNamedBuffer; +pfn_glMultiTexCoordP3uiv fp_glMultiTexCoordP3uiv; +pfn_glVertexAttribP3ui fp_glVertexAttribP3ui; +pfn_glVertexAttribL1dv fp_glVertexAttribL1dv; +pfn_glTextureBufferRange fp_glTextureBufferRange; +pfn_glGetnUniformdv fp_glGetnUniformdv; +pfn_glMultiTexCoordP1ui fp_glMultiTexCoordP1ui; +pfn_glProgramUniform3ui fp_glProgramUniform3ui; +pfn_glTransformFeedbackBufferRange fp_glTransformFeedbackBufferRange; +pfn_glGetPointerv fp_glGetPointerv; +pfn_glVertexBindingDivisor fp_glVertexBindingDivisor; +pfn_glPolygonOffset fp_glPolygonOffset; +pfn_glGetUniformuiv fp_glGetUniformuiv; +pfn_glNormal3fv fp_glNormal3fv; +pfn_glSecondaryColor3s fp_glSecondaryColor3s; +pfn_glNamedFramebufferDrawBuffers fp_glNamedFramebufferDrawBuffers; +pfn_glDepthRange fp_glDepthRange; +pfn_glFrustum fp_glFrustum; +pfn_glMultiTexCoord4sv fp_glMultiTexCoord4sv; +pfn_glVertexArrayBindingDivisor fp_glVertexArrayBindingDivisor; +pfn_glDrawBuffer fp_glDrawBuffer; +pfn_glPushMatrix fp_glPushMatrix; +pfn_glGetnPixelMapusv fp_glGetnPixelMapusv; +pfn_glRasterPos3fv fp_glRasterPos3fv; +pfn_glOrtho fp_glOrtho; +pfn_glDrawElementsInstanced fp_glDrawElementsInstanced; +pfn_glWindowPos3sv fp_glWindowPos3sv; +pfn_glVertexAttribL4dv fp_glVertexAttribL4dv; +pfn_glProgramUniform1i fp_glProgramUniform1i; +pfn_glUniform2dv fp_glUniform2dv; +pfn_glProgramUniform1d fp_glProgramUniform1d; +pfn_glProgramUniform1f fp_glProgramUniform1f; +pfn_glClearIndex fp_glClearIndex; +pfn_glMap1d fp_glMap1d; +pfn_glMap1f fp_glMap1f; +pfn_glFlush fp_glFlush; +pfn_glGetRenderbufferParameteriv fp_glGetRenderbufferParameteriv; +pfn_glBeginQueryIndexed fp_glBeginQueryIndexed; +pfn_glProgramUniform3iv fp_glProgramUniform3iv; +pfn_glIndexiv fp_glIndexiv; +pfn_glNamedRenderbufferStorage fp_glNamedRenderbufferStorage; +pfn_glRasterPos3sv fp_glRasterPos3sv; +pfn_glGetVertexAttribPointerv fp_glGetVertexAttribPointerv; +pfn_glPixelZoom fp_glPixelZoom; +pfn_glFenceSync fp_glFenceSync; +pfn_glDeleteVertexArrays fp_glDeleteVertexArrays; +pfn_glColorP3ui fp_glColorP3ui; +pfn_glDrawElementsInstancedBaseVertexBaseInstance fp_glDrawElementsInstancedBaseVertexBaseInstance; +pfn_glTextureStorage2DMultisample fp_glTextureStorage2DMultisample; +pfn_glVertexAttrib3sv fp_glVertexAttrib3sv; +pfn_glBeginConditionalRender fp_glBeginConditionalRender; +pfn_glPushDebugGroup fp_glPushDebugGroup; +pfn_glGetShaderPrecisionFormat fp_glGetShaderPrecisionFormat; +pfn_glValidateProgramPipeline fp_glValidateProgramPipeline; +pfn_glDrawElementsBaseVertex fp_glDrawElementsBaseVertex; +pfn_glGetTexLevelParameteriv fp_glGetTexLevelParameteriv; +pfn_glLighti fp_glLighti; +pfn_glMultiTexCoordP4uiv fp_glMultiTexCoordP4uiv; +pfn_glVertexArrayVertexBuffer fp_glVertexArrayVertexBuffer; +pfn_glLightf fp_glLightf; +pfn_glBindVertexBuffers fp_glBindVertexBuffers; +pfn_glGetAttribLocation fp_glGetAttribLocation; +pfn_glTexStorage3DMultisample fp_glTexStorage3DMultisample; +pfn_glStencilFuncSeparate fp_glStencilFuncSeparate; +pfn_glDisableVertexArrayAttrib fp_glDisableVertexArrayAttrib; +pfn_glGenSamplers fp_glGenSamplers; +pfn_glClampColor fp_glClampColor; +pfn_glUniform4iv fp_glUniform4iv; +pfn_glClearStencil fp_glClearStencil; +pfn_glTexCoordP1uiv fp_glTexCoordP1uiv; +pfn_glGetNamedRenderbufferParameteriv fp_glGetNamedRenderbufferParameteriv; +pfn_glDrawTransformFeedbackInstanced fp_glDrawTransformFeedbackInstanced; +pfn_glMultiTexCoord3fv fp_glMultiTexCoord3fv; +pfn_glGetPixelMapuiv fp_glGetPixelMapuiv; +pfn_glGenTextures fp_glGenTextures; +pfn_glTexCoord4iv fp_glTexCoord4iv; +pfn_glDrawTransformFeedback fp_glDrawTransformFeedback; +pfn_glUniform1dv fp_glUniform1dv; +pfn_glGetTexParameterIuiv fp_glGetTexParameterIuiv; +pfn_glGetTransformFeedbacki_v fp_glGetTransformFeedbacki_v; +pfn_glIndexPointer fp_glIndexPointer; +pfn_glGetnPolygonStipple fp_glGetnPolygonStipple; +pfn_glVertexAttrib4Nbv fp_glVertexAttrib4Nbv; +pfn_glClearNamedFramebufferuiv fp_glClearNamedFramebufferuiv; +pfn_glGetVertexArrayIndexediv fp_glGetVertexArrayIndexediv; +pfn_glIsSync fp_glIsSync; +pfn_glVertex2f fp_glVertex2f; +pfn_glVertex2d fp_glVertex2d; +pfn_glDeleteRenderbuffers fp_glDeleteRenderbuffers; +pfn_glUniform2i fp_glUniform2i; +pfn_glMapGrid2d fp_glMapGrid2d; +pfn_glMapGrid2f fp_glMapGrid2f; +pfn_glTexCoordP4ui fp_glTexCoordP4ui; +pfn_glVertex2i fp_glVertex2i; +pfn_glVertexAttribPointer fp_glVertexAttribPointer; +pfn_glProgramUniform1ui fp_glProgramUniform1ui; +pfn_glFramebufferTextureLayer fp_glFramebufferTextureLayer; +pfn_glVertex2s fp_glVertex2s; +pfn_glGetObjectPtrLabel fp_glGetObjectPtrLabel; +pfn_glTextureParameteri fp_glTextureParameteri; +pfn_glNormal3bv fp_glNormal3bv; +pfn_glVertexAttrib4Nuiv fp_glVertexAttrib4Nuiv; +pfn_glFlushMappedBufferRange fp_glFlushMappedBufferRange; +pfn_glProgramUniform2fv fp_glProgramUniform2fv; +pfn_glUniformMatrix2x3dv fp_glUniformMatrix2x3dv; +pfn_glProgramUniformMatrix4dv fp_glProgramUniformMatrix4dv; +pfn_glSecondaryColor3sv fp_glSecondaryColor3sv; +pfn_glProgramUniformMatrix2x4dv fp_glProgramUniformMatrix2x4dv; +pfn_glDispatchCompute fp_glDispatchCompute; +pfn_glVertex3sv fp_glVertex3sv; +pfn_glGenQueries fp_glGenQueries; +pfn_glGetPixelMapfv fp_glGetPixelMapfv; +pfn_glTexEnvf fp_glTexEnvf; +pfn_glVertexAttribP1ui fp_glVertexAttribP1ui; +pfn_glTexSubImage3D fp_glTexSubImage3D; +pfn_glGetInteger64i_v fp_glGetInteger64i_v; +pfn_glFogCoordd fp_glFogCoordd; +pfn_glFogCoordf fp_glFogCoordf; +pfn_glCopyTexImage2D fp_glCopyTexImage2D; +pfn_glTexEnvi fp_glTexEnvi; +pfn_glMultiTexCoord1iv fp_glMultiTexCoord1iv; +pfn_glIsEnabledi fp_glIsEnabledi; +pfn_glBindBuffersRange fp_glBindBuffersRange; +pfn_glSecondaryColorP3ui fp_glSecondaryColorP3ui; +pfn_glVertexAttribI2i fp_glVertexAttribI2i; +pfn_glBindFragDataLocationIndexed fp_glBindFragDataLocationIndexed; +pfn_glCopyImageSubData fp_glCopyImageSubData; +pfn_glMultiTexCoord2dv fp_glMultiTexCoord2dv; +pfn_glUniform2iv fp_glUniform2iv; +pfn_glVertexAttrib1fv fp_glVertexAttrib1fv; +pfn_glGetInternalformativ fp_glGetInternalformativ; +pfn_glUniform4uiv fp_glUniform4uiv; +pfn_glMatrixMode fp_glMatrixMode; +pfn_glGetTextureImage fp_glGetTextureImage; +pfn_glFeedbackBuffer fp_glFeedbackBuffer; +pfn_glProgramUniform2dv fp_glProgramUniform2dv; +pfn_glEndQueryIndexed fp_glEndQueryIndexed; +pfn_glGetMapiv fp_glGetMapiv; +pfn_glTextureSubImage3D fp_glTextureSubImage3D; +pfn_glFramebufferTexture1D fp_glFramebufferTexture1D; +pfn_glUniform4d fp_glUniform4d; +pfn_glGetShaderiv fp_glGetShaderiv; +pfn_glMultiTexCoord2d fp_glMultiTexCoord2d; +pfn_glMultiTexCoord2f fp_glMultiTexCoord2f; +pfn_glProgramUniformMatrix3fv fp_glProgramUniformMatrix3fv; +pfn_glObjectPtrLabel fp_glObjectPtrLabel; +pfn_glInvalidateFramebuffer fp_glInvalidateFramebuffer; +pfn_glBindTextures fp_glBindTextures; +pfn_glBindFragDataLocation fp_glBindFragDataLocation; +pfn_glNamedBufferStorage fp_glNamedBufferStorage; +pfn_glScissorArrayv fp_glScissorArrayv; +pfn_glPrioritizeTextures fp_glPrioritizeTextures; +pfn_glCallList fp_glCallList; +pfn_glPatchParameterfv fp_glPatchParameterfv; +pfn_glSecondaryColor3ubv fp_glSecondaryColor3ubv; +pfn_glGetDoublev fp_glGetDoublev; +pfn_glMultiTexCoord3iv fp_glMultiTexCoord3iv; +pfn_glVertexAttrib1d fp_glVertexAttrib1d; +pfn_glUniform4dv fp_glUniform4dv; +pfn_glLightModelf fp_glLightModelf; +pfn_glGetUniformiv fp_glGetUniformiv; +pfn_glInvalidateBufferData fp_glInvalidateBufferData; +pfn_glVertex2sv fp_glVertex2sv; +pfn_glVertexArrayVertexBuffers fp_glVertexArrayVertexBuffers; +pfn_glCompressedTextureSubImage1D fp_glCompressedTextureSubImage1D; +pfn_glLightModeli fp_glLightModeli; +pfn_glWindowPos3iv fp_glWindowPos3iv; +pfn_glMultiTexCoordP1uiv fp_glMultiTexCoordP1uiv; +pfn_glUniform3fv fp_glUniform3fv; +pfn_glPixelStorei fp_glPixelStorei; +pfn_glGetProgramPipelineInfoLog fp_glGetProgramPipelineInfoLog; +pfn_glCallLists fp_glCallLists; +pfn_glProgramUniformMatrix3x4fv fp_glProgramUniformMatrix3x4fv; +pfn_glInvalidateSubFramebuffer fp_glInvalidateSubFramebuffer; +pfn_glMapBuffer fp_glMapBuffer; +pfn_glSecondaryColor3d fp_glSecondaryColor3d; +pfn_glTexCoord3i fp_glTexCoord3i; +pfn_glMultiTexCoord4fv fp_glMultiTexCoord4fv; +pfn_glRasterPos3i fp_glRasterPos3i; +pfn_glSecondaryColor3b fp_glSecondaryColor3b; +pfn_glRasterPos3d fp_glRasterPos3d; +pfn_glRasterPos3f fp_glRasterPos3f; +pfn_glCompressedTexImage3D fp_glCompressedTexImage3D; +pfn_glTexCoord3f fp_glTexCoord3f; +pfn_glDeleteSync fp_glDeleteSync; +pfn_glTexCoord3d fp_glTexCoord3d; +pfn_glGetTransformFeedbacki64_v fp_glGetTransformFeedbacki64_v; +pfn_glUniformMatrix4dv fp_glUniformMatrix4dv; +pfn_glTexImage2DMultisample fp_glTexImage2DMultisample; +pfn_glGetVertexAttribiv fp_glGetVertexAttribiv; +pfn_glUniformMatrix4x2dv fp_glUniformMatrix4x2dv; +pfn_glMultiDrawElements fp_glMultiDrawElements; +pfn_glVertexAttrib3fv fp_glVertexAttrib3fv; +pfn_glTexCoord3s fp_glTexCoord3s; +pfn_glUniform3iv fp_glUniform3iv; +pfn_glRasterPos3s fp_glRasterPos3s; +pfn_glPolygonMode fp_glPolygonMode; +pfn_glDrawBuffers fp_glDrawBuffers; +pfn_glGetnHistogram fp_glGetnHistogram; +pfn_glGetActiveUniformBlockiv fp_glGetActiveUniformBlockiv; +pfn_glAreTexturesResident fp_glAreTexturesResident; +pfn_glProgramUniform2d fp_glProgramUniform2d; +pfn_glProgramUniformMatrix4x3dv fp_glProgramUniformMatrix4x3dv; +pfn_glIsList fp_glIsList; +pfn_glProgramUniform4iv fp_glProgramUniform4iv; +pfn_glRasterPos2sv fp_glRasterPos2sv; +pfn_glRasterPos4sv fp_glRasterPos4sv; +pfn_glColor4s fp_glColor4s; +pfn_glGetProgramBinary fp_glGetProgramBinary; +pfn_glUseProgram fp_glUseProgram; +pfn_glLineStipple fp_glLineStipple; +pfn_glMultiTexCoord1sv fp_glMultiTexCoord1sv; +pfn_glGetProgramInfoLog fp_glGetProgramInfoLog; +pfn_glClearTexImage fp_glClearTexImage; +pfn_glGetBufferParameteriv fp_glGetBufferParameteriv; +pfn_glMultiTexCoord2iv fp_glMultiTexCoord2iv; +pfn_glUniformMatrix2x4fv fp_glUniformMatrix2x4fv; +pfn_glBindVertexArray fp_glBindVertexArray; +pfn_glColor4b fp_glColor4b; +pfn_glSecondaryColor3f fp_glSecondaryColor3f; +pfn_glColor4f fp_glColor4f; +pfn_glColor4d fp_glColor4d; +pfn_glColor4i fp_glColor4i; +pfn_glSamplerParameterIiv fp_glSamplerParameterIiv; +pfn_glMultiDrawElementsBaseVertex fp_glMultiDrawElementsBaseVertex; +pfn_glVertexAttribLFormat fp_glVertexAttribLFormat; +pfn_glRasterPos3iv fp_glRasterPos3iv; +pfn_glTextureStorage2D fp_glTextureStorage2D; +pfn_glGenerateTextureMipmap fp_glGenerateTextureMipmap; +pfn_glVertex2dv fp_glVertex2dv; +pfn_glTexCoord4sv fp_glTexCoord4sv; +pfn_glUniform2uiv fp_glUniform2uiv; +pfn_glCompressedTexSubImage1D fp_glCompressedTexSubImage1D; +pfn_glFinish fp_glFinish; +pfn_glDepthRangeIndexed fp_glDepthRangeIndexed; +pfn_glGetBooleanv fp_glGetBooleanv; +pfn_glDeleteShader fp_glDeleteShader; +pfn_glDrawElements fp_glDrawElements; +pfn_glGetInternalformati64v fp_glGetInternalformati64v; +pfn_glRasterPos2s fp_glRasterPos2s; +pfn_glCopyTextureSubImage1D fp_glCopyTextureSubImage1D; +pfn_glGetMapdv fp_glGetMapdv; +pfn_glVertexAttrib4Nsv fp_glVertexAttrib4Nsv; +pfn_glMaterialfv fp_glMaterialfv; +pfn_glTextureParameterIuiv fp_glTextureParameterIuiv; +pfn_glViewport fp_glViewport; +pfn_glUniform1uiv fp_glUniform1uiv; +pfn_glTransformFeedbackVaryings fp_glTransformFeedbackVaryings; +pfn_glIndexdv fp_glIndexdv; +pfn_glCopyTexSubImage3D fp_glCopyTexSubImage3D; +pfn_glTexCoord3iv fp_glTexCoord3iv; +pfn_glDebugMessageCallback fp_glDebugMessageCallback; +pfn_glVertexAttribI3i fp_glVertexAttribI3i; +pfn_glInvalidateTexImage fp_glInvalidateTexImage; +pfn_glVertexAttribFormat fp_glVertexAttribFormat; +pfn_glClearDepth fp_glClearDepth; +pfn_glVertexAttribI4usv fp_glVertexAttribI4usv; +pfn_glTexParameterf fp_glTexParameterf; +pfn_glVertexAttribBinding fp_glVertexAttribBinding; +pfn_glTexParameteri fp_glTexParameteri; +pfn_glGetActiveSubroutineUniformiv fp_glGetActiveSubroutineUniformiv; +pfn_glGetShaderSource fp_glGetShaderSource; +pfn_glCreateTransformFeedbacks fp_glCreateTransformFeedbacks; +pfn_glGetnTexImage fp_glGetnTexImage; +pfn_glTexBuffer fp_glTexBuffer; +pfn_glPopName fp_glPopName; +pfn_glValidateProgram fp_glValidateProgram; +pfn_glPixelStoref fp_glPixelStoref; +pfn_glUniform3uiv fp_glUniform3uiv; +pfn_glViewportIndexedf fp_glViewportIndexedf; +pfn_glRasterPos4fv fp_glRasterPos4fv; +pfn_glEvalCoord1dv fp_glEvalCoord1dv; +pfn_glMultiTexCoordP2uiv fp_glMultiTexCoordP2uiv; +pfn_glGenProgramPipelines fp_glGenProgramPipelines; +pfn_glRecti fp_glRecti; +pfn_glColor4ub fp_glColor4ub; +pfn_glMultTransposeMatrixf fp_glMultTransposeMatrixf; +pfn_glRectf fp_glRectf; +pfn_glRectd fp_glRectd; +pfn_glNormal3sv fp_glNormal3sv; +pfn_glNewList fp_glNewList; +pfn_glProgramUniformMatrix2x3dv fp_glProgramUniformMatrix2x3dv; +pfn_glColor4us fp_glColor4us; +pfn_glVertexAttribP1uiv fp_glVertexAttribP1uiv; +pfn_glLinkProgram fp_glLinkProgram; +pfn_glHint fp_glHint; +pfn_glRects fp_glRects; +pfn_glTexCoord2dv fp_glTexCoord2dv; +pfn_glRasterPos4iv fp_glRasterPos4iv; +pfn_glGetObjectLabel fp_glGetObjectLabel; +pfn_glProgramUniform2f fp_glProgramUniform2f; +pfn_glGetString fp_glGetString; +pfn_glVertexAttribP2uiv fp_glVertexAttribP2uiv; +pfn_glEdgeFlagv fp_glEdgeFlagv; +pfn_glDetachShader fp_glDetachShader; +pfn_glProgramUniform3i fp_glProgramUniform3i; +pfn_glScalef fp_glScalef; +pfn_glEndQuery fp_glEndQuery; +pfn_glScaled fp_glScaled; +pfn_glEdgeFlagPointer fp_glEdgeFlagPointer; +pfn_glFramebufferParameteri fp_glFramebufferParameteri; +pfn_glGetProgramResourceName fp_glGetProgramResourceName; +pfn_glUniformMatrix4x3dv fp_glUniformMatrix4x3dv; +pfn_glDepthRangeArrayv fp_glDepthRangeArrayv; +pfn_glCopyPixels fp_glCopyPixels; +pfn_glVertexAttribI2ui fp_glVertexAttribI2ui; +pfn_glGetProgramResourceLocation fp_glGetProgramResourceLocation; +pfn_glPopAttrib fp_glPopAttrib; +pfn_glDeleteTextures fp_glDeleteTextures; +pfn_glGetActiveAtomicCounterBufferiv fp_glGetActiveAtomicCounterBufferiv; +pfn_glStencilOpSeparate fp_glStencilOpSeparate; +pfn_glGetTextureParameteriv fp_glGetTextureParameteriv; +pfn_glDeleteQueries fp_glDeleteQueries; +pfn_glNormalP3uiv fp_glNormalP3uiv; +pfn_glVertexAttrib4f fp_glVertexAttrib4f; +pfn_glVertexAttrib4d fp_glVertexAttrib4d; +pfn_glViewportIndexedfv fp_glViewportIndexedfv; +pfn_glInitNames fp_glInitNames; +pfn_glGetBufferParameteri64v fp_glGetBufferParameteri64v; +pfn_glColor3dv fp_glColor3dv; +pfn_glVertexAttribI1i fp_glVertexAttribI1i; +pfn_glGetTexParameteriv fp_glGetTexParameteriv; +pfn_glWaitSync fp_glWaitSync; +pfn_glCreateVertexArrays fp_glCreateVertexArrays; +pfn_glProgramUniform1dv fp_glProgramUniform1dv; +pfn_glVertexAttrib4s fp_glVertexAttrib4s; +pfn_glColorMaterial fp_glColorMaterial; +pfn_glSampleCoverage fp_glSampleCoverage; +pfn_glSamplerParameteri fp_glSamplerParameteri; +pfn_glClearBufferSubData fp_glClearBufferSubData; +pfn_glSamplerParameterf fp_glSamplerParameterf; +pfn_glTexStorage1D fp_glTexStorage1D; +pfn_glUniform1f fp_glUniform1f; +pfn_glGetVertexAttribfv fp_glGetVertexAttribfv; +pfn_glUniform1d fp_glUniform1d; +pfn_glRenderMode fp_glRenderMode; +pfn_glGetCompressedTexImage fp_glGetCompressedTexImage; +pfn_glGetnCompressedTexImage fp_glGetnCompressedTexImage; +pfn_glWindowPos2dv fp_glWindowPos2dv; +pfn_glUniform1i fp_glUniform1i; +pfn_glGetActiveAttrib fp_glGetActiveAttrib; +pfn_glUniform3i fp_glUniform3i; +pfn_glPixelTransferi fp_glPixelTransferi; +pfn_glTexSubImage2D fp_glTexSubImage2D; +pfn_glDisable fp_glDisable; +pfn_glLogicOp fp_glLogicOp; +pfn_glEvalPoint2 fp_glEvalPoint2; +pfn_glPixelTransferf fp_glPixelTransferf; +pfn_glSecondaryColor3i fp_glSecondaryColor3i; +pfn_glProgramUniform4uiv fp_glProgramUniform4uiv; +pfn_glUniform4ui fp_glUniform4ui; +pfn_glColor3f fp_glColor3f; +pfn_glNamedFramebufferReadBuffer fp_glNamedFramebufferReadBuffer; +pfn_glBindFramebuffer fp_glBindFramebuffer; +pfn_glGetTexEnvfv fp_glGetTexEnvfv; +pfn_glRectfv fp_glRectfv; +pfn_glCullFace fp_glCullFace; +pfn_glGetLightfv fp_glGetLightfv; +pfn_glGetnUniformiv fp_glGetnUniformiv; +pfn_glColor3d fp_glColor3d; +pfn_glProgramUniform4i fp_glProgramUniform4i; +pfn_glTexGend fp_glTexGend; +pfn_glProgramUniform4f fp_glProgramUniform4f; +pfn_glTexGeni fp_glTexGeni; +pfn_glProgramUniform4d fp_glProgramUniform4d; +pfn_glTextureParameterIiv fp_glTextureParameterIiv; +pfn_glMultiTexCoord3s fp_glMultiTexCoord3s; +pfn_glGetStringi fp_glGetStringi; +pfn_glGetTextureParameterfv fp_glGetTextureParameterfv; +pfn_glTextureSubImage2D fp_glTextureSubImage2D; +pfn_glMultiTexCoord3i fp_glMultiTexCoord3i; +pfn_glMultiTexCoord3f fp_glMultiTexCoord3f; +pfn_glDrawTransformFeedbackStream fp_glDrawTransformFeedbackStream; +pfn_glMultiTexCoord3d fp_glMultiTexCoord3d; +pfn_glAttachShader fp_glAttachShader; +pfn_glFogCoorddv fp_glFogCoorddv; +pfn_glUniformMatrix2x3fv fp_glUniformMatrix2x3fv; +pfn_glGetTexGenfv fp_glGetTexGenfv; +pfn_glQueryCounter fp_glQueryCounter; +pfn_glFogCoordPointer fp_glFogCoordPointer; +pfn_glProgramUniformMatrix3dv fp_glProgramUniformMatrix3dv; +pfn_glProvokingVertex fp_glProvokingVertex; +pfn_glShaderBinary fp_glShaderBinary; +pfn_glUnmapNamedBuffer fp_glUnmapNamedBuffer; +pfn_glGetnColorTable fp_glGetnColorTable; +pfn_glFramebufferTexture3D fp_glFramebufferTexture3D; +pfn_glTexGeniv fp_glTexGeniv; +pfn_glRasterPos2dv fp_glRasterPos2dv; +pfn_glSecondaryColor3dv fp_glSecondaryColor3dv; +pfn_glClientActiveTexture fp_glClientActiveTexture; +pfn_glNamedRenderbufferStorageMultisample fp_glNamedRenderbufferStorageMultisample; +pfn_glVertexAttribI4sv fp_glVertexAttribI4sv; +pfn_glClearNamedBufferData fp_glClearNamedBufferData; +pfn_glSecondaryColor3us fp_glSecondaryColor3us; +pfn_glNormalP3ui fp_glNormalP3ui; +pfn_glTexEnvfv fp_glTexEnvfv; +pfn_glReadBuffer fp_glReadBuffer; +pfn_glViewportArrayv fp_glViewportArrayv; +pfn_glTexParameterIuiv fp_glTexParameterIuiv; +pfn_glDrawArraysInstanced fp_glDrawArraysInstanced; +pfn_glGenerateMipmap fp_glGenerateMipmap; +pfn_glCompressedTextureSubImage2D fp_glCompressedTextureSubImage2D; +pfn_glProgramUniformMatrix2fv fp_glProgramUniformMatrix2fv; +pfn_glWindowPos3fv fp_glWindowPos3fv; +pfn_glUniformMatrix3x4dv fp_glUniformMatrix3x4dv; +pfn_glLightModelfv fp_glLightModelfv; +pfn_glSamplerParameteriv fp_glSamplerParameteriv; +pfn_glDeleteLists fp_glDeleteLists; +pfn_glGetClipPlane fp_glGetClipPlane; +pfn_glVertex4dv fp_glVertex4dv; +pfn_glTexCoord2d fp_glTexCoord2d; +pfn_glPopMatrix fp_glPopMatrix; +pfn_glTexCoord2f fp_glTexCoord2f; +pfn_glColor4iv fp_glColor4iv; +pfn_glIndexubv fp_glIndexubv; +pfn_glCheckNamedFramebufferStatus fp_glCheckNamedFramebufferStatus; +pfn_glUnmapBuffer fp_glUnmapBuffer; +pfn_glTexCoord2i fp_glTexCoord2i; +pfn_glRasterPos4d fp_glRasterPos4d; +pfn_glRasterPos4f fp_glRasterPos4f; +pfn_glProgramUniform1iv fp_glProgramUniform1iv; +pfn_glGetVertexArrayiv fp_glGetVertexArrayiv; +pfn_glCopyTextureSubImage2D fp_glCopyTextureSubImage2D; +pfn_glVertexAttrib3s fp_glVertexAttrib3s; +pfn_glTexCoord2s fp_glTexCoord2s; +pfn_glBindRenderbuffer fp_glBindRenderbuffer; +pfn_glVertex3fv fp_glVertex3fv; +pfn_glTexCoord4dv fp_glTexCoord4dv; +pfn_glMaterialiv fp_glMaterialiv; +pfn_glVertexAttribP4uiv fp_glVertexAttribP4uiv; +pfn_glGetProgramStageiv fp_glGetProgramStageiv; +pfn_glIsProgram fp_glIsProgram; +pfn_glVertexAttrib4bv fp_glVertexAttrib4bv; +pfn_glVertex4s fp_glVertex4s; +pfn_glUniformMatrix3x2dv fp_glUniformMatrix3x2dv; +pfn_glVertexAttrib4fv fp_glVertexAttrib4fv; +pfn_glNormal3dv fp_glNormal3dv; +pfn_glIsTransformFeedback fp_glIsTransformFeedback; +pfn_glUniform4i fp_glUniform4i; +pfn_glActiveTexture fp_glActiveTexture; +pfn_glEnableVertexAttribArray fp_glEnableVertexAttribArray; +pfn_glRotated fp_glRotated; +pfn_glIsProgramPipeline fp_glIsProgramPipeline; +pfn_glRotatef fp_glRotatef; +pfn_glVertex4i fp_glVertex4i; +pfn_glReadPixels fp_glReadPixels; +pfn_glVertexAttribI3iv fp_glVertexAttribI3iv; +pfn_glLoadName fp_glLoadName; +pfn_glUniform4f fp_glUniform4f; +pfn_glRenderbufferStorageMultisample fp_glRenderbufferStorageMultisample; +pfn_glCreateProgramPipelines fp_glCreateProgramPipelines; +pfn_glGenVertexArrays fp_glGenVertexArrays; +pfn_glShadeModel fp_glShadeModel; +pfn_glMapGrid1d fp_glMapGrid1d; +pfn_glGetUniformfv fp_glGetUniformfv; +pfn_glMapGrid1f fp_glMapGrid1f; +pfn_glSamplerParameterfv fp_glSamplerParameterfv; +pfn_glVertexAttribLPointer fp_glVertexAttribLPointer; +pfn_glDisableClientState fp_glDisableClientState; +pfn_glMultiTexCoord3sv fp_glMultiTexCoord3sv; +pfn_glGetnUniformfv fp_glGetnUniformfv; +pfn_glDrawElementsInstancedBaseVertex fp_glDrawElementsInstancedBaseVertex; +pfn_glVertexAttribL2dv fp_glVertexAttribL2dv; +pfn_glMultiDrawElementsIndirect fp_glMultiDrawElementsIndirect; +pfn_glEnableVertexArrayAttrib fp_glEnableVertexArrayAttrib; +pfn_glSecondaryColorPointer fp_glSecondaryColorPointer; +pfn_glAlphaFunc fp_glAlphaFunc; +pfn_glUniform1iv fp_glUniform1iv; +pfn_glCreateShaderProgramv fp_glCreateShaderProgramv; +pfn_glGetActiveSubroutineName fp_glGetActiveSubroutineName; +pfn_glMultiTexCoord4iv fp_glMultiTexCoord4iv; +pfn_glVertexAttribL2d fp_glVertexAttribL2d; +pfn_glGetQueryObjectiv fp_glGetQueryObjectiv; +pfn_glStencilFunc fp_glStencilFunc; +pfn_glInvalidateNamedFramebufferData fp_glInvalidateNamedFramebufferData; +pfn_glMultiTexCoord1fv fp_glMultiTexCoord1fv; +pfn_glUniformBlockBinding fp_glUniformBlockBinding; +pfn_glColor4uiv fp_glColor4uiv; +pfn_glRectiv fp_glRectiv; +pfn_glColorP4ui fp_glColorP4ui; +pfn_glUseProgramStages fp_glUseProgramStages; +pfn_glRasterPos3dv fp_glRasterPos3dv; +pfn_glEvalMesh2 fp_glEvalMesh2; +pfn_glEvalMesh1 fp_glEvalMesh1; +pfn_glTexCoordPointer fp_glTexCoordPointer; +pfn_glProgramUniform3f fp_glProgramUniform3f; +pfn_glProgramUniform3d fp_glProgramUniform3d; +pfn_glVertexAttrib4Nubv fp_glVertexAttrib4Nubv; +pfn_glVertexAttribI4iv fp_glVertexAttribI4iv; +pfn_glGetProgramPipelineiv fp_glGetProgramPipelineiv; +pfn_glTexStorage3D fp_glTexStorage3D; +pfn_glEvalCoord2fv fp_glEvalCoord2fv; +pfn_glNamedFramebufferDrawBuffer fp_glNamedFramebufferDrawBuffer; +pfn_glGetQueryIndexediv fp_glGetQueryIndexediv; +pfn_glColor4ubv fp_glColor4ubv; +pfn_glLoadTransposeMatrixd fp_glLoadTransposeMatrixd; +pfn_glLoadTransposeMatrixf fp_glLoadTransposeMatrixf; +pfn_glTextureParameteriv fp_glTextureParameteriv; +pfn_glObjectLabel fp_glObjectLabel; +pfn_glVertexAttribI4i fp_glVertexAttribI4i; +pfn_glRasterPos2iv fp_glRasterPos2iv; +pfn_glGetBufferSubData fp_glGetBufferSubData; +pfn_glGetVertexAttribLdv fp_glGetVertexAttribLdv; +pfn_glGetnUniformuiv fp_glGetnUniformuiv; +pfn_glTexEnviv fp_glTexEnviv; +pfn_glBlendEquationSeparate fp_glBlendEquationSeparate; +pfn_glVertexAttribI1ui fp_glVertexAttribI1ui; +pfn_glGenBuffers fp_glGenBuffers; +pfn_glSelectBuffer fp_glSelectBuffer; +pfn_glGetSubroutineIndex fp_glGetSubroutineIndex; +pfn_glVertexAttrib2sv fp_glVertexAttrib2sv; +pfn_glScissorIndexedv fp_glScissorIndexedv; +pfn_glPushAttrib fp_glPushAttrib; +pfn_glVertexAttribIPointer fp_glVertexAttribIPointer; +pfn_glBlendFunc fp_glBlendFunc; +pfn_glCreateProgram fp_glCreateProgram; +pfn_glNamedBufferSubData fp_glNamedBufferSubData; +pfn_glTexImage3D fp_glTexImage3D; +pfn_glIsFramebuffer fp_glIsFramebuffer; +pfn_glClearNamedFramebufferfv fp_glClearNamedFramebufferfv; +pfn_glLightiv fp_glLightiv; +pfn_glGetNamedBufferSubData fp_glGetNamedBufferSubData; +pfn_glCompressedTextureSubImage3D fp_glCompressedTextureSubImage3D; +pfn_glPrimitiveRestartIndex fp_glPrimitiveRestartIndex; +pfn_glFlushMappedNamedBufferRange fp_glFlushMappedNamedBufferRange; +pfn_glInvalidateTexSubImage fp_glInvalidateTexSubImage; +pfn_glTexGenfv fp_glTexGenfv; +pfn_glGetTextureParameterIuiv fp_glGetTextureParameterIuiv; +pfn_glGetnConvolutionFilter fp_glGetnConvolutionFilter; +pfn_glBindImageTextures fp_glBindImageTextures; +pfn_glEnd fp_glEnd; +pfn_glDeleteBuffers fp_glDeleteBuffers; +pfn_glBindProgramPipeline fp_glBindProgramPipeline; +pfn_glScissor fp_glScissor; +pfn_glTexCoordP4uiv fp_glTexCoordP4uiv; +pfn_glClipPlane fp_glClipPlane; +pfn_glPushName fp_glPushName; +pfn_glTexGendv fp_glTexGendv; +pfn_glIndexub fp_glIndexub; +pfn_glGetNamedFramebufferAttachmentParameteriv fp_glGetNamedFramebufferAttachmentParameteriv; +pfn_glNamedFramebufferRenderbuffer fp_glNamedFramebufferRenderbuffer; +pfn_glVertexP2uiv fp_glVertexP2uiv; +pfn_glSecondaryColor3iv fp_glSecondaryColor3iv; +pfn_glRasterPos4i fp_glRasterPos4i; +pfn_glMultTransposeMatrixd fp_glMultTransposeMatrixd; +pfn_glClearColor fp_glClearColor; +pfn_glVertexAttrib4uiv fp_glVertexAttrib4uiv; +pfn_glNormal3s fp_glNormal3s; +pfn_glVertexAttrib4Niv fp_glVertexAttrib4Niv; +pfn_glProgramUniformMatrix2x3fv fp_glProgramUniformMatrix2x3fv; +pfn_glClearBufferiv fp_glClearBufferiv; +pfn_glPointParameteri fp_glPointParameteri; +pfn_glProgramUniform4dv fp_glProgramUniform4dv; +pfn_glColorP4uiv fp_glColorP4uiv; +pfn_glBlendColor fp_glBlendColor; +pfn_glGetnPixelMapuiv fp_glGetnPixelMapuiv; +pfn_glGetTextureLevelParameteriv fp_glGetTextureLevelParameteriv; +pfn_glWindowPos3d fp_glWindowPos3d; +pfn_glProgramUniform3fv fp_glProgramUniform3fv; +pfn_glVertexAttribI2uiv fp_glVertexAttribI2uiv; +pfn_glGetNamedFramebufferParameteriv fp_glGetNamedFramebufferParameteriv; +pfn_glSamplerParameterIuiv fp_glSamplerParameterIuiv; +pfn_glUniform3ui fp_glUniform3ui; +pfn_glProgramUniform3uiv fp_glProgramUniform3uiv; +pfn_glColor4dv fp_glColor4dv; +pfn_glVertexAttribI4uiv fp_glVertexAttribI4uiv; +pfn_glPointParameterfv fp_glPointParameterfv; +pfn_glResumeTransformFeedback fp_glResumeTransformFeedback; +pfn_glUniform2fv fp_glUniform2fv; +pfn_glGetActiveSubroutineUniformName fp_glGetActiveSubroutineUniformName; +pfn_glGetProgramResourceIndex fp_glGetProgramResourceIndex; +pfn_glSecondaryColor3ub fp_glSecondaryColor3ub; +pfn_glDrawElementsIndirect fp_glDrawElementsIndirect; +pfn_glGetTextureLevelParameterfv fp_glGetTextureLevelParameterfv; +pfn_glSecondaryColor3ui fp_glSecondaryColor3ui; +pfn_glTexCoord3dv fp_glTexCoord3dv; +pfn_glGetNamedBufferPointerv fp_glGetNamedBufferPointerv; +pfn_glDispatchComputeIndirect fp_glDispatchComputeIndirect; +pfn_glInvalidateNamedFramebufferSubData fp_glInvalidateNamedFramebufferSubData; +pfn_glGetSamplerParameterIuiv fp_glGetSamplerParameterIuiv; +pfn_glBindBufferRange fp_glBindBufferRange; +pfn_glNormal3iv fp_glNormal3iv; +pfn_glTextureSubImage1D fp_glTextureSubImage1D; +pfn_glVertexAttribL3dv fp_glVertexAttribL3dv; +pfn_glGetUniformdv fp_glGetUniformdv; +pfn_glWindowPos3s fp_glWindowPos3s; +pfn_glPointParameterf fp_glPointParameterf; +pfn_glClearDepthf fp_glClearDepthf; +pfn_glGetVertexAttribIuiv fp_glGetVertexAttribIuiv; +pfn_glWindowPos3i fp_glWindowPos3i; +pfn_glMultiTexCoord4s fp_glMultiTexCoord4s; +pfn_glGetTextureSubImage fp_glGetTextureSubImage; +pfn_glWindowPos3f fp_glWindowPos3f; +pfn_glGenTransformFeedbacks fp_glGenTransformFeedbacks; +pfn_glColor3us fp_glColor3us; +pfn_glColor3uiv fp_glColor3uiv; +pfn_glVertexAttrib4Nusv fp_glVertexAttrib4Nusv; +pfn_glGetLightiv fp_glGetLightiv; +pfn_glDepthFunc fp_glDepthFunc; +pfn_glCompressedTexSubImage2D fp_glCompressedTexSubImage2D; +pfn_glListBase fp_glListBase; +pfn_glMultiTexCoord4f fp_glMultiTexCoord4f; +pfn_glColor3ub fp_glColor3ub; +pfn_glMultiTexCoord4d fp_glMultiTexCoord4d; +pfn_glVertexAttribI4bv fp_glVertexAttribI4bv; +pfn_glBlendEquationSeparatei fp_glBlendEquationSeparatei; +pfn_glGetTexParameterfv fp_glGetTexParameterfv; +pfn_glColor3ui fp_glColor3ui; +pfn_glGetProgramResourceLocationIndex fp_glGetProgramResourceLocationIndex; +pfn_glMultiTexCoord4i fp_glMultiTexCoord4i; +pfn_glBufferStorage fp_glBufferStorage; +pfn_glGetPolygonStipple fp_glGetPolygonStipple; +pfn_glClientWaitSync fp_glClientWaitSync; +pfn_glVertexAttribI4ui fp_glVertexAttribI4ui; +pfn_glGetFloati_v fp_glGetFloati_v; +pfn_glMultiTexCoord4dv fp_glMultiTexCoord4dv; +pfn_glColorMask fp_glColorMask; +pfn_glTextureBuffer fp_glTextureBuffer; +pfn_glTexParameterIiv fp_glTexParameterIiv; +pfn_glBlendEquation fp_glBlendEquation; +pfn_glGetUniformLocation fp_glGetUniformLocation; +pfn_glGetSamplerParameteriv fp_glGetSamplerParameteriv; +pfn_glVertexArrayAttribFormat fp_glVertexArrayAttribFormat; +pfn_glReadnPixels fp_glReadnPixels; +pfn_glRasterPos4s fp_glRasterPos4s; +pfn_glEndTransformFeedback fp_glEndTransformFeedback; +pfn_glVertexAttrib4usv fp_glVertexAttrib4usv; +pfn_glGetUniformSubroutineuiv fp_glGetUniformSubroutineuiv; +pfn_glMultiTexCoord3dv fp_glMultiTexCoord3dv; +pfn_glBindVertexBuffer fp_glBindVertexBuffer; +pfn_glColor4sv fp_glColor4sv; +pfn_glDebugMessageInsert fp_glDebugMessageInsert; +pfn_glCreateSamplers fp_glCreateSamplers; +pfn_glPopClientAttrib fp_glPopClientAttrib; +pfn_glClearBufferData fp_glClearBufferData; +pfn_glBeginTransformFeedback fp_glBeginTransformFeedback; +pfn_glFogf fp_glFogf; +pfn_glVertexAttribI1iv fp_glVertexAttribI1iv; +pfn_glProgramBinary fp_glProgramBinary; +pfn_glIsSampler fp_glIsSampler; +pfn_glVertexP3ui fp_glVertexP3ui; +pfn_glVertexAttribDivisor fp_glVertexAttribDivisor; +pfn_glBindSamplers fp_glBindSamplers; +pfn_glColor3iv fp_glColor3iv; +pfn_glCompressedTexImage1D fp_glCompressedTexImage1D; +pfn_glDeleteTransformFeedbacks fp_glDeleteTransformFeedbacks; +pfn_glCopyTexSubImage1D fp_glCopyTexSubImage1D; +pfn_glTexCoord1i fp_glTexCoord1i; +pfn_glCheckFramebufferStatus fp_glCheckFramebufferStatus; +pfn_glTexCoord1d fp_glTexCoord1d; +pfn_glTexCoord1f fp_glTexCoord1f; +pfn_glTextureStorage3D fp_glTextureStorage3D; +pfn_glEndConditionalRender fp_glEndConditionalRender; +pfn_glEnableClientState fp_glEnableClientState; +pfn_glBindAttribLocation fp_glBindAttribLocation; +pfn_glUniformMatrix4x2fv fp_glUniformMatrix4x2fv; +pfn_glUniformMatrix2dv fp_glUniformMatrix2dv; +pfn_glBlendFunci fp_glBlendFunci; +pfn_glMultiTexCoord2sv fp_glMultiTexCoord2sv; +pfn_glVertexAttrib1dv fp_glVertexAttrib1dv; +pfn_glDrawRangeElements fp_glDrawRangeElements; +pfn_glTexCoord1s fp_glTexCoord1s; +pfn_glBindBufferBase fp_glBindBufferBase; +pfn_glBufferSubData fp_glBufferSubData; +pfn_glVertexAttrib4iv fp_glVertexAttrib4iv; +pfn_glGenLists fp_glGenLists; +pfn_glColor3bv fp_glColor3bv; +pfn_glMapBufferRange fp_glMapBufferRange; +pfn_glFramebufferTexture fp_glFramebufferTexture; +pfn_glBlendFuncSeparatei fp_glBlendFuncSeparatei; +pfn_glProgramUniformMatrix4x2fv fp_glProgramUniformMatrix4x2fv; +pfn_glVertexAttribL1d fp_glVertexAttribL1d; +pfn_glGetTexGendv fp_glGetTexGendv; +pfn_glClearNamedFramebufferiv fp_glClearNamedFramebufferiv; +pfn_glMultiDrawArrays fp_glMultiDrawArrays; +pfn_glEndList fp_glEndList; +pfn_glScissorIndexed fp_glScissorIndexed; +pfn_glVertexP4uiv fp_glVertexP4uiv; +pfn_glUniform2ui fp_glUniform2ui; +pfn_glVertexAttribI2iv fp_glVertexAttribI2iv; +pfn_glGetnMapdv fp_glGetnMapdv; +pfn_glColor3usv fp_glColor3usv; +pfn_glWindowPos2fv fp_glWindowPos2fv; +pfn_glTextureView fp_glTextureView; +pfn_glDisablei fp_glDisablei; +pfn_glProgramUniformMatrix2x4fv fp_glProgramUniformMatrix2x4fv; +pfn_glCreateRenderbuffers fp_glCreateRenderbuffers; +pfn_glIndexMask fp_glIndexMask; +pfn_glPushClientAttrib fp_glPushClientAttrib; +pfn_glShaderSource fp_glShaderSource; +pfn_glGetnSeparableFilter fp_glGetnSeparableFilter; +pfn_glGetActiveUniformBlockName fp_glGetActiveUniformBlockName; +pfn_glVertexAttribI3uiv fp_glVertexAttribI3uiv; +pfn_glReleaseShaderCompiler fp_glReleaseShaderCompiler; +pfn_glVertexAttribIFormat fp_glVertexAttribIFormat; +pfn_glCreateFramebuffers fp_glCreateFramebuffers; +pfn_glClearAccum fp_glClearAccum; +pfn_glGetSynciv fp_glGetSynciv; +pfn_glProgramUniform2uiv fp_glProgramUniform2uiv; +pfn_glGetnPixelMapfv fp_glGetnPixelMapfv; +pfn_glTexCoordP2uiv fp_glTexCoordP2uiv; +pfn_glPatchParameteri fp_glPatchParameteri; +pfn_glProgramUniform2i fp_glProgramUniform2i; +pfn_glUniform2f fp_glUniform2f; +pfn_glGetNamedBufferParameteri64v fp_glGetNamedBufferParameteri64v; +pfn_glBeginQuery fp_glBeginQuery; +pfn_glGetUniformBlockIndex fp_glGetUniformBlockIndex; +pfn_glBindBuffer fp_glBindBuffer; +pfn_glMap2d fp_glMap2d; +pfn_glMap2f fp_glMap2f; +pfn_glTexStorage2DMultisample fp_glTexStorage2DMultisample; +pfn_glUniform2d fp_glUniform2d; +pfn_glVertex4d fp_glVertex4d; +pfn_glUniformMatrix2fv fp_glUniformMatrix2fv; +pfn_glTexCoord1sv fp_glTexCoord1sv; +pfn_glBufferData fp_glBufferData; +pfn_glEvalPoint1 fp_glEvalPoint1; +pfn_glGetTexParameterIiv fp_glGetTexParameterIiv; +pfn_glTexCoord1dv fp_glTexCoord1dv; +pfn_glTexCoordP1ui fp_glTexCoordP1ui; +pfn_glGetError fp_glGetError; +pfn_glGetTexEnviv fp_glGetTexEnviv; +pfn_glGetProgramiv fp_glGetProgramiv; +pfn_glVertexAttribP2ui fp_glVertexAttribP2ui; +pfn_glGetFloatv fp_glGetFloatv; +pfn_glTexSubImage1D fp_glTexSubImage1D; +pfn_glMultiTexCoord2fv fp_glMultiTexCoord2fv; +pfn_glUniformMatrix2x4dv fp_glUniformMatrix2x4dv; +pfn_glVertexAttrib2fv fp_glVertexAttrib2fv; +pfn_glEvalCoord1d fp_glEvalCoord1d; +pfn_glGetTexLevelParameterfv fp_glGetTexLevelParameterfv; +pfn_glEvalCoord1f fp_glEvalCoord1f; +pfn_glPixelMapfv fp_glPixelMapfv; +pfn_glVertexAttribP3uiv fp_glVertexAttribP3uiv; +pfn_glGetPixelMapusv fp_glGetPixelMapusv; +pfn_glSecondaryColorP3uiv fp_glSecondaryColorP3uiv; +pfn_glGetIntegerv fp_glGetIntegerv; +pfn_glAccum fp_glAccum; +pfn_glGetVertexArrayIndexed64iv fp_glGetVertexArrayIndexed64iv; +pfn_glGetBufferPointerv fp_glGetBufferPointerv; +pfn_glGetVertexAttribIiv fp_glGetVertexAttribIiv; +pfn_glRasterPos4dv fp_glRasterPos4dv; +pfn_glProgramUniform4fv fp_glProgramUniform4fv; +pfn_glTexCoord2iv fp_glTexCoord2iv; +pfn_glTextureBarrier fp_glTextureBarrier; +pfn_glIsQuery fp_glIsQuery; +pfn_glProgramUniform2ui fp_glProgramUniform2ui; +pfn_glProgramUniform4ui fp_glProgramUniform4ui; +pfn_glVertexAttrib4sv fp_glVertexAttrib4sv; +pfn_glWindowPos3dv fp_glWindowPos3dv; +pfn_glTexImage2D fp_glTexImage2D; +pfn_glStencilMask fp_glStencilMask; +pfn_glDrawPixels fp_glDrawPixels; +pfn_glMultMatrixd fp_glMultMatrixd; +pfn_glMultMatrixf fp_glMultMatrixf; +pfn_glIsTexture fp_glIsTexture; +pfn_glGetMaterialiv fp_glGetMaterialiv; +pfn_glNamedBufferData fp_glNamedBufferData; +pfn_glUniform1fv fp_glUniform1fv; +pfn_glLoadMatrixf fp_glLoadMatrixf; +pfn_glTexStorage2D fp_glTexStorage2D; +pfn_glLoadMatrixd fp_glLoadMatrixd; +pfn_glClearNamedBufferSubData fp_glClearNamedBufferSubData; +pfn_glMapNamedBufferRange fp_glMapNamedBufferRange; +pfn_glNamedFramebufferTextureLayer fp_glNamedFramebufferTextureLayer; +pfn_glTexParameterfv fp_glTexParameterfv; +pfn_glUniformMatrix3fv fp_glUniformMatrix3fv; +pfn_glVertex4f fp_glVertex4f; +pfn_glRectsv fp_glRectsv; +pfn_glColor4usv fp_glColor4usv; +pfn_glUniform3dv fp_glUniform3dv; +pfn_glProgramUniformMatrix4x3fv fp_glProgramUniformMatrix4x3fv; +pfn_glPolygonStipple fp_glPolygonStipple; +pfn_glBindBuffersBase fp_glBindBuffersBase; +pfn_glInterleavedArrays fp_glInterleavedArrays; +pfn_glGetSubroutineUniformLocation fp_glGetSubroutineUniformLocation; +pfn_glNormal3i fp_glNormal3i; +pfn_glNormal3f fp_glNormal3f; +pfn_glNormal3d fp_glNormal3d; +pfn_glNormal3b fp_glNormal3b; +pfn_glGetFramebufferParameteriv fp_glGetFramebufferParameteriv; +pfn_glPixelMapusv fp_glPixelMapusv; +pfn_glGetTexGeniv fp_glGetTexGeniv; +pfn_glArrayElement fp_glArrayElement; +pfn_glGetCompressedTextureSubImage fp_glGetCompressedTextureSubImage; +pfn_glCopyBufferSubData fp_glCopyBufferSubData; +pfn_glVertexAttribI1uiv fp_glVertexAttribI1uiv; +pfn_glVertexAttrib2d fp_glVertexAttrib2d; +pfn_glBindTransformFeedback fp_glBindTransformFeedback; +pfn_glVertexAttrib2f fp_glVertexAttrib2f; +pfn_glVertexAttrib3dv fp_glVertexAttrib3dv; +pfn_glGetQueryObjectui64v fp_glGetQueryObjectui64v; +pfn_glDepthMask fp_glDepthMask; +pfn_glVertexAttrib2s fp_glVertexAttrib2s; +pfn_glColor3fv fp_glColor3fv; +pfn_glTexImage3DMultisample fp_glTexImage3DMultisample; +pfn_glProgramUniform1fv fp_glProgramUniform1fv; +pfn_glUniformMatrix4fv fp_glUniformMatrix4fv; +pfn_glUniform4fv fp_glUniform4fv; +pfn_glGetActiveUniform fp_glGetActiveUniform; +pfn_glColorPointer fp_glColorPointer; +pfn_glFrontFace fp_glFrontFace; +pfn_glTexBufferRange fp_glTexBufferRange; +pfn_glCreateBuffers fp_glCreateBuffers; +pfn_glNamedFramebufferParameteri fp_glNamedFramebufferParameteri; +pfn_glDrawArraysInstancedBaseInstance fp_glDrawArraysInstancedBaseInstance; +pfn_glGetBooleani_v fp_glGetBooleani_v; +pfn_glVertexAttribL3d fp_glVertexAttribL3d; +pfn_glDeleteProgramPipelines fp_glDeleteProgramPipelines; +pfn_glClearBufferuiv fp_glClearBufferuiv; +pfn_glClipControl fp_glClipControl; +pfn_glGetProgramResourceiv fp_glGetProgramResourceiv; +pfn_glBlendBarrierKHR fp_glBlendBarrierKHR; +pfn_glDebugMessageControlKHR fp_glDebugMessageControlKHR; +pfn_glDebugMessageInsertKHR fp_glDebugMessageInsertKHR; +pfn_glDebugMessageCallbackKHR fp_glDebugMessageCallbackKHR; +pfn_glGetDebugMessageLogKHR fp_glGetDebugMessageLogKHR; +pfn_glPushDebugGroupKHR fp_glPushDebugGroupKHR; +pfn_glPopDebugGroupKHR fp_glPopDebugGroupKHR; +pfn_glObjectLabelKHR fp_glObjectLabelKHR; +pfn_glGetObjectLabelKHR fp_glGetObjectLabelKHR; +pfn_glObjectPtrLabelKHR fp_glObjectPtrLabelKHR; +pfn_glGetObjectPtrLabelKHR fp_glGetObjectPtrLabelKHR; +pfn_glGetPointervKHR fp_glGetPointervKHR; +pfn_glGetGraphicsResetStatusKHR fp_glGetGraphicsResetStatusKHR; +pfn_glReadnPixelsKHR fp_glReadnPixelsKHR; +pfn_glGetnUniformfvKHR fp_glGetnUniformfvKHR; +pfn_glGetnUniformivKHR fp_glGetnUniformivKHR; +pfn_glGetnUniformuivKHR fp_glGetnUniformuivKHR; +pfn_glGetTextureHandleARB fp_glGetTextureHandleARB; +pfn_glGetTextureSamplerHandleARB fp_glGetTextureSamplerHandleARB; +pfn_glMakeTextureHandleResidentARB fp_glMakeTextureHandleResidentARB; +pfn_glMakeTextureHandleNonResidentARB fp_glMakeTextureHandleNonResidentARB; +pfn_glGetImageHandleARB fp_glGetImageHandleARB; +pfn_glMakeImageHandleResidentARB fp_glMakeImageHandleResidentARB; +pfn_glMakeImageHandleNonResidentARB fp_glMakeImageHandleNonResidentARB; +pfn_glUniformHandleui64ARB fp_glUniformHandleui64ARB; +pfn_glUniformHandleui64vARB fp_glUniformHandleui64vARB; +pfn_glProgramUniformHandleui64ARB fp_glProgramUniformHandleui64ARB; +pfn_glProgramUniformHandleui64vARB fp_glProgramUniformHandleui64vARB; +pfn_glIsTextureHandleResidentARB fp_glIsTextureHandleResidentARB; +pfn_glIsImageHandleResidentARB fp_glIsImageHandleResidentARB; +pfn_glVertexAttribL1ui64ARB fp_glVertexAttribL1ui64ARB; +pfn_glVertexAttribL1ui64vARB fp_glVertexAttribL1ui64vARB; +pfn_glGetVertexAttribLui64vARB fp_glGetVertexAttribLui64vARB; +pfn_glCreateSyncFromCLeventARB fp_glCreateSyncFromCLeventARB; +pfn_glClampColorARB fp_glClampColorARB; +pfn_glDispatchComputeGroupSizeARB fp_glDispatchComputeGroupSizeARB; +pfn_glDebugMessageControlARB fp_glDebugMessageControlARB; +pfn_glDebugMessageInsertARB fp_glDebugMessageInsertARB; +pfn_glDebugMessageCallbackARB fp_glDebugMessageCallbackARB; +pfn_glGetDebugMessageLogARB fp_glGetDebugMessageLogARB; +pfn_glBlendEquationiARB fp_glBlendEquationiARB; +pfn_glBlendEquationSeparateiARB fp_glBlendEquationSeparateiARB; +pfn_glBlendFunciARB fp_glBlendFunciARB; +pfn_glBlendFuncSeparateiARB fp_glBlendFuncSeparateiARB; +pfn_glDrawArraysInstancedARB fp_glDrawArraysInstancedARB; +pfn_glDrawElementsInstancedARB fp_glDrawElementsInstancedARB; +pfn_glProgramParameteriARB fp_glProgramParameteriARB; +pfn_glFramebufferTextureARB fp_glFramebufferTextureARB; +pfn_glFramebufferTextureLayerARB fp_glFramebufferTextureLayerARB; +pfn_glFramebufferTextureFaceARB fp_glFramebufferTextureFaceARB; +pfn_glMultiDrawArraysIndirectCountARB fp_glMultiDrawArraysIndirectCountARB; +pfn_glMultiDrawElementsIndirectCountARB fp_glMultiDrawElementsIndirectCountARB; +pfn_glVertexAttribDivisorARB fp_glVertexAttribDivisorARB; +pfn_glGetGraphicsResetStatusARB fp_glGetGraphicsResetStatusARB; +pfn_glGetnTexImageARB fp_glGetnTexImageARB; +pfn_glReadnPixelsARB fp_glReadnPixelsARB; +pfn_glGetnCompressedTexImageARB fp_glGetnCompressedTexImageARB; +pfn_glGetnUniformfvARB fp_glGetnUniformfvARB; +pfn_glGetnUniformivARB fp_glGetnUniformivARB; +pfn_glGetnUniformuivARB fp_glGetnUniformuivARB; +pfn_glGetnUniformdvARB fp_glGetnUniformdvARB; +pfn_glGetnMapdvARB fp_glGetnMapdvARB; +pfn_glGetnMapfvARB fp_glGetnMapfvARB; +pfn_glGetnMapivARB fp_glGetnMapivARB; +pfn_glGetnPixelMapfvARB fp_glGetnPixelMapfvARB; +pfn_glGetnPixelMapuivARB fp_glGetnPixelMapuivARB; +pfn_glGetnPixelMapusvARB fp_glGetnPixelMapusvARB; +pfn_glGetnPolygonStippleARB fp_glGetnPolygonStippleARB; +pfn_glGetnColorTableARB fp_glGetnColorTableARB; +pfn_glGetnConvolutionFilterARB fp_glGetnConvolutionFilterARB; +pfn_glGetnSeparableFilterARB fp_glGetnSeparableFilterARB; +pfn_glGetnHistogramARB fp_glGetnHistogramARB; +pfn_glGetnMinmaxARB fp_glGetnMinmaxARB; +pfn_glMinSampleShadingARB fp_glMinSampleShadingARB; +pfn_glNamedStringARB fp_glNamedStringARB; +pfn_glDeleteNamedStringARB fp_glDeleteNamedStringARB; +pfn_glCompileShaderIncludeARB fp_glCompileShaderIncludeARB; +pfn_glIsNamedStringARB fp_glIsNamedStringARB; +pfn_glGetNamedStringARB fp_glGetNamedStringARB; +pfn_glGetNamedStringivARB fp_glGetNamedStringivARB; +pfn_glBufferPageCommitmentARB fp_glBufferPageCommitmentARB; +pfn_glNamedBufferPageCommitmentEXT fp_glNamedBufferPageCommitmentEXT; +pfn_glNamedBufferPageCommitmentARB fp_glNamedBufferPageCommitmentARB; +pfn_glTexPageCommitmentARB fp_glTexPageCommitmentARB; +pfn_glTexBufferARB fp_glTexBufferARB; +pfn_glUniformBufferEXT fp_glUniformBufferEXT; +pfn_glGetUniformBufferSizeEXT fp_glGetUniformBufferSizeEXT; +pfn_glGetUniformOffsetEXT fp_glGetUniformOffsetEXT; +pfn_glCopyImageSubDataEXT fp_glCopyImageSubDataEXT; +pfn_glLabelObjectEXT fp_glLabelObjectEXT; +pfn_glGetObjectLabelEXT fp_glGetObjectLabelEXT; +pfn_glInsertEventMarkerEXT fp_glInsertEventMarkerEXT; +pfn_glPushGroupMarkerEXT fp_glPushGroupMarkerEXT; +pfn_glPopGroupMarkerEXT fp_glPopGroupMarkerEXT; +pfn_glMatrixLoadfEXT fp_glMatrixLoadfEXT; +pfn_glMatrixLoaddEXT fp_glMatrixLoaddEXT; +pfn_glMatrixMultfEXT fp_glMatrixMultfEXT; +pfn_glMatrixMultdEXT fp_glMatrixMultdEXT; +pfn_glMatrixLoadIdentityEXT fp_glMatrixLoadIdentityEXT; +pfn_glMatrixRotatefEXT fp_glMatrixRotatefEXT; +pfn_glMatrixRotatedEXT fp_glMatrixRotatedEXT; +pfn_glMatrixScalefEXT fp_glMatrixScalefEXT; +pfn_glMatrixScaledEXT fp_glMatrixScaledEXT; +pfn_glMatrixTranslatefEXT fp_glMatrixTranslatefEXT; +pfn_glMatrixTranslatedEXT fp_glMatrixTranslatedEXT; +pfn_glMatrixFrustumEXT fp_glMatrixFrustumEXT; +pfn_glMatrixOrthoEXT fp_glMatrixOrthoEXT; +pfn_glMatrixPopEXT fp_glMatrixPopEXT; +pfn_glMatrixPushEXT fp_glMatrixPushEXT; +pfn_glClientAttribDefaultEXT fp_glClientAttribDefaultEXT; +pfn_glPushClientAttribDefaultEXT fp_glPushClientAttribDefaultEXT; +pfn_glTextureParameterfEXT fp_glTextureParameterfEXT; +pfn_glTextureParameterfvEXT fp_glTextureParameterfvEXT; +pfn_glTextureParameteriEXT fp_glTextureParameteriEXT; +pfn_glTextureParameterivEXT fp_glTextureParameterivEXT; +pfn_glTextureImage1DEXT fp_glTextureImage1DEXT; +pfn_glTextureImage2DEXT fp_glTextureImage2DEXT; +pfn_glTextureSubImage1DEXT fp_glTextureSubImage1DEXT; +pfn_glTextureSubImage2DEXT fp_glTextureSubImage2DEXT; +pfn_glCopyTextureImage1DEXT fp_glCopyTextureImage1DEXT; +pfn_glCopyTextureImage2DEXT fp_glCopyTextureImage2DEXT; +pfn_glCopyTextureSubImage1DEXT fp_glCopyTextureSubImage1DEXT; +pfn_glCopyTextureSubImage2DEXT fp_glCopyTextureSubImage2DEXT; +pfn_glGetTextureImageEXT fp_glGetTextureImageEXT; +pfn_glGetTextureParameterfvEXT fp_glGetTextureParameterfvEXT; +pfn_glGetTextureParameterivEXT fp_glGetTextureParameterivEXT; +pfn_glGetTextureLevelParameterfvEXT fp_glGetTextureLevelParameterfvEXT; +pfn_glGetTextureLevelParameterivEXT fp_glGetTextureLevelParameterivEXT; +pfn_glTextureImage3DEXT fp_glTextureImage3DEXT; +pfn_glTextureSubImage3DEXT fp_glTextureSubImage3DEXT; +pfn_glCopyTextureSubImage3DEXT fp_glCopyTextureSubImage3DEXT; +pfn_glBindMultiTextureEXT fp_glBindMultiTextureEXT; +pfn_glMultiTexCoordPointerEXT fp_glMultiTexCoordPointerEXT; +pfn_glMultiTexEnvfEXT fp_glMultiTexEnvfEXT; +pfn_glMultiTexEnvfvEXT fp_glMultiTexEnvfvEXT; +pfn_glMultiTexEnviEXT fp_glMultiTexEnviEXT; +pfn_glMultiTexEnvivEXT fp_glMultiTexEnvivEXT; +pfn_glMultiTexGendEXT fp_glMultiTexGendEXT; +pfn_glMultiTexGendvEXT fp_glMultiTexGendvEXT; +pfn_glMultiTexGenfEXT fp_glMultiTexGenfEXT; +pfn_glMultiTexGenfvEXT fp_glMultiTexGenfvEXT; +pfn_glMultiTexGeniEXT fp_glMultiTexGeniEXT; +pfn_glMultiTexGenivEXT fp_glMultiTexGenivEXT; +pfn_glGetMultiTexEnvfvEXT fp_glGetMultiTexEnvfvEXT; +pfn_glGetMultiTexEnvivEXT fp_glGetMultiTexEnvivEXT; +pfn_glGetMultiTexGendvEXT fp_glGetMultiTexGendvEXT; +pfn_glGetMultiTexGenfvEXT fp_glGetMultiTexGenfvEXT; +pfn_glGetMultiTexGenivEXT fp_glGetMultiTexGenivEXT; +pfn_glMultiTexParameteriEXT fp_glMultiTexParameteriEXT; +pfn_glMultiTexParameterivEXT fp_glMultiTexParameterivEXT; +pfn_glMultiTexParameterfEXT fp_glMultiTexParameterfEXT; +pfn_glMultiTexParameterfvEXT fp_glMultiTexParameterfvEXT; +pfn_glMultiTexImage1DEXT fp_glMultiTexImage1DEXT; +pfn_glMultiTexImage2DEXT fp_glMultiTexImage2DEXT; +pfn_glMultiTexSubImage1DEXT fp_glMultiTexSubImage1DEXT; +pfn_glMultiTexSubImage2DEXT fp_glMultiTexSubImage2DEXT; +pfn_glCopyMultiTexImage1DEXT fp_glCopyMultiTexImage1DEXT; +pfn_glCopyMultiTexImage2DEXT fp_glCopyMultiTexImage2DEXT; +pfn_glCopyMultiTexSubImage1DEXT fp_glCopyMultiTexSubImage1DEXT; +pfn_glCopyMultiTexSubImage2DEXT fp_glCopyMultiTexSubImage2DEXT; +pfn_glGetMultiTexImageEXT fp_glGetMultiTexImageEXT; +pfn_glGetMultiTexParameterfvEXT fp_glGetMultiTexParameterfvEXT; +pfn_glGetMultiTexParameterivEXT fp_glGetMultiTexParameterivEXT; +pfn_glGetMultiTexLevelParameterfvEXT fp_glGetMultiTexLevelParameterfvEXT; +pfn_glGetMultiTexLevelParameterivEXT fp_glGetMultiTexLevelParameterivEXT; +pfn_glMultiTexImage3DEXT fp_glMultiTexImage3DEXT; +pfn_glMultiTexSubImage3DEXT fp_glMultiTexSubImage3DEXT; +pfn_glCopyMultiTexSubImage3DEXT fp_glCopyMultiTexSubImage3DEXT; +pfn_glEnableClientStateIndexedEXT fp_glEnableClientStateIndexedEXT; +pfn_glDisableClientStateIndexedEXT fp_glDisableClientStateIndexedEXT; +pfn_glGetFloatIndexedvEXT fp_glGetFloatIndexedvEXT; +pfn_glGetDoubleIndexedvEXT fp_glGetDoubleIndexedvEXT; +pfn_glGetPointerIndexedvEXT fp_glGetPointerIndexedvEXT; +pfn_glEnableIndexedEXT fp_glEnableIndexedEXT; +pfn_glDisableIndexedEXT fp_glDisableIndexedEXT; +pfn_glIsEnabledIndexedEXT fp_glIsEnabledIndexedEXT; +pfn_glGetIntegerIndexedvEXT fp_glGetIntegerIndexedvEXT; +pfn_glGetBooleanIndexedvEXT fp_glGetBooleanIndexedvEXT; +pfn_glCompressedTextureImage3DEXT fp_glCompressedTextureImage3DEXT; +pfn_glCompressedTextureImage2DEXT fp_glCompressedTextureImage2DEXT; +pfn_glCompressedTextureImage1DEXT fp_glCompressedTextureImage1DEXT; +pfn_glCompressedTextureSubImage3DEXT fp_glCompressedTextureSubImage3DEXT; +pfn_glCompressedTextureSubImage2DEXT fp_glCompressedTextureSubImage2DEXT; +pfn_glCompressedTextureSubImage1DEXT fp_glCompressedTextureSubImage1DEXT; +pfn_glGetCompressedTextureImageEXT fp_glGetCompressedTextureImageEXT; +pfn_glCompressedMultiTexImage3DEXT fp_glCompressedMultiTexImage3DEXT; +pfn_glCompressedMultiTexImage2DEXT fp_glCompressedMultiTexImage2DEXT; +pfn_glCompressedMultiTexImage1DEXT fp_glCompressedMultiTexImage1DEXT; +pfn_glCompressedMultiTexSubImage3DEXT fp_glCompressedMultiTexSubImage3DEXT; +pfn_glCompressedMultiTexSubImage2DEXT fp_glCompressedMultiTexSubImage2DEXT; +pfn_glCompressedMultiTexSubImage1DEXT fp_glCompressedMultiTexSubImage1DEXT; +pfn_glGetCompressedMultiTexImageEXT fp_glGetCompressedMultiTexImageEXT; +pfn_glMatrixLoadTransposefEXT fp_glMatrixLoadTransposefEXT; +pfn_glMatrixLoadTransposedEXT fp_glMatrixLoadTransposedEXT; +pfn_glMatrixMultTransposefEXT fp_glMatrixMultTransposefEXT; +pfn_glMatrixMultTransposedEXT fp_glMatrixMultTransposedEXT; +pfn_glNamedBufferDataEXT fp_glNamedBufferDataEXT; +pfn_glNamedBufferSubDataEXT fp_glNamedBufferSubDataEXT; +pfn_glMapNamedBufferEXT fp_glMapNamedBufferEXT; +pfn_glUnmapNamedBufferEXT fp_glUnmapNamedBufferEXT; +pfn_glGetNamedBufferParameterivEXT fp_glGetNamedBufferParameterivEXT; +pfn_glGetNamedBufferPointervEXT fp_glGetNamedBufferPointervEXT; +pfn_glGetNamedBufferSubDataEXT fp_glGetNamedBufferSubDataEXT; +pfn_glProgramUniform1fEXT fp_glProgramUniform1fEXT; +pfn_glProgramUniform2fEXT fp_glProgramUniform2fEXT; +pfn_glProgramUniform3fEXT fp_glProgramUniform3fEXT; +pfn_glProgramUniform4fEXT fp_glProgramUniform4fEXT; +pfn_glProgramUniform1iEXT fp_glProgramUniform1iEXT; +pfn_glProgramUniform2iEXT fp_glProgramUniform2iEXT; +pfn_glProgramUniform3iEXT fp_glProgramUniform3iEXT; +pfn_glProgramUniform4iEXT fp_glProgramUniform4iEXT; +pfn_glProgramUniform1fvEXT fp_glProgramUniform1fvEXT; +pfn_glProgramUniform2fvEXT fp_glProgramUniform2fvEXT; +pfn_glProgramUniform3fvEXT fp_glProgramUniform3fvEXT; +pfn_glProgramUniform4fvEXT fp_glProgramUniform4fvEXT; +pfn_glProgramUniform1ivEXT fp_glProgramUniform1ivEXT; +pfn_glProgramUniform2ivEXT fp_glProgramUniform2ivEXT; +pfn_glProgramUniform3ivEXT fp_glProgramUniform3ivEXT; +pfn_glProgramUniform4ivEXT fp_glProgramUniform4ivEXT; +pfn_glProgramUniformMatrix2fvEXT fp_glProgramUniformMatrix2fvEXT; +pfn_glProgramUniformMatrix3fvEXT fp_glProgramUniformMatrix3fvEXT; +pfn_glProgramUniformMatrix4fvEXT fp_glProgramUniformMatrix4fvEXT; +pfn_glProgramUniformMatrix2x3fvEXT fp_glProgramUniformMatrix2x3fvEXT; +pfn_glProgramUniformMatrix3x2fvEXT fp_glProgramUniformMatrix3x2fvEXT; +pfn_glProgramUniformMatrix2x4fvEXT fp_glProgramUniformMatrix2x4fvEXT; +pfn_glProgramUniformMatrix4x2fvEXT fp_glProgramUniformMatrix4x2fvEXT; +pfn_glProgramUniformMatrix3x4fvEXT fp_glProgramUniformMatrix3x4fvEXT; +pfn_glProgramUniformMatrix4x3fvEXT fp_glProgramUniformMatrix4x3fvEXT; +pfn_glTextureBufferEXT fp_glTextureBufferEXT; +pfn_glMultiTexBufferEXT fp_glMultiTexBufferEXT; +pfn_glTextureParameterIivEXT fp_glTextureParameterIivEXT; +pfn_glTextureParameterIuivEXT fp_glTextureParameterIuivEXT; +pfn_glGetTextureParameterIivEXT fp_glGetTextureParameterIivEXT; +pfn_glGetTextureParameterIuivEXT fp_glGetTextureParameterIuivEXT; +pfn_glMultiTexParameterIivEXT fp_glMultiTexParameterIivEXT; +pfn_glMultiTexParameterIuivEXT fp_glMultiTexParameterIuivEXT; +pfn_glGetMultiTexParameterIivEXT fp_glGetMultiTexParameterIivEXT; +pfn_glGetMultiTexParameterIuivEXT fp_glGetMultiTexParameterIuivEXT; +pfn_glProgramUniform1uiEXT fp_glProgramUniform1uiEXT; +pfn_glProgramUniform2uiEXT fp_glProgramUniform2uiEXT; +pfn_glProgramUniform3uiEXT fp_glProgramUniform3uiEXT; +pfn_glProgramUniform4uiEXT fp_glProgramUniform4uiEXT; +pfn_glProgramUniform1uivEXT fp_glProgramUniform1uivEXT; +pfn_glProgramUniform2uivEXT fp_glProgramUniform2uivEXT; +pfn_glProgramUniform3uivEXT fp_glProgramUniform3uivEXT; +pfn_glProgramUniform4uivEXT fp_glProgramUniform4uivEXT; +pfn_glNamedProgramLocalParameters4fvEXT fp_glNamedProgramLocalParameters4fvEXT; +pfn_glNamedProgramLocalParameterI4iEXT fp_glNamedProgramLocalParameterI4iEXT; +pfn_glNamedProgramLocalParameterI4ivEXT fp_glNamedProgramLocalParameterI4ivEXT; +pfn_glNamedProgramLocalParametersI4ivEXT fp_glNamedProgramLocalParametersI4ivEXT; +pfn_glNamedProgramLocalParameterI4uiEXT fp_glNamedProgramLocalParameterI4uiEXT; +pfn_glNamedProgramLocalParameterI4uivEXT fp_glNamedProgramLocalParameterI4uivEXT; +pfn_glNamedProgramLocalParametersI4uivEXT fp_glNamedProgramLocalParametersI4uivEXT; +pfn_glGetNamedProgramLocalParameterIivEXT fp_glGetNamedProgramLocalParameterIivEXT; +pfn_glGetNamedProgramLocalParameterIuivEXT fp_glGetNamedProgramLocalParameterIuivEXT; +pfn_glEnableClientStateiEXT fp_glEnableClientStateiEXT; +pfn_glDisableClientStateiEXT fp_glDisableClientStateiEXT; +pfn_glGetFloati_vEXT fp_glGetFloati_vEXT; +pfn_glGetDoublei_vEXT fp_glGetDoublei_vEXT; +pfn_glGetPointeri_vEXT fp_glGetPointeri_vEXT; +pfn_glNamedProgramStringEXT fp_glNamedProgramStringEXT; +pfn_glNamedProgramLocalParameter4dEXT fp_glNamedProgramLocalParameter4dEXT; +pfn_glNamedProgramLocalParameter4dvEXT fp_glNamedProgramLocalParameter4dvEXT; +pfn_glNamedProgramLocalParameter4fEXT fp_glNamedProgramLocalParameter4fEXT; +pfn_glNamedProgramLocalParameter4fvEXT fp_glNamedProgramLocalParameter4fvEXT; +pfn_glGetNamedProgramLocalParameterdvEXT fp_glGetNamedProgramLocalParameterdvEXT; +pfn_glGetNamedProgramLocalParameterfvEXT fp_glGetNamedProgramLocalParameterfvEXT; +pfn_glGetNamedProgramivEXT fp_glGetNamedProgramivEXT; +pfn_glGetNamedProgramStringEXT fp_glGetNamedProgramStringEXT; +pfn_glNamedRenderbufferStorageEXT fp_glNamedRenderbufferStorageEXT; +pfn_glGetNamedRenderbufferParameterivEXT fp_glGetNamedRenderbufferParameterivEXT; +pfn_glNamedRenderbufferStorageMultisampleEXT fp_glNamedRenderbufferStorageMultisampleEXT; +pfn_glNamedRenderbufferStorageMultisampleCoverageEXT fp_glNamedRenderbufferStorageMultisampleCoverageEXT; +pfn_glCheckNamedFramebufferStatusEXT fp_glCheckNamedFramebufferStatusEXT; +pfn_glNamedFramebufferTexture1DEXT fp_glNamedFramebufferTexture1DEXT; +pfn_glNamedFramebufferTexture2DEXT fp_glNamedFramebufferTexture2DEXT; +pfn_glNamedFramebufferTexture3DEXT fp_glNamedFramebufferTexture3DEXT; +pfn_glNamedFramebufferRenderbufferEXT fp_glNamedFramebufferRenderbufferEXT; +pfn_glGetNamedFramebufferAttachmentParameterivEXT fp_glGetNamedFramebufferAttachmentParameterivEXT; +pfn_glGenerateTextureMipmapEXT fp_glGenerateTextureMipmapEXT; +pfn_glGenerateMultiTexMipmapEXT fp_glGenerateMultiTexMipmapEXT; +pfn_glFramebufferDrawBufferEXT fp_glFramebufferDrawBufferEXT; +pfn_glFramebufferDrawBuffersEXT fp_glFramebufferDrawBuffersEXT; +pfn_glFramebufferReadBufferEXT fp_glFramebufferReadBufferEXT; +pfn_glGetFramebufferParameterivEXT fp_glGetFramebufferParameterivEXT; +pfn_glNamedCopyBufferSubDataEXT fp_glNamedCopyBufferSubDataEXT; +pfn_glNamedFramebufferTextureEXT fp_glNamedFramebufferTextureEXT; +pfn_glNamedFramebufferTextureLayerEXT fp_glNamedFramebufferTextureLayerEXT; +pfn_glNamedFramebufferTextureFaceEXT fp_glNamedFramebufferTextureFaceEXT; +pfn_glTextureRenderbufferEXT fp_glTextureRenderbufferEXT; +pfn_glMultiTexRenderbufferEXT fp_glMultiTexRenderbufferEXT; +pfn_glVertexArrayVertexOffsetEXT fp_glVertexArrayVertexOffsetEXT; +pfn_glVertexArrayColorOffsetEXT fp_glVertexArrayColorOffsetEXT; +pfn_glVertexArrayEdgeFlagOffsetEXT fp_glVertexArrayEdgeFlagOffsetEXT; +pfn_glVertexArrayIndexOffsetEXT fp_glVertexArrayIndexOffsetEXT; +pfn_glVertexArrayNormalOffsetEXT fp_glVertexArrayNormalOffsetEXT; +pfn_glVertexArrayTexCoordOffsetEXT fp_glVertexArrayTexCoordOffsetEXT; +pfn_glVertexArrayMultiTexCoordOffsetEXT fp_glVertexArrayMultiTexCoordOffsetEXT; +pfn_glVertexArrayFogCoordOffsetEXT fp_glVertexArrayFogCoordOffsetEXT; +pfn_glVertexArraySecondaryColorOffsetEXT fp_glVertexArraySecondaryColorOffsetEXT; +pfn_glVertexArrayVertexAttribOffsetEXT fp_glVertexArrayVertexAttribOffsetEXT; +pfn_glVertexArrayVertexAttribIOffsetEXT fp_glVertexArrayVertexAttribIOffsetEXT; +pfn_glEnableVertexArrayEXT fp_glEnableVertexArrayEXT; +pfn_glDisableVertexArrayEXT fp_glDisableVertexArrayEXT; +pfn_glEnableVertexArrayAttribEXT fp_glEnableVertexArrayAttribEXT; +pfn_glDisableVertexArrayAttribEXT fp_glDisableVertexArrayAttribEXT; +pfn_glGetVertexArrayIntegervEXT fp_glGetVertexArrayIntegervEXT; +pfn_glGetVertexArrayPointervEXT fp_glGetVertexArrayPointervEXT; +pfn_glGetVertexArrayIntegeri_vEXT fp_glGetVertexArrayIntegeri_vEXT; +pfn_glGetVertexArrayPointeri_vEXT fp_glGetVertexArrayPointeri_vEXT; +pfn_glMapNamedBufferRangeEXT fp_glMapNamedBufferRangeEXT; +pfn_glFlushMappedNamedBufferRangeEXT fp_glFlushMappedNamedBufferRangeEXT; +pfn_glNamedBufferStorageEXT fp_glNamedBufferStorageEXT; +pfn_glClearNamedBufferDataEXT fp_glClearNamedBufferDataEXT; +pfn_glClearNamedBufferSubDataEXT fp_glClearNamedBufferSubDataEXT; +pfn_glNamedFramebufferParameteriEXT fp_glNamedFramebufferParameteriEXT; +pfn_glGetNamedFramebufferParameterivEXT fp_glGetNamedFramebufferParameterivEXT; +pfn_glProgramUniform1dEXT fp_glProgramUniform1dEXT; +pfn_glProgramUniform2dEXT fp_glProgramUniform2dEXT; +pfn_glProgramUniform3dEXT fp_glProgramUniform3dEXT; +pfn_glProgramUniform4dEXT fp_glProgramUniform4dEXT; +pfn_glProgramUniform1dvEXT fp_glProgramUniform1dvEXT; +pfn_glProgramUniform2dvEXT fp_glProgramUniform2dvEXT; +pfn_glProgramUniform3dvEXT fp_glProgramUniform3dvEXT; +pfn_glProgramUniform4dvEXT fp_glProgramUniform4dvEXT; +pfn_glProgramUniformMatrix2dvEXT fp_glProgramUniformMatrix2dvEXT; +pfn_glProgramUniformMatrix3dvEXT fp_glProgramUniformMatrix3dvEXT; +pfn_glProgramUniformMatrix4dvEXT fp_glProgramUniformMatrix4dvEXT; +pfn_glProgramUniformMatrix2x3dvEXT fp_glProgramUniformMatrix2x3dvEXT; +pfn_glProgramUniformMatrix2x4dvEXT fp_glProgramUniformMatrix2x4dvEXT; +pfn_glProgramUniformMatrix3x2dvEXT fp_glProgramUniformMatrix3x2dvEXT; +pfn_glProgramUniformMatrix3x4dvEXT fp_glProgramUniformMatrix3x4dvEXT; +pfn_glProgramUniformMatrix4x2dvEXT fp_glProgramUniformMatrix4x2dvEXT; +pfn_glProgramUniformMatrix4x3dvEXT fp_glProgramUniformMatrix4x3dvEXT; +pfn_glTextureBufferRangeEXT fp_glTextureBufferRangeEXT; +pfn_glTextureStorage1DEXT fp_glTextureStorage1DEXT; +pfn_glTextureStorage2DEXT fp_glTextureStorage2DEXT; +pfn_glTextureStorage3DEXT fp_glTextureStorage3DEXT; +pfn_glTextureStorage2DMultisampleEXT fp_glTextureStorage2DMultisampleEXT; +pfn_glTextureStorage3DMultisampleEXT fp_glTextureStorage3DMultisampleEXT; +pfn_glVertexArrayBindVertexBufferEXT fp_glVertexArrayBindVertexBufferEXT; +pfn_glVertexArrayVertexAttribFormatEXT fp_glVertexArrayVertexAttribFormatEXT; +pfn_glVertexArrayVertexAttribIFormatEXT fp_glVertexArrayVertexAttribIFormatEXT; +pfn_glVertexArrayVertexAttribLFormatEXT fp_glVertexArrayVertexAttribLFormatEXT; +pfn_glVertexArrayVertexAttribBindingEXT fp_glVertexArrayVertexAttribBindingEXT; +pfn_glVertexArrayVertexBindingDivisorEXT fp_glVertexArrayVertexBindingDivisorEXT; +pfn_glVertexArrayVertexAttribLOffsetEXT fp_glVertexArrayVertexAttribLOffsetEXT; +pfn_glTexturePageCommitmentEXT fp_glTexturePageCommitmentEXT; +pfn_glVertexArrayVertexAttribDivisorEXT fp_glVertexArrayVertexAttribDivisorEXT; +pfn_glDiscardFramebufferEXT fp_glDiscardFramebufferEXT; +pfn_glGenQueriesEXT fp_glGenQueriesEXT; +pfn_glDeleteQueriesEXT fp_glDeleteQueriesEXT; +pfn_glIsQueryEXT fp_glIsQueryEXT; +pfn_glBeginQueryEXT fp_glBeginQueryEXT; +pfn_glEndQueryEXT fp_glEndQueryEXT; +pfn_glQueryCounterEXT fp_glQueryCounterEXT; +pfn_glGetQueryivEXT fp_glGetQueryivEXT; +pfn_glGetQueryObjectivEXT fp_glGetQueryObjectivEXT; +pfn_glGetQueryObjectuivEXT fp_glGetQueryObjectuivEXT; +pfn_glGetQueryObjecti64vEXT fp_glGetQueryObjecti64vEXT; +pfn_glGetQueryObjectui64vEXT fp_glGetQueryObjectui64vEXT; +pfn_glDrawBuffersEXT fp_glDrawBuffersEXT; +pfn_glColorMaskIndexedEXT fp_glColorMaskIndexedEXT; +pfn_glEnableiEXT fp_glEnableiEXT; +pfn_glDisableiEXT fp_glDisableiEXT; +pfn_glBlendEquationiEXT fp_glBlendEquationiEXT; +pfn_glBlendEquationSeparateiEXT fp_glBlendEquationSeparateiEXT; +pfn_glBlendFunciEXT fp_glBlendFunciEXT; +pfn_glBlendFuncSeparateiEXT fp_glBlendFuncSeparateiEXT; +pfn_glColorMaskiEXT fp_glColorMaskiEXT; +pfn_glIsEnablediEXT fp_glIsEnablediEXT; +pfn_glDrawArraysInstancedEXT fp_glDrawArraysInstancedEXT; +pfn_glDrawElementsInstancedEXT fp_glDrawElementsInstancedEXT; +pfn_glBlitFramebufferEXT fp_glBlitFramebufferEXT; +pfn_glRenderbufferStorageMultisampleEXT fp_glRenderbufferStorageMultisampleEXT; +pfn_glIsRenderbufferEXT fp_glIsRenderbufferEXT; +pfn_glBindRenderbufferEXT fp_glBindRenderbufferEXT; +pfn_glDeleteRenderbuffersEXT fp_glDeleteRenderbuffersEXT; +pfn_glGenRenderbuffersEXT fp_glGenRenderbuffersEXT; +pfn_glRenderbufferStorageEXT fp_glRenderbufferStorageEXT; +pfn_glGetRenderbufferParameterivEXT fp_glGetRenderbufferParameterivEXT; +pfn_glIsFramebufferEXT fp_glIsFramebufferEXT; +pfn_glBindFramebufferEXT fp_glBindFramebufferEXT; +pfn_glDeleteFramebuffersEXT fp_glDeleteFramebuffersEXT; +pfn_glGenFramebuffersEXT fp_glGenFramebuffersEXT; +pfn_glCheckFramebufferStatusEXT fp_glCheckFramebufferStatusEXT; +pfn_glFramebufferTexture1DEXT fp_glFramebufferTexture1DEXT; +pfn_glFramebufferTexture2DEXT fp_glFramebufferTexture2DEXT; +pfn_glFramebufferTexture3DEXT fp_glFramebufferTexture3DEXT; +pfn_glFramebufferRenderbufferEXT fp_glFramebufferRenderbufferEXT; +pfn_glGetFramebufferAttachmentParameterivEXT fp_glGetFramebufferAttachmentParameterivEXT; +pfn_glGenerateMipmapEXT fp_glGenerateMipmapEXT; +pfn_glFramebufferTextureEXT fp_glFramebufferTextureEXT; +pfn_glProgramParameteriEXT fp_glProgramParameteriEXT; +pfn_glProgramEnvParameters4fvEXT fp_glProgramEnvParameters4fvEXT; +pfn_glProgramLocalParameters4fvEXT fp_glProgramLocalParameters4fvEXT; +pfn_glGetUniformuivEXT fp_glGetUniformuivEXT; +pfn_glBindFragDataLocationEXT fp_glBindFragDataLocationEXT; +pfn_glGetFragDataLocationEXT fp_glGetFragDataLocationEXT; +pfn_glUniform1uiEXT fp_glUniform1uiEXT; +pfn_glUniform2uiEXT fp_glUniform2uiEXT; +pfn_glUniform3uiEXT fp_glUniform3uiEXT; +pfn_glUniform4uiEXT fp_glUniform4uiEXT; +pfn_glUniform1uivEXT fp_glUniform1uivEXT; +pfn_glUniform2uivEXT fp_glUniform2uivEXT; +pfn_glUniform3uivEXT fp_glUniform3uivEXT; +pfn_glUniform4uivEXT fp_glUniform4uivEXT; +pfn_glVertexAttribDivisorEXT fp_glVertexAttribDivisorEXT; +pfn_glMapBufferRangeEXT fp_glMapBufferRangeEXT; +pfn_glFlushMappedBufferRangeEXT fp_glFlushMappedBufferRangeEXT; +pfn_glFramebufferTexture2DMultisampleEXT fp_glFramebufferTexture2DMultisampleEXT; +pfn_glReadBufferIndexedEXT fp_glReadBufferIndexedEXT; +pfn_glDrawBuffersIndexedEXT fp_glDrawBuffersIndexedEXT; +pfn_glGetIntegeri_vEXT fp_glGetIntegeri_vEXT; +pfn_glPrimitiveBoundingBoxEXT fp_glPrimitiveBoundingBoxEXT; +pfn_glProvokingVertexEXT fp_glProvokingVertexEXT; +pfn_glGetGraphicsResetStatusEXT fp_glGetGraphicsResetStatusEXT; +pfn_glReadnPixelsEXT fp_glReadnPixelsEXT; +pfn_glGetnUniformfvEXT fp_glGetnUniformfvEXT; +pfn_glGetnUniformivEXT fp_glGetnUniformivEXT; +pfn_glUseShaderProgramEXT fp_glUseShaderProgramEXT; +pfn_glActiveProgramEXT fp_glActiveProgramEXT; +pfn_glCreateShaderProgramEXT fp_glCreateShaderProgramEXT; +pfn_glActiveShaderProgramEXT fp_glActiveShaderProgramEXT; +pfn_glBindProgramPipelineEXT fp_glBindProgramPipelineEXT; +pfn_glCreateShaderProgramvEXT fp_glCreateShaderProgramvEXT; +pfn_glDeleteProgramPipelinesEXT fp_glDeleteProgramPipelinesEXT; +pfn_glGenProgramPipelinesEXT fp_glGenProgramPipelinesEXT; +pfn_glGetProgramPipelineInfoLogEXT fp_glGetProgramPipelineInfoLogEXT; +pfn_glGetProgramPipelineivEXT fp_glGetProgramPipelineivEXT; +pfn_glIsProgramPipelineEXT fp_glIsProgramPipelineEXT; +pfn_glUseProgramStagesEXT fp_glUseProgramStagesEXT; +pfn_glValidateProgramPipelineEXT fp_glValidateProgramPipelineEXT; +pfn_glBindImageTextureEXT fp_glBindImageTextureEXT; +pfn_glMemoryBarrierEXT fp_glMemoryBarrierEXT; +pfn_glStencilClearTagEXT fp_glStencilClearTagEXT; +pfn_glPatchParameteriEXT fp_glPatchParameteriEXT; +pfn_glFramebufferTextureLayerEXT fp_glFramebufferTextureLayerEXT; +pfn_glTexParameterIivEXT fp_glTexParameterIivEXT; +pfn_glTexParameterIuivEXT fp_glTexParameterIuivEXT; +pfn_glGetTexParameterIivEXT fp_glGetTexParameterIivEXT; +pfn_glGetTexParameterIuivEXT fp_glGetTexParameterIuivEXT; +pfn_glSamplerParameterIivEXT fp_glSamplerParameterIivEXT; +pfn_glSamplerParameterIuivEXT fp_glSamplerParameterIuivEXT; +pfn_glGetSamplerParameterIivEXT fp_glGetSamplerParameterIivEXT; +pfn_glGetSamplerParameterIuivEXT fp_glGetSamplerParameterIuivEXT; +pfn_glTexBufferEXT fp_glTexBufferEXT; +pfn_glTexBufferRangeEXT fp_glTexBufferRangeEXT; +pfn_glClearColorIiEXT fp_glClearColorIiEXT; +pfn_glClearColorIuiEXT fp_glClearColorIuiEXT; +pfn_glTexStorage1DEXT fp_glTexStorage1DEXT; +pfn_glTexStorage2DEXT fp_glTexStorage2DEXT; +pfn_glTexStorage3DEXT fp_glTexStorage3DEXT; +pfn_glTextureViewEXT fp_glTextureViewEXT; +pfn_glBeginTransformFeedbackEXT fp_glBeginTransformFeedbackEXT; +pfn_glEndTransformFeedbackEXT fp_glEndTransformFeedbackEXT; +pfn_glBindBufferRangeEXT fp_glBindBufferRangeEXT; +pfn_glBindBufferOffsetEXT fp_glBindBufferOffsetEXT; +pfn_glBindBufferBaseEXT fp_glBindBufferBaseEXT; +pfn_glTransformFeedbackVaryingsEXT fp_glTransformFeedbackVaryingsEXT; +pfn_glGetTransformFeedbackVaryingEXT fp_glGetTransformFeedbackVaryingEXT; +pfn_glVertexAttribL1dEXT fp_glVertexAttribL1dEXT; +pfn_glVertexAttribL2dEXT fp_glVertexAttribL2dEXT; +pfn_glVertexAttribL3dEXT fp_glVertexAttribL3dEXT; +pfn_glVertexAttribL4dEXT fp_glVertexAttribL4dEXT; +pfn_glVertexAttribL1dvEXT fp_glVertexAttribL1dvEXT; +pfn_glVertexAttribL2dvEXT fp_glVertexAttribL2dvEXT; +pfn_glVertexAttribL3dvEXT fp_glVertexAttribL3dvEXT; +pfn_glVertexAttribL4dvEXT fp_glVertexAttribL4dvEXT; +pfn_glVertexAttribLPointerEXT fp_glVertexAttribLPointerEXT; +pfn_glGetVertexAttribLdvEXT fp_glGetVertexAttribLdvEXT; +pfn_glImportSyncEXT fp_glImportSyncEXT; +pfn_glEGLImageTargetTexture2DOES fp_glEGLImageTargetTexture2DOES; +pfn_glEGLImageTargetRenderbufferStorageOES fp_glEGLImageTargetRenderbufferStorageOES; +pfn_glGetProgramBinaryOES fp_glGetProgramBinaryOES; +pfn_glProgramBinaryOES fp_glProgramBinaryOES; +pfn_glMapBufferOES fp_glMapBufferOES; +pfn_glUnmapBufferOES fp_glUnmapBufferOES; +pfn_glGetBufferPointervOES fp_glGetBufferPointervOES; +pfn_glMinSampleShadingOES fp_glMinSampleShadingOES; +pfn_glTexImage3DOES fp_glTexImage3DOES; +pfn_glTexSubImage3DOES fp_glTexSubImage3DOES; +pfn_glCopyTexSubImage3DOES fp_glCopyTexSubImage3DOES; +pfn_glCompressedTexImage3DOES fp_glCompressedTexImage3DOES; +pfn_glCompressedTexSubImage3DOES fp_glCompressedTexSubImage3DOES; +pfn_glFramebufferTexture3DOES fp_glFramebufferTexture3DOES; +pfn_glTexStorage3DMultisampleOES fp_glTexStorage3DMultisampleOES; +pfn_glBindVertexArrayOES fp_glBindVertexArrayOES; +pfn_glDeleteVertexArraysOES fp_glDeleteVertexArraysOES; +pfn_glGenVertexArraysOES fp_glGenVertexArraysOES; +pfn_glIsVertexArrayOES fp_glIsVertexArrayOES; +pfn_glDebugMessageEnableAMD fp_glDebugMessageEnableAMD; +pfn_glDebugMessageInsertAMD fp_glDebugMessageInsertAMD; +pfn_glDebugMessageCallbackAMD fp_glDebugMessageCallbackAMD; +pfn_glGetDebugMessageLogAMD fp_glGetDebugMessageLogAMD; +pfn_glBlendFuncIndexedAMD fp_glBlendFuncIndexedAMD; +pfn_glBlendFuncSeparateIndexedAMD fp_glBlendFuncSeparateIndexedAMD; +pfn_glBlendEquationIndexedAMD fp_glBlendEquationIndexedAMD; +pfn_glBlendEquationSeparateIndexedAMD fp_glBlendEquationSeparateIndexedAMD; +pfn_glUniform1i64NV fp_glUniform1i64NV; +pfn_glUniform2i64NV fp_glUniform2i64NV; +pfn_glUniform3i64NV fp_glUniform3i64NV; +pfn_glUniform4i64NV fp_glUniform4i64NV; +pfn_glUniform1i64vNV fp_glUniform1i64vNV; +pfn_glUniform2i64vNV fp_glUniform2i64vNV; +pfn_glUniform3i64vNV fp_glUniform3i64vNV; +pfn_glUniform4i64vNV fp_glUniform4i64vNV; +pfn_glUniform1ui64NV fp_glUniform1ui64NV; +pfn_glUniform2ui64NV fp_glUniform2ui64NV; +pfn_glUniform3ui64NV fp_glUniform3ui64NV; +pfn_glUniform4ui64NV fp_glUniform4ui64NV; +pfn_glUniform1ui64vNV fp_glUniform1ui64vNV; +pfn_glUniform2ui64vNV fp_glUniform2ui64vNV; +pfn_glUniform3ui64vNV fp_glUniform3ui64vNV; +pfn_glUniform4ui64vNV fp_glUniform4ui64vNV; +pfn_glGetUniformi64vNV fp_glGetUniformi64vNV; +pfn_glGetUniformui64vNV fp_glGetUniformui64vNV; +pfn_glProgramUniform1i64NV fp_glProgramUniform1i64NV; +pfn_glProgramUniform2i64NV fp_glProgramUniform2i64NV; +pfn_glProgramUniform3i64NV fp_glProgramUniform3i64NV; +pfn_glProgramUniform4i64NV fp_glProgramUniform4i64NV; +pfn_glProgramUniform1i64vNV fp_glProgramUniform1i64vNV; +pfn_glProgramUniform2i64vNV fp_glProgramUniform2i64vNV; +pfn_glProgramUniform3i64vNV fp_glProgramUniform3i64vNV; +pfn_glProgramUniform4i64vNV fp_glProgramUniform4i64vNV; +pfn_glProgramUniform1ui64NV fp_glProgramUniform1ui64NV; +pfn_glProgramUniform2ui64NV fp_glProgramUniform2ui64NV; +pfn_glProgramUniform3ui64NV fp_glProgramUniform3ui64NV; +pfn_glProgramUniform4ui64NV fp_glProgramUniform4ui64NV; +pfn_glProgramUniform1ui64vNV fp_glProgramUniform1ui64vNV; +pfn_glProgramUniform2ui64vNV fp_glProgramUniform2ui64vNV; +pfn_glProgramUniform3ui64vNV fp_glProgramUniform3ui64vNV; +pfn_glProgramUniform4ui64vNV fp_glProgramUniform4ui64vNV; +pfn_glVertexAttribParameteriAMD fp_glVertexAttribParameteriAMD; +pfn_glMultiDrawArraysIndirectAMD fp_glMultiDrawArraysIndirectAMD; +pfn_glMultiDrawElementsIndirectAMD fp_glMultiDrawElementsIndirectAMD; +pfn_glGenNamesAMD fp_glGenNamesAMD; +pfn_glDeleteNamesAMD fp_glDeleteNamesAMD; +pfn_glIsNameAMD fp_glIsNameAMD; +pfn_glQueryObjectParameteruiAMD fp_glQueryObjectParameteruiAMD; +pfn_glGetPerfMonitorGroupsAMD fp_glGetPerfMonitorGroupsAMD; +pfn_glGetPerfMonitorCountersAMD fp_glGetPerfMonitorCountersAMD; +pfn_glGetPerfMonitorGroupStringAMD fp_glGetPerfMonitorGroupStringAMD; +pfn_glGetPerfMonitorCounterStringAMD fp_glGetPerfMonitorCounterStringAMD; +pfn_glGetPerfMonitorCounterInfoAMD fp_glGetPerfMonitorCounterInfoAMD; +pfn_glGenPerfMonitorsAMD fp_glGenPerfMonitorsAMD; +pfn_glDeletePerfMonitorsAMD fp_glDeletePerfMonitorsAMD; +pfn_glSelectPerfMonitorCountersAMD fp_glSelectPerfMonitorCountersAMD; +pfn_glBeginPerfMonitorAMD fp_glBeginPerfMonitorAMD; +pfn_glEndPerfMonitorAMD fp_glEndPerfMonitorAMD; +pfn_glGetPerfMonitorCounterDataAMD fp_glGetPerfMonitorCounterDataAMD; +pfn_glSetMultisamplefvAMD fp_glSetMultisamplefvAMD; +pfn_glTexStorageSparseAMD fp_glTexStorageSparseAMD; +pfn_glTextureStorageSparseAMD fp_glTextureStorageSparseAMD; +pfn_glStencilOpValueAMD fp_glStencilOpValueAMD; +pfn_glTessellationFactorAMD fp_glTessellationFactorAMD; +pfn_glTessellationModeAMD fp_glTessellationModeAMD; +pfn_glBlitFramebufferANGLE fp_glBlitFramebufferANGLE; +pfn_glRenderbufferStorageMultisampleANGLE fp_glRenderbufferStorageMultisampleANGLE; +pfn_glDrawArraysInstancedANGLE fp_glDrawArraysInstancedANGLE; +pfn_glDrawElementsInstancedANGLE fp_glDrawElementsInstancedANGLE; +pfn_glVertexAttribDivisorANGLE fp_glVertexAttribDivisorANGLE; +pfn_glGetTranslatedShaderSourceANGLE fp_glGetTranslatedShaderSourceANGLE; +pfn_glCopyTextureLevelsAPPLE fp_glCopyTextureLevelsAPPLE; +pfn_glElementPointerAPPLE fp_glElementPointerAPPLE; +pfn_glDrawElementArrayAPPLE fp_glDrawElementArrayAPPLE; +pfn_glDrawRangeElementArrayAPPLE fp_glDrawRangeElementArrayAPPLE; +pfn_glMultiDrawElementArrayAPPLE fp_glMultiDrawElementArrayAPPLE; +pfn_glMultiDrawRangeElementArrayAPPLE fp_glMultiDrawRangeElementArrayAPPLE; +pfn_glGenFencesAPPLE fp_glGenFencesAPPLE; +pfn_glDeleteFencesAPPLE fp_glDeleteFencesAPPLE; +pfn_glSetFenceAPPLE fp_glSetFenceAPPLE; +pfn_glIsFenceAPPLE fp_glIsFenceAPPLE; +pfn_glTestFenceAPPLE fp_glTestFenceAPPLE; +pfn_glFinishFenceAPPLE fp_glFinishFenceAPPLE; +pfn_glTestObjectAPPLE fp_glTestObjectAPPLE; +pfn_glFinishObjectAPPLE fp_glFinishObjectAPPLE; +pfn_glBufferParameteriAPPLE fp_glBufferParameteriAPPLE; +pfn_glFlushMappedBufferRangeAPPLE fp_glFlushMappedBufferRangeAPPLE; +pfn_glRenderbufferStorageMultisampleAPPLE fp_glRenderbufferStorageMultisampleAPPLE; +pfn_glResolveMultisampleFramebufferAPPLE fp_glResolveMultisampleFramebufferAPPLE; +pfn_glObjectPurgeableAPPLE fp_glObjectPurgeableAPPLE; +pfn_glObjectUnpurgeableAPPLE fp_glObjectUnpurgeableAPPLE; +pfn_glGetObjectParameterivAPPLE fp_glGetObjectParameterivAPPLE; +pfn_glFenceSyncAPPLE fp_glFenceSyncAPPLE; +pfn_glIsSyncAPPLE fp_glIsSyncAPPLE; +pfn_glDeleteSyncAPPLE fp_glDeleteSyncAPPLE; +pfn_glClientWaitSyncAPPLE fp_glClientWaitSyncAPPLE; +pfn_glWaitSyncAPPLE fp_glWaitSyncAPPLE; +pfn_glGetInteger64vAPPLE fp_glGetInteger64vAPPLE; +pfn_glGetSyncivAPPLE fp_glGetSyncivAPPLE; +pfn_glTextureRangeAPPLE fp_glTextureRangeAPPLE; +pfn_glGetTexParameterPointervAPPLE fp_glGetTexParameterPointervAPPLE; +pfn_glBindVertexArrayAPPLE fp_glBindVertexArrayAPPLE; +pfn_glDeleteVertexArraysAPPLE fp_glDeleteVertexArraysAPPLE; +pfn_glGenVertexArraysAPPLE fp_glGenVertexArraysAPPLE; +pfn_glIsVertexArrayAPPLE fp_glIsVertexArrayAPPLE; +pfn_glVertexArrayRangeAPPLE fp_glVertexArrayRangeAPPLE; +pfn_glFlushVertexArrayRangeAPPLE fp_glFlushVertexArrayRangeAPPLE; +pfn_glVertexArrayParameteriAPPLE fp_glVertexArrayParameteriAPPLE; +pfn_glEnableVertexAttribAPPLE fp_glEnableVertexAttribAPPLE; +pfn_glDisableVertexAttribAPPLE fp_glDisableVertexAttribAPPLE; +pfn_glIsVertexAttribEnabledAPPLE fp_glIsVertexAttribEnabledAPPLE; +pfn_glMapVertexAttrib1dAPPLE fp_glMapVertexAttrib1dAPPLE; +pfn_glMapVertexAttrib1fAPPLE fp_glMapVertexAttrib1fAPPLE; +pfn_glMapVertexAttrib2dAPPLE fp_glMapVertexAttrib2dAPPLE; +pfn_glMapVertexAttrib2fAPPLE fp_glMapVertexAttrib2fAPPLE; +pfn_glFrameTerminatorGREMEDY fp_glFrameTerminatorGREMEDY; +pfn_glStringMarkerGREMEDY fp_glStringMarkerGREMEDY; +pfn_glRenderbufferStorageMultisampleIMG fp_glRenderbufferStorageMultisampleIMG; +pfn_glFramebufferTexture2DMultisampleIMG fp_glFramebufferTexture2DMultisampleIMG; +pfn_glBlendFuncSeparateINGR fp_glBlendFuncSeparateINGR; +pfn_glSyncTextureINTEL fp_glSyncTextureINTEL; +pfn_glUnmapTexture2DINTEL fp_glUnmapTexture2DINTEL; +pfn_glMapTexture2DINTEL fp_glMapTexture2DINTEL; +pfn_glBeginPerfQueryINTEL fp_glBeginPerfQueryINTEL; +pfn_glCreatePerfQueryINTEL fp_glCreatePerfQueryINTEL; +pfn_glDeletePerfQueryINTEL fp_glDeletePerfQueryINTEL; +pfn_glEndPerfQueryINTEL fp_glEndPerfQueryINTEL; +pfn_glGetFirstPerfQueryIdINTEL fp_glGetFirstPerfQueryIdINTEL; +pfn_glGetNextPerfQueryIdINTEL fp_glGetNextPerfQueryIdINTEL; +pfn_glGetPerfCounterInfoINTEL fp_glGetPerfCounterInfoINTEL; +pfn_glGetPerfQueryDataINTEL fp_glGetPerfQueryDataINTEL; +pfn_glGetPerfQueryIdByNameINTEL fp_glGetPerfQueryIdByNameINTEL; +pfn_glGetPerfQueryInfoINTEL fp_glGetPerfQueryInfoINTEL; +pfn_glMultiDrawArraysIndirectBindlessNV fp_glMultiDrawArraysIndirectBindlessNV; +pfn_glMultiDrawElementsIndirectBindlessNV fp_glMultiDrawElementsIndirectBindlessNV; +pfn_glMultiDrawArraysIndirectBindlessCountNV fp_glMultiDrawArraysIndirectBindlessCountNV; +pfn_glMultiDrawElementsIndirectBindlessCountNV fp_glMultiDrawElementsIndirectBindlessCountNV; +pfn_glGetTextureHandleNV fp_glGetTextureHandleNV; +pfn_glGetTextureSamplerHandleNV fp_glGetTextureSamplerHandleNV; +pfn_glMakeTextureHandleResidentNV fp_glMakeTextureHandleResidentNV; +pfn_glMakeTextureHandleNonResidentNV fp_glMakeTextureHandleNonResidentNV; +pfn_glGetImageHandleNV fp_glGetImageHandleNV; +pfn_glMakeImageHandleResidentNV fp_glMakeImageHandleResidentNV; +pfn_glMakeImageHandleNonResidentNV fp_glMakeImageHandleNonResidentNV; +pfn_glUniformHandleui64NV fp_glUniformHandleui64NV; +pfn_glUniformHandleui64vNV fp_glUniformHandleui64vNV; +pfn_glProgramUniformHandleui64NV fp_glProgramUniformHandleui64NV; +pfn_glProgramUniformHandleui64vNV fp_glProgramUniformHandleui64vNV; +pfn_glIsTextureHandleResidentNV fp_glIsTextureHandleResidentNV; +pfn_glIsImageHandleResidentNV fp_glIsImageHandleResidentNV; +pfn_glBlendParameteriNV fp_glBlendParameteriNV; +pfn_glBlendBarrierNV fp_glBlendBarrierNV; +pfn_glBeginConditionalRenderNV fp_glBeginConditionalRenderNV; +pfn_glEndConditionalRenderNV fp_glEndConditionalRenderNV; +pfn_glCopyBufferSubDataNV fp_glCopyBufferSubDataNV; +pfn_glCopyImageSubDataNV fp_glCopyImageSubDataNV; +pfn_glCoverageMaskNV fp_glCoverageMaskNV; +pfn_glCoverageOperationNV fp_glCoverageOperationNV; +pfn_glDepthRangedNV fp_glDepthRangedNV; +pfn_glClearDepthdNV fp_glClearDepthdNV; +pfn_glDepthBoundsdNV fp_glDepthBoundsdNV; +pfn_glDrawBuffersNV fp_glDrawBuffersNV; +pfn_glDrawArraysInstancedNV fp_glDrawArraysInstancedNV; +pfn_glDrawElementsInstancedNV fp_glDrawElementsInstancedNV; +pfn_glDrawTextureNV fp_glDrawTextureNV; +pfn_glGetMultisamplefvNV fp_glGetMultisamplefvNV; +pfn_glSampleMaskIndexedNV fp_glSampleMaskIndexedNV; +pfn_glTexRenderbufferNV fp_glTexRenderbufferNV; +pfn_glDeleteFencesNV fp_glDeleteFencesNV; +pfn_glGenFencesNV fp_glGenFencesNV; +pfn_glIsFenceNV fp_glIsFenceNV; +pfn_glTestFenceNV fp_glTestFenceNV; +pfn_glGetFenceivNV fp_glGetFenceivNV; +pfn_glFinishFenceNV fp_glFinishFenceNV; +pfn_glSetFenceNV fp_glSetFenceNV; +pfn_glBlitFramebufferNV fp_glBlitFramebufferNV; +pfn_glRenderbufferStorageMultisampleNV fp_glRenderbufferStorageMultisampleNV; +pfn_glRenderbufferStorageMultisampleCoverageNV fp_glRenderbufferStorageMultisampleCoverageNV; +pfn_glProgramVertexLimitNV fp_glProgramVertexLimitNV; +pfn_glFramebufferTextureFaceEXT fp_glFramebufferTextureFaceEXT; +pfn_glProgramLocalParameterI4iNV fp_glProgramLocalParameterI4iNV; +pfn_glProgramLocalParameterI4ivNV fp_glProgramLocalParameterI4ivNV; +pfn_glProgramLocalParametersI4ivNV fp_glProgramLocalParametersI4ivNV; +pfn_glProgramLocalParameterI4uiNV fp_glProgramLocalParameterI4uiNV; +pfn_glProgramLocalParameterI4uivNV fp_glProgramLocalParameterI4uivNV; +pfn_glProgramLocalParametersI4uivNV fp_glProgramLocalParametersI4uivNV; +pfn_glProgramEnvParameterI4iNV fp_glProgramEnvParameterI4iNV; +pfn_glProgramEnvParameterI4ivNV fp_glProgramEnvParameterI4ivNV; +pfn_glProgramEnvParametersI4ivNV fp_glProgramEnvParametersI4ivNV; +pfn_glProgramEnvParameterI4uiNV fp_glProgramEnvParameterI4uiNV; +pfn_glProgramEnvParameterI4uivNV fp_glProgramEnvParameterI4uivNV; +pfn_glProgramEnvParametersI4uivNV fp_glProgramEnvParametersI4uivNV; +pfn_glGetProgramLocalParameterIivNV fp_glGetProgramLocalParameterIivNV; +pfn_glGetProgramLocalParameterIuivNV fp_glGetProgramLocalParameterIuivNV; +pfn_glGetProgramEnvParameterIivNV fp_glGetProgramEnvParameterIivNV; +pfn_glGetProgramEnvParameterIuivNV fp_glGetProgramEnvParameterIuivNV; +pfn_glProgramSubroutineParametersuivNV fp_glProgramSubroutineParametersuivNV; +pfn_glGetProgramSubroutineParameteruivNV fp_glGetProgramSubroutineParameteruivNV; +pfn_glVertex2hNV fp_glVertex2hNV; +pfn_glVertex2hvNV fp_glVertex2hvNV; +pfn_glVertex3hNV fp_glVertex3hNV; +pfn_glVertex3hvNV fp_glVertex3hvNV; +pfn_glVertex4hNV fp_glVertex4hNV; +pfn_glVertex4hvNV fp_glVertex4hvNV; +pfn_glNormal3hNV fp_glNormal3hNV; +pfn_glNormal3hvNV fp_glNormal3hvNV; +pfn_glColor3hNV fp_glColor3hNV; +pfn_glColor3hvNV fp_glColor3hvNV; +pfn_glColor4hNV fp_glColor4hNV; +pfn_glColor4hvNV fp_glColor4hvNV; +pfn_glTexCoord1hNV fp_glTexCoord1hNV; +pfn_glTexCoord1hvNV fp_glTexCoord1hvNV; +pfn_glTexCoord2hNV fp_glTexCoord2hNV; +pfn_glTexCoord2hvNV fp_glTexCoord2hvNV; +pfn_glTexCoord3hNV fp_glTexCoord3hNV; +pfn_glTexCoord3hvNV fp_glTexCoord3hvNV; +pfn_glTexCoord4hNV fp_glTexCoord4hNV; +pfn_glTexCoord4hvNV fp_glTexCoord4hvNV; +pfn_glMultiTexCoord1hNV fp_glMultiTexCoord1hNV; +pfn_glMultiTexCoord1hvNV fp_glMultiTexCoord1hvNV; +pfn_glMultiTexCoord2hNV fp_glMultiTexCoord2hNV; +pfn_glMultiTexCoord2hvNV fp_glMultiTexCoord2hvNV; +pfn_glMultiTexCoord3hNV fp_glMultiTexCoord3hNV; +pfn_glMultiTexCoord3hvNV fp_glMultiTexCoord3hvNV; +pfn_glMultiTexCoord4hNV fp_glMultiTexCoord4hNV; +pfn_glMultiTexCoord4hvNV fp_glMultiTexCoord4hvNV; +pfn_glFogCoordhNV fp_glFogCoordhNV; +pfn_glFogCoordhvNV fp_glFogCoordhvNV; +pfn_glSecondaryColor3hNV fp_glSecondaryColor3hNV; +pfn_glSecondaryColor3hvNV fp_glSecondaryColor3hvNV; +pfn_glVertexWeighthNV fp_glVertexWeighthNV; +pfn_glVertexWeighthvNV fp_glVertexWeighthvNV; +pfn_glVertexAttrib1hNV fp_glVertexAttrib1hNV; +pfn_glVertexAttrib1hvNV fp_glVertexAttrib1hvNV; +pfn_glVertexAttrib2hNV fp_glVertexAttrib2hNV; +pfn_glVertexAttrib2hvNV fp_glVertexAttrib2hvNV; +pfn_glVertexAttrib3hNV fp_glVertexAttrib3hNV; +pfn_glVertexAttrib3hvNV fp_glVertexAttrib3hvNV; +pfn_glVertexAttrib4hNV fp_glVertexAttrib4hNV; +pfn_glVertexAttrib4hvNV fp_glVertexAttrib4hvNV; +pfn_glVertexAttribs1hvNV fp_glVertexAttribs1hvNV; +pfn_glVertexAttribs2hvNV fp_glVertexAttribs2hvNV; +pfn_glVertexAttribs3hvNV fp_glVertexAttribs3hvNV; +pfn_glVertexAttribs4hvNV fp_glVertexAttribs4hvNV; +pfn_glVertexAttribDivisorNV fp_glVertexAttribDivisorNV; +pfn_glUniformMatrix2x3fvNV fp_glUniformMatrix2x3fvNV; +pfn_glUniformMatrix3x2fvNV fp_glUniformMatrix3x2fvNV; +pfn_glUniformMatrix2x4fvNV fp_glUniformMatrix2x4fvNV; +pfn_glUniformMatrix4x2fvNV fp_glUniformMatrix4x2fvNV; +pfn_glUniformMatrix3x4fvNV fp_glUniformMatrix3x4fvNV; +pfn_glUniformMatrix4x3fvNV fp_glUniformMatrix4x3fvNV; +pfn_glGenOcclusionQueriesNV fp_glGenOcclusionQueriesNV; +pfn_glDeleteOcclusionQueriesNV fp_glDeleteOcclusionQueriesNV; +pfn_glIsOcclusionQueryNV fp_glIsOcclusionQueryNV; +pfn_glBeginOcclusionQueryNV fp_glBeginOcclusionQueryNV; +pfn_glEndOcclusionQueryNV fp_glEndOcclusionQueryNV; +pfn_glGetOcclusionQueryivNV fp_glGetOcclusionQueryivNV; +pfn_glGetOcclusionQueryuivNV fp_glGetOcclusionQueryuivNV; +pfn_glProgramBufferParametersfvNV fp_glProgramBufferParametersfvNV; +pfn_glProgramBufferParametersIivNV fp_glProgramBufferParametersIivNV; +pfn_glProgramBufferParametersIuivNV fp_glProgramBufferParametersIuivNV; +pfn_glGenPathsNV fp_glGenPathsNV; +pfn_glDeletePathsNV fp_glDeletePathsNV; +pfn_glIsPathNV fp_glIsPathNV; +pfn_glPathCommandsNV fp_glPathCommandsNV; +pfn_glPathCoordsNV fp_glPathCoordsNV; +pfn_glPathSubCommandsNV fp_glPathSubCommandsNV; +pfn_glPathSubCoordsNV fp_glPathSubCoordsNV; +pfn_glPathStringNV fp_glPathStringNV; +pfn_glPathGlyphsNV fp_glPathGlyphsNV; +pfn_glPathGlyphRangeNV fp_glPathGlyphRangeNV; +pfn_glWeightPathsNV fp_glWeightPathsNV; +pfn_glCopyPathNV fp_glCopyPathNV; +pfn_glInterpolatePathsNV fp_glInterpolatePathsNV; +pfn_glTransformPathNV fp_glTransformPathNV; +pfn_glPathParameterivNV fp_glPathParameterivNV; +pfn_glPathParameteriNV fp_glPathParameteriNV; +pfn_glPathParameterfvNV fp_glPathParameterfvNV; +pfn_glPathParameterfNV fp_glPathParameterfNV; +pfn_glPathDashArrayNV fp_glPathDashArrayNV; +pfn_glPathStencilFuncNV fp_glPathStencilFuncNV; +pfn_glPathStencilDepthOffsetNV fp_glPathStencilDepthOffsetNV; +pfn_glStencilFillPathNV fp_glStencilFillPathNV; +pfn_glStencilStrokePathNV fp_glStencilStrokePathNV; +pfn_glStencilFillPathInstancedNV fp_glStencilFillPathInstancedNV; +pfn_glStencilStrokePathInstancedNV fp_glStencilStrokePathInstancedNV; +pfn_glPathCoverDepthFuncNV fp_glPathCoverDepthFuncNV; +pfn_glPathColorGenNV fp_glPathColorGenNV; +pfn_glPathTexGenNV fp_glPathTexGenNV; +pfn_glPathFogGenNV fp_glPathFogGenNV; +pfn_glCoverFillPathNV fp_glCoverFillPathNV; +pfn_glCoverStrokePathNV fp_glCoverStrokePathNV; +pfn_glCoverFillPathInstancedNV fp_glCoverFillPathInstancedNV; +pfn_glCoverStrokePathInstancedNV fp_glCoverStrokePathInstancedNV; +pfn_glGetPathParameterivNV fp_glGetPathParameterivNV; +pfn_glGetPathParameterfvNV fp_glGetPathParameterfvNV; +pfn_glGetPathCommandsNV fp_glGetPathCommandsNV; +pfn_glGetPathCoordsNV fp_glGetPathCoordsNV; +pfn_glGetPathDashArrayNV fp_glGetPathDashArrayNV; +pfn_glGetPathMetricsNV fp_glGetPathMetricsNV; +pfn_glGetPathMetricRangeNV fp_glGetPathMetricRangeNV; +pfn_glGetPathSpacingNV fp_glGetPathSpacingNV; +pfn_glGetPathColorGenivNV fp_glGetPathColorGenivNV; +pfn_glGetPathColorGenfvNV fp_glGetPathColorGenfvNV; +pfn_glGetPathTexGenivNV fp_glGetPathTexGenivNV; +pfn_glGetPathTexGenfvNV fp_glGetPathTexGenfvNV; +pfn_glIsPointInFillPathNV fp_glIsPointInFillPathNV; +pfn_glIsPointInStrokePathNV fp_glIsPointInStrokePathNV; +pfn_glGetPathLengthNV fp_glGetPathLengthNV; +pfn_glPointAlongPathNV fp_glPointAlongPathNV; +pfn_glMatrixLoad3x2fNV fp_glMatrixLoad3x2fNV; +pfn_glMatrixLoad3x3fNV fp_glMatrixLoad3x3fNV; +pfn_glMatrixLoadTranspose3x3fNV fp_glMatrixLoadTranspose3x3fNV; +pfn_glMatrixMult3x2fNV fp_glMatrixMult3x2fNV; +pfn_glMatrixMult3x3fNV fp_glMatrixMult3x3fNV; +pfn_glMatrixMultTranspose3x3fNV fp_glMatrixMultTranspose3x3fNV; +pfn_glStencilThenCoverFillPathNV fp_glStencilThenCoverFillPathNV; +pfn_glStencilThenCoverStrokePathNV fp_glStencilThenCoverStrokePathNV; +pfn_glStencilThenCoverFillPathInstancedNV fp_glStencilThenCoverFillPathInstancedNV; +pfn_glStencilThenCoverStrokePathInstancedNV fp_glStencilThenCoverStrokePathInstancedNV; +pfn_glPathGlyphIndexRangeNV fp_glPathGlyphIndexRangeNV; +pfn_glPathGlyphIndexArrayNV fp_glPathGlyphIndexArrayNV; +pfn_glPathMemoryGlyphIndexArrayNV fp_glPathMemoryGlyphIndexArrayNV; +pfn_glProgramPathFragmentInputGenNV fp_glProgramPathFragmentInputGenNV; +pfn_glGetProgramResourcefvNV fp_glGetProgramResourcefvNV; +pfn_glPresentFrameKeyedNV fp_glPresentFrameKeyedNV; +pfn_glPresentFrameDualFillNV fp_glPresentFrameDualFillNV; +pfn_glGetVideoivNV fp_glGetVideoivNV; +pfn_glGetVideouivNV fp_glGetVideouivNV; +pfn_glGetVideoi64vNV fp_glGetVideoi64vNV; +pfn_glGetVideoui64vNV fp_glGetVideoui64vNV; +pfn_glPrimitiveRestartNV fp_glPrimitiveRestartNV; +pfn_glPrimitiveRestartIndexNV fp_glPrimitiveRestartIndexNV; +pfn_glReadBufferNV fp_glReadBufferNV; +pfn_glMakeBufferResidentNV fp_glMakeBufferResidentNV; +pfn_glMakeBufferNonResidentNV fp_glMakeBufferNonResidentNV; +pfn_glIsBufferResidentNV fp_glIsBufferResidentNV; +pfn_glMakeNamedBufferResidentNV fp_glMakeNamedBufferResidentNV; +pfn_glMakeNamedBufferNonResidentNV fp_glMakeNamedBufferNonResidentNV; +pfn_glIsNamedBufferResidentNV fp_glIsNamedBufferResidentNV; +pfn_glGetBufferParameterui64vNV fp_glGetBufferParameterui64vNV; +pfn_glGetNamedBufferParameterui64vNV fp_glGetNamedBufferParameterui64vNV; +pfn_glGetIntegerui64vNV fp_glGetIntegerui64vNV; +pfn_glUniformui64NV fp_glUniformui64NV; +pfn_glUniformui64vNV fp_glUniformui64vNV; +pfn_glProgramUniformui64NV fp_glProgramUniformui64NV; +pfn_glProgramUniformui64vNV fp_glProgramUniformui64vNV; +pfn_glTextureBarrierNV fp_glTextureBarrierNV; +pfn_glTexImage2DMultisampleCoverageNV fp_glTexImage2DMultisampleCoverageNV; +pfn_glTexImage3DMultisampleCoverageNV fp_glTexImage3DMultisampleCoverageNV; +pfn_glTextureImage2DMultisampleNV fp_glTextureImage2DMultisampleNV; +pfn_glTextureImage3DMultisampleNV fp_glTextureImage3DMultisampleNV; +pfn_glTextureImage2DMultisampleCoverageNV fp_glTextureImage2DMultisampleCoverageNV; +pfn_glTextureImage3DMultisampleCoverageNV fp_glTextureImage3DMultisampleCoverageNV; +pfn_glBeginTransformFeedbackNV fp_glBeginTransformFeedbackNV; +pfn_glEndTransformFeedbackNV fp_glEndTransformFeedbackNV; +pfn_glTransformFeedbackAttribsNV fp_glTransformFeedbackAttribsNV; +pfn_glBindBufferRangeNV fp_glBindBufferRangeNV; +pfn_glBindBufferOffsetNV fp_glBindBufferOffsetNV; +pfn_glBindBufferBaseNV fp_glBindBufferBaseNV; +pfn_glTransformFeedbackVaryingsNV fp_glTransformFeedbackVaryingsNV; +pfn_glActiveVaryingNV fp_glActiveVaryingNV; +pfn_glGetVaryingLocationNV fp_glGetVaryingLocationNV; +pfn_glGetActiveVaryingNV fp_glGetActiveVaryingNV; +pfn_glGetTransformFeedbackVaryingNV fp_glGetTransformFeedbackVaryingNV; +pfn_glTransformFeedbackStreamAttribsNV fp_glTransformFeedbackStreamAttribsNV; +pfn_glBindTransformFeedbackNV fp_glBindTransformFeedbackNV; +pfn_glDeleteTransformFeedbacksNV fp_glDeleteTransformFeedbacksNV; +pfn_glGenTransformFeedbacksNV fp_glGenTransformFeedbacksNV; +pfn_glIsTransformFeedbackNV fp_glIsTransformFeedbackNV; +pfn_glPauseTransformFeedbackNV fp_glPauseTransformFeedbackNV; +pfn_glResumeTransformFeedbackNV fp_glResumeTransformFeedbackNV; +pfn_glDrawTransformFeedbackNV fp_glDrawTransformFeedbackNV; +pfn_glVDPAUInitNV fp_glVDPAUInitNV; +pfn_glVDPAUFiniNV fp_glVDPAUFiniNV; +pfn_glVDPAURegisterVideoSurfaceNV fp_glVDPAURegisterVideoSurfaceNV; +pfn_glVDPAURegisterOutputSurfaceNV fp_glVDPAURegisterOutputSurfaceNV; +pfn_glVDPAUIsSurfaceNV fp_glVDPAUIsSurfaceNV; +pfn_glVDPAUUnregisterSurfaceNV fp_glVDPAUUnregisterSurfaceNV; +pfn_glVDPAUGetSurfaceivNV fp_glVDPAUGetSurfaceivNV; +pfn_glVDPAUSurfaceAccessNV fp_glVDPAUSurfaceAccessNV; +pfn_glVDPAUMapSurfacesNV fp_glVDPAUMapSurfacesNV; +pfn_glVDPAUUnmapSurfacesNV fp_glVDPAUUnmapSurfacesNV; +pfn_glVertexAttribL1i64NV fp_glVertexAttribL1i64NV; +pfn_glVertexAttribL2i64NV fp_glVertexAttribL2i64NV; +pfn_glVertexAttribL3i64NV fp_glVertexAttribL3i64NV; +pfn_glVertexAttribL4i64NV fp_glVertexAttribL4i64NV; +pfn_glVertexAttribL1i64vNV fp_glVertexAttribL1i64vNV; +pfn_glVertexAttribL2i64vNV fp_glVertexAttribL2i64vNV; +pfn_glVertexAttribL3i64vNV fp_glVertexAttribL3i64vNV; +pfn_glVertexAttribL4i64vNV fp_glVertexAttribL4i64vNV; +pfn_glVertexAttribL1ui64NV fp_glVertexAttribL1ui64NV; +pfn_glVertexAttribL2ui64NV fp_glVertexAttribL2ui64NV; +pfn_glVertexAttribL3ui64NV fp_glVertexAttribL3ui64NV; +pfn_glVertexAttribL4ui64NV fp_glVertexAttribL4ui64NV; +pfn_glVertexAttribL1ui64vNV fp_glVertexAttribL1ui64vNV; +pfn_glVertexAttribL2ui64vNV fp_glVertexAttribL2ui64vNV; +pfn_glVertexAttribL3ui64vNV fp_glVertexAttribL3ui64vNV; +pfn_glVertexAttribL4ui64vNV fp_glVertexAttribL4ui64vNV; +pfn_glGetVertexAttribLi64vNV fp_glGetVertexAttribLi64vNV; +pfn_glGetVertexAttribLui64vNV fp_glGetVertexAttribLui64vNV; +pfn_glVertexAttribLFormatNV fp_glVertexAttribLFormatNV; +pfn_glBufferAddressRangeNV fp_glBufferAddressRangeNV; +pfn_glVertexFormatNV fp_glVertexFormatNV; +pfn_glNormalFormatNV fp_glNormalFormatNV; +pfn_glColorFormatNV fp_glColorFormatNV; +pfn_glIndexFormatNV fp_glIndexFormatNV; +pfn_glTexCoordFormatNV fp_glTexCoordFormatNV; +pfn_glEdgeFlagFormatNV fp_glEdgeFlagFormatNV; +pfn_glSecondaryColorFormatNV fp_glSecondaryColorFormatNV; +pfn_glFogCoordFormatNV fp_glFogCoordFormatNV; +pfn_glVertexAttribFormatNV fp_glVertexAttribFormatNV; +pfn_glVertexAttribIFormatNV fp_glVertexAttribIFormatNV; +pfn_glGetIntegerui64i_vNV fp_glGetIntegerui64i_vNV; +pfn_glVertexAttribI1iEXT fp_glVertexAttribI1iEXT; +pfn_glVertexAttribI2iEXT fp_glVertexAttribI2iEXT; +pfn_glVertexAttribI3iEXT fp_glVertexAttribI3iEXT; +pfn_glVertexAttribI4iEXT fp_glVertexAttribI4iEXT; +pfn_glVertexAttribI1uiEXT fp_glVertexAttribI1uiEXT; +pfn_glVertexAttribI2uiEXT fp_glVertexAttribI2uiEXT; +pfn_glVertexAttribI3uiEXT fp_glVertexAttribI3uiEXT; +pfn_glVertexAttribI4uiEXT fp_glVertexAttribI4uiEXT; +pfn_glVertexAttribI1ivEXT fp_glVertexAttribI1ivEXT; +pfn_glVertexAttribI2ivEXT fp_glVertexAttribI2ivEXT; +pfn_glVertexAttribI3ivEXT fp_glVertexAttribI3ivEXT; +pfn_glVertexAttribI4ivEXT fp_glVertexAttribI4ivEXT; +pfn_glVertexAttribI1uivEXT fp_glVertexAttribI1uivEXT; +pfn_glVertexAttribI2uivEXT fp_glVertexAttribI2uivEXT; +pfn_glVertexAttribI3uivEXT fp_glVertexAttribI3uivEXT; +pfn_glVertexAttribI4uivEXT fp_glVertexAttribI4uivEXT; +pfn_glVertexAttribI4bvEXT fp_glVertexAttribI4bvEXT; +pfn_glVertexAttribI4svEXT fp_glVertexAttribI4svEXT; +pfn_glVertexAttribI4ubvEXT fp_glVertexAttribI4ubvEXT; +pfn_glVertexAttribI4usvEXT fp_glVertexAttribI4usvEXT; +pfn_glVertexAttribIPointerEXT fp_glVertexAttribIPointerEXT; +pfn_glGetVertexAttribIivEXT fp_glGetVertexAttribIivEXT; +pfn_glGetVertexAttribIuivEXT fp_glGetVertexAttribIuivEXT; +pfn_glBeginVideoCaptureNV fp_glBeginVideoCaptureNV; +pfn_glBindVideoCaptureStreamBufferNV fp_glBindVideoCaptureStreamBufferNV; +pfn_glBindVideoCaptureStreamTextureNV fp_glBindVideoCaptureStreamTextureNV; +pfn_glEndVideoCaptureNV fp_glEndVideoCaptureNV; +pfn_glGetVideoCaptureivNV fp_glGetVideoCaptureivNV; +pfn_glGetVideoCaptureStreamivNV fp_glGetVideoCaptureStreamivNV; +pfn_glGetVideoCaptureStreamfvNV fp_glGetVideoCaptureStreamfvNV; +pfn_glGetVideoCaptureStreamdvNV fp_glGetVideoCaptureStreamdvNV; +pfn_glVideoCaptureNV fp_glVideoCaptureNV; +pfn_glVideoCaptureStreamParameterivNV fp_glVideoCaptureStreamParameterivNV; +pfn_glVideoCaptureStreamParameterfvNV fp_glVideoCaptureStreamParameterfvNV; +pfn_glVideoCaptureStreamParameterdvNV fp_glVideoCaptureStreamParameterdvNV; +pfn_glBeginConditionalRenderNVX fp_glBeginConditionalRenderNVX; +pfn_glEndConditionalRenderNVX fp_glEndConditionalRenderNVX; +pfn_glAlphaFuncQCOM fp_glAlphaFuncQCOM; +pfn_glGetDriverControlsQCOM fp_glGetDriverControlsQCOM; +pfn_glGetDriverControlStringQCOM fp_glGetDriverControlStringQCOM; +pfn_glEnableDriverControlQCOM fp_glEnableDriverControlQCOM; +pfn_glDisableDriverControlQCOM fp_glDisableDriverControlQCOM; +pfn_glExtGetTexturesQCOM fp_glExtGetTexturesQCOM; +pfn_glExtGetBuffersQCOM fp_glExtGetBuffersQCOM; +pfn_glExtGetRenderbuffersQCOM fp_glExtGetRenderbuffersQCOM; +pfn_glExtGetFramebuffersQCOM fp_glExtGetFramebuffersQCOM; +pfn_glExtGetTexLevelParameterivQCOM fp_glExtGetTexLevelParameterivQCOM; +pfn_glExtTexObjectStateOverrideiQCOM fp_glExtTexObjectStateOverrideiQCOM; +pfn_glExtGetTexSubImageQCOM fp_glExtGetTexSubImageQCOM; +pfn_glExtGetBufferPointervQCOM fp_glExtGetBufferPointervQCOM; +pfn_glExtGetShadersQCOM fp_glExtGetShadersQCOM; +pfn_glExtGetProgramsQCOM fp_glExtGetProgramsQCOM; +pfn_glExtIsProgramBinaryQCOM fp_glExtIsProgramBinaryQCOM; +pfn_glExtGetProgramBinarySourceQCOM fp_glExtGetProgramBinarySourceQCOM; +pfn_glStartTilingQCOM fp_glStartTilingQCOM; +pfn_glEndTilingQCOM fp_glEndTilingQCOM; + +GLboolean GLAD_VERSION_1_0 = GL_FALSE; +static void load_GL_VERSION_1_0(LOADER load) { + if(!GLAD_VERSION_1_0) return; + fp_glCullFace = (pfn_glCullFace)load("glCullFace"); + fp_glFrontFace = (pfn_glFrontFace)load("glFrontFace"); + fp_glHint = (pfn_glHint)load("glHint"); + fp_glLineWidth = (pfn_glLineWidth)load("glLineWidth"); + fp_glPointSize = (pfn_glPointSize)load("glPointSize"); + fp_glPolygonMode = (pfn_glPolygonMode)load("glPolygonMode"); + fp_glScissor = (pfn_glScissor)load("glScissor"); + fp_glTexParameterf = (pfn_glTexParameterf)load("glTexParameterf"); + fp_glTexParameterfv = (pfn_glTexParameterfv)load("glTexParameterfv"); + fp_glTexParameteri = (pfn_glTexParameteri)load("glTexParameteri"); + fp_glTexParameteriv = (pfn_glTexParameteriv)load("glTexParameteriv"); + fp_glTexImage1D = (pfn_glTexImage1D)load("glTexImage1D"); + fp_glTexImage2D = (pfn_glTexImage2D)load("glTexImage2D"); + fp_glDrawBuffer = (pfn_glDrawBuffer)load("glDrawBuffer"); + fp_glClear = (pfn_glClear)load("glClear"); + fp_glClearColor = (pfn_glClearColor)load("glClearColor"); + fp_glClearStencil = (pfn_glClearStencil)load("glClearStencil"); + fp_glClearDepth = (pfn_glClearDepth)load("glClearDepth"); + fp_glStencilMask = (pfn_glStencilMask)load("glStencilMask"); + fp_glColorMask = (pfn_glColorMask)load("glColorMask"); + fp_glDepthMask = (pfn_glDepthMask)load("glDepthMask"); + fp_glDisable = (pfn_glDisable)load("glDisable"); + fp_glEnable = (pfn_glEnable)load("glEnable"); + fp_glFinish = (pfn_glFinish)load("glFinish"); + fp_glFlush = (pfn_glFlush)load("glFlush"); + fp_glBlendFunc = (pfn_glBlendFunc)load("glBlendFunc"); + fp_glLogicOp = (pfn_glLogicOp)load("glLogicOp"); + fp_glStencilFunc = (pfn_glStencilFunc)load("glStencilFunc"); + fp_glStencilOp = (pfn_glStencilOp)load("glStencilOp"); + fp_glDepthFunc = (pfn_glDepthFunc)load("glDepthFunc"); + fp_glPixelStoref = (pfn_glPixelStoref)load("glPixelStoref"); + fp_glPixelStorei = (pfn_glPixelStorei)load("glPixelStorei"); + fp_glReadBuffer = (pfn_glReadBuffer)load("glReadBuffer"); + fp_glReadPixels = (pfn_glReadPixels)load("glReadPixels"); + fp_glGetBooleanv = (pfn_glGetBooleanv)load("glGetBooleanv"); + fp_glGetDoublev = (pfn_glGetDoublev)load("glGetDoublev"); + fp_glGetError = (pfn_glGetError)load("glGetError"); + fp_glGetFloatv = (pfn_glGetFloatv)load("glGetFloatv"); + fp_glGetIntegerv = (pfn_glGetIntegerv)load("glGetIntegerv"); + fp_glGetString = (pfn_glGetString)load("glGetString"); + fp_glGetTexImage = (pfn_glGetTexImage)load("glGetTexImage"); + fp_glGetTexParameterfv = (pfn_glGetTexParameterfv)load("glGetTexParameterfv"); + fp_glGetTexParameteriv = (pfn_glGetTexParameteriv)load("glGetTexParameteriv"); + fp_glGetTexLevelParameterfv = (pfn_glGetTexLevelParameterfv)load("glGetTexLevelParameterfv"); + fp_glGetTexLevelParameteriv = (pfn_glGetTexLevelParameteriv)load("glGetTexLevelParameteriv"); + fp_glIsEnabled = (pfn_glIsEnabled)load("glIsEnabled"); + fp_glDepthRange = (pfn_glDepthRange)load("glDepthRange"); + fp_glViewport = (pfn_glViewport)load("glViewport"); + fp_glNewList = (pfn_glNewList)load("glNewList"); + fp_glEndList = (pfn_glEndList)load("glEndList"); + fp_glCallList = (pfn_glCallList)load("glCallList"); + fp_glCallLists = (pfn_glCallLists)load("glCallLists"); + fp_glDeleteLists = (pfn_glDeleteLists)load("glDeleteLists"); + fp_glGenLists = (pfn_glGenLists)load("glGenLists"); + fp_glListBase = (pfn_glListBase)load("glListBase"); + fp_glBegin = (pfn_glBegin)load("glBegin"); + fp_glBitmap = (pfn_glBitmap)load("glBitmap"); + fp_glColor3b = (pfn_glColor3b)load("glColor3b"); + fp_glColor3bv = (pfn_glColor3bv)load("glColor3bv"); + fp_glColor3d = (pfn_glColor3d)load("glColor3d"); + fp_glColor3dv = (pfn_glColor3dv)load("glColor3dv"); + fp_glColor3f = (pfn_glColor3f)load("glColor3f"); + fp_glColor3fv = (pfn_glColor3fv)load("glColor3fv"); + fp_glColor3i = (pfn_glColor3i)load("glColor3i"); + fp_glColor3iv = (pfn_glColor3iv)load("glColor3iv"); + fp_glColor3s = (pfn_glColor3s)load("glColor3s"); + fp_glColor3sv = (pfn_glColor3sv)load("glColor3sv"); + fp_glColor3ub = (pfn_glColor3ub)load("glColor3ub"); + fp_glColor3ubv = (pfn_glColor3ubv)load("glColor3ubv"); + fp_glColor3ui = (pfn_glColor3ui)load("glColor3ui"); + fp_glColor3uiv = (pfn_glColor3uiv)load("glColor3uiv"); + fp_glColor3us = (pfn_glColor3us)load("glColor3us"); + fp_glColor3usv = (pfn_glColor3usv)load("glColor3usv"); + fp_glColor4b = (pfn_glColor4b)load("glColor4b"); + fp_glColor4bv = (pfn_glColor4bv)load("glColor4bv"); + fp_glColor4d = (pfn_glColor4d)load("glColor4d"); + fp_glColor4dv = (pfn_glColor4dv)load("glColor4dv"); + fp_glColor4f = (pfn_glColor4f)load("glColor4f"); + fp_glColor4fv = (pfn_glColor4fv)load("glColor4fv"); + fp_glColor4i = (pfn_glColor4i)load("glColor4i"); + fp_glColor4iv = (pfn_glColor4iv)load("glColor4iv"); + fp_glColor4s = (pfn_glColor4s)load("glColor4s"); + fp_glColor4sv = (pfn_glColor4sv)load("glColor4sv"); + fp_glColor4ub = (pfn_glColor4ub)load("glColor4ub"); + fp_glColor4ubv = (pfn_glColor4ubv)load("glColor4ubv"); + fp_glColor4ui = (pfn_glColor4ui)load("glColor4ui"); + fp_glColor4uiv = (pfn_glColor4uiv)load("glColor4uiv"); + fp_glColor4us = (pfn_glColor4us)load("glColor4us"); + fp_glColor4usv = (pfn_glColor4usv)load("glColor4usv"); + fp_glEdgeFlag = (pfn_glEdgeFlag)load("glEdgeFlag"); + fp_glEdgeFlagv = (pfn_glEdgeFlagv)load("glEdgeFlagv"); + fp_glEnd = (pfn_glEnd)load("glEnd"); + fp_glIndexd = (pfn_glIndexd)load("glIndexd"); + fp_glIndexdv = (pfn_glIndexdv)load("glIndexdv"); + fp_glIndexf = (pfn_glIndexf)load("glIndexf"); + fp_glIndexfv = (pfn_glIndexfv)load("glIndexfv"); + fp_glIndexi = (pfn_glIndexi)load("glIndexi"); + fp_glIndexiv = (pfn_glIndexiv)load("glIndexiv"); + fp_glIndexs = (pfn_glIndexs)load("glIndexs"); + fp_glIndexsv = (pfn_glIndexsv)load("glIndexsv"); + fp_glNormal3b = (pfn_glNormal3b)load("glNormal3b"); + fp_glNormal3bv = (pfn_glNormal3bv)load("glNormal3bv"); + fp_glNormal3d = (pfn_glNormal3d)load("glNormal3d"); + fp_glNormal3dv = (pfn_glNormal3dv)load("glNormal3dv"); + fp_glNormal3f = (pfn_glNormal3f)load("glNormal3f"); + fp_glNormal3fv = (pfn_glNormal3fv)load("glNormal3fv"); + fp_glNormal3i = (pfn_glNormal3i)load("glNormal3i"); + fp_glNormal3iv = (pfn_glNormal3iv)load("glNormal3iv"); + fp_glNormal3s = (pfn_glNormal3s)load("glNormal3s"); + fp_glNormal3sv = (pfn_glNormal3sv)load("glNormal3sv"); + fp_glRasterPos2d = (pfn_glRasterPos2d)load("glRasterPos2d"); + fp_glRasterPos2dv = (pfn_glRasterPos2dv)load("glRasterPos2dv"); + fp_glRasterPos2f = (pfn_glRasterPos2f)load("glRasterPos2f"); + fp_glRasterPos2fv = (pfn_glRasterPos2fv)load("glRasterPos2fv"); + fp_glRasterPos2i = (pfn_glRasterPos2i)load("glRasterPos2i"); + fp_glRasterPos2iv = (pfn_glRasterPos2iv)load("glRasterPos2iv"); + fp_glRasterPos2s = (pfn_glRasterPos2s)load("glRasterPos2s"); + fp_glRasterPos2sv = (pfn_glRasterPos2sv)load("glRasterPos2sv"); + fp_glRasterPos3d = (pfn_glRasterPos3d)load("glRasterPos3d"); + fp_glRasterPos3dv = (pfn_glRasterPos3dv)load("glRasterPos3dv"); + fp_glRasterPos3f = (pfn_glRasterPos3f)load("glRasterPos3f"); + fp_glRasterPos3fv = (pfn_glRasterPos3fv)load("glRasterPos3fv"); + fp_glRasterPos3i = (pfn_glRasterPos3i)load("glRasterPos3i"); + fp_glRasterPos3iv = (pfn_glRasterPos3iv)load("glRasterPos3iv"); + fp_glRasterPos3s = (pfn_glRasterPos3s)load("glRasterPos3s"); + fp_glRasterPos3sv = (pfn_glRasterPos3sv)load("glRasterPos3sv"); + fp_glRasterPos4d = (pfn_glRasterPos4d)load("glRasterPos4d"); + fp_glRasterPos4dv = (pfn_glRasterPos4dv)load("glRasterPos4dv"); + fp_glRasterPos4f = (pfn_glRasterPos4f)load("glRasterPos4f"); + fp_glRasterPos4fv = (pfn_glRasterPos4fv)load("glRasterPos4fv"); + fp_glRasterPos4i = (pfn_glRasterPos4i)load("glRasterPos4i"); + fp_glRasterPos4iv = (pfn_glRasterPos4iv)load("glRasterPos4iv"); + fp_glRasterPos4s = (pfn_glRasterPos4s)load("glRasterPos4s"); + fp_glRasterPos4sv = (pfn_glRasterPos4sv)load("glRasterPos4sv"); + fp_glRectd = (pfn_glRectd)load("glRectd"); + fp_glRectdv = (pfn_glRectdv)load("glRectdv"); + fp_glRectf = (pfn_glRectf)load("glRectf"); + fp_glRectfv = (pfn_glRectfv)load("glRectfv"); + fp_glRecti = (pfn_glRecti)load("glRecti"); + fp_glRectiv = (pfn_glRectiv)load("glRectiv"); + fp_glRects = (pfn_glRects)load("glRects"); + fp_glRectsv = (pfn_glRectsv)load("glRectsv"); + fp_glTexCoord1d = (pfn_glTexCoord1d)load("glTexCoord1d"); + fp_glTexCoord1dv = (pfn_glTexCoord1dv)load("glTexCoord1dv"); + fp_glTexCoord1f = (pfn_glTexCoord1f)load("glTexCoord1f"); + fp_glTexCoord1fv = (pfn_glTexCoord1fv)load("glTexCoord1fv"); + fp_glTexCoord1i = (pfn_glTexCoord1i)load("glTexCoord1i"); + fp_glTexCoord1iv = (pfn_glTexCoord1iv)load("glTexCoord1iv"); + fp_glTexCoord1s = (pfn_glTexCoord1s)load("glTexCoord1s"); + fp_glTexCoord1sv = (pfn_glTexCoord1sv)load("glTexCoord1sv"); + fp_glTexCoord2d = (pfn_glTexCoord2d)load("glTexCoord2d"); + fp_glTexCoord2dv = (pfn_glTexCoord2dv)load("glTexCoord2dv"); + fp_glTexCoord2f = (pfn_glTexCoord2f)load("glTexCoord2f"); + fp_glTexCoord2fv = (pfn_glTexCoord2fv)load("glTexCoord2fv"); + fp_glTexCoord2i = (pfn_glTexCoord2i)load("glTexCoord2i"); + fp_glTexCoord2iv = (pfn_glTexCoord2iv)load("glTexCoord2iv"); + fp_glTexCoord2s = (pfn_glTexCoord2s)load("glTexCoord2s"); + fp_glTexCoord2sv = (pfn_glTexCoord2sv)load("glTexCoord2sv"); + fp_glTexCoord3d = (pfn_glTexCoord3d)load("glTexCoord3d"); + fp_glTexCoord3dv = (pfn_glTexCoord3dv)load("glTexCoord3dv"); + fp_glTexCoord3f = (pfn_glTexCoord3f)load("glTexCoord3f"); + fp_glTexCoord3fv = (pfn_glTexCoord3fv)load("glTexCoord3fv"); + fp_glTexCoord3i = (pfn_glTexCoord3i)load("glTexCoord3i"); + fp_glTexCoord3iv = (pfn_glTexCoord3iv)load("glTexCoord3iv"); + fp_glTexCoord3s = (pfn_glTexCoord3s)load("glTexCoord3s"); + fp_glTexCoord3sv = (pfn_glTexCoord3sv)load("glTexCoord3sv"); + fp_glTexCoord4d = (pfn_glTexCoord4d)load("glTexCoord4d"); + fp_glTexCoord4dv = (pfn_glTexCoord4dv)load("glTexCoord4dv"); + fp_glTexCoord4f = (pfn_glTexCoord4f)load("glTexCoord4f"); + fp_glTexCoord4fv = (pfn_glTexCoord4fv)load("glTexCoord4fv"); + fp_glTexCoord4i = (pfn_glTexCoord4i)load("glTexCoord4i"); + fp_glTexCoord4iv = (pfn_glTexCoord4iv)load("glTexCoord4iv"); + fp_glTexCoord4s = (pfn_glTexCoord4s)load("glTexCoord4s"); + fp_glTexCoord4sv = (pfn_glTexCoord4sv)load("glTexCoord4sv"); + fp_glVertex2d = (pfn_glVertex2d)load("glVertex2d"); + fp_glVertex2dv = (pfn_glVertex2dv)load("glVertex2dv"); + fp_glVertex2f = (pfn_glVertex2f)load("glVertex2f"); + fp_glVertex2fv = (pfn_glVertex2fv)load("glVertex2fv"); + fp_glVertex2i = (pfn_glVertex2i)load("glVertex2i"); + fp_glVertex2iv = (pfn_glVertex2iv)load("glVertex2iv"); + fp_glVertex2s = (pfn_glVertex2s)load("glVertex2s"); + fp_glVertex2sv = (pfn_glVertex2sv)load("glVertex2sv"); + fp_glVertex3d = (pfn_glVertex3d)load("glVertex3d"); + fp_glVertex3dv = (pfn_glVertex3dv)load("glVertex3dv"); + fp_glVertex3f = (pfn_glVertex3f)load("glVertex3f"); + fp_glVertex3fv = (pfn_glVertex3fv)load("glVertex3fv"); + fp_glVertex3i = (pfn_glVertex3i)load("glVertex3i"); + fp_glVertex3iv = (pfn_glVertex3iv)load("glVertex3iv"); + fp_glVertex3s = (pfn_glVertex3s)load("glVertex3s"); + fp_glVertex3sv = (pfn_glVertex3sv)load("glVertex3sv"); + fp_glVertex4d = (pfn_glVertex4d)load("glVertex4d"); + fp_glVertex4dv = (pfn_glVertex4dv)load("glVertex4dv"); + fp_glVertex4f = (pfn_glVertex4f)load("glVertex4f"); + fp_glVertex4fv = (pfn_glVertex4fv)load("glVertex4fv"); + fp_glVertex4i = (pfn_glVertex4i)load("glVertex4i"); + fp_glVertex4iv = (pfn_glVertex4iv)load("glVertex4iv"); + fp_glVertex4s = (pfn_glVertex4s)load("glVertex4s"); + fp_glVertex4sv = (pfn_glVertex4sv)load("glVertex4sv"); + fp_glClipPlane = (pfn_glClipPlane)load("glClipPlane"); + fp_glColorMaterial = (pfn_glColorMaterial)load("glColorMaterial"); + fp_glFogf = (pfn_glFogf)load("glFogf"); + fp_glFogfv = (pfn_glFogfv)load("glFogfv"); + fp_glFogi = (pfn_glFogi)load("glFogi"); + fp_glFogiv = (pfn_glFogiv)load("glFogiv"); + fp_glLightf = (pfn_glLightf)load("glLightf"); + fp_glLightfv = (pfn_glLightfv)load("glLightfv"); + fp_glLighti = (pfn_glLighti)load("glLighti"); + fp_glLightiv = (pfn_glLightiv)load("glLightiv"); + fp_glLightModelf = (pfn_glLightModelf)load("glLightModelf"); + fp_glLightModelfv = (pfn_glLightModelfv)load("glLightModelfv"); + fp_glLightModeli = (pfn_glLightModeli)load("glLightModeli"); + fp_glLightModeliv = (pfn_glLightModeliv)load("glLightModeliv"); + fp_glLineStipple = (pfn_glLineStipple)load("glLineStipple"); + fp_glMaterialf = (pfn_glMaterialf)load("glMaterialf"); + fp_glMaterialfv = (pfn_glMaterialfv)load("glMaterialfv"); + fp_glMateriali = (pfn_glMateriali)load("glMateriali"); + fp_glMaterialiv = (pfn_glMaterialiv)load("glMaterialiv"); + fp_glPolygonStipple = (pfn_glPolygonStipple)load("glPolygonStipple"); + fp_glShadeModel = (pfn_glShadeModel)load("glShadeModel"); + fp_glTexEnvf = (pfn_glTexEnvf)load("glTexEnvf"); + fp_glTexEnvfv = (pfn_glTexEnvfv)load("glTexEnvfv"); + fp_glTexEnvi = (pfn_glTexEnvi)load("glTexEnvi"); + fp_glTexEnviv = (pfn_glTexEnviv)load("glTexEnviv"); + fp_glTexGend = (pfn_glTexGend)load("glTexGend"); + fp_glTexGendv = (pfn_glTexGendv)load("glTexGendv"); + fp_glTexGenf = (pfn_glTexGenf)load("glTexGenf"); + fp_glTexGenfv = (pfn_glTexGenfv)load("glTexGenfv"); + fp_glTexGeni = (pfn_glTexGeni)load("glTexGeni"); + fp_glTexGeniv = (pfn_glTexGeniv)load("glTexGeniv"); + fp_glFeedbackBuffer = (pfn_glFeedbackBuffer)load("glFeedbackBuffer"); + fp_glSelectBuffer = (pfn_glSelectBuffer)load("glSelectBuffer"); + fp_glRenderMode = (pfn_glRenderMode)load("glRenderMode"); + fp_glInitNames = (pfn_glInitNames)load("glInitNames"); + fp_glLoadName = (pfn_glLoadName)load("glLoadName"); + fp_glPassThrough = (pfn_glPassThrough)load("glPassThrough"); + fp_glPopName = (pfn_glPopName)load("glPopName"); + fp_glPushName = (pfn_glPushName)load("glPushName"); + fp_glClearAccum = (pfn_glClearAccum)load("glClearAccum"); + fp_glClearIndex = (pfn_glClearIndex)load("glClearIndex"); + fp_glIndexMask = (pfn_glIndexMask)load("glIndexMask"); + fp_glAccum = (pfn_glAccum)load("glAccum"); + fp_glPopAttrib = (pfn_glPopAttrib)load("glPopAttrib"); + fp_glPushAttrib = (pfn_glPushAttrib)load("glPushAttrib"); + fp_glMap1d = (pfn_glMap1d)load("glMap1d"); + fp_glMap1f = (pfn_glMap1f)load("glMap1f"); + fp_glMap2d = (pfn_glMap2d)load("glMap2d"); + fp_glMap2f = (pfn_glMap2f)load("glMap2f"); + fp_glMapGrid1d = (pfn_glMapGrid1d)load("glMapGrid1d"); + fp_glMapGrid1f = (pfn_glMapGrid1f)load("glMapGrid1f"); + fp_glMapGrid2d = (pfn_glMapGrid2d)load("glMapGrid2d"); + fp_glMapGrid2f = (pfn_glMapGrid2f)load("glMapGrid2f"); + fp_glEvalCoord1d = (pfn_glEvalCoord1d)load("glEvalCoord1d"); + fp_glEvalCoord1dv = (pfn_glEvalCoord1dv)load("glEvalCoord1dv"); + fp_glEvalCoord1f = (pfn_glEvalCoord1f)load("glEvalCoord1f"); + fp_glEvalCoord1fv = (pfn_glEvalCoord1fv)load("glEvalCoord1fv"); + fp_glEvalCoord2d = (pfn_glEvalCoord2d)load("glEvalCoord2d"); + fp_glEvalCoord2dv = (pfn_glEvalCoord2dv)load("glEvalCoord2dv"); + fp_glEvalCoord2f = (pfn_glEvalCoord2f)load("glEvalCoord2f"); + fp_glEvalCoord2fv = (pfn_glEvalCoord2fv)load("glEvalCoord2fv"); + fp_glEvalMesh1 = (pfn_glEvalMesh1)load("glEvalMesh1"); + fp_glEvalPoint1 = (pfn_glEvalPoint1)load("glEvalPoint1"); + fp_glEvalMesh2 = (pfn_glEvalMesh2)load("glEvalMesh2"); + fp_glEvalPoint2 = (pfn_glEvalPoint2)load("glEvalPoint2"); + fp_glAlphaFunc = (pfn_glAlphaFunc)load("glAlphaFunc"); + fp_glPixelZoom = (pfn_glPixelZoom)load("glPixelZoom"); + fp_glPixelTransferf = (pfn_glPixelTransferf)load("glPixelTransferf"); + fp_glPixelTransferi = (pfn_glPixelTransferi)load("glPixelTransferi"); + fp_glPixelMapfv = (pfn_glPixelMapfv)load("glPixelMapfv"); + fp_glPixelMapuiv = (pfn_glPixelMapuiv)load("glPixelMapuiv"); + fp_glPixelMapusv = (pfn_glPixelMapusv)load("glPixelMapusv"); + fp_glCopyPixels = (pfn_glCopyPixels)load("glCopyPixels"); + fp_glDrawPixels = (pfn_glDrawPixels)load("glDrawPixels"); + fp_glGetClipPlane = (pfn_glGetClipPlane)load("glGetClipPlane"); + fp_glGetLightfv = (pfn_glGetLightfv)load("glGetLightfv"); + fp_glGetLightiv = (pfn_glGetLightiv)load("glGetLightiv"); + fp_glGetMapdv = (pfn_glGetMapdv)load("glGetMapdv"); + fp_glGetMapfv = (pfn_glGetMapfv)load("glGetMapfv"); + fp_glGetMapiv = (pfn_glGetMapiv)load("glGetMapiv"); + fp_glGetMaterialfv = (pfn_glGetMaterialfv)load("glGetMaterialfv"); + fp_glGetMaterialiv = (pfn_glGetMaterialiv)load("glGetMaterialiv"); + fp_glGetPixelMapfv = (pfn_glGetPixelMapfv)load("glGetPixelMapfv"); + fp_glGetPixelMapuiv = (pfn_glGetPixelMapuiv)load("glGetPixelMapuiv"); + fp_glGetPixelMapusv = (pfn_glGetPixelMapusv)load("glGetPixelMapusv"); + fp_glGetPolygonStipple = (pfn_glGetPolygonStipple)load("glGetPolygonStipple"); + fp_glGetTexEnvfv = (pfn_glGetTexEnvfv)load("glGetTexEnvfv"); + fp_glGetTexEnviv = (pfn_glGetTexEnviv)load("glGetTexEnviv"); + fp_glGetTexGendv = (pfn_glGetTexGendv)load("glGetTexGendv"); + fp_glGetTexGenfv = (pfn_glGetTexGenfv)load("glGetTexGenfv"); + fp_glGetTexGeniv = (pfn_glGetTexGeniv)load("glGetTexGeniv"); + fp_glIsList = (pfn_glIsList)load("glIsList"); + fp_glFrustum = (pfn_glFrustum)load("glFrustum"); + fp_glLoadIdentity = (pfn_glLoadIdentity)load("glLoadIdentity"); + fp_glLoadMatrixf = (pfn_glLoadMatrixf)load("glLoadMatrixf"); + fp_glLoadMatrixd = (pfn_glLoadMatrixd)load("glLoadMatrixd"); + fp_glMatrixMode = (pfn_glMatrixMode)load("glMatrixMode"); + fp_glMultMatrixf = (pfn_glMultMatrixf)load("glMultMatrixf"); + fp_glMultMatrixd = (pfn_glMultMatrixd)load("glMultMatrixd"); + fp_glOrtho = (pfn_glOrtho)load("glOrtho"); + fp_glPopMatrix = (pfn_glPopMatrix)load("glPopMatrix"); + fp_glPushMatrix = (pfn_glPushMatrix)load("glPushMatrix"); + fp_glRotated = (pfn_glRotated)load("glRotated"); + fp_glRotatef = (pfn_glRotatef)load("glRotatef"); + fp_glScaled = (pfn_glScaled)load("glScaled"); + fp_glScalef = (pfn_glScalef)load("glScalef"); + fp_glTranslated = (pfn_glTranslated)load("glTranslated"); + fp_glTranslatef = (pfn_glTranslatef)load("glTranslatef"); +} + +GLboolean GLAD_VERSION_1_1 = GL_FALSE; +static void load_GL_VERSION_1_1(LOADER load) { + if(!GLAD_VERSION_1_1) return; + fp_glDrawArrays = (pfn_glDrawArrays)load("glDrawArrays"); + fp_glDrawElements = (pfn_glDrawElements)load("glDrawElements"); + fp_glGetPointerv = (pfn_glGetPointerv)load("glGetPointerv"); + fp_glPolygonOffset = (pfn_glPolygonOffset)load("glPolygonOffset"); + fp_glCopyTexImage1D = (pfn_glCopyTexImage1D)load("glCopyTexImage1D"); + fp_glCopyTexImage2D = (pfn_glCopyTexImage2D)load("glCopyTexImage2D"); + fp_glCopyTexSubImage1D = (pfn_glCopyTexSubImage1D)load("glCopyTexSubImage1D"); + fp_glCopyTexSubImage2D = (pfn_glCopyTexSubImage2D)load("glCopyTexSubImage2D"); + fp_glTexSubImage1D = (pfn_glTexSubImage1D)load("glTexSubImage1D"); + fp_glTexSubImage2D = (pfn_glTexSubImage2D)load("glTexSubImage2D"); + fp_glBindTexture = (pfn_glBindTexture)load("glBindTexture"); + fp_glDeleteTextures = (pfn_glDeleteTextures)load("glDeleteTextures"); + fp_glGenTextures = (pfn_glGenTextures)load("glGenTextures"); + fp_glIsTexture = (pfn_glIsTexture)load("glIsTexture"); + fp_glArrayElement = (pfn_glArrayElement)load("glArrayElement"); + fp_glColorPointer = (pfn_glColorPointer)load("glColorPointer"); + fp_glDisableClientState = (pfn_glDisableClientState)load("glDisableClientState"); + fp_glEdgeFlagPointer = (pfn_glEdgeFlagPointer)load("glEdgeFlagPointer"); + fp_glEnableClientState = (pfn_glEnableClientState)load("glEnableClientState"); + fp_glIndexPointer = (pfn_glIndexPointer)load("glIndexPointer"); + fp_glInterleavedArrays = (pfn_glInterleavedArrays)load("glInterleavedArrays"); + fp_glNormalPointer = (pfn_glNormalPointer)load("glNormalPointer"); + fp_glTexCoordPointer = (pfn_glTexCoordPointer)load("glTexCoordPointer"); + fp_glVertexPointer = (pfn_glVertexPointer)load("glVertexPointer"); + fp_glAreTexturesResident = (pfn_glAreTexturesResident)load("glAreTexturesResident"); + fp_glPrioritizeTextures = (pfn_glPrioritizeTextures)load("glPrioritizeTextures"); + fp_glIndexub = (pfn_glIndexub)load("glIndexub"); + fp_glIndexubv = (pfn_glIndexubv)load("glIndexubv"); + fp_glPopClientAttrib = (pfn_glPopClientAttrib)load("glPopClientAttrib"); + fp_glPushClientAttrib = (pfn_glPushClientAttrib)load("glPushClientAttrib"); +} + +GLboolean GLAD_VERSION_1_2 = GL_FALSE; +static void load_GL_VERSION_1_2(LOADER load) { + if(!GLAD_VERSION_1_2) return; + fp_glDrawRangeElements = (pfn_glDrawRangeElements)load("glDrawRangeElements"); + fp_glTexImage3D = (pfn_glTexImage3D)load("glTexImage3D"); + fp_glTexSubImage3D = (pfn_glTexSubImage3D)load("glTexSubImage3D"); + fp_glCopyTexSubImage3D = (pfn_glCopyTexSubImage3D)load("glCopyTexSubImage3D"); +} + +GLboolean GLAD_VERSION_1_3 = GL_FALSE; +static void load_GL_VERSION_1_3(LOADER load) { + if(!GLAD_VERSION_1_3) return; + fp_glActiveTexture = (pfn_glActiveTexture)load("glActiveTexture"); + fp_glSampleCoverage = (pfn_glSampleCoverage)load("glSampleCoverage"); + fp_glCompressedTexImage3D = (pfn_glCompressedTexImage3D)load("glCompressedTexImage3D"); + fp_glCompressedTexImage2D = (pfn_glCompressedTexImage2D)load("glCompressedTexImage2D"); + fp_glCompressedTexImage1D = (pfn_glCompressedTexImage1D)load("glCompressedTexImage1D"); + fp_glCompressedTexSubImage3D = (pfn_glCompressedTexSubImage3D)load("glCompressedTexSubImage3D"); + fp_glCompressedTexSubImage2D = (pfn_glCompressedTexSubImage2D)load("glCompressedTexSubImage2D"); + fp_glCompressedTexSubImage1D = (pfn_glCompressedTexSubImage1D)load("glCompressedTexSubImage1D"); + fp_glGetCompressedTexImage = (pfn_glGetCompressedTexImage)load("glGetCompressedTexImage"); + fp_glClientActiveTexture = (pfn_glClientActiveTexture)load("glClientActiveTexture"); + fp_glMultiTexCoord1d = (pfn_glMultiTexCoord1d)load("glMultiTexCoord1d"); + fp_glMultiTexCoord1dv = (pfn_glMultiTexCoord1dv)load("glMultiTexCoord1dv"); + fp_glMultiTexCoord1f = (pfn_glMultiTexCoord1f)load("glMultiTexCoord1f"); + fp_glMultiTexCoord1fv = (pfn_glMultiTexCoord1fv)load("glMultiTexCoord1fv"); + fp_glMultiTexCoord1i = (pfn_glMultiTexCoord1i)load("glMultiTexCoord1i"); + fp_glMultiTexCoord1iv = (pfn_glMultiTexCoord1iv)load("glMultiTexCoord1iv"); + fp_glMultiTexCoord1s = (pfn_glMultiTexCoord1s)load("glMultiTexCoord1s"); + fp_glMultiTexCoord1sv = (pfn_glMultiTexCoord1sv)load("glMultiTexCoord1sv"); + fp_glMultiTexCoord2d = (pfn_glMultiTexCoord2d)load("glMultiTexCoord2d"); + fp_glMultiTexCoord2dv = (pfn_glMultiTexCoord2dv)load("glMultiTexCoord2dv"); + fp_glMultiTexCoord2f = (pfn_glMultiTexCoord2f)load("glMultiTexCoord2f"); + fp_glMultiTexCoord2fv = (pfn_glMultiTexCoord2fv)load("glMultiTexCoord2fv"); + fp_glMultiTexCoord2i = (pfn_glMultiTexCoord2i)load("glMultiTexCoord2i"); + fp_glMultiTexCoord2iv = (pfn_glMultiTexCoord2iv)load("glMultiTexCoord2iv"); + fp_glMultiTexCoord2s = (pfn_glMultiTexCoord2s)load("glMultiTexCoord2s"); + fp_glMultiTexCoord2sv = (pfn_glMultiTexCoord2sv)load("glMultiTexCoord2sv"); + fp_glMultiTexCoord3d = (pfn_glMultiTexCoord3d)load("glMultiTexCoord3d"); + fp_glMultiTexCoord3dv = (pfn_glMultiTexCoord3dv)load("glMultiTexCoord3dv"); + fp_glMultiTexCoord3f = (pfn_glMultiTexCoord3f)load("glMultiTexCoord3f"); + fp_glMultiTexCoord3fv = (pfn_glMultiTexCoord3fv)load("glMultiTexCoord3fv"); + fp_glMultiTexCoord3i = (pfn_glMultiTexCoord3i)load("glMultiTexCoord3i"); + fp_glMultiTexCoord3iv = (pfn_glMultiTexCoord3iv)load("glMultiTexCoord3iv"); + fp_glMultiTexCoord3s = (pfn_glMultiTexCoord3s)load("glMultiTexCoord3s"); + fp_glMultiTexCoord3sv = (pfn_glMultiTexCoord3sv)load("glMultiTexCoord3sv"); + fp_glMultiTexCoord4d = (pfn_glMultiTexCoord4d)load("glMultiTexCoord4d"); + fp_glMultiTexCoord4dv = (pfn_glMultiTexCoord4dv)load("glMultiTexCoord4dv"); + fp_glMultiTexCoord4f = (pfn_glMultiTexCoord4f)load("glMultiTexCoord4f"); + fp_glMultiTexCoord4fv = (pfn_glMultiTexCoord4fv)load("glMultiTexCoord4fv"); + fp_glMultiTexCoord4i = (pfn_glMultiTexCoord4i)load("glMultiTexCoord4i"); + fp_glMultiTexCoord4iv = (pfn_glMultiTexCoord4iv)load("glMultiTexCoord4iv"); + fp_glMultiTexCoord4s = (pfn_glMultiTexCoord4s)load("glMultiTexCoord4s"); + fp_glMultiTexCoord4sv = (pfn_glMultiTexCoord4sv)load("glMultiTexCoord4sv"); + fp_glLoadTransposeMatrixf = (pfn_glLoadTransposeMatrixf)load("glLoadTransposeMatrixf"); + fp_glLoadTransposeMatrixd = (pfn_glLoadTransposeMatrixd)load("glLoadTransposeMatrixd"); + fp_glMultTransposeMatrixf = (pfn_glMultTransposeMatrixf)load("glMultTransposeMatrixf"); + fp_glMultTransposeMatrixd = (pfn_glMultTransposeMatrixd)load("glMultTransposeMatrixd"); +} + +GLboolean GLAD_VERSION_1_4 = GL_FALSE; +static void load_GL_VERSION_1_4(LOADER load) { + if(!GLAD_VERSION_1_4) return; + fp_glBlendFuncSeparate = (pfn_glBlendFuncSeparate)load("glBlendFuncSeparate"); + fp_glMultiDrawArrays = (pfn_glMultiDrawArrays)load("glMultiDrawArrays"); + fp_glMultiDrawElements = (pfn_glMultiDrawElements)load("glMultiDrawElements"); + fp_glPointParameterf = (pfn_glPointParameterf)load("glPointParameterf"); + fp_glPointParameterfv = (pfn_glPointParameterfv)load("glPointParameterfv"); + fp_glPointParameteri = (pfn_glPointParameteri)load("glPointParameteri"); + fp_glPointParameteriv = (pfn_glPointParameteriv)load("glPointParameteriv"); + fp_glFogCoordf = (pfn_glFogCoordf)load("glFogCoordf"); + fp_glFogCoordfv = (pfn_glFogCoordfv)load("glFogCoordfv"); + fp_glFogCoordd = (pfn_glFogCoordd)load("glFogCoordd"); + fp_glFogCoorddv = (pfn_glFogCoorddv)load("glFogCoorddv"); + fp_glFogCoordPointer = (pfn_glFogCoordPointer)load("glFogCoordPointer"); + fp_glSecondaryColor3b = (pfn_glSecondaryColor3b)load("glSecondaryColor3b"); + fp_glSecondaryColor3bv = (pfn_glSecondaryColor3bv)load("glSecondaryColor3bv"); + fp_glSecondaryColor3d = (pfn_glSecondaryColor3d)load("glSecondaryColor3d"); + fp_glSecondaryColor3dv = (pfn_glSecondaryColor3dv)load("glSecondaryColor3dv"); + fp_glSecondaryColor3f = (pfn_glSecondaryColor3f)load("glSecondaryColor3f"); + fp_glSecondaryColor3fv = (pfn_glSecondaryColor3fv)load("glSecondaryColor3fv"); + fp_glSecondaryColor3i = (pfn_glSecondaryColor3i)load("glSecondaryColor3i"); + fp_glSecondaryColor3iv = (pfn_glSecondaryColor3iv)load("glSecondaryColor3iv"); + fp_glSecondaryColor3s = (pfn_glSecondaryColor3s)load("glSecondaryColor3s"); + fp_glSecondaryColor3sv = (pfn_glSecondaryColor3sv)load("glSecondaryColor3sv"); + fp_glSecondaryColor3ub = (pfn_glSecondaryColor3ub)load("glSecondaryColor3ub"); + fp_glSecondaryColor3ubv = (pfn_glSecondaryColor3ubv)load("glSecondaryColor3ubv"); + fp_glSecondaryColor3ui = (pfn_glSecondaryColor3ui)load("glSecondaryColor3ui"); + fp_glSecondaryColor3uiv = (pfn_glSecondaryColor3uiv)load("glSecondaryColor3uiv"); + fp_glSecondaryColor3us = (pfn_glSecondaryColor3us)load("glSecondaryColor3us"); + fp_glSecondaryColor3usv = (pfn_glSecondaryColor3usv)load("glSecondaryColor3usv"); + fp_glSecondaryColorPointer = (pfn_glSecondaryColorPointer)load("glSecondaryColorPointer"); + fp_glWindowPos2d = (pfn_glWindowPos2d)load("glWindowPos2d"); + fp_glWindowPos2dv = (pfn_glWindowPos2dv)load("glWindowPos2dv"); + fp_glWindowPos2f = (pfn_glWindowPos2f)load("glWindowPos2f"); + fp_glWindowPos2fv = (pfn_glWindowPos2fv)load("glWindowPos2fv"); + fp_glWindowPos2i = (pfn_glWindowPos2i)load("glWindowPos2i"); + fp_glWindowPos2iv = (pfn_glWindowPos2iv)load("glWindowPos2iv"); + fp_glWindowPos2s = (pfn_glWindowPos2s)load("glWindowPos2s"); + fp_glWindowPos2sv = (pfn_glWindowPos2sv)load("glWindowPos2sv"); + fp_glWindowPos3d = (pfn_glWindowPos3d)load("glWindowPos3d"); + fp_glWindowPos3dv = (pfn_glWindowPos3dv)load("glWindowPos3dv"); + fp_glWindowPos3f = (pfn_glWindowPos3f)load("glWindowPos3f"); + fp_glWindowPos3fv = (pfn_glWindowPos3fv)load("glWindowPos3fv"); + fp_glWindowPos3i = (pfn_glWindowPos3i)load("glWindowPos3i"); + fp_glWindowPos3iv = (pfn_glWindowPos3iv)load("glWindowPos3iv"); + fp_glWindowPos3s = (pfn_glWindowPos3s)load("glWindowPos3s"); + fp_glWindowPos3sv = (pfn_glWindowPos3sv)load("glWindowPos3sv"); + fp_glBlendColor = (pfn_glBlendColor)load("glBlendColor"); + fp_glBlendEquation = (pfn_glBlendEquation)load("glBlendEquation"); +} + +GLboolean GLAD_VERSION_1_5 = GL_FALSE; +static void load_GL_VERSION_1_5(LOADER load) { + if(!GLAD_VERSION_1_5) return; + fp_glGenQueries = (pfn_glGenQueries)load("glGenQueries"); + fp_glDeleteQueries = (pfn_glDeleteQueries)load("glDeleteQueries"); + fp_glIsQuery = (pfn_glIsQuery)load("glIsQuery"); + fp_glBeginQuery = (pfn_glBeginQuery)load("glBeginQuery"); + fp_glEndQuery = (pfn_glEndQuery)load("glEndQuery"); + fp_glGetQueryiv = (pfn_glGetQueryiv)load("glGetQueryiv"); + fp_glGetQueryObjectiv = (pfn_glGetQueryObjectiv)load("glGetQueryObjectiv"); + fp_glGetQueryObjectuiv = (pfn_glGetQueryObjectuiv)load("glGetQueryObjectuiv"); + fp_glBindBuffer = (pfn_glBindBuffer)load("glBindBuffer"); + fp_glDeleteBuffers = (pfn_glDeleteBuffers)load("glDeleteBuffers"); + fp_glGenBuffers = (pfn_glGenBuffers)load("glGenBuffers"); + fp_glIsBuffer = (pfn_glIsBuffer)load("glIsBuffer"); + fp_glBufferData = (pfn_glBufferData)load("glBufferData"); + fp_glBufferSubData = (pfn_glBufferSubData)load("glBufferSubData"); + fp_glGetBufferSubData = (pfn_glGetBufferSubData)load("glGetBufferSubData"); + fp_glMapBuffer = (pfn_glMapBuffer)load("glMapBuffer"); + fp_glUnmapBuffer = (pfn_glUnmapBuffer)load("glUnmapBuffer"); + fp_glGetBufferParameteriv = (pfn_glGetBufferParameteriv)load("glGetBufferParameteriv"); + fp_glGetBufferPointerv = (pfn_glGetBufferPointerv)load("glGetBufferPointerv"); +} + +GLboolean GLAD_VERSION_2_0 = GL_FALSE; +static void load_GL_VERSION_2_0(LOADER load) { + if(!GLAD_VERSION_2_0) return; + fp_glBlendEquationSeparate = (pfn_glBlendEquationSeparate)load("glBlendEquationSeparate"); + fp_glDrawBuffers = (pfn_glDrawBuffers)load("glDrawBuffers"); + fp_glStencilOpSeparate = (pfn_glStencilOpSeparate)load("glStencilOpSeparate"); + fp_glStencilFuncSeparate = (pfn_glStencilFuncSeparate)load("glStencilFuncSeparate"); + fp_glStencilMaskSeparate = (pfn_glStencilMaskSeparate)load("glStencilMaskSeparate"); + fp_glAttachShader = (pfn_glAttachShader)load("glAttachShader"); + fp_glBindAttribLocation = (pfn_glBindAttribLocation)load("glBindAttribLocation"); + fp_glCompileShader = (pfn_glCompileShader)load("glCompileShader"); + fp_glCreateProgram = (pfn_glCreateProgram)load("glCreateProgram"); + fp_glCreateShader = (pfn_glCreateShader)load("glCreateShader"); + fp_glDeleteProgram = (pfn_glDeleteProgram)load("glDeleteProgram"); + fp_glDeleteShader = (pfn_glDeleteShader)load("glDeleteShader"); + fp_glDetachShader = (pfn_glDetachShader)load("glDetachShader"); + fp_glDisableVertexAttribArray = (pfn_glDisableVertexAttribArray)load("glDisableVertexAttribArray"); + fp_glEnableVertexAttribArray = (pfn_glEnableVertexAttribArray)load("glEnableVertexAttribArray"); + fp_glGetActiveAttrib = (pfn_glGetActiveAttrib)load("glGetActiveAttrib"); + fp_glGetActiveUniform = (pfn_glGetActiveUniform)load("glGetActiveUniform"); + fp_glGetAttachedShaders = (pfn_glGetAttachedShaders)load("glGetAttachedShaders"); + fp_glGetAttribLocation = (pfn_glGetAttribLocation)load("glGetAttribLocation"); + fp_glGetProgramiv = (pfn_glGetProgramiv)load("glGetProgramiv"); + fp_glGetProgramInfoLog = (pfn_glGetProgramInfoLog)load("glGetProgramInfoLog"); + fp_glGetShaderiv = (pfn_glGetShaderiv)load("glGetShaderiv"); + fp_glGetShaderInfoLog = (pfn_glGetShaderInfoLog)load("glGetShaderInfoLog"); + fp_glGetShaderSource = (pfn_glGetShaderSource)load("glGetShaderSource"); + fp_glGetUniformLocation = (pfn_glGetUniformLocation)load("glGetUniformLocation"); + fp_glGetUniformfv = (pfn_glGetUniformfv)load("glGetUniformfv"); + fp_glGetUniformiv = (pfn_glGetUniformiv)load("glGetUniformiv"); + fp_glGetVertexAttribdv = (pfn_glGetVertexAttribdv)load("glGetVertexAttribdv"); + fp_glGetVertexAttribfv = (pfn_glGetVertexAttribfv)load("glGetVertexAttribfv"); + fp_glGetVertexAttribiv = (pfn_glGetVertexAttribiv)load("glGetVertexAttribiv"); + fp_glGetVertexAttribPointerv = (pfn_glGetVertexAttribPointerv)load("glGetVertexAttribPointerv"); + fp_glIsProgram = (pfn_glIsProgram)load("glIsProgram"); + fp_glIsShader = (pfn_glIsShader)load("glIsShader"); + fp_glLinkProgram = (pfn_glLinkProgram)load("glLinkProgram"); + fp_glShaderSource = (pfn_glShaderSource)load("glShaderSource"); + fp_glUseProgram = (pfn_glUseProgram)load("glUseProgram"); + fp_glUniform1f = (pfn_glUniform1f)load("glUniform1f"); + fp_glUniform2f = (pfn_glUniform2f)load("glUniform2f"); + fp_glUniform3f = (pfn_glUniform3f)load("glUniform3f"); + fp_glUniform4f = (pfn_glUniform4f)load("glUniform4f"); + fp_glUniform1i = (pfn_glUniform1i)load("glUniform1i"); + fp_glUniform2i = (pfn_glUniform2i)load("glUniform2i"); + fp_glUniform3i = (pfn_glUniform3i)load("glUniform3i"); + fp_glUniform4i = (pfn_glUniform4i)load("glUniform4i"); + fp_glUniform1fv = (pfn_glUniform1fv)load("glUniform1fv"); + fp_glUniform2fv = (pfn_glUniform2fv)load("glUniform2fv"); + fp_glUniform3fv = (pfn_glUniform3fv)load("glUniform3fv"); + fp_glUniform4fv = (pfn_glUniform4fv)load("glUniform4fv"); + fp_glUniform1iv = (pfn_glUniform1iv)load("glUniform1iv"); + fp_glUniform2iv = (pfn_glUniform2iv)load("glUniform2iv"); + fp_glUniform3iv = (pfn_glUniform3iv)load("glUniform3iv"); + fp_glUniform4iv = (pfn_glUniform4iv)load("glUniform4iv"); + fp_glUniformMatrix2fv = (pfn_glUniformMatrix2fv)load("glUniformMatrix2fv"); + fp_glUniformMatrix3fv = (pfn_glUniformMatrix3fv)load("glUniformMatrix3fv"); + fp_glUniformMatrix4fv = (pfn_glUniformMatrix4fv)load("glUniformMatrix4fv"); + fp_glValidateProgram = (pfn_glValidateProgram)load("glValidateProgram"); + fp_glVertexAttrib1d = (pfn_glVertexAttrib1d)load("glVertexAttrib1d"); + fp_glVertexAttrib1dv = (pfn_glVertexAttrib1dv)load("glVertexAttrib1dv"); + fp_glVertexAttrib1f = (pfn_glVertexAttrib1f)load("glVertexAttrib1f"); + fp_glVertexAttrib1fv = (pfn_glVertexAttrib1fv)load("glVertexAttrib1fv"); + fp_glVertexAttrib1s = (pfn_glVertexAttrib1s)load("glVertexAttrib1s"); + fp_glVertexAttrib1sv = (pfn_glVertexAttrib1sv)load("glVertexAttrib1sv"); + fp_glVertexAttrib2d = (pfn_glVertexAttrib2d)load("glVertexAttrib2d"); + fp_glVertexAttrib2dv = (pfn_glVertexAttrib2dv)load("glVertexAttrib2dv"); + fp_glVertexAttrib2f = (pfn_glVertexAttrib2f)load("glVertexAttrib2f"); + fp_glVertexAttrib2fv = (pfn_glVertexAttrib2fv)load("glVertexAttrib2fv"); + fp_glVertexAttrib2s = (pfn_glVertexAttrib2s)load("glVertexAttrib2s"); + fp_glVertexAttrib2sv = (pfn_glVertexAttrib2sv)load("glVertexAttrib2sv"); + fp_glVertexAttrib3d = (pfn_glVertexAttrib3d)load("glVertexAttrib3d"); + fp_glVertexAttrib3dv = (pfn_glVertexAttrib3dv)load("glVertexAttrib3dv"); + fp_glVertexAttrib3f = (pfn_glVertexAttrib3f)load("glVertexAttrib3f"); + fp_glVertexAttrib3fv = (pfn_glVertexAttrib3fv)load("glVertexAttrib3fv"); + fp_glVertexAttrib3s = (pfn_glVertexAttrib3s)load("glVertexAttrib3s"); + fp_glVertexAttrib3sv = (pfn_glVertexAttrib3sv)load("glVertexAttrib3sv"); + fp_glVertexAttrib4Nbv = (pfn_glVertexAttrib4Nbv)load("glVertexAttrib4Nbv"); + fp_glVertexAttrib4Niv = (pfn_glVertexAttrib4Niv)load("glVertexAttrib4Niv"); + fp_glVertexAttrib4Nsv = (pfn_glVertexAttrib4Nsv)load("glVertexAttrib4Nsv"); + fp_glVertexAttrib4Nub = (pfn_glVertexAttrib4Nub)load("glVertexAttrib4Nub"); + fp_glVertexAttrib4Nubv = (pfn_glVertexAttrib4Nubv)load("glVertexAttrib4Nubv"); + fp_glVertexAttrib4Nuiv = (pfn_glVertexAttrib4Nuiv)load("glVertexAttrib4Nuiv"); + fp_glVertexAttrib4Nusv = (pfn_glVertexAttrib4Nusv)load("glVertexAttrib4Nusv"); + fp_glVertexAttrib4bv = (pfn_glVertexAttrib4bv)load("glVertexAttrib4bv"); + fp_glVertexAttrib4d = (pfn_glVertexAttrib4d)load("glVertexAttrib4d"); + fp_glVertexAttrib4dv = (pfn_glVertexAttrib4dv)load("glVertexAttrib4dv"); + fp_glVertexAttrib4f = (pfn_glVertexAttrib4f)load("glVertexAttrib4f"); + fp_glVertexAttrib4fv = (pfn_glVertexAttrib4fv)load("glVertexAttrib4fv"); + fp_glVertexAttrib4iv = (pfn_glVertexAttrib4iv)load("glVertexAttrib4iv"); + fp_glVertexAttrib4s = (pfn_glVertexAttrib4s)load("glVertexAttrib4s"); + fp_glVertexAttrib4sv = (pfn_glVertexAttrib4sv)load("glVertexAttrib4sv"); + fp_glVertexAttrib4ubv = (pfn_glVertexAttrib4ubv)load("glVertexAttrib4ubv"); + fp_glVertexAttrib4uiv = (pfn_glVertexAttrib4uiv)load("glVertexAttrib4uiv"); + fp_glVertexAttrib4usv = (pfn_glVertexAttrib4usv)load("glVertexAttrib4usv"); + fp_glVertexAttribPointer = (pfn_glVertexAttribPointer)load("glVertexAttribPointer"); +} + +GLboolean GLAD_VERSION_2_1 = GL_FALSE; +static void load_GL_VERSION_2_1(LOADER load) { + if(!GLAD_VERSION_2_1) return; + fp_glUniformMatrix2x3fv = (pfn_glUniformMatrix2x3fv)load("glUniformMatrix2x3fv"); + fp_glUniformMatrix3x2fv = (pfn_glUniformMatrix3x2fv)load("glUniformMatrix3x2fv"); + fp_glUniformMatrix2x4fv = (pfn_glUniformMatrix2x4fv)load("glUniformMatrix2x4fv"); + fp_glUniformMatrix4x2fv = (pfn_glUniformMatrix4x2fv)load("glUniformMatrix4x2fv"); + fp_glUniformMatrix3x4fv = (pfn_glUniformMatrix3x4fv)load("glUniformMatrix3x4fv"); + fp_glUniformMatrix4x3fv = (pfn_glUniformMatrix4x3fv)load("glUniformMatrix4x3fv"); +} + +GLboolean GLAD_VERSION_3_0 = GL_FALSE; +static void load_GL_VERSION_3_0(LOADER load) { + if(!GLAD_VERSION_3_0) return; + fp_glColorMaski = (pfn_glColorMaski)load("glColorMaski"); + fp_glGetBooleani_v = (pfn_glGetBooleani_v)load("glGetBooleani_v"); + fp_glGetIntegeri_v = (pfn_glGetIntegeri_v)load("glGetIntegeri_v"); + fp_glEnablei = (pfn_glEnablei)load("glEnablei"); + fp_glDisablei = (pfn_glDisablei)load("glDisablei"); + fp_glIsEnabledi = (pfn_glIsEnabledi)load("glIsEnabledi"); + fp_glBeginTransformFeedback = (pfn_glBeginTransformFeedback)load("glBeginTransformFeedback"); + fp_glEndTransformFeedback = (pfn_glEndTransformFeedback)load("glEndTransformFeedback"); + fp_glBindBufferRange = (pfn_glBindBufferRange)load("glBindBufferRange"); + fp_glBindBufferBase = (pfn_glBindBufferBase)load("glBindBufferBase"); + fp_glTransformFeedbackVaryings = (pfn_glTransformFeedbackVaryings)load("glTransformFeedbackVaryings"); + fp_glGetTransformFeedbackVarying = (pfn_glGetTransformFeedbackVarying)load("glGetTransformFeedbackVarying"); + fp_glClampColor = (pfn_glClampColor)load("glClampColor"); + fp_glBeginConditionalRender = (pfn_glBeginConditionalRender)load("glBeginConditionalRender"); + fp_glEndConditionalRender = (pfn_glEndConditionalRender)load("glEndConditionalRender"); + fp_glVertexAttribIPointer = (pfn_glVertexAttribIPointer)load("glVertexAttribIPointer"); + fp_glGetVertexAttribIiv = (pfn_glGetVertexAttribIiv)load("glGetVertexAttribIiv"); + fp_glGetVertexAttribIuiv = (pfn_glGetVertexAttribIuiv)load("glGetVertexAttribIuiv"); + fp_glVertexAttribI1i = (pfn_glVertexAttribI1i)load("glVertexAttribI1i"); + fp_glVertexAttribI2i = (pfn_glVertexAttribI2i)load("glVertexAttribI2i"); + fp_glVertexAttribI3i = (pfn_glVertexAttribI3i)load("glVertexAttribI3i"); + fp_glVertexAttribI4i = (pfn_glVertexAttribI4i)load("glVertexAttribI4i"); + fp_glVertexAttribI1ui = (pfn_glVertexAttribI1ui)load("glVertexAttribI1ui"); + fp_glVertexAttribI2ui = (pfn_glVertexAttribI2ui)load("glVertexAttribI2ui"); + fp_glVertexAttribI3ui = (pfn_glVertexAttribI3ui)load("glVertexAttribI3ui"); + fp_glVertexAttribI4ui = (pfn_glVertexAttribI4ui)load("glVertexAttribI4ui"); + fp_glVertexAttribI1iv = (pfn_glVertexAttribI1iv)load("glVertexAttribI1iv"); + fp_glVertexAttribI2iv = (pfn_glVertexAttribI2iv)load("glVertexAttribI2iv"); + fp_glVertexAttribI3iv = (pfn_glVertexAttribI3iv)load("glVertexAttribI3iv"); + fp_glVertexAttribI4iv = (pfn_glVertexAttribI4iv)load("glVertexAttribI4iv"); + fp_glVertexAttribI1uiv = (pfn_glVertexAttribI1uiv)load("glVertexAttribI1uiv"); + fp_glVertexAttribI2uiv = (pfn_glVertexAttribI2uiv)load("glVertexAttribI2uiv"); + fp_glVertexAttribI3uiv = (pfn_glVertexAttribI3uiv)load("glVertexAttribI3uiv"); + fp_glVertexAttribI4uiv = (pfn_glVertexAttribI4uiv)load("glVertexAttribI4uiv"); + fp_glVertexAttribI4bv = (pfn_glVertexAttribI4bv)load("glVertexAttribI4bv"); + fp_glVertexAttribI4sv = (pfn_glVertexAttribI4sv)load("glVertexAttribI4sv"); + fp_glVertexAttribI4ubv = (pfn_glVertexAttribI4ubv)load("glVertexAttribI4ubv"); + fp_glVertexAttribI4usv = (pfn_glVertexAttribI4usv)load("glVertexAttribI4usv"); + fp_glGetUniformuiv = (pfn_glGetUniformuiv)load("glGetUniformuiv"); + fp_glBindFragDataLocation = (pfn_glBindFragDataLocation)load("glBindFragDataLocation"); + fp_glGetFragDataLocation = (pfn_glGetFragDataLocation)load("glGetFragDataLocation"); + fp_glUniform1ui = (pfn_glUniform1ui)load("glUniform1ui"); + fp_glUniform2ui = (pfn_glUniform2ui)load("glUniform2ui"); + fp_glUniform3ui = (pfn_glUniform3ui)load("glUniform3ui"); + fp_glUniform4ui = (pfn_glUniform4ui)load("glUniform4ui"); + fp_glUniform1uiv = (pfn_glUniform1uiv)load("glUniform1uiv"); + fp_glUniform2uiv = (pfn_glUniform2uiv)load("glUniform2uiv"); + fp_glUniform3uiv = (pfn_glUniform3uiv)load("glUniform3uiv"); + fp_glUniform4uiv = (pfn_glUniform4uiv)load("glUniform4uiv"); + fp_glTexParameterIiv = (pfn_glTexParameterIiv)load("glTexParameterIiv"); + fp_glTexParameterIuiv = (pfn_glTexParameterIuiv)load("glTexParameterIuiv"); + fp_glGetTexParameterIiv = (pfn_glGetTexParameterIiv)load("glGetTexParameterIiv"); + fp_glGetTexParameterIuiv = (pfn_glGetTexParameterIuiv)load("glGetTexParameterIuiv"); + fp_glClearBufferiv = (pfn_glClearBufferiv)load("glClearBufferiv"); + fp_glClearBufferuiv = (pfn_glClearBufferuiv)load("glClearBufferuiv"); + fp_glClearBufferfv = (pfn_glClearBufferfv)load("glClearBufferfv"); + fp_glClearBufferfi = (pfn_glClearBufferfi)load("glClearBufferfi"); + fp_glGetStringi = (pfn_glGetStringi)load("glGetStringi"); + fp_glIsRenderbuffer = (pfn_glIsRenderbuffer)load("glIsRenderbuffer"); + fp_glBindRenderbuffer = (pfn_glBindRenderbuffer)load("glBindRenderbuffer"); + fp_glDeleteRenderbuffers = (pfn_glDeleteRenderbuffers)load("glDeleteRenderbuffers"); + fp_glGenRenderbuffers = (pfn_glGenRenderbuffers)load("glGenRenderbuffers"); + fp_glRenderbufferStorage = (pfn_glRenderbufferStorage)load("glRenderbufferStorage"); + fp_glGetRenderbufferParameteriv = (pfn_glGetRenderbufferParameteriv)load("glGetRenderbufferParameteriv"); + fp_glIsFramebuffer = (pfn_glIsFramebuffer)load("glIsFramebuffer"); + fp_glBindFramebuffer = (pfn_glBindFramebuffer)load("glBindFramebuffer"); + fp_glDeleteFramebuffers = (pfn_glDeleteFramebuffers)load("glDeleteFramebuffers"); + fp_glGenFramebuffers = (pfn_glGenFramebuffers)load("glGenFramebuffers"); + fp_glCheckFramebufferStatus = (pfn_glCheckFramebufferStatus)load("glCheckFramebufferStatus"); + fp_glFramebufferTexture1D = (pfn_glFramebufferTexture1D)load("glFramebufferTexture1D"); + fp_glFramebufferTexture2D = (pfn_glFramebufferTexture2D)load("glFramebufferTexture2D"); + fp_glFramebufferTexture3D = (pfn_glFramebufferTexture3D)load("glFramebufferTexture3D"); + fp_glFramebufferRenderbuffer = (pfn_glFramebufferRenderbuffer)load("glFramebufferRenderbuffer"); + fp_glGetFramebufferAttachmentParameteriv = (pfn_glGetFramebufferAttachmentParameteriv)load("glGetFramebufferAttachmentParameteriv"); + fp_glGenerateMipmap = (pfn_glGenerateMipmap)load("glGenerateMipmap"); + fp_glBlitFramebuffer = (pfn_glBlitFramebuffer)load("glBlitFramebuffer"); + fp_glRenderbufferStorageMultisample = (pfn_glRenderbufferStorageMultisample)load("glRenderbufferStorageMultisample"); + fp_glFramebufferTextureLayer = (pfn_glFramebufferTextureLayer)load("glFramebufferTextureLayer"); + fp_glMapBufferRange = (pfn_glMapBufferRange)load("glMapBufferRange"); + fp_glFlushMappedBufferRange = (pfn_glFlushMappedBufferRange)load("glFlushMappedBufferRange"); + fp_glBindVertexArray = (pfn_glBindVertexArray)load("glBindVertexArray"); + fp_glDeleteVertexArrays = (pfn_glDeleteVertexArrays)load("glDeleteVertexArrays"); + fp_glGenVertexArrays = (pfn_glGenVertexArrays)load("glGenVertexArrays"); + fp_glIsVertexArray = (pfn_glIsVertexArray)load("glIsVertexArray"); +} + +GLboolean GLAD_VERSION_3_1 = GL_FALSE; +static void load_GL_VERSION_3_1(LOADER load) { + if(!GLAD_VERSION_3_1) return; + fp_glDrawArraysInstanced = (pfn_glDrawArraysInstanced)load("glDrawArraysInstanced"); + fp_glDrawElementsInstanced = (pfn_glDrawElementsInstanced)load("glDrawElementsInstanced"); + fp_glTexBuffer = (pfn_glTexBuffer)load("glTexBuffer"); + fp_glPrimitiveRestartIndex = (pfn_glPrimitiveRestartIndex)load("glPrimitiveRestartIndex"); + fp_glCopyBufferSubData = (pfn_glCopyBufferSubData)load("glCopyBufferSubData"); + fp_glGetUniformIndices = (pfn_glGetUniformIndices)load("glGetUniformIndices"); + fp_glGetActiveUniformsiv = (pfn_glGetActiveUniformsiv)load("glGetActiveUniformsiv"); + fp_glGetActiveUniformName = (pfn_glGetActiveUniformName)load("glGetActiveUniformName"); + fp_glGetUniformBlockIndex = (pfn_glGetUniformBlockIndex)load("glGetUniformBlockIndex"); + fp_glGetActiveUniformBlockiv = (pfn_glGetActiveUniformBlockiv)load("glGetActiveUniformBlockiv"); + fp_glGetActiveUniformBlockName = (pfn_glGetActiveUniformBlockName)load("glGetActiveUniformBlockName"); + fp_glUniformBlockBinding = (pfn_glUniformBlockBinding)load("glUniformBlockBinding"); +} + +GLboolean GLAD_VERSION_3_2 = GL_FALSE; +static void load_GL_VERSION_3_2(LOADER load) { + if(!GLAD_VERSION_3_2) return; + fp_glDrawElementsBaseVertex = (pfn_glDrawElementsBaseVertex)load("glDrawElementsBaseVertex"); + fp_glDrawRangeElementsBaseVertex = (pfn_glDrawRangeElementsBaseVertex)load("glDrawRangeElementsBaseVertex"); + fp_glDrawElementsInstancedBaseVertex = (pfn_glDrawElementsInstancedBaseVertex)load("glDrawElementsInstancedBaseVertex"); + fp_glMultiDrawElementsBaseVertex = (pfn_glMultiDrawElementsBaseVertex)load("glMultiDrawElementsBaseVertex"); + fp_glProvokingVertex = (pfn_glProvokingVertex)load("glProvokingVertex"); + fp_glFenceSync = (pfn_glFenceSync)load("glFenceSync"); + fp_glIsSync = (pfn_glIsSync)load("glIsSync"); + fp_glDeleteSync = (pfn_glDeleteSync)load("glDeleteSync"); + fp_glClientWaitSync = (pfn_glClientWaitSync)load("glClientWaitSync"); + fp_glWaitSync = (pfn_glWaitSync)load("glWaitSync"); + fp_glGetInteger64v = (pfn_glGetInteger64v)load("glGetInteger64v"); + fp_glGetSynciv = (pfn_glGetSynciv)load("glGetSynciv"); + fp_glGetInteger64i_v = (pfn_glGetInteger64i_v)load("glGetInteger64i_v"); + fp_glGetBufferParameteri64v = (pfn_glGetBufferParameteri64v)load("glGetBufferParameteri64v"); + fp_glFramebufferTexture = (pfn_glFramebufferTexture)load("glFramebufferTexture"); + fp_glTexImage2DMultisample = (pfn_glTexImage2DMultisample)load("glTexImage2DMultisample"); + fp_glTexImage3DMultisample = (pfn_glTexImage3DMultisample)load("glTexImage3DMultisample"); + fp_glGetMultisamplefv = (pfn_glGetMultisamplefv)load("glGetMultisamplefv"); + fp_glSampleMaski = (pfn_glSampleMaski)load("glSampleMaski"); +} + +GLboolean GLAD_VERSION_3_3 = GL_FALSE; +static void load_GL_VERSION_3_3(LOADER load) { + if(!GLAD_VERSION_3_3) return; + fp_glBindFragDataLocationIndexed = (pfn_glBindFragDataLocationIndexed)load("glBindFragDataLocationIndexed"); + fp_glGetFragDataIndex = (pfn_glGetFragDataIndex)load("glGetFragDataIndex"); + fp_glGenSamplers = (pfn_glGenSamplers)load("glGenSamplers"); + fp_glDeleteSamplers = (pfn_glDeleteSamplers)load("glDeleteSamplers"); + fp_glIsSampler = (pfn_glIsSampler)load("glIsSampler"); + fp_glBindSampler = (pfn_glBindSampler)load("glBindSampler"); + fp_glSamplerParameteri = (pfn_glSamplerParameteri)load("glSamplerParameteri"); + fp_glSamplerParameteriv = (pfn_glSamplerParameteriv)load("glSamplerParameteriv"); + fp_glSamplerParameterf = (pfn_glSamplerParameterf)load("glSamplerParameterf"); + fp_glSamplerParameterfv = (pfn_glSamplerParameterfv)load("glSamplerParameterfv"); + fp_glSamplerParameterIiv = (pfn_glSamplerParameterIiv)load("glSamplerParameterIiv"); + fp_glSamplerParameterIuiv = (pfn_glSamplerParameterIuiv)load("glSamplerParameterIuiv"); + fp_glGetSamplerParameteriv = (pfn_glGetSamplerParameteriv)load("glGetSamplerParameteriv"); + fp_glGetSamplerParameterIiv = (pfn_glGetSamplerParameterIiv)load("glGetSamplerParameterIiv"); + fp_glGetSamplerParameterfv = (pfn_glGetSamplerParameterfv)load("glGetSamplerParameterfv"); + fp_glGetSamplerParameterIuiv = (pfn_glGetSamplerParameterIuiv)load("glGetSamplerParameterIuiv"); + fp_glQueryCounter = (pfn_glQueryCounter)load("glQueryCounter"); + fp_glGetQueryObjecti64v = (pfn_glGetQueryObjecti64v)load("glGetQueryObjecti64v"); + fp_glGetQueryObjectui64v = (pfn_glGetQueryObjectui64v)load("glGetQueryObjectui64v"); + fp_glVertexAttribDivisor = (pfn_glVertexAttribDivisor)load("glVertexAttribDivisor"); + fp_glVertexAttribP1ui = (pfn_glVertexAttribP1ui)load("glVertexAttribP1ui"); + fp_glVertexAttribP1uiv = (pfn_glVertexAttribP1uiv)load("glVertexAttribP1uiv"); + fp_glVertexAttribP2ui = (pfn_glVertexAttribP2ui)load("glVertexAttribP2ui"); + fp_glVertexAttribP2uiv = (pfn_glVertexAttribP2uiv)load("glVertexAttribP2uiv"); + fp_glVertexAttribP3ui = (pfn_glVertexAttribP3ui)load("glVertexAttribP3ui"); + fp_glVertexAttribP3uiv = (pfn_glVertexAttribP3uiv)load("glVertexAttribP3uiv"); + fp_glVertexAttribP4ui = (pfn_glVertexAttribP4ui)load("glVertexAttribP4ui"); + fp_glVertexAttribP4uiv = (pfn_glVertexAttribP4uiv)load("glVertexAttribP4uiv"); + fp_glVertexP2ui = (pfn_glVertexP2ui)load("glVertexP2ui"); + fp_glVertexP2uiv = (pfn_glVertexP2uiv)load("glVertexP2uiv"); + fp_glVertexP3ui = (pfn_glVertexP3ui)load("glVertexP3ui"); + fp_glVertexP3uiv = (pfn_glVertexP3uiv)load("glVertexP3uiv"); + fp_glVertexP4ui = (pfn_glVertexP4ui)load("glVertexP4ui"); + fp_glVertexP4uiv = (pfn_glVertexP4uiv)load("glVertexP4uiv"); + fp_glTexCoordP1ui = (pfn_glTexCoordP1ui)load("glTexCoordP1ui"); + fp_glTexCoordP1uiv = (pfn_glTexCoordP1uiv)load("glTexCoordP1uiv"); + fp_glTexCoordP2ui = (pfn_glTexCoordP2ui)load("glTexCoordP2ui"); + fp_glTexCoordP2uiv = (pfn_glTexCoordP2uiv)load("glTexCoordP2uiv"); + fp_glTexCoordP3ui = (pfn_glTexCoordP3ui)load("glTexCoordP3ui"); + fp_glTexCoordP3uiv = (pfn_glTexCoordP3uiv)load("glTexCoordP3uiv"); + fp_glTexCoordP4ui = (pfn_glTexCoordP4ui)load("glTexCoordP4ui"); + fp_glTexCoordP4uiv = (pfn_glTexCoordP4uiv)load("glTexCoordP4uiv"); + fp_glMultiTexCoordP1ui = (pfn_glMultiTexCoordP1ui)load("glMultiTexCoordP1ui"); + fp_glMultiTexCoordP1uiv = (pfn_glMultiTexCoordP1uiv)load("glMultiTexCoordP1uiv"); + fp_glMultiTexCoordP2ui = (pfn_glMultiTexCoordP2ui)load("glMultiTexCoordP2ui"); + fp_glMultiTexCoordP2uiv = (pfn_glMultiTexCoordP2uiv)load("glMultiTexCoordP2uiv"); + fp_glMultiTexCoordP3ui = (pfn_glMultiTexCoordP3ui)load("glMultiTexCoordP3ui"); + fp_glMultiTexCoordP3uiv = (pfn_glMultiTexCoordP3uiv)load("glMultiTexCoordP3uiv"); + fp_glMultiTexCoordP4ui = (pfn_glMultiTexCoordP4ui)load("glMultiTexCoordP4ui"); + fp_glMultiTexCoordP4uiv = (pfn_glMultiTexCoordP4uiv)load("glMultiTexCoordP4uiv"); + fp_glNormalP3ui = (pfn_glNormalP3ui)load("glNormalP3ui"); + fp_glNormalP3uiv = (pfn_glNormalP3uiv)load("glNormalP3uiv"); + fp_glColorP3ui = (pfn_glColorP3ui)load("glColorP3ui"); + fp_glColorP3uiv = (pfn_glColorP3uiv)load("glColorP3uiv"); + fp_glColorP4ui = (pfn_glColorP4ui)load("glColorP4ui"); + fp_glColorP4uiv = (pfn_glColorP4uiv)load("glColorP4uiv"); + fp_glSecondaryColorP3ui = (pfn_glSecondaryColorP3ui)load("glSecondaryColorP3ui"); + fp_glSecondaryColorP3uiv = (pfn_glSecondaryColorP3uiv)load("glSecondaryColorP3uiv"); +} + +GLboolean GLAD_VERSION_4_0 = GL_FALSE; +static void load_GL_VERSION_4_0(LOADER load) { + if(!GLAD_VERSION_4_0) return; + fp_glMinSampleShading = (pfn_glMinSampleShading)load("glMinSampleShading"); + fp_glBlendEquationi = (pfn_glBlendEquationi)load("glBlendEquationi"); + fp_glBlendEquationSeparatei = (pfn_glBlendEquationSeparatei)load("glBlendEquationSeparatei"); + fp_glBlendFunci = (pfn_glBlendFunci)load("glBlendFunci"); + fp_glBlendFuncSeparatei = (pfn_glBlendFuncSeparatei)load("glBlendFuncSeparatei"); + fp_glDrawArraysIndirect = (pfn_glDrawArraysIndirect)load("glDrawArraysIndirect"); + fp_glDrawElementsIndirect = (pfn_glDrawElementsIndirect)load("glDrawElementsIndirect"); + fp_glUniform1d = (pfn_glUniform1d)load("glUniform1d"); + fp_glUniform2d = (pfn_glUniform2d)load("glUniform2d"); + fp_glUniform3d = (pfn_glUniform3d)load("glUniform3d"); + fp_glUniform4d = (pfn_glUniform4d)load("glUniform4d"); + fp_glUniform1dv = (pfn_glUniform1dv)load("glUniform1dv"); + fp_glUniform2dv = (pfn_glUniform2dv)load("glUniform2dv"); + fp_glUniform3dv = (pfn_glUniform3dv)load("glUniform3dv"); + fp_glUniform4dv = (pfn_glUniform4dv)load("glUniform4dv"); + fp_glUniformMatrix2dv = (pfn_glUniformMatrix2dv)load("glUniformMatrix2dv"); + fp_glUniformMatrix3dv = (pfn_glUniformMatrix3dv)load("glUniformMatrix3dv"); + fp_glUniformMatrix4dv = (pfn_glUniformMatrix4dv)load("glUniformMatrix4dv"); + fp_glUniformMatrix2x3dv = (pfn_glUniformMatrix2x3dv)load("glUniformMatrix2x3dv"); + fp_glUniformMatrix2x4dv = (pfn_glUniformMatrix2x4dv)load("glUniformMatrix2x4dv"); + fp_glUniformMatrix3x2dv = (pfn_glUniformMatrix3x2dv)load("glUniformMatrix3x2dv"); + fp_glUniformMatrix3x4dv = (pfn_glUniformMatrix3x4dv)load("glUniformMatrix3x4dv"); + fp_glUniformMatrix4x2dv = (pfn_glUniformMatrix4x2dv)load("glUniformMatrix4x2dv"); + fp_glUniformMatrix4x3dv = (pfn_glUniformMatrix4x3dv)load("glUniformMatrix4x3dv"); + fp_glGetUniformdv = (pfn_glGetUniformdv)load("glGetUniformdv"); + fp_glGetSubroutineUniformLocation = (pfn_glGetSubroutineUniformLocation)load("glGetSubroutineUniformLocation"); + fp_glGetSubroutineIndex = (pfn_glGetSubroutineIndex)load("glGetSubroutineIndex"); + fp_glGetActiveSubroutineUniformiv = (pfn_glGetActiveSubroutineUniformiv)load("glGetActiveSubroutineUniformiv"); + fp_glGetActiveSubroutineUniformName = (pfn_glGetActiveSubroutineUniformName)load("glGetActiveSubroutineUniformName"); + fp_glGetActiveSubroutineName = (pfn_glGetActiveSubroutineName)load("glGetActiveSubroutineName"); + fp_glUniformSubroutinesuiv = (pfn_glUniformSubroutinesuiv)load("glUniformSubroutinesuiv"); + fp_glGetUniformSubroutineuiv = (pfn_glGetUniformSubroutineuiv)load("glGetUniformSubroutineuiv"); + fp_glGetProgramStageiv = (pfn_glGetProgramStageiv)load("glGetProgramStageiv"); + fp_glPatchParameteri = (pfn_glPatchParameteri)load("glPatchParameteri"); + fp_glPatchParameterfv = (pfn_glPatchParameterfv)load("glPatchParameterfv"); + fp_glBindTransformFeedback = (pfn_glBindTransformFeedback)load("glBindTransformFeedback"); + fp_glDeleteTransformFeedbacks = (pfn_glDeleteTransformFeedbacks)load("glDeleteTransformFeedbacks"); + fp_glGenTransformFeedbacks = (pfn_glGenTransformFeedbacks)load("glGenTransformFeedbacks"); + fp_glIsTransformFeedback = (pfn_glIsTransformFeedback)load("glIsTransformFeedback"); + fp_glPauseTransformFeedback = (pfn_glPauseTransformFeedback)load("glPauseTransformFeedback"); + fp_glResumeTransformFeedback = (pfn_glResumeTransformFeedback)load("glResumeTransformFeedback"); + fp_glDrawTransformFeedback = (pfn_glDrawTransformFeedback)load("glDrawTransformFeedback"); + fp_glDrawTransformFeedbackStream = (pfn_glDrawTransformFeedbackStream)load("glDrawTransformFeedbackStream"); + fp_glBeginQueryIndexed = (pfn_glBeginQueryIndexed)load("glBeginQueryIndexed"); + fp_glEndQueryIndexed = (pfn_glEndQueryIndexed)load("glEndQueryIndexed"); + fp_glGetQueryIndexediv = (pfn_glGetQueryIndexediv)load("glGetQueryIndexediv"); +} + +GLboolean GLAD_VERSION_4_1 = GL_FALSE; +static void load_GL_VERSION_4_1(LOADER load) { + if(!GLAD_VERSION_4_1) return; + fp_glReleaseShaderCompiler = (pfn_glReleaseShaderCompiler)load("glReleaseShaderCompiler"); + fp_glShaderBinary = (pfn_glShaderBinary)load("glShaderBinary"); + fp_glGetShaderPrecisionFormat = (pfn_glGetShaderPrecisionFormat)load("glGetShaderPrecisionFormat"); + fp_glDepthRangef = (pfn_glDepthRangef)load("glDepthRangef"); + fp_glClearDepthf = (pfn_glClearDepthf)load("glClearDepthf"); + fp_glGetProgramBinary = (pfn_glGetProgramBinary)load("glGetProgramBinary"); + fp_glProgramBinary = (pfn_glProgramBinary)load("glProgramBinary"); + fp_glProgramParameteri = (pfn_glProgramParameteri)load("glProgramParameteri"); + fp_glUseProgramStages = (pfn_glUseProgramStages)load("glUseProgramStages"); + fp_glActiveShaderProgram = (pfn_glActiveShaderProgram)load("glActiveShaderProgram"); + fp_glCreateShaderProgramv = (pfn_glCreateShaderProgramv)load("glCreateShaderProgramv"); + fp_glBindProgramPipeline = (pfn_glBindProgramPipeline)load("glBindProgramPipeline"); + fp_glDeleteProgramPipelines = (pfn_glDeleteProgramPipelines)load("glDeleteProgramPipelines"); + fp_glGenProgramPipelines = (pfn_glGenProgramPipelines)load("glGenProgramPipelines"); + fp_glIsProgramPipeline = (pfn_glIsProgramPipeline)load("glIsProgramPipeline"); + fp_glGetProgramPipelineiv = (pfn_glGetProgramPipelineiv)load("glGetProgramPipelineiv"); + fp_glProgramUniform1i = (pfn_glProgramUniform1i)load("glProgramUniform1i"); + fp_glProgramUniform1iv = (pfn_glProgramUniform1iv)load("glProgramUniform1iv"); + fp_glProgramUniform1f = (pfn_glProgramUniform1f)load("glProgramUniform1f"); + fp_glProgramUniform1fv = (pfn_glProgramUniform1fv)load("glProgramUniform1fv"); + fp_glProgramUniform1d = (pfn_glProgramUniform1d)load("glProgramUniform1d"); + fp_glProgramUniform1dv = (pfn_glProgramUniform1dv)load("glProgramUniform1dv"); + fp_glProgramUniform1ui = (pfn_glProgramUniform1ui)load("glProgramUniform1ui"); + fp_glProgramUniform1uiv = (pfn_glProgramUniform1uiv)load("glProgramUniform1uiv"); + fp_glProgramUniform2i = (pfn_glProgramUniform2i)load("glProgramUniform2i"); + fp_glProgramUniform2iv = (pfn_glProgramUniform2iv)load("glProgramUniform2iv"); + fp_glProgramUniform2f = (pfn_glProgramUniform2f)load("glProgramUniform2f"); + fp_glProgramUniform2fv = (pfn_glProgramUniform2fv)load("glProgramUniform2fv"); + fp_glProgramUniform2d = (pfn_glProgramUniform2d)load("glProgramUniform2d"); + fp_glProgramUniform2dv = (pfn_glProgramUniform2dv)load("glProgramUniform2dv"); + fp_glProgramUniform2ui = (pfn_glProgramUniform2ui)load("glProgramUniform2ui"); + fp_glProgramUniform2uiv = (pfn_glProgramUniform2uiv)load("glProgramUniform2uiv"); + fp_glProgramUniform3i = (pfn_glProgramUniform3i)load("glProgramUniform3i"); + fp_glProgramUniform3iv = (pfn_glProgramUniform3iv)load("glProgramUniform3iv"); + fp_glProgramUniform3f = (pfn_glProgramUniform3f)load("glProgramUniform3f"); + fp_glProgramUniform3fv = (pfn_glProgramUniform3fv)load("glProgramUniform3fv"); + fp_glProgramUniform3d = (pfn_glProgramUniform3d)load("glProgramUniform3d"); + fp_glProgramUniform3dv = (pfn_glProgramUniform3dv)load("glProgramUniform3dv"); + fp_glProgramUniform3ui = (pfn_glProgramUniform3ui)load("glProgramUniform3ui"); + fp_glProgramUniform3uiv = (pfn_glProgramUniform3uiv)load("glProgramUniform3uiv"); + fp_glProgramUniform4i = (pfn_glProgramUniform4i)load("glProgramUniform4i"); + fp_glProgramUniform4iv = (pfn_glProgramUniform4iv)load("glProgramUniform4iv"); + fp_glProgramUniform4f = (pfn_glProgramUniform4f)load("glProgramUniform4f"); + fp_glProgramUniform4fv = (pfn_glProgramUniform4fv)load("glProgramUniform4fv"); + fp_glProgramUniform4d = (pfn_glProgramUniform4d)load("glProgramUniform4d"); + fp_glProgramUniform4dv = (pfn_glProgramUniform4dv)load("glProgramUniform4dv"); + fp_glProgramUniform4ui = (pfn_glProgramUniform4ui)load("glProgramUniform4ui"); + fp_glProgramUniform4uiv = (pfn_glProgramUniform4uiv)load("glProgramUniform4uiv"); + fp_glProgramUniformMatrix2fv = (pfn_glProgramUniformMatrix2fv)load("glProgramUniformMatrix2fv"); + fp_glProgramUniformMatrix3fv = (pfn_glProgramUniformMatrix3fv)load("glProgramUniformMatrix3fv"); + fp_glProgramUniformMatrix4fv = (pfn_glProgramUniformMatrix4fv)load("glProgramUniformMatrix4fv"); + fp_glProgramUniformMatrix2dv = (pfn_glProgramUniformMatrix2dv)load("glProgramUniformMatrix2dv"); + fp_glProgramUniformMatrix3dv = (pfn_glProgramUniformMatrix3dv)load("glProgramUniformMatrix3dv"); + fp_glProgramUniformMatrix4dv = (pfn_glProgramUniformMatrix4dv)load("glProgramUniformMatrix4dv"); + fp_glProgramUniformMatrix2x3fv = (pfn_glProgramUniformMatrix2x3fv)load("glProgramUniformMatrix2x3fv"); + fp_glProgramUniformMatrix3x2fv = (pfn_glProgramUniformMatrix3x2fv)load("glProgramUniformMatrix3x2fv"); + fp_glProgramUniformMatrix2x4fv = (pfn_glProgramUniformMatrix2x4fv)load("glProgramUniformMatrix2x4fv"); + fp_glProgramUniformMatrix4x2fv = (pfn_glProgramUniformMatrix4x2fv)load("glProgramUniformMatrix4x2fv"); + fp_glProgramUniformMatrix3x4fv = (pfn_glProgramUniformMatrix3x4fv)load("glProgramUniformMatrix3x4fv"); + fp_glProgramUniformMatrix4x3fv = (pfn_glProgramUniformMatrix4x3fv)load("glProgramUniformMatrix4x3fv"); + fp_glProgramUniformMatrix2x3dv = (pfn_glProgramUniformMatrix2x3dv)load("glProgramUniformMatrix2x3dv"); + fp_glProgramUniformMatrix3x2dv = (pfn_glProgramUniformMatrix3x2dv)load("glProgramUniformMatrix3x2dv"); + fp_glProgramUniformMatrix2x4dv = (pfn_glProgramUniformMatrix2x4dv)load("glProgramUniformMatrix2x4dv"); + fp_glProgramUniformMatrix4x2dv = (pfn_glProgramUniformMatrix4x2dv)load("glProgramUniformMatrix4x2dv"); + fp_glProgramUniformMatrix3x4dv = (pfn_glProgramUniformMatrix3x4dv)load("glProgramUniformMatrix3x4dv"); + fp_glProgramUniformMatrix4x3dv = (pfn_glProgramUniformMatrix4x3dv)load("glProgramUniformMatrix4x3dv"); + fp_glValidateProgramPipeline = (pfn_glValidateProgramPipeline)load("glValidateProgramPipeline"); + fp_glGetProgramPipelineInfoLog = (pfn_glGetProgramPipelineInfoLog)load("glGetProgramPipelineInfoLog"); + fp_glVertexAttribL1d = (pfn_glVertexAttribL1d)load("glVertexAttribL1d"); + fp_glVertexAttribL2d = (pfn_glVertexAttribL2d)load("glVertexAttribL2d"); + fp_glVertexAttribL3d = (pfn_glVertexAttribL3d)load("glVertexAttribL3d"); + fp_glVertexAttribL4d = (pfn_glVertexAttribL4d)load("glVertexAttribL4d"); + fp_glVertexAttribL1dv = (pfn_glVertexAttribL1dv)load("glVertexAttribL1dv"); + fp_glVertexAttribL2dv = (pfn_glVertexAttribL2dv)load("glVertexAttribL2dv"); + fp_glVertexAttribL3dv = (pfn_glVertexAttribL3dv)load("glVertexAttribL3dv"); + fp_glVertexAttribL4dv = (pfn_glVertexAttribL4dv)load("glVertexAttribL4dv"); + fp_glVertexAttribLPointer = (pfn_glVertexAttribLPointer)load("glVertexAttribLPointer"); + fp_glGetVertexAttribLdv = (pfn_glGetVertexAttribLdv)load("glGetVertexAttribLdv"); + fp_glViewportArrayv = (pfn_glViewportArrayv)load("glViewportArrayv"); + fp_glViewportIndexedf = (pfn_glViewportIndexedf)load("glViewportIndexedf"); + fp_glViewportIndexedfv = (pfn_glViewportIndexedfv)load("glViewportIndexedfv"); + fp_glScissorArrayv = (pfn_glScissorArrayv)load("glScissorArrayv"); + fp_glScissorIndexed = (pfn_glScissorIndexed)load("glScissorIndexed"); + fp_glScissorIndexedv = (pfn_glScissorIndexedv)load("glScissorIndexedv"); + fp_glDepthRangeArrayv = (pfn_glDepthRangeArrayv)load("glDepthRangeArrayv"); + fp_glDepthRangeIndexed = (pfn_glDepthRangeIndexed)load("glDepthRangeIndexed"); + fp_glGetFloati_v = (pfn_glGetFloati_v)load("glGetFloati_v"); + fp_glGetDoublei_v = (pfn_glGetDoublei_v)load("glGetDoublei_v"); +} + +GLboolean GLAD_VERSION_4_2 = GL_FALSE; +static void load_GL_VERSION_4_2(LOADER load) { + if(!GLAD_VERSION_4_2) return; + fp_glDrawArraysInstancedBaseInstance = (pfn_glDrawArraysInstancedBaseInstance)load("glDrawArraysInstancedBaseInstance"); + fp_glDrawElementsInstancedBaseInstance = (pfn_glDrawElementsInstancedBaseInstance)load("glDrawElementsInstancedBaseInstance"); + fp_glDrawElementsInstancedBaseVertexBaseInstance = (pfn_glDrawElementsInstancedBaseVertexBaseInstance)load("glDrawElementsInstancedBaseVertexBaseInstance"); + fp_glGetInternalformativ = (pfn_glGetInternalformativ)load("glGetInternalformativ"); + fp_glGetActiveAtomicCounterBufferiv = (pfn_glGetActiveAtomicCounterBufferiv)load("glGetActiveAtomicCounterBufferiv"); + fp_glBindImageTexture = (pfn_glBindImageTexture)load("glBindImageTexture"); + fp_glMemoryBarrier = (pfn_glMemoryBarrier)load("glMemoryBarrier"); + fp_glTexStorage1D = (pfn_glTexStorage1D)load("glTexStorage1D"); + fp_glTexStorage2D = (pfn_glTexStorage2D)load("glTexStorage2D"); + fp_glTexStorage3D = (pfn_glTexStorage3D)load("glTexStorage3D"); + fp_glDrawTransformFeedbackInstanced = (pfn_glDrawTransformFeedbackInstanced)load("glDrawTransformFeedbackInstanced"); + fp_glDrawTransformFeedbackStreamInstanced = (pfn_glDrawTransformFeedbackStreamInstanced)load("glDrawTransformFeedbackStreamInstanced"); +} + +GLboolean GLAD_VERSION_4_3 = GL_FALSE; +static void load_GL_VERSION_4_3(LOADER load) { + if(!GLAD_VERSION_4_3) return; + fp_glClearBufferData = (pfn_glClearBufferData)load("glClearBufferData"); + fp_glClearBufferSubData = (pfn_glClearBufferSubData)load("glClearBufferSubData"); + fp_glDispatchCompute = (pfn_glDispatchCompute)load("glDispatchCompute"); + fp_glDispatchComputeIndirect = (pfn_glDispatchComputeIndirect)load("glDispatchComputeIndirect"); + fp_glCopyImageSubData = (pfn_glCopyImageSubData)load("glCopyImageSubData"); + fp_glFramebufferParameteri = (pfn_glFramebufferParameteri)load("glFramebufferParameteri"); + fp_glGetFramebufferParameteriv = (pfn_glGetFramebufferParameteriv)load("glGetFramebufferParameteriv"); + fp_glGetInternalformati64v = (pfn_glGetInternalformati64v)load("glGetInternalformati64v"); + fp_glInvalidateTexSubImage = (pfn_glInvalidateTexSubImage)load("glInvalidateTexSubImage"); + fp_glInvalidateTexImage = (pfn_glInvalidateTexImage)load("glInvalidateTexImage"); + fp_glInvalidateBufferSubData = (pfn_glInvalidateBufferSubData)load("glInvalidateBufferSubData"); + fp_glInvalidateBufferData = (pfn_glInvalidateBufferData)load("glInvalidateBufferData"); + fp_glInvalidateFramebuffer = (pfn_glInvalidateFramebuffer)load("glInvalidateFramebuffer"); + fp_glInvalidateSubFramebuffer = (pfn_glInvalidateSubFramebuffer)load("glInvalidateSubFramebuffer"); + fp_glMultiDrawArraysIndirect = (pfn_glMultiDrawArraysIndirect)load("glMultiDrawArraysIndirect"); + fp_glMultiDrawElementsIndirect = (pfn_glMultiDrawElementsIndirect)load("glMultiDrawElementsIndirect"); + fp_glGetProgramInterfaceiv = (pfn_glGetProgramInterfaceiv)load("glGetProgramInterfaceiv"); + fp_glGetProgramResourceIndex = (pfn_glGetProgramResourceIndex)load("glGetProgramResourceIndex"); + fp_glGetProgramResourceName = (pfn_glGetProgramResourceName)load("glGetProgramResourceName"); + fp_glGetProgramResourceiv = (pfn_glGetProgramResourceiv)load("glGetProgramResourceiv"); + fp_glGetProgramResourceLocation = (pfn_glGetProgramResourceLocation)load("glGetProgramResourceLocation"); + fp_glGetProgramResourceLocationIndex = (pfn_glGetProgramResourceLocationIndex)load("glGetProgramResourceLocationIndex"); + fp_glShaderStorageBlockBinding = (pfn_glShaderStorageBlockBinding)load("glShaderStorageBlockBinding"); + fp_glTexBufferRange = (pfn_glTexBufferRange)load("glTexBufferRange"); + fp_glTexStorage2DMultisample = (pfn_glTexStorage2DMultisample)load("glTexStorage2DMultisample"); + fp_glTexStorage3DMultisample = (pfn_glTexStorage3DMultisample)load("glTexStorage3DMultisample"); + fp_glTextureView = (pfn_glTextureView)load("glTextureView"); + fp_glBindVertexBuffer = (pfn_glBindVertexBuffer)load("glBindVertexBuffer"); + fp_glVertexAttribFormat = (pfn_glVertexAttribFormat)load("glVertexAttribFormat"); + fp_glVertexAttribIFormat = (pfn_glVertexAttribIFormat)load("glVertexAttribIFormat"); + fp_glVertexAttribLFormat = (pfn_glVertexAttribLFormat)load("glVertexAttribLFormat"); + fp_glVertexAttribBinding = (pfn_glVertexAttribBinding)load("glVertexAttribBinding"); + fp_glVertexBindingDivisor = (pfn_glVertexBindingDivisor)load("glVertexBindingDivisor"); + fp_glDebugMessageControl = (pfn_glDebugMessageControl)load("glDebugMessageControl"); + fp_glDebugMessageInsert = (pfn_glDebugMessageInsert)load("glDebugMessageInsert"); + fp_glDebugMessageCallback = (pfn_glDebugMessageCallback)load("glDebugMessageCallback"); + fp_glGetDebugMessageLog = (pfn_glGetDebugMessageLog)load("glGetDebugMessageLog"); + fp_glPushDebugGroup = (pfn_glPushDebugGroup)load("glPushDebugGroup"); + fp_glPopDebugGroup = (pfn_glPopDebugGroup)load("glPopDebugGroup"); + fp_glObjectLabel = (pfn_glObjectLabel)load("glObjectLabel"); + fp_glGetObjectLabel = (pfn_glGetObjectLabel)load("glGetObjectLabel"); + fp_glObjectPtrLabel = (pfn_glObjectPtrLabel)load("glObjectPtrLabel"); + fp_glGetObjectPtrLabel = (pfn_glGetObjectPtrLabel)load("glGetObjectPtrLabel"); + fp_glGetPointerv = (pfn_glGetPointerv)load("glGetPointerv"); + fp_glGetPointerv = (pfn_glGetPointerv)load("glGetPointerv"); +} + +GLboolean GLAD_VERSION_4_4 = GL_FALSE; +static void load_GL_VERSION_4_4(LOADER load) { + if(!GLAD_VERSION_4_4) return; + fp_glBufferStorage = (pfn_glBufferStorage)load("glBufferStorage"); + fp_glClearTexImage = (pfn_glClearTexImage)load("glClearTexImage"); + fp_glClearTexSubImage = (pfn_glClearTexSubImage)load("glClearTexSubImage"); + fp_glBindBuffersBase = (pfn_glBindBuffersBase)load("glBindBuffersBase"); + fp_glBindBuffersRange = (pfn_glBindBuffersRange)load("glBindBuffersRange"); + fp_glBindTextures = (pfn_glBindTextures)load("glBindTextures"); + fp_glBindSamplers = (pfn_glBindSamplers)load("glBindSamplers"); + fp_glBindImageTextures = (pfn_glBindImageTextures)load("glBindImageTextures"); + fp_glBindVertexBuffers = (pfn_glBindVertexBuffers)load("glBindVertexBuffers"); +} + +GLboolean GLAD_VERSION_4_5 = GL_FALSE; +static void load_GL_VERSION_4_5(LOADER load) { + if(!GLAD_VERSION_4_5) return; + fp_glClipControl = (pfn_glClipControl)load("glClipControl"); + fp_glCreateTransformFeedbacks = (pfn_glCreateTransformFeedbacks)load("glCreateTransformFeedbacks"); + fp_glTransformFeedbackBufferBase = (pfn_glTransformFeedbackBufferBase)load("glTransformFeedbackBufferBase"); + fp_glTransformFeedbackBufferRange = (pfn_glTransformFeedbackBufferRange)load("glTransformFeedbackBufferRange"); + fp_glGetTransformFeedbackiv = (pfn_glGetTransformFeedbackiv)load("glGetTransformFeedbackiv"); + fp_glGetTransformFeedbacki_v = (pfn_glGetTransformFeedbacki_v)load("glGetTransformFeedbacki_v"); + fp_glGetTransformFeedbacki64_v = (pfn_glGetTransformFeedbacki64_v)load("glGetTransformFeedbacki64_v"); + fp_glCreateBuffers = (pfn_glCreateBuffers)load("glCreateBuffers"); + fp_glNamedBufferStorage = (pfn_glNamedBufferStorage)load("glNamedBufferStorage"); + fp_glNamedBufferData = (pfn_glNamedBufferData)load("glNamedBufferData"); + fp_glNamedBufferSubData = (pfn_glNamedBufferSubData)load("glNamedBufferSubData"); + fp_glCopyNamedBufferSubData = (pfn_glCopyNamedBufferSubData)load("glCopyNamedBufferSubData"); + fp_glClearNamedBufferData = (pfn_glClearNamedBufferData)load("glClearNamedBufferData"); + fp_glClearNamedBufferSubData = (pfn_glClearNamedBufferSubData)load("glClearNamedBufferSubData"); + fp_glMapNamedBuffer = (pfn_glMapNamedBuffer)load("glMapNamedBuffer"); + fp_glMapNamedBufferRange = (pfn_glMapNamedBufferRange)load("glMapNamedBufferRange"); + fp_glUnmapNamedBuffer = (pfn_glUnmapNamedBuffer)load("glUnmapNamedBuffer"); + fp_glFlushMappedNamedBufferRange = (pfn_glFlushMappedNamedBufferRange)load("glFlushMappedNamedBufferRange"); + fp_glGetNamedBufferParameteriv = (pfn_glGetNamedBufferParameteriv)load("glGetNamedBufferParameteriv"); + fp_glGetNamedBufferParameteri64v = (pfn_glGetNamedBufferParameteri64v)load("glGetNamedBufferParameteri64v"); + fp_glGetNamedBufferPointerv = (pfn_glGetNamedBufferPointerv)load("glGetNamedBufferPointerv"); + fp_glGetNamedBufferSubData = (pfn_glGetNamedBufferSubData)load("glGetNamedBufferSubData"); + fp_glCreateFramebuffers = (pfn_glCreateFramebuffers)load("glCreateFramebuffers"); + fp_glNamedFramebufferRenderbuffer = (pfn_glNamedFramebufferRenderbuffer)load("glNamedFramebufferRenderbuffer"); + fp_glNamedFramebufferParameteri = (pfn_glNamedFramebufferParameteri)load("glNamedFramebufferParameteri"); + fp_glNamedFramebufferTexture = (pfn_glNamedFramebufferTexture)load("glNamedFramebufferTexture"); + fp_glNamedFramebufferTextureLayer = (pfn_glNamedFramebufferTextureLayer)load("glNamedFramebufferTextureLayer"); + fp_glNamedFramebufferDrawBuffer = (pfn_glNamedFramebufferDrawBuffer)load("glNamedFramebufferDrawBuffer"); + fp_glNamedFramebufferDrawBuffers = (pfn_glNamedFramebufferDrawBuffers)load("glNamedFramebufferDrawBuffers"); + fp_glNamedFramebufferReadBuffer = (pfn_glNamedFramebufferReadBuffer)load("glNamedFramebufferReadBuffer"); + fp_glInvalidateNamedFramebufferData = (pfn_glInvalidateNamedFramebufferData)load("glInvalidateNamedFramebufferData"); + fp_glInvalidateNamedFramebufferSubData = (pfn_glInvalidateNamedFramebufferSubData)load("glInvalidateNamedFramebufferSubData"); + fp_glClearNamedFramebufferiv = (pfn_glClearNamedFramebufferiv)load("glClearNamedFramebufferiv"); + fp_glClearNamedFramebufferuiv = (pfn_glClearNamedFramebufferuiv)load("glClearNamedFramebufferuiv"); + fp_glClearNamedFramebufferfv = (pfn_glClearNamedFramebufferfv)load("glClearNamedFramebufferfv"); + fp_glClearNamedFramebufferfi = (pfn_glClearNamedFramebufferfi)load("glClearNamedFramebufferfi"); + fp_glBlitNamedFramebuffer = (pfn_glBlitNamedFramebuffer)load("glBlitNamedFramebuffer"); + fp_glCheckNamedFramebufferStatus = (pfn_glCheckNamedFramebufferStatus)load("glCheckNamedFramebufferStatus"); + fp_glGetNamedFramebufferParameteriv = (pfn_glGetNamedFramebufferParameteriv)load("glGetNamedFramebufferParameteriv"); + fp_glGetNamedFramebufferAttachmentParameteriv = (pfn_glGetNamedFramebufferAttachmentParameteriv)load("glGetNamedFramebufferAttachmentParameteriv"); + fp_glCreateRenderbuffers = (pfn_glCreateRenderbuffers)load("glCreateRenderbuffers"); + fp_glNamedRenderbufferStorage = (pfn_glNamedRenderbufferStorage)load("glNamedRenderbufferStorage"); + fp_glNamedRenderbufferStorageMultisample = (pfn_glNamedRenderbufferStorageMultisample)load("glNamedRenderbufferStorageMultisample"); + fp_glGetNamedRenderbufferParameteriv = (pfn_glGetNamedRenderbufferParameteriv)load("glGetNamedRenderbufferParameteriv"); + fp_glCreateTextures = (pfn_glCreateTextures)load("glCreateTextures"); + fp_glTextureBuffer = (pfn_glTextureBuffer)load("glTextureBuffer"); + fp_glTextureBufferRange = (pfn_glTextureBufferRange)load("glTextureBufferRange"); + fp_glTextureStorage1D = (pfn_glTextureStorage1D)load("glTextureStorage1D"); + fp_glTextureStorage2D = (pfn_glTextureStorage2D)load("glTextureStorage2D"); + fp_glTextureStorage3D = (pfn_glTextureStorage3D)load("glTextureStorage3D"); + fp_glTextureStorage2DMultisample = (pfn_glTextureStorage2DMultisample)load("glTextureStorage2DMultisample"); + fp_glTextureStorage3DMultisample = (pfn_glTextureStorage3DMultisample)load("glTextureStorage3DMultisample"); + fp_glTextureSubImage1D = (pfn_glTextureSubImage1D)load("glTextureSubImage1D"); + fp_glTextureSubImage2D = (pfn_glTextureSubImage2D)load("glTextureSubImage2D"); + fp_glTextureSubImage3D = (pfn_glTextureSubImage3D)load("glTextureSubImage3D"); + fp_glCompressedTextureSubImage1D = (pfn_glCompressedTextureSubImage1D)load("glCompressedTextureSubImage1D"); + fp_glCompressedTextureSubImage2D = (pfn_glCompressedTextureSubImage2D)load("glCompressedTextureSubImage2D"); + fp_glCompressedTextureSubImage3D = (pfn_glCompressedTextureSubImage3D)load("glCompressedTextureSubImage3D"); + fp_glCopyTextureSubImage1D = (pfn_glCopyTextureSubImage1D)load("glCopyTextureSubImage1D"); + fp_glCopyTextureSubImage2D = (pfn_glCopyTextureSubImage2D)load("glCopyTextureSubImage2D"); + fp_glCopyTextureSubImage3D = (pfn_glCopyTextureSubImage3D)load("glCopyTextureSubImage3D"); + fp_glTextureParameterf = (pfn_glTextureParameterf)load("glTextureParameterf"); + fp_glTextureParameterfv = (pfn_glTextureParameterfv)load("glTextureParameterfv"); + fp_glTextureParameteri = (pfn_glTextureParameteri)load("glTextureParameteri"); + fp_glTextureParameterIiv = (pfn_glTextureParameterIiv)load("glTextureParameterIiv"); + fp_glTextureParameterIuiv = (pfn_glTextureParameterIuiv)load("glTextureParameterIuiv"); + fp_glTextureParameteriv = (pfn_glTextureParameteriv)load("glTextureParameteriv"); + fp_glGenerateTextureMipmap = (pfn_glGenerateTextureMipmap)load("glGenerateTextureMipmap"); + fp_glBindTextureUnit = (pfn_glBindTextureUnit)load("glBindTextureUnit"); + fp_glGetTextureImage = (pfn_glGetTextureImage)load("glGetTextureImage"); + fp_glGetCompressedTextureImage = (pfn_glGetCompressedTextureImage)load("glGetCompressedTextureImage"); + fp_glGetTextureLevelParameterfv = (pfn_glGetTextureLevelParameterfv)load("glGetTextureLevelParameterfv"); + fp_glGetTextureLevelParameteriv = (pfn_glGetTextureLevelParameteriv)load("glGetTextureLevelParameteriv"); + fp_glGetTextureParameterfv = (pfn_glGetTextureParameterfv)load("glGetTextureParameterfv"); + fp_glGetTextureParameterIiv = (pfn_glGetTextureParameterIiv)load("glGetTextureParameterIiv"); + fp_glGetTextureParameterIuiv = (pfn_glGetTextureParameterIuiv)load("glGetTextureParameterIuiv"); + fp_glGetTextureParameteriv = (pfn_glGetTextureParameteriv)load("glGetTextureParameteriv"); + fp_glCreateVertexArrays = (pfn_glCreateVertexArrays)load("glCreateVertexArrays"); + fp_glDisableVertexArrayAttrib = (pfn_glDisableVertexArrayAttrib)load("glDisableVertexArrayAttrib"); + fp_glEnableVertexArrayAttrib = (pfn_glEnableVertexArrayAttrib)load("glEnableVertexArrayAttrib"); + fp_glVertexArrayElementBuffer = (pfn_glVertexArrayElementBuffer)load("glVertexArrayElementBuffer"); + fp_glVertexArrayVertexBuffer = (pfn_glVertexArrayVertexBuffer)load("glVertexArrayVertexBuffer"); + fp_glVertexArrayVertexBuffers = (pfn_glVertexArrayVertexBuffers)load("glVertexArrayVertexBuffers"); + fp_glVertexArrayAttribBinding = (pfn_glVertexArrayAttribBinding)load("glVertexArrayAttribBinding"); + fp_glVertexArrayAttribFormat = (pfn_glVertexArrayAttribFormat)load("glVertexArrayAttribFormat"); + fp_glVertexArrayAttribIFormat = (pfn_glVertexArrayAttribIFormat)load("glVertexArrayAttribIFormat"); + fp_glVertexArrayAttribLFormat = (pfn_glVertexArrayAttribLFormat)load("glVertexArrayAttribLFormat"); + fp_glVertexArrayBindingDivisor = (pfn_glVertexArrayBindingDivisor)load("glVertexArrayBindingDivisor"); + fp_glGetVertexArrayiv = (pfn_glGetVertexArrayiv)load("glGetVertexArrayiv"); + fp_glGetVertexArrayIndexediv = (pfn_glGetVertexArrayIndexediv)load("glGetVertexArrayIndexediv"); + fp_glGetVertexArrayIndexed64iv = (pfn_glGetVertexArrayIndexed64iv)load("glGetVertexArrayIndexed64iv"); + fp_glCreateSamplers = (pfn_glCreateSamplers)load("glCreateSamplers"); + fp_glCreateProgramPipelines = (pfn_glCreateProgramPipelines)load("glCreateProgramPipelines"); + fp_glCreateQueries = (pfn_glCreateQueries)load("glCreateQueries"); + fp_glMemoryBarrierByRegion = (pfn_glMemoryBarrierByRegion)load("glMemoryBarrierByRegion"); + fp_glGetTextureSubImage = (pfn_glGetTextureSubImage)load("glGetTextureSubImage"); + fp_glGetCompressedTextureSubImage = (pfn_glGetCompressedTextureSubImage)load("glGetCompressedTextureSubImage"); + fp_glGetGraphicsResetStatus = (pfn_glGetGraphicsResetStatus)load("glGetGraphicsResetStatus"); + fp_glGetnCompressedTexImage = (pfn_glGetnCompressedTexImage)load("glGetnCompressedTexImage"); + fp_glGetnTexImage = (pfn_glGetnTexImage)load("glGetnTexImage"); + fp_glGetnUniformdv = (pfn_glGetnUniformdv)load("glGetnUniformdv"); + fp_glGetnUniformfv = (pfn_glGetnUniformfv)load("glGetnUniformfv"); + fp_glGetnUniformiv = (pfn_glGetnUniformiv)load("glGetnUniformiv"); + fp_glGetnUniformuiv = (pfn_glGetnUniformuiv)load("glGetnUniformuiv"); + fp_glReadnPixels = (pfn_glReadnPixels)load("glReadnPixels"); + fp_glGetnMapdv = (pfn_glGetnMapdv)load("glGetnMapdv"); + fp_glGetnMapfv = (pfn_glGetnMapfv)load("glGetnMapfv"); + fp_glGetnMapiv = (pfn_glGetnMapiv)load("glGetnMapiv"); + fp_glGetnPixelMapfv = (pfn_glGetnPixelMapfv)load("glGetnPixelMapfv"); + fp_glGetnPixelMapuiv = (pfn_glGetnPixelMapuiv)load("glGetnPixelMapuiv"); + fp_glGetnPixelMapusv = (pfn_glGetnPixelMapusv)load("glGetnPixelMapusv"); + fp_glGetnPolygonStipple = (pfn_glGetnPolygonStipple)load("glGetnPolygonStipple"); + fp_glGetnColorTable = (pfn_glGetnColorTable)load("glGetnColorTable"); + fp_glGetnConvolutionFilter = (pfn_glGetnConvolutionFilter)load("glGetnConvolutionFilter"); + fp_glGetnSeparableFilter = (pfn_glGetnSeparableFilter)load("glGetnSeparableFilter"); + fp_glGetnHistogram = (pfn_glGetnHistogram)load("glGetnHistogram"); + fp_glGetnMinmax = (pfn_glGetnMinmax)load("glGetnMinmax"); + fp_glTextureBarrier = (pfn_glTextureBarrier)load("glTextureBarrier"); +} + +GLboolean GLAD_ES_VERSION_2_0 = GL_FALSE; +static void load_GL_ES_VERSION_2_0(LOADER load) { + if(!GLAD_ES_VERSION_2_0) return; + fp_glActiveTexture = (pfn_glActiveTexture)load("glActiveTexture"); + fp_glAttachShader = (pfn_glAttachShader)load("glAttachShader"); + fp_glBindAttribLocation = (pfn_glBindAttribLocation)load("glBindAttribLocation"); + fp_glBindBuffer = (pfn_glBindBuffer)load("glBindBuffer"); + fp_glBindFramebuffer = (pfn_glBindFramebuffer)load("glBindFramebuffer"); + fp_glBindRenderbuffer = (pfn_glBindRenderbuffer)load("glBindRenderbuffer"); + fp_glBindTexture = (pfn_glBindTexture)load("glBindTexture"); + fp_glBlendColor = (pfn_glBlendColor)load("glBlendColor"); + fp_glBlendEquation = (pfn_glBlendEquation)load("glBlendEquation"); + fp_glBlendEquationSeparate = (pfn_glBlendEquationSeparate)load("glBlendEquationSeparate"); + fp_glBlendFunc = (pfn_glBlendFunc)load("glBlendFunc"); + fp_glBlendFuncSeparate = (pfn_glBlendFuncSeparate)load("glBlendFuncSeparate"); + fp_glBufferData = (pfn_glBufferData)load("glBufferData"); + fp_glBufferSubData = (pfn_glBufferSubData)load("glBufferSubData"); + fp_glCheckFramebufferStatus = (pfn_glCheckFramebufferStatus)load("glCheckFramebufferStatus"); + fp_glClear = (pfn_glClear)load("glClear"); + fp_glClearColor = (pfn_glClearColor)load("glClearColor"); + fp_glClearDepthf = (pfn_glClearDepthf)load("glClearDepthf"); + fp_glClearStencil = (pfn_glClearStencil)load("glClearStencil"); + fp_glColorMask = (pfn_glColorMask)load("glColorMask"); + fp_glCompileShader = (pfn_glCompileShader)load("glCompileShader"); + fp_glCompressedTexImage2D = (pfn_glCompressedTexImage2D)load("glCompressedTexImage2D"); + fp_glCompressedTexSubImage2D = (pfn_glCompressedTexSubImage2D)load("glCompressedTexSubImage2D"); + fp_glCopyTexImage2D = (pfn_glCopyTexImage2D)load("glCopyTexImage2D"); + fp_glCopyTexSubImage2D = (pfn_glCopyTexSubImage2D)load("glCopyTexSubImage2D"); + fp_glCreateProgram = (pfn_glCreateProgram)load("glCreateProgram"); + fp_glCreateShader = (pfn_glCreateShader)load("glCreateShader"); + fp_glCullFace = (pfn_glCullFace)load("glCullFace"); + fp_glDeleteBuffers = (pfn_glDeleteBuffers)load("glDeleteBuffers"); + fp_glDeleteFramebuffers = (pfn_glDeleteFramebuffers)load("glDeleteFramebuffers"); + fp_glDeleteProgram = (pfn_glDeleteProgram)load("glDeleteProgram"); + fp_glDeleteRenderbuffers = (pfn_glDeleteRenderbuffers)load("glDeleteRenderbuffers"); + fp_glDeleteShader = (pfn_glDeleteShader)load("glDeleteShader"); + fp_glDeleteTextures = (pfn_glDeleteTextures)load("glDeleteTextures"); + fp_glDepthFunc = (pfn_glDepthFunc)load("glDepthFunc"); + fp_glDepthMask = (pfn_glDepthMask)load("glDepthMask"); + fp_glDepthRangef = (pfn_glDepthRangef)load("glDepthRangef"); + fp_glDetachShader = (pfn_glDetachShader)load("glDetachShader"); + fp_glDisable = (pfn_glDisable)load("glDisable"); + fp_glDisableVertexAttribArray = (pfn_glDisableVertexAttribArray)load("glDisableVertexAttribArray"); + fp_glDrawArrays = (pfn_glDrawArrays)load("glDrawArrays"); + fp_glDrawElements = (pfn_glDrawElements)load("glDrawElements"); + fp_glEnable = (pfn_glEnable)load("glEnable"); + fp_glEnableVertexAttribArray = (pfn_glEnableVertexAttribArray)load("glEnableVertexAttribArray"); + fp_glFinish = (pfn_glFinish)load("glFinish"); + fp_glFlush = (pfn_glFlush)load("glFlush"); + fp_glFramebufferRenderbuffer = (pfn_glFramebufferRenderbuffer)load("glFramebufferRenderbuffer"); + fp_glFramebufferTexture2D = (pfn_glFramebufferTexture2D)load("glFramebufferTexture2D"); + fp_glFrontFace = (pfn_glFrontFace)load("glFrontFace"); + fp_glGenBuffers = (pfn_glGenBuffers)load("glGenBuffers"); + fp_glGenerateMipmap = (pfn_glGenerateMipmap)load("glGenerateMipmap"); + fp_glGenFramebuffers = (pfn_glGenFramebuffers)load("glGenFramebuffers"); + fp_glGenRenderbuffers = (pfn_glGenRenderbuffers)load("glGenRenderbuffers"); + fp_glGenTextures = (pfn_glGenTextures)load("glGenTextures"); + fp_glGetActiveAttrib = (pfn_glGetActiveAttrib)load("glGetActiveAttrib"); + fp_glGetActiveUniform = (pfn_glGetActiveUniform)load("glGetActiveUniform"); + fp_glGetAttachedShaders = (pfn_glGetAttachedShaders)load("glGetAttachedShaders"); + fp_glGetAttribLocation = (pfn_glGetAttribLocation)load("glGetAttribLocation"); + fp_glGetBooleanv = (pfn_glGetBooleanv)load("glGetBooleanv"); + fp_glGetBufferParameteriv = (pfn_glGetBufferParameteriv)load("glGetBufferParameteriv"); + fp_glGetError = (pfn_glGetError)load("glGetError"); + fp_glGetFloatv = (pfn_glGetFloatv)load("glGetFloatv"); + fp_glGetFramebufferAttachmentParameteriv = (pfn_glGetFramebufferAttachmentParameteriv)load("glGetFramebufferAttachmentParameteriv"); + fp_glGetIntegerv = (pfn_glGetIntegerv)load("glGetIntegerv"); + fp_glGetProgramiv = (pfn_glGetProgramiv)load("glGetProgramiv"); + fp_glGetProgramInfoLog = (pfn_glGetProgramInfoLog)load("glGetProgramInfoLog"); + fp_glGetRenderbufferParameteriv = (pfn_glGetRenderbufferParameteriv)load("glGetRenderbufferParameteriv"); + fp_glGetShaderiv = (pfn_glGetShaderiv)load("glGetShaderiv"); + fp_glGetShaderInfoLog = (pfn_glGetShaderInfoLog)load("glGetShaderInfoLog"); + fp_glGetShaderPrecisionFormat = (pfn_glGetShaderPrecisionFormat)load("glGetShaderPrecisionFormat"); + fp_glGetShaderSource = (pfn_glGetShaderSource)load("glGetShaderSource"); + fp_glGetString = (pfn_glGetString)load("glGetString"); + fp_glGetTexParameterfv = (pfn_glGetTexParameterfv)load("glGetTexParameterfv"); + fp_glGetTexParameteriv = (pfn_glGetTexParameteriv)load("glGetTexParameteriv"); + fp_glGetUniformfv = (pfn_glGetUniformfv)load("glGetUniformfv"); + fp_glGetUniformiv = (pfn_glGetUniformiv)load("glGetUniformiv"); + fp_glGetUniformLocation = (pfn_glGetUniformLocation)load("glGetUniformLocation"); + fp_glGetVertexAttribfv = (pfn_glGetVertexAttribfv)load("glGetVertexAttribfv"); + fp_glGetVertexAttribiv = (pfn_glGetVertexAttribiv)load("glGetVertexAttribiv"); + fp_glGetVertexAttribPointerv = (pfn_glGetVertexAttribPointerv)load("glGetVertexAttribPointerv"); + fp_glHint = (pfn_glHint)load("glHint"); + fp_glIsBuffer = (pfn_glIsBuffer)load("glIsBuffer"); + fp_glIsEnabled = (pfn_glIsEnabled)load("glIsEnabled"); + fp_glIsFramebuffer = (pfn_glIsFramebuffer)load("glIsFramebuffer"); + fp_glIsProgram = (pfn_glIsProgram)load("glIsProgram"); + fp_glIsRenderbuffer = (pfn_glIsRenderbuffer)load("glIsRenderbuffer"); + fp_glIsShader = (pfn_glIsShader)load("glIsShader"); + fp_glIsTexture = (pfn_glIsTexture)load("glIsTexture"); + fp_glLineWidth = (pfn_glLineWidth)load("glLineWidth"); + fp_glLinkProgram = (pfn_glLinkProgram)load("glLinkProgram"); + fp_glPixelStorei = (pfn_glPixelStorei)load("glPixelStorei"); + fp_glPolygonOffset = (pfn_glPolygonOffset)load("glPolygonOffset"); + fp_glReadPixels = (pfn_glReadPixels)load("glReadPixels"); + fp_glReleaseShaderCompiler = (pfn_glReleaseShaderCompiler)load("glReleaseShaderCompiler"); + fp_glRenderbufferStorage = (pfn_glRenderbufferStorage)load("glRenderbufferStorage"); + fp_glSampleCoverage = (pfn_glSampleCoverage)load("glSampleCoverage"); + fp_glScissor = (pfn_glScissor)load("glScissor"); + fp_glShaderBinary = (pfn_glShaderBinary)load("glShaderBinary"); + fp_glShaderSource = (pfn_glShaderSource)load("glShaderSource"); + fp_glStencilFunc = (pfn_glStencilFunc)load("glStencilFunc"); + fp_glStencilFuncSeparate = (pfn_glStencilFuncSeparate)load("glStencilFuncSeparate"); + fp_glStencilMask = (pfn_glStencilMask)load("glStencilMask"); + fp_glStencilMaskSeparate = (pfn_glStencilMaskSeparate)load("glStencilMaskSeparate"); + fp_glStencilOp = (pfn_glStencilOp)load("glStencilOp"); + fp_glStencilOpSeparate = (pfn_glStencilOpSeparate)load("glStencilOpSeparate"); + fp_glTexImage2D = (pfn_glTexImage2D)load("glTexImage2D"); + fp_glTexParameterf = (pfn_glTexParameterf)load("glTexParameterf"); + fp_glTexParameterfv = (pfn_glTexParameterfv)load("glTexParameterfv"); + fp_glTexParameteri = (pfn_glTexParameteri)load("glTexParameteri"); + fp_glTexParameteriv = (pfn_glTexParameteriv)load("glTexParameteriv"); + fp_glTexSubImage2D = (pfn_glTexSubImage2D)load("glTexSubImage2D"); + fp_glUniform1f = (pfn_glUniform1f)load("glUniform1f"); + fp_glUniform1fv = (pfn_glUniform1fv)load("glUniform1fv"); + fp_glUniform1i = (pfn_glUniform1i)load("glUniform1i"); + fp_glUniform1iv = (pfn_glUniform1iv)load("glUniform1iv"); + fp_glUniform2f = (pfn_glUniform2f)load("glUniform2f"); + fp_glUniform2fv = (pfn_glUniform2fv)load("glUniform2fv"); + fp_glUniform2i = (pfn_glUniform2i)load("glUniform2i"); + fp_glUniform2iv = (pfn_glUniform2iv)load("glUniform2iv"); + fp_glUniform3f = (pfn_glUniform3f)load("glUniform3f"); + fp_glUniform3fv = (pfn_glUniform3fv)load("glUniform3fv"); + fp_glUniform3i = (pfn_glUniform3i)load("glUniform3i"); + fp_glUniform3iv = (pfn_glUniform3iv)load("glUniform3iv"); + fp_glUniform4f = (pfn_glUniform4f)load("glUniform4f"); + fp_glUniform4fv = (pfn_glUniform4fv)load("glUniform4fv"); + fp_glUniform4i = (pfn_glUniform4i)load("glUniform4i"); + fp_glUniform4iv = (pfn_glUniform4iv)load("glUniform4iv"); + fp_glUniformMatrix2fv = (pfn_glUniformMatrix2fv)load("glUniformMatrix2fv"); + fp_glUniformMatrix3fv = (pfn_glUniformMatrix3fv)load("glUniformMatrix3fv"); + fp_glUniformMatrix4fv = (pfn_glUniformMatrix4fv)load("glUniformMatrix4fv"); + fp_glUseProgram = (pfn_glUseProgram)load("glUseProgram"); + fp_glValidateProgram = (pfn_glValidateProgram)load("glValidateProgram"); + fp_glVertexAttrib1f = (pfn_glVertexAttrib1f)load("glVertexAttrib1f"); + fp_glVertexAttrib1fv = (pfn_glVertexAttrib1fv)load("glVertexAttrib1fv"); + fp_glVertexAttrib2f = (pfn_glVertexAttrib2f)load("glVertexAttrib2f"); + fp_glVertexAttrib2fv = (pfn_glVertexAttrib2fv)load("glVertexAttrib2fv"); + fp_glVertexAttrib3f = (pfn_glVertexAttrib3f)load("glVertexAttrib3f"); + fp_glVertexAttrib3fv = (pfn_glVertexAttrib3fv)load("glVertexAttrib3fv"); + fp_glVertexAttrib4f = (pfn_glVertexAttrib4f)load("glVertexAttrib4f"); + fp_glVertexAttrib4fv = (pfn_glVertexAttrib4fv)load("glVertexAttrib4fv"); + fp_glVertexAttribPointer = (pfn_glVertexAttribPointer)load("glVertexAttribPointer"); + fp_glViewport = (pfn_glViewport)load("glViewport"); +} + +GLboolean GLAD_ES_VERSION_3_0 = GL_FALSE; +static void load_GL_ES_VERSION_3_0(LOADER load) { + if(!GLAD_ES_VERSION_3_0) return; + fp_glReadBuffer = (pfn_glReadBuffer)load("glReadBuffer"); + fp_glDrawRangeElements = (pfn_glDrawRangeElements)load("glDrawRangeElements"); + fp_glTexImage3D = (pfn_glTexImage3D)load("glTexImage3D"); + fp_glTexSubImage3D = (pfn_glTexSubImage3D)load("glTexSubImage3D"); + fp_glCopyTexSubImage3D = (pfn_glCopyTexSubImage3D)load("glCopyTexSubImage3D"); + fp_glCompressedTexImage3D = (pfn_glCompressedTexImage3D)load("glCompressedTexImage3D"); + fp_glCompressedTexSubImage3D = (pfn_glCompressedTexSubImage3D)load("glCompressedTexSubImage3D"); + fp_glGenQueries = (pfn_glGenQueries)load("glGenQueries"); + fp_glDeleteQueries = (pfn_glDeleteQueries)load("glDeleteQueries"); + fp_glIsQuery = (pfn_glIsQuery)load("glIsQuery"); + fp_glBeginQuery = (pfn_glBeginQuery)load("glBeginQuery"); + fp_glEndQuery = (pfn_glEndQuery)load("glEndQuery"); + fp_glGetQueryiv = (pfn_glGetQueryiv)load("glGetQueryiv"); + fp_glGetQueryObjectuiv = (pfn_glGetQueryObjectuiv)load("glGetQueryObjectuiv"); + fp_glUnmapBuffer = (pfn_glUnmapBuffer)load("glUnmapBuffer"); + fp_glGetBufferPointerv = (pfn_glGetBufferPointerv)load("glGetBufferPointerv"); + fp_glDrawBuffers = (pfn_glDrawBuffers)load("glDrawBuffers"); + fp_glUniformMatrix2x3fv = (pfn_glUniformMatrix2x3fv)load("glUniformMatrix2x3fv"); + fp_glUniformMatrix3x2fv = (pfn_glUniformMatrix3x2fv)load("glUniformMatrix3x2fv"); + fp_glUniformMatrix2x4fv = (pfn_glUniformMatrix2x4fv)load("glUniformMatrix2x4fv"); + fp_glUniformMatrix4x2fv = (pfn_glUniformMatrix4x2fv)load("glUniformMatrix4x2fv"); + fp_glUniformMatrix3x4fv = (pfn_glUniformMatrix3x4fv)load("glUniformMatrix3x4fv"); + fp_glUniformMatrix4x3fv = (pfn_glUniformMatrix4x3fv)load("glUniformMatrix4x3fv"); + fp_glBlitFramebuffer = (pfn_glBlitFramebuffer)load("glBlitFramebuffer"); + fp_glRenderbufferStorageMultisample = (pfn_glRenderbufferStorageMultisample)load("glRenderbufferStorageMultisample"); + fp_glFramebufferTextureLayer = (pfn_glFramebufferTextureLayer)load("glFramebufferTextureLayer"); + fp_glMapBufferRange = (pfn_glMapBufferRange)load("glMapBufferRange"); + fp_glFlushMappedBufferRange = (pfn_glFlushMappedBufferRange)load("glFlushMappedBufferRange"); + fp_glBindVertexArray = (pfn_glBindVertexArray)load("glBindVertexArray"); + fp_glDeleteVertexArrays = (pfn_glDeleteVertexArrays)load("glDeleteVertexArrays"); + fp_glGenVertexArrays = (pfn_glGenVertexArrays)load("glGenVertexArrays"); + fp_glIsVertexArray = (pfn_glIsVertexArray)load("glIsVertexArray"); + fp_glGetIntegeri_v = (pfn_glGetIntegeri_v)load("glGetIntegeri_v"); + fp_glBeginTransformFeedback = (pfn_glBeginTransformFeedback)load("glBeginTransformFeedback"); + fp_glEndTransformFeedback = (pfn_glEndTransformFeedback)load("glEndTransformFeedback"); + fp_glBindBufferRange = (pfn_glBindBufferRange)load("glBindBufferRange"); + fp_glBindBufferBase = (pfn_glBindBufferBase)load("glBindBufferBase"); + fp_glTransformFeedbackVaryings = (pfn_glTransformFeedbackVaryings)load("glTransformFeedbackVaryings"); + fp_glGetTransformFeedbackVarying = (pfn_glGetTransformFeedbackVarying)load("glGetTransformFeedbackVarying"); + fp_glVertexAttribIPointer = (pfn_glVertexAttribIPointer)load("glVertexAttribIPointer"); + fp_glGetVertexAttribIiv = (pfn_glGetVertexAttribIiv)load("glGetVertexAttribIiv"); + fp_glGetVertexAttribIuiv = (pfn_glGetVertexAttribIuiv)load("glGetVertexAttribIuiv"); + fp_glVertexAttribI4i = (pfn_glVertexAttribI4i)load("glVertexAttribI4i"); + fp_glVertexAttribI4ui = (pfn_glVertexAttribI4ui)load("glVertexAttribI4ui"); + fp_glVertexAttribI4iv = (pfn_glVertexAttribI4iv)load("glVertexAttribI4iv"); + fp_glVertexAttribI4uiv = (pfn_glVertexAttribI4uiv)load("glVertexAttribI4uiv"); + fp_glGetUniformuiv = (pfn_glGetUniformuiv)load("glGetUniformuiv"); + fp_glGetFragDataLocation = (pfn_glGetFragDataLocation)load("glGetFragDataLocation"); + fp_glUniform1ui = (pfn_glUniform1ui)load("glUniform1ui"); + fp_glUniform2ui = (pfn_glUniform2ui)load("glUniform2ui"); + fp_glUniform3ui = (pfn_glUniform3ui)load("glUniform3ui"); + fp_glUniform4ui = (pfn_glUniform4ui)load("glUniform4ui"); + fp_glUniform1uiv = (pfn_glUniform1uiv)load("glUniform1uiv"); + fp_glUniform2uiv = (pfn_glUniform2uiv)load("glUniform2uiv"); + fp_glUniform3uiv = (pfn_glUniform3uiv)load("glUniform3uiv"); + fp_glUniform4uiv = (pfn_glUniform4uiv)load("glUniform4uiv"); + fp_glClearBufferiv = (pfn_glClearBufferiv)load("glClearBufferiv"); + fp_glClearBufferuiv = (pfn_glClearBufferuiv)load("glClearBufferuiv"); + fp_glClearBufferfv = (pfn_glClearBufferfv)load("glClearBufferfv"); + fp_glClearBufferfi = (pfn_glClearBufferfi)load("glClearBufferfi"); + fp_glGetStringi = (pfn_glGetStringi)load("glGetStringi"); + fp_glCopyBufferSubData = (pfn_glCopyBufferSubData)load("glCopyBufferSubData"); + fp_glGetUniformIndices = (pfn_glGetUniformIndices)load("glGetUniformIndices"); + fp_glGetActiveUniformsiv = (pfn_glGetActiveUniformsiv)load("glGetActiveUniformsiv"); + fp_glGetUniformBlockIndex = (pfn_glGetUniformBlockIndex)load("glGetUniformBlockIndex"); + fp_glGetActiveUniformBlockiv = (pfn_glGetActiveUniformBlockiv)load("glGetActiveUniformBlockiv"); + fp_glGetActiveUniformBlockName = (pfn_glGetActiveUniformBlockName)load("glGetActiveUniformBlockName"); + fp_glUniformBlockBinding = (pfn_glUniformBlockBinding)load("glUniformBlockBinding"); + fp_glDrawArraysInstanced = (pfn_glDrawArraysInstanced)load("glDrawArraysInstanced"); + fp_glDrawElementsInstanced = (pfn_glDrawElementsInstanced)load("glDrawElementsInstanced"); + fp_glFenceSync = (pfn_glFenceSync)load("glFenceSync"); + fp_glIsSync = (pfn_glIsSync)load("glIsSync"); + fp_glDeleteSync = (pfn_glDeleteSync)load("glDeleteSync"); + fp_glClientWaitSync = (pfn_glClientWaitSync)load("glClientWaitSync"); + fp_glWaitSync = (pfn_glWaitSync)load("glWaitSync"); + fp_glGetInteger64v = (pfn_glGetInteger64v)load("glGetInteger64v"); + fp_glGetSynciv = (pfn_glGetSynciv)load("glGetSynciv"); + fp_glGetInteger64i_v = (pfn_glGetInteger64i_v)load("glGetInteger64i_v"); + fp_glGetBufferParameteri64v = (pfn_glGetBufferParameteri64v)load("glGetBufferParameteri64v"); + fp_glGenSamplers = (pfn_glGenSamplers)load("glGenSamplers"); + fp_glDeleteSamplers = (pfn_glDeleteSamplers)load("glDeleteSamplers"); + fp_glIsSampler = (pfn_glIsSampler)load("glIsSampler"); + fp_glBindSampler = (pfn_glBindSampler)load("glBindSampler"); + fp_glSamplerParameteri = (pfn_glSamplerParameteri)load("glSamplerParameteri"); + fp_glSamplerParameteriv = (pfn_glSamplerParameteriv)load("glSamplerParameteriv"); + fp_glSamplerParameterf = (pfn_glSamplerParameterf)load("glSamplerParameterf"); + fp_glSamplerParameterfv = (pfn_glSamplerParameterfv)load("glSamplerParameterfv"); + fp_glGetSamplerParameteriv = (pfn_glGetSamplerParameteriv)load("glGetSamplerParameteriv"); + fp_glGetSamplerParameterfv = (pfn_glGetSamplerParameterfv)load("glGetSamplerParameterfv"); + fp_glVertexAttribDivisor = (pfn_glVertexAttribDivisor)load("glVertexAttribDivisor"); + fp_glBindTransformFeedback = (pfn_glBindTransformFeedback)load("glBindTransformFeedback"); + fp_glDeleteTransformFeedbacks = (pfn_glDeleteTransformFeedbacks)load("glDeleteTransformFeedbacks"); + fp_glGenTransformFeedbacks = (pfn_glGenTransformFeedbacks)load("glGenTransformFeedbacks"); + fp_glIsTransformFeedback = (pfn_glIsTransformFeedback)load("glIsTransformFeedback"); + fp_glPauseTransformFeedback = (pfn_glPauseTransformFeedback)load("glPauseTransformFeedback"); + fp_glResumeTransformFeedback = (pfn_glResumeTransformFeedback)load("glResumeTransformFeedback"); + fp_glGetProgramBinary = (pfn_glGetProgramBinary)load("glGetProgramBinary"); + fp_glProgramBinary = (pfn_glProgramBinary)load("glProgramBinary"); + fp_glProgramParameteri = (pfn_glProgramParameteri)load("glProgramParameteri"); + fp_glInvalidateFramebuffer = (pfn_glInvalidateFramebuffer)load("glInvalidateFramebuffer"); + fp_glInvalidateSubFramebuffer = (pfn_glInvalidateSubFramebuffer)load("glInvalidateSubFramebuffer"); + fp_glTexStorage2D = (pfn_glTexStorage2D)load("glTexStorage2D"); + fp_glTexStorage3D = (pfn_glTexStorage3D)load("glTexStorage3D"); + fp_glGetInternalformativ = (pfn_glGetInternalformativ)load("glGetInternalformativ"); +} + +GLboolean GLAD_ES_VERSION_3_1 = GL_FALSE; +static void load_GL_ES_VERSION_3_1(LOADER load) { + if(!GLAD_ES_VERSION_3_1) return; + fp_glDispatchCompute = (pfn_glDispatchCompute)load("glDispatchCompute"); + fp_glDispatchComputeIndirect = (pfn_glDispatchComputeIndirect)load("glDispatchComputeIndirect"); + fp_glDrawArraysIndirect = (pfn_glDrawArraysIndirect)load("glDrawArraysIndirect"); + fp_glDrawElementsIndirect = (pfn_glDrawElementsIndirect)load("glDrawElementsIndirect"); + fp_glFramebufferParameteri = (pfn_glFramebufferParameteri)load("glFramebufferParameteri"); + fp_glGetFramebufferParameteriv = (pfn_glGetFramebufferParameteriv)load("glGetFramebufferParameteriv"); + fp_glGetProgramInterfaceiv = (pfn_glGetProgramInterfaceiv)load("glGetProgramInterfaceiv"); + fp_glGetProgramResourceIndex = (pfn_glGetProgramResourceIndex)load("glGetProgramResourceIndex"); + fp_glGetProgramResourceName = (pfn_glGetProgramResourceName)load("glGetProgramResourceName"); + fp_glGetProgramResourceiv = (pfn_glGetProgramResourceiv)load("glGetProgramResourceiv"); + fp_glGetProgramResourceLocation = (pfn_glGetProgramResourceLocation)load("glGetProgramResourceLocation"); + fp_glUseProgramStages = (pfn_glUseProgramStages)load("glUseProgramStages"); + fp_glActiveShaderProgram = (pfn_glActiveShaderProgram)load("glActiveShaderProgram"); + fp_glCreateShaderProgramv = (pfn_glCreateShaderProgramv)load("glCreateShaderProgramv"); + fp_glBindProgramPipeline = (pfn_glBindProgramPipeline)load("glBindProgramPipeline"); + fp_glDeleteProgramPipelines = (pfn_glDeleteProgramPipelines)load("glDeleteProgramPipelines"); + fp_glGenProgramPipelines = (pfn_glGenProgramPipelines)load("glGenProgramPipelines"); + fp_glIsProgramPipeline = (pfn_glIsProgramPipeline)load("glIsProgramPipeline"); + fp_glGetProgramPipelineiv = (pfn_glGetProgramPipelineiv)load("glGetProgramPipelineiv"); + fp_glProgramUniform1i = (pfn_glProgramUniform1i)load("glProgramUniform1i"); + fp_glProgramUniform2i = (pfn_glProgramUniform2i)load("glProgramUniform2i"); + fp_glProgramUniform3i = (pfn_glProgramUniform3i)load("glProgramUniform3i"); + fp_glProgramUniform4i = (pfn_glProgramUniform4i)load("glProgramUniform4i"); + fp_glProgramUniform1ui = (pfn_glProgramUniform1ui)load("glProgramUniform1ui"); + fp_glProgramUniform2ui = (pfn_glProgramUniform2ui)load("glProgramUniform2ui"); + fp_glProgramUniform3ui = (pfn_glProgramUniform3ui)load("glProgramUniform3ui"); + fp_glProgramUniform4ui = (pfn_glProgramUniform4ui)load("glProgramUniform4ui"); + fp_glProgramUniform1f = (pfn_glProgramUniform1f)load("glProgramUniform1f"); + fp_glProgramUniform2f = (pfn_glProgramUniform2f)load("glProgramUniform2f"); + fp_glProgramUniform3f = (pfn_glProgramUniform3f)load("glProgramUniform3f"); + fp_glProgramUniform4f = (pfn_glProgramUniform4f)load("glProgramUniform4f"); + fp_glProgramUniform1iv = (pfn_glProgramUniform1iv)load("glProgramUniform1iv"); + fp_glProgramUniform2iv = (pfn_glProgramUniform2iv)load("glProgramUniform2iv"); + fp_glProgramUniform3iv = (pfn_glProgramUniform3iv)load("glProgramUniform3iv"); + fp_glProgramUniform4iv = (pfn_glProgramUniform4iv)load("glProgramUniform4iv"); + fp_glProgramUniform1uiv = (pfn_glProgramUniform1uiv)load("glProgramUniform1uiv"); + fp_glProgramUniform2uiv = (pfn_glProgramUniform2uiv)load("glProgramUniform2uiv"); + fp_glProgramUniform3uiv = (pfn_glProgramUniform3uiv)load("glProgramUniform3uiv"); + fp_glProgramUniform4uiv = (pfn_glProgramUniform4uiv)load("glProgramUniform4uiv"); + fp_glProgramUniform1fv = (pfn_glProgramUniform1fv)load("glProgramUniform1fv"); + fp_glProgramUniform2fv = (pfn_glProgramUniform2fv)load("glProgramUniform2fv"); + fp_glProgramUniform3fv = (pfn_glProgramUniform3fv)load("glProgramUniform3fv"); + fp_glProgramUniform4fv = (pfn_glProgramUniform4fv)load("glProgramUniform4fv"); + fp_glProgramUniformMatrix2fv = (pfn_glProgramUniformMatrix2fv)load("glProgramUniformMatrix2fv"); + fp_glProgramUniformMatrix3fv = (pfn_glProgramUniformMatrix3fv)load("glProgramUniformMatrix3fv"); + fp_glProgramUniformMatrix4fv = (pfn_glProgramUniformMatrix4fv)load("glProgramUniformMatrix4fv"); + fp_glProgramUniformMatrix2x3fv = (pfn_glProgramUniformMatrix2x3fv)load("glProgramUniformMatrix2x3fv"); + fp_glProgramUniformMatrix3x2fv = (pfn_glProgramUniformMatrix3x2fv)load("glProgramUniformMatrix3x2fv"); + fp_glProgramUniformMatrix2x4fv = (pfn_glProgramUniformMatrix2x4fv)load("glProgramUniformMatrix2x4fv"); + fp_glProgramUniformMatrix4x2fv = (pfn_glProgramUniformMatrix4x2fv)load("glProgramUniformMatrix4x2fv"); + fp_glProgramUniformMatrix3x4fv = (pfn_glProgramUniformMatrix3x4fv)load("glProgramUniformMatrix3x4fv"); + fp_glProgramUniformMatrix4x3fv = (pfn_glProgramUniformMatrix4x3fv)load("glProgramUniformMatrix4x3fv"); + fp_glValidateProgramPipeline = (pfn_glValidateProgramPipeline)load("glValidateProgramPipeline"); + fp_glGetProgramPipelineInfoLog = (pfn_glGetProgramPipelineInfoLog)load("glGetProgramPipelineInfoLog"); + fp_glBindImageTexture = (pfn_glBindImageTexture)load("glBindImageTexture"); + fp_glGetBooleani_v = (pfn_glGetBooleani_v)load("glGetBooleani_v"); + fp_glMemoryBarrier = (pfn_glMemoryBarrier)load("glMemoryBarrier"); + fp_glMemoryBarrierByRegion = (pfn_glMemoryBarrierByRegion)load("glMemoryBarrierByRegion"); + fp_glTexStorage2DMultisample = (pfn_glTexStorage2DMultisample)load("glTexStorage2DMultisample"); + fp_glGetMultisamplefv = (pfn_glGetMultisamplefv)load("glGetMultisamplefv"); + fp_glSampleMaski = (pfn_glSampleMaski)load("glSampleMaski"); + fp_glGetTexLevelParameteriv = (pfn_glGetTexLevelParameteriv)load("glGetTexLevelParameteriv"); + fp_glGetTexLevelParameterfv = (pfn_glGetTexLevelParameterfv)load("glGetTexLevelParameterfv"); + fp_glBindVertexBuffer = (pfn_glBindVertexBuffer)load("glBindVertexBuffer"); + fp_glVertexAttribFormat = (pfn_glVertexAttribFormat)load("glVertexAttribFormat"); + fp_glVertexAttribIFormat = (pfn_glVertexAttribIFormat)load("glVertexAttribIFormat"); + fp_glVertexAttribBinding = (pfn_glVertexAttribBinding)load("glVertexAttribBinding"); + fp_glVertexBindingDivisor = (pfn_glVertexBindingDivisor)load("glVertexBindingDivisor"); +} + +GLboolean GLAD_KHR_blend_equation_advanced = GL_FALSE; +static void load_GL_KHR_blend_equation_advanced(LOADER load) { + if(!GLAD_KHR_blend_equation_advanced) return; + fp_glBlendBarrierKHR = (pfn_glBlendBarrierKHR)load("glBlendBarrierKHR"); +} + +GLboolean GLAD_KHR_blend_equation_advanced_coherent = GL_FALSE; +GLboolean GLAD_KHR_context_flush_control = GL_FALSE; +GLboolean GLAD_KHR_debug = GL_FALSE; +static void load_GL_KHR_debug(LOADER load) { + if(!GLAD_KHR_debug) return; + fp_glDebugMessageControl = (pfn_glDebugMessageControl)load("glDebugMessageControl"); + fp_glDebugMessageInsert = (pfn_glDebugMessageInsert)load("glDebugMessageInsert"); + fp_glDebugMessageCallback = (pfn_glDebugMessageCallback)load("glDebugMessageCallback"); + fp_glGetDebugMessageLog = (pfn_glGetDebugMessageLog)load("glGetDebugMessageLog"); + fp_glPushDebugGroup = (pfn_glPushDebugGroup)load("glPushDebugGroup"); + fp_glPopDebugGroup = (pfn_glPopDebugGroup)load("glPopDebugGroup"); + fp_glObjectLabel = (pfn_glObjectLabel)load("glObjectLabel"); + fp_glGetObjectLabel = (pfn_glGetObjectLabel)load("glGetObjectLabel"); + fp_glObjectPtrLabel = (pfn_glObjectPtrLabel)load("glObjectPtrLabel"); + fp_glGetObjectPtrLabel = (pfn_glGetObjectPtrLabel)load("glGetObjectPtrLabel"); + fp_glGetPointerv = (pfn_glGetPointerv)load("glGetPointerv"); + fp_glDebugMessageControlKHR = (pfn_glDebugMessageControlKHR)load("glDebugMessageControlKHR"); + fp_glDebugMessageInsertKHR = (pfn_glDebugMessageInsertKHR)load("glDebugMessageInsertKHR"); + fp_glDebugMessageCallbackKHR = (pfn_glDebugMessageCallbackKHR)load("glDebugMessageCallbackKHR"); + fp_glGetDebugMessageLogKHR = (pfn_glGetDebugMessageLogKHR)load("glGetDebugMessageLogKHR"); + fp_glPushDebugGroupKHR = (pfn_glPushDebugGroupKHR)load("glPushDebugGroupKHR"); + fp_glPopDebugGroupKHR = (pfn_glPopDebugGroupKHR)load("glPopDebugGroupKHR"); + fp_glObjectLabelKHR = (pfn_glObjectLabelKHR)load("glObjectLabelKHR"); + fp_glGetObjectLabelKHR = (pfn_glGetObjectLabelKHR)load("glGetObjectLabelKHR"); + fp_glObjectPtrLabelKHR = (pfn_glObjectPtrLabelKHR)load("glObjectPtrLabelKHR"); + fp_glGetObjectPtrLabelKHR = (pfn_glGetObjectPtrLabelKHR)load("glGetObjectPtrLabelKHR"); + fp_glGetPointervKHR = (pfn_glGetPointervKHR)load("glGetPointervKHR"); +} + +GLboolean GLAD_KHR_robust_buffer_access_behavior = GL_FALSE; +GLboolean GLAD_KHR_robustness = GL_FALSE; +static void load_GL_KHR_robustness(LOADER load) { + if(!GLAD_KHR_robustness) return; + fp_glGetGraphicsResetStatus = (pfn_glGetGraphicsResetStatus)load("glGetGraphicsResetStatus"); + fp_glReadnPixels = (pfn_glReadnPixels)load("glReadnPixels"); + fp_glGetnUniformfv = (pfn_glGetnUniformfv)load("glGetnUniformfv"); + fp_glGetnUniformiv = (pfn_glGetnUniformiv)load("glGetnUniformiv"); + fp_glGetnUniformuiv = (pfn_glGetnUniformuiv)load("glGetnUniformuiv"); + fp_glGetGraphicsResetStatusKHR = (pfn_glGetGraphicsResetStatusKHR)load("glGetGraphicsResetStatusKHR"); + fp_glReadnPixelsKHR = (pfn_glReadnPixelsKHR)load("glReadnPixelsKHR"); + fp_glGetnUniformfvKHR = (pfn_glGetnUniformfvKHR)load("glGetnUniformfvKHR"); + fp_glGetnUniformivKHR = (pfn_glGetnUniformivKHR)load("glGetnUniformivKHR"); + fp_glGetnUniformuivKHR = (pfn_glGetnUniformuivKHR)load("glGetnUniformuivKHR"); +} + +GLboolean GLAD_KHR_texture_compression_astc_hdr = GL_FALSE; +GLboolean GLAD_KHR_texture_compression_astc_ldr = GL_FALSE; +GLboolean GLAD_ARB_arrays_of_arrays = GL_FALSE; +GLboolean GLAD_ARB_base_instance = GL_FALSE; +static void load_GL_ARB_base_instance(LOADER load) { + if(!GLAD_ARB_base_instance) return; + fp_glDrawArraysInstancedBaseInstance = (pfn_glDrawArraysInstancedBaseInstance)load("glDrawArraysInstancedBaseInstance"); + fp_glDrawElementsInstancedBaseInstance = (pfn_glDrawElementsInstancedBaseInstance)load("glDrawElementsInstancedBaseInstance"); + fp_glDrawElementsInstancedBaseVertexBaseInstance = (pfn_glDrawElementsInstancedBaseVertexBaseInstance)load("glDrawElementsInstancedBaseVertexBaseInstance"); +} + +GLboolean GLAD_ARB_bindless_texture = GL_FALSE; +static void load_GL_ARB_bindless_texture(LOADER load) { + if(!GLAD_ARB_bindless_texture) return; + fp_glGetTextureHandleARB = (pfn_glGetTextureHandleARB)load("glGetTextureHandleARB"); + fp_glGetTextureSamplerHandleARB = (pfn_glGetTextureSamplerHandleARB)load("glGetTextureSamplerHandleARB"); + fp_glMakeTextureHandleResidentARB = (pfn_glMakeTextureHandleResidentARB)load("glMakeTextureHandleResidentARB"); + fp_glMakeTextureHandleNonResidentARB = (pfn_glMakeTextureHandleNonResidentARB)load("glMakeTextureHandleNonResidentARB"); + fp_glGetImageHandleARB = (pfn_glGetImageHandleARB)load("glGetImageHandleARB"); + fp_glMakeImageHandleResidentARB = (pfn_glMakeImageHandleResidentARB)load("glMakeImageHandleResidentARB"); + fp_glMakeImageHandleNonResidentARB = (pfn_glMakeImageHandleNonResidentARB)load("glMakeImageHandleNonResidentARB"); + fp_glUniformHandleui64ARB = (pfn_glUniformHandleui64ARB)load("glUniformHandleui64ARB"); + fp_glUniformHandleui64vARB = (pfn_glUniformHandleui64vARB)load("glUniformHandleui64vARB"); + fp_glProgramUniformHandleui64ARB = (pfn_glProgramUniformHandleui64ARB)load("glProgramUniformHandleui64ARB"); + fp_glProgramUniformHandleui64vARB = (pfn_glProgramUniformHandleui64vARB)load("glProgramUniformHandleui64vARB"); + fp_glIsTextureHandleResidentARB = (pfn_glIsTextureHandleResidentARB)load("glIsTextureHandleResidentARB"); + fp_glIsImageHandleResidentARB = (pfn_glIsImageHandleResidentARB)load("glIsImageHandleResidentARB"); + fp_glVertexAttribL1ui64ARB = (pfn_glVertexAttribL1ui64ARB)load("glVertexAttribL1ui64ARB"); + fp_glVertexAttribL1ui64vARB = (pfn_glVertexAttribL1ui64vARB)load("glVertexAttribL1ui64vARB"); + fp_glGetVertexAttribLui64vARB = (pfn_glGetVertexAttribLui64vARB)load("glGetVertexAttribLui64vARB"); +} + +GLboolean GLAD_ARB_blend_func_extended = GL_FALSE; +static void load_GL_ARB_blend_func_extended(LOADER load) { + if(!GLAD_ARB_blend_func_extended) return; + fp_glBindFragDataLocationIndexed = (pfn_glBindFragDataLocationIndexed)load("glBindFragDataLocationIndexed"); + fp_glGetFragDataIndex = (pfn_glGetFragDataIndex)load("glGetFragDataIndex"); +} + +GLboolean GLAD_ARB_buffer_storage = GL_FALSE; +static void load_GL_ARB_buffer_storage(LOADER load) { + if(!GLAD_ARB_buffer_storage) return; + fp_glBufferStorage = (pfn_glBufferStorage)load("glBufferStorage"); +} + +GLboolean GLAD_ARB_cl_event = GL_FALSE; +static void load_GL_ARB_cl_event(LOADER load) { + if(!GLAD_ARB_cl_event) return; + fp_glCreateSyncFromCLeventARB = (pfn_glCreateSyncFromCLeventARB)load("glCreateSyncFromCLeventARB"); +} + +GLboolean GLAD_ARB_clear_buffer_object = GL_FALSE; +static void load_GL_ARB_clear_buffer_object(LOADER load) { + if(!GLAD_ARB_clear_buffer_object) return; + fp_glClearBufferData = (pfn_glClearBufferData)load("glClearBufferData"); + fp_glClearBufferSubData = (pfn_glClearBufferSubData)load("glClearBufferSubData"); +} + +GLboolean GLAD_ARB_clear_texture = GL_FALSE; +static void load_GL_ARB_clear_texture(LOADER load) { + if(!GLAD_ARB_clear_texture) return; + fp_glClearTexImage = (pfn_glClearTexImage)load("glClearTexImage"); + fp_glClearTexSubImage = (pfn_glClearTexSubImage)load("glClearTexSubImage"); +} + +GLboolean GLAD_ARB_clip_control = GL_FALSE; +static void load_GL_ARB_clip_control(LOADER load) { + if(!GLAD_ARB_clip_control) return; + fp_glClipControl = (pfn_glClipControl)load("glClipControl"); +} + +GLboolean GLAD_ARB_color_buffer_float = GL_FALSE; +static void load_GL_ARB_color_buffer_float(LOADER load) { + if(!GLAD_ARB_color_buffer_float) return; + fp_glClampColorARB = (pfn_glClampColorARB)load("glClampColorARB"); +} + +GLboolean GLAD_ARB_compatibility = GL_FALSE; +GLboolean GLAD_ARB_compressed_texture_pixel_storage = GL_FALSE; +GLboolean GLAD_ARB_compute_shader = GL_FALSE; +static void load_GL_ARB_compute_shader(LOADER load) { + if(!GLAD_ARB_compute_shader) return; + fp_glDispatchCompute = (pfn_glDispatchCompute)load("glDispatchCompute"); + fp_glDispatchComputeIndirect = (pfn_glDispatchComputeIndirect)load("glDispatchComputeIndirect"); +} + +GLboolean GLAD_ARB_compute_variable_group_size = GL_FALSE; +static void load_GL_ARB_compute_variable_group_size(LOADER load) { + if(!GLAD_ARB_compute_variable_group_size) return; + fp_glDispatchComputeGroupSizeARB = (pfn_glDispatchComputeGroupSizeARB)load("glDispatchComputeGroupSizeARB"); +} + +GLboolean GLAD_ARB_conditional_render_inverted = GL_FALSE; +GLboolean GLAD_ARB_conservative_depth = GL_FALSE; +GLboolean GLAD_ARB_copy_buffer = GL_FALSE; +static void load_GL_ARB_copy_buffer(LOADER load) { + if(!GLAD_ARB_copy_buffer) return; + fp_glCopyBufferSubData = (pfn_glCopyBufferSubData)load("glCopyBufferSubData"); +} + +GLboolean GLAD_ARB_copy_image = GL_FALSE; +static void load_GL_ARB_copy_image(LOADER load) { + if(!GLAD_ARB_copy_image) return; + fp_glCopyImageSubData = (pfn_glCopyImageSubData)load("glCopyImageSubData"); +} + +GLboolean GLAD_ARB_cull_distance = GL_FALSE; +GLboolean GLAD_ARB_debug_output = GL_FALSE; +static void load_GL_ARB_debug_output(LOADER load) { + if(!GLAD_ARB_debug_output) return; + fp_glDebugMessageControlARB = (pfn_glDebugMessageControlARB)load("glDebugMessageControlARB"); + fp_glDebugMessageInsertARB = (pfn_glDebugMessageInsertARB)load("glDebugMessageInsertARB"); + fp_glDebugMessageCallbackARB = (pfn_glDebugMessageCallbackARB)load("glDebugMessageCallbackARB"); + fp_glGetDebugMessageLogARB = (pfn_glGetDebugMessageLogARB)load("glGetDebugMessageLogARB"); +} + +GLboolean GLAD_ARB_depth_buffer_float = GL_FALSE; +GLboolean GLAD_ARB_depth_clamp = GL_FALSE; +GLboolean GLAD_ARB_derivative_control = GL_FALSE; +GLboolean GLAD_ARB_direct_state_access = GL_FALSE; +static void load_GL_ARB_direct_state_access(LOADER load) { + if(!GLAD_ARB_direct_state_access) return; + fp_glCreateTransformFeedbacks = (pfn_glCreateTransformFeedbacks)load("glCreateTransformFeedbacks"); + fp_glTransformFeedbackBufferBase = (pfn_glTransformFeedbackBufferBase)load("glTransformFeedbackBufferBase"); + fp_glTransformFeedbackBufferRange = (pfn_glTransformFeedbackBufferRange)load("glTransformFeedbackBufferRange"); + fp_glGetTransformFeedbackiv = (pfn_glGetTransformFeedbackiv)load("glGetTransformFeedbackiv"); + fp_glGetTransformFeedbacki_v = (pfn_glGetTransformFeedbacki_v)load("glGetTransformFeedbacki_v"); + fp_glGetTransformFeedbacki64_v = (pfn_glGetTransformFeedbacki64_v)load("glGetTransformFeedbacki64_v"); + fp_glCreateBuffers = (pfn_glCreateBuffers)load("glCreateBuffers"); + fp_glNamedBufferStorage = (pfn_glNamedBufferStorage)load("glNamedBufferStorage"); + fp_glNamedBufferData = (pfn_glNamedBufferData)load("glNamedBufferData"); + fp_glNamedBufferSubData = (pfn_glNamedBufferSubData)load("glNamedBufferSubData"); + fp_glCopyNamedBufferSubData = (pfn_glCopyNamedBufferSubData)load("glCopyNamedBufferSubData"); + fp_glClearNamedBufferData = (pfn_glClearNamedBufferData)load("glClearNamedBufferData"); + fp_glClearNamedBufferSubData = (pfn_glClearNamedBufferSubData)load("glClearNamedBufferSubData"); + fp_glMapNamedBuffer = (pfn_glMapNamedBuffer)load("glMapNamedBuffer"); + fp_glMapNamedBufferRange = (pfn_glMapNamedBufferRange)load("glMapNamedBufferRange"); + fp_glUnmapNamedBuffer = (pfn_glUnmapNamedBuffer)load("glUnmapNamedBuffer"); + fp_glFlushMappedNamedBufferRange = (pfn_glFlushMappedNamedBufferRange)load("glFlushMappedNamedBufferRange"); + fp_glGetNamedBufferParameteriv = (pfn_glGetNamedBufferParameteriv)load("glGetNamedBufferParameteriv"); + fp_glGetNamedBufferParameteri64v = (pfn_glGetNamedBufferParameteri64v)load("glGetNamedBufferParameteri64v"); + fp_glGetNamedBufferPointerv = (pfn_glGetNamedBufferPointerv)load("glGetNamedBufferPointerv"); + fp_glGetNamedBufferSubData = (pfn_glGetNamedBufferSubData)load("glGetNamedBufferSubData"); + fp_glCreateFramebuffers = (pfn_glCreateFramebuffers)load("glCreateFramebuffers"); + fp_glNamedFramebufferRenderbuffer = (pfn_glNamedFramebufferRenderbuffer)load("glNamedFramebufferRenderbuffer"); + fp_glNamedFramebufferParameteri = (pfn_glNamedFramebufferParameteri)load("glNamedFramebufferParameteri"); + fp_glNamedFramebufferTexture = (pfn_glNamedFramebufferTexture)load("glNamedFramebufferTexture"); + fp_glNamedFramebufferTextureLayer = (pfn_glNamedFramebufferTextureLayer)load("glNamedFramebufferTextureLayer"); + fp_glNamedFramebufferDrawBuffer = (pfn_glNamedFramebufferDrawBuffer)load("glNamedFramebufferDrawBuffer"); + fp_glNamedFramebufferDrawBuffers = (pfn_glNamedFramebufferDrawBuffers)load("glNamedFramebufferDrawBuffers"); + fp_glNamedFramebufferReadBuffer = (pfn_glNamedFramebufferReadBuffer)load("glNamedFramebufferReadBuffer"); + fp_glInvalidateNamedFramebufferData = (pfn_glInvalidateNamedFramebufferData)load("glInvalidateNamedFramebufferData"); + fp_glInvalidateNamedFramebufferSubData = (pfn_glInvalidateNamedFramebufferSubData)load("glInvalidateNamedFramebufferSubData"); + fp_glClearNamedFramebufferiv = (pfn_glClearNamedFramebufferiv)load("glClearNamedFramebufferiv"); + fp_glClearNamedFramebufferuiv = (pfn_glClearNamedFramebufferuiv)load("glClearNamedFramebufferuiv"); + fp_glClearNamedFramebufferfv = (pfn_glClearNamedFramebufferfv)load("glClearNamedFramebufferfv"); + fp_glClearNamedFramebufferfi = (pfn_glClearNamedFramebufferfi)load("glClearNamedFramebufferfi"); + fp_glBlitNamedFramebuffer = (pfn_glBlitNamedFramebuffer)load("glBlitNamedFramebuffer"); + fp_glCheckNamedFramebufferStatus = (pfn_glCheckNamedFramebufferStatus)load("glCheckNamedFramebufferStatus"); + fp_glGetNamedFramebufferParameteriv = (pfn_glGetNamedFramebufferParameteriv)load("glGetNamedFramebufferParameteriv"); + fp_glGetNamedFramebufferAttachmentParameteriv = (pfn_glGetNamedFramebufferAttachmentParameteriv)load("glGetNamedFramebufferAttachmentParameteriv"); + fp_glCreateRenderbuffers = (pfn_glCreateRenderbuffers)load("glCreateRenderbuffers"); + fp_glNamedRenderbufferStorage = (pfn_glNamedRenderbufferStorage)load("glNamedRenderbufferStorage"); + fp_glNamedRenderbufferStorageMultisample = (pfn_glNamedRenderbufferStorageMultisample)load("glNamedRenderbufferStorageMultisample"); + fp_glGetNamedRenderbufferParameteriv = (pfn_glGetNamedRenderbufferParameteriv)load("glGetNamedRenderbufferParameteriv"); + fp_glCreateTextures = (pfn_glCreateTextures)load("glCreateTextures"); + fp_glTextureBuffer = (pfn_glTextureBuffer)load("glTextureBuffer"); + fp_glTextureBufferRange = (pfn_glTextureBufferRange)load("glTextureBufferRange"); + fp_glTextureStorage1D = (pfn_glTextureStorage1D)load("glTextureStorage1D"); + fp_glTextureStorage2D = (pfn_glTextureStorage2D)load("glTextureStorage2D"); + fp_glTextureStorage3D = (pfn_glTextureStorage3D)load("glTextureStorage3D"); + fp_glTextureStorage2DMultisample = (pfn_glTextureStorage2DMultisample)load("glTextureStorage2DMultisample"); + fp_glTextureStorage3DMultisample = (pfn_glTextureStorage3DMultisample)load("glTextureStorage3DMultisample"); + fp_glTextureSubImage1D = (pfn_glTextureSubImage1D)load("glTextureSubImage1D"); + fp_glTextureSubImage2D = (pfn_glTextureSubImage2D)load("glTextureSubImage2D"); + fp_glTextureSubImage3D = (pfn_glTextureSubImage3D)load("glTextureSubImage3D"); + fp_glCompressedTextureSubImage1D = (pfn_glCompressedTextureSubImage1D)load("glCompressedTextureSubImage1D"); + fp_glCompressedTextureSubImage2D = (pfn_glCompressedTextureSubImage2D)load("glCompressedTextureSubImage2D"); + fp_glCompressedTextureSubImage3D = (pfn_glCompressedTextureSubImage3D)load("glCompressedTextureSubImage3D"); + fp_glCopyTextureSubImage1D = (pfn_glCopyTextureSubImage1D)load("glCopyTextureSubImage1D"); + fp_glCopyTextureSubImage2D = (pfn_glCopyTextureSubImage2D)load("glCopyTextureSubImage2D"); + fp_glCopyTextureSubImage3D = (pfn_glCopyTextureSubImage3D)load("glCopyTextureSubImage3D"); + fp_glTextureParameterf = (pfn_glTextureParameterf)load("glTextureParameterf"); + fp_glTextureParameterfv = (pfn_glTextureParameterfv)load("glTextureParameterfv"); + fp_glTextureParameteri = (pfn_glTextureParameteri)load("glTextureParameteri"); + fp_glTextureParameterIiv = (pfn_glTextureParameterIiv)load("glTextureParameterIiv"); + fp_glTextureParameterIuiv = (pfn_glTextureParameterIuiv)load("glTextureParameterIuiv"); + fp_glTextureParameteriv = (pfn_glTextureParameteriv)load("glTextureParameteriv"); + fp_glGenerateTextureMipmap = (pfn_glGenerateTextureMipmap)load("glGenerateTextureMipmap"); + fp_glBindTextureUnit = (pfn_glBindTextureUnit)load("glBindTextureUnit"); + fp_glGetTextureImage = (pfn_glGetTextureImage)load("glGetTextureImage"); + fp_glGetCompressedTextureImage = (pfn_glGetCompressedTextureImage)load("glGetCompressedTextureImage"); + fp_glGetTextureLevelParameterfv = (pfn_glGetTextureLevelParameterfv)load("glGetTextureLevelParameterfv"); + fp_glGetTextureLevelParameteriv = (pfn_glGetTextureLevelParameteriv)load("glGetTextureLevelParameteriv"); + fp_glGetTextureParameterfv = (pfn_glGetTextureParameterfv)load("glGetTextureParameterfv"); + fp_glGetTextureParameterIiv = (pfn_glGetTextureParameterIiv)load("glGetTextureParameterIiv"); + fp_glGetTextureParameterIuiv = (pfn_glGetTextureParameterIuiv)load("glGetTextureParameterIuiv"); + fp_glGetTextureParameteriv = (pfn_glGetTextureParameteriv)load("glGetTextureParameteriv"); + fp_glCreateVertexArrays = (pfn_glCreateVertexArrays)load("glCreateVertexArrays"); + fp_glDisableVertexArrayAttrib = (pfn_glDisableVertexArrayAttrib)load("glDisableVertexArrayAttrib"); + fp_glEnableVertexArrayAttrib = (pfn_glEnableVertexArrayAttrib)load("glEnableVertexArrayAttrib"); + fp_glVertexArrayElementBuffer = (pfn_glVertexArrayElementBuffer)load("glVertexArrayElementBuffer"); + fp_glVertexArrayVertexBuffer = (pfn_glVertexArrayVertexBuffer)load("glVertexArrayVertexBuffer"); + fp_glVertexArrayVertexBuffers = (pfn_glVertexArrayVertexBuffers)load("glVertexArrayVertexBuffers"); + fp_glVertexArrayAttribBinding = (pfn_glVertexArrayAttribBinding)load("glVertexArrayAttribBinding"); + fp_glVertexArrayAttribFormat = (pfn_glVertexArrayAttribFormat)load("glVertexArrayAttribFormat"); + fp_glVertexArrayAttribIFormat = (pfn_glVertexArrayAttribIFormat)load("glVertexArrayAttribIFormat"); + fp_glVertexArrayAttribLFormat = (pfn_glVertexArrayAttribLFormat)load("glVertexArrayAttribLFormat"); + fp_glVertexArrayBindingDivisor = (pfn_glVertexArrayBindingDivisor)load("glVertexArrayBindingDivisor"); + fp_glGetVertexArrayiv = (pfn_glGetVertexArrayiv)load("glGetVertexArrayiv"); + fp_glGetVertexArrayIndexediv = (pfn_glGetVertexArrayIndexediv)load("glGetVertexArrayIndexediv"); + fp_glGetVertexArrayIndexed64iv = (pfn_glGetVertexArrayIndexed64iv)load("glGetVertexArrayIndexed64iv"); + fp_glCreateSamplers = (pfn_glCreateSamplers)load("glCreateSamplers"); + fp_glCreateProgramPipelines = (pfn_glCreateProgramPipelines)load("glCreateProgramPipelines"); + fp_glCreateQueries = (pfn_glCreateQueries)load("glCreateQueries"); +} + +GLboolean GLAD_ARB_draw_buffers_blend = GL_FALSE; +static void load_GL_ARB_draw_buffers_blend(LOADER load) { + if(!GLAD_ARB_draw_buffers_blend) return; + fp_glBlendEquationiARB = (pfn_glBlendEquationiARB)load("glBlendEquationiARB"); + fp_glBlendEquationSeparateiARB = (pfn_glBlendEquationSeparateiARB)load("glBlendEquationSeparateiARB"); + fp_glBlendFunciARB = (pfn_glBlendFunciARB)load("glBlendFunciARB"); + fp_glBlendFuncSeparateiARB = (pfn_glBlendFuncSeparateiARB)load("glBlendFuncSeparateiARB"); +} + +GLboolean GLAD_ARB_draw_elements_base_vertex = GL_FALSE; +static void load_GL_ARB_draw_elements_base_vertex(LOADER load) { + if(!GLAD_ARB_draw_elements_base_vertex) return; + fp_glDrawElementsBaseVertex = (pfn_glDrawElementsBaseVertex)load("glDrawElementsBaseVertex"); + fp_glDrawRangeElementsBaseVertex = (pfn_glDrawRangeElementsBaseVertex)load("glDrawRangeElementsBaseVertex"); + fp_glDrawElementsInstancedBaseVertex = (pfn_glDrawElementsInstancedBaseVertex)load("glDrawElementsInstancedBaseVertex"); + fp_glMultiDrawElementsBaseVertex = (pfn_glMultiDrawElementsBaseVertex)load("glMultiDrawElementsBaseVertex"); +} + +GLboolean GLAD_ARB_draw_indirect = GL_FALSE; +static void load_GL_ARB_draw_indirect(LOADER load) { + if(!GLAD_ARB_draw_indirect) return; + fp_glDrawArraysIndirect = (pfn_glDrawArraysIndirect)load("glDrawArraysIndirect"); + fp_glDrawElementsIndirect = (pfn_glDrawElementsIndirect)load("glDrawElementsIndirect"); +} + +GLboolean GLAD_ARB_draw_instanced = GL_FALSE; +static void load_GL_ARB_draw_instanced(LOADER load) { + if(!GLAD_ARB_draw_instanced) return; + fp_glDrawArraysInstancedARB = (pfn_glDrawArraysInstancedARB)load("glDrawArraysInstancedARB"); + fp_glDrawElementsInstancedARB = (pfn_glDrawElementsInstancedARB)load("glDrawElementsInstancedARB"); +} + +GLboolean GLAD_ARB_enhanced_layouts = GL_FALSE; +GLboolean GLAD_ARB_ES2_compatibility = GL_FALSE; +static void load_GL_ARB_ES2_compatibility(LOADER load) { + if(!GLAD_ARB_ES2_compatibility) return; + fp_glReleaseShaderCompiler = (pfn_glReleaseShaderCompiler)load("glReleaseShaderCompiler"); + fp_glShaderBinary = (pfn_glShaderBinary)load("glShaderBinary"); + fp_glGetShaderPrecisionFormat = (pfn_glGetShaderPrecisionFormat)load("glGetShaderPrecisionFormat"); + fp_glDepthRangef = (pfn_glDepthRangef)load("glDepthRangef"); + fp_glClearDepthf = (pfn_glClearDepthf)load("glClearDepthf"); +} + +GLboolean GLAD_ARB_ES3_1_compatibility = GL_FALSE; +static void load_GL_ARB_ES3_1_compatibility(LOADER load) { + if(!GLAD_ARB_ES3_1_compatibility) return; + fp_glMemoryBarrierByRegion = (pfn_glMemoryBarrierByRegion)load("glMemoryBarrierByRegion"); +} + +GLboolean GLAD_ARB_ES3_compatibility = GL_FALSE; +GLboolean GLAD_ARB_explicit_attrib_location = GL_FALSE; +GLboolean GLAD_ARB_explicit_uniform_location = GL_FALSE; +GLboolean GLAD_ARB_fragment_coord_conventions = GL_FALSE; +GLboolean GLAD_ARB_fragment_layer_viewport = GL_FALSE; +GLboolean GLAD_ARB_framebuffer_no_attachments = GL_FALSE; +static void load_GL_ARB_framebuffer_no_attachments(LOADER load) { + if(!GLAD_ARB_framebuffer_no_attachments) return; + fp_glFramebufferParameteri = (pfn_glFramebufferParameteri)load("glFramebufferParameteri"); + fp_glGetFramebufferParameteriv = (pfn_glGetFramebufferParameteriv)load("glGetFramebufferParameteriv"); +} + +GLboolean GLAD_ARB_framebuffer_object = GL_FALSE; +static void load_GL_ARB_framebuffer_object(LOADER load) { + if(!GLAD_ARB_framebuffer_object) return; + fp_glIsRenderbuffer = (pfn_glIsRenderbuffer)load("glIsRenderbuffer"); + fp_glBindRenderbuffer = (pfn_glBindRenderbuffer)load("glBindRenderbuffer"); + fp_glDeleteRenderbuffers = (pfn_glDeleteRenderbuffers)load("glDeleteRenderbuffers"); + fp_glGenRenderbuffers = (pfn_glGenRenderbuffers)load("glGenRenderbuffers"); + fp_glRenderbufferStorage = (pfn_glRenderbufferStorage)load("glRenderbufferStorage"); + fp_glGetRenderbufferParameteriv = (pfn_glGetRenderbufferParameteriv)load("glGetRenderbufferParameteriv"); + fp_glIsFramebuffer = (pfn_glIsFramebuffer)load("glIsFramebuffer"); + fp_glBindFramebuffer = (pfn_glBindFramebuffer)load("glBindFramebuffer"); + fp_glDeleteFramebuffers = (pfn_glDeleteFramebuffers)load("glDeleteFramebuffers"); + fp_glGenFramebuffers = (pfn_glGenFramebuffers)load("glGenFramebuffers"); + fp_glCheckFramebufferStatus = (pfn_glCheckFramebufferStatus)load("glCheckFramebufferStatus"); + fp_glFramebufferTexture1D = (pfn_glFramebufferTexture1D)load("glFramebufferTexture1D"); + fp_glFramebufferTexture2D = (pfn_glFramebufferTexture2D)load("glFramebufferTexture2D"); + fp_glFramebufferTexture3D = (pfn_glFramebufferTexture3D)load("glFramebufferTexture3D"); + fp_glFramebufferRenderbuffer = (pfn_glFramebufferRenderbuffer)load("glFramebufferRenderbuffer"); + fp_glGetFramebufferAttachmentParameteriv = (pfn_glGetFramebufferAttachmentParameteriv)load("glGetFramebufferAttachmentParameteriv"); + fp_glGenerateMipmap = (pfn_glGenerateMipmap)load("glGenerateMipmap"); + fp_glBlitFramebuffer = (pfn_glBlitFramebuffer)load("glBlitFramebuffer"); + fp_glRenderbufferStorageMultisample = (pfn_glRenderbufferStorageMultisample)load("glRenderbufferStorageMultisample"); + fp_glFramebufferTextureLayer = (pfn_glFramebufferTextureLayer)load("glFramebufferTextureLayer"); +} + +GLboolean GLAD_ARB_framebuffer_sRGB = GL_FALSE; +GLboolean GLAD_ARB_geometry_shader4 = GL_FALSE; +static void load_GL_ARB_geometry_shader4(LOADER load) { + if(!GLAD_ARB_geometry_shader4) return; + fp_glProgramParameteriARB = (pfn_glProgramParameteriARB)load("glProgramParameteriARB"); + fp_glFramebufferTextureARB = (pfn_glFramebufferTextureARB)load("glFramebufferTextureARB"); + fp_glFramebufferTextureLayerARB = (pfn_glFramebufferTextureLayerARB)load("glFramebufferTextureLayerARB"); + fp_glFramebufferTextureFaceARB = (pfn_glFramebufferTextureFaceARB)load("glFramebufferTextureFaceARB"); +} + +GLboolean GLAD_ARB_get_program_binary = GL_FALSE; +static void load_GL_ARB_get_program_binary(LOADER load) { + if(!GLAD_ARB_get_program_binary) return; + fp_glGetProgramBinary = (pfn_glGetProgramBinary)load("glGetProgramBinary"); + fp_glProgramBinary = (pfn_glProgramBinary)load("glProgramBinary"); + fp_glProgramParameteri = (pfn_glProgramParameteri)load("glProgramParameteri"); +} + +GLboolean GLAD_ARB_get_texture_sub_image = GL_FALSE; +static void load_GL_ARB_get_texture_sub_image(LOADER load) { + if(!GLAD_ARB_get_texture_sub_image) return; + fp_glGetTextureSubImage = (pfn_glGetTextureSubImage)load("glGetTextureSubImage"); + fp_glGetCompressedTextureSubImage = (pfn_glGetCompressedTextureSubImage)load("glGetCompressedTextureSubImage"); +} + +GLboolean GLAD_ARB_gpu_shader5 = GL_FALSE; +GLboolean GLAD_ARB_gpu_shader_fp64 = GL_FALSE; +static void load_GL_ARB_gpu_shader_fp64(LOADER load) { + if(!GLAD_ARB_gpu_shader_fp64) return; + fp_glUniform1d = (pfn_glUniform1d)load("glUniform1d"); + fp_glUniform2d = (pfn_glUniform2d)load("glUniform2d"); + fp_glUniform3d = (pfn_glUniform3d)load("glUniform3d"); + fp_glUniform4d = (pfn_glUniform4d)load("glUniform4d"); + fp_glUniform1dv = (pfn_glUniform1dv)load("glUniform1dv"); + fp_glUniform2dv = (pfn_glUniform2dv)load("glUniform2dv"); + fp_glUniform3dv = (pfn_glUniform3dv)load("glUniform3dv"); + fp_glUniform4dv = (pfn_glUniform4dv)load("glUniform4dv"); + fp_glUniformMatrix2dv = (pfn_glUniformMatrix2dv)load("glUniformMatrix2dv"); + fp_glUniformMatrix3dv = (pfn_glUniformMatrix3dv)load("glUniformMatrix3dv"); + fp_glUniformMatrix4dv = (pfn_glUniformMatrix4dv)load("glUniformMatrix4dv"); + fp_glUniformMatrix2x3dv = (pfn_glUniformMatrix2x3dv)load("glUniformMatrix2x3dv"); + fp_glUniformMatrix2x4dv = (pfn_glUniformMatrix2x4dv)load("glUniformMatrix2x4dv"); + fp_glUniformMatrix3x2dv = (pfn_glUniformMatrix3x2dv)load("glUniformMatrix3x2dv"); + fp_glUniformMatrix3x4dv = (pfn_glUniformMatrix3x4dv)load("glUniformMatrix3x4dv"); + fp_glUniformMatrix4x2dv = (pfn_glUniformMatrix4x2dv)load("glUniformMatrix4x2dv"); + fp_glUniformMatrix4x3dv = (pfn_glUniformMatrix4x3dv)load("glUniformMatrix4x3dv"); + fp_glGetUniformdv = (pfn_glGetUniformdv)load("glGetUniformdv"); +} + +GLboolean GLAD_ARB_half_float_pixel = GL_FALSE; +GLboolean GLAD_ARB_half_float_vertex = GL_FALSE; +GLboolean GLAD_ARB_indirect_parameters = GL_FALSE; +static void load_GL_ARB_indirect_parameters(LOADER load) { + if(!GLAD_ARB_indirect_parameters) return; + fp_glMultiDrawArraysIndirectCountARB = (pfn_glMultiDrawArraysIndirectCountARB)load("glMultiDrawArraysIndirectCountARB"); + fp_glMultiDrawElementsIndirectCountARB = (pfn_glMultiDrawElementsIndirectCountARB)load("glMultiDrawElementsIndirectCountARB"); +} + +GLboolean GLAD_ARB_instanced_arrays = GL_FALSE; +static void load_GL_ARB_instanced_arrays(LOADER load) { + if(!GLAD_ARB_instanced_arrays) return; + fp_glVertexAttribDivisorARB = (pfn_glVertexAttribDivisorARB)load("glVertexAttribDivisorARB"); +} + +GLboolean GLAD_ARB_internalformat_query = GL_FALSE; +static void load_GL_ARB_internalformat_query(LOADER load) { + if(!GLAD_ARB_internalformat_query) return; + fp_glGetInternalformativ = (pfn_glGetInternalformativ)load("glGetInternalformativ"); +} + +GLboolean GLAD_ARB_internalformat_query2 = GL_FALSE; +static void load_GL_ARB_internalformat_query2(LOADER load) { + if(!GLAD_ARB_internalformat_query2) return; + fp_glGetInternalformati64v = (pfn_glGetInternalformati64v)load("glGetInternalformati64v"); +} + +GLboolean GLAD_ARB_invalidate_subdata = GL_FALSE; +static void load_GL_ARB_invalidate_subdata(LOADER load) { + if(!GLAD_ARB_invalidate_subdata) return; + fp_glInvalidateTexSubImage = (pfn_glInvalidateTexSubImage)load("glInvalidateTexSubImage"); + fp_glInvalidateTexImage = (pfn_glInvalidateTexImage)load("glInvalidateTexImage"); + fp_glInvalidateBufferSubData = (pfn_glInvalidateBufferSubData)load("glInvalidateBufferSubData"); + fp_glInvalidateBufferData = (pfn_glInvalidateBufferData)load("glInvalidateBufferData"); + fp_glInvalidateFramebuffer = (pfn_glInvalidateFramebuffer)load("glInvalidateFramebuffer"); + fp_glInvalidateSubFramebuffer = (pfn_glInvalidateSubFramebuffer)load("glInvalidateSubFramebuffer"); +} + +GLboolean GLAD_ARB_map_buffer_alignment = GL_FALSE; +GLboolean GLAD_ARB_map_buffer_range = GL_FALSE; +static void load_GL_ARB_map_buffer_range(LOADER load) { + if(!GLAD_ARB_map_buffer_range) return; + fp_glMapBufferRange = (pfn_glMapBufferRange)load("glMapBufferRange"); + fp_glFlushMappedBufferRange = (pfn_glFlushMappedBufferRange)load("glFlushMappedBufferRange"); +} + +GLboolean GLAD_ARB_multi_bind = GL_FALSE; +static void load_GL_ARB_multi_bind(LOADER load) { + if(!GLAD_ARB_multi_bind) return; + fp_glBindBuffersBase = (pfn_glBindBuffersBase)load("glBindBuffersBase"); + fp_glBindBuffersRange = (pfn_glBindBuffersRange)load("glBindBuffersRange"); + fp_glBindTextures = (pfn_glBindTextures)load("glBindTextures"); + fp_glBindSamplers = (pfn_glBindSamplers)load("glBindSamplers"); + fp_glBindImageTextures = (pfn_glBindImageTextures)load("glBindImageTextures"); + fp_glBindVertexBuffers = (pfn_glBindVertexBuffers)load("glBindVertexBuffers"); +} + +GLboolean GLAD_ARB_multi_draw_indirect = GL_FALSE; +static void load_GL_ARB_multi_draw_indirect(LOADER load) { + if(!GLAD_ARB_multi_draw_indirect) return; + fp_glMultiDrawArraysIndirect = (pfn_glMultiDrawArraysIndirect)load("glMultiDrawArraysIndirect"); + fp_glMultiDrawElementsIndirect = (pfn_glMultiDrawElementsIndirect)load("glMultiDrawElementsIndirect"); +} + +GLboolean GLAD_ARB_occlusion_query2 = GL_FALSE; +GLboolean GLAD_ARB_pipeline_statistics_query = GL_FALSE; +GLboolean GLAD_ARB_pixel_buffer_object = GL_FALSE; +GLboolean GLAD_ARB_program_interface_query = GL_FALSE; +static void load_GL_ARB_program_interface_query(LOADER load) { + if(!GLAD_ARB_program_interface_query) return; + fp_glGetProgramInterfaceiv = (pfn_glGetProgramInterfaceiv)load("glGetProgramInterfaceiv"); + fp_glGetProgramResourceIndex = (pfn_glGetProgramResourceIndex)load("glGetProgramResourceIndex"); + fp_glGetProgramResourceName = (pfn_glGetProgramResourceName)load("glGetProgramResourceName"); + fp_glGetProgramResourceiv = (pfn_glGetProgramResourceiv)load("glGetProgramResourceiv"); + fp_glGetProgramResourceLocation = (pfn_glGetProgramResourceLocation)load("glGetProgramResourceLocation"); + fp_glGetProgramResourceLocationIndex = (pfn_glGetProgramResourceLocationIndex)load("glGetProgramResourceLocationIndex"); +} + +GLboolean GLAD_ARB_provoking_vertex = GL_FALSE; +static void load_GL_ARB_provoking_vertex(LOADER load) { + if(!GLAD_ARB_provoking_vertex) return; + fp_glProvokingVertex = (pfn_glProvokingVertex)load("glProvokingVertex"); +} + +GLboolean GLAD_ARB_query_buffer_object = GL_FALSE; +GLboolean GLAD_ARB_robust_buffer_access_behavior = GL_FALSE; +GLboolean GLAD_ARB_robustness = GL_FALSE; +static void load_GL_ARB_robustness(LOADER load) { + if(!GLAD_ARB_robustness) return; + fp_glGetGraphicsResetStatusARB = (pfn_glGetGraphicsResetStatusARB)load("glGetGraphicsResetStatusARB"); + fp_glGetnTexImageARB = (pfn_glGetnTexImageARB)load("glGetnTexImageARB"); + fp_glReadnPixelsARB = (pfn_glReadnPixelsARB)load("glReadnPixelsARB"); + fp_glGetnCompressedTexImageARB = (pfn_glGetnCompressedTexImageARB)load("glGetnCompressedTexImageARB"); + fp_glGetnUniformfvARB = (pfn_glGetnUniformfvARB)load("glGetnUniformfvARB"); + fp_glGetnUniformivARB = (pfn_glGetnUniformivARB)load("glGetnUniformivARB"); + fp_glGetnUniformuivARB = (pfn_glGetnUniformuivARB)load("glGetnUniformuivARB"); + fp_glGetnUniformdvARB = (pfn_glGetnUniformdvARB)load("glGetnUniformdvARB"); + fp_glGetnMapdvARB = (pfn_glGetnMapdvARB)load("glGetnMapdvARB"); + fp_glGetnMapfvARB = (pfn_glGetnMapfvARB)load("glGetnMapfvARB"); + fp_glGetnMapivARB = (pfn_glGetnMapivARB)load("glGetnMapivARB"); + fp_glGetnPixelMapfvARB = (pfn_glGetnPixelMapfvARB)load("glGetnPixelMapfvARB"); + fp_glGetnPixelMapuivARB = (pfn_glGetnPixelMapuivARB)load("glGetnPixelMapuivARB"); + fp_glGetnPixelMapusvARB = (pfn_glGetnPixelMapusvARB)load("glGetnPixelMapusvARB"); + fp_glGetnPolygonStippleARB = (pfn_glGetnPolygonStippleARB)load("glGetnPolygonStippleARB"); + fp_glGetnColorTableARB = (pfn_glGetnColorTableARB)load("glGetnColorTableARB"); + fp_glGetnConvolutionFilterARB = (pfn_glGetnConvolutionFilterARB)load("glGetnConvolutionFilterARB"); + fp_glGetnSeparableFilterARB = (pfn_glGetnSeparableFilterARB)load("glGetnSeparableFilterARB"); + fp_glGetnHistogramARB = (pfn_glGetnHistogramARB)load("glGetnHistogramARB"); + fp_glGetnMinmaxARB = (pfn_glGetnMinmaxARB)load("glGetnMinmaxARB"); +} + +GLboolean GLAD_ARB_robustness_isolation = GL_FALSE; +GLboolean GLAD_ARB_sample_shading = GL_FALSE; +static void load_GL_ARB_sample_shading(LOADER load) { + if(!GLAD_ARB_sample_shading) return; + fp_glMinSampleShadingARB = (pfn_glMinSampleShadingARB)load("glMinSampleShadingARB"); +} + +GLboolean GLAD_ARB_sampler_objects = GL_FALSE; +static void load_GL_ARB_sampler_objects(LOADER load) { + if(!GLAD_ARB_sampler_objects) return; + fp_glGenSamplers = (pfn_glGenSamplers)load("glGenSamplers"); + fp_glDeleteSamplers = (pfn_glDeleteSamplers)load("glDeleteSamplers"); + fp_glIsSampler = (pfn_glIsSampler)load("glIsSampler"); + fp_glBindSampler = (pfn_glBindSampler)load("glBindSampler"); + fp_glSamplerParameteri = (pfn_glSamplerParameteri)load("glSamplerParameteri"); + fp_glSamplerParameteriv = (pfn_glSamplerParameteriv)load("glSamplerParameteriv"); + fp_glSamplerParameterf = (pfn_glSamplerParameterf)load("glSamplerParameterf"); + fp_glSamplerParameterfv = (pfn_glSamplerParameterfv)load("glSamplerParameterfv"); + fp_glSamplerParameterIiv = (pfn_glSamplerParameterIiv)load("glSamplerParameterIiv"); + fp_glSamplerParameterIuiv = (pfn_glSamplerParameterIuiv)load("glSamplerParameterIuiv"); + fp_glGetSamplerParameteriv = (pfn_glGetSamplerParameteriv)load("glGetSamplerParameteriv"); + fp_glGetSamplerParameterIiv = (pfn_glGetSamplerParameterIiv)load("glGetSamplerParameterIiv"); + fp_glGetSamplerParameterfv = (pfn_glGetSamplerParameterfv)load("glGetSamplerParameterfv"); + fp_glGetSamplerParameterIuiv = (pfn_glGetSamplerParameterIuiv)load("glGetSamplerParameterIuiv"); +} + +GLboolean GLAD_ARB_seamless_cube_map = GL_FALSE; +GLboolean GLAD_ARB_seamless_cubemap_per_texture = GL_FALSE; +GLboolean GLAD_ARB_separate_shader_objects = GL_FALSE; +static void load_GL_ARB_separate_shader_objects(LOADER load) { + if(!GLAD_ARB_separate_shader_objects) return; + fp_glUseProgramStages = (pfn_glUseProgramStages)load("glUseProgramStages"); + fp_glActiveShaderProgram = (pfn_glActiveShaderProgram)load("glActiveShaderProgram"); + fp_glCreateShaderProgramv = (pfn_glCreateShaderProgramv)load("glCreateShaderProgramv"); + fp_glBindProgramPipeline = (pfn_glBindProgramPipeline)load("glBindProgramPipeline"); + fp_glDeleteProgramPipelines = (pfn_glDeleteProgramPipelines)load("glDeleteProgramPipelines"); + fp_glGenProgramPipelines = (pfn_glGenProgramPipelines)load("glGenProgramPipelines"); + fp_glIsProgramPipeline = (pfn_glIsProgramPipeline)load("glIsProgramPipeline"); + fp_glGetProgramPipelineiv = (pfn_glGetProgramPipelineiv)load("glGetProgramPipelineiv"); + fp_glProgramUniform1i = (pfn_glProgramUniform1i)load("glProgramUniform1i"); + fp_glProgramUniform1iv = (pfn_glProgramUniform1iv)load("glProgramUniform1iv"); + fp_glProgramUniform1f = (pfn_glProgramUniform1f)load("glProgramUniform1f"); + fp_glProgramUniform1fv = (pfn_glProgramUniform1fv)load("glProgramUniform1fv"); + fp_glProgramUniform1d = (pfn_glProgramUniform1d)load("glProgramUniform1d"); + fp_glProgramUniform1dv = (pfn_glProgramUniform1dv)load("glProgramUniform1dv"); + fp_glProgramUniform1ui = (pfn_glProgramUniform1ui)load("glProgramUniform1ui"); + fp_glProgramUniform1uiv = (pfn_glProgramUniform1uiv)load("glProgramUniform1uiv"); + fp_glProgramUniform2i = (pfn_glProgramUniform2i)load("glProgramUniform2i"); + fp_glProgramUniform2iv = (pfn_glProgramUniform2iv)load("glProgramUniform2iv"); + fp_glProgramUniform2f = (pfn_glProgramUniform2f)load("glProgramUniform2f"); + fp_glProgramUniform2fv = (pfn_glProgramUniform2fv)load("glProgramUniform2fv"); + fp_glProgramUniform2d = (pfn_glProgramUniform2d)load("glProgramUniform2d"); + fp_glProgramUniform2dv = (pfn_glProgramUniform2dv)load("glProgramUniform2dv"); + fp_glProgramUniform2ui = (pfn_glProgramUniform2ui)load("glProgramUniform2ui"); + fp_glProgramUniform2uiv = (pfn_glProgramUniform2uiv)load("glProgramUniform2uiv"); + fp_glProgramUniform3i = (pfn_glProgramUniform3i)load("glProgramUniform3i"); + fp_glProgramUniform3iv = (pfn_glProgramUniform3iv)load("glProgramUniform3iv"); + fp_glProgramUniform3f = (pfn_glProgramUniform3f)load("glProgramUniform3f"); + fp_glProgramUniform3fv = (pfn_glProgramUniform3fv)load("glProgramUniform3fv"); + fp_glProgramUniform3d = (pfn_glProgramUniform3d)load("glProgramUniform3d"); + fp_glProgramUniform3dv = (pfn_glProgramUniform3dv)load("glProgramUniform3dv"); + fp_glProgramUniform3ui = (pfn_glProgramUniform3ui)load("glProgramUniform3ui"); + fp_glProgramUniform3uiv = (pfn_glProgramUniform3uiv)load("glProgramUniform3uiv"); + fp_glProgramUniform4i = (pfn_glProgramUniform4i)load("glProgramUniform4i"); + fp_glProgramUniform4iv = (pfn_glProgramUniform4iv)load("glProgramUniform4iv"); + fp_glProgramUniform4f = (pfn_glProgramUniform4f)load("glProgramUniform4f"); + fp_glProgramUniform4fv = (pfn_glProgramUniform4fv)load("glProgramUniform4fv"); + fp_glProgramUniform4d = (pfn_glProgramUniform4d)load("glProgramUniform4d"); + fp_glProgramUniform4dv = (pfn_glProgramUniform4dv)load("glProgramUniform4dv"); + fp_glProgramUniform4ui = (pfn_glProgramUniform4ui)load("glProgramUniform4ui"); + fp_glProgramUniform4uiv = (pfn_glProgramUniform4uiv)load("glProgramUniform4uiv"); + fp_glProgramUniformMatrix2fv = (pfn_glProgramUniformMatrix2fv)load("glProgramUniformMatrix2fv"); + fp_glProgramUniformMatrix3fv = (pfn_glProgramUniformMatrix3fv)load("glProgramUniformMatrix3fv"); + fp_glProgramUniformMatrix4fv = (pfn_glProgramUniformMatrix4fv)load("glProgramUniformMatrix4fv"); + fp_glProgramUniformMatrix2dv = (pfn_glProgramUniformMatrix2dv)load("glProgramUniformMatrix2dv"); + fp_glProgramUniformMatrix3dv = (pfn_glProgramUniformMatrix3dv)load("glProgramUniformMatrix3dv"); + fp_glProgramUniformMatrix4dv = (pfn_glProgramUniformMatrix4dv)load("glProgramUniformMatrix4dv"); + fp_glProgramUniformMatrix2x3fv = (pfn_glProgramUniformMatrix2x3fv)load("glProgramUniformMatrix2x3fv"); + fp_glProgramUniformMatrix3x2fv = (pfn_glProgramUniformMatrix3x2fv)load("glProgramUniformMatrix3x2fv"); + fp_glProgramUniformMatrix2x4fv = (pfn_glProgramUniformMatrix2x4fv)load("glProgramUniformMatrix2x4fv"); + fp_glProgramUniformMatrix4x2fv = (pfn_glProgramUniformMatrix4x2fv)load("glProgramUniformMatrix4x2fv"); + fp_glProgramUniformMatrix3x4fv = (pfn_glProgramUniformMatrix3x4fv)load("glProgramUniformMatrix3x4fv"); + fp_glProgramUniformMatrix4x3fv = (pfn_glProgramUniformMatrix4x3fv)load("glProgramUniformMatrix4x3fv"); + fp_glProgramUniformMatrix2x3dv = (pfn_glProgramUniformMatrix2x3dv)load("glProgramUniformMatrix2x3dv"); + fp_glProgramUniformMatrix3x2dv = (pfn_glProgramUniformMatrix3x2dv)load("glProgramUniformMatrix3x2dv"); + fp_glProgramUniformMatrix2x4dv = (pfn_glProgramUniformMatrix2x4dv)load("glProgramUniformMatrix2x4dv"); + fp_glProgramUniformMatrix4x2dv = (pfn_glProgramUniformMatrix4x2dv)load("glProgramUniformMatrix4x2dv"); + fp_glProgramUniformMatrix3x4dv = (pfn_glProgramUniformMatrix3x4dv)load("glProgramUniformMatrix3x4dv"); + fp_glProgramUniformMatrix4x3dv = (pfn_glProgramUniformMatrix4x3dv)load("glProgramUniformMatrix4x3dv"); + fp_glValidateProgramPipeline = (pfn_glValidateProgramPipeline)load("glValidateProgramPipeline"); + fp_glGetProgramPipelineInfoLog = (pfn_glGetProgramPipelineInfoLog)load("glGetProgramPipelineInfoLog"); +} + +GLboolean GLAD_ARB_shader_atomic_counters = GL_FALSE; +static void load_GL_ARB_shader_atomic_counters(LOADER load) { + if(!GLAD_ARB_shader_atomic_counters) return; + fp_glGetActiveAtomicCounterBufferiv = (pfn_glGetActiveAtomicCounterBufferiv)load("glGetActiveAtomicCounterBufferiv"); +} + +GLboolean GLAD_ARB_shader_bit_encoding = GL_FALSE; +GLboolean GLAD_ARB_shader_draw_parameters = GL_FALSE; +GLboolean GLAD_ARB_shader_group_vote = GL_FALSE; +GLboolean GLAD_ARB_shader_image_load_store = GL_FALSE; +static void load_GL_ARB_shader_image_load_store(LOADER load) { + if(!GLAD_ARB_shader_image_load_store) return; + fp_glBindImageTexture = (pfn_glBindImageTexture)load("glBindImageTexture"); + fp_glMemoryBarrier = (pfn_glMemoryBarrier)load("glMemoryBarrier"); +} + +GLboolean GLAD_ARB_shader_image_size = GL_FALSE; +GLboolean GLAD_ARB_shader_precision = GL_FALSE; +GLboolean GLAD_ARB_shader_stencil_export = GL_FALSE; +GLboolean GLAD_ARB_shader_storage_buffer_object = GL_FALSE; +static void load_GL_ARB_shader_storage_buffer_object(LOADER load) { + if(!GLAD_ARB_shader_storage_buffer_object) return; + fp_glShaderStorageBlockBinding = (pfn_glShaderStorageBlockBinding)load("glShaderStorageBlockBinding"); +} + +GLboolean GLAD_ARB_shader_subroutine = GL_FALSE; +static void load_GL_ARB_shader_subroutine(LOADER load) { + if(!GLAD_ARB_shader_subroutine) return; + fp_glGetSubroutineUniformLocation = (pfn_glGetSubroutineUniformLocation)load("glGetSubroutineUniformLocation"); + fp_glGetSubroutineIndex = (pfn_glGetSubroutineIndex)load("glGetSubroutineIndex"); + fp_glGetActiveSubroutineUniformiv = (pfn_glGetActiveSubroutineUniformiv)load("glGetActiveSubroutineUniformiv"); + fp_glGetActiveSubroutineUniformName = (pfn_glGetActiveSubroutineUniformName)load("glGetActiveSubroutineUniformName"); + fp_glGetActiveSubroutineName = (pfn_glGetActiveSubroutineName)load("glGetActiveSubroutineName"); + fp_glUniformSubroutinesuiv = (pfn_glUniformSubroutinesuiv)load("glUniformSubroutinesuiv"); + fp_glGetUniformSubroutineuiv = (pfn_glGetUniformSubroutineuiv)load("glGetUniformSubroutineuiv"); + fp_glGetProgramStageiv = (pfn_glGetProgramStageiv)load("glGetProgramStageiv"); +} + +GLboolean GLAD_ARB_shader_texture_image_samples = GL_FALSE; +GLboolean GLAD_ARB_shader_texture_lod = GL_FALSE; +GLboolean GLAD_ARB_shading_language_420pack = GL_FALSE; +GLboolean GLAD_ARB_shading_language_include = GL_FALSE; +static void load_GL_ARB_shading_language_include(LOADER load) { + if(!GLAD_ARB_shading_language_include) return; + fp_glNamedStringARB = (pfn_glNamedStringARB)load("glNamedStringARB"); + fp_glDeleteNamedStringARB = (pfn_glDeleteNamedStringARB)load("glDeleteNamedStringARB"); + fp_glCompileShaderIncludeARB = (pfn_glCompileShaderIncludeARB)load("glCompileShaderIncludeARB"); + fp_glIsNamedStringARB = (pfn_glIsNamedStringARB)load("glIsNamedStringARB"); + fp_glGetNamedStringARB = (pfn_glGetNamedStringARB)load("glGetNamedStringARB"); + fp_glGetNamedStringivARB = (pfn_glGetNamedStringivARB)load("glGetNamedStringivARB"); +} + +GLboolean GLAD_ARB_shading_language_packing = GL_FALSE; +GLboolean GLAD_ARB_sparse_buffer = GL_FALSE; +static void load_GL_ARB_sparse_buffer(LOADER load) { + if(!GLAD_ARB_sparse_buffer) return; + fp_glBufferPageCommitmentARB = (pfn_glBufferPageCommitmentARB)load("glBufferPageCommitmentARB"); + fp_glNamedBufferPageCommitmentEXT = (pfn_glNamedBufferPageCommitmentEXT)load("glNamedBufferPageCommitmentEXT"); + fp_glNamedBufferPageCommitmentARB = (pfn_glNamedBufferPageCommitmentARB)load("glNamedBufferPageCommitmentARB"); +} + +GLboolean GLAD_ARB_sparse_texture = GL_FALSE; +static void load_GL_ARB_sparse_texture(LOADER load) { + if(!GLAD_ARB_sparse_texture) return; + fp_glTexPageCommitmentARB = (pfn_glTexPageCommitmentARB)load("glTexPageCommitmentARB"); +} + +GLboolean GLAD_ARB_stencil_texturing = GL_FALSE; +GLboolean GLAD_ARB_sync = GL_FALSE; +static void load_GL_ARB_sync(LOADER load) { + if(!GLAD_ARB_sync) return; + fp_glFenceSync = (pfn_glFenceSync)load("glFenceSync"); + fp_glIsSync = (pfn_glIsSync)load("glIsSync"); + fp_glDeleteSync = (pfn_glDeleteSync)load("glDeleteSync"); + fp_glClientWaitSync = (pfn_glClientWaitSync)load("glClientWaitSync"); + fp_glWaitSync = (pfn_glWaitSync)load("glWaitSync"); + fp_glGetInteger64v = (pfn_glGetInteger64v)load("glGetInteger64v"); + fp_glGetSynciv = (pfn_glGetSynciv)load("glGetSynciv"); +} + +GLboolean GLAD_ARB_tessellation_shader = GL_FALSE; +static void load_GL_ARB_tessellation_shader(LOADER load) { + if(!GLAD_ARB_tessellation_shader) return; + fp_glPatchParameteri = (pfn_glPatchParameteri)load("glPatchParameteri"); + fp_glPatchParameterfv = (pfn_glPatchParameterfv)load("glPatchParameterfv"); +} + +GLboolean GLAD_ARB_texture_barrier = GL_FALSE; +static void load_GL_ARB_texture_barrier(LOADER load) { + if(!GLAD_ARB_texture_barrier) return; + fp_glTextureBarrier = (pfn_glTextureBarrier)load("glTextureBarrier"); +} + +GLboolean GLAD_ARB_texture_buffer_object = GL_FALSE; +static void load_GL_ARB_texture_buffer_object(LOADER load) { + if(!GLAD_ARB_texture_buffer_object) return; + fp_glTexBufferARB = (pfn_glTexBufferARB)load("glTexBufferARB"); +} + +GLboolean GLAD_ARB_texture_buffer_object_rgb32 = GL_FALSE; +GLboolean GLAD_ARB_texture_buffer_range = GL_FALSE; +static void load_GL_ARB_texture_buffer_range(LOADER load) { + if(!GLAD_ARB_texture_buffer_range) return; + fp_glTexBufferRange = (pfn_glTexBufferRange)load("glTexBufferRange"); +} + +GLboolean GLAD_ARB_texture_compression_bptc = GL_FALSE; +GLboolean GLAD_ARB_texture_compression_rgtc = GL_FALSE; +GLboolean GLAD_ARB_texture_cube_map_array = GL_FALSE; +GLboolean GLAD_ARB_texture_float = GL_FALSE; +GLboolean GLAD_ARB_texture_gather = GL_FALSE; +GLboolean GLAD_ARB_texture_mirror_clamp_to_edge = GL_FALSE; +GLboolean GLAD_ARB_texture_multisample = GL_FALSE; +static void load_GL_ARB_texture_multisample(LOADER load) { + if(!GLAD_ARB_texture_multisample) return; + fp_glTexImage2DMultisample = (pfn_glTexImage2DMultisample)load("glTexImage2DMultisample"); + fp_glTexImage3DMultisample = (pfn_glTexImage3DMultisample)load("glTexImage3DMultisample"); + fp_glGetMultisamplefv = (pfn_glGetMultisamplefv)load("glGetMultisamplefv"); + fp_glSampleMaski = (pfn_glSampleMaski)load("glSampleMaski"); +} + +GLboolean GLAD_ARB_texture_query_levels = GL_FALSE; +GLboolean GLAD_ARB_texture_query_lod = GL_FALSE; +GLboolean GLAD_ARB_texture_rectangle = GL_FALSE; +GLboolean GLAD_ARB_texture_rg = GL_FALSE; +GLboolean GLAD_ARB_texture_rgb10_a2ui = GL_FALSE; +GLboolean GLAD_ARB_texture_stencil8 = GL_FALSE; +GLboolean GLAD_ARB_texture_storage = GL_FALSE; +static void load_GL_ARB_texture_storage(LOADER load) { + if(!GLAD_ARB_texture_storage) return; + fp_glTexStorage1D = (pfn_glTexStorage1D)load("glTexStorage1D"); + fp_glTexStorage2D = (pfn_glTexStorage2D)load("glTexStorage2D"); + fp_glTexStorage3D = (pfn_glTexStorage3D)load("glTexStorage3D"); +} + +GLboolean GLAD_ARB_texture_storage_multisample = GL_FALSE; +static void load_GL_ARB_texture_storage_multisample(LOADER load) { + if(!GLAD_ARB_texture_storage_multisample) return; + fp_glTexStorage2DMultisample = (pfn_glTexStorage2DMultisample)load("glTexStorage2DMultisample"); + fp_glTexStorage3DMultisample = (pfn_glTexStorage3DMultisample)load("glTexStorage3DMultisample"); +} + +GLboolean GLAD_ARB_texture_swizzle = GL_FALSE; +GLboolean GLAD_ARB_texture_view = GL_FALSE; +static void load_GL_ARB_texture_view(LOADER load) { + if(!GLAD_ARB_texture_view) return; + fp_glTextureView = (pfn_glTextureView)load("glTextureView"); +} + +GLboolean GLAD_ARB_timer_query = GL_FALSE; +static void load_GL_ARB_timer_query(LOADER load) { + if(!GLAD_ARB_timer_query) return; + fp_glQueryCounter = (pfn_glQueryCounter)load("glQueryCounter"); + fp_glGetQueryObjecti64v = (pfn_glGetQueryObjecti64v)load("glGetQueryObjecti64v"); + fp_glGetQueryObjectui64v = (pfn_glGetQueryObjectui64v)load("glGetQueryObjectui64v"); +} + +GLboolean GLAD_ARB_transform_feedback2 = GL_FALSE; +static void load_GL_ARB_transform_feedback2(LOADER load) { + if(!GLAD_ARB_transform_feedback2) return; + fp_glBindTransformFeedback = (pfn_glBindTransformFeedback)load("glBindTransformFeedback"); + fp_glDeleteTransformFeedbacks = (pfn_glDeleteTransformFeedbacks)load("glDeleteTransformFeedbacks"); + fp_glGenTransformFeedbacks = (pfn_glGenTransformFeedbacks)load("glGenTransformFeedbacks"); + fp_glIsTransformFeedback = (pfn_glIsTransformFeedback)load("glIsTransformFeedback"); + fp_glPauseTransformFeedback = (pfn_glPauseTransformFeedback)load("glPauseTransformFeedback"); + fp_glResumeTransformFeedback = (pfn_glResumeTransformFeedback)load("glResumeTransformFeedback"); + fp_glDrawTransformFeedback = (pfn_glDrawTransformFeedback)load("glDrawTransformFeedback"); +} + +GLboolean GLAD_ARB_transform_feedback3 = GL_FALSE; +static void load_GL_ARB_transform_feedback3(LOADER load) { + if(!GLAD_ARB_transform_feedback3) return; + fp_glDrawTransformFeedbackStream = (pfn_glDrawTransformFeedbackStream)load("glDrawTransformFeedbackStream"); + fp_glBeginQueryIndexed = (pfn_glBeginQueryIndexed)load("glBeginQueryIndexed"); + fp_glEndQueryIndexed = (pfn_glEndQueryIndexed)load("glEndQueryIndexed"); + fp_glGetQueryIndexediv = (pfn_glGetQueryIndexediv)load("glGetQueryIndexediv"); +} + +GLboolean GLAD_ARB_transform_feedback_instanced = GL_FALSE; +static void load_GL_ARB_transform_feedback_instanced(LOADER load) { + if(!GLAD_ARB_transform_feedback_instanced) return; + fp_glDrawTransformFeedbackInstanced = (pfn_glDrawTransformFeedbackInstanced)load("glDrawTransformFeedbackInstanced"); + fp_glDrawTransformFeedbackStreamInstanced = (pfn_glDrawTransformFeedbackStreamInstanced)load("glDrawTransformFeedbackStreamInstanced"); +} + +GLboolean GLAD_ARB_transform_feedback_overflow_query = GL_FALSE; +GLboolean GLAD_ARB_uniform_buffer_object = GL_FALSE; +static void load_GL_ARB_uniform_buffer_object(LOADER load) { + if(!GLAD_ARB_uniform_buffer_object) return; + fp_glGetUniformIndices = (pfn_glGetUniformIndices)load("glGetUniformIndices"); + fp_glGetActiveUniformsiv = (pfn_glGetActiveUniformsiv)load("glGetActiveUniformsiv"); + fp_glGetActiveUniformName = (pfn_glGetActiveUniformName)load("glGetActiveUniformName"); + fp_glGetUniformBlockIndex = (pfn_glGetUniformBlockIndex)load("glGetUniformBlockIndex"); + fp_glGetActiveUniformBlockiv = (pfn_glGetActiveUniformBlockiv)load("glGetActiveUniformBlockiv"); + fp_glGetActiveUniformBlockName = (pfn_glGetActiveUniformBlockName)load("glGetActiveUniformBlockName"); + fp_glUniformBlockBinding = (pfn_glUniformBlockBinding)load("glUniformBlockBinding"); +} + +GLboolean GLAD_ARB_vertex_array_bgra = GL_FALSE; +GLboolean GLAD_ARB_vertex_array_object = GL_FALSE; +static void load_GL_ARB_vertex_array_object(LOADER load) { + if(!GLAD_ARB_vertex_array_object) return; + fp_glBindVertexArray = (pfn_glBindVertexArray)load("glBindVertexArray"); + fp_glDeleteVertexArrays = (pfn_glDeleteVertexArrays)load("glDeleteVertexArrays"); + fp_glGenVertexArrays = (pfn_glGenVertexArrays)load("glGenVertexArrays"); + fp_glIsVertexArray = (pfn_glIsVertexArray)load("glIsVertexArray"); +} + +GLboolean GLAD_ARB_vertex_attrib_64bit = GL_FALSE; +static void load_GL_ARB_vertex_attrib_64bit(LOADER load) { + if(!GLAD_ARB_vertex_attrib_64bit) return; + fp_glVertexAttribL1d = (pfn_glVertexAttribL1d)load("glVertexAttribL1d"); + fp_glVertexAttribL2d = (pfn_glVertexAttribL2d)load("glVertexAttribL2d"); + fp_glVertexAttribL3d = (pfn_glVertexAttribL3d)load("glVertexAttribL3d"); + fp_glVertexAttribL4d = (pfn_glVertexAttribL4d)load("glVertexAttribL4d"); + fp_glVertexAttribL1dv = (pfn_glVertexAttribL1dv)load("glVertexAttribL1dv"); + fp_glVertexAttribL2dv = (pfn_glVertexAttribL2dv)load("glVertexAttribL2dv"); + fp_glVertexAttribL3dv = (pfn_glVertexAttribL3dv)load("glVertexAttribL3dv"); + fp_glVertexAttribL4dv = (pfn_glVertexAttribL4dv)load("glVertexAttribL4dv"); + fp_glVertexAttribLPointer = (pfn_glVertexAttribLPointer)load("glVertexAttribLPointer"); + fp_glGetVertexAttribLdv = (pfn_glGetVertexAttribLdv)load("glGetVertexAttribLdv"); +} + +GLboolean GLAD_ARB_vertex_attrib_binding = GL_FALSE; +static void load_GL_ARB_vertex_attrib_binding(LOADER load) { + if(!GLAD_ARB_vertex_attrib_binding) return; + fp_glBindVertexBuffer = (pfn_glBindVertexBuffer)load("glBindVertexBuffer"); + fp_glVertexAttribFormat = (pfn_glVertexAttribFormat)load("glVertexAttribFormat"); + fp_glVertexAttribIFormat = (pfn_glVertexAttribIFormat)load("glVertexAttribIFormat"); + fp_glVertexAttribLFormat = (pfn_glVertexAttribLFormat)load("glVertexAttribLFormat"); + fp_glVertexAttribBinding = (pfn_glVertexAttribBinding)load("glVertexAttribBinding"); + fp_glVertexBindingDivisor = (pfn_glVertexBindingDivisor)load("glVertexBindingDivisor"); +} + +GLboolean GLAD_ARB_vertex_type_10f_11f_11f_rev = GL_FALSE; +GLboolean GLAD_ARB_vertex_type_2_10_10_10_rev = GL_FALSE; +static void load_GL_ARB_vertex_type_2_10_10_10_rev(LOADER load) { + if(!GLAD_ARB_vertex_type_2_10_10_10_rev) return; + fp_glVertexAttribP1ui = (pfn_glVertexAttribP1ui)load("glVertexAttribP1ui"); + fp_glVertexAttribP1uiv = (pfn_glVertexAttribP1uiv)load("glVertexAttribP1uiv"); + fp_glVertexAttribP2ui = (pfn_glVertexAttribP2ui)load("glVertexAttribP2ui"); + fp_glVertexAttribP2uiv = (pfn_glVertexAttribP2uiv)load("glVertexAttribP2uiv"); + fp_glVertexAttribP3ui = (pfn_glVertexAttribP3ui)load("glVertexAttribP3ui"); + fp_glVertexAttribP3uiv = (pfn_glVertexAttribP3uiv)load("glVertexAttribP3uiv"); + fp_glVertexAttribP4ui = (pfn_glVertexAttribP4ui)load("glVertexAttribP4ui"); + fp_glVertexAttribP4uiv = (pfn_glVertexAttribP4uiv)load("glVertexAttribP4uiv"); + fp_glVertexP2ui = (pfn_glVertexP2ui)load("glVertexP2ui"); + fp_glVertexP2uiv = (pfn_glVertexP2uiv)load("glVertexP2uiv"); + fp_glVertexP3ui = (pfn_glVertexP3ui)load("glVertexP3ui"); + fp_glVertexP3uiv = (pfn_glVertexP3uiv)load("glVertexP3uiv"); + fp_glVertexP4ui = (pfn_glVertexP4ui)load("glVertexP4ui"); + fp_glVertexP4uiv = (pfn_glVertexP4uiv)load("glVertexP4uiv"); + fp_glTexCoordP1ui = (pfn_glTexCoordP1ui)load("glTexCoordP1ui"); + fp_glTexCoordP1uiv = (pfn_glTexCoordP1uiv)load("glTexCoordP1uiv"); + fp_glTexCoordP2ui = (pfn_glTexCoordP2ui)load("glTexCoordP2ui"); + fp_glTexCoordP2uiv = (pfn_glTexCoordP2uiv)load("glTexCoordP2uiv"); + fp_glTexCoordP3ui = (pfn_glTexCoordP3ui)load("glTexCoordP3ui"); + fp_glTexCoordP3uiv = (pfn_glTexCoordP3uiv)load("glTexCoordP3uiv"); + fp_glTexCoordP4ui = (pfn_glTexCoordP4ui)load("glTexCoordP4ui"); + fp_glTexCoordP4uiv = (pfn_glTexCoordP4uiv)load("glTexCoordP4uiv"); + fp_glMultiTexCoordP1ui = (pfn_glMultiTexCoordP1ui)load("glMultiTexCoordP1ui"); + fp_glMultiTexCoordP1uiv = (pfn_glMultiTexCoordP1uiv)load("glMultiTexCoordP1uiv"); + fp_glMultiTexCoordP2ui = (pfn_glMultiTexCoordP2ui)load("glMultiTexCoordP2ui"); + fp_glMultiTexCoordP2uiv = (pfn_glMultiTexCoordP2uiv)load("glMultiTexCoordP2uiv"); + fp_glMultiTexCoordP3ui = (pfn_glMultiTexCoordP3ui)load("glMultiTexCoordP3ui"); + fp_glMultiTexCoordP3uiv = (pfn_glMultiTexCoordP3uiv)load("glMultiTexCoordP3uiv"); + fp_glMultiTexCoordP4ui = (pfn_glMultiTexCoordP4ui)load("glMultiTexCoordP4ui"); + fp_glMultiTexCoordP4uiv = (pfn_glMultiTexCoordP4uiv)load("glMultiTexCoordP4uiv"); + fp_glNormalP3ui = (pfn_glNormalP3ui)load("glNormalP3ui"); + fp_glNormalP3uiv = (pfn_glNormalP3uiv)load("glNormalP3uiv"); + fp_glColorP3ui = (pfn_glColorP3ui)load("glColorP3ui"); + fp_glColorP3uiv = (pfn_glColorP3uiv)load("glColorP3uiv"); + fp_glColorP4ui = (pfn_glColorP4ui)load("glColorP4ui"); + fp_glColorP4uiv = (pfn_glColorP4uiv)load("glColorP4uiv"); + fp_glSecondaryColorP3ui = (pfn_glSecondaryColorP3ui)load("glSecondaryColorP3ui"); + fp_glSecondaryColorP3uiv = (pfn_glSecondaryColorP3uiv)load("glSecondaryColorP3uiv"); +} + +GLboolean GLAD_ARB_viewport_array = GL_FALSE; +static void load_GL_ARB_viewport_array(LOADER load) { + if(!GLAD_ARB_viewport_array) return; + fp_glViewportArrayv = (pfn_glViewportArrayv)load("glViewportArrayv"); + fp_glViewportIndexedf = (pfn_glViewportIndexedf)load("glViewportIndexedf"); + fp_glViewportIndexedfv = (pfn_glViewportIndexedfv)load("glViewportIndexedfv"); + fp_glScissorArrayv = (pfn_glScissorArrayv)load("glScissorArrayv"); + fp_glScissorIndexed = (pfn_glScissorIndexed)load("glScissorIndexed"); + fp_glScissorIndexedv = (pfn_glScissorIndexedv)load("glScissorIndexedv"); + fp_glDepthRangeArrayv = (pfn_glDepthRangeArrayv)load("glDepthRangeArrayv"); + fp_glDepthRangeIndexed = (pfn_glDepthRangeIndexed)load("glDepthRangeIndexed"); + fp_glGetFloati_v = (pfn_glGetFloati_v)load("glGetFloati_v"); + fp_glGetDoublei_v = (pfn_glGetDoublei_v)load("glGetDoublei_v"); +} + +GLboolean GLAD_EXT_bgra = GL_FALSE; +GLboolean GLAD_EXT_bindable_uniform = GL_FALSE; +static void load_GL_EXT_bindable_uniform(LOADER load) { + if(!GLAD_EXT_bindable_uniform) return; + fp_glUniformBufferEXT = (pfn_glUniformBufferEXT)load("glUniformBufferEXT"); + fp_glGetUniformBufferSizeEXT = (pfn_glGetUniformBufferSizeEXT)load("glGetUniformBufferSizeEXT"); + fp_glGetUniformOffsetEXT = (pfn_glGetUniformOffsetEXT)load("glGetUniformOffsetEXT"); +} + +GLboolean GLAD_EXT_color_buffer_half_float = GL_FALSE; +GLboolean GLAD_EXT_copy_image = GL_FALSE; +static void load_GL_EXT_copy_image(LOADER load) { + if(!GLAD_EXT_copy_image) return; + fp_glCopyImageSubDataEXT = (pfn_glCopyImageSubDataEXT)load("glCopyImageSubDataEXT"); +} + +GLboolean GLAD_EXT_debug_label = GL_FALSE; +static void load_GL_EXT_debug_label(LOADER load) { + if(!GLAD_EXT_debug_label) return; + fp_glLabelObjectEXT = (pfn_glLabelObjectEXT)load("glLabelObjectEXT"); + fp_glGetObjectLabelEXT = (pfn_glGetObjectLabelEXT)load("glGetObjectLabelEXT"); +} + +GLboolean GLAD_EXT_debug_marker = GL_FALSE; +static void load_GL_EXT_debug_marker(LOADER load) { + if(!GLAD_EXT_debug_marker) return; + fp_glInsertEventMarkerEXT = (pfn_glInsertEventMarkerEXT)load("glInsertEventMarkerEXT"); + fp_glPushGroupMarkerEXT = (pfn_glPushGroupMarkerEXT)load("glPushGroupMarkerEXT"); + fp_glPopGroupMarkerEXT = (pfn_glPopGroupMarkerEXT)load("glPopGroupMarkerEXT"); +} + +GLboolean GLAD_EXT_direct_state_access = GL_FALSE; +static void load_GL_EXT_direct_state_access(LOADER load) { + if(!GLAD_EXT_direct_state_access) return; + fp_glMatrixLoadfEXT = (pfn_glMatrixLoadfEXT)load("glMatrixLoadfEXT"); + fp_glMatrixLoaddEXT = (pfn_glMatrixLoaddEXT)load("glMatrixLoaddEXT"); + fp_glMatrixMultfEXT = (pfn_glMatrixMultfEXT)load("glMatrixMultfEXT"); + fp_glMatrixMultdEXT = (pfn_glMatrixMultdEXT)load("glMatrixMultdEXT"); + fp_glMatrixLoadIdentityEXT = (pfn_glMatrixLoadIdentityEXT)load("glMatrixLoadIdentityEXT"); + fp_glMatrixRotatefEXT = (pfn_glMatrixRotatefEXT)load("glMatrixRotatefEXT"); + fp_glMatrixRotatedEXT = (pfn_glMatrixRotatedEXT)load("glMatrixRotatedEXT"); + fp_glMatrixScalefEXT = (pfn_glMatrixScalefEXT)load("glMatrixScalefEXT"); + fp_glMatrixScaledEXT = (pfn_glMatrixScaledEXT)load("glMatrixScaledEXT"); + fp_glMatrixTranslatefEXT = (pfn_glMatrixTranslatefEXT)load("glMatrixTranslatefEXT"); + fp_glMatrixTranslatedEXT = (pfn_glMatrixTranslatedEXT)load("glMatrixTranslatedEXT"); + fp_glMatrixFrustumEXT = (pfn_glMatrixFrustumEXT)load("glMatrixFrustumEXT"); + fp_glMatrixOrthoEXT = (pfn_glMatrixOrthoEXT)load("glMatrixOrthoEXT"); + fp_glMatrixPopEXT = (pfn_glMatrixPopEXT)load("glMatrixPopEXT"); + fp_glMatrixPushEXT = (pfn_glMatrixPushEXT)load("glMatrixPushEXT"); + fp_glClientAttribDefaultEXT = (pfn_glClientAttribDefaultEXT)load("glClientAttribDefaultEXT"); + fp_glPushClientAttribDefaultEXT = (pfn_glPushClientAttribDefaultEXT)load("glPushClientAttribDefaultEXT"); + fp_glTextureParameterfEXT = (pfn_glTextureParameterfEXT)load("glTextureParameterfEXT"); + fp_glTextureParameterfvEXT = (pfn_glTextureParameterfvEXT)load("glTextureParameterfvEXT"); + fp_glTextureParameteriEXT = (pfn_glTextureParameteriEXT)load("glTextureParameteriEXT"); + fp_glTextureParameterivEXT = (pfn_glTextureParameterivEXT)load("glTextureParameterivEXT"); + fp_glTextureImage1DEXT = (pfn_glTextureImage1DEXT)load("glTextureImage1DEXT"); + fp_glTextureImage2DEXT = (pfn_glTextureImage2DEXT)load("glTextureImage2DEXT"); + fp_glTextureSubImage1DEXT = (pfn_glTextureSubImage1DEXT)load("glTextureSubImage1DEXT"); + fp_glTextureSubImage2DEXT = (pfn_glTextureSubImage2DEXT)load("glTextureSubImage2DEXT"); + fp_glCopyTextureImage1DEXT = (pfn_glCopyTextureImage1DEXT)load("glCopyTextureImage1DEXT"); + fp_glCopyTextureImage2DEXT = (pfn_glCopyTextureImage2DEXT)load("glCopyTextureImage2DEXT"); + fp_glCopyTextureSubImage1DEXT = (pfn_glCopyTextureSubImage1DEXT)load("glCopyTextureSubImage1DEXT"); + fp_glCopyTextureSubImage2DEXT = (pfn_glCopyTextureSubImage2DEXT)load("glCopyTextureSubImage2DEXT"); + fp_glGetTextureImageEXT = (pfn_glGetTextureImageEXT)load("glGetTextureImageEXT"); + fp_glGetTextureParameterfvEXT = (pfn_glGetTextureParameterfvEXT)load("glGetTextureParameterfvEXT"); + fp_glGetTextureParameterivEXT = (pfn_glGetTextureParameterivEXT)load("glGetTextureParameterivEXT"); + fp_glGetTextureLevelParameterfvEXT = (pfn_glGetTextureLevelParameterfvEXT)load("glGetTextureLevelParameterfvEXT"); + fp_glGetTextureLevelParameterivEXT = (pfn_glGetTextureLevelParameterivEXT)load("glGetTextureLevelParameterivEXT"); + fp_glTextureImage3DEXT = (pfn_glTextureImage3DEXT)load("glTextureImage3DEXT"); + fp_glTextureSubImage3DEXT = (pfn_glTextureSubImage3DEXT)load("glTextureSubImage3DEXT"); + fp_glCopyTextureSubImage3DEXT = (pfn_glCopyTextureSubImage3DEXT)load("glCopyTextureSubImage3DEXT"); + fp_glBindMultiTextureEXT = (pfn_glBindMultiTextureEXT)load("glBindMultiTextureEXT"); + fp_glMultiTexCoordPointerEXT = (pfn_glMultiTexCoordPointerEXT)load("glMultiTexCoordPointerEXT"); + fp_glMultiTexEnvfEXT = (pfn_glMultiTexEnvfEXT)load("glMultiTexEnvfEXT"); + fp_glMultiTexEnvfvEXT = (pfn_glMultiTexEnvfvEXT)load("glMultiTexEnvfvEXT"); + fp_glMultiTexEnviEXT = (pfn_glMultiTexEnviEXT)load("glMultiTexEnviEXT"); + fp_glMultiTexEnvivEXT = (pfn_glMultiTexEnvivEXT)load("glMultiTexEnvivEXT"); + fp_glMultiTexGendEXT = (pfn_glMultiTexGendEXT)load("glMultiTexGendEXT"); + fp_glMultiTexGendvEXT = (pfn_glMultiTexGendvEXT)load("glMultiTexGendvEXT"); + fp_glMultiTexGenfEXT = (pfn_glMultiTexGenfEXT)load("glMultiTexGenfEXT"); + fp_glMultiTexGenfvEXT = (pfn_glMultiTexGenfvEXT)load("glMultiTexGenfvEXT"); + fp_glMultiTexGeniEXT = (pfn_glMultiTexGeniEXT)load("glMultiTexGeniEXT"); + fp_glMultiTexGenivEXT = (pfn_glMultiTexGenivEXT)load("glMultiTexGenivEXT"); + fp_glGetMultiTexEnvfvEXT = (pfn_glGetMultiTexEnvfvEXT)load("glGetMultiTexEnvfvEXT"); + fp_glGetMultiTexEnvivEXT = (pfn_glGetMultiTexEnvivEXT)load("glGetMultiTexEnvivEXT"); + fp_glGetMultiTexGendvEXT = (pfn_glGetMultiTexGendvEXT)load("glGetMultiTexGendvEXT"); + fp_glGetMultiTexGenfvEXT = (pfn_glGetMultiTexGenfvEXT)load("glGetMultiTexGenfvEXT"); + fp_glGetMultiTexGenivEXT = (pfn_glGetMultiTexGenivEXT)load("glGetMultiTexGenivEXT"); + fp_glMultiTexParameteriEXT = (pfn_glMultiTexParameteriEXT)load("glMultiTexParameteriEXT"); + fp_glMultiTexParameterivEXT = (pfn_glMultiTexParameterivEXT)load("glMultiTexParameterivEXT"); + fp_glMultiTexParameterfEXT = (pfn_glMultiTexParameterfEXT)load("glMultiTexParameterfEXT"); + fp_glMultiTexParameterfvEXT = (pfn_glMultiTexParameterfvEXT)load("glMultiTexParameterfvEXT"); + fp_glMultiTexImage1DEXT = (pfn_glMultiTexImage1DEXT)load("glMultiTexImage1DEXT"); + fp_glMultiTexImage2DEXT = (pfn_glMultiTexImage2DEXT)load("glMultiTexImage2DEXT"); + fp_glMultiTexSubImage1DEXT = (pfn_glMultiTexSubImage1DEXT)load("glMultiTexSubImage1DEXT"); + fp_glMultiTexSubImage2DEXT = (pfn_glMultiTexSubImage2DEXT)load("glMultiTexSubImage2DEXT"); + fp_glCopyMultiTexImage1DEXT = (pfn_glCopyMultiTexImage1DEXT)load("glCopyMultiTexImage1DEXT"); + fp_glCopyMultiTexImage2DEXT = (pfn_glCopyMultiTexImage2DEXT)load("glCopyMultiTexImage2DEXT"); + fp_glCopyMultiTexSubImage1DEXT = (pfn_glCopyMultiTexSubImage1DEXT)load("glCopyMultiTexSubImage1DEXT"); + fp_glCopyMultiTexSubImage2DEXT = (pfn_glCopyMultiTexSubImage2DEXT)load("glCopyMultiTexSubImage2DEXT"); + fp_glGetMultiTexImageEXT = (pfn_glGetMultiTexImageEXT)load("glGetMultiTexImageEXT"); + fp_glGetMultiTexParameterfvEXT = (pfn_glGetMultiTexParameterfvEXT)load("glGetMultiTexParameterfvEXT"); + fp_glGetMultiTexParameterivEXT = (pfn_glGetMultiTexParameterivEXT)load("glGetMultiTexParameterivEXT"); + fp_glGetMultiTexLevelParameterfvEXT = (pfn_glGetMultiTexLevelParameterfvEXT)load("glGetMultiTexLevelParameterfvEXT"); + fp_glGetMultiTexLevelParameterivEXT = (pfn_glGetMultiTexLevelParameterivEXT)load("glGetMultiTexLevelParameterivEXT"); + fp_glMultiTexImage3DEXT = (pfn_glMultiTexImage3DEXT)load("glMultiTexImage3DEXT"); + fp_glMultiTexSubImage3DEXT = (pfn_glMultiTexSubImage3DEXT)load("glMultiTexSubImage3DEXT"); + fp_glCopyMultiTexSubImage3DEXT = (pfn_glCopyMultiTexSubImage3DEXT)load("glCopyMultiTexSubImage3DEXT"); + fp_glEnableClientStateIndexedEXT = (pfn_glEnableClientStateIndexedEXT)load("glEnableClientStateIndexedEXT"); + fp_glDisableClientStateIndexedEXT = (pfn_glDisableClientStateIndexedEXT)load("glDisableClientStateIndexedEXT"); + fp_glGetFloatIndexedvEXT = (pfn_glGetFloatIndexedvEXT)load("glGetFloatIndexedvEXT"); + fp_glGetDoubleIndexedvEXT = (pfn_glGetDoubleIndexedvEXT)load("glGetDoubleIndexedvEXT"); + fp_glGetPointerIndexedvEXT = (pfn_glGetPointerIndexedvEXT)load("glGetPointerIndexedvEXT"); + fp_glEnableIndexedEXT = (pfn_glEnableIndexedEXT)load("glEnableIndexedEXT"); + fp_glDisableIndexedEXT = (pfn_glDisableIndexedEXT)load("glDisableIndexedEXT"); + fp_glIsEnabledIndexedEXT = (pfn_glIsEnabledIndexedEXT)load("glIsEnabledIndexedEXT"); + fp_glGetIntegerIndexedvEXT = (pfn_glGetIntegerIndexedvEXT)load("glGetIntegerIndexedvEXT"); + fp_glGetBooleanIndexedvEXT = (pfn_glGetBooleanIndexedvEXT)load("glGetBooleanIndexedvEXT"); + fp_glCompressedTextureImage3DEXT = (pfn_glCompressedTextureImage3DEXT)load("glCompressedTextureImage3DEXT"); + fp_glCompressedTextureImage2DEXT = (pfn_glCompressedTextureImage2DEXT)load("glCompressedTextureImage2DEXT"); + fp_glCompressedTextureImage1DEXT = (pfn_glCompressedTextureImage1DEXT)load("glCompressedTextureImage1DEXT"); + fp_glCompressedTextureSubImage3DEXT = (pfn_glCompressedTextureSubImage3DEXT)load("glCompressedTextureSubImage3DEXT"); + fp_glCompressedTextureSubImage2DEXT = (pfn_glCompressedTextureSubImage2DEXT)load("glCompressedTextureSubImage2DEXT"); + fp_glCompressedTextureSubImage1DEXT = (pfn_glCompressedTextureSubImage1DEXT)load("glCompressedTextureSubImage1DEXT"); + fp_glGetCompressedTextureImageEXT = (pfn_glGetCompressedTextureImageEXT)load("glGetCompressedTextureImageEXT"); + fp_glCompressedMultiTexImage3DEXT = (pfn_glCompressedMultiTexImage3DEXT)load("glCompressedMultiTexImage3DEXT"); + fp_glCompressedMultiTexImage2DEXT = (pfn_glCompressedMultiTexImage2DEXT)load("glCompressedMultiTexImage2DEXT"); + fp_glCompressedMultiTexImage1DEXT = (pfn_glCompressedMultiTexImage1DEXT)load("glCompressedMultiTexImage1DEXT"); + fp_glCompressedMultiTexSubImage3DEXT = (pfn_glCompressedMultiTexSubImage3DEXT)load("glCompressedMultiTexSubImage3DEXT"); + fp_glCompressedMultiTexSubImage2DEXT = (pfn_glCompressedMultiTexSubImage2DEXT)load("glCompressedMultiTexSubImage2DEXT"); + fp_glCompressedMultiTexSubImage1DEXT = (pfn_glCompressedMultiTexSubImage1DEXT)load("glCompressedMultiTexSubImage1DEXT"); + fp_glGetCompressedMultiTexImageEXT = (pfn_glGetCompressedMultiTexImageEXT)load("glGetCompressedMultiTexImageEXT"); + fp_glMatrixLoadTransposefEXT = (pfn_glMatrixLoadTransposefEXT)load("glMatrixLoadTransposefEXT"); + fp_glMatrixLoadTransposedEXT = (pfn_glMatrixLoadTransposedEXT)load("glMatrixLoadTransposedEXT"); + fp_glMatrixMultTransposefEXT = (pfn_glMatrixMultTransposefEXT)load("glMatrixMultTransposefEXT"); + fp_glMatrixMultTransposedEXT = (pfn_glMatrixMultTransposedEXT)load("glMatrixMultTransposedEXT"); + fp_glNamedBufferDataEXT = (pfn_glNamedBufferDataEXT)load("glNamedBufferDataEXT"); + fp_glNamedBufferSubDataEXT = (pfn_glNamedBufferSubDataEXT)load("glNamedBufferSubDataEXT"); + fp_glMapNamedBufferEXT = (pfn_glMapNamedBufferEXT)load("glMapNamedBufferEXT"); + fp_glUnmapNamedBufferEXT = (pfn_glUnmapNamedBufferEXT)load("glUnmapNamedBufferEXT"); + fp_glGetNamedBufferParameterivEXT = (pfn_glGetNamedBufferParameterivEXT)load("glGetNamedBufferParameterivEXT"); + fp_glGetNamedBufferPointervEXT = (pfn_glGetNamedBufferPointervEXT)load("glGetNamedBufferPointervEXT"); + fp_glGetNamedBufferSubDataEXT = (pfn_glGetNamedBufferSubDataEXT)load("glGetNamedBufferSubDataEXT"); + fp_glProgramUniform1fEXT = (pfn_glProgramUniform1fEXT)load("glProgramUniform1fEXT"); + fp_glProgramUniform2fEXT = (pfn_glProgramUniform2fEXT)load("glProgramUniform2fEXT"); + fp_glProgramUniform3fEXT = (pfn_glProgramUniform3fEXT)load("glProgramUniform3fEXT"); + fp_glProgramUniform4fEXT = (pfn_glProgramUniform4fEXT)load("glProgramUniform4fEXT"); + fp_glProgramUniform1iEXT = (pfn_glProgramUniform1iEXT)load("glProgramUniform1iEXT"); + fp_glProgramUniform2iEXT = (pfn_glProgramUniform2iEXT)load("glProgramUniform2iEXT"); + fp_glProgramUniform3iEXT = (pfn_glProgramUniform3iEXT)load("glProgramUniform3iEXT"); + fp_glProgramUniform4iEXT = (pfn_glProgramUniform4iEXT)load("glProgramUniform4iEXT"); + fp_glProgramUniform1fvEXT = (pfn_glProgramUniform1fvEXT)load("glProgramUniform1fvEXT"); + fp_glProgramUniform2fvEXT = (pfn_glProgramUniform2fvEXT)load("glProgramUniform2fvEXT"); + fp_glProgramUniform3fvEXT = (pfn_glProgramUniform3fvEXT)load("glProgramUniform3fvEXT"); + fp_glProgramUniform4fvEXT = (pfn_glProgramUniform4fvEXT)load("glProgramUniform4fvEXT"); + fp_glProgramUniform1ivEXT = (pfn_glProgramUniform1ivEXT)load("glProgramUniform1ivEXT"); + fp_glProgramUniform2ivEXT = (pfn_glProgramUniform2ivEXT)load("glProgramUniform2ivEXT"); + fp_glProgramUniform3ivEXT = (pfn_glProgramUniform3ivEXT)load("glProgramUniform3ivEXT"); + fp_glProgramUniform4ivEXT = (pfn_glProgramUniform4ivEXT)load("glProgramUniform4ivEXT"); + fp_glProgramUniformMatrix2fvEXT = (pfn_glProgramUniformMatrix2fvEXT)load("glProgramUniformMatrix2fvEXT"); + fp_glProgramUniformMatrix3fvEXT = (pfn_glProgramUniformMatrix3fvEXT)load("glProgramUniformMatrix3fvEXT"); + fp_glProgramUniformMatrix4fvEXT = (pfn_glProgramUniformMatrix4fvEXT)load("glProgramUniformMatrix4fvEXT"); + fp_glProgramUniformMatrix2x3fvEXT = (pfn_glProgramUniformMatrix2x3fvEXT)load("glProgramUniformMatrix2x3fvEXT"); + fp_glProgramUniformMatrix3x2fvEXT = (pfn_glProgramUniformMatrix3x2fvEXT)load("glProgramUniformMatrix3x2fvEXT"); + fp_glProgramUniformMatrix2x4fvEXT = (pfn_glProgramUniformMatrix2x4fvEXT)load("glProgramUniformMatrix2x4fvEXT"); + fp_glProgramUniformMatrix4x2fvEXT = (pfn_glProgramUniformMatrix4x2fvEXT)load("glProgramUniformMatrix4x2fvEXT"); + fp_glProgramUniformMatrix3x4fvEXT = (pfn_glProgramUniformMatrix3x4fvEXT)load("glProgramUniformMatrix3x4fvEXT"); + fp_glProgramUniformMatrix4x3fvEXT = (pfn_glProgramUniformMatrix4x3fvEXT)load("glProgramUniformMatrix4x3fvEXT"); + fp_glTextureBufferEXT = (pfn_glTextureBufferEXT)load("glTextureBufferEXT"); + fp_glMultiTexBufferEXT = (pfn_glMultiTexBufferEXT)load("glMultiTexBufferEXT"); + fp_glTextureParameterIivEXT = (pfn_glTextureParameterIivEXT)load("glTextureParameterIivEXT"); + fp_glTextureParameterIuivEXT = (pfn_glTextureParameterIuivEXT)load("glTextureParameterIuivEXT"); + fp_glGetTextureParameterIivEXT = (pfn_glGetTextureParameterIivEXT)load("glGetTextureParameterIivEXT"); + fp_glGetTextureParameterIuivEXT = (pfn_glGetTextureParameterIuivEXT)load("glGetTextureParameterIuivEXT"); + fp_glMultiTexParameterIivEXT = (pfn_glMultiTexParameterIivEXT)load("glMultiTexParameterIivEXT"); + fp_glMultiTexParameterIuivEXT = (pfn_glMultiTexParameterIuivEXT)load("glMultiTexParameterIuivEXT"); + fp_glGetMultiTexParameterIivEXT = (pfn_glGetMultiTexParameterIivEXT)load("glGetMultiTexParameterIivEXT"); + fp_glGetMultiTexParameterIuivEXT = (pfn_glGetMultiTexParameterIuivEXT)load("glGetMultiTexParameterIuivEXT"); + fp_glProgramUniform1uiEXT = (pfn_glProgramUniform1uiEXT)load("glProgramUniform1uiEXT"); + fp_glProgramUniform2uiEXT = (pfn_glProgramUniform2uiEXT)load("glProgramUniform2uiEXT"); + fp_glProgramUniform3uiEXT = (pfn_glProgramUniform3uiEXT)load("glProgramUniform3uiEXT"); + fp_glProgramUniform4uiEXT = (pfn_glProgramUniform4uiEXT)load("glProgramUniform4uiEXT"); + fp_glProgramUniform1uivEXT = (pfn_glProgramUniform1uivEXT)load("glProgramUniform1uivEXT"); + fp_glProgramUniform2uivEXT = (pfn_glProgramUniform2uivEXT)load("glProgramUniform2uivEXT"); + fp_glProgramUniform3uivEXT = (pfn_glProgramUniform3uivEXT)load("glProgramUniform3uivEXT"); + fp_glProgramUniform4uivEXT = (pfn_glProgramUniform4uivEXT)load("glProgramUniform4uivEXT"); + fp_glNamedProgramLocalParameters4fvEXT = (pfn_glNamedProgramLocalParameters4fvEXT)load("glNamedProgramLocalParameters4fvEXT"); + fp_glNamedProgramLocalParameterI4iEXT = (pfn_glNamedProgramLocalParameterI4iEXT)load("glNamedProgramLocalParameterI4iEXT"); + fp_glNamedProgramLocalParameterI4ivEXT = (pfn_glNamedProgramLocalParameterI4ivEXT)load("glNamedProgramLocalParameterI4ivEXT"); + fp_glNamedProgramLocalParametersI4ivEXT = (pfn_glNamedProgramLocalParametersI4ivEXT)load("glNamedProgramLocalParametersI4ivEXT"); + fp_glNamedProgramLocalParameterI4uiEXT = (pfn_glNamedProgramLocalParameterI4uiEXT)load("glNamedProgramLocalParameterI4uiEXT"); + fp_glNamedProgramLocalParameterI4uivEXT = (pfn_glNamedProgramLocalParameterI4uivEXT)load("glNamedProgramLocalParameterI4uivEXT"); + fp_glNamedProgramLocalParametersI4uivEXT = (pfn_glNamedProgramLocalParametersI4uivEXT)load("glNamedProgramLocalParametersI4uivEXT"); + fp_glGetNamedProgramLocalParameterIivEXT = (pfn_glGetNamedProgramLocalParameterIivEXT)load("glGetNamedProgramLocalParameterIivEXT"); + fp_glGetNamedProgramLocalParameterIuivEXT = (pfn_glGetNamedProgramLocalParameterIuivEXT)load("glGetNamedProgramLocalParameterIuivEXT"); + fp_glEnableClientStateiEXT = (pfn_glEnableClientStateiEXT)load("glEnableClientStateiEXT"); + fp_glDisableClientStateiEXT = (pfn_glDisableClientStateiEXT)load("glDisableClientStateiEXT"); + fp_glGetFloati_vEXT = (pfn_glGetFloati_vEXT)load("glGetFloati_vEXT"); + fp_glGetDoublei_vEXT = (pfn_glGetDoublei_vEXT)load("glGetDoublei_vEXT"); + fp_glGetPointeri_vEXT = (pfn_glGetPointeri_vEXT)load("glGetPointeri_vEXT"); + fp_glNamedProgramStringEXT = (pfn_glNamedProgramStringEXT)load("glNamedProgramStringEXT"); + fp_glNamedProgramLocalParameter4dEXT = (pfn_glNamedProgramLocalParameter4dEXT)load("glNamedProgramLocalParameter4dEXT"); + fp_glNamedProgramLocalParameter4dvEXT = (pfn_glNamedProgramLocalParameter4dvEXT)load("glNamedProgramLocalParameter4dvEXT"); + fp_glNamedProgramLocalParameter4fEXT = (pfn_glNamedProgramLocalParameter4fEXT)load("glNamedProgramLocalParameter4fEXT"); + fp_glNamedProgramLocalParameter4fvEXT = (pfn_glNamedProgramLocalParameter4fvEXT)load("glNamedProgramLocalParameter4fvEXT"); + fp_glGetNamedProgramLocalParameterdvEXT = (pfn_glGetNamedProgramLocalParameterdvEXT)load("glGetNamedProgramLocalParameterdvEXT"); + fp_glGetNamedProgramLocalParameterfvEXT = (pfn_glGetNamedProgramLocalParameterfvEXT)load("glGetNamedProgramLocalParameterfvEXT"); + fp_glGetNamedProgramivEXT = (pfn_glGetNamedProgramivEXT)load("glGetNamedProgramivEXT"); + fp_glGetNamedProgramStringEXT = (pfn_glGetNamedProgramStringEXT)load("glGetNamedProgramStringEXT"); + fp_glNamedRenderbufferStorageEXT = (pfn_glNamedRenderbufferStorageEXT)load("glNamedRenderbufferStorageEXT"); + fp_glGetNamedRenderbufferParameterivEXT = (pfn_glGetNamedRenderbufferParameterivEXT)load("glGetNamedRenderbufferParameterivEXT"); + fp_glNamedRenderbufferStorageMultisampleEXT = (pfn_glNamedRenderbufferStorageMultisampleEXT)load("glNamedRenderbufferStorageMultisampleEXT"); + fp_glNamedRenderbufferStorageMultisampleCoverageEXT = (pfn_glNamedRenderbufferStorageMultisampleCoverageEXT)load("glNamedRenderbufferStorageMultisampleCoverageEXT"); + fp_glCheckNamedFramebufferStatusEXT = (pfn_glCheckNamedFramebufferStatusEXT)load("glCheckNamedFramebufferStatusEXT"); + fp_glNamedFramebufferTexture1DEXT = (pfn_glNamedFramebufferTexture1DEXT)load("glNamedFramebufferTexture1DEXT"); + fp_glNamedFramebufferTexture2DEXT = (pfn_glNamedFramebufferTexture2DEXT)load("glNamedFramebufferTexture2DEXT"); + fp_glNamedFramebufferTexture3DEXT = (pfn_glNamedFramebufferTexture3DEXT)load("glNamedFramebufferTexture3DEXT"); + fp_glNamedFramebufferRenderbufferEXT = (pfn_glNamedFramebufferRenderbufferEXT)load("glNamedFramebufferRenderbufferEXT"); + fp_glGetNamedFramebufferAttachmentParameterivEXT = (pfn_glGetNamedFramebufferAttachmentParameterivEXT)load("glGetNamedFramebufferAttachmentParameterivEXT"); + fp_glGenerateTextureMipmapEXT = (pfn_glGenerateTextureMipmapEXT)load("glGenerateTextureMipmapEXT"); + fp_glGenerateMultiTexMipmapEXT = (pfn_glGenerateMultiTexMipmapEXT)load("glGenerateMultiTexMipmapEXT"); + fp_glFramebufferDrawBufferEXT = (pfn_glFramebufferDrawBufferEXT)load("glFramebufferDrawBufferEXT"); + fp_glFramebufferDrawBuffersEXT = (pfn_glFramebufferDrawBuffersEXT)load("glFramebufferDrawBuffersEXT"); + fp_glFramebufferReadBufferEXT = (pfn_glFramebufferReadBufferEXT)load("glFramebufferReadBufferEXT"); + fp_glGetFramebufferParameterivEXT = (pfn_glGetFramebufferParameterivEXT)load("glGetFramebufferParameterivEXT"); + fp_glNamedCopyBufferSubDataEXT = (pfn_glNamedCopyBufferSubDataEXT)load("glNamedCopyBufferSubDataEXT"); + fp_glNamedFramebufferTextureEXT = (pfn_glNamedFramebufferTextureEXT)load("glNamedFramebufferTextureEXT"); + fp_glNamedFramebufferTextureLayerEXT = (pfn_glNamedFramebufferTextureLayerEXT)load("glNamedFramebufferTextureLayerEXT"); + fp_glNamedFramebufferTextureFaceEXT = (pfn_glNamedFramebufferTextureFaceEXT)load("glNamedFramebufferTextureFaceEXT"); + fp_glTextureRenderbufferEXT = (pfn_glTextureRenderbufferEXT)load("glTextureRenderbufferEXT"); + fp_glMultiTexRenderbufferEXT = (pfn_glMultiTexRenderbufferEXT)load("glMultiTexRenderbufferEXT"); + fp_glVertexArrayVertexOffsetEXT = (pfn_glVertexArrayVertexOffsetEXT)load("glVertexArrayVertexOffsetEXT"); + fp_glVertexArrayColorOffsetEXT = (pfn_glVertexArrayColorOffsetEXT)load("glVertexArrayColorOffsetEXT"); + fp_glVertexArrayEdgeFlagOffsetEXT = (pfn_glVertexArrayEdgeFlagOffsetEXT)load("glVertexArrayEdgeFlagOffsetEXT"); + fp_glVertexArrayIndexOffsetEXT = (pfn_glVertexArrayIndexOffsetEXT)load("glVertexArrayIndexOffsetEXT"); + fp_glVertexArrayNormalOffsetEXT = (pfn_glVertexArrayNormalOffsetEXT)load("glVertexArrayNormalOffsetEXT"); + fp_glVertexArrayTexCoordOffsetEXT = (pfn_glVertexArrayTexCoordOffsetEXT)load("glVertexArrayTexCoordOffsetEXT"); + fp_glVertexArrayMultiTexCoordOffsetEXT = (pfn_glVertexArrayMultiTexCoordOffsetEXT)load("glVertexArrayMultiTexCoordOffsetEXT"); + fp_glVertexArrayFogCoordOffsetEXT = (pfn_glVertexArrayFogCoordOffsetEXT)load("glVertexArrayFogCoordOffsetEXT"); + fp_glVertexArraySecondaryColorOffsetEXT = (pfn_glVertexArraySecondaryColorOffsetEXT)load("glVertexArraySecondaryColorOffsetEXT"); + fp_glVertexArrayVertexAttribOffsetEXT = (pfn_glVertexArrayVertexAttribOffsetEXT)load("glVertexArrayVertexAttribOffsetEXT"); + fp_glVertexArrayVertexAttribIOffsetEXT = (pfn_glVertexArrayVertexAttribIOffsetEXT)load("glVertexArrayVertexAttribIOffsetEXT"); + fp_glEnableVertexArrayEXT = (pfn_glEnableVertexArrayEXT)load("glEnableVertexArrayEXT"); + fp_glDisableVertexArrayEXT = (pfn_glDisableVertexArrayEXT)load("glDisableVertexArrayEXT"); + fp_glEnableVertexArrayAttribEXT = (pfn_glEnableVertexArrayAttribEXT)load("glEnableVertexArrayAttribEXT"); + fp_glDisableVertexArrayAttribEXT = (pfn_glDisableVertexArrayAttribEXT)load("glDisableVertexArrayAttribEXT"); + fp_glGetVertexArrayIntegervEXT = (pfn_glGetVertexArrayIntegervEXT)load("glGetVertexArrayIntegervEXT"); + fp_glGetVertexArrayPointervEXT = (pfn_glGetVertexArrayPointervEXT)load("glGetVertexArrayPointervEXT"); + fp_glGetVertexArrayIntegeri_vEXT = (pfn_glGetVertexArrayIntegeri_vEXT)load("glGetVertexArrayIntegeri_vEXT"); + fp_glGetVertexArrayPointeri_vEXT = (pfn_glGetVertexArrayPointeri_vEXT)load("glGetVertexArrayPointeri_vEXT"); + fp_glMapNamedBufferRangeEXT = (pfn_glMapNamedBufferRangeEXT)load("glMapNamedBufferRangeEXT"); + fp_glFlushMappedNamedBufferRangeEXT = (pfn_glFlushMappedNamedBufferRangeEXT)load("glFlushMappedNamedBufferRangeEXT"); + fp_glNamedBufferStorageEXT = (pfn_glNamedBufferStorageEXT)load("glNamedBufferStorageEXT"); + fp_glClearNamedBufferDataEXT = (pfn_glClearNamedBufferDataEXT)load("glClearNamedBufferDataEXT"); + fp_glClearNamedBufferSubDataEXT = (pfn_glClearNamedBufferSubDataEXT)load("glClearNamedBufferSubDataEXT"); + fp_glNamedFramebufferParameteriEXT = (pfn_glNamedFramebufferParameteriEXT)load("glNamedFramebufferParameteriEXT"); + fp_glGetNamedFramebufferParameterivEXT = (pfn_glGetNamedFramebufferParameterivEXT)load("glGetNamedFramebufferParameterivEXT"); + fp_glProgramUniform1dEXT = (pfn_glProgramUniform1dEXT)load("glProgramUniform1dEXT"); + fp_glProgramUniform2dEXT = (pfn_glProgramUniform2dEXT)load("glProgramUniform2dEXT"); + fp_glProgramUniform3dEXT = (pfn_glProgramUniform3dEXT)load("glProgramUniform3dEXT"); + fp_glProgramUniform4dEXT = (pfn_glProgramUniform4dEXT)load("glProgramUniform4dEXT"); + fp_glProgramUniform1dvEXT = (pfn_glProgramUniform1dvEXT)load("glProgramUniform1dvEXT"); + fp_glProgramUniform2dvEXT = (pfn_glProgramUniform2dvEXT)load("glProgramUniform2dvEXT"); + fp_glProgramUniform3dvEXT = (pfn_glProgramUniform3dvEXT)load("glProgramUniform3dvEXT"); + fp_glProgramUniform4dvEXT = (pfn_glProgramUniform4dvEXT)load("glProgramUniform4dvEXT"); + fp_glProgramUniformMatrix2dvEXT = (pfn_glProgramUniformMatrix2dvEXT)load("glProgramUniformMatrix2dvEXT"); + fp_glProgramUniformMatrix3dvEXT = (pfn_glProgramUniformMatrix3dvEXT)load("glProgramUniformMatrix3dvEXT"); + fp_glProgramUniformMatrix4dvEXT = (pfn_glProgramUniformMatrix4dvEXT)load("glProgramUniformMatrix4dvEXT"); + fp_glProgramUniformMatrix2x3dvEXT = (pfn_glProgramUniformMatrix2x3dvEXT)load("glProgramUniformMatrix2x3dvEXT"); + fp_glProgramUniformMatrix2x4dvEXT = (pfn_glProgramUniformMatrix2x4dvEXT)load("glProgramUniformMatrix2x4dvEXT"); + fp_glProgramUniformMatrix3x2dvEXT = (pfn_glProgramUniformMatrix3x2dvEXT)load("glProgramUniformMatrix3x2dvEXT"); + fp_glProgramUniformMatrix3x4dvEXT = (pfn_glProgramUniformMatrix3x4dvEXT)load("glProgramUniformMatrix3x4dvEXT"); + fp_glProgramUniformMatrix4x2dvEXT = (pfn_glProgramUniformMatrix4x2dvEXT)load("glProgramUniformMatrix4x2dvEXT"); + fp_glProgramUniformMatrix4x3dvEXT = (pfn_glProgramUniformMatrix4x3dvEXT)load("glProgramUniformMatrix4x3dvEXT"); + fp_glTextureBufferRangeEXT = (pfn_glTextureBufferRangeEXT)load("glTextureBufferRangeEXT"); + fp_glTextureStorage1DEXT = (pfn_glTextureStorage1DEXT)load("glTextureStorage1DEXT"); + fp_glTextureStorage2DEXT = (pfn_glTextureStorage2DEXT)load("glTextureStorage2DEXT"); + fp_glTextureStorage3DEXT = (pfn_glTextureStorage3DEXT)load("glTextureStorage3DEXT"); + fp_glTextureStorage2DMultisampleEXT = (pfn_glTextureStorage2DMultisampleEXT)load("glTextureStorage2DMultisampleEXT"); + fp_glTextureStorage3DMultisampleEXT = (pfn_glTextureStorage3DMultisampleEXT)load("glTextureStorage3DMultisampleEXT"); + fp_glVertexArrayBindVertexBufferEXT = (pfn_glVertexArrayBindVertexBufferEXT)load("glVertexArrayBindVertexBufferEXT"); + fp_glVertexArrayVertexAttribFormatEXT = (pfn_glVertexArrayVertexAttribFormatEXT)load("glVertexArrayVertexAttribFormatEXT"); + fp_glVertexArrayVertexAttribIFormatEXT = (pfn_glVertexArrayVertexAttribIFormatEXT)load("glVertexArrayVertexAttribIFormatEXT"); + fp_glVertexArrayVertexAttribLFormatEXT = (pfn_glVertexArrayVertexAttribLFormatEXT)load("glVertexArrayVertexAttribLFormatEXT"); + fp_glVertexArrayVertexAttribBindingEXT = (pfn_glVertexArrayVertexAttribBindingEXT)load("glVertexArrayVertexAttribBindingEXT"); + fp_glVertexArrayVertexBindingDivisorEXT = (pfn_glVertexArrayVertexBindingDivisorEXT)load("glVertexArrayVertexBindingDivisorEXT"); + fp_glVertexArrayVertexAttribLOffsetEXT = (pfn_glVertexArrayVertexAttribLOffsetEXT)load("glVertexArrayVertexAttribLOffsetEXT"); + fp_glTexturePageCommitmentEXT = (pfn_glTexturePageCommitmentEXT)load("glTexturePageCommitmentEXT"); + fp_glVertexArrayVertexAttribDivisorEXT = (pfn_glVertexArrayVertexAttribDivisorEXT)load("glVertexArrayVertexAttribDivisorEXT"); +} + +GLboolean GLAD_EXT_discard_framebuffer = GL_FALSE; +static void load_GL_EXT_discard_framebuffer(LOADER load) { + if(!GLAD_EXT_discard_framebuffer) return; + fp_glDiscardFramebufferEXT = (pfn_glDiscardFramebufferEXT)load("glDiscardFramebufferEXT"); +} + +GLboolean GLAD_EXT_disjoint_timer_query = GL_FALSE; +static void load_GL_EXT_disjoint_timer_query(LOADER load) { + if(!GLAD_EXT_disjoint_timer_query) return; + fp_glGenQueriesEXT = (pfn_glGenQueriesEXT)load("glGenQueriesEXT"); + fp_glDeleteQueriesEXT = (pfn_glDeleteQueriesEXT)load("glDeleteQueriesEXT"); + fp_glIsQueryEXT = (pfn_glIsQueryEXT)load("glIsQueryEXT"); + fp_glBeginQueryEXT = (pfn_glBeginQueryEXT)load("glBeginQueryEXT"); + fp_glEndQueryEXT = (pfn_glEndQueryEXT)load("glEndQueryEXT"); + fp_glQueryCounterEXT = (pfn_glQueryCounterEXT)load("glQueryCounterEXT"); + fp_glGetQueryivEXT = (pfn_glGetQueryivEXT)load("glGetQueryivEXT"); + fp_glGetQueryObjectivEXT = (pfn_glGetQueryObjectivEXT)load("glGetQueryObjectivEXT"); + fp_glGetQueryObjectuivEXT = (pfn_glGetQueryObjectuivEXT)load("glGetQueryObjectuivEXT"); + fp_glGetQueryObjecti64vEXT = (pfn_glGetQueryObjecti64vEXT)load("glGetQueryObjecti64vEXT"); + fp_glGetQueryObjectui64vEXT = (pfn_glGetQueryObjectui64vEXT)load("glGetQueryObjectui64vEXT"); +} + +GLboolean GLAD_EXT_draw_buffers = GL_FALSE; +static void load_GL_EXT_draw_buffers(LOADER load) { + if(!GLAD_EXT_draw_buffers) return; + fp_glDrawBuffersEXT = (pfn_glDrawBuffersEXT)load("glDrawBuffersEXT"); +} + +GLboolean GLAD_EXT_draw_buffers2 = GL_FALSE; +static void load_GL_EXT_draw_buffers2(LOADER load) { + if(!GLAD_EXT_draw_buffers2) return; + fp_glColorMaskIndexedEXT = (pfn_glColorMaskIndexedEXT)load("glColorMaskIndexedEXT"); + fp_glGetBooleanIndexedvEXT = (pfn_glGetBooleanIndexedvEXT)load("glGetBooleanIndexedvEXT"); + fp_glGetIntegerIndexedvEXT = (pfn_glGetIntegerIndexedvEXT)load("glGetIntegerIndexedvEXT"); + fp_glEnableIndexedEXT = (pfn_glEnableIndexedEXT)load("glEnableIndexedEXT"); + fp_glDisableIndexedEXT = (pfn_glDisableIndexedEXT)load("glDisableIndexedEXT"); + fp_glIsEnabledIndexedEXT = (pfn_glIsEnabledIndexedEXT)load("glIsEnabledIndexedEXT"); +} + +GLboolean GLAD_EXT_draw_buffers_indexed = GL_FALSE; +static void load_GL_EXT_draw_buffers_indexed(LOADER load) { + if(!GLAD_EXT_draw_buffers_indexed) return; + fp_glEnableiEXT = (pfn_glEnableiEXT)load("glEnableiEXT"); + fp_glDisableiEXT = (pfn_glDisableiEXT)load("glDisableiEXT"); + fp_glBlendEquationiEXT = (pfn_glBlendEquationiEXT)load("glBlendEquationiEXT"); + fp_glBlendEquationSeparateiEXT = (pfn_glBlendEquationSeparateiEXT)load("glBlendEquationSeparateiEXT"); + fp_glBlendFunciEXT = (pfn_glBlendFunciEXT)load("glBlendFunciEXT"); + fp_glBlendFuncSeparateiEXT = (pfn_glBlendFuncSeparateiEXT)load("glBlendFuncSeparateiEXT"); + fp_glColorMaskiEXT = (pfn_glColorMaskiEXT)load("glColorMaskiEXT"); + fp_glIsEnablediEXT = (pfn_glIsEnablediEXT)load("glIsEnablediEXT"); +} + +GLboolean GLAD_EXT_draw_instanced = GL_FALSE; +static void load_GL_EXT_draw_instanced(LOADER load) { + if(!GLAD_EXT_draw_instanced) return; + fp_glDrawArraysInstancedEXT = (pfn_glDrawArraysInstancedEXT)load("glDrawArraysInstancedEXT"); + fp_glDrawElementsInstancedEXT = (pfn_glDrawElementsInstancedEXT)load("glDrawElementsInstancedEXT"); +} + +GLboolean GLAD_EXT_framebuffer_blit = GL_FALSE; +static void load_GL_EXT_framebuffer_blit(LOADER load) { + if(!GLAD_EXT_framebuffer_blit) return; + fp_glBlitFramebufferEXT = (pfn_glBlitFramebufferEXT)load("glBlitFramebufferEXT"); +} + +GLboolean GLAD_EXT_framebuffer_multisample = GL_FALSE; +static void load_GL_EXT_framebuffer_multisample(LOADER load) { + if(!GLAD_EXT_framebuffer_multisample) return; + fp_glRenderbufferStorageMultisampleEXT = (pfn_glRenderbufferStorageMultisampleEXT)load("glRenderbufferStorageMultisampleEXT"); +} + +GLboolean GLAD_EXT_framebuffer_multisample_blit_scaled = GL_FALSE; +GLboolean GLAD_EXT_framebuffer_object = GL_FALSE; +static void load_GL_EXT_framebuffer_object(LOADER load) { + if(!GLAD_EXT_framebuffer_object) return; + fp_glIsRenderbufferEXT = (pfn_glIsRenderbufferEXT)load("glIsRenderbufferEXT"); + fp_glBindRenderbufferEXT = (pfn_glBindRenderbufferEXT)load("glBindRenderbufferEXT"); + fp_glDeleteRenderbuffersEXT = (pfn_glDeleteRenderbuffersEXT)load("glDeleteRenderbuffersEXT"); + fp_glGenRenderbuffersEXT = (pfn_glGenRenderbuffersEXT)load("glGenRenderbuffersEXT"); + fp_glRenderbufferStorageEXT = (pfn_glRenderbufferStorageEXT)load("glRenderbufferStorageEXT"); + fp_glGetRenderbufferParameterivEXT = (pfn_glGetRenderbufferParameterivEXT)load("glGetRenderbufferParameterivEXT"); + fp_glIsFramebufferEXT = (pfn_glIsFramebufferEXT)load("glIsFramebufferEXT"); + fp_glBindFramebufferEXT = (pfn_glBindFramebufferEXT)load("glBindFramebufferEXT"); + fp_glDeleteFramebuffersEXT = (pfn_glDeleteFramebuffersEXT)load("glDeleteFramebuffersEXT"); + fp_glGenFramebuffersEXT = (pfn_glGenFramebuffersEXT)load("glGenFramebuffersEXT"); + fp_glCheckFramebufferStatusEXT = (pfn_glCheckFramebufferStatusEXT)load("glCheckFramebufferStatusEXT"); + fp_glFramebufferTexture1DEXT = (pfn_glFramebufferTexture1DEXT)load("glFramebufferTexture1DEXT"); + fp_glFramebufferTexture2DEXT = (pfn_glFramebufferTexture2DEXT)load("glFramebufferTexture2DEXT"); + fp_glFramebufferTexture3DEXT = (pfn_glFramebufferTexture3DEXT)load("glFramebufferTexture3DEXT"); + fp_glFramebufferRenderbufferEXT = (pfn_glFramebufferRenderbufferEXT)load("glFramebufferRenderbufferEXT"); + fp_glGetFramebufferAttachmentParameterivEXT = (pfn_glGetFramebufferAttachmentParameterivEXT)load("glGetFramebufferAttachmentParameterivEXT"); + fp_glGenerateMipmapEXT = (pfn_glGenerateMipmapEXT)load("glGenerateMipmapEXT"); +} + +GLboolean GLAD_EXT_framebuffer_sRGB = GL_FALSE; +GLboolean GLAD_EXT_geometry_point_size = GL_FALSE; +GLboolean GLAD_EXT_geometry_shader = GL_FALSE; +static void load_GL_EXT_geometry_shader(LOADER load) { + if(!GLAD_EXT_geometry_shader) return; + fp_glFramebufferTextureEXT = (pfn_glFramebufferTextureEXT)load("glFramebufferTextureEXT"); +} + +GLboolean GLAD_EXT_geometry_shader4 = GL_FALSE; +static void load_GL_EXT_geometry_shader4(LOADER load) { + if(!GLAD_EXT_geometry_shader4) return; + fp_glProgramParameteriEXT = (pfn_glProgramParameteriEXT)load("glProgramParameteriEXT"); +} + +GLboolean GLAD_EXT_gpu_program_parameters = GL_FALSE; +static void load_GL_EXT_gpu_program_parameters(LOADER load) { + if(!GLAD_EXT_gpu_program_parameters) return; + fp_glProgramEnvParameters4fvEXT = (pfn_glProgramEnvParameters4fvEXT)load("glProgramEnvParameters4fvEXT"); + fp_glProgramLocalParameters4fvEXT = (pfn_glProgramLocalParameters4fvEXT)load("glProgramLocalParameters4fvEXT"); +} + +GLboolean GLAD_EXT_gpu_shader4 = GL_FALSE; +static void load_GL_EXT_gpu_shader4(LOADER load) { + if(!GLAD_EXT_gpu_shader4) return; + fp_glGetUniformuivEXT = (pfn_glGetUniformuivEXT)load("glGetUniformuivEXT"); + fp_glBindFragDataLocationEXT = (pfn_glBindFragDataLocationEXT)load("glBindFragDataLocationEXT"); + fp_glGetFragDataLocationEXT = (pfn_glGetFragDataLocationEXT)load("glGetFragDataLocationEXT"); + fp_glUniform1uiEXT = (pfn_glUniform1uiEXT)load("glUniform1uiEXT"); + fp_glUniform2uiEXT = (pfn_glUniform2uiEXT)load("glUniform2uiEXT"); + fp_glUniform3uiEXT = (pfn_glUniform3uiEXT)load("glUniform3uiEXT"); + fp_glUniform4uiEXT = (pfn_glUniform4uiEXT)load("glUniform4uiEXT"); + fp_glUniform1uivEXT = (pfn_glUniform1uivEXT)load("glUniform1uivEXT"); + fp_glUniform2uivEXT = (pfn_glUniform2uivEXT)load("glUniform2uivEXT"); + fp_glUniform3uivEXT = (pfn_glUniform3uivEXT)load("glUniform3uivEXT"); + fp_glUniform4uivEXT = (pfn_glUniform4uivEXT)load("glUniform4uivEXT"); +} + +GLboolean GLAD_EXT_gpu_shader5 = GL_FALSE; +GLboolean GLAD_EXT_instanced_arrays = GL_FALSE; +static void load_GL_EXT_instanced_arrays(LOADER load) { + if(!GLAD_EXT_instanced_arrays) return; + fp_glDrawArraysInstancedEXT = (pfn_glDrawArraysInstancedEXT)load("glDrawArraysInstancedEXT"); + fp_glDrawElementsInstancedEXT = (pfn_glDrawElementsInstancedEXT)load("glDrawElementsInstancedEXT"); + fp_glVertexAttribDivisorEXT = (pfn_glVertexAttribDivisorEXT)load("glVertexAttribDivisorEXT"); +} + +GLboolean GLAD_EXT_map_buffer_range = GL_FALSE; +static void load_GL_EXT_map_buffer_range(LOADER load) { + if(!GLAD_EXT_map_buffer_range) return; + fp_glMapBufferRangeEXT = (pfn_glMapBufferRangeEXT)load("glMapBufferRangeEXT"); + fp_glFlushMappedBufferRangeEXT = (pfn_glFlushMappedBufferRangeEXT)load("glFlushMappedBufferRangeEXT"); +} + +GLboolean GLAD_EXT_multisampled_render_to_texture = GL_FALSE; +static void load_GL_EXT_multisampled_render_to_texture(LOADER load) { + if(!GLAD_EXT_multisampled_render_to_texture) return; + fp_glRenderbufferStorageMultisampleEXT = (pfn_glRenderbufferStorageMultisampleEXT)load("glRenderbufferStorageMultisampleEXT"); + fp_glFramebufferTexture2DMultisampleEXT = (pfn_glFramebufferTexture2DMultisampleEXT)load("glFramebufferTexture2DMultisampleEXT"); +} + +GLboolean GLAD_EXT_multiview_draw_buffers = GL_FALSE; +static void load_GL_EXT_multiview_draw_buffers(LOADER load) { + if(!GLAD_EXT_multiview_draw_buffers) return; + fp_glReadBufferIndexedEXT = (pfn_glReadBufferIndexedEXT)load("glReadBufferIndexedEXT"); + fp_glDrawBuffersIndexedEXT = (pfn_glDrawBuffersIndexedEXT)load("glDrawBuffersIndexedEXT"); + fp_glGetIntegeri_vEXT = (pfn_glGetIntegeri_vEXT)load("glGetIntegeri_vEXT"); +} + +GLboolean GLAD_EXT_occlusion_query_boolean = GL_FALSE; +static void load_GL_EXT_occlusion_query_boolean(LOADER load) { + if(!GLAD_EXT_occlusion_query_boolean) return; + fp_glGenQueriesEXT = (pfn_glGenQueriesEXT)load("glGenQueriesEXT"); + fp_glDeleteQueriesEXT = (pfn_glDeleteQueriesEXT)load("glDeleteQueriesEXT"); + fp_glIsQueryEXT = (pfn_glIsQueryEXT)load("glIsQueryEXT"); + fp_glBeginQueryEXT = (pfn_glBeginQueryEXT)load("glBeginQueryEXT"); + fp_glEndQueryEXT = (pfn_glEndQueryEXT)load("glEndQueryEXT"); + fp_glGetQueryivEXT = (pfn_glGetQueryivEXT)load("glGetQueryivEXT"); + fp_glGetQueryObjectuivEXT = (pfn_glGetQueryObjectuivEXT)load("glGetQueryObjectuivEXT"); +} + +GLboolean GLAD_EXT_packed_depth_stencil = GL_FALSE; +GLboolean GLAD_EXT_packed_float = GL_FALSE; +GLboolean GLAD_EXT_pixel_buffer_object = GL_FALSE; +GLboolean GLAD_EXT_primitive_bounding_box = GL_FALSE; +static void load_GL_EXT_primitive_bounding_box(LOADER load) { + if(!GLAD_EXT_primitive_bounding_box) return; + fp_glPrimitiveBoundingBoxEXT = (pfn_glPrimitiveBoundingBoxEXT)load("glPrimitiveBoundingBoxEXT"); +} + +GLboolean GLAD_EXT_provoking_vertex = GL_FALSE; +static void load_GL_EXT_provoking_vertex(LOADER load) { + if(!GLAD_EXT_provoking_vertex) return; + fp_glProvokingVertexEXT = (pfn_glProvokingVertexEXT)load("glProvokingVertexEXT"); +} + +GLboolean GLAD_EXT_pvrtc_sRGB = GL_FALSE; +GLboolean GLAD_EXT_read_format_bgra = GL_FALSE; +GLboolean GLAD_EXT_robustness = GL_FALSE; +static void load_GL_EXT_robustness(LOADER load) { + if(!GLAD_EXT_robustness) return; + fp_glGetGraphicsResetStatusEXT = (pfn_glGetGraphicsResetStatusEXT)load("glGetGraphicsResetStatusEXT"); + fp_glReadnPixelsEXT = (pfn_glReadnPixelsEXT)load("glReadnPixelsEXT"); + fp_glGetnUniformfvEXT = (pfn_glGetnUniformfvEXT)load("glGetnUniformfvEXT"); + fp_glGetnUniformivEXT = (pfn_glGetnUniformivEXT)load("glGetnUniformivEXT"); +} + +GLboolean GLAD_EXT_separate_shader_objects = GL_FALSE; +static void load_GL_EXT_separate_shader_objects(LOADER load) { + if(!GLAD_EXT_separate_shader_objects) return; + fp_glUseShaderProgramEXT = (pfn_glUseShaderProgramEXT)load("glUseShaderProgramEXT"); + fp_glActiveProgramEXT = (pfn_glActiveProgramEXT)load("glActiveProgramEXT"); + fp_glCreateShaderProgramEXT = (pfn_glCreateShaderProgramEXT)load("glCreateShaderProgramEXT"); + fp_glActiveShaderProgramEXT = (pfn_glActiveShaderProgramEXT)load("glActiveShaderProgramEXT"); + fp_glBindProgramPipelineEXT = (pfn_glBindProgramPipelineEXT)load("glBindProgramPipelineEXT"); + fp_glCreateShaderProgramvEXT = (pfn_glCreateShaderProgramvEXT)load("glCreateShaderProgramvEXT"); + fp_glDeleteProgramPipelinesEXT = (pfn_glDeleteProgramPipelinesEXT)load("glDeleteProgramPipelinesEXT"); + fp_glGenProgramPipelinesEXT = (pfn_glGenProgramPipelinesEXT)load("glGenProgramPipelinesEXT"); + fp_glGetProgramPipelineInfoLogEXT = (pfn_glGetProgramPipelineInfoLogEXT)load("glGetProgramPipelineInfoLogEXT"); + fp_glGetProgramPipelineivEXT = (pfn_glGetProgramPipelineivEXT)load("glGetProgramPipelineivEXT"); + fp_glIsProgramPipelineEXT = (pfn_glIsProgramPipelineEXT)load("glIsProgramPipelineEXT"); + fp_glProgramParameteriEXT = (pfn_glProgramParameteriEXT)load("glProgramParameteriEXT"); + fp_glProgramUniform1fEXT = (pfn_glProgramUniform1fEXT)load("glProgramUniform1fEXT"); + fp_glProgramUniform1fvEXT = (pfn_glProgramUniform1fvEXT)load("glProgramUniform1fvEXT"); + fp_glProgramUniform1iEXT = (pfn_glProgramUniform1iEXT)load("glProgramUniform1iEXT"); + fp_glProgramUniform1ivEXT = (pfn_glProgramUniform1ivEXT)load("glProgramUniform1ivEXT"); + fp_glProgramUniform2fEXT = (pfn_glProgramUniform2fEXT)load("glProgramUniform2fEXT"); + fp_glProgramUniform2fvEXT = (pfn_glProgramUniform2fvEXT)load("glProgramUniform2fvEXT"); + fp_glProgramUniform2iEXT = (pfn_glProgramUniform2iEXT)load("glProgramUniform2iEXT"); + fp_glProgramUniform2ivEXT = (pfn_glProgramUniform2ivEXT)load("glProgramUniform2ivEXT"); + fp_glProgramUniform3fEXT = (pfn_glProgramUniform3fEXT)load("glProgramUniform3fEXT"); + fp_glProgramUniform3fvEXT = (pfn_glProgramUniform3fvEXT)load("glProgramUniform3fvEXT"); + fp_glProgramUniform3iEXT = (pfn_glProgramUniform3iEXT)load("glProgramUniform3iEXT"); + fp_glProgramUniform3ivEXT = (pfn_glProgramUniform3ivEXT)load("glProgramUniform3ivEXT"); + fp_glProgramUniform4fEXT = (pfn_glProgramUniform4fEXT)load("glProgramUniform4fEXT"); + fp_glProgramUniform4fvEXT = (pfn_glProgramUniform4fvEXT)load("glProgramUniform4fvEXT"); + fp_glProgramUniform4iEXT = (pfn_glProgramUniform4iEXT)load("glProgramUniform4iEXT"); + fp_glProgramUniform4ivEXT = (pfn_glProgramUniform4ivEXT)load("glProgramUniform4ivEXT"); + fp_glProgramUniformMatrix2fvEXT = (pfn_glProgramUniformMatrix2fvEXT)load("glProgramUniformMatrix2fvEXT"); + fp_glProgramUniformMatrix3fvEXT = (pfn_glProgramUniformMatrix3fvEXT)load("glProgramUniformMatrix3fvEXT"); + fp_glProgramUniformMatrix4fvEXT = (pfn_glProgramUniformMatrix4fvEXT)load("glProgramUniformMatrix4fvEXT"); + fp_glUseProgramStagesEXT = (pfn_glUseProgramStagesEXT)load("glUseProgramStagesEXT"); + fp_glValidateProgramPipelineEXT = (pfn_glValidateProgramPipelineEXT)load("glValidateProgramPipelineEXT"); + fp_glProgramUniform1uiEXT = (pfn_glProgramUniform1uiEXT)load("glProgramUniform1uiEXT"); + fp_glProgramUniform2uiEXT = (pfn_glProgramUniform2uiEXT)load("glProgramUniform2uiEXT"); + fp_glProgramUniform3uiEXT = (pfn_glProgramUniform3uiEXT)load("glProgramUniform3uiEXT"); + fp_glProgramUniform4uiEXT = (pfn_glProgramUniform4uiEXT)load("glProgramUniform4uiEXT"); + fp_glProgramUniform1uivEXT = (pfn_glProgramUniform1uivEXT)load("glProgramUniform1uivEXT"); + fp_glProgramUniform2uivEXT = (pfn_glProgramUniform2uivEXT)load("glProgramUniform2uivEXT"); + fp_glProgramUniform3uivEXT = (pfn_glProgramUniform3uivEXT)load("glProgramUniform3uivEXT"); + fp_glProgramUniform4uivEXT = (pfn_glProgramUniform4uivEXT)load("glProgramUniform4uivEXT"); + fp_glProgramUniformMatrix4fvEXT = (pfn_glProgramUniformMatrix4fvEXT)load("glProgramUniformMatrix4fvEXT"); + fp_glProgramUniformMatrix2x3fvEXT = (pfn_glProgramUniformMatrix2x3fvEXT)load("glProgramUniformMatrix2x3fvEXT"); + fp_glProgramUniformMatrix3x2fvEXT = (pfn_glProgramUniformMatrix3x2fvEXT)load("glProgramUniformMatrix3x2fvEXT"); + fp_glProgramUniformMatrix2x4fvEXT = (pfn_glProgramUniformMatrix2x4fvEXT)load("glProgramUniformMatrix2x4fvEXT"); + fp_glProgramUniformMatrix4x2fvEXT = (pfn_glProgramUniformMatrix4x2fvEXT)load("glProgramUniformMatrix4x2fvEXT"); + fp_glProgramUniformMatrix3x4fvEXT = (pfn_glProgramUniformMatrix3x4fvEXT)load("glProgramUniformMatrix3x4fvEXT"); + fp_glProgramUniformMatrix4x3fvEXT = (pfn_glProgramUniformMatrix4x3fvEXT)load("glProgramUniformMatrix4x3fvEXT"); +} + +GLboolean GLAD_EXT_shader_framebuffer_fetch = GL_FALSE; +GLboolean GLAD_EXT_shader_image_load_formatted = GL_FALSE; +GLboolean GLAD_EXT_shader_image_load_store = GL_FALSE; +static void load_GL_EXT_shader_image_load_store(LOADER load) { + if(!GLAD_EXT_shader_image_load_store) return; + fp_glBindImageTextureEXT = (pfn_glBindImageTextureEXT)load("glBindImageTextureEXT"); + fp_glMemoryBarrierEXT = (pfn_glMemoryBarrierEXT)load("glMemoryBarrierEXT"); +} + +GLboolean GLAD_EXT_shader_implicit_conversions = GL_FALSE; +GLboolean GLAD_EXT_shader_integer_mix = GL_FALSE; +GLboolean GLAD_EXT_shader_io_blocks = GL_FALSE; +GLboolean GLAD_EXT_shader_pixel_local_storage = GL_FALSE; +GLboolean GLAD_EXT_shader_texture_lod = GL_FALSE; +GLboolean GLAD_EXT_shadow_samplers = GL_FALSE; +GLboolean GLAD_EXT_sRGB = GL_FALSE; +GLboolean GLAD_EXT_sRGB_write_control = GL_FALSE; +GLboolean GLAD_EXT_stencil_clear_tag = GL_FALSE; +static void load_GL_EXT_stencil_clear_tag(LOADER load) { + if(!GLAD_EXT_stencil_clear_tag) return; + fp_glStencilClearTagEXT = (pfn_glStencilClearTagEXT)load("glStencilClearTagEXT"); +} + +GLboolean GLAD_EXT_tessellation_point_size = GL_FALSE; +GLboolean GLAD_EXT_tessellation_shader = GL_FALSE; +static void load_GL_EXT_tessellation_shader(LOADER load) { + if(!GLAD_EXT_tessellation_shader) return; + fp_glPatchParameteriEXT = (pfn_glPatchParameteriEXT)load("glPatchParameteriEXT"); +} + +GLboolean GLAD_EXT_texture_array = GL_FALSE; +static void load_GL_EXT_texture_array(LOADER load) { + if(!GLAD_EXT_texture_array) return; + fp_glFramebufferTextureLayerEXT = (pfn_glFramebufferTextureLayerEXT)load("glFramebufferTextureLayerEXT"); +} + +GLboolean GLAD_EXT_texture_border_clamp = GL_FALSE; +static void load_GL_EXT_texture_border_clamp(LOADER load) { + if(!GLAD_EXT_texture_border_clamp) return; + fp_glTexParameterIivEXT = (pfn_glTexParameterIivEXT)load("glTexParameterIivEXT"); + fp_glTexParameterIuivEXT = (pfn_glTexParameterIuivEXT)load("glTexParameterIuivEXT"); + fp_glGetTexParameterIivEXT = (pfn_glGetTexParameterIivEXT)load("glGetTexParameterIivEXT"); + fp_glGetTexParameterIuivEXT = (pfn_glGetTexParameterIuivEXT)load("glGetTexParameterIuivEXT"); + fp_glSamplerParameterIivEXT = (pfn_glSamplerParameterIivEXT)load("glSamplerParameterIivEXT"); + fp_glSamplerParameterIuivEXT = (pfn_glSamplerParameterIuivEXT)load("glSamplerParameterIuivEXT"); + fp_glGetSamplerParameterIivEXT = (pfn_glGetSamplerParameterIivEXT)load("glGetSamplerParameterIivEXT"); + fp_glGetSamplerParameterIuivEXT = (pfn_glGetSamplerParameterIuivEXT)load("glGetSamplerParameterIuivEXT"); +} + +GLboolean GLAD_EXT_texture_buffer = GL_FALSE; +static void load_GL_EXT_texture_buffer(LOADER load) { + if(!GLAD_EXT_texture_buffer) return; + fp_glTexBufferEXT = (pfn_glTexBufferEXT)load("glTexBufferEXT"); + fp_glTexBufferRangeEXT = (pfn_glTexBufferRangeEXT)load("glTexBufferRangeEXT"); +} + +GLboolean GLAD_EXT_texture_buffer_object = GL_FALSE; +static void load_GL_EXT_texture_buffer_object(LOADER load) { + if(!GLAD_EXT_texture_buffer_object) return; + fp_glTexBufferEXT = (pfn_glTexBufferEXT)load("glTexBufferEXT"); +} + +GLboolean GLAD_EXT_texture_compression_dxt1 = GL_FALSE; +GLboolean GLAD_EXT_texture_compression_latc = GL_FALSE; +GLboolean GLAD_EXT_texture_compression_rgtc = GL_FALSE; +GLboolean GLAD_EXT_texture_compression_s3tc = GL_FALSE; +GLboolean GLAD_EXT_texture_cube_map = GL_FALSE; +GLboolean GLAD_EXT_texture_cube_map_array = GL_FALSE; +GLboolean GLAD_EXT_texture_filter_anisotropic = GL_FALSE; +GLboolean GLAD_EXT_texture_format_BGRA8888 = GL_FALSE; +GLboolean GLAD_EXT_texture_integer = GL_FALSE; +static void load_GL_EXT_texture_integer(LOADER load) { + if(!GLAD_EXT_texture_integer) return; + fp_glTexParameterIivEXT = (pfn_glTexParameterIivEXT)load("glTexParameterIivEXT"); + fp_glTexParameterIuivEXT = (pfn_glTexParameterIuivEXT)load("glTexParameterIuivEXT"); + fp_glGetTexParameterIivEXT = (pfn_glGetTexParameterIivEXT)load("glGetTexParameterIivEXT"); + fp_glGetTexParameterIuivEXT = (pfn_glGetTexParameterIuivEXT)load("glGetTexParameterIuivEXT"); + fp_glClearColorIiEXT = (pfn_glClearColorIiEXT)load("glClearColorIiEXT"); + fp_glClearColorIuiEXT = (pfn_glClearColorIuiEXT)load("glClearColorIuiEXT"); +} + +GLboolean GLAD_EXT_texture_rg = GL_FALSE; +GLboolean GLAD_EXT_texture_shared_exponent = GL_FALSE; +GLboolean GLAD_EXT_texture_snorm = GL_FALSE; +GLboolean GLAD_EXT_texture_sRGB = GL_FALSE; +GLboolean GLAD_EXT_texture_sRGB_decode = GL_FALSE; +GLboolean GLAD_EXT_texture_storage = GL_FALSE; +static void load_GL_EXT_texture_storage(LOADER load) { + if(!GLAD_EXT_texture_storage) return; + fp_glTexStorage1DEXT = (pfn_glTexStorage1DEXT)load("glTexStorage1DEXT"); + fp_glTexStorage2DEXT = (pfn_glTexStorage2DEXT)load("glTexStorage2DEXT"); + fp_glTexStorage3DEXT = (pfn_glTexStorage3DEXT)load("glTexStorage3DEXT"); + fp_glTextureStorage1DEXT = (pfn_glTextureStorage1DEXT)load("glTextureStorage1DEXT"); + fp_glTextureStorage2DEXT = (pfn_glTextureStorage2DEXT)load("glTextureStorage2DEXT"); + fp_glTextureStorage3DEXT = (pfn_glTextureStorage3DEXT)load("glTextureStorage3DEXT"); +} + +GLboolean GLAD_EXT_texture_swizzle = GL_FALSE; +GLboolean GLAD_EXT_texture_type_2_10_10_10_REV = GL_FALSE; +GLboolean GLAD_EXT_texture_view = GL_FALSE; +static void load_GL_EXT_texture_view(LOADER load) { + if(!GLAD_EXT_texture_view) return; + fp_glTextureViewEXT = (pfn_glTextureViewEXT)load("glTextureViewEXT"); +} + +GLboolean GLAD_EXT_timer_query = GL_FALSE; +static void load_GL_EXT_timer_query(LOADER load) { + if(!GLAD_EXT_timer_query) return; + fp_glGetQueryObjecti64vEXT = (pfn_glGetQueryObjecti64vEXT)load("glGetQueryObjecti64vEXT"); + fp_glGetQueryObjectui64vEXT = (pfn_glGetQueryObjectui64vEXT)load("glGetQueryObjectui64vEXT"); +} + +GLboolean GLAD_EXT_transform_feedback = GL_FALSE; +static void load_GL_EXT_transform_feedback(LOADER load) { + if(!GLAD_EXT_transform_feedback) return; + fp_glBeginTransformFeedbackEXT = (pfn_glBeginTransformFeedbackEXT)load("glBeginTransformFeedbackEXT"); + fp_glEndTransformFeedbackEXT = (pfn_glEndTransformFeedbackEXT)load("glEndTransformFeedbackEXT"); + fp_glBindBufferRangeEXT = (pfn_glBindBufferRangeEXT)load("glBindBufferRangeEXT"); + fp_glBindBufferOffsetEXT = (pfn_glBindBufferOffsetEXT)load("glBindBufferOffsetEXT"); + fp_glBindBufferBaseEXT = (pfn_glBindBufferBaseEXT)load("glBindBufferBaseEXT"); + fp_glTransformFeedbackVaryingsEXT = (pfn_glTransformFeedbackVaryingsEXT)load("glTransformFeedbackVaryingsEXT"); + fp_glGetTransformFeedbackVaryingEXT = (pfn_glGetTransformFeedbackVaryingEXT)load("glGetTransformFeedbackVaryingEXT"); +} + +GLboolean GLAD_EXT_unpack_subimage = GL_FALSE; +GLboolean GLAD_EXT_vertex_array_bgra = GL_FALSE; +GLboolean GLAD_EXT_vertex_attrib_64bit = GL_FALSE; +static void load_GL_EXT_vertex_attrib_64bit(LOADER load) { + if(!GLAD_EXT_vertex_attrib_64bit) return; + fp_glVertexAttribL1dEXT = (pfn_glVertexAttribL1dEXT)load("glVertexAttribL1dEXT"); + fp_glVertexAttribL2dEXT = (pfn_glVertexAttribL2dEXT)load("glVertexAttribL2dEXT"); + fp_glVertexAttribL3dEXT = (pfn_glVertexAttribL3dEXT)load("glVertexAttribL3dEXT"); + fp_glVertexAttribL4dEXT = (pfn_glVertexAttribL4dEXT)load("glVertexAttribL4dEXT"); + fp_glVertexAttribL1dvEXT = (pfn_glVertexAttribL1dvEXT)load("glVertexAttribL1dvEXT"); + fp_glVertexAttribL2dvEXT = (pfn_glVertexAttribL2dvEXT)load("glVertexAttribL2dvEXT"); + fp_glVertexAttribL3dvEXT = (pfn_glVertexAttribL3dvEXT)load("glVertexAttribL3dvEXT"); + fp_glVertexAttribL4dvEXT = (pfn_glVertexAttribL4dvEXT)load("glVertexAttribL4dvEXT"); + fp_glVertexAttribLPointerEXT = (pfn_glVertexAttribLPointerEXT)load("glVertexAttribLPointerEXT"); + fp_glGetVertexAttribLdvEXT = (pfn_glGetVertexAttribLdvEXT)load("glGetVertexAttribLdvEXT"); +} + +GLboolean GLAD_EXT_x11_sync_object = GL_FALSE; +static void load_GL_EXT_x11_sync_object(LOADER load) { + if(!GLAD_EXT_x11_sync_object) return; + fp_glImportSyncEXT = (pfn_glImportSyncEXT)load("glImportSyncEXT"); +} + +GLboolean GLAD_OES_compressed_ETC1_RGB8_sub_texture = GL_FALSE; +GLboolean GLAD_OES_compressed_ETC1_RGB8_texture = GL_FALSE; +GLboolean GLAD_OES_depth24 = GL_FALSE; +GLboolean GLAD_OES_depth32 = GL_FALSE; +GLboolean GLAD_OES_depth_texture = GL_FALSE; +GLboolean GLAD_OES_EGL_image = GL_FALSE; +static void load_GL_OES_EGL_image(LOADER load) { + if(!GLAD_OES_EGL_image) return; + fp_glEGLImageTargetTexture2DOES = (pfn_glEGLImageTargetTexture2DOES)load("glEGLImageTargetTexture2DOES"); + fp_glEGLImageTargetRenderbufferStorageOES = (pfn_glEGLImageTargetRenderbufferStorageOES)load("glEGLImageTargetRenderbufferStorageOES"); +} + +GLboolean GLAD_OES_EGL_image_external = GL_FALSE; +GLboolean GLAD_OES_element_index_uint = GL_FALSE; +GLboolean GLAD_OES_fbo_render_mipmap = GL_FALSE; +GLboolean GLAD_OES_fragment_precision_high = GL_FALSE; +GLboolean GLAD_OES_get_program_binary = GL_FALSE; +static void load_GL_OES_get_program_binary(LOADER load) { + if(!GLAD_OES_get_program_binary) return; + fp_glGetProgramBinaryOES = (pfn_glGetProgramBinaryOES)load("glGetProgramBinaryOES"); + fp_glProgramBinaryOES = (pfn_glProgramBinaryOES)load("glProgramBinaryOES"); +} + +GLboolean GLAD_OES_mapbuffer = GL_FALSE; +static void load_GL_OES_mapbuffer(LOADER load) { + if(!GLAD_OES_mapbuffer) return; + fp_glMapBufferOES = (pfn_glMapBufferOES)load("glMapBufferOES"); + fp_glUnmapBufferOES = (pfn_glUnmapBufferOES)load("glUnmapBufferOES"); + fp_glGetBufferPointervOES = (pfn_glGetBufferPointervOES)load("glGetBufferPointervOES"); +} + +GLboolean GLAD_OES_packed_depth_stencil = GL_FALSE; +GLboolean GLAD_OES_required_internalformat = GL_FALSE; +GLboolean GLAD_OES_rgb8_rgba8 = GL_FALSE; +GLboolean GLAD_OES_sample_shading = GL_FALSE; +static void load_GL_OES_sample_shading(LOADER load) { + if(!GLAD_OES_sample_shading) return; + fp_glMinSampleShadingOES = (pfn_glMinSampleShadingOES)load("glMinSampleShadingOES"); +} + +GLboolean GLAD_OES_sample_variables = GL_FALSE; +GLboolean GLAD_OES_shader_image_atomic = GL_FALSE; +GLboolean GLAD_OES_shader_multisample_interpolation = GL_FALSE; +GLboolean GLAD_OES_standard_derivatives = GL_FALSE; +GLboolean GLAD_OES_stencil1 = GL_FALSE; +GLboolean GLAD_OES_stencil4 = GL_FALSE; +GLboolean GLAD_OES_surfaceless_context = GL_FALSE; +GLboolean GLAD_OES_texture_3D = GL_FALSE; +static void load_GL_OES_texture_3D(LOADER load) { + if(!GLAD_OES_texture_3D) return; + fp_glTexImage3DOES = (pfn_glTexImage3DOES)load("glTexImage3DOES"); + fp_glTexSubImage3DOES = (pfn_glTexSubImage3DOES)load("glTexSubImage3DOES"); + fp_glCopyTexSubImage3DOES = (pfn_glCopyTexSubImage3DOES)load("glCopyTexSubImage3DOES"); + fp_glCompressedTexImage3DOES = (pfn_glCompressedTexImage3DOES)load("glCompressedTexImage3DOES"); + fp_glCompressedTexSubImage3DOES = (pfn_glCompressedTexSubImage3DOES)load("glCompressedTexSubImage3DOES"); + fp_glFramebufferTexture3DOES = (pfn_glFramebufferTexture3DOES)load("glFramebufferTexture3DOES"); +} + +GLboolean GLAD_OES_texture_compression_astc = GL_FALSE; +GLboolean GLAD_OES_texture_float = GL_FALSE; +GLboolean GLAD_OES_texture_float_linear = GL_FALSE; +GLboolean GLAD_OES_texture_half_float = GL_FALSE; +GLboolean GLAD_OES_texture_half_float_linear = GL_FALSE; +GLboolean GLAD_OES_texture_npot = GL_FALSE; +GLboolean GLAD_OES_texture_stencil8 = GL_FALSE; +GLboolean GLAD_OES_texture_storage_multisample_2d_array = GL_FALSE; +static void load_GL_OES_texture_storage_multisample_2d_array(LOADER load) { + if(!GLAD_OES_texture_storage_multisample_2d_array) return; + fp_glTexStorage3DMultisampleOES = (pfn_glTexStorage3DMultisampleOES)load("glTexStorage3DMultisampleOES"); +} + +GLboolean GLAD_OES_vertex_array_object = GL_FALSE; +static void load_GL_OES_vertex_array_object(LOADER load) { + if(!GLAD_OES_vertex_array_object) return; + fp_glBindVertexArrayOES = (pfn_glBindVertexArrayOES)load("glBindVertexArrayOES"); + fp_glDeleteVertexArraysOES = (pfn_glDeleteVertexArraysOES)load("glDeleteVertexArraysOES"); + fp_glGenVertexArraysOES = (pfn_glGenVertexArraysOES)load("glGenVertexArraysOES"); + fp_glIsVertexArrayOES = (pfn_glIsVertexArrayOES)load("glIsVertexArrayOES"); +} + +GLboolean GLAD_OES_vertex_half_float = GL_FALSE; +GLboolean GLAD_OES_vertex_type_10_10_10_2 = GL_FALSE; +GLboolean GLAD_AMD_blend_minmax_factor = GL_FALSE; +GLboolean GLAD_AMD_compressed_3DC_texture = GL_FALSE; +GLboolean GLAD_AMD_compressed_ATC_texture = GL_FALSE; +GLboolean GLAD_AMD_conservative_depth = GL_FALSE; +GLboolean GLAD_AMD_debug_output = GL_FALSE; +static void load_GL_AMD_debug_output(LOADER load) { + if(!GLAD_AMD_debug_output) return; + fp_glDebugMessageEnableAMD = (pfn_glDebugMessageEnableAMD)load("glDebugMessageEnableAMD"); + fp_glDebugMessageInsertAMD = (pfn_glDebugMessageInsertAMD)load("glDebugMessageInsertAMD"); + fp_glDebugMessageCallbackAMD = (pfn_glDebugMessageCallbackAMD)load("glDebugMessageCallbackAMD"); + fp_glGetDebugMessageLogAMD = (pfn_glGetDebugMessageLogAMD)load("glGetDebugMessageLogAMD"); +} + +GLboolean GLAD_AMD_depth_clamp_separate = GL_FALSE; +GLboolean GLAD_AMD_draw_buffers_blend = GL_FALSE; +static void load_GL_AMD_draw_buffers_blend(LOADER load) { + if(!GLAD_AMD_draw_buffers_blend) return; + fp_glBlendFuncIndexedAMD = (pfn_glBlendFuncIndexedAMD)load("glBlendFuncIndexedAMD"); + fp_glBlendFuncSeparateIndexedAMD = (pfn_glBlendFuncSeparateIndexedAMD)load("glBlendFuncSeparateIndexedAMD"); + fp_glBlendEquationIndexedAMD = (pfn_glBlendEquationIndexedAMD)load("glBlendEquationIndexedAMD"); + fp_glBlendEquationSeparateIndexedAMD = (pfn_glBlendEquationSeparateIndexedAMD)load("glBlendEquationSeparateIndexedAMD"); +} + +GLboolean GLAD_AMD_gcn_shader = GL_FALSE; +GLboolean GLAD_AMD_gpu_shader_int64 = GL_FALSE; +static void load_GL_AMD_gpu_shader_int64(LOADER load) { + if(!GLAD_AMD_gpu_shader_int64) return; + fp_glUniform1i64NV = (pfn_glUniform1i64NV)load("glUniform1i64NV"); + fp_glUniform2i64NV = (pfn_glUniform2i64NV)load("glUniform2i64NV"); + fp_glUniform3i64NV = (pfn_glUniform3i64NV)load("glUniform3i64NV"); + fp_glUniform4i64NV = (pfn_glUniform4i64NV)load("glUniform4i64NV"); + fp_glUniform1i64vNV = (pfn_glUniform1i64vNV)load("glUniform1i64vNV"); + fp_glUniform2i64vNV = (pfn_glUniform2i64vNV)load("glUniform2i64vNV"); + fp_glUniform3i64vNV = (pfn_glUniform3i64vNV)load("glUniform3i64vNV"); + fp_glUniform4i64vNV = (pfn_glUniform4i64vNV)load("glUniform4i64vNV"); + fp_glUniform1ui64NV = (pfn_glUniform1ui64NV)load("glUniform1ui64NV"); + fp_glUniform2ui64NV = (pfn_glUniform2ui64NV)load("glUniform2ui64NV"); + fp_glUniform3ui64NV = (pfn_glUniform3ui64NV)load("glUniform3ui64NV"); + fp_glUniform4ui64NV = (pfn_glUniform4ui64NV)load("glUniform4ui64NV"); + fp_glUniform1ui64vNV = (pfn_glUniform1ui64vNV)load("glUniform1ui64vNV"); + fp_glUniform2ui64vNV = (pfn_glUniform2ui64vNV)load("glUniform2ui64vNV"); + fp_glUniform3ui64vNV = (pfn_glUniform3ui64vNV)load("glUniform3ui64vNV"); + fp_glUniform4ui64vNV = (pfn_glUniform4ui64vNV)load("glUniform4ui64vNV"); + fp_glGetUniformi64vNV = (pfn_glGetUniformi64vNV)load("glGetUniformi64vNV"); + fp_glGetUniformui64vNV = (pfn_glGetUniformui64vNV)load("glGetUniformui64vNV"); + fp_glProgramUniform1i64NV = (pfn_glProgramUniform1i64NV)load("glProgramUniform1i64NV"); + fp_glProgramUniform2i64NV = (pfn_glProgramUniform2i64NV)load("glProgramUniform2i64NV"); + fp_glProgramUniform3i64NV = (pfn_glProgramUniform3i64NV)load("glProgramUniform3i64NV"); + fp_glProgramUniform4i64NV = (pfn_glProgramUniform4i64NV)load("glProgramUniform4i64NV"); + fp_glProgramUniform1i64vNV = (pfn_glProgramUniform1i64vNV)load("glProgramUniform1i64vNV"); + fp_glProgramUniform2i64vNV = (pfn_glProgramUniform2i64vNV)load("glProgramUniform2i64vNV"); + fp_glProgramUniform3i64vNV = (pfn_glProgramUniform3i64vNV)load("glProgramUniform3i64vNV"); + fp_glProgramUniform4i64vNV = (pfn_glProgramUniform4i64vNV)load("glProgramUniform4i64vNV"); + fp_glProgramUniform1ui64NV = (pfn_glProgramUniform1ui64NV)load("glProgramUniform1ui64NV"); + fp_glProgramUniform2ui64NV = (pfn_glProgramUniform2ui64NV)load("glProgramUniform2ui64NV"); + fp_glProgramUniform3ui64NV = (pfn_glProgramUniform3ui64NV)load("glProgramUniform3ui64NV"); + fp_glProgramUniform4ui64NV = (pfn_glProgramUniform4ui64NV)load("glProgramUniform4ui64NV"); + fp_glProgramUniform1ui64vNV = (pfn_glProgramUniform1ui64vNV)load("glProgramUniform1ui64vNV"); + fp_glProgramUniform2ui64vNV = (pfn_glProgramUniform2ui64vNV)load("glProgramUniform2ui64vNV"); + fp_glProgramUniform3ui64vNV = (pfn_glProgramUniform3ui64vNV)load("glProgramUniform3ui64vNV"); + fp_glProgramUniform4ui64vNV = (pfn_glProgramUniform4ui64vNV)load("glProgramUniform4ui64vNV"); +} + +GLboolean GLAD_AMD_interleaved_elements = GL_FALSE; +static void load_GL_AMD_interleaved_elements(LOADER load) { + if(!GLAD_AMD_interleaved_elements) return; + fp_glVertexAttribParameteriAMD = (pfn_glVertexAttribParameteriAMD)load("glVertexAttribParameteriAMD"); +} + +GLboolean GLAD_AMD_multi_draw_indirect = GL_FALSE; +static void load_GL_AMD_multi_draw_indirect(LOADER load) { + if(!GLAD_AMD_multi_draw_indirect) return; + fp_glMultiDrawArraysIndirectAMD = (pfn_glMultiDrawArraysIndirectAMD)load("glMultiDrawArraysIndirectAMD"); + fp_glMultiDrawElementsIndirectAMD = (pfn_glMultiDrawElementsIndirectAMD)load("glMultiDrawElementsIndirectAMD"); +} + +GLboolean GLAD_AMD_name_gen_delete = GL_FALSE; +static void load_GL_AMD_name_gen_delete(LOADER load) { + if(!GLAD_AMD_name_gen_delete) return; + fp_glGenNamesAMD = (pfn_glGenNamesAMD)load("glGenNamesAMD"); + fp_glDeleteNamesAMD = (pfn_glDeleteNamesAMD)load("glDeleteNamesAMD"); + fp_glIsNameAMD = (pfn_glIsNameAMD)load("glIsNameAMD"); +} + +GLboolean GLAD_AMD_occlusion_query_event = GL_FALSE; +static void load_GL_AMD_occlusion_query_event(LOADER load) { + if(!GLAD_AMD_occlusion_query_event) return; + fp_glQueryObjectParameteruiAMD = (pfn_glQueryObjectParameteruiAMD)load("glQueryObjectParameteruiAMD"); +} + +GLboolean GLAD_AMD_performance_monitor = GL_FALSE; +static void load_GL_AMD_performance_monitor(LOADER load) { + if(!GLAD_AMD_performance_monitor) return; + fp_glGetPerfMonitorGroupsAMD = (pfn_glGetPerfMonitorGroupsAMD)load("glGetPerfMonitorGroupsAMD"); + fp_glGetPerfMonitorCountersAMD = (pfn_glGetPerfMonitorCountersAMD)load("glGetPerfMonitorCountersAMD"); + fp_glGetPerfMonitorGroupStringAMD = (pfn_glGetPerfMonitorGroupStringAMD)load("glGetPerfMonitorGroupStringAMD"); + fp_glGetPerfMonitorCounterStringAMD = (pfn_glGetPerfMonitorCounterStringAMD)load("glGetPerfMonitorCounterStringAMD"); + fp_glGetPerfMonitorCounterInfoAMD = (pfn_glGetPerfMonitorCounterInfoAMD)load("glGetPerfMonitorCounterInfoAMD"); + fp_glGenPerfMonitorsAMD = (pfn_glGenPerfMonitorsAMD)load("glGenPerfMonitorsAMD"); + fp_glDeletePerfMonitorsAMD = (pfn_glDeletePerfMonitorsAMD)load("glDeletePerfMonitorsAMD"); + fp_glSelectPerfMonitorCountersAMD = (pfn_glSelectPerfMonitorCountersAMD)load("glSelectPerfMonitorCountersAMD"); + fp_glBeginPerfMonitorAMD = (pfn_glBeginPerfMonitorAMD)load("glBeginPerfMonitorAMD"); + fp_glEndPerfMonitorAMD = (pfn_glEndPerfMonitorAMD)load("glEndPerfMonitorAMD"); + fp_glGetPerfMonitorCounterDataAMD = (pfn_glGetPerfMonitorCounterDataAMD)load("glGetPerfMonitorCounterDataAMD"); +} + +GLboolean GLAD_AMD_pinned_memory = GL_FALSE; +GLboolean GLAD_AMD_program_binary_Z400 = GL_FALSE; +GLboolean GLAD_AMD_query_buffer_object = GL_FALSE; +GLboolean GLAD_AMD_sample_positions = GL_FALSE; +static void load_GL_AMD_sample_positions(LOADER load) { + if(!GLAD_AMD_sample_positions) return; + fp_glSetMultisamplefvAMD = (pfn_glSetMultisamplefvAMD)load("glSetMultisamplefvAMD"); +} + +GLboolean GLAD_AMD_seamless_cubemap_per_texture = GL_FALSE; +GLboolean GLAD_AMD_shader_atomic_counter_ops = GL_FALSE; +GLboolean GLAD_AMD_shader_stencil_export = GL_FALSE; +GLboolean GLAD_AMD_shader_trinary_minmax = GL_FALSE; +GLboolean GLAD_AMD_sparse_texture = GL_FALSE; +static void load_GL_AMD_sparse_texture(LOADER load) { + if(!GLAD_AMD_sparse_texture) return; + fp_glTexStorageSparseAMD = (pfn_glTexStorageSparseAMD)load("glTexStorageSparseAMD"); + fp_glTextureStorageSparseAMD = (pfn_glTextureStorageSparseAMD)load("glTextureStorageSparseAMD"); +} + +GLboolean GLAD_AMD_stencil_operation_extended = GL_FALSE; +static void load_GL_AMD_stencil_operation_extended(LOADER load) { + if(!GLAD_AMD_stencil_operation_extended) return; + fp_glStencilOpValueAMD = (pfn_glStencilOpValueAMD)load("glStencilOpValueAMD"); +} + +GLboolean GLAD_AMD_texture_texture4 = GL_FALSE; +GLboolean GLAD_AMD_transform_feedback3_lines_triangles = GL_FALSE; +GLboolean GLAD_AMD_transform_feedback4 = GL_FALSE; +GLboolean GLAD_AMD_vertex_shader_layer = GL_FALSE; +GLboolean GLAD_AMD_vertex_shader_tessellator = GL_FALSE; +static void load_GL_AMD_vertex_shader_tessellator(LOADER load) { + if(!GLAD_AMD_vertex_shader_tessellator) return; + fp_glTessellationFactorAMD = (pfn_glTessellationFactorAMD)load("glTessellationFactorAMD"); + fp_glTessellationModeAMD = (pfn_glTessellationModeAMD)load("glTessellationModeAMD"); +} + +GLboolean GLAD_AMD_vertex_shader_viewport_index = GL_FALSE; +GLboolean GLAD_ANDROID_extension_pack_es31a = GL_FALSE; +GLboolean GLAD_ANGLE_depth_texture = GL_FALSE; +GLboolean GLAD_ANGLE_framebuffer_blit = GL_FALSE; +static void load_GL_ANGLE_framebuffer_blit(LOADER load) { + if(!GLAD_ANGLE_framebuffer_blit) return; + fp_glBlitFramebufferANGLE = (pfn_glBlitFramebufferANGLE)load("glBlitFramebufferANGLE"); +} + +GLboolean GLAD_ANGLE_framebuffer_multisample = GL_FALSE; +static void load_GL_ANGLE_framebuffer_multisample(LOADER load) { + if(!GLAD_ANGLE_framebuffer_multisample) return; + fp_glRenderbufferStorageMultisampleANGLE = (pfn_glRenderbufferStorageMultisampleANGLE)load("glRenderbufferStorageMultisampleANGLE"); +} + +GLboolean GLAD_ANGLE_instanced_arrays = GL_FALSE; +static void load_GL_ANGLE_instanced_arrays(LOADER load) { + if(!GLAD_ANGLE_instanced_arrays) return; + fp_glDrawArraysInstancedANGLE = (pfn_glDrawArraysInstancedANGLE)load("glDrawArraysInstancedANGLE"); + fp_glDrawElementsInstancedANGLE = (pfn_glDrawElementsInstancedANGLE)load("glDrawElementsInstancedANGLE"); + fp_glVertexAttribDivisorANGLE = (pfn_glVertexAttribDivisorANGLE)load("glVertexAttribDivisorANGLE"); +} + +GLboolean GLAD_ANGLE_pack_reverse_row_order = GL_FALSE; +GLboolean GLAD_ANGLE_program_binary = GL_FALSE; +GLboolean GLAD_ANGLE_texture_compression_dxt3 = GL_FALSE; +GLboolean GLAD_ANGLE_texture_compression_dxt5 = GL_FALSE; +GLboolean GLAD_ANGLE_texture_usage = GL_FALSE; +GLboolean GLAD_ANGLE_translated_shader_source = GL_FALSE; +static void load_GL_ANGLE_translated_shader_source(LOADER load) { + if(!GLAD_ANGLE_translated_shader_source) return; + fp_glGetTranslatedShaderSourceANGLE = (pfn_glGetTranslatedShaderSourceANGLE)load("glGetTranslatedShaderSourceANGLE"); +} + +GLboolean GLAD_APPLE_aux_depth_stencil = GL_FALSE; +GLboolean GLAD_APPLE_client_storage = GL_FALSE; +GLboolean GLAD_APPLE_copy_texture_levels = GL_FALSE; +static void load_GL_APPLE_copy_texture_levels(LOADER load) { + if(!GLAD_APPLE_copy_texture_levels) return; + fp_glCopyTextureLevelsAPPLE = (pfn_glCopyTextureLevelsAPPLE)load("glCopyTextureLevelsAPPLE"); +} + +GLboolean GLAD_APPLE_element_array = GL_FALSE; +static void load_GL_APPLE_element_array(LOADER load) { + if(!GLAD_APPLE_element_array) return; + fp_glElementPointerAPPLE = (pfn_glElementPointerAPPLE)load("glElementPointerAPPLE"); + fp_glDrawElementArrayAPPLE = (pfn_glDrawElementArrayAPPLE)load("glDrawElementArrayAPPLE"); + fp_glDrawRangeElementArrayAPPLE = (pfn_glDrawRangeElementArrayAPPLE)load("glDrawRangeElementArrayAPPLE"); + fp_glMultiDrawElementArrayAPPLE = (pfn_glMultiDrawElementArrayAPPLE)load("glMultiDrawElementArrayAPPLE"); + fp_glMultiDrawRangeElementArrayAPPLE = (pfn_glMultiDrawRangeElementArrayAPPLE)load("glMultiDrawRangeElementArrayAPPLE"); +} + +GLboolean GLAD_APPLE_fence = GL_FALSE; +static void load_GL_APPLE_fence(LOADER load) { + if(!GLAD_APPLE_fence) return; + fp_glGenFencesAPPLE = (pfn_glGenFencesAPPLE)load("glGenFencesAPPLE"); + fp_glDeleteFencesAPPLE = (pfn_glDeleteFencesAPPLE)load("glDeleteFencesAPPLE"); + fp_glSetFenceAPPLE = (pfn_glSetFenceAPPLE)load("glSetFenceAPPLE"); + fp_glIsFenceAPPLE = (pfn_glIsFenceAPPLE)load("glIsFenceAPPLE"); + fp_glTestFenceAPPLE = (pfn_glTestFenceAPPLE)load("glTestFenceAPPLE"); + fp_glFinishFenceAPPLE = (pfn_glFinishFenceAPPLE)load("glFinishFenceAPPLE"); + fp_glTestObjectAPPLE = (pfn_glTestObjectAPPLE)load("glTestObjectAPPLE"); + fp_glFinishObjectAPPLE = (pfn_glFinishObjectAPPLE)load("glFinishObjectAPPLE"); +} + +GLboolean GLAD_APPLE_float_pixels = GL_FALSE; +GLboolean GLAD_APPLE_flush_buffer_range = GL_FALSE; +static void load_GL_APPLE_flush_buffer_range(LOADER load) { + if(!GLAD_APPLE_flush_buffer_range) return; + fp_glBufferParameteriAPPLE = (pfn_glBufferParameteriAPPLE)load("glBufferParameteriAPPLE"); + fp_glFlushMappedBufferRangeAPPLE = (pfn_glFlushMappedBufferRangeAPPLE)load("glFlushMappedBufferRangeAPPLE"); +} + +GLboolean GLAD_APPLE_framebuffer_multisample = GL_FALSE; +static void load_GL_APPLE_framebuffer_multisample(LOADER load) { + if(!GLAD_APPLE_framebuffer_multisample) return; + fp_glRenderbufferStorageMultisampleAPPLE = (pfn_glRenderbufferStorageMultisampleAPPLE)load("glRenderbufferStorageMultisampleAPPLE"); + fp_glResolveMultisampleFramebufferAPPLE = (pfn_glResolveMultisampleFramebufferAPPLE)load("glResolveMultisampleFramebufferAPPLE"); +} + +GLboolean GLAD_APPLE_object_purgeable = GL_FALSE; +static void load_GL_APPLE_object_purgeable(LOADER load) { + if(!GLAD_APPLE_object_purgeable) return; + fp_glObjectPurgeableAPPLE = (pfn_glObjectPurgeableAPPLE)load("glObjectPurgeableAPPLE"); + fp_glObjectUnpurgeableAPPLE = (pfn_glObjectUnpurgeableAPPLE)load("glObjectUnpurgeableAPPLE"); + fp_glGetObjectParameterivAPPLE = (pfn_glGetObjectParameterivAPPLE)load("glGetObjectParameterivAPPLE"); +} + +GLboolean GLAD_APPLE_rgb_422 = GL_FALSE; +GLboolean GLAD_APPLE_row_bytes = GL_FALSE; +GLboolean GLAD_APPLE_sync = GL_FALSE; +static void load_GL_APPLE_sync(LOADER load) { + if(!GLAD_APPLE_sync) return; + fp_glFenceSyncAPPLE = (pfn_glFenceSyncAPPLE)load("glFenceSyncAPPLE"); + fp_glIsSyncAPPLE = (pfn_glIsSyncAPPLE)load("glIsSyncAPPLE"); + fp_glDeleteSyncAPPLE = (pfn_glDeleteSyncAPPLE)load("glDeleteSyncAPPLE"); + fp_glClientWaitSyncAPPLE = (pfn_glClientWaitSyncAPPLE)load("glClientWaitSyncAPPLE"); + fp_glWaitSyncAPPLE = (pfn_glWaitSyncAPPLE)load("glWaitSyncAPPLE"); + fp_glGetInteger64vAPPLE = (pfn_glGetInteger64vAPPLE)load("glGetInteger64vAPPLE"); + fp_glGetSyncivAPPLE = (pfn_glGetSyncivAPPLE)load("glGetSyncivAPPLE"); +} + +GLboolean GLAD_APPLE_texture_format_BGRA8888 = GL_FALSE; +GLboolean GLAD_APPLE_texture_max_level = GL_FALSE; +GLboolean GLAD_APPLE_texture_range = GL_FALSE; +static void load_GL_APPLE_texture_range(LOADER load) { + if(!GLAD_APPLE_texture_range) return; + fp_glTextureRangeAPPLE = (pfn_glTextureRangeAPPLE)load("glTextureRangeAPPLE"); + fp_glGetTexParameterPointervAPPLE = (pfn_glGetTexParameterPointervAPPLE)load("glGetTexParameterPointervAPPLE"); +} + +GLboolean GLAD_APPLE_vertex_array_object = GL_FALSE; +static void load_GL_APPLE_vertex_array_object(LOADER load) { + if(!GLAD_APPLE_vertex_array_object) return; + fp_glBindVertexArrayAPPLE = (pfn_glBindVertexArrayAPPLE)load("glBindVertexArrayAPPLE"); + fp_glDeleteVertexArraysAPPLE = (pfn_glDeleteVertexArraysAPPLE)load("glDeleteVertexArraysAPPLE"); + fp_glGenVertexArraysAPPLE = (pfn_glGenVertexArraysAPPLE)load("glGenVertexArraysAPPLE"); + fp_glIsVertexArrayAPPLE = (pfn_glIsVertexArrayAPPLE)load("glIsVertexArrayAPPLE"); +} + +GLboolean GLAD_APPLE_vertex_array_range = GL_FALSE; +static void load_GL_APPLE_vertex_array_range(LOADER load) { + if(!GLAD_APPLE_vertex_array_range) return; + fp_glVertexArrayRangeAPPLE = (pfn_glVertexArrayRangeAPPLE)load("glVertexArrayRangeAPPLE"); + fp_glFlushVertexArrayRangeAPPLE = (pfn_glFlushVertexArrayRangeAPPLE)load("glFlushVertexArrayRangeAPPLE"); + fp_glVertexArrayParameteriAPPLE = (pfn_glVertexArrayParameteriAPPLE)load("glVertexArrayParameteriAPPLE"); +} + +GLboolean GLAD_APPLE_vertex_program_evaluators = GL_FALSE; +static void load_GL_APPLE_vertex_program_evaluators(LOADER load) { + if(!GLAD_APPLE_vertex_program_evaluators) return; + fp_glEnableVertexAttribAPPLE = (pfn_glEnableVertexAttribAPPLE)load("glEnableVertexAttribAPPLE"); + fp_glDisableVertexAttribAPPLE = (pfn_glDisableVertexAttribAPPLE)load("glDisableVertexAttribAPPLE"); + fp_glIsVertexAttribEnabledAPPLE = (pfn_glIsVertexAttribEnabledAPPLE)load("glIsVertexAttribEnabledAPPLE"); + fp_glMapVertexAttrib1dAPPLE = (pfn_glMapVertexAttrib1dAPPLE)load("glMapVertexAttrib1dAPPLE"); + fp_glMapVertexAttrib1fAPPLE = (pfn_glMapVertexAttrib1fAPPLE)load("glMapVertexAttrib1fAPPLE"); + fp_glMapVertexAttrib2dAPPLE = (pfn_glMapVertexAttrib2dAPPLE)load("glMapVertexAttrib2dAPPLE"); + fp_glMapVertexAttrib2fAPPLE = (pfn_glMapVertexAttrib2fAPPLE)load("glMapVertexAttrib2fAPPLE"); +} + +GLboolean GLAD_APPLE_ycbcr_422 = GL_FALSE; +GLboolean GLAD_ARM_mali_program_binary = GL_FALSE; +GLboolean GLAD_ARM_mali_shader_binary = GL_FALSE; +GLboolean GLAD_ARM_rgba8 = GL_FALSE; +GLboolean GLAD_ARM_shader_framebuffer_fetch = GL_FALSE; +GLboolean GLAD_ARM_shader_framebuffer_fetch_depth_stencil = GL_FALSE; +GLboolean GLAD_ATI_meminfo = GL_FALSE; +GLboolean GLAD_ATI_pixel_format_float = GL_FALSE; +GLboolean GLAD_DMP_shader_binary = GL_FALSE; +GLboolean GLAD_FJ_shader_binary_GCCSO = GL_FALSE; +GLboolean GLAD_GREMEDY_frame_terminator = GL_FALSE; +static void load_GL_GREMEDY_frame_terminator(LOADER load) { + if(!GLAD_GREMEDY_frame_terminator) return; + fp_glFrameTerminatorGREMEDY = (pfn_glFrameTerminatorGREMEDY)load("glFrameTerminatorGREMEDY"); +} + +GLboolean GLAD_GREMEDY_string_marker = GL_FALSE; +static void load_GL_GREMEDY_string_marker(LOADER load) { + if(!GLAD_GREMEDY_string_marker) return; + fp_glStringMarkerGREMEDY = (pfn_glStringMarkerGREMEDY)load("glStringMarkerGREMEDY"); +} + +GLboolean GLAD_IMG_multisampled_render_to_texture = GL_FALSE; +static void load_GL_IMG_multisampled_render_to_texture(LOADER load) { + if(!GLAD_IMG_multisampled_render_to_texture) return; + fp_glRenderbufferStorageMultisampleIMG = (pfn_glRenderbufferStorageMultisampleIMG)load("glRenderbufferStorageMultisampleIMG"); + fp_glFramebufferTexture2DMultisampleIMG = (pfn_glFramebufferTexture2DMultisampleIMG)load("glFramebufferTexture2DMultisampleIMG"); +} + +GLboolean GLAD_IMG_program_binary = GL_FALSE; +GLboolean GLAD_IMG_read_format = GL_FALSE; +GLboolean GLAD_IMG_shader_binary = GL_FALSE; +GLboolean GLAD_IMG_texture_compression_pvrtc = GL_FALSE; +GLboolean GLAD_IMG_texture_compression_pvrtc2 = GL_FALSE; +GLboolean GLAD_INGR_blend_func_separate = GL_FALSE; +static void load_GL_INGR_blend_func_separate(LOADER load) { + if(!GLAD_INGR_blend_func_separate) return; + fp_glBlendFuncSeparateINGR = (pfn_glBlendFuncSeparateINGR)load("glBlendFuncSeparateINGR"); +} + +GLboolean GLAD_INTEL_fragment_shader_ordering = GL_FALSE; +GLboolean GLAD_INTEL_map_texture = GL_FALSE; +static void load_GL_INTEL_map_texture(LOADER load) { + if(!GLAD_INTEL_map_texture) return; + fp_glSyncTextureINTEL = (pfn_glSyncTextureINTEL)load("glSyncTextureINTEL"); + fp_glUnmapTexture2DINTEL = (pfn_glUnmapTexture2DINTEL)load("glUnmapTexture2DINTEL"); + fp_glMapTexture2DINTEL = (pfn_glMapTexture2DINTEL)load("glMapTexture2DINTEL"); +} + +GLboolean GLAD_INTEL_performance_query = GL_FALSE; +static void load_GL_INTEL_performance_query(LOADER load) { + if(!GLAD_INTEL_performance_query) return; + fp_glBeginPerfQueryINTEL = (pfn_glBeginPerfQueryINTEL)load("glBeginPerfQueryINTEL"); + fp_glCreatePerfQueryINTEL = (pfn_glCreatePerfQueryINTEL)load("glCreatePerfQueryINTEL"); + fp_glDeletePerfQueryINTEL = (pfn_glDeletePerfQueryINTEL)load("glDeletePerfQueryINTEL"); + fp_glEndPerfQueryINTEL = (pfn_glEndPerfQueryINTEL)load("glEndPerfQueryINTEL"); + fp_glGetFirstPerfQueryIdINTEL = (pfn_glGetFirstPerfQueryIdINTEL)load("glGetFirstPerfQueryIdINTEL"); + fp_glGetNextPerfQueryIdINTEL = (pfn_glGetNextPerfQueryIdINTEL)load("glGetNextPerfQueryIdINTEL"); + fp_glGetPerfCounterInfoINTEL = (pfn_glGetPerfCounterInfoINTEL)load("glGetPerfCounterInfoINTEL"); + fp_glGetPerfQueryDataINTEL = (pfn_glGetPerfQueryDataINTEL)load("glGetPerfQueryDataINTEL"); + fp_glGetPerfQueryIdByNameINTEL = (pfn_glGetPerfQueryIdByNameINTEL)load("glGetPerfQueryIdByNameINTEL"); + fp_glGetPerfQueryInfoINTEL = (pfn_glGetPerfQueryInfoINTEL)load("glGetPerfQueryInfoINTEL"); +} + +GLboolean GLAD_MESA_pack_invert = GL_FALSE; +GLboolean GLAD_MESA_ycbcr_texture = GL_FALSE; +GLboolean GLAD_MESAX_texture_stack = GL_FALSE; +GLboolean GLAD_NV_bindless_multi_draw_indirect = GL_FALSE; +static void load_GL_NV_bindless_multi_draw_indirect(LOADER load) { + if(!GLAD_NV_bindless_multi_draw_indirect) return; + fp_glMultiDrawArraysIndirectBindlessNV = (pfn_glMultiDrawArraysIndirectBindlessNV)load("glMultiDrawArraysIndirectBindlessNV"); + fp_glMultiDrawElementsIndirectBindlessNV = (pfn_glMultiDrawElementsIndirectBindlessNV)load("glMultiDrawElementsIndirectBindlessNV"); +} + +GLboolean GLAD_NV_bindless_multi_draw_indirect_count = GL_FALSE; +static void load_GL_NV_bindless_multi_draw_indirect_count(LOADER load) { + if(!GLAD_NV_bindless_multi_draw_indirect_count) return; + fp_glMultiDrawArraysIndirectBindlessCountNV = (pfn_glMultiDrawArraysIndirectBindlessCountNV)load("glMultiDrawArraysIndirectBindlessCountNV"); + fp_glMultiDrawElementsIndirectBindlessCountNV = (pfn_glMultiDrawElementsIndirectBindlessCountNV)load("glMultiDrawElementsIndirectBindlessCountNV"); +} + +GLboolean GLAD_NV_bindless_texture = GL_FALSE; +static void load_GL_NV_bindless_texture(LOADER load) { + if(!GLAD_NV_bindless_texture) return; + fp_glGetTextureHandleNV = (pfn_glGetTextureHandleNV)load("glGetTextureHandleNV"); + fp_glGetTextureSamplerHandleNV = (pfn_glGetTextureSamplerHandleNV)load("glGetTextureSamplerHandleNV"); + fp_glMakeTextureHandleResidentNV = (pfn_glMakeTextureHandleResidentNV)load("glMakeTextureHandleResidentNV"); + fp_glMakeTextureHandleNonResidentNV = (pfn_glMakeTextureHandleNonResidentNV)load("glMakeTextureHandleNonResidentNV"); + fp_glGetImageHandleNV = (pfn_glGetImageHandleNV)load("glGetImageHandleNV"); + fp_glMakeImageHandleResidentNV = (pfn_glMakeImageHandleResidentNV)load("glMakeImageHandleResidentNV"); + fp_glMakeImageHandleNonResidentNV = (pfn_glMakeImageHandleNonResidentNV)load("glMakeImageHandleNonResidentNV"); + fp_glUniformHandleui64NV = (pfn_glUniformHandleui64NV)load("glUniformHandleui64NV"); + fp_glUniformHandleui64vNV = (pfn_glUniformHandleui64vNV)load("glUniformHandleui64vNV"); + fp_glProgramUniformHandleui64NV = (pfn_glProgramUniformHandleui64NV)load("glProgramUniformHandleui64NV"); + fp_glProgramUniformHandleui64vNV = (pfn_glProgramUniformHandleui64vNV)load("glProgramUniformHandleui64vNV"); + fp_glIsTextureHandleResidentNV = (pfn_glIsTextureHandleResidentNV)load("glIsTextureHandleResidentNV"); + fp_glIsImageHandleResidentNV = (pfn_glIsImageHandleResidentNV)load("glIsImageHandleResidentNV"); +} + +GLboolean GLAD_NV_blend_equation_advanced = GL_FALSE; +static void load_GL_NV_blend_equation_advanced(LOADER load) { + if(!GLAD_NV_blend_equation_advanced) return; + fp_glBlendParameteriNV = (pfn_glBlendParameteriNV)load("glBlendParameteriNV"); + fp_glBlendBarrierNV = (pfn_glBlendBarrierNV)load("glBlendBarrierNV"); +} + +GLboolean GLAD_NV_blend_equation_advanced_coherent = GL_FALSE; +GLboolean GLAD_NV_compute_program5 = GL_FALSE; +GLboolean GLAD_NV_conditional_render = GL_FALSE; +static void load_GL_NV_conditional_render(LOADER load) { + if(!GLAD_NV_conditional_render) return; + fp_glBeginConditionalRenderNV = (pfn_glBeginConditionalRenderNV)load("glBeginConditionalRenderNV"); + fp_glEndConditionalRenderNV = (pfn_glEndConditionalRenderNV)load("glEndConditionalRenderNV"); +} + +GLboolean GLAD_NV_copy_buffer = GL_FALSE; +static void load_GL_NV_copy_buffer(LOADER load) { + if(!GLAD_NV_copy_buffer) return; + fp_glCopyBufferSubDataNV = (pfn_glCopyBufferSubDataNV)load("glCopyBufferSubDataNV"); +} + +GLboolean GLAD_NV_copy_image = GL_FALSE; +static void load_GL_NV_copy_image(LOADER load) { + if(!GLAD_NV_copy_image) return; + fp_glCopyImageSubDataNV = (pfn_glCopyImageSubDataNV)load("glCopyImageSubDataNV"); +} + +GLboolean GLAD_NV_coverage_sample = GL_FALSE; +static void load_GL_NV_coverage_sample(LOADER load) { + if(!GLAD_NV_coverage_sample) return; + fp_glCoverageMaskNV = (pfn_glCoverageMaskNV)load("glCoverageMaskNV"); + fp_glCoverageOperationNV = (pfn_glCoverageOperationNV)load("glCoverageOperationNV"); +} + +GLboolean GLAD_NV_deep_texture3D = GL_FALSE; +GLboolean GLAD_NV_depth_buffer_float = GL_FALSE; +static void load_GL_NV_depth_buffer_float(LOADER load) { + if(!GLAD_NV_depth_buffer_float) return; + fp_glDepthRangedNV = (pfn_glDepthRangedNV)load("glDepthRangedNV"); + fp_glClearDepthdNV = (pfn_glClearDepthdNV)load("glClearDepthdNV"); + fp_glDepthBoundsdNV = (pfn_glDepthBoundsdNV)load("glDepthBoundsdNV"); +} + +GLboolean GLAD_NV_depth_clamp = GL_FALSE; +GLboolean GLAD_NV_depth_nonlinear = GL_FALSE; +GLboolean GLAD_NV_draw_buffers = GL_FALSE; +static void load_GL_NV_draw_buffers(LOADER load) { + if(!GLAD_NV_draw_buffers) return; + fp_glDrawBuffersNV = (pfn_glDrawBuffersNV)load("glDrawBuffersNV"); +} + +GLboolean GLAD_NV_draw_instanced = GL_FALSE; +static void load_GL_NV_draw_instanced(LOADER load) { + if(!GLAD_NV_draw_instanced) return; + fp_glDrawArraysInstancedNV = (pfn_glDrawArraysInstancedNV)load("glDrawArraysInstancedNV"); + fp_glDrawElementsInstancedNV = (pfn_glDrawElementsInstancedNV)load("glDrawElementsInstancedNV"); +} + +GLboolean GLAD_NV_draw_texture = GL_FALSE; +static void load_GL_NV_draw_texture(LOADER load) { + if(!GLAD_NV_draw_texture) return; + fp_glDrawTextureNV = (pfn_glDrawTextureNV)load("glDrawTextureNV"); +} + +GLboolean GLAD_NV_explicit_attrib_location = GL_FALSE; +GLboolean GLAD_NV_explicit_multisample = GL_FALSE; +static void load_GL_NV_explicit_multisample(LOADER load) { + if(!GLAD_NV_explicit_multisample) return; + fp_glGetMultisamplefvNV = (pfn_glGetMultisamplefvNV)load("glGetMultisamplefvNV"); + fp_glSampleMaskIndexedNV = (pfn_glSampleMaskIndexedNV)load("glSampleMaskIndexedNV"); + fp_glTexRenderbufferNV = (pfn_glTexRenderbufferNV)load("glTexRenderbufferNV"); +} + +GLboolean GLAD_NV_fbo_color_attachments = GL_FALSE; +GLboolean GLAD_NV_fence = GL_FALSE; +static void load_GL_NV_fence(LOADER load) { + if(!GLAD_NV_fence) return; + fp_glDeleteFencesNV = (pfn_glDeleteFencesNV)load("glDeleteFencesNV"); + fp_glGenFencesNV = (pfn_glGenFencesNV)load("glGenFencesNV"); + fp_glIsFenceNV = (pfn_glIsFenceNV)load("glIsFenceNV"); + fp_glTestFenceNV = (pfn_glTestFenceNV)load("glTestFenceNV"); + fp_glGetFenceivNV = (pfn_glGetFenceivNV)load("glGetFenceivNV"); + fp_glFinishFenceNV = (pfn_glFinishFenceNV)load("glFinishFenceNV"); + fp_glSetFenceNV = (pfn_glSetFenceNV)load("glSetFenceNV"); +} + +GLboolean GLAD_NV_float_buffer = GL_FALSE; +GLboolean GLAD_NV_fragment_program4 = GL_FALSE; +GLboolean GLAD_NV_framebuffer_blit = GL_FALSE; +static void load_GL_NV_framebuffer_blit(LOADER load) { + if(!GLAD_NV_framebuffer_blit) return; + fp_glBlitFramebufferNV = (pfn_glBlitFramebufferNV)load("glBlitFramebufferNV"); +} + +GLboolean GLAD_NV_framebuffer_multisample = GL_FALSE; +static void load_GL_NV_framebuffer_multisample(LOADER load) { + if(!GLAD_NV_framebuffer_multisample) return; + fp_glRenderbufferStorageMultisampleNV = (pfn_glRenderbufferStorageMultisampleNV)load("glRenderbufferStorageMultisampleNV"); +} + +GLboolean GLAD_NV_framebuffer_multisample_coverage = GL_FALSE; +static void load_GL_NV_framebuffer_multisample_coverage(LOADER load) { + if(!GLAD_NV_framebuffer_multisample_coverage) return; + fp_glRenderbufferStorageMultisampleCoverageNV = (pfn_glRenderbufferStorageMultisampleCoverageNV)load("glRenderbufferStorageMultisampleCoverageNV"); +} + +GLboolean GLAD_NV_generate_mipmap_sRGB = GL_FALSE; +GLboolean GLAD_NV_geometry_program4 = GL_FALSE; +static void load_GL_NV_geometry_program4(LOADER load) { + if(!GLAD_NV_geometry_program4) return; + fp_glProgramVertexLimitNV = (pfn_glProgramVertexLimitNV)load("glProgramVertexLimitNV"); + fp_glFramebufferTextureEXT = (pfn_glFramebufferTextureEXT)load("glFramebufferTextureEXT"); + fp_glFramebufferTextureLayerEXT = (pfn_glFramebufferTextureLayerEXT)load("glFramebufferTextureLayerEXT"); + fp_glFramebufferTextureFaceEXT = (pfn_glFramebufferTextureFaceEXT)load("glFramebufferTextureFaceEXT"); +} + +GLboolean GLAD_NV_geometry_shader4 = GL_FALSE; +GLboolean GLAD_NV_gpu_program4 = GL_FALSE; +static void load_GL_NV_gpu_program4(LOADER load) { + if(!GLAD_NV_gpu_program4) return; + fp_glProgramLocalParameterI4iNV = (pfn_glProgramLocalParameterI4iNV)load("glProgramLocalParameterI4iNV"); + fp_glProgramLocalParameterI4ivNV = (pfn_glProgramLocalParameterI4ivNV)load("glProgramLocalParameterI4ivNV"); + fp_glProgramLocalParametersI4ivNV = (pfn_glProgramLocalParametersI4ivNV)load("glProgramLocalParametersI4ivNV"); + fp_glProgramLocalParameterI4uiNV = (pfn_glProgramLocalParameterI4uiNV)load("glProgramLocalParameterI4uiNV"); + fp_glProgramLocalParameterI4uivNV = (pfn_glProgramLocalParameterI4uivNV)load("glProgramLocalParameterI4uivNV"); + fp_glProgramLocalParametersI4uivNV = (pfn_glProgramLocalParametersI4uivNV)load("glProgramLocalParametersI4uivNV"); + fp_glProgramEnvParameterI4iNV = (pfn_glProgramEnvParameterI4iNV)load("glProgramEnvParameterI4iNV"); + fp_glProgramEnvParameterI4ivNV = (pfn_glProgramEnvParameterI4ivNV)load("glProgramEnvParameterI4ivNV"); + fp_glProgramEnvParametersI4ivNV = (pfn_glProgramEnvParametersI4ivNV)load("glProgramEnvParametersI4ivNV"); + fp_glProgramEnvParameterI4uiNV = (pfn_glProgramEnvParameterI4uiNV)load("glProgramEnvParameterI4uiNV"); + fp_glProgramEnvParameterI4uivNV = (pfn_glProgramEnvParameterI4uivNV)load("glProgramEnvParameterI4uivNV"); + fp_glProgramEnvParametersI4uivNV = (pfn_glProgramEnvParametersI4uivNV)load("glProgramEnvParametersI4uivNV"); + fp_glGetProgramLocalParameterIivNV = (pfn_glGetProgramLocalParameterIivNV)load("glGetProgramLocalParameterIivNV"); + fp_glGetProgramLocalParameterIuivNV = (pfn_glGetProgramLocalParameterIuivNV)load("glGetProgramLocalParameterIuivNV"); + fp_glGetProgramEnvParameterIivNV = (pfn_glGetProgramEnvParameterIivNV)load("glGetProgramEnvParameterIivNV"); + fp_glGetProgramEnvParameterIuivNV = (pfn_glGetProgramEnvParameterIuivNV)load("glGetProgramEnvParameterIuivNV"); +} + +GLboolean GLAD_NV_gpu_program5 = GL_FALSE; +static void load_GL_NV_gpu_program5(LOADER load) { + if(!GLAD_NV_gpu_program5) return; + fp_glProgramSubroutineParametersuivNV = (pfn_glProgramSubroutineParametersuivNV)load("glProgramSubroutineParametersuivNV"); + fp_glGetProgramSubroutineParameteruivNV = (pfn_glGetProgramSubroutineParameteruivNV)load("glGetProgramSubroutineParameteruivNV"); +} + +GLboolean GLAD_NV_gpu_program5_mem_extended = GL_FALSE; +GLboolean GLAD_NV_gpu_shader5 = GL_FALSE; +static void load_GL_NV_gpu_shader5(LOADER load) { + if(!GLAD_NV_gpu_shader5) return; + fp_glUniform1i64NV = (pfn_glUniform1i64NV)load("glUniform1i64NV"); + fp_glUniform2i64NV = (pfn_glUniform2i64NV)load("glUniform2i64NV"); + fp_glUniform3i64NV = (pfn_glUniform3i64NV)load("glUniform3i64NV"); + fp_glUniform4i64NV = (pfn_glUniform4i64NV)load("glUniform4i64NV"); + fp_glUniform1i64vNV = (pfn_glUniform1i64vNV)load("glUniform1i64vNV"); + fp_glUniform2i64vNV = (pfn_glUniform2i64vNV)load("glUniform2i64vNV"); + fp_glUniform3i64vNV = (pfn_glUniform3i64vNV)load("glUniform3i64vNV"); + fp_glUniform4i64vNV = (pfn_glUniform4i64vNV)load("glUniform4i64vNV"); + fp_glUniform1ui64NV = (pfn_glUniform1ui64NV)load("glUniform1ui64NV"); + fp_glUniform2ui64NV = (pfn_glUniform2ui64NV)load("glUniform2ui64NV"); + fp_glUniform3ui64NV = (pfn_glUniform3ui64NV)load("glUniform3ui64NV"); + fp_glUniform4ui64NV = (pfn_glUniform4ui64NV)load("glUniform4ui64NV"); + fp_glUniform1ui64vNV = (pfn_glUniform1ui64vNV)load("glUniform1ui64vNV"); + fp_glUniform2ui64vNV = (pfn_glUniform2ui64vNV)load("glUniform2ui64vNV"); + fp_glUniform3ui64vNV = (pfn_glUniform3ui64vNV)load("glUniform3ui64vNV"); + fp_glUniform4ui64vNV = (pfn_glUniform4ui64vNV)load("glUniform4ui64vNV"); + fp_glGetUniformi64vNV = (pfn_glGetUniformi64vNV)load("glGetUniformi64vNV"); + fp_glProgramUniform1i64NV = (pfn_glProgramUniform1i64NV)load("glProgramUniform1i64NV"); + fp_glProgramUniform2i64NV = (pfn_glProgramUniform2i64NV)load("glProgramUniform2i64NV"); + fp_glProgramUniform3i64NV = (pfn_glProgramUniform3i64NV)load("glProgramUniform3i64NV"); + fp_glProgramUniform4i64NV = (pfn_glProgramUniform4i64NV)load("glProgramUniform4i64NV"); + fp_glProgramUniform1i64vNV = (pfn_glProgramUniform1i64vNV)load("glProgramUniform1i64vNV"); + fp_glProgramUniform2i64vNV = (pfn_glProgramUniform2i64vNV)load("glProgramUniform2i64vNV"); + fp_glProgramUniform3i64vNV = (pfn_glProgramUniform3i64vNV)load("glProgramUniform3i64vNV"); + fp_glProgramUniform4i64vNV = (pfn_glProgramUniform4i64vNV)load("glProgramUniform4i64vNV"); + fp_glProgramUniform1ui64NV = (pfn_glProgramUniform1ui64NV)load("glProgramUniform1ui64NV"); + fp_glProgramUniform2ui64NV = (pfn_glProgramUniform2ui64NV)load("glProgramUniform2ui64NV"); + fp_glProgramUniform3ui64NV = (pfn_glProgramUniform3ui64NV)load("glProgramUniform3ui64NV"); + fp_glProgramUniform4ui64NV = (pfn_glProgramUniform4ui64NV)load("glProgramUniform4ui64NV"); + fp_glProgramUniform1ui64vNV = (pfn_glProgramUniform1ui64vNV)load("glProgramUniform1ui64vNV"); + fp_glProgramUniform2ui64vNV = (pfn_glProgramUniform2ui64vNV)load("glProgramUniform2ui64vNV"); + fp_glProgramUniform3ui64vNV = (pfn_glProgramUniform3ui64vNV)load("glProgramUniform3ui64vNV"); + fp_glProgramUniform4ui64vNV = (pfn_glProgramUniform4ui64vNV)load("glProgramUniform4ui64vNV"); +} + +GLboolean GLAD_NV_half_float = GL_FALSE; +static void load_GL_NV_half_float(LOADER load) { + if(!GLAD_NV_half_float) return; + fp_glVertex2hNV = (pfn_glVertex2hNV)load("glVertex2hNV"); + fp_glVertex2hvNV = (pfn_glVertex2hvNV)load("glVertex2hvNV"); + fp_glVertex3hNV = (pfn_glVertex3hNV)load("glVertex3hNV"); + fp_glVertex3hvNV = (pfn_glVertex3hvNV)load("glVertex3hvNV"); + fp_glVertex4hNV = (pfn_glVertex4hNV)load("glVertex4hNV"); + fp_glVertex4hvNV = (pfn_glVertex4hvNV)load("glVertex4hvNV"); + fp_glNormal3hNV = (pfn_glNormal3hNV)load("glNormal3hNV"); + fp_glNormal3hvNV = (pfn_glNormal3hvNV)load("glNormal3hvNV"); + fp_glColor3hNV = (pfn_glColor3hNV)load("glColor3hNV"); + fp_glColor3hvNV = (pfn_glColor3hvNV)load("glColor3hvNV"); + fp_glColor4hNV = (pfn_glColor4hNV)load("glColor4hNV"); + fp_glColor4hvNV = (pfn_glColor4hvNV)load("glColor4hvNV"); + fp_glTexCoord1hNV = (pfn_glTexCoord1hNV)load("glTexCoord1hNV"); + fp_glTexCoord1hvNV = (pfn_glTexCoord1hvNV)load("glTexCoord1hvNV"); + fp_glTexCoord2hNV = (pfn_glTexCoord2hNV)load("glTexCoord2hNV"); + fp_glTexCoord2hvNV = (pfn_glTexCoord2hvNV)load("glTexCoord2hvNV"); + fp_glTexCoord3hNV = (pfn_glTexCoord3hNV)load("glTexCoord3hNV"); + fp_glTexCoord3hvNV = (pfn_glTexCoord3hvNV)load("glTexCoord3hvNV"); + fp_glTexCoord4hNV = (pfn_glTexCoord4hNV)load("glTexCoord4hNV"); + fp_glTexCoord4hvNV = (pfn_glTexCoord4hvNV)load("glTexCoord4hvNV"); + fp_glMultiTexCoord1hNV = (pfn_glMultiTexCoord1hNV)load("glMultiTexCoord1hNV"); + fp_glMultiTexCoord1hvNV = (pfn_glMultiTexCoord1hvNV)load("glMultiTexCoord1hvNV"); + fp_glMultiTexCoord2hNV = (pfn_glMultiTexCoord2hNV)load("glMultiTexCoord2hNV"); + fp_glMultiTexCoord2hvNV = (pfn_glMultiTexCoord2hvNV)load("glMultiTexCoord2hvNV"); + fp_glMultiTexCoord3hNV = (pfn_glMultiTexCoord3hNV)load("glMultiTexCoord3hNV"); + fp_glMultiTexCoord3hvNV = (pfn_glMultiTexCoord3hvNV)load("glMultiTexCoord3hvNV"); + fp_glMultiTexCoord4hNV = (pfn_glMultiTexCoord4hNV)load("glMultiTexCoord4hNV"); + fp_glMultiTexCoord4hvNV = (pfn_glMultiTexCoord4hvNV)load("glMultiTexCoord4hvNV"); + fp_glFogCoordhNV = (pfn_glFogCoordhNV)load("glFogCoordhNV"); + fp_glFogCoordhvNV = (pfn_glFogCoordhvNV)load("glFogCoordhvNV"); + fp_glSecondaryColor3hNV = (pfn_glSecondaryColor3hNV)load("glSecondaryColor3hNV"); + fp_glSecondaryColor3hvNV = (pfn_glSecondaryColor3hvNV)load("glSecondaryColor3hvNV"); + fp_glVertexWeighthNV = (pfn_glVertexWeighthNV)load("glVertexWeighthNV"); + fp_glVertexWeighthvNV = (pfn_glVertexWeighthvNV)load("glVertexWeighthvNV"); + fp_glVertexAttrib1hNV = (pfn_glVertexAttrib1hNV)load("glVertexAttrib1hNV"); + fp_glVertexAttrib1hvNV = (pfn_glVertexAttrib1hvNV)load("glVertexAttrib1hvNV"); + fp_glVertexAttrib2hNV = (pfn_glVertexAttrib2hNV)load("glVertexAttrib2hNV"); + fp_glVertexAttrib2hvNV = (pfn_glVertexAttrib2hvNV)load("glVertexAttrib2hvNV"); + fp_glVertexAttrib3hNV = (pfn_glVertexAttrib3hNV)load("glVertexAttrib3hNV"); + fp_glVertexAttrib3hvNV = (pfn_glVertexAttrib3hvNV)load("glVertexAttrib3hvNV"); + fp_glVertexAttrib4hNV = (pfn_glVertexAttrib4hNV)load("glVertexAttrib4hNV"); + fp_glVertexAttrib4hvNV = (pfn_glVertexAttrib4hvNV)load("glVertexAttrib4hvNV"); + fp_glVertexAttribs1hvNV = (pfn_glVertexAttribs1hvNV)load("glVertexAttribs1hvNV"); + fp_glVertexAttribs2hvNV = (pfn_glVertexAttribs2hvNV)load("glVertexAttribs2hvNV"); + fp_glVertexAttribs3hvNV = (pfn_glVertexAttribs3hvNV)load("glVertexAttribs3hvNV"); + fp_glVertexAttribs4hvNV = (pfn_glVertexAttribs4hvNV)load("glVertexAttribs4hvNV"); +} + +GLboolean GLAD_NV_instanced_arrays = GL_FALSE; +static void load_GL_NV_instanced_arrays(LOADER load) { + if(!GLAD_NV_instanced_arrays) return; + fp_glVertexAttribDivisorNV = (pfn_glVertexAttribDivisorNV)load("glVertexAttribDivisorNV"); +} + +GLboolean GLAD_NV_multisample_coverage = GL_FALSE; +GLboolean GLAD_NV_non_square_matrices = GL_FALSE; +static void load_GL_NV_non_square_matrices(LOADER load) { + if(!GLAD_NV_non_square_matrices) return; + fp_glUniformMatrix2x3fvNV = (pfn_glUniformMatrix2x3fvNV)load("glUniformMatrix2x3fvNV"); + fp_glUniformMatrix3x2fvNV = (pfn_glUniformMatrix3x2fvNV)load("glUniformMatrix3x2fvNV"); + fp_glUniformMatrix2x4fvNV = (pfn_glUniformMatrix2x4fvNV)load("glUniformMatrix2x4fvNV"); + fp_glUniformMatrix4x2fvNV = (pfn_glUniformMatrix4x2fvNV)load("glUniformMatrix4x2fvNV"); + fp_glUniformMatrix3x4fvNV = (pfn_glUniformMatrix3x4fvNV)load("glUniformMatrix3x4fvNV"); + fp_glUniformMatrix4x3fvNV = (pfn_glUniformMatrix4x3fvNV)load("glUniformMatrix4x3fvNV"); +} + +GLboolean GLAD_NV_occlusion_query = GL_FALSE; +static void load_GL_NV_occlusion_query(LOADER load) { + if(!GLAD_NV_occlusion_query) return; + fp_glGenOcclusionQueriesNV = (pfn_glGenOcclusionQueriesNV)load("glGenOcclusionQueriesNV"); + fp_glDeleteOcclusionQueriesNV = (pfn_glDeleteOcclusionQueriesNV)load("glDeleteOcclusionQueriesNV"); + fp_glIsOcclusionQueryNV = (pfn_glIsOcclusionQueryNV)load("glIsOcclusionQueryNV"); + fp_glBeginOcclusionQueryNV = (pfn_glBeginOcclusionQueryNV)load("glBeginOcclusionQueryNV"); + fp_glEndOcclusionQueryNV = (pfn_glEndOcclusionQueryNV)load("glEndOcclusionQueryNV"); + fp_glGetOcclusionQueryivNV = (pfn_glGetOcclusionQueryivNV)load("glGetOcclusionQueryivNV"); + fp_glGetOcclusionQueryuivNV = (pfn_glGetOcclusionQueryuivNV)load("glGetOcclusionQueryuivNV"); +} + +GLboolean GLAD_NV_parameter_buffer_object = GL_FALSE; +static void load_GL_NV_parameter_buffer_object(LOADER load) { + if(!GLAD_NV_parameter_buffer_object) return; + fp_glProgramBufferParametersfvNV = (pfn_glProgramBufferParametersfvNV)load("glProgramBufferParametersfvNV"); + fp_glProgramBufferParametersIivNV = (pfn_glProgramBufferParametersIivNV)load("glProgramBufferParametersIivNV"); + fp_glProgramBufferParametersIuivNV = (pfn_glProgramBufferParametersIuivNV)load("glProgramBufferParametersIuivNV"); +} + +GLboolean GLAD_NV_parameter_buffer_object2 = GL_FALSE; +GLboolean GLAD_NV_path_rendering = GL_FALSE; +static void load_GL_NV_path_rendering(LOADER load) { + if(!GLAD_NV_path_rendering) return; + fp_glGenPathsNV = (pfn_glGenPathsNV)load("glGenPathsNV"); + fp_glDeletePathsNV = (pfn_glDeletePathsNV)load("glDeletePathsNV"); + fp_glIsPathNV = (pfn_glIsPathNV)load("glIsPathNV"); + fp_glPathCommandsNV = (pfn_glPathCommandsNV)load("glPathCommandsNV"); + fp_glPathCoordsNV = (pfn_glPathCoordsNV)load("glPathCoordsNV"); + fp_glPathSubCommandsNV = (pfn_glPathSubCommandsNV)load("glPathSubCommandsNV"); + fp_glPathSubCoordsNV = (pfn_glPathSubCoordsNV)load("glPathSubCoordsNV"); + fp_glPathStringNV = (pfn_glPathStringNV)load("glPathStringNV"); + fp_glPathGlyphsNV = (pfn_glPathGlyphsNV)load("glPathGlyphsNV"); + fp_glPathGlyphRangeNV = (pfn_glPathGlyphRangeNV)load("glPathGlyphRangeNV"); + fp_glWeightPathsNV = (pfn_glWeightPathsNV)load("glWeightPathsNV"); + fp_glCopyPathNV = (pfn_glCopyPathNV)load("glCopyPathNV"); + fp_glInterpolatePathsNV = (pfn_glInterpolatePathsNV)load("glInterpolatePathsNV"); + fp_glTransformPathNV = (pfn_glTransformPathNV)load("glTransformPathNV"); + fp_glPathParameterivNV = (pfn_glPathParameterivNV)load("glPathParameterivNV"); + fp_glPathParameteriNV = (pfn_glPathParameteriNV)load("glPathParameteriNV"); + fp_glPathParameterfvNV = (pfn_glPathParameterfvNV)load("glPathParameterfvNV"); + fp_glPathParameterfNV = (pfn_glPathParameterfNV)load("glPathParameterfNV"); + fp_glPathDashArrayNV = (pfn_glPathDashArrayNV)load("glPathDashArrayNV"); + fp_glPathStencilFuncNV = (pfn_glPathStencilFuncNV)load("glPathStencilFuncNV"); + fp_glPathStencilDepthOffsetNV = (pfn_glPathStencilDepthOffsetNV)load("glPathStencilDepthOffsetNV"); + fp_glStencilFillPathNV = (pfn_glStencilFillPathNV)load("glStencilFillPathNV"); + fp_glStencilStrokePathNV = (pfn_glStencilStrokePathNV)load("glStencilStrokePathNV"); + fp_glStencilFillPathInstancedNV = (pfn_glStencilFillPathInstancedNV)load("glStencilFillPathInstancedNV"); + fp_glStencilStrokePathInstancedNV = (pfn_glStencilStrokePathInstancedNV)load("glStencilStrokePathInstancedNV"); + fp_glPathCoverDepthFuncNV = (pfn_glPathCoverDepthFuncNV)load("glPathCoverDepthFuncNV"); + fp_glPathColorGenNV = (pfn_glPathColorGenNV)load("glPathColorGenNV"); + fp_glPathTexGenNV = (pfn_glPathTexGenNV)load("glPathTexGenNV"); + fp_glPathFogGenNV = (pfn_glPathFogGenNV)load("glPathFogGenNV"); + fp_glCoverFillPathNV = (pfn_glCoverFillPathNV)load("glCoverFillPathNV"); + fp_glCoverStrokePathNV = (pfn_glCoverStrokePathNV)load("glCoverStrokePathNV"); + fp_glCoverFillPathInstancedNV = (pfn_glCoverFillPathInstancedNV)load("glCoverFillPathInstancedNV"); + fp_glCoverStrokePathInstancedNV = (pfn_glCoverStrokePathInstancedNV)load("glCoverStrokePathInstancedNV"); + fp_glGetPathParameterivNV = (pfn_glGetPathParameterivNV)load("glGetPathParameterivNV"); + fp_glGetPathParameterfvNV = (pfn_glGetPathParameterfvNV)load("glGetPathParameterfvNV"); + fp_glGetPathCommandsNV = (pfn_glGetPathCommandsNV)load("glGetPathCommandsNV"); + fp_glGetPathCoordsNV = (pfn_glGetPathCoordsNV)load("glGetPathCoordsNV"); + fp_glGetPathDashArrayNV = (pfn_glGetPathDashArrayNV)load("glGetPathDashArrayNV"); + fp_glGetPathMetricsNV = (pfn_glGetPathMetricsNV)load("glGetPathMetricsNV"); + fp_glGetPathMetricRangeNV = (pfn_glGetPathMetricRangeNV)load("glGetPathMetricRangeNV"); + fp_glGetPathSpacingNV = (pfn_glGetPathSpacingNV)load("glGetPathSpacingNV"); + fp_glGetPathColorGenivNV = (pfn_glGetPathColorGenivNV)load("glGetPathColorGenivNV"); + fp_glGetPathColorGenfvNV = (pfn_glGetPathColorGenfvNV)load("glGetPathColorGenfvNV"); + fp_glGetPathTexGenivNV = (pfn_glGetPathTexGenivNV)load("glGetPathTexGenivNV"); + fp_glGetPathTexGenfvNV = (pfn_glGetPathTexGenfvNV)load("glGetPathTexGenfvNV"); + fp_glIsPointInFillPathNV = (pfn_glIsPointInFillPathNV)load("glIsPointInFillPathNV"); + fp_glIsPointInStrokePathNV = (pfn_glIsPointInStrokePathNV)load("glIsPointInStrokePathNV"); + fp_glGetPathLengthNV = (pfn_glGetPathLengthNV)load("glGetPathLengthNV"); + fp_glPointAlongPathNV = (pfn_glPointAlongPathNV)load("glPointAlongPathNV"); + fp_glMatrixLoad3x2fNV = (pfn_glMatrixLoad3x2fNV)load("glMatrixLoad3x2fNV"); + fp_glMatrixLoad3x3fNV = (pfn_glMatrixLoad3x3fNV)load("glMatrixLoad3x3fNV"); + fp_glMatrixLoadTranspose3x3fNV = (pfn_glMatrixLoadTranspose3x3fNV)load("glMatrixLoadTranspose3x3fNV"); + fp_glMatrixMult3x2fNV = (pfn_glMatrixMult3x2fNV)load("glMatrixMult3x2fNV"); + fp_glMatrixMult3x3fNV = (pfn_glMatrixMult3x3fNV)load("glMatrixMult3x3fNV"); + fp_glMatrixMultTranspose3x3fNV = (pfn_glMatrixMultTranspose3x3fNV)load("glMatrixMultTranspose3x3fNV"); + fp_glStencilThenCoverFillPathNV = (pfn_glStencilThenCoverFillPathNV)load("glStencilThenCoverFillPathNV"); + fp_glStencilThenCoverStrokePathNV = (pfn_glStencilThenCoverStrokePathNV)load("glStencilThenCoverStrokePathNV"); + fp_glStencilThenCoverFillPathInstancedNV = (pfn_glStencilThenCoverFillPathInstancedNV)load("glStencilThenCoverFillPathInstancedNV"); + fp_glStencilThenCoverStrokePathInstancedNV = (pfn_glStencilThenCoverStrokePathInstancedNV)load("glStencilThenCoverStrokePathInstancedNV"); + fp_glPathGlyphIndexRangeNV = (pfn_glPathGlyphIndexRangeNV)load("glPathGlyphIndexRangeNV"); + fp_glPathGlyphIndexArrayNV = (pfn_glPathGlyphIndexArrayNV)load("glPathGlyphIndexArrayNV"); + fp_glPathMemoryGlyphIndexArrayNV = (pfn_glPathMemoryGlyphIndexArrayNV)load("glPathMemoryGlyphIndexArrayNV"); + fp_glProgramPathFragmentInputGenNV = (pfn_glProgramPathFragmentInputGenNV)load("glProgramPathFragmentInputGenNV"); + fp_glGetProgramResourcefvNV = (pfn_glGetProgramResourcefvNV)load("glGetProgramResourcefvNV"); +} + +GLboolean GLAD_NV_present_video = GL_FALSE; +static void load_GL_NV_present_video(LOADER load) { + if(!GLAD_NV_present_video) return; + fp_glPresentFrameKeyedNV = (pfn_glPresentFrameKeyedNV)load("glPresentFrameKeyedNV"); + fp_glPresentFrameDualFillNV = (pfn_glPresentFrameDualFillNV)load("glPresentFrameDualFillNV"); + fp_glGetVideoivNV = (pfn_glGetVideoivNV)load("glGetVideoivNV"); + fp_glGetVideouivNV = (pfn_glGetVideouivNV)load("glGetVideouivNV"); + fp_glGetVideoi64vNV = (pfn_glGetVideoi64vNV)load("glGetVideoi64vNV"); + fp_glGetVideoui64vNV = (pfn_glGetVideoui64vNV)load("glGetVideoui64vNV"); +} + +GLboolean GLAD_NV_primitive_restart = GL_FALSE; +static void load_GL_NV_primitive_restart(LOADER load) { + if(!GLAD_NV_primitive_restart) return; + fp_glPrimitiveRestartNV = (pfn_glPrimitiveRestartNV)load("glPrimitiveRestartNV"); + fp_glPrimitiveRestartIndexNV = (pfn_glPrimitiveRestartIndexNV)load("glPrimitiveRestartIndexNV"); +} + +GLboolean GLAD_NV_read_buffer = GL_FALSE; +static void load_GL_NV_read_buffer(LOADER load) { + if(!GLAD_NV_read_buffer) return; + fp_glReadBufferNV = (pfn_glReadBufferNV)load("glReadBufferNV"); +} + +GLboolean GLAD_NV_read_buffer_front = GL_FALSE; +GLboolean GLAD_NV_read_depth = GL_FALSE; +GLboolean GLAD_NV_read_depth_stencil = GL_FALSE; +GLboolean GLAD_NV_read_stencil = GL_FALSE; +GLboolean GLAD_NV_shader_atomic_counters = GL_FALSE; +GLboolean GLAD_NV_shader_atomic_float = GL_FALSE; +GLboolean GLAD_NV_shader_atomic_int64 = GL_FALSE; +GLboolean GLAD_NV_shader_buffer_load = GL_FALSE; +static void load_GL_NV_shader_buffer_load(LOADER load) { + if(!GLAD_NV_shader_buffer_load) return; + fp_glMakeBufferResidentNV = (pfn_glMakeBufferResidentNV)load("glMakeBufferResidentNV"); + fp_glMakeBufferNonResidentNV = (pfn_glMakeBufferNonResidentNV)load("glMakeBufferNonResidentNV"); + fp_glIsBufferResidentNV = (pfn_glIsBufferResidentNV)load("glIsBufferResidentNV"); + fp_glMakeNamedBufferResidentNV = (pfn_glMakeNamedBufferResidentNV)load("glMakeNamedBufferResidentNV"); + fp_glMakeNamedBufferNonResidentNV = (pfn_glMakeNamedBufferNonResidentNV)load("glMakeNamedBufferNonResidentNV"); + fp_glIsNamedBufferResidentNV = (pfn_glIsNamedBufferResidentNV)load("glIsNamedBufferResidentNV"); + fp_glGetBufferParameterui64vNV = (pfn_glGetBufferParameterui64vNV)load("glGetBufferParameterui64vNV"); + fp_glGetNamedBufferParameterui64vNV = (pfn_glGetNamedBufferParameterui64vNV)load("glGetNamedBufferParameterui64vNV"); + fp_glGetIntegerui64vNV = (pfn_glGetIntegerui64vNV)load("glGetIntegerui64vNV"); + fp_glUniformui64NV = (pfn_glUniformui64NV)load("glUniformui64NV"); + fp_glUniformui64vNV = (pfn_glUniformui64vNV)load("glUniformui64vNV"); + fp_glGetUniformui64vNV = (pfn_glGetUniformui64vNV)load("glGetUniformui64vNV"); + fp_glProgramUniformui64NV = (pfn_glProgramUniformui64NV)load("glProgramUniformui64NV"); + fp_glProgramUniformui64vNV = (pfn_glProgramUniformui64vNV)load("glProgramUniformui64vNV"); +} + +GLboolean GLAD_NV_shader_buffer_store = GL_FALSE; +GLboolean GLAD_NV_shader_storage_buffer_object = GL_FALSE; +GLboolean GLAD_NV_shader_thread_group = GL_FALSE; +GLboolean GLAD_NV_shader_thread_shuffle = GL_FALSE; +GLboolean GLAD_NV_shadow_samplers_array = GL_FALSE; +GLboolean GLAD_NV_shadow_samplers_cube = GL_FALSE; +GLboolean GLAD_NV_sRGB_formats = GL_FALSE; +GLboolean GLAD_NV_tessellation_program5 = GL_FALSE; +GLboolean GLAD_NV_texture_barrier = GL_FALSE; +static void load_GL_NV_texture_barrier(LOADER load) { + if(!GLAD_NV_texture_barrier) return; + fp_glTextureBarrierNV = (pfn_glTextureBarrierNV)load("glTextureBarrierNV"); +} + +GLboolean GLAD_NV_texture_border_clamp = GL_FALSE; +GLboolean GLAD_NV_texture_compression_s3tc_update = GL_FALSE; +GLboolean GLAD_NV_texture_multisample = GL_FALSE; +static void load_GL_NV_texture_multisample(LOADER load) { + if(!GLAD_NV_texture_multisample) return; + fp_glTexImage2DMultisampleCoverageNV = (pfn_glTexImage2DMultisampleCoverageNV)load("glTexImage2DMultisampleCoverageNV"); + fp_glTexImage3DMultisampleCoverageNV = (pfn_glTexImage3DMultisampleCoverageNV)load("glTexImage3DMultisampleCoverageNV"); + fp_glTextureImage2DMultisampleNV = (pfn_glTextureImage2DMultisampleNV)load("glTextureImage2DMultisampleNV"); + fp_glTextureImage3DMultisampleNV = (pfn_glTextureImage3DMultisampleNV)load("glTextureImage3DMultisampleNV"); + fp_glTextureImage2DMultisampleCoverageNV = (pfn_glTextureImage2DMultisampleCoverageNV)load("glTextureImage2DMultisampleCoverageNV"); + fp_glTextureImage3DMultisampleCoverageNV = (pfn_glTextureImage3DMultisampleCoverageNV)load("glTextureImage3DMultisampleCoverageNV"); +} + +GLboolean GLAD_NV_texture_npot_2D_mipmap = GL_FALSE; +GLboolean GLAD_NV_transform_feedback = GL_FALSE; +static void load_GL_NV_transform_feedback(LOADER load) { + if(!GLAD_NV_transform_feedback) return; + fp_glBeginTransformFeedbackNV = (pfn_glBeginTransformFeedbackNV)load("glBeginTransformFeedbackNV"); + fp_glEndTransformFeedbackNV = (pfn_glEndTransformFeedbackNV)load("glEndTransformFeedbackNV"); + fp_glTransformFeedbackAttribsNV = (pfn_glTransformFeedbackAttribsNV)load("glTransformFeedbackAttribsNV"); + fp_glBindBufferRangeNV = (pfn_glBindBufferRangeNV)load("glBindBufferRangeNV"); + fp_glBindBufferOffsetNV = (pfn_glBindBufferOffsetNV)load("glBindBufferOffsetNV"); + fp_glBindBufferBaseNV = (pfn_glBindBufferBaseNV)load("glBindBufferBaseNV"); + fp_glTransformFeedbackVaryingsNV = (pfn_glTransformFeedbackVaryingsNV)load("glTransformFeedbackVaryingsNV"); + fp_glActiveVaryingNV = (pfn_glActiveVaryingNV)load("glActiveVaryingNV"); + fp_glGetVaryingLocationNV = (pfn_glGetVaryingLocationNV)load("glGetVaryingLocationNV"); + fp_glGetActiveVaryingNV = (pfn_glGetActiveVaryingNV)load("glGetActiveVaryingNV"); + fp_glGetTransformFeedbackVaryingNV = (pfn_glGetTransformFeedbackVaryingNV)load("glGetTransformFeedbackVaryingNV"); + fp_glTransformFeedbackStreamAttribsNV = (pfn_glTransformFeedbackStreamAttribsNV)load("glTransformFeedbackStreamAttribsNV"); +} + +GLboolean GLAD_NV_transform_feedback2 = GL_FALSE; +static void load_GL_NV_transform_feedback2(LOADER load) { + if(!GLAD_NV_transform_feedback2) return; + fp_glBindTransformFeedbackNV = (pfn_glBindTransformFeedbackNV)load("glBindTransformFeedbackNV"); + fp_glDeleteTransformFeedbacksNV = (pfn_glDeleteTransformFeedbacksNV)load("glDeleteTransformFeedbacksNV"); + fp_glGenTransformFeedbacksNV = (pfn_glGenTransformFeedbacksNV)load("glGenTransformFeedbacksNV"); + fp_glIsTransformFeedbackNV = (pfn_glIsTransformFeedbackNV)load("glIsTransformFeedbackNV"); + fp_glPauseTransformFeedbackNV = (pfn_glPauseTransformFeedbackNV)load("glPauseTransformFeedbackNV"); + fp_glResumeTransformFeedbackNV = (pfn_glResumeTransformFeedbackNV)load("glResumeTransformFeedbackNV"); + fp_glDrawTransformFeedbackNV = (pfn_glDrawTransformFeedbackNV)load("glDrawTransformFeedbackNV"); +} + +GLboolean GLAD_NV_vdpau_interop = GL_FALSE; +static void load_GL_NV_vdpau_interop(LOADER load) { + if(!GLAD_NV_vdpau_interop) return; + fp_glVDPAUInitNV = (pfn_glVDPAUInitNV)load("glVDPAUInitNV"); + fp_glVDPAUFiniNV = (pfn_glVDPAUFiniNV)load("glVDPAUFiniNV"); + fp_glVDPAURegisterVideoSurfaceNV = (pfn_glVDPAURegisterVideoSurfaceNV)load("glVDPAURegisterVideoSurfaceNV"); + fp_glVDPAURegisterOutputSurfaceNV = (pfn_glVDPAURegisterOutputSurfaceNV)load("glVDPAURegisterOutputSurfaceNV"); + fp_glVDPAUIsSurfaceNV = (pfn_glVDPAUIsSurfaceNV)load("glVDPAUIsSurfaceNV"); + fp_glVDPAUUnregisterSurfaceNV = (pfn_glVDPAUUnregisterSurfaceNV)load("glVDPAUUnregisterSurfaceNV"); + fp_glVDPAUGetSurfaceivNV = (pfn_glVDPAUGetSurfaceivNV)load("glVDPAUGetSurfaceivNV"); + fp_glVDPAUSurfaceAccessNV = (pfn_glVDPAUSurfaceAccessNV)load("glVDPAUSurfaceAccessNV"); + fp_glVDPAUMapSurfacesNV = (pfn_glVDPAUMapSurfacesNV)load("glVDPAUMapSurfacesNV"); + fp_glVDPAUUnmapSurfacesNV = (pfn_glVDPAUUnmapSurfacesNV)load("glVDPAUUnmapSurfacesNV"); +} + +GLboolean GLAD_NV_vertex_attrib_integer_64bit = GL_FALSE; +static void load_GL_NV_vertex_attrib_integer_64bit(LOADER load) { + if(!GLAD_NV_vertex_attrib_integer_64bit) return; + fp_glVertexAttribL1i64NV = (pfn_glVertexAttribL1i64NV)load("glVertexAttribL1i64NV"); + fp_glVertexAttribL2i64NV = (pfn_glVertexAttribL2i64NV)load("glVertexAttribL2i64NV"); + fp_glVertexAttribL3i64NV = (pfn_glVertexAttribL3i64NV)load("glVertexAttribL3i64NV"); + fp_glVertexAttribL4i64NV = (pfn_glVertexAttribL4i64NV)load("glVertexAttribL4i64NV"); + fp_glVertexAttribL1i64vNV = (pfn_glVertexAttribL1i64vNV)load("glVertexAttribL1i64vNV"); + fp_glVertexAttribL2i64vNV = (pfn_glVertexAttribL2i64vNV)load("glVertexAttribL2i64vNV"); + fp_glVertexAttribL3i64vNV = (pfn_glVertexAttribL3i64vNV)load("glVertexAttribL3i64vNV"); + fp_glVertexAttribL4i64vNV = (pfn_glVertexAttribL4i64vNV)load("glVertexAttribL4i64vNV"); + fp_glVertexAttribL1ui64NV = (pfn_glVertexAttribL1ui64NV)load("glVertexAttribL1ui64NV"); + fp_glVertexAttribL2ui64NV = (pfn_glVertexAttribL2ui64NV)load("glVertexAttribL2ui64NV"); + fp_glVertexAttribL3ui64NV = (pfn_glVertexAttribL3ui64NV)load("glVertexAttribL3ui64NV"); + fp_glVertexAttribL4ui64NV = (pfn_glVertexAttribL4ui64NV)load("glVertexAttribL4ui64NV"); + fp_glVertexAttribL1ui64vNV = (pfn_glVertexAttribL1ui64vNV)load("glVertexAttribL1ui64vNV"); + fp_glVertexAttribL2ui64vNV = (pfn_glVertexAttribL2ui64vNV)load("glVertexAttribL2ui64vNV"); + fp_glVertexAttribL3ui64vNV = (pfn_glVertexAttribL3ui64vNV)load("glVertexAttribL3ui64vNV"); + fp_glVertexAttribL4ui64vNV = (pfn_glVertexAttribL4ui64vNV)load("glVertexAttribL4ui64vNV"); + fp_glGetVertexAttribLi64vNV = (pfn_glGetVertexAttribLi64vNV)load("glGetVertexAttribLi64vNV"); + fp_glGetVertexAttribLui64vNV = (pfn_glGetVertexAttribLui64vNV)load("glGetVertexAttribLui64vNV"); + fp_glVertexAttribLFormatNV = (pfn_glVertexAttribLFormatNV)load("glVertexAttribLFormatNV"); +} + +GLboolean GLAD_NV_vertex_buffer_unified_memory = GL_FALSE; +static void load_GL_NV_vertex_buffer_unified_memory(LOADER load) { + if(!GLAD_NV_vertex_buffer_unified_memory) return; + fp_glBufferAddressRangeNV = (pfn_glBufferAddressRangeNV)load("glBufferAddressRangeNV"); + fp_glVertexFormatNV = (pfn_glVertexFormatNV)load("glVertexFormatNV"); + fp_glNormalFormatNV = (pfn_glNormalFormatNV)load("glNormalFormatNV"); + fp_glColorFormatNV = (pfn_glColorFormatNV)load("glColorFormatNV"); + fp_glIndexFormatNV = (pfn_glIndexFormatNV)load("glIndexFormatNV"); + fp_glTexCoordFormatNV = (pfn_glTexCoordFormatNV)load("glTexCoordFormatNV"); + fp_glEdgeFlagFormatNV = (pfn_glEdgeFlagFormatNV)load("glEdgeFlagFormatNV"); + fp_glSecondaryColorFormatNV = (pfn_glSecondaryColorFormatNV)load("glSecondaryColorFormatNV"); + fp_glFogCoordFormatNV = (pfn_glFogCoordFormatNV)load("glFogCoordFormatNV"); + fp_glVertexAttribFormatNV = (pfn_glVertexAttribFormatNV)load("glVertexAttribFormatNV"); + fp_glVertexAttribIFormatNV = (pfn_glVertexAttribIFormatNV)load("glVertexAttribIFormatNV"); + fp_glGetIntegerui64i_vNV = (pfn_glGetIntegerui64i_vNV)load("glGetIntegerui64i_vNV"); +} + +GLboolean GLAD_NV_vertex_program4 = GL_FALSE; +static void load_GL_NV_vertex_program4(LOADER load) { + if(!GLAD_NV_vertex_program4) return; + fp_glVertexAttribI1iEXT = (pfn_glVertexAttribI1iEXT)load("glVertexAttribI1iEXT"); + fp_glVertexAttribI2iEXT = (pfn_glVertexAttribI2iEXT)load("glVertexAttribI2iEXT"); + fp_glVertexAttribI3iEXT = (pfn_glVertexAttribI3iEXT)load("glVertexAttribI3iEXT"); + fp_glVertexAttribI4iEXT = (pfn_glVertexAttribI4iEXT)load("glVertexAttribI4iEXT"); + fp_glVertexAttribI1uiEXT = (pfn_glVertexAttribI1uiEXT)load("glVertexAttribI1uiEXT"); + fp_glVertexAttribI2uiEXT = (pfn_glVertexAttribI2uiEXT)load("glVertexAttribI2uiEXT"); + fp_glVertexAttribI3uiEXT = (pfn_glVertexAttribI3uiEXT)load("glVertexAttribI3uiEXT"); + fp_glVertexAttribI4uiEXT = (pfn_glVertexAttribI4uiEXT)load("glVertexAttribI4uiEXT"); + fp_glVertexAttribI1ivEXT = (pfn_glVertexAttribI1ivEXT)load("glVertexAttribI1ivEXT"); + fp_glVertexAttribI2ivEXT = (pfn_glVertexAttribI2ivEXT)load("glVertexAttribI2ivEXT"); + fp_glVertexAttribI3ivEXT = (pfn_glVertexAttribI3ivEXT)load("glVertexAttribI3ivEXT"); + fp_glVertexAttribI4ivEXT = (pfn_glVertexAttribI4ivEXT)load("glVertexAttribI4ivEXT"); + fp_glVertexAttribI1uivEXT = (pfn_glVertexAttribI1uivEXT)load("glVertexAttribI1uivEXT"); + fp_glVertexAttribI2uivEXT = (pfn_glVertexAttribI2uivEXT)load("glVertexAttribI2uivEXT"); + fp_glVertexAttribI3uivEXT = (pfn_glVertexAttribI3uivEXT)load("glVertexAttribI3uivEXT"); + fp_glVertexAttribI4uivEXT = (pfn_glVertexAttribI4uivEXT)load("glVertexAttribI4uivEXT"); + fp_glVertexAttribI4bvEXT = (pfn_glVertexAttribI4bvEXT)load("glVertexAttribI4bvEXT"); + fp_glVertexAttribI4svEXT = (pfn_glVertexAttribI4svEXT)load("glVertexAttribI4svEXT"); + fp_glVertexAttribI4ubvEXT = (pfn_glVertexAttribI4ubvEXT)load("glVertexAttribI4ubvEXT"); + fp_glVertexAttribI4usvEXT = (pfn_glVertexAttribI4usvEXT)load("glVertexAttribI4usvEXT"); + fp_glVertexAttribIPointerEXT = (pfn_glVertexAttribIPointerEXT)load("glVertexAttribIPointerEXT"); + fp_glGetVertexAttribIivEXT = (pfn_glGetVertexAttribIivEXT)load("glGetVertexAttribIivEXT"); + fp_glGetVertexAttribIuivEXT = (pfn_glGetVertexAttribIuivEXT)load("glGetVertexAttribIuivEXT"); +} + +GLboolean GLAD_NV_video_capture = GL_FALSE; +static void load_GL_NV_video_capture(LOADER load) { + if(!GLAD_NV_video_capture) return; + fp_glBeginVideoCaptureNV = (pfn_glBeginVideoCaptureNV)load("glBeginVideoCaptureNV"); + fp_glBindVideoCaptureStreamBufferNV = (pfn_glBindVideoCaptureStreamBufferNV)load("glBindVideoCaptureStreamBufferNV"); + fp_glBindVideoCaptureStreamTextureNV = (pfn_glBindVideoCaptureStreamTextureNV)load("glBindVideoCaptureStreamTextureNV"); + fp_glEndVideoCaptureNV = (pfn_glEndVideoCaptureNV)load("glEndVideoCaptureNV"); + fp_glGetVideoCaptureivNV = (pfn_glGetVideoCaptureivNV)load("glGetVideoCaptureivNV"); + fp_glGetVideoCaptureStreamivNV = (pfn_glGetVideoCaptureStreamivNV)load("glGetVideoCaptureStreamivNV"); + fp_glGetVideoCaptureStreamfvNV = (pfn_glGetVideoCaptureStreamfvNV)load("glGetVideoCaptureStreamfvNV"); + fp_glGetVideoCaptureStreamdvNV = (pfn_glGetVideoCaptureStreamdvNV)load("glGetVideoCaptureStreamdvNV"); + fp_glVideoCaptureNV = (pfn_glVideoCaptureNV)load("glVideoCaptureNV"); + fp_glVideoCaptureStreamParameterivNV = (pfn_glVideoCaptureStreamParameterivNV)load("glVideoCaptureStreamParameterivNV"); + fp_glVideoCaptureStreamParameterfvNV = (pfn_glVideoCaptureStreamParameterfvNV)load("glVideoCaptureStreamParameterfvNV"); + fp_glVideoCaptureStreamParameterdvNV = (pfn_glVideoCaptureStreamParameterdvNV)load("glVideoCaptureStreamParameterdvNV"); +} + +GLboolean GLAD_NVX_conditional_render = GL_FALSE; +static void load_GL_NVX_conditional_render(LOADER load) { + if(!GLAD_NVX_conditional_render) return; + fp_glBeginConditionalRenderNVX = (pfn_glBeginConditionalRenderNVX)load("glBeginConditionalRenderNVX"); + fp_glEndConditionalRenderNVX = (pfn_glEndConditionalRenderNVX)load("glEndConditionalRenderNVX"); +} + +GLboolean GLAD_NVX_gpu_memory_info = GL_FALSE; +GLboolean GLAD_QCOM_alpha_test = GL_FALSE; +static void load_GL_QCOM_alpha_test(LOADER load) { + if(!GLAD_QCOM_alpha_test) return; + fp_glAlphaFuncQCOM = (pfn_glAlphaFuncQCOM)load("glAlphaFuncQCOM"); +} + +GLboolean GLAD_QCOM_binning_control = GL_FALSE; +GLboolean GLAD_QCOM_driver_control = GL_FALSE; +static void load_GL_QCOM_driver_control(LOADER load) { + if(!GLAD_QCOM_driver_control) return; + fp_glGetDriverControlsQCOM = (pfn_glGetDriverControlsQCOM)load("glGetDriverControlsQCOM"); + fp_glGetDriverControlStringQCOM = (pfn_glGetDriverControlStringQCOM)load("glGetDriverControlStringQCOM"); + fp_glEnableDriverControlQCOM = (pfn_glEnableDriverControlQCOM)load("glEnableDriverControlQCOM"); + fp_glDisableDriverControlQCOM = (pfn_glDisableDriverControlQCOM)load("glDisableDriverControlQCOM"); +} + +GLboolean GLAD_QCOM_extended_get = GL_FALSE; +static void load_GL_QCOM_extended_get(LOADER load) { + if(!GLAD_QCOM_extended_get) return; + fp_glExtGetTexturesQCOM = (pfn_glExtGetTexturesQCOM)load("glExtGetTexturesQCOM"); + fp_glExtGetBuffersQCOM = (pfn_glExtGetBuffersQCOM)load("glExtGetBuffersQCOM"); + fp_glExtGetRenderbuffersQCOM = (pfn_glExtGetRenderbuffersQCOM)load("glExtGetRenderbuffersQCOM"); + fp_glExtGetFramebuffersQCOM = (pfn_glExtGetFramebuffersQCOM)load("glExtGetFramebuffersQCOM"); + fp_glExtGetTexLevelParameterivQCOM = (pfn_glExtGetTexLevelParameterivQCOM)load("glExtGetTexLevelParameterivQCOM"); + fp_glExtTexObjectStateOverrideiQCOM = (pfn_glExtTexObjectStateOverrideiQCOM)load("glExtTexObjectStateOverrideiQCOM"); + fp_glExtGetTexSubImageQCOM = (pfn_glExtGetTexSubImageQCOM)load("glExtGetTexSubImageQCOM"); + fp_glExtGetBufferPointervQCOM = (pfn_glExtGetBufferPointervQCOM)load("glExtGetBufferPointervQCOM"); +} + +GLboolean GLAD_QCOM_extended_get2 = GL_FALSE; +static void load_GL_QCOM_extended_get2(LOADER load) { + if(!GLAD_QCOM_extended_get2) return; + fp_glExtGetShadersQCOM = (pfn_glExtGetShadersQCOM)load("glExtGetShadersQCOM"); + fp_glExtGetProgramsQCOM = (pfn_glExtGetProgramsQCOM)load("glExtGetProgramsQCOM"); + fp_glExtIsProgramBinaryQCOM = (pfn_glExtIsProgramBinaryQCOM)load("glExtIsProgramBinaryQCOM"); + fp_glExtGetProgramBinarySourceQCOM = (pfn_glExtGetProgramBinarySourceQCOM)load("glExtGetProgramBinarySourceQCOM"); +} + +GLboolean GLAD_QCOM_perfmon_global_mode = GL_FALSE; +GLboolean GLAD_QCOM_tiled_rendering = GL_FALSE; +static void load_GL_QCOM_tiled_rendering(LOADER load) { + if(!GLAD_QCOM_tiled_rendering) return; + fp_glStartTilingQCOM = (pfn_glStartTilingQCOM)load("glStartTilingQCOM"); + fp_glEndTilingQCOM = (pfn_glEndTilingQCOM)load("glEndTilingQCOM"); +} + +GLboolean GLAD_QCOM_writeonly_rendering = GL_FALSE; +GLboolean GLAD_SGIX_calligraphic_fragment = GL_FALSE; +GLboolean GLAD_SGIX_depth_pass_instrument = GL_FALSE; +GLboolean GLAD_SGIX_pixel_tiles = GL_FALSE; +GLboolean GLAD_SGIX_scalebias_hint = GL_FALSE; +GLboolean GLAD_SGIX_subsample = GL_FALSE; +GLboolean GLAD_SGIX_ycrcb_subsample = GL_FALSE; +GLboolean GLAD_SGIX_ycrcba = GL_FALSE; +GLboolean GLAD_VIV_shader_binary = GL_FALSE; +static void find_extensions(void) { + GLAD_KHR_blend_equation_advanced = has_ext("GL_KHR_blend_equation_advanced"); + GLAD_KHR_blend_equation_advanced_coherent = has_ext("GL_KHR_blend_equation_advanced_coherent"); + GLAD_KHR_context_flush_control = has_ext("GL_KHR_context_flush_control"); + GLAD_KHR_debug = has_ext("GL_KHR_debug"); + GLAD_KHR_robust_buffer_access_behavior = has_ext("GL_KHR_robust_buffer_access_behavior"); + GLAD_KHR_robustness = has_ext("GL_KHR_robustness"); + GLAD_KHR_texture_compression_astc_hdr = has_ext("GL_KHR_texture_compression_astc_hdr"); + GLAD_KHR_texture_compression_astc_ldr = has_ext("GL_KHR_texture_compression_astc_ldr"); + GLAD_ARB_arrays_of_arrays = has_ext("GL_ARB_arrays_of_arrays"); + GLAD_ARB_base_instance = has_ext("GL_ARB_base_instance"); + GLAD_ARB_bindless_texture = has_ext("GL_ARB_bindless_texture"); + GLAD_ARB_blend_func_extended = has_ext("GL_ARB_blend_func_extended"); + GLAD_ARB_buffer_storage = has_ext("GL_ARB_buffer_storage"); + GLAD_ARB_cl_event = has_ext("GL_ARB_cl_event"); + GLAD_ARB_clear_buffer_object = has_ext("GL_ARB_clear_buffer_object"); + GLAD_ARB_clear_texture = has_ext("GL_ARB_clear_texture"); + GLAD_ARB_clip_control = has_ext("GL_ARB_clip_control"); + GLAD_ARB_color_buffer_float = has_ext("GL_ARB_color_buffer_float"); + GLAD_ARB_compatibility = has_ext("GL_ARB_compatibility"); + GLAD_ARB_compressed_texture_pixel_storage = has_ext("GL_ARB_compressed_texture_pixel_storage"); + GLAD_ARB_compute_shader = has_ext("GL_ARB_compute_shader"); + GLAD_ARB_compute_variable_group_size = has_ext("GL_ARB_compute_variable_group_size"); + GLAD_ARB_conditional_render_inverted = has_ext("GL_ARB_conditional_render_inverted"); + GLAD_ARB_conservative_depth = has_ext("GL_ARB_conservative_depth"); + GLAD_ARB_copy_buffer = has_ext("GL_ARB_copy_buffer"); + GLAD_ARB_copy_image = has_ext("GL_ARB_copy_image"); + GLAD_ARB_cull_distance = has_ext("GL_ARB_cull_distance"); + GLAD_ARB_debug_output = has_ext("GL_ARB_debug_output"); + GLAD_ARB_depth_buffer_float = has_ext("GL_ARB_depth_buffer_float"); + GLAD_ARB_depth_clamp = has_ext("GL_ARB_depth_clamp"); + GLAD_ARB_derivative_control = has_ext("GL_ARB_derivative_control"); + GLAD_ARB_direct_state_access = has_ext("GL_ARB_direct_state_access"); + GLAD_ARB_draw_buffers_blend = has_ext("GL_ARB_draw_buffers_blend"); + GLAD_ARB_draw_elements_base_vertex = has_ext("GL_ARB_draw_elements_base_vertex"); + GLAD_ARB_draw_indirect = has_ext("GL_ARB_draw_indirect"); + GLAD_ARB_draw_instanced = has_ext("GL_ARB_draw_instanced"); + GLAD_ARB_enhanced_layouts = has_ext("GL_ARB_enhanced_layouts"); + GLAD_ARB_ES2_compatibility = has_ext("GL_ARB_ES2_compatibility"); + GLAD_ARB_ES3_1_compatibility = has_ext("GL_ARB_ES3_1_compatibility"); + GLAD_ARB_ES3_compatibility = has_ext("GL_ARB_ES3_compatibility"); + GLAD_ARB_explicit_attrib_location = has_ext("GL_ARB_explicit_attrib_location"); + GLAD_ARB_explicit_uniform_location = has_ext("GL_ARB_explicit_uniform_location"); + GLAD_ARB_fragment_coord_conventions = has_ext("GL_ARB_fragment_coord_conventions"); + GLAD_ARB_fragment_layer_viewport = has_ext("GL_ARB_fragment_layer_viewport"); + GLAD_ARB_framebuffer_no_attachments = has_ext("GL_ARB_framebuffer_no_attachments"); + GLAD_ARB_framebuffer_object = has_ext("GL_ARB_framebuffer_object"); + GLAD_ARB_framebuffer_sRGB = has_ext("GL_ARB_framebuffer_sRGB"); + GLAD_ARB_geometry_shader4 = has_ext("GL_ARB_geometry_shader4"); + GLAD_ARB_get_program_binary = has_ext("GL_ARB_get_program_binary"); + GLAD_ARB_get_texture_sub_image = has_ext("GL_ARB_get_texture_sub_image"); + GLAD_ARB_gpu_shader5 = has_ext("GL_ARB_gpu_shader5"); + GLAD_ARB_gpu_shader_fp64 = has_ext("GL_ARB_gpu_shader_fp64"); + GLAD_ARB_half_float_pixel = has_ext("GL_ARB_half_float_pixel"); + GLAD_ARB_half_float_vertex = has_ext("GL_ARB_half_float_vertex"); + GLAD_ARB_indirect_parameters = has_ext("GL_ARB_indirect_parameters"); + GLAD_ARB_instanced_arrays = has_ext("GL_ARB_instanced_arrays"); + GLAD_ARB_internalformat_query = has_ext("GL_ARB_internalformat_query"); + GLAD_ARB_internalformat_query2 = has_ext("GL_ARB_internalformat_query2"); + GLAD_ARB_invalidate_subdata = has_ext("GL_ARB_invalidate_subdata"); + GLAD_ARB_map_buffer_alignment = has_ext("GL_ARB_map_buffer_alignment"); + GLAD_ARB_map_buffer_range = has_ext("GL_ARB_map_buffer_range"); + GLAD_ARB_multi_bind = has_ext("GL_ARB_multi_bind"); + GLAD_ARB_multi_draw_indirect = has_ext("GL_ARB_multi_draw_indirect"); + GLAD_ARB_occlusion_query2 = has_ext("GL_ARB_occlusion_query2"); + GLAD_ARB_pipeline_statistics_query = has_ext("GL_ARB_pipeline_statistics_query"); + GLAD_ARB_pixel_buffer_object = has_ext("GL_ARB_pixel_buffer_object"); + GLAD_ARB_program_interface_query = has_ext("GL_ARB_program_interface_query"); + GLAD_ARB_provoking_vertex = has_ext("GL_ARB_provoking_vertex"); + GLAD_ARB_query_buffer_object = has_ext("GL_ARB_query_buffer_object"); + GLAD_ARB_robust_buffer_access_behavior = has_ext("GL_ARB_robust_buffer_access_behavior"); + GLAD_ARB_robustness = has_ext("GL_ARB_robustness"); + GLAD_ARB_robustness_isolation = has_ext("GL_ARB_robustness_isolation"); + GLAD_ARB_sample_shading = has_ext("GL_ARB_sample_shading"); + GLAD_ARB_sampler_objects = has_ext("GL_ARB_sampler_objects"); + GLAD_ARB_seamless_cube_map = has_ext("GL_ARB_seamless_cube_map"); + GLAD_ARB_seamless_cubemap_per_texture = has_ext("GL_ARB_seamless_cubemap_per_texture"); + GLAD_ARB_separate_shader_objects = has_ext("GL_ARB_separate_shader_objects"); + GLAD_ARB_shader_atomic_counters = has_ext("GL_ARB_shader_atomic_counters"); + GLAD_ARB_shader_bit_encoding = has_ext("GL_ARB_shader_bit_encoding"); + GLAD_ARB_shader_draw_parameters = has_ext("GL_ARB_shader_draw_parameters"); + GLAD_ARB_shader_group_vote = has_ext("GL_ARB_shader_group_vote"); + GLAD_ARB_shader_image_load_store = has_ext("GL_ARB_shader_image_load_store"); + GLAD_ARB_shader_image_size = has_ext("GL_ARB_shader_image_size"); + GLAD_ARB_shader_precision = has_ext("GL_ARB_shader_precision"); + GLAD_ARB_shader_stencil_export = has_ext("GL_ARB_shader_stencil_export"); + GLAD_ARB_shader_storage_buffer_object = has_ext("GL_ARB_shader_storage_buffer_object"); + GLAD_ARB_shader_subroutine = has_ext("GL_ARB_shader_subroutine"); + GLAD_ARB_shader_texture_image_samples = has_ext("GL_ARB_shader_texture_image_samples"); + GLAD_ARB_shader_texture_lod = has_ext("GL_ARB_shader_texture_lod"); + GLAD_ARB_shading_language_420pack = has_ext("GL_ARB_shading_language_420pack"); + GLAD_ARB_shading_language_include = has_ext("GL_ARB_shading_language_include"); + GLAD_ARB_shading_language_packing = has_ext("GL_ARB_shading_language_packing"); + GLAD_ARB_sparse_buffer = has_ext("GL_ARB_sparse_buffer"); + GLAD_ARB_sparse_texture = has_ext("GL_ARB_sparse_texture"); + GLAD_ARB_stencil_texturing = has_ext("GL_ARB_stencil_texturing"); + GLAD_ARB_sync = has_ext("GL_ARB_sync"); + GLAD_ARB_tessellation_shader = has_ext("GL_ARB_tessellation_shader"); + GLAD_ARB_texture_barrier = has_ext("GL_ARB_texture_barrier"); + GLAD_ARB_texture_buffer_object = has_ext("GL_ARB_texture_buffer_object"); + GLAD_ARB_texture_buffer_object_rgb32 = has_ext("GL_ARB_texture_buffer_object_rgb32"); + GLAD_ARB_texture_buffer_range = has_ext("GL_ARB_texture_buffer_range"); + GLAD_ARB_texture_compression_bptc = has_ext("GL_ARB_texture_compression_bptc"); + GLAD_ARB_texture_compression_rgtc = has_ext("GL_ARB_texture_compression_rgtc"); + GLAD_ARB_texture_cube_map_array = has_ext("GL_ARB_texture_cube_map_array"); + GLAD_ARB_texture_float = has_ext("GL_ARB_texture_float"); + GLAD_ARB_texture_gather = has_ext("GL_ARB_texture_gather"); + GLAD_ARB_texture_mirror_clamp_to_edge = has_ext("GL_ARB_texture_mirror_clamp_to_edge"); + GLAD_ARB_texture_multisample = has_ext("GL_ARB_texture_multisample"); + GLAD_ARB_texture_query_levels = has_ext("GL_ARB_texture_query_levels"); + GLAD_ARB_texture_query_lod = has_ext("GL_ARB_texture_query_lod"); + GLAD_ARB_texture_rectangle = has_ext("GL_ARB_texture_rectangle"); + GLAD_ARB_texture_rg = has_ext("GL_ARB_texture_rg"); + GLAD_ARB_texture_rgb10_a2ui = has_ext("GL_ARB_texture_rgb10_a2ui"); + GLAD_ARB_texture_stencil8 = has_ext("GL_ARB_texture_stencil8"); + GLAD_ARB_texture_storage = has_ext("GL_ARB_texture_storage"); + GLAD_ARB_texture_storage_multisample = has_ext("GL_ARB_texture_storage_multisample"); + GLAD_ARB_texture_swizzle = has_ext("GL_ARB_texture_swizzle"); + GLAD_ARB_texture_view = has_ext("GL_ARB_texture_view"); + GLAD_ARB_timer_query = has_ext("GL_ARB_timer_query"); + GLAD_ARB_transform_feedback2 = has_ext("GL_ARB_transform_feedback2"); + GLAD_ARB_transform_feedback3 = has_ext("GL_ARB_transform_feedback3"); + GLAD_ARB_transform_feedback_instanced = has_ext("GL_ARB_transform_feedback_instanced"); + GLAD_ARB_transform_feedback_overflow_query = has_ext("GL_ARB_transform_feedback_overflow_query"); + GLAD_ARB_uniform_buffer_object = has_ext("GL_ARB_uniform_buffer_object"); + GLAD_ARB_vertex_array_bgra = has_ext("GL_ARB_vertex_array_bgra"); + GLAD_ARB_vertex_array_object = has_ext("GL_ARB_vertex_array_object"); + GLAD_ARB_vertex_attrib_64bit = has_ext("GL_ARB_vertex_attrib_64bit"); + GLAD_ARB_vertex_attrib_binding = has_ext("GL_ARB_vertex_attrib_binding"); + GLAD_ARB_vertex_type_10f_11f_11f_rev = has_ext("GL_ARB_vertex_type_10f_11f_11f_rev"); + GLAD_ARB_vertex_type_2_10_10_10_rev = has_ext("GL_ARB_vertex_type_2_10_10_10_rev"); + GLAD_ARB_viewport_array = has_ext("GL_ARB_viewport_array"); + GLAD_EXT_bgra = has_ext("GL_EXT_bgra"); + GLAD_EXT_bindable_uniform = has_ext("GL_EXT_bindable_uniform"); + GLAD_EXT_color_buffer_half_float = has_ext("GL_EXT_color_buffer_half_float"); + GLAD_EXT_copy_image = has_ext("GL_EXT_copy_image"); + GLAD_EXT_debug_label = has_ext("GL_EXT_debug_label"); + GLAD_EXT_debug_marker = has_ext("GL_EXT_debug_marker"); + GLAD_EXT_direct_state_access = has_ext("GL_EXT_direct_state_access"); + GLAD_EXT_discard_framebuffer = has_ext("GL_EXT_discard_framebuffer"); + GLAD_EXT_disjoint_timer_query = has_ext("GL_EXT_disjoint_timer_query"); + GLAD_EXT_draw_buffers = has_ext("GL_EXT_draw_buffers"); + GLAD_EXT_draw_buffers2 = has_ext("GL_EXT_draw_buffers2"); + GLAD_EXT_draw_buffers_indexed = has_ext("GL_EXT_draw_buffers_indexed"); + GLAD_EXT_draw_instanced = has_ext("GL_EXT_draw_instanced"); + GLAD_EXT_framebuffer_blit = has_ext("GL_EXT_framebuffer_blit"); + GLAD_EXT_framebuffer_multisample = has_ext("GL_EXT_framebuffer_multisample"); + GLAD_EXT_framebuffer_multisample_blit_scaled = has_ext("GL_EXT_framebuffer_multisample_blit_scaled"); + GLAD_EXT_framebuffer_object = has_ext("GL_EXT_framebuffer_object"); + GLAD_EXT_framebuffer_sRGB = has_ext("GL_EXT_framebuffer_sRGB"); + GLAD_EXT_geometry_point_size = has_ext("GL_EXT_geometry_point_size"); + GLAD_EXT_geometry_shader = has_ext("GL_EXT_geometry_shader"); + GLAD_EXT_geometry_shader4 = has_ext("GL_EXT_geometry_shader4"); + GLAD_EXT_gpu_program_parameters = has_ext("GL_EXT_gpu_program_parameters"); + GLAD_EXT_gpu_shader4 = has_ext("GL_EXT_gpu_shader4"); + GLAD_EXT_gpu_shader5 = has_ext("GL_EXT_gpu_shader5"); + GLAD_EXT_instanced_arrays = has_ext("GL_EXT_instanced_arrays"); + GLAD_EXT_map_buffer_range = has_ext("GL_EXT_map_buffer_range"); + GLAD_EXT_multisampled_render_to_texture = has_ext("GL_EXT_multisampled_render_to_texture"); + GLAD_EXT_multiview_draw_buffers = has_ext("GL_EXT_multiview_draw_buffers"); + GLAD_EXT_occlusion_query_boolean = has_ext("GL_EXT_occlusion_query_boolean"); + GLAD_EXT_packed_depth_stencil = has_ext("GL_EXT_packed_depth_stencil"); + GLAD_EXT_packed_float = has_ext("GL_EXT_packed_float"); + GLAD_EXT_pixel_buffer_object = has_ext("GL_EXT_pixel_buffer_object"); + GLAD_EXT_primitive_bounding_box = has_ext("GL_EXT_primitive_bounding_box"); + GLAD_EXT_provoking_vertex = has_ext("GL_EXT_provoking_vertex"); + GLAD_EXT_pvrtc_sRGB = has_ext("GL_EXT_pvrtc_sRGB"); + GLAD_EXT_read_format_bgra = has_ext("GL_EXT_read_format_bgra"); + GLAD_EXT_robustness = has_ext("GL_EXT_robustness"); + GLAD_EXT_separate_shader_objects = has_ext("GL_EXT_separate_shader_objects"); + GLAD_EXT_shader_framebuffer_fetch = has_ext("GL_EXT_shader_framebuffer_fetch"); + GLAD_EXT_shader_image_load_formatted = has_ext("GL_EXT_shader_image_load_formatted"); + GLAD_EXT_shader_image_load_store = has_ext("GL_EXT_shader_image_load_store"); + GLAD_EXT_shader_implicit_conversions = has_ext("GL_EXT_shader_implicit_conversions"); + GLAD_EXT_shader_integer_mix = has_ext("GL_EXT_shader_integer_mix"); + GLAD_EXT_shader_io_blocks = has_ext("GL_EXT_shader_io_blocks"); + GLAD_EXT_shader_pixel_local_storage = has_ext("GL_EXT_shader_pixel_local_storage"); + GLAD_EXT_shader_texture_lod = has_ext("GL_EXT_shader_texture_lod"); + GLAD_EXT_shadow_samplers = has_ext("GL_EXT_shadow_samplers"); + GLAD_EXT_sRGB = has_ext("GL_EXT_sRGB"); + GLAD_EXT_sRGB_write_control = has_ext("GL_EXT_sRGB_write_control"); + GLAD_EXT_stencil_clear_tag = has_ext("GL_EXT_stencil_clear_tag"); + GLAD_EXT_tessellation_point_size = has_ext("GL_EXT_tessellation_point_size"); + GLAD_EXT_tessellation_shader = has_ext("GL_EXT_tessellation_shader"); + GLAD_EXT_texture_array = has_ext("GL_EXT_texture_array"); + GLAD_EXT_texture_border_clamp = has_ext("GL_EXT_texture_border_clamp"); + GLAD_EXT_texture_buffer = has_ext("GL_EXT_texture_buffer"); + GLAD_EXT_texture_buffer_object = has_ext("GL_EXT_texture_buffer_object"); + GLAD_EXT_texture_compression_dxt1 = has_ext("GL_EXT_texture_compression_dxt1"); + GLAD_EXT_texture_compression_latc = has_ext("GL_EXT_texture_compression_latc"); + GLAD_EXT_texture_compression_rgtc = has_ext("GL_EXT_texture_compression_rgtc"); + GLAD_EXT_texture_compression_s3tc = has_ext("GL_EXT_texture_compression_s3tc"); + GLAD_EXT_texture_cube_map = has_ext("GL_EXT_texture_cube_map"); + GLAD_EXT_texture_cube_map_array = has_ext("GL_EXT_texture_cube_map_array"); + GLAD_EXT_texture_filter_anisotropic = has_ext("GL_EXT_texture_filter_anisotropic"); + GLAD_EXT_texture_format_BGRA8888 = has_ext("GL_EXT_texture_format_BGRA8888"); + GLAD_EXT_texture_integer = has_ext("GL_EXT_texture_integer"); + GLAD_EXT_texture_rg = has_ext("GL_EXT_texture_rg"); + GLAD_EXT_texture_shared_exponent = has_ext("GL_EXT_texture_shared_exponent"); + GLAD_EXT_texture_snorm = has_ext("GL_EXT_texture_snorm"); + GLAD_EXT_texture_sRGB = has_ext("GL_EXT_texture_sRGB"); + GLAD_EXT_texture_sRGB_decode = has_ext("GL_EXT_texture_sRGB_decode"); + GLAD_EXT_texture_storage = has_ext("GL_EXT_texture_storage"); + GLAD_EXT_texture_swizzle = has_ext("GL_EXT_texture_swizzle"); + GLAD_EXT_texture_type_2_10_10_10_REV = has_ext("GL_EXT_texture_type_2_10_10_10_REV"); + GLAD_EXT_texture_view = has_ext("GL_EXT_texture_view"); + GLAD_EXT_timer_query = has_ext("GL_EXT_timer_query"); + GLAD_EXT_transform_feedback = has_ext("GL_EXT_transform_feedback"); + GLAD_EXT_unpack_subimage = has_ext("GL_EXT_unpack_subimage"); + GLAD_EXT_vertex_array_bgra = has_ext("GL_EXT_vertex_array_bgra"); + GLAD_EXT_vertex_attrib_64bit = has_ext("GL_EXT_vertex_attrib_64bit"); + GLAD_EXT_x11_sync_object = has_ext("GL_EXT_x11_sync_object"); + GLAD_OES_compressed_ETC1_RGB8_sub_texture = has_ext("GL_OES_compressed_ETC1_RGB8_sub_texture"); + GLAD_OES_compressed_ETC1_RGB8_texture = has_ext("GL_OES_compressed_ETC1_RGB8_texture"); + GLAD_OES_depth24 = has_ext("GL_OES_depth24"); + GLAD_OES_depth32 = has_ext("GL_OES_depth32"); + GLAD_OES_depth_texture = has_ext("GL_OES_depth_texture"); + GLAD_OES_EGL_image = has_ext("GL_OES_EGL_image"); + GLAD_OES_EGL_image_external = has_ext("GL_OES_EGL_image_external"); + GLAD_OES_element_index_uint = has_ext("GL_OES_element_index_uint"); + GLAD_OES_fbo_render_mipmap = has_ext("GL_OES_fbo_render_mipmap"); + GLAD_OES_fragment_precision_high = has_ext("GL_OES_fragment_precision_high"); + GLAD_OES_get_program_binary = has_ext("GL_OES_get_program_binary"); + GLAD_OES_mapbuffer = has_ext("GL_OES_mapbuffer"); + GLAD_OES_packed_depth_stencil = has_ext("GL_OES_packed_depth_stencil"); + GLAD_OES_required_internalformat = has_ext("GL_OES_required_internalformat"); + GLAD_OES_rgb8_rgba8 = has_ext("GL_OES_rgb8_rgba8"); + GLAD_OES_sample_shading = has_ext("GL_OES_sample_shading"); + GLAD_OES_sample_variables = has_ext("GL_OES_sample_variables"); + GLAD_OES_shader_image_atomic = has_ext("GL_OES_shader_image_atomic"); + GLAD_OES_shader_multisample_interpolation = has_ext("GL_OES_shader_multisample_interpolation"); + GLAD_OES_standard_derivatives = has_ext("GL_OES_standard_derivatives"); + GLAD_OES_stencil1 = has_ext("GL_OES_stencil1"); + GLAD_OES_stencil4 = has_ext("GL_OES_stencil4"); + GLAD_OES_surfaceless_context = has_ext("GL_OES_surfaceless_context"); + GLAD_OES_texture_3D = has_ext("GL_OES_texture_3D"); + GLAD_OES_texture_compression_astc = has_ext("GL_OES_texture_compression_astc"); + GLAD_OES_texture_float = has_ext("GL_OES_texture_float"); + GLAD_OES_texture_float_linear = has_ext("GL_OES_texture_float_linear"); + GLAD_OES_texture_half_float = has_ext("GL_OES_texture_half_float"); + GLAD_OES_texture_half_float_linear = has_ext("GL_OES_texture_half_float_linear"); + GLAD_OES_texture_npot = has_ext("GL_OES_texture_npot"); + GLAD_OES_texture_stencil8 = has_ext("GL_OES_texture_stencil8"); + GLAD_OES_texture_storage_multisample_2d_array = has_ext("GL_OES_texture_storage_multisample_2d_array"); + GLAD_OES_vertex_array_object = has_ext("GL_OES_vertex_array_object"); + GLAD_OES_vertex_half_float = has_ext("GL_OES_vertex_half_float"); + GLAD_OES_vertex_type_10_10_10_2 = has_ext("GL_OES_vertex_type_10_10_10_2"); + GLAD_AMD_blend_minmax_factor = has_ext("GL_AMD_blend_minmax_factor"); + GLAD_AMD_compressed_3DC_texture = has_ext("GL_AMD_compressed_3DC_texture"); + GLAD_AMD_compressed_ATC_texture = has_ext("GL_AMD_compressed_ATC_texture"); + GLAD_AMD_conservative_depth = has_ext("GL_AMD_conservative_depth"); + GLAD_AMD_debug_output = has_ext("GL_AMD_debug_output"); + GLAD_AMD_depth_clamp_separate = has_ext("GL_AMD_depth_clamp_separate"); + GLAD_AMD_draw_buffers_blend = has_ext("GL_AMD_draw_buffers_blend"); + GLAD_AMD_gcn_shader = has_ext("GL_AMD_gcn_shader"); + GLAD_AMD_gpu_shader_int64 = has_ext("GL_AMD_gpu_shader_int64"); + GLAD_AMD_interleaved_elements = has_ext("GL_AMD_interleaved_elements"); + GLAD_AMD_multi_draw_indirect = has_ext("GL_AMD_multi_draw_indirect"); + GLAD_AMD_name_gen_delete = has_ext("GL_AMD_name_gen_delete"); + GLAD_AMD_occlusion_query_event = has_ext("GL_AMD_occlusion_query_event"); + GLAD_AMD_performance_monitor = has_ext("GL_AMD_performance_monitor"); + GLAD_AMD_pinned_memory = has_ext("GL_AMD_pinned_memory"); + GLAD_AMD_program_binary_Z400 = has_ext("GL_AMD_program_binary_Z400"); + GLAD_AMD_query_buffer_object = has_ext("GL_AMD_query_buffer_object"); + GLAD_AMD_sample_positions = has_ext("GL_AMD_sample_positions"); + GLAD_AMD_seamless_cubemap_per_texture = has_ext("GL_AMD_seamless_cubemap_per_texture"); + GLAD_AMD_shader_atomic_counter_ops = has_ext("GL_AMD_shader_atomic_counter_ops"); + GLAD_AMD_shader_stencil_export = has_ext("GL_AMD_shader_stencil_export"); + GLAD_AMD_shader_trinary_minmax = has_ext("GL_AMD_shader_trinary_minmax"); + GLAD_AMD_sparse_texture = has_ext("GL_AMD_sparse_texture"); + GLAD_AMD_stencil_operation_extended = has_ext("GL_AMD_stencil_operation_extended"); + GLAD_AMD_texture_texture4 = has_ext("GL_AMD_texture_texture4"); + GLAD_AMD_transform_feedback3_lines_triangles = has_ext("GL_AMD_transform_feedback3_lines_triangles"); + GLAD_AMD_transform_feedback4 = has_ext("GL_AMD_transform_feedback4"); + GLAD_AMD_vertex_shader_layer = has_ext("GL_AMD_vertex_shader_layer"); + GLAD_AMD_vertex_shader_tessellator = has_ext("GL_AMD_vertex_shader_tessellator"); + GLAD_AMD_vertex_shader_viewport_index = has_ext("GL_AMD_vertex_shader_viewport_index"); + GLAD_ANDROID_extension_pack_es31a = has_ext("GL_ANDROID_extension_pack_es31a"); + GLAD_ANGLE_depth_texture = has_ext("GL_ANGLE_depth_texture"); + GLAD_ANGLE_framebuffer_blit = has_ext("GL_ANGLE_framebuffer_blit"); + GLAD_ANGLE_framebuffer_multisample = has_ext("GL_ANGLE_framebuffer_multisample"); + GLAD_ANGLE_instanced_arrays = has_ext("GL_ANGLE_instanced_arrays"); + GLAD_ANGLE_pack_reverse_row_order = has_ext("GL_ANGLE_pack_reverse_row_order"); + GLAD_ANGLE_program_binary = has_ext("GL_ANGLE_program_binary"); + GLAD_ANGLE_texture_compression_dxt3 = has_ext("GL_ANGLE_texture_compression_dxt3"); + GLAD_ANGLE_texture_compression_dxt5 = has_ext("GL_ANGLE_texture_compression_dxt5"); + GLAD_ANGLE_texture_usage = has_ext("GL_ANGLE_texture_usage"); + GLAD_ANGLE_translated_shader_source = has_ext("GL_ANGLE_translated_shader_source"); + GLAD_APPLE_aux_depth_stencil = has_ext("GL_APPLE_aux_depth_stencil"); + GLAD_APPLE_client_storage = has_ext("GL_APPLE_client_storage"); + GLAD_APPLE_copy_texture_levels = has_ext("GL_APPLE_copy_texture_levels"); + GLAD_APPLE_element_array = has_ext("GL_APPLE_element_array"); + GLAD_APPLE_fence = has_ext("GL_APPLE_fence"); + GLAD_APPLE_float_pixels = has_ext("GL_APPLE_float_pixels"); + GLAD_APPLE_flush_buffer_range = has_ext("GL_APPLE_flush_buffer_range"); + GLAD_APPLE_framebuffer_multisample = has_ext("GL_APPLE_framebuffer_multisample"); + GLAD_APPLE_object_purgeable = has_ext("GL_APPLE_object_purgeable"); + GLAD_APPLE_rgb_422 = has_ext("GL_APPLE_rgb_422"); + GLAD_APPLE_row_bytes = has_ext("GL_APPLE_row_bytes"); + GLAD_APPLE_sync = has_ext("GL_APPLE_sync"); + GLAD_APPLE_texture_format_BGRA8888 = has_ext("GL_APPLE_texture_format_BGRA8888"); + GLAD_APPLE_texture_max_level = has_ext("GL_APPLE_texture_max_level"); + GLAD_APPLE_texture_range = has_ext("GL_APPLE_texture_range"); + GLAD_APPLE_vertex_array_object = has_ext("GL_APPLE_vertex_array_object"); + GLAD_APPLE_vertex_array_range = has_ext("GL_APPLE_vertex_array_range"); + GLAD_APPLE_vertex_program_evaluators = has_ext("GL_APPLE_vertex_program_evaluators"); + GLAD_APPLE_ycbcr_422 = has_ext("GL_APPLE_ycbcr_422"); + GLAD_ARM_mali_program_binary = has_ext("GL_ARM_mali_program_binary"); + GLAD_ARM_mali_shader_binary = has_ext("GL_ARM_mali_shader_binary"); + GLAD_ARM_rgba8 = has_ext("GL_ARM_rgba8"); + GLAD_ARM_shader_framebuffer_fetch = has_ext("GL_ARM_shader_framebuffer_fetch"); + GLAD_ARM_shader_framebuffer_fetch_depth_stencil = has_ext("GL_ARM_shader_framebuffer_fetch_depth_stencil"); + GLAD_ATI_meminfo = has_ext("GL_ATI_meminfo"); + GLAD_ATI_pixel_format_float = has_ext("GL_ATI_pixel_format_float"); + GLAD_DMP_shader_binary = has_ext("GL_DMP_shader_binary"); + GLAD_FJ_shader_binary_GCCSO = has_ext("GL_FJ_shader_binary_GCCSO"); + GLAD_GREMEDY_frame_terminator = has_ext("GL_GREMEDY_frame_terminator"); + GLAD_GREMEDY_string_marker = has_ext("GL_GREMEDY_string_marker"); + GLAD_IMG_multisampled_render_to_texture = has_ext("GL_IMG_multisampled_render_to_texture"); + GLAD_IMG_program_binary = has_ext("GL_IMG_program_binary"); + GLAD_IMG_read_format = has_ext("GL_IMG_read_format"); + GLAD_IMG_shader_binary = has_ext("GL_IMG_shader_binary"); + GLAD_IMG_texture_compression_pvrtc = has_ext("GL_IMG_texture_compression_pvrtc"); + GLAD_IMG_texture_compression_pvrtc2 = has_ext("GL_IMG_texture_compression_pvrtc2"); + GLAD_INGR_blend_func_separate = has_ext("GL_INGR_blend_func_separate"); + GLAD_INTEL_fragment_shader_ordering = has_ext("GL_INTEL_fragment_shader_ordering"); + GLAD_INTEL_map_texture = has_ext("GL_INTEL_map_texture"); + GLAD_INTEL_performance_query = has_ext("GL_INTEL_performance_query"); + GLAD_MESA_pack_invert = has_ext("GL_MESA_pack_invert"); + GLAD_MESA_ycbcr_texture = has_ext("GL_MESA_ycbcr_texture"); + GLAD_MESAX_texture_stack = has_ext("GL_MESAX_texture_stack"); + GLAD_NV_bindless_multi_draw_indirect = has_ext("GL_NV_bindless_multi_draw_indirect"); + GLAD_NV_bindless_multi_draw_indirect_count = has_ext("GL_NV_bindless_multi_draw_indirect_count"); + GLAD_NV_bindless_texture = has_ext("GL_NV_bindless_texture"); + GLAD_NV_blend_equation_advanced = has_ext("GL_NV_blend_equation_advanced"); + GLAD_NV_blend_equation_advanced_coherent = has_ext("GL_NV_blend_equation_advanced_coherent"); + GLAD_NV_compute_program5 = has_ext("GL_NV_compute_program5"); + GLAD_NV_conditional_render = has_ext("GL_NV_conditional_render"); + GLAD_NV_copy_buffer = has_ext("GL_NV_copy_buffer"); + GLAD_NV_copy_image = has_ext("GL_NV_copy_image"); + GLAD_NV_coverage_sample = has_ext("GL_NV_coverage_sample"); + GLAD_NV_deep_texture3D = has_ext("GL_NV_deep_texture3D"); + GLAD_NV_depth_buffer_float = has_ext("GL_NV_depth_buffer_float"); + GLAD_NV_depth_clamp = has_ext("GL_NV_depth_clamp"); + GLAD_NV_depth_nonlinear = has_ext("GL_NV_depth_nonlinear"); + GLAD_NV_draw_buffers = has_ext("GL_NV_draw_buffers"); + GLAD_NV_draw_instanced = has_ext("GL_NV_draw_instanced"); + GLAD_NV_draw_texture = has_ext("GL_NV_draw_texture"); + GLAD_NV_explicit_attrib_location = has_ext("GL_NV_explicit_attrib_location"); + GLAD_NV_explicit_multisample = has_ext("GL_NV_explicit_multisample"); + GLAD_NV_fbo_color_attachments = has_ext("GL_NV_fbo_color_attachments"); + GLAD_NV_fence = has_ext("GL_NV_fence"); + GLAD_NV_float_buffer = has_ext("GL_NV_float_buffer"); + GLAD_NV_fragment_program4 = has_ext("GL_NV_fragment_program4"); + GLAD_NV_framebuffer_blit = has_ext("GL_NV_framebuffer_blit"); + GLAD_NV_framebuffer_multisample = has_ext("GL_NV_framebuffer_multisample"); + GLAD_NV_framebuffer_multisample_coverage = has_ext("GL_NV_framebuffer_multisample_coverage"); + GLAD_NV_generate_mipmap_sRGB = has_ext("GL_NV_generate_mipmap_sRGB"); + GLAD_NV_geometry_program4 = has_ext("GL_NV_geometry_program4"); + GLAD_NV_geometry_shader4 = has_ext("GL_NV_geometry_shader4"); + GLAD_NV_gpu_program4 = has_ext("GL_NV_gpu_program4"); + GLAD_NV_gpu_program5 = has_ext("GL_NV_gpu_program5"); + GLAD_NV_gpu_program5_mem_extended = has_ext("GL_NV_gpu_program5_mem_extended"); + GLAD_NV_gpu_shader5 = has_ext("GL_NV_gpu_shader5"); + GLAD_NV_half_float = has_ext("GL_NV_half_float"); + GLAD_NV_instanced_arrays = has_ext("GL_NV_instanced_arrays"); + GLAD_NV_multisample_coverage = has_ext("GL_NV_multisample_coverage"); + GLAD_NV_non_square_matrices = has_ext("GL_NV_non_square_matrices"); + GLAD_NV_occlusion_query = has_ext("GL_NV_occlusion_query"); + GLAD_NV_parameter_buffer_object = has_ext("GL_NV_parameter_buffer_object"); + GLAD_NV_parameter_buffer_object2 = has_ext("GL_NV_parameter_buffer_object2"); + GLAD_NV_path_rendering = has_ext("GL_NV_path_rendering"); + GLAD_NV_present_video = has_ext("GL_NV_present_video"); + GLAD_NV_primitive_restart = has_ext("GL_NV_primitive_restart"); + GLAD_NV_read_buffer = has_ext("GL_NV_read_buffer"); + GLAD_NV_read_buffer_front = has_ext("GL_NV_read_buffer_front"); + GLAD_NV_read_depth = has_ext("GL_NV_read_depth"); + GLAD_NV_read_depth_stencil = has_ext("GL_NV_read_depth_stencil"); + GLAD_NV_read_stencil = has_ext("GL_NV_read_stencil"); + GLAD_NV_shader_atomic_counters = has_ext("GL_NV_shader_atomic_counters"); + GLAD_NV_shader_atomic_float = has_ext("GL_NV_shader_atomic_float"); + GLAD_NV_shader_atomic_int64 = has_ext("GL_NV_shader_atomic_int64"); + GLAD_NV_shader_buffer_load = has_ext("GL_NV_shader_buffer_load"); + GLAD_NV_shader_buffer_store = has_ext("GL_NV_shader_buffer_store"); + GLAD_NV_shader_storage_buffer_object = has_ext("GL_NV_shader_storage_buffer_object"); + GLAD_NV_shader_thread_group = has_ext("GL_NV_shader_thread_group"); + GLAD_NV_shader_thread_shuffle = has_ext("GL_NV_shader_thread_shuffle"); + GLAD_NV_shadow_samplers_array = has_ext("GL_NV_shadow_samplers_array"); + GLAD_NV_shadow_samplers_cube = has_ext("GL_NV_shadow_samplers_cube"); + GLAD_NV_sRGB_formats = has_ext("GL_NV_sRGB_formats"); + GLAD_NV_tessellation_program5 = has_ext("GL_NV_tessellation_program5"); + GLAD_NV_texture_barrier = has_ext("GL_NV_texture_barrier"); + GLAD_NV_texture_border_clamp = has_ext("GL_NV_texture_border_clamp"); + GLAD_NV_texture_compression_s3tc_update = has_ext("GL_NV_texture_compression_s3tc_update"); + GLAD_NV_texture_multisample = has_ext("GL_NV_texture_multisample"); + GLAD_NV_texture_npot_2D_mipmap = has_ext("GL_NV_texture_npot_2D_mipmap"); + GLAD_NV_transform_feedback = has_ext("GL_NV_transform_feedback"); + GLAD_NV_transform_feedback2 = has_ext("GL_NV_transform_feedback2"); + GLAD_NV_vdpau_interop = has_ext("GL_NV_vdpau_interop"); + GLAD_NV_vertex_attrib_integer_64bit = has_ext("GL_NV_vertex_attrib_integer_64bit"); + GLAD_NV_vertex_buffer_unified_memory = has_ext("GL_NV_vertex_buffer_unified_memory"); + GLAD_NV_vertex_program4 = has_ext("GL_NV_vertex_program4"); + GLAD_NV_video_capture = has_ext("GL_NV_video_capture"); + GLAD_NVX_conditional_render = has_ext("GL_NVX_conditional_render"); + GLAD_NVX_gpu_memory_info = has_ext("GL_NVX_gpu_memory_info"); + GLAD_QCOM_alpha_test = has_ext("GL_QCOM_alpha_test"); + GLAD_QCOM_binning_control = has_ext("GL_QCOM_binning_control"); + GLAD_QCOM_driver_control = has_ext("GL_QCOM_driver_control"); + GLAD_QCOM_extended_get = has_ext("GL_QCOM_extended_get"); + GLAD_QCOM_extended_get2 = has_ext("GL_QCOM_extended_get2"); + GLAD_QCOM_perfmon_global_mode = has_ext("GL_QCOM_perfmon_global_mode"); + GLAD_QCOM_tiled_rendering = has_ext("GL_QCOM_tiled_rendering"); + GLAD_QCOM_writeonly_rendering = has_ext("GL_QCOM_writeonly_rendering"); + GLAD_SGIX_calligraphic_fragment = has_ext("GL_SGIX_calligraphic_fragment"); + GLAD_SGIX_depth_pass_instrument = has_ext("GL_SGIX_depth_pass_instrument"); + GLAD_SGIX_pixel_tiles = has_ext("GL_SGIX_pixel_tiles"); + GLAD_SGIX_scalebias_hint = has_ext("GL_SGIX_scalebias_hint"); + GLAD_SGIX_subsample = has_ext("GL_SGIX_subsample"); + GLAD_SGIX_ycrcb_subsample = has_ext("GL_SGIX_ycrcb_subsample"); + GLAD_SGIX_ycrcba = has_ext("GL_SGIX_ycrcba"); + GLAD_VIV_shader_binary = has_ext("GL_VIV_shader_binary"); +} + +static void find_core(void) { + const char *v = (const char *)fp_glGetString(GL_VERSION); + int major = v[0] - '0', minor = v[2] - '0', gles = false; + GLVersion.gles = false; + if (strstr(v, "OpenGL ES ") == v) { + major = v[10] - '0'; minor = v[12] - '0'; gles = true; + } + GLVersion.major = major; GLVersion.minor = minor; GLVersion.gles = gles; + GLAD_VERSION_1_0 = gles == 0 && ((major == 1 && minor >= 0) || major > 1); + GLAD_VERSION_1_1 = gles == 0 && ((major == 1 && minor >= 1) || major > 1); + GLAD_VERSION_1_2 = gles == 0 && ((major == 1 && minor >= 2) || major > 1); + GLAD_VERSION_1_3 = gles == 0 && ((major == 1 && minor >= 3) || major > 1); + GLAD_VERSION_1_4 = gles == 0 && ((major == 1 && minor >= 4) || major > 1); + GLAD_VERSION_1_5 = gles == 0 && ((major == 1 && minor >= 5) || major > 1); + GLAD_VERSION_2_0 = gles == 0 && ((major == 2 && minor >= 0) || major > 2); + GLAD_VERSION_2_1 = gles == 0 && ((major == 2 && minor >= 1) || major > 2); + GLAD_VERSION_3_0 = gles == 0 && ((major == 3 && minor >= 0) || major > 3); + GLAD_VERSION_3_1 = gles == 0 && ((major == 3 && minor >= 1) || major > 3); + GLAD_VERSION_3_2 = gles == 0 && ((major == 3 && minor >= 2) || major > 3); + GLAD_VERSION_3_3 = gles == 0 && ((major == 3 && minor >= 3) || major > 3); + GLAD_VERSION_4_0 = gles == 0 && ((major == 4 && minor >= 0) || major > 4); + GLAD_VERSION_4_1 = gles == 0 && ((major == 4 && minor >= 1) || major > 4); + GLAD_VERSION_4_2 = gles == 0 && ((major == 4 && minor >= 2) || major > 4); + GLAD_VERSION_4_3 = gles == 0 && ((major == 4 && minor >= 3) || major > 4); + GLAD_VERSION_4_4 = gles == 0 && ((major == 4 && minor >= 4) || major > 4); + GLAD_VERSION_4_5 = gles == 0 && ((major == 4 && minor >= 5) || major > 4); + GLAD_ES_VERSION_2_0 = gles == 1 && ((major == 2 && minor >= 0) || major > 2); + GLAD_ES_VERSION_3_0 = gles == 1 && ((major == 3 && minor >= 0) || major > 3); + GLAD_ES_VERSION_3_1 = gles == 1 && ((major == 3 && minor >= 1) || major > 3); +} + +bool gladLoadGLLoader(LOADER load) { + GLVersion.major = 0; GLVersion.minor = 0; GLVersion.gles = 0; + fp_glGetString = (pfn_glGetString)load("glGetString"); + if(fp_glGetString == NULL) return false; + find_core(); + load_GL_VERSION_1_0(load); + load_GL_VERSION_1_1(load); + load_GL_VERSION_1_2(load); + load_GL_VERSION_1_3(load); + load_GL_VERSION_1_4(load); + load_GL_VERSION_1_5(load); + load_GL_VERSION_2_0(load); + load_GL_VERSION_2_1(load); + load_GL_VERSION_3_0(load); + load_GL_VERSION_3_1(load); + load_GL_VERSION_3_2(load); + load_GL_VERSION_3_3(load); + load_GL_VERSION_4_0(load); + load_GL_VERSION_4_1(load); + load_GL_VERSION_4_2(load); + load_GL_VERSION_4_3(load); + load_GL_VERSION_4_4(load); + load_GL_VERSION_4_5(load); + load_GL_ES_VERSION_2_0(load); + load_GL_ES_VERSION_3_0(load); + load_GL_ES_VERSION_3_1(load); + + find_extensions(); + load_GL_KHR_blend_equation_advanced(load); + load_GL_KHR_debug(load); + load_GL_KHR_robustness(load); + load_GL_ARB_base_instance(load); + load_GL_ARB_bindless_texture(load); + load_GL_ARB_blend_func_extended(load); + load_GL_ARB_buffer_storage(load); + load_GL_ARB_cl_event(load); + load_GL_ARB_clear_buffer_object(load); + load_GL_ARB_clear_texture(load); + load_GL_ARB_clip_control(load); + load_GL_ARB_color_buffer_float(load); + load_GL_ARB_compute_shader(load); + load_GL_ARB_compute_variable_group_size(load); + load_GL_ARB_copy_buffer(load); + load_GL_ARB_copy_image(load); + load_GL_ARB_debug_output(load); + load_GL_ARB_direct_state_access(load); + load_GL_ARB_draw_buffers_blend(load); + load_GL_ARB_draw_elements_base_vertex(load); + load_GL_ARB_draw_indirect(load); + load_GL_ARB_draw_instanced(load); + load_GL_ARB_ES2_compatibility(load); + load_GL_ARB_ES3_1_compatibility(load); + load_GL_ARB_framebuffer_no_attachments(load); + load_GL_ARB_framebuffer_object(load); + load_GL_ARB_geometry_shader4(load); + load_GL_ARB_get_program_binary(load); + load_GL_ARB_get_texture_sub_image(load); + load_GL_ARB_gpu_shader_fp64(load); + load_GL_ARB_indirect_parameters(load); + load_GL_ARB_instanced_arrays(load); + load_GL_ARB_internalformat_query(load); + load_GL_ARB_internalformat_query2(load); + load_GL_ARB_invalidate_subdata(load); + load_GL_ARB_map_buffer_range(load); + load_GL_ARB_multi_bind(load); + load_GL_ARB_multi_draw_indirect(load); + load_GL_ARB_program_interface_query(load); + load_GL_ARB_provoking_vertex(load); + load_GL_ARB_robustness(load); + load_GL_ARB_sample_shading(load); + load_GL_ARB_sampler_objects(load); + load_GL_ARB_separate_shader_objects(load); + load_GL_ARB_shader_atomic_counters(load); + load_GL_ARB_shader_image_load_store(load); + load_GL_ARB_shader_storage_buffer_object(load); + load_GL_ARB_shader_subroutine(load); + load_GL_ARB_shading_language_include(load); + load_GL_ARB_sparse_buffer(load); + load_GL_ARB_sparse_texture(load); + load_GL_ARB_sync(load); + load_GL_ARB_tessellation_shader(load); + load_GL_ARB_texture_barrier(load); + load_GL_ARB_texture_buffer_object(load); + load_GL_ARB_texture_buffer_range(load); + load_GL_ARB_texture_multisample(load); + load_GL_ARB_texture_storage(load); + load_GL_ARB_texture_storage_multisample(load); + load_GL_ARB_texture_view(load); + load_GL_ARB_timer_query(load); + load_GL_ARB_transform_feedback2(load); + load_GL_ARB_transform_feedback3(load); + load_GL_ARB_transform_feedback_instanced(load); + load_GL_ARB_uniform_buffer_object(load); + load_GL_ARB_vertex_array_object(load); + load_GL_ARB_vertex_attrib_64bit(load); + load_GL_ARB_vertex_attrib_binding(load); + load_GL_ARB_vertex_type_2_10_10_10_rev(load); + load_GL_ARB_viewport_array(load); + load_GL_EXT_bindable_uniform(load); + load_GL_EXT_copy_image(load); + load_GL_EXT_debug_label(load); + load_GL_EXT_debug_marker(load); + load_GL_EXT_direct_state_access(load); + load_GL_EXT_discard_framebuffer(load); + load_GL_EXT_disjoint_timer_query(load); + load_GL_EXT_draw_buffers(load); + load_GL_EXT_draw_buffers2(load); + load_GL_EXT_draw_buffers_indexed(load); + load_GL_EXT_draw_instanced(load); + load_GL_EXT_framebuffer_blit(load); + load_GL_EXT_framebuffer_multisample(load); + load_GL_EXT_framebuffer_object(load); + load_GL_EXT_geometry_shader(load); + load_GL_EXT_geometry_shader4(load); + load_GL_EXT_gpu_program_parameters(load); + load_GL_EXT_gpu_shader4(load); + load_GL_EXT_instanced_arrays(load); + load_GL_EXT_map_buffer_range(load); + load_GL_EXT_multisampled_render_to_texture(load); + load_GL_EXT_multiview_draw_buffers(load); + load_GL_EXT_occlusion_query_boolean(load); + load_GL_EXT_primitive_bounding_box(load); + load_GL_EXT_provoking_vertex(load); + load_GL_EXT_robustness(load); + load_GL_EXT_separate_shader_objects(load); + load_GL_EXT_shader_image_load_store(load); + load_GL_EXT_stencil_clear_tag(load); + load_GL_EXT_tessellation_shader(load); + load_GL_EXT_texture_array(load); + load_GL_EXT_texture_border_clamp(load); + load_GL_EXT_texture_buffer(load); + load_GL_EXT_texture_buffer_object(load); + load_GL_EXT_texture_integer(load); + load_GL_EXT_texture_storage(load); + load_GL_EXT_texture_view(load); + load_GL_EXT_timer_query(load); + load_GL_EXT_transform_feedback(load); + load_GL_EXT_vertex_attrib_64bit(load); + load_GL_EXT_x11_sync_object(load); + load_GL_OES_EGL_image(load); + load_GL_OES_get_program_binary(load); + load_GL_OES_mapbuffer(load); + load_GL_OES_sample_shading(load); + load_GL_OES_texture_3D(load); + load_GL_OES_texture_storage_multisample_2d_array(load); + load_GL_OES_vertex_array_object(load); + load_GL_AMD_debug_output(load); + load_GL_AMD_draw_buffers_blend(load); + load_GL_AMD_gpu_shader_int64(load); + load_GL_AMD_interleaved_elements(load); + load_GL_AMD_multi_draw_indirect(load); + load_GL_AMD_name_gen_delete(load); + load_GL_AMD_occlusion_query_event(load); + load_GL_AMD_performance_monitor(load); + load_GL_AMD_sample_positions(load); + load_GL_AMD_sparse_texture(load); + load_GL_AMD_stencil_operation_extended(load); + load_GL_AMD_vertex_shader_tessellator(load); + load_GL_ANGLE_framebuffer_blit(load); + load_GL_ANGLE_framebuffer_multisample(load); + load_GL_ANGLE_instanced_arrays(load); + load_GL_ANGLE_translated_shader_source(load); + load_GL_APPLE_copy_texture_levels(load); + load_GL_APPLE_element_array(load); + load_GL_APPLE_fence(load); + load_GL_APPLE_flush_buffer_range(load); + load_GL_APPLE_framebuffer_multisample(load); + load_GL_APPLE_object_purgeable(load); + load_GL_APPLE_sync(load); + load_GL_APPLE_texture_range(load); + load_GL_APPLE_vertex_array_object(load); + load_GL_APPLE_vertex_array_range(load); + load_GL_APPLE_vertex_program_evaluators(load); + load_GL_GREMEDY_frame_terminator(load); + load_GL_GREMEDY_string_marker(load); + load_GL_IMG_multisampled_render_to_texture(load); + load_GL_INGR_blend_func_separate(load); + load_GL_INTEL_map_texture(load); + load_GL_INTEL_performance_query(load); + load_GL_NV_bindless_multi_draw_indirect(load); + load_GL_NV_bindless_multi_draw_indirect_count(load); + load_GL_NV_bindless_texture(load); + load_GL_NV_blend_equation_advanced(load); + load_GL_NV_conditional_render(load); + load_GL_NV_copy_buffer(load); + load_GL_NV_copy_image(load); + load_GL_NV_coverage_sample(load); + load_GL_NV_depth_buffer_float(load); + load_GL_NV_draw_buffers(load); + load_GL_NV_draw_instanced(load); + load_GL_NV_draw_texture(load); + load_GL_NV_explicit_multisample(load); + load_GL_NV_fence(load); + load_GL_NV_framebuffer_blit(load); + load_GL_NV_framebuffer_multisample(load); + load_GL_NV_framebuffer_multisample_coverage(load); + load_GL_NV_geometry_program4(load); + load_GL_NV_gpu_program4(load); + load_GL_NV_gpu_program5(load); + load_GL_NV_gpu_shader5(load); + load_GL_NV_half_float(load); + load_GL_NV_instanced_arrays(load); + load_GL_NV_non_square_matrices(load); + load_GL_NV_occlusion_query(load); + load_GL_NV_parameter_buffer_object(load); + load_GL_NV_path_rendering(load); + load_GL_NV_present_video(load); + load_GL_NV_primitive_restart(load); + load_GL_NV_read_buffer(load); + load_GL_NV_shader_buffer_load(load); + load_GL_NV_texture_barrier(load); + load_GL_NV_texture_multisample(load); + load_GL_NV_transform_feedback(load); + load_GL_NV_transform_feedback2(load); + load_GL_NV_vdpau_interop(load); + load_GL_NV_vertex_attrib_integer_64bit(load); + load_GL_NV_vertex_buffer_unified_memory(load); + load_GL_NV_vertex_program4(load); + load_GL_NV_video_capture(load); + load_GL_NVX_conditional_render(load); + load_GL_QCOM_alpha_test(load); + load_GL_QCOM_driver_control(load); + load_GL_QCOM_extended_get(load); + load_GL_QCOM_extended_get2(load); + load_GL_QCOM_tiled_rendering(load); + return true; +} + +} /* namespace glad */ diff --git a/src/libraries/glad/glad.hpp b/src/libraries/glad/glad.hpp new file mode 100644 index 000000000..00307f869 --- /dev/null +++ b/src/libraries/glad/glad.hpp @@ -0,0 +1,8899 @@ + +/** + * The MIT License (MIT) + * + * Copyright (c) 2013 David Herberth, modified by Alex Szpakowski and Bart van Strien + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + **/ + + +#ifndef __glad_hpp_ + +#if defined(__gl_h_) || defined(__glext_h_) || defined(__glcorearb_h_) \ + || defined(__gl3_h) || defined(__gl3_ext_h) +#error OpenGL header already included, remove this include, glad already provides it +#endif + +#define __glad_hpp_ +#define __gl_h_ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#include + +#ifdef near +#undef near +#endif + +#ifdef far +#undef far +#endif + +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +// Change by Bart van Strien +// Move stddef.h outside of the namespace to prevent importing all types into +// that namespace, breaking compilation further on. +#include +namespace glad { + +bool gladLoadGL(void); + +typedef void* (* LOADER)(const char *name); +bool gladLoadGLLoader(LOADER); + + +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) || defined(__digital__) +#include +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif +#endif +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef signed char GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLclampx; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef int GLsizei; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void *GLeglImageOES; +typedef char GLchar; +typedef char GLcharARB; +#ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif +typedef unsigned short GLhalfARB; +typedef unsigned short GLhalf; +typedef GLint GLfixed; +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; +typedef int64_t GLint64; +typedef uint64_t GLuint64; +typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +typedef struct __GLsync *GLsync; +struct _cl_context; +struct _cl_event; +typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); +typedef unsigned short GLhalfNV; +typedef GLintptr GLvdpauSurfaceNV; + + /* GL_VERSION_1_0 */ +extern GLboolean GLAD_VERSION_1_0; +typedef void (APIENTRYP pfn_glCullFace) (GLenum); +extern pfn_glCullFace fp_glCullFace; +typedef void (APIENTRYP pfn_glFrontFace) (GLenum); +extern pfn_glFrontFace fp_glFrontFace; +typedef void (APIENTRYP pfn_glHint) (GLenum, GLenum); +extern pfn_glHint fp_glHint; +typedef void (APIENTRYP pfn_glLineWidth) (GLfloat); +extern pfn_glLineWidth fp_glLineWidth; +typedef void (APIENTRYP pfn_glPointSize) (GLfloat); +extern pfn_glPointSize fp_glPointSize; +typedef void (APIENTRYP pfn_glPolygonMode) (GLenum, GLenum); +extern pfn_glPolygonMode fp_glPolygonMode; +typedef void (APIENTRYP pfn_glScissor) (GLint, GLint, GLsizei, GLsizei); +extern pfn_glScissor fp_glScissor; +typedef void (APIENTRYP pfn_glTexParameterf) (GLenum, GLenum, GLfloat); +extern pfn_glTexParameterf fp_glTexParameterf; +typedef void (APIENTRYP pfn_glTexParameterfv) (GLenum, GLenum, const GLfloat*); +extern pfn_glTexParameterfv fp_glTexParameterfv; +typedef void (APIENTRYP pfn_glTexParameteri) (GLenum, GLenum, GLint); +extern pfn_glTexParameteri fp_glTexParameteri; +typedef void (APIENTRYP pfn_glTexParameteriv) (GLenum, GLenum, const GLint*); +extern pfn_glTexParameteriv fp_glTexParameteriv; +typedef void (APIENTRYP pfn_glTexImage1D) (GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTexImage1D fp_glTexImage1D; +typedef void (APIENTRYP pfn_glTexImage2D) (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTexImage2D fp_glTexImage2D; +typedef void (APIENTRYP pfn_glDrawBuffer) (GLenum); +extern pfn_glDrawBuffer fp_glDrawBuffer; +typedef void (APIENTRYP pfn_glClear) (GLbitfield); +extern pfn_glClear fp_glClear; +typedef void (APIENTRYP pfn_glClearColor) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glClearColor fp_glClearColor; +typedef void (APIENTRYP pfn_glClearStencil) (GLint); +extern pfn_glClearStencil fp_glClearStencil; +typedef void (APIENTRYP pfn_glClearDepth) (GLdouble); +extern pfn_glClearDepth fp_glClearDepth; +typedef void (APIENTRYP pfn_glStencilMask) (GLuint); +extern pfn_glStencilMask fp_glStencilMask; +typedef void (APIENTRYP pfn_glColorMask) (GLboolean, GLboolean, GLboolean, GLboolean); +extern pfn_glColorMask fp_glColorMask; +typedef void (APIENTRYP pfn_glDepthMask) (GLboolean); +extern pfn_glDepthMask fp_glDepthMask; +typedef void (APIENTRYP pfn_glDisable) (GLenum); +extern pfn_glDisable fp_glDisable; +typedef void (APIENTRYP pfn_glEnable) (GLenum); +extern pfn_glEnable fp_glEnable; +typedef void (APIENTRYP pfn_glFinish) (); +extern pfn_glFinish fp_glFinish; +typedef void (APIENTRYP pfn_glFlush) (); +extern pfn_glFlush fp_glFlush; +typedef void (APIENTRYP pfn_glBlendFunc) (GLenum, GLenum); +extern pfn_glBlendFunc fp_glBlendFunc; +typedef void (APIENTRYP pfn_glLogicOp) (GLenum); +extern pfn_glLogicOp fp_glLogicOp; +typedef void (APIENTRYP pfn_glStencilFunc) (GLenum, GLint, GLuint); +extern pfn_glStencilFunc fp_glStencilFunc; +typedef void (APIENTRYP pfn_glStencilOp) (GLenum, GLenum, GLenum); +extern pfn_glStencilOp fp_glStencilOp; +typedef void (APIENTRYP pfn_glDepthFunc) (GLenum); +extern pfn_glDepthFunc fp_glDepthFunc; +typedef void (APIENTRYP pfn_glPixelStoref) (GLenum, GLfloat); +extern pfn_glPixelStoref fp_glPixelStoref; +typedef void (APIENTRYP pfn_glPixelStorei) (GLenum, GLint); +extern pfn_glPixelStorei fp_glPixelStorei; +typedef void (APIENTRYP pfn_glReadBuffer) (GLenum); +extern pfn_glReadBuffer fp_glReadBuffer; +typedef void (APIENTRYP pfn_glReadPixels) (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void*); +extern pfn_glReadPixels fp_glReadPixels; +typedef void (APIENTRYP pfn_glGetBooleanv) (GLenum, GLboolean*); +extern pfn_glGetBooleanv fp_glGetBooleanv; +typedef void (APIENTRYP pfn_glGetDoublev) (GLenum, GLdouble*); +extern pfn_glGetDoublev fp_glGetDoublev; +typedef GLenum (APIENTRYP pfn_glGetError) (); +extern pfn_glGetError fp_glGetError; +typedef void (APIENTRYP pfn_glGetFloatv) (GLenum, GLfloat*); +extern pfn_glGetFloatv fp_glGetFloatv; +typedef void (APIENTRYP pfn_glGetIntegerv) (GLenum, GLint*); +extern pfn_glGetIntegerv fp_glGetIntegerv; +typedef const GLubyte* (APIENTRYP pfn_glGetString) (GLenum); +extern pfn_glGetString fp_glGetString; +typedef void (APIENTRYP pfn_glGetTexImage) (GLenum, GLint, GLenum, GLenum, void*); +extern pfn_glGetTexImage fp_glGetTexImage; +typedef void (APIENTRYP pfn_glGetTexParameterfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetTexParameterfv fp_glGetTexParameterfv; +typedef void (APIENTRYP pfn_glGetTexParameteriv) (GLenum, GLenum, GLint*); +extern pfn_glGetTexParameteriv fp_glGetTexParameteriv; +typedef void (APIENTRYP pfn_glGetTexLevelParameterfv) (GLenum, GLint, GLenum, GLfloat*); +extern pfn_glGetTexLevelParameterfv fp_glGetTexLevelParameterfv; +typedef void (APIENTRYP pfn_glGetTexLevelParameteriv) (GLenum, GLint, GLenum, GLint*); +extern pfn_glGetTexLevelParameteriv fp_glGetTexLevelParameteriv; +typedef GLboolean (APIENTRYP pfn_glIsEnabled) (GLenum); +extern pfn_glIsEnabled fp_glIsEnabled; +typedef void (APIENTRYP pfn_glDepthRange) (GLdouble, GLdouble); +extern pfn_glDepthRange fp_glDepthRange; +typedef void (APIENTRYP pfn_glViewport) (GLint, GLint, GLsizei, GLsizei); +extern pfn_glViewport fp_glViewport; +typedef void (APIENTRYP pfn_glNewList) (GLuint, GLenum); +extern pfn_glNewList fp_glNewList; +typedef void (APIENTRYP pfn_glEndList) (); +extern pfn_glEndList fp_glEndList; +typedef void (APIENTRYP pfn_glCallList) (GLuint); +extern pfn_glCallList fp_glCallList; +typedef void (APIENTRYP pfn_glCallLists) (GLsizei, GLenum, const void*); +extern pfn_glCallLists fp_glCallLists; +typedef void (APIENTRYP pfn_glDeleteLists) (GLuint, GLsizei); +extern pfn_glDeleteLists fp_glDeleteLists; +typedef GLuint (APIENTRYP pfn_glGenLists) (GLsizei); +extern pfn_glGenLists fp_glGenLists; +typedef void (APIENTRYP pfn_glListBase) (GLuint); +extern pfn_glListBase fp_glListBase; +typedef void (APIENTRYP pfn_glBegin) (GLenum); +extern pfn_glBegin fp_glBegin; +typedef void (APIENTRYP pfn_glBitmap) (GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte*); +extern pfn_glBitmap fp_glBitmap; +typedef void (APIENTRYP pfn_glColor3b) (GLbyte, GLbyte, GLbyte); +extern pfn_glColor3b fp_glColor3b; +typedef void (APIENTRYP pfn_glColor3bv) (const GLbyte*); +extern pfn_glColor3bv fp_glColor3bv; +typedef void (APIENTRYP pfn_glColor3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glColor3d fp_glColor3d; +typedef void (APIENTRYP pfn_glColor3dv) (const GLdouble*); +extern pfn_glColor3dv fp_glColor3dv; +typedef void (APIENTRYP pfn_glColor3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glColor3f fp_glColor3f; +typedef void (APIENTRYP pfn_glColor3fv) (const GLfloat*); +extern pfn_glColor3fv fp_glColor3fv; +typedef void (APIENTRYP pfn_glColor3i) (GLint, GLint, GLint); +extern pfn_glColor3i fp_glColor3i; +typedef void (APIENTRYP pfn_glColor3iv) (const GLint*); +extern pfn_glColor3iv fp_glColor3iv; +typedef void (APIENTRYP pfn_glColor3s) (GLshort, GLshort, GLshort); +extern pfn_glColor3s fp_glColor3s; +typedef void (APIENTRYP pfn_glColor3sv) (const GLshort*); +extern pfn_glColor3sv fp_glColor3sv; +typedef void (APIENTRYP pfn_glColor3ub) (GLubyte, GLubyte, GLubyte); +extern pfn_glColor3ub fp_glColor3ub; +typedef void (APIENTRYP pfn_glColor3ubv) (const GLubyte*); +extern pfn_glColor3ubv fp_glColor3ubv; +typedef void (APIENTRYP pfn_glColor3ui) (GLuint, GLuint, GLuint); +extern pfn_glColor3ui fp_glColor3ui; +typedef void (APIENTRYP pfn_glColor3uiv) (const GLuint*); +extern pfn_glColor3uiv fp_glColor3uiv; +typedef void (APIENTRYP pfn_glColor3us) (GLushort, GLushort, GLushort); +extern pfn_glColor3us fp_glColor3us; +typedef void (APIENTRYP pfn_glColor3usv) (const GLushort*); +extern pfn_glColor3usv fp_glColor3usv; +typedef void (APIENTRYP pfn_glColor4b) (GLbyte, GLbyte, GLbyte, GLbyte); +extern pfn_glColor4b fp_glColor4b; +typedef void (APIENTRYP pfn_glColor4bv) (const GLbyte*); +extern pfn_glColor4bv fp_glColor4bv; +typedef void (APIENTRYP pfn_glColor4d) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glColor4d fp_glColor4d; +typedef void (APIENTRYP pfn_glColor4dv) (const GLdouble*); +extern pfn_glColor4dv fp_glColor4dv; +typedef void (APIENTRYP pfn_glColor4f) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glColor4f fp_glColor4f; +typedef void (APIENTRYP pfn_glColor4fv) (const GLfloat*); +extern pfn_glColor4fv fp_glColor4fv; +typedef void (APIENTRYP pfn_glColor4i) (GLint, GLint, GLint, GLint); +extern pfn_glColor4i fp_glColor4i; +typedef void (APIENTRYP pfn_glColor4iv) (const GLint*); +extern pfn_glColor4iv fp_glColor4iv; +typedef void (APIENTRYP pfn_glColor4s) (GLshort, GLshort, GLshort, GLshort); +extern pfn_glColor4s fp_glColor4s; +typedef void (APIENTRYP pfn_glColor4sv) (const GLshort*); +extern pfn_glColor4sv fp_glColor4sv; +typedef void (APIENTRYP pfn_glColor4ub) (GLubyte, GLubyte, GLubyte, GLubyte); +extern pfn_glColor4ub fp_glColor4ub; +typedef void (APIENTRYP pfn_glColor4ubv) (const GLubyte*); +extern pfn_glColor4ubv fp_glColor4ubv; +typedef void (APIENTRYP pfn_glColor4ui) (GLuint, GLuint, GLuint, GLuint); +extern pfn_glColor4ui fp_glColor4ui; +typedef void (APIENTRYP pfn_glColor4uiv) (const GLuint*); +extern pfn_glColor4uiv fp_glColor4uiv; +typedef void (APIENTRYP pfn_glColor4us) (GLushort, GLushort, GLushort, GLushort); +extern pfn_glColor4us fp_glColor4us; +typedef void (APIENTRYP pfn_glColor4usv) (const GLushort*); +extern pfn_glColor4usv fp_glColor4usv; +typedef void (APIENTRYP pfn_glEdgeFlag) (GLboolean); +extern pfn_glEdgeFlag fp_glEdgeFlag; +typedef void (APIENTRYP pfn_glEdgeFlagv) (const GLboolean*); +extern pfn_glEdgeFlagv fp_glEdgeFlagv; +typedef void (APIENTRYP pfn_glEnd) (); +extern pfn_glEnd fp_glEnd; +typedef void (APIENTRYP pfn_glIndexd) (GLdouble); +extern pfn_glIndexd fp_glIndexd; +typedef void (APIENTRYP pfn_glIndexdv) (const GLdouble*); +extern pfn_glIndexdv fp_glIndexdv; +typedef void (APIENTRYP pfn_glIndexf) (GLfloat); +extern pfn_glIndexf fp_glIndexf; +typedef void (APIENTRYP pfn_glIndexfv) (const GLfloat*); +extern pfn_glIndexfv fp_glIndexfv; +typedef void (APIENTRYP pfn_glIndexi) (GLint); +extern pfn_glIndexi fp_glIndexi; +typedef void (APIENTRYP pfn_glIndexiv) (const GLint*); +extern pfn_glIndexiv fp_glIndexiv; +typedef void (APIENTRYP pfn_glIndexs) (GLshort); +extern pfn_glIndexs fp_glIndexs; +typedef void (APIENTRYP pfn_glIndexsv) (const GLshort*); +extern pfn_glIndexsv fp_glIndexsv; +typedef void (APIENTRYP pfn_glNormal3b) (GLbyte, GLbyte, GLbyte); +extern pfn_glNormal3b fp_glNormal3b; +typedef void (APIENTRYP pfn_glNormal3bv) (const GLbyte*); +extern pfn_glNormal3bv fp_glNormal3bv; +typedef void (APIENTRYP pfn_glNormal3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glNormal3d fp_glNormal3d; +typedef void (APIENTRYP pfn_glNormal3dv) (const GLdouble*); +extern pfn_glNormal3dv fp_glNormal3dv; +typedef void (APIENTRYP pfn_glNormal3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glNormal3f fp_glNormal3f; +typedef void (APIENTRYP pfn_glNormal3fv) (const GLfloat*); +extern pfn_glNormal3fv fp_glNormal3fv; +typedef void (APIENTRYP pfn_glNormal3i) (GLint, GLint, GLint); +extern pfn_glNormal3i fp_glNormal3i; +typedef void (APIENTRYP pfn_glNormal3iv) (const GLint*); +extern pfn_glNormal3iv fp_glNormal3iv; +typedef void (APIENTRYP pfn_glNormal3s) (GLshort, GLshort, GLshort); +extern pfn_glNormal3s fp_glNormal3s; +typedef void (APIENTRYP pfn_glNormal3sv) (const GLshort*); +extern pfn_glNormal3sv fp_glNormal3sv; +typedef void (APIENTRYP pfn_glRasterPos2d) (GLdouble, GLdouble); +extern pfn_glRasterPos2d fp_glRasterPos2d; +typedef void (APIENTRYP pfn_glRasterPos2dv) (const GLdouble*); +extern pfn_glRasterPos2dv fp_glRasterPos2dv; +typedef void (APIENTRYP pfn_glRasterPos2f) (GLfloat, GLfloat); +extern pfn_glRasterPos2f fp_glRasterPos2f; +typedef void (APIENTRYP pfn_glRasterPos2fv) (const GLfloat*); +extern pfn_glRasterPos2fv fp_glRasterPos2fv; +typedef void (APIENTRYP pfn_glRasterPos2i) (GLint, GLint); +extern pfn_glRasterPos2i fp_glRasterPos2i; +typedef void (APIENTRYP pfn_glRasterPos2iv) (const GLint*); +extern pfn_glRasterPos2iv fp_glRasterPos2iv; +typedef void (APIENTRYP pfn_glRasterPos2s) (GLshort, GLshort); +extern pfn_glRasterPos2s fp_glRasterPos2s; +typedef void (APIENTRYP pfn_glRasterPos2sv) (const GLshort*); +extern pfn_glRasterPos2sv fp_glRasterPos2sv; +typedef void (APIENTRYP pfn_glRasterPos3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glRasterPos3d fp_glRasterPos3d; +typedef void (APIENTRYP pfn_glRasterPos3dv) (const GLdouble*); +extern pfn_glRasterPos3dv fp_glRasterPos3dv; +typedef void (APIENTRYP pfn_glRasterPos3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glRasterPos3f fp_glRasterPos3f; +typedef void (APIENTRYP pfn_glRasterPos3fv) (const GLfloat*); +extern pfn_glRasterPos3fv fp_glRasterPos3fv; +typedef void (APIENTRYP pfn_glRasterPos3i) (GLint, GLint, GLint); +extern pfn_glRasterPos3i fp_glRasterPos3i; +typedef void (APIENTRYP pfn_glRasterPos3iv) (const GLint*); +extern pfn_glRasterPos3iv fp_glRasterPos3iv; +typedef void (APIENTRYP pfn_glRasterPos3s) (GLshort, GLshort, GLshort); +extern pfn_glRasterPos3s fp_glRasterPos3s; +typedef void (APIENTRYP pfn_glRasterPos3sv) (const GLshort*); +extern pfn_glRasterPos3sv fp_glRasterPos3sv; +typedef void (APIENTRYP pfn_glRasterPos4d) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glRasterPos4d fp_glRasterPos4d; +typedef void (APIENTRYP pfn_glRasterPos4dv) (const GLdouble*); +extern pfn_glRasterPos4dv fp_glRasterPos4dv; +typedef void (APIENTRYP pfn_glRasterPos4f) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glRasterPos4f fp_glRasterPos4f; +typedef void (APIENTRYP pfn_glRasterPos4fv) (const GLfloat*); +extern pfn_glRasterPos4fv fp_glRasterPos4fv; +typedef void (APIENTRYP pfn_glRasterPos4i) (GLint, GLint, GLint, GLint); +extern pfn_glRasterPos4i fp_glRasterPos4i; +typedef void (APIENTRYP pfn_glRasterPos4iv) (const GLint*); +extern pfn_glRasterPos4iv fp_glRasterPos4iv; +typedef void (APIENTRYP pfn_glRasterPos4s) (GLshort, GLshort, GLshort, GLshort); +extern pfn_glRasterPos4s fp_glRasterPos4s; +typedef void (APIENTRYP pfn_glRasterPos4sv) (const GLshort*); +extern pfn_glRasterPos4sv fp_glRasterPos4sv; +typedef void (APIENTRYP pfn_glRectd) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glRectd fp_glRectd; +typedef void (APIENTRYP pfn_glRectdv) (const GLdouble*, const GLdouble*); +extern pfn_glRectdv fp_glRectdv; +typedef void (APIENTRYP pfn_glRectf) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glRectf fp_glRectf; +typedef void (APIENTRYP pfn_glRectfv) (const GLfloat*, const GLfloat*); +extern pfn_glRectfv fp_glRectfv; +typedef void (APIENTRYP pfn_glRecti) (GLint, GLint, GLint, GLint); +extern pfn_glRecti fp_glRecti; +typedef void (APIENTRYP pfn_glRectiv) (const GLint*, const GLint*); +extern pfn_glRectiv fp_glRectiv; +typedef void (APIENTRYP pfn_glRects) (GLshort, GLshort, GLshort, GLshort); +extern pfn_glRects fp_glRects; +typedef void (APIENTRYP pfn_glRectsv) (const GLshort*, const GLshort*); +extern pfn_glRectsv fp_glRectsv; +typedef void (APIENTRYP pfn_glTexCoord1d) (GLdouble); +extern pfn_glTexCoord1d fp_glTexCoord1d; +typedef void (APIENTRYP pfn_glTexCoord1dv) (const GLdouble*); +extern pfn_glTexCoord1dv fp_glTexCoord1dv; +typedef void (APIENTRYP pfn_glTexCoord1f) (GLfloat); +extern pfn_glTexCoord1f fp_glTexCoord1f; +typedef void (APIENTRYP pfn_glTexCoord1fv) (const GLfloat*); +extern pfn_glTexCoord1fv fp_glTexCoord1fv; +typedef void (APIENTRYP pfn_glTexCoord1i) (GLint); +extern pfn_glTexCoord1i fp_glTexCoord1i; +typedef void (APIENTRYP pfn_glTexCoord1iv) (const GLint*); +extern pfn_glTexCoord1iv fp_glTexCoord1iv; +typedef void (APIENTRYP pfn_glTexCoord1s) (GLshort); +extern pfn_glTexCoord1s fp_glTexCoord1s; +typedef void (APIENTRYP pfn_glTexCoord1sv) (const GLshort*); +extern pfn_glTexCoord1sv fp_glTexCoord1sv; +typedef void (APIENTRYP pfn_glTexCoord2d) (GLdouble, GLdouble); +extern pfn_glTexCoord2d fp_glTexCoord2d; +typedef void (APIENTRYP pfn_glTexCoord2dv) (const GLdouble*); +extern pfn_glTexCoord2dv fp_glTexCoord2dv; +typedef void (APIENTRYP pfn_glTexCoord2f) (GLfloat, GLfloat); +extern pfn_glTexCoord2f fp_glTexCoord2f; +typedef void (APIENTRYP pfn_glTexCoord2fv) (const GLfloat*); +extern pfn_glTexCoord2fv fp_glTexCoord2fv; +typedef void (APIENTRYP pfn_glTexCoord2i) (GLint, GLint); +extern pfn_glTexCoord2i fp_glTexCoord2i; +typedef void (APIENTRYP pfn_glTexCoord2iv) (const GLint*); +extern pfn_glTexCoord2iv fp_glTexCoord2iv; +typedef void (APIENTRYP pfn_glTexCoord2s) (GLshort, GLshort); +extern pfn_glTexCoord2s fp_glTexCoord2s; +typedef void (APIENTRYP pfn_glTexCoord2sv) (const GLshort*); +extern pfn_glTexCoord2sv fp_glTexCoord2sv; +typedef void (APIENTRYP pfn_glTexCoord3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glTexCoord3d fp_glTexCoord3d; +typedef void (APIENTRYP pfn_glTexCoord3dv) (const GLdouble*); +extern pfn_glTexCoord3dv fp_glTexCoord3dv; +typedef void (APIENTRYP pfn_glTexCoord3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glTexCoord3f fp_glTexCoord3f; +typedef void (APIENTRYP pfn_glTexCoord3fv) (const GLfloat*); +extern pfn_glTexCoord3fv fp_glTexCoord3fv; +typedef void (APIENTRYP pfn_glTexCoord3i) (GLint, GLint, GLint); +extern pfn_glTexCoord3i fp_glTexCoord3i; +typedef void (APIENTRYP pfn_glTexCoord3iv) (const GLint*); +extern pfn_glTexCoord3iv fp_glTexCoord3iv; +typedef void (APIENTRYP pfn_glTexCoord3s) (GLshort, GLshort, GLshort); +extern pfn_glTexCoord3s fp_glTexCoord3s; +typedef void (APIENTRYP pfn_glTexCoord3sv) (const GLshort*); +extern pfn_glTexCoord3sv fp_glTexCoord3sv; +typedef void (APIENTRYP pfn_glTexCoord4d) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glTexCoord4d fp_glTexCoord4d; +typedef void (APIENTRYP pfn_glTexCoord4dv) (const GLdouble*); +extern pfn_glTexCoord4dv fp_glTexCoord4dv; +typedef void (APIENTRYP pfn_glTexCoord4f) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glTexCoord4f fp_glTexCoord4f; +typedef void (APIENTRYP pfn_glTexCoord4fv) (const GLfloat*); +extern pfn_glTexCoord4fv fp_glTexCoord4fv; +typedef void (APIENTRYP pfn_glTexCoord4i) (GLint, GLint, GLint, GLint); +extern pfn_glTexCoord4i fp_glTexCoord4i; +typedef void (APIENTRYP pfn_glTexCoord4iv) (const GLint*); +extern pfn_glTexCoord4iv fp_glTexCoord4iv; +typedef void (APIENTRYP pfn_glTexCoord4s) (GLshort, GLshort, GLshort, GLshort); +extern pfn_glTexCoord4s fp_glTexCoord4s; +typedef void (APIENTRYP pfn_glTexCoord4sv) (const GLshort*); +extern pfn_glTexCoord4sv fp_glTexCoord4sv; +typedef void (APIENTRYP pfn_glVertex2d) (GLdouble, GLdouble); +extern pfn_glVertex2d fp_glVertex2d; +typedef void (APIENTRYP pfn_glVertex2dv) (const GLdouble*); +extern pfn_glVertex2dv fp_glVertex2dv; +typedef void (APIENTRYP pfn_glVertex2f) (GLfloat, GLfloat); +extern pfn_glVertex2f fp_glVertex2f; +typedef void (APIENTRYP pfn_glVertex2fv) (const GLfloat*); +extern pfn_glVertex2fv fp_glVertex2fv; +typedef void (APIENTRYP pfn_glVertex2i) (GLint, GLint); +extern pfn_glVertex2i fp_glVertex2i; +typedef void (APIENTRYP pfn_glVertex2iv) (const GLint*); +extern pfn_glVertex2iv fp_glVertex2iv; +typedef void (APIENTRYP pfn_glVertex2s) (GLshort, GLshort); +extern pfn_glVertex2s fp_glVertex2s; +typedef void (APIENTRYP pfn_glVertex2sv) (const GLshort*); +extern pfn_glVertex2sv fp_glVertex2sv; +typedef void (APIENTRYP pfn_glVertex3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glVertex3d fp_glVertex3d; +typedef void (APIENTRYP pfn_glVertex3dv) (const GLdouble*); +extern pfn_glVertex3dv fp_glVertex3dv; +typedef void (APIENTRYP pfn_glVertex3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glVertex3f fp_glVertex3f; +typedef void (APIENTRYP pfn_glVertex3fv) (const GLfloat*); +extern pfn_glVertex3fv fp_glVertex3fv; +typedef void (APIENTRYP pfn_glVertex3i) (GLint, GLint, GLint); +extern pfn_glVertex3i fp_glVertex3i; +typedef void (APIENTRYP pfn_glVertex3iv) (const GLint*); +extern pfn_glVertex3iv fp_glVertex3iv; +typedef void (APIENTRYP pfn_glVertex3s) (GLshort, GLshort, GLshort); +extern pfn_glVertex3s fp_glVertex3s; +typedef void (APIENTRYP pfn_glVertex3sv) (const GLshort*); +extern pfn_glVertex3sv fp_glVertex3sv; +typedef void (APIENTRYP pfn_glVertex4d) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glVertex4d fp_glVertex4d; +typedef void (APIENTRYP pfn_glVertex4dv) (const GLdouble*); +extern pfn_glVertex4dv fp_glVertex4dv; +typedef void (APIENTRYP pfn_glVertex4f) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glVertex4f fp_glVertex4f; +typedef void (APIENTRYP pfn_glVertex4fv) (const GLfloat*); +extern pfn_glVertex4fv fp_glVertex4fv; +typedef void (APIENTRYP pfn_glVertex4i) (GLint, GLint, GLint, GLint); +extern pfn_glVertex4i fp_glVertex4i; +typedef void (APIENTRYP pfn_glVertex4iv) (const GLint*); +extern pfn_glVertex4iv fp_glVertex4iv; +typedef void (APIENTRYP pfn_glVertex4s) (GLshort, GLshort, GLshort, GLshort); +extern pfn_glVertex4s fp_glVertex4s; +typedef void (APIENTRYP pfn_glVertex4sv) (const GLshort*); +extern pfn_glVertex4sv fp_glVertex4sv; +typedef void (APIENTRYP pfn_glClipPlane) (GLenum, const GLdouble*); +extern pfn_glClipPlane fp_glClipPlane; +typedef void (APIENTRYP pfn_glColorMaterial) (GLenum, GLenum); +extern pfn_glColorMaterial fp_glColorMaterial; +typedef void (APIENTRYP pfn_glFogf) (GLenum, GLfloat); +extern pfn_glFogf fp_glFogf; +typedef void (APIENTRYP pfn_glFogfv) (GLenum, const GLfloat*); +extern pfn_glFogfv fp_glFogfv; +typedef void (APIENTRYP pfn_glFogi) (GLenum, GLint); +extern pfn_glFogi fp_glFogi; +typedef void (APIENTRYP pfn_glFogiv) (GLenum, const GLint*); +extern pfn_glFogiv fp_glFogiv; +typedef void (APIENTRYP pfn_glLightf) (GLenum, GLenum, GLfloat); +extern pfn_glLightf fp_glLightf; +typedef void (APIENTRYP pfn_glLightfv) (GLenum, GLenum, const GLfloat*); +extern pfn_glLightfv fp_glLightfv; +typedef void (APIENTRYP pfn_glLighti) (GLenum, GLenum, GLint); +extern pfn_glLighti fp_glLighti; +typedef void (APIENTRYP pfn_glLightiv) (GLenum, GLenum, const GLint*); +extern pfn_glLightiv fp_glLightiv; +typedef void (APIENTRYP pfn_glLightModelf) (GLenum, GLfloat); +extern pfn_glLightModelf fp_glLightModelf; +typedef void (APIENTRYP pfn_glLightModelfv) (GLenum, const GLfloat*); +extern pfn_glLightModelfv fp_glLightModelfv; +typedef void (APIENTRYP pfn_glLightModeli) (GLenum, GLint); +extern pfn_glLightModeli fp_glLightModeli; +typedef void (APIENTRYP pfn_glLightModeliv) (GLenum, const GLint*); +extern pfn_glLightModeliv fp_glLightModeliv; +typedef void (APIENTRYP pfn_glLineStipple) (GLint, GLushort); +extern pfn_glLineStipple fp_glLineStipple; +typedef void (APIENTRYP pfn_glMaterialf) (GLenum, GLenum, GLfloat); +extern pfn_glMaterialf fp_glMaterialf; +typedef void (APIENTRYP pfn_glMaterialfv) (GLenum, GLenum, const GLfloat*); +extern pfn_glMaterialfv fp_glMaterialfv; +typedef void (APIENTRYP pfn_glMateriali) (GLenum, GLenum, GLint); +extern pfn_glMateriali fp_glMateriali; +typedef void (APIENTRYP pfn_glMaterialiv) (GLenum, GLenum, const GLint*); +extern pfn_glMaterialiv fp_glMaterialiv; +typedef void (APIENTRYP pfn_glPolygonStipple) (const GLubyte*); +extern pfn_glPolygonStipple fp_glPolygonStipple; +typedef void (APIENTRYP pfn_glShadeModel) (GLenum); +extern pfn_glShadeModel fp_glShadeModel; +typedef void (APIENTRYP pfn_glTexEnvf) (GLenum, GLenum, GLfloat); +extern pfn_glTexEnvf fp_glTexEnvf; +typedef void (APIENTRYP pfn_glTexEnvfv) (GLenum, GLenum, const GLfloat*); +extern pfn_glTexEnvfv fp_glTexEnvfv; +typedef void (APIENTRYP pfn_glTexEnvi) (GLenum, GLenum, GLint); +extern pfn_glTexEnvi fp_glTexEnvi; +typedef void (APIENTRYP pfn_glTexEnviv) (GLenum, GLenum, const GLint*); +extern pfn_glTexEnviv fp_glTexEnviv; +typedef void (APIENTRYP pfn_glTexGend) (GLenum, GLenum, GLdouble); +extern pfn_glTexGend fp_glTexGend; +typedef void (APIENTRYP pfn_glTexGendv) (GLenum, GLenum, const GLdouble*); +extern pfn_glTexGendv fp_glTexGendv; +typedef void (APIENTRYP pfn_glTexGenf) (GLenum, GLenum, GLfloat); +extern pfn_glTexGenf fp_glTexGenf; +typedef void (APIENTRYP pfn_glTexGenfv) (GLenum, GLenum, const GLfloat*); +extern pfn_glTexGenfv fp_glTexGenfv; +typedef void (APIENTRYP pfn_glTexGeni) (GLenum, GLenum, GLint); +extern pfn_glTexGeni fp_glTexGeni; +typedef void (APIENTRYP pfn_glTexGeniv) (GLenum, GLenum, const GLint*); +extern pfn_glTexGeniv fp_glTexGeniv; +typedef void (APIENTRYP pfn_glFeedbackBuffer) (GLsizei, GLenum, GLfloat*); +extern pfn_glFeedbackBuffer fp_glFeedbackBuffer; +typedef void (APIENTRYP pfn_glSelectBuffer) (GLsizei, GLuint*); +extern pfn_glSelectBuffer fp_glSelectBuffer; +typedef GLint (APIENTRYP pfn_glRenderMode) (GLenum); +extern pfn_glRenderMode fp_glRenderMode; +typedef void (APIENTRYP pfn_glInitNames) (); +extern pfn_glInitNames fp_glInitNames; +typedef void (APIENTRYP pfn_glLoadName) (GLuint); +extern pfn_glLoadName fp_glLoadName; +typedef void (APIENTRYP pfn_glPassThrough) (GLfloat); +extern pfn_glPassThrough fp_glPassThrough; +typedef void (APIENTRYP pfn_glPopName) (); +extern pfn_glPopName fp_glPopName; +typedef void (APIENTRYP pfn_glPushName) (GLuint); +extern pfn_glPushName fp_glPushName; +typedef void (APIENTRYP pfn_glClearAccum) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glClearAccum fp_glClearAccum; +typedef void (APIENTRYP pfn_glClearIndex) (GLfloat); +extern pfn_glClearIndex fp_glClearIndex; +typedef void (APIENTRYP pfn_glIndexMask) (GLuint); +extern pfn_glIndexMask fp_glIndexMask; +typedef void (APIENTRYP pfn_glAccum) (GLenum, GLfloat); +extern pfn_glAccum fp_glAccum; +typedef void (APIENTRYP pfn_glPopAttrib) (); +extern pfn_glPopAttrib fp_glPopAttrib; +typedef void (APIENTRYP pfn_glPushAttrib) (GLbitfield); +extern pfn_glPushAttrib fp_glPushAttrib; +typedef void (APIENTRYP pfn_glMap1d) (GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble*); +extern pfn_glMap1d fp_glMap1d; +typedef void (APIENTRYP pfn_glMap1f) (GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat*); +extern pfn_glMap1f fp_glMap1f; +typedef void (APIENTRYP pfn_glMap2d) (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble*); +extern pfn_glMap2d fp_glMap2d; +typedef void (APIENTRYP pfn_glMap2f) (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat*); +extern pfn_glMap2f fp_glMap2f; +typedef void (APIENTRYP pfn_glMapGrid1d) (GLint, GLdouble, GLdouble); +extern pfn_glMapGrid1d fp_glMapGrid1d; +typedef void (APIENTRYP pfn_glMapGrid1f) (GLint, GLfloat, GLfloat); +extern pfn_glMapGrid1f fp_glMapGrid1f; +typedef void (APIENTRYP pfn_glMapGrid2d) (GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble); +extern pfn_glMapGrid2d fp_glMapGrid2d; +typedef void (APIENTRYP pfn_glMapGrid2f) (GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat); +extern pfn_glMapGrid2f fp_glMapGrid2f; +typedef void (APIENTRYP pfn_glEvalCoord1d) (GLdouble); +extern pfn_glEvalCoord1d fp_glEvalCoord1d; +typedef void (APIENTRYP pfn_glEvalCoord1dv) (const GLdouble*); +extern pfn_glEvalCoord1dv fp_glEvalCoord1dv; +typedef void (APIENTRYP pfn_glEvalCoord1f) (GLfloat); +extern pfn_glEvalCoord1f fp_glEvalCoord1f; +typedef void (APIENTRYP pfn_glEvalCoord1fv) (const GLfloat*); +extern pfn_glEvalCoord1fv fp_glEvalCoord1fv; +typedef void (APIENTRYP pfn_glEvalCoord2d) (GLdouble, GLdouble); +extern pfn_glEvalCoord2d fp_glEvalCoord2d; +typedef void (APIENTRYP pfn_glEvalCoord2dv) (const GLdouble*); +extern pfn_glEvalCoord2dv fp_glEvalCoord2dv; +typedef void (APIENTRYP pfn_glEvalCoord2f) (GLfloat, GLfloat); +extern pfn_glEvalCoord2f fp_glEvalCoord2f; +typedef void (APIENTRYP pfn_glEvalCoord2fv) (const GLfloat*); +extern pfn_glEvalCoord2fv fp_glEvalCoord2fv; +typedef void (APIENTRYP pfn_glEvalMesh1) (GLenum, GLint, GLint); +extern pfn_glEvalMesh1 fp_glEvalMesh1; +typedef void (APIENTRYP pfn_glEvalPoint1) (GLint); +extern pfn_glEvalPoint1 fp_glEvalPoint1; +typedef void (APIENTRYP pfn_glEvalMesh2) (GLenum, GLint, GLint, GLint, GLint); +extern pfn_glEvalMesh2 fp_glEvalMesh2; +typedef void (APIENTRYP pfn_glEvalPoint2) (GLint, GLint); +extern pfn_glEvalPoint2 fp_glEvalPoint2; +typedef void (APIENTRYP pfn_glAlphaFunc) (GLenum, GLfloat); +extern pfn_glAlphaFunc fp_glAlphaFunc; +typedef void (APIENTRYP pfn_glPixelZoom) (GLfloat, GLfloat); +extern pfn_glPixelZoom fp_glPixelZoom; +typedef void (APIENTRYP pfn_glPixelTransferf) (GLenum, GLfloat); +extern pfn_glPixelTransferf fp_glPixelTransferf; +typedef void (APIENTRYP pfn_glPixelTransferi) (GLenum, GLint); +extern pfn_glPixelTransferi fp_glPixelTransferi; +typedef void (APIENTRYP pfn_glPixelMapfv) (GLenum, GLsizei, const GLfloat*); +extern pfn_glPixelMapfv fp_glPixelMapfv; +typedef void (APIENTRYP pfn_glPixelMapuiv) (GLenum, GLsizei, const GLuint*); +extern pfn_glPixelMapuiv fp_glPixelMapuiv; +typedef void (APIENTRYP pfn_glPixelMapusv) (GLenum, GLsizei, const GLushort*); +extern pfn_glPixelMapusv fp_glPixelMapusv; +typedef void (APIENTRYP pfn_glCopyPixels) (GLint, GLint, GLsizei, GLsizei, GLenum); +extern pfn_glCopyPixels fp_glCopyPixels; +typedef void (APIENTRYP pfn_glDrawPixels) (GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glDrawPixels fp_glDrawPixels; +typedef void (APIENTRYP pfn_glGetClipPlane) (GLenum, GLdouble*); +extern pfn_glGetClipPlane fp_glGetClipPlane; +typedef void (APIENTRYP pfn_glGetLightfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetLightfv fp_glGetLightfv; +typedef void (APIENTRYP pfn_glGetLightiv) (GLenum, GLenum, GLint*); +extern pfn_glGetLightiv fp_glGetLightiv; +typedef void (APIENTRYP pfn_glGetMapdv) (GLenum, GLenum, GLdouble*); +extern pfn_glGetMapdv fp_glGetMapdv; +typedef void (APIENTRYP pfn_glGetMapfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetMapfv fp_glGetMapfv; +typedef void (APIENTRYP pfn_glGetMapiv) (GLenum, GLenum, GLint*); +extern pfn_glGetMapiv fp_glGetMapiv; +typedef void (APIENTRYP pfn_glGetMaterialfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetMaterialfv fp_glGetMaterialfv; +typedef void (APIENTRYP pfn_glGetMaterialiv) (GLenum, GLenum, GLint*); +extern pfn_glGetMaterialiv fp_glGetMaterialiv; +typedef void (APIENTRYP pfn_glGetPixelMapfv) (GLenum, GLfloat*); +extern pfn_glGetPixelMapfv fp_glGetPixelMapfv; +typedef void (APIENTRYP pfn_glGetPixelMapuiv) (GLenum, GLuint*); +extern pfn_glGetPixelMapuiv fp_glGetPixelMapuiv; +typedef void (APIENTRYP pfn_glGetPixelMapusv) (GLenum, GLushort*); +extern pfn_glGetPixelMapusv fp_glGetPixelMapusv; +typedef void (APIENTRYP pfn_glGetPolygonStipple) (GLubyte*); +extern pfn_glGetPolygonStipple fp_glGetPolygonStipple; +typedef void (APIENTRYP pfn_glGetTexEnvfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetTexEnvfv fp_glGetTexEnvfv; +typedef void (APIENTRYP pfn_glGetTexEnviv) (GLenum, GLenum, GLint*); +extern pfn_glGetTexEnviv fp_glGetTexEnviv; +typedef void (APIENTRYP pfn_glGetTexGendv) (GLenum, GLenum, GLdouble*); +extern pfn_glGetTexGendv fp_glGetTexGendv; +typedef void (APIENTRYP pfn_glGetTexGenfv) (GLenum, GLenum, GLfloat*); +extern pfn_glGetTexGenfv fp_glGetTexGenfv; +typedef void (APIENTRYP pfn_glGetTexGeniv) (GLenum, GLenum, GLint*); +extern pfn_glGetTexGeniv fp_glGetTexGeniv; +typedef GLboolean (APIENTRYP pfn_glIsList) (GLuint); +extern pfn_glIsList fp_glIsList; +typedef void (APIENTRYP pfn_glFrustum) (GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glFrustum fp_glFrustum; +typedef void (APIENTRYP pfn_glLoadIdentity) (); +extern pfn_glLoadIdentity fp_glLoadIdentity; +typedef void (APIENTRYP pfn_glLoadMatrixf) (const GLfloat*); +extern pfn_glLoadMatrixf fp_glLoadMatrixf; +typedef void (APIENTRYP pfn_glLoadMatrixd) (const GLdouble*); +extern pfn_glLoadMatrixd fp_glLoadMatrixd; +typedef void (APIENTRYP pfn_glMatrixMode) (GLenum); +extern pfn_glMatrixMode fp_glMatrixMode; +typedef void (APIENTRYP pfn_glMultMatrixf) (const GLfloat*); +extern pfn_glMultMatrixf fp_glMultMatrixf; +typedef void (APIENTRYP pfn_glMultMatrixd) (const GLdouble*); +extern pfn_glMultMatrixd fp_glMultMatrixd; +typedef void (APIENTRYP pfn_glOrtho) (GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glOrtho fp_glOrtho; +typedef void (APIENTRYP pfn_glPopMatrix) (); +extern pfn_glPopMatrix fp_glPopMatrix; +typedef void (APIENTRYP pfn_glPushMatrix) (); +extern pfn_glPushMatrix fp_glPushMatrix; +typedef void (APIENTRYP pfn_glRotated) (GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glRotated fp_glRotated; +typedef void (APIENTRYP pfn_glRotatef) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glRotatef fp_glRotatef; +typedef void (APIENTRYP pfn_glScaled) (GLdouble, GLdouble, GLdouble); +extern pfn_glScaled fp_glScaled; +typedef void (APIENTRYP pfn_glScalef) (GLfloat, GLfloat, GLfloat); +extern pfn_glScalef fp_glScalef; +typedef void (APIENTRYP pfn_glTranslated) (GLdouble, GLdouble, GLdouble); +extern pfn_glTranslated fp_glTranslated; +typedef void (APIENTRYP pfn_glTranslatef) (GLfloat, GLfloat, GLfloat); +extern pfn_glTranslatef fp_glTranslatef; + + /* GL_VERSION_1_1 */ +extern GLboolean GLAD_VERSION_1_1; +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_FALSE 0 +#define GL_TRUE 1 +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_NONE 0 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_VIEWPORT 0x0BA2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_DOUBLE 0x140A +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_REPEAT 0x2901 +#define GL_R3_G3_B2 0x2A10 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_CURRENT_BIT 0x00000001 +#define GL_POINT_BIT 0x00000002 +#define GL_LINE_BIT 0x00000004 +#define GL_POLYGON_BIT 0x00000008 +#define GL_POLYGON_STIPPLE_BIT 0x00000010 +#define GL_PIXEL_MODE_BIT 0x00000020 +#define GL_LIGHTING_BIT 0x00000040 +#define GL_FOG_BIT 0x00000080 +#define GL_ACCUM_BUFFER_BIT 0x00000200 +#define GL_VIEWPORT_BIT 0x00000800 +#define GL_TRANSFORM_BIT 0x00001000 +#define GL_ENABLE_BIT 0x00002000 +#define GL_HINT_BIT 0x00008000 +#define GL_EVAL_BIT 0x00010000 +#define GL_LIST_BIT 0x00020000 +#define GL_TEXTURE_BIT 0x00040000 +#define GL_SCISSOR_BIT 0x00080000 +#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF +#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF +#define GL_QUAD_STRIP 0x0008 +#define GL_POLYGON 0x0009 +#define GL_ACCUM 0x0100 +#define GL_LOAD 0x0101 +#define GL_RETURN 0x0102 +#define GL_MULT 0x0103 +#define GL_ADD 0x0104 +#define GL_AUX0 0x0409 +#define GL_AUX1 0x040A +#define GL_AUX2 0x040B +#define GL_AUX3 0x040C +#define GL_2D 0x0600 +#define GL_3D 0x0601 +#define GL_3D_COLOR 0x0602 +#define GL_3D_COLOR_TEXTURE 0x0603 +#define GL_4D_COLOR_TEXTURE 0x0604 +#define GL_PASS_THROUGH_TOKEN 0x0700 +#define GL_POINT_TOKEN 0x0701 +#define GL_LINE_TOKEN 0x0702 +#define GL_POLYGON_TOKEN 0x0703 +#define GL_BITMAP_TOKEN 0x0704 +#define GL_DRAW_PIXEL_TOKEN 0x0705 +#define GL_COPY_PIXEL_TOKEN 0x0706 +#define GL_LINE_RESET_TOKEN 0x0707 +#define GL_EXP 0x0800 +#define GL_EXP2 0x0801 +#define GL_COEFF 0x0A00 +#define GL_ORDER 0x0A01 +#define GL_DOMAIN 0x0A02 +#define GL_PIXEL_MAP_I_TO_I 0x0C70 +#define GL_PIXEL_MAP_S_TO_S 0x0C71 +#define GL_PIXEL_MAP_I_TO_R 0x0C72 +#define GL_PIXEL_MAP_I_TO_G 0x0C73 +#define GL_PIXEL_MAP_I_TO_B 0x0C74 +#define GL_PIXEL_MAP_I_TO_A 0x0C75 +#define GL_PIXEL_MAP_R_TO_R 0x0C76 +#define GL_PIXEL_MAP_G_TO_G 0x0C77 +#define GL_PIXEL_MAP_B_TO_B 0x0C78 +#define GL_PIXEL_MAP_A_TO_A 0x0C79 +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_INDEX_ARRAY_POINTER 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 +#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 +#define GL_SELECTION_BUFFER_POINTER 0x0DF3 +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_INDEX 0x0B01 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_CURRENT_RASTER_COLOR 0x0B04 +#define GL_CURRENT_RASTER_INDEX 0x0B05 +#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 +#define GL_CURRENT_RASTER_POSITION 0x0B07 +#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 +#define GL_CURRENT_RASTER_DISTANCE 0x0B09 +#define GL_POINT_SMOOTH 0x0B10 +#define GL_LINE_STIPPLE 0x0B24 +#define GL_LINE_STIPPLE_PATTERN 0x0B25 +#define GL_LINE_STIPPLE_REPEAT 0x0B26 +#define GL_LIST_MODE 0x0B30 +#define GL_MAX_LIST_NESTING 0x0B31 +#define GL_LIST_BASE 0x0B32 +#define GL_LIST_INDEX 0x0B33 +#define GL_POLYGON_STIPPLE 0x0B42 +#define GL_EDGE_FLAG 0x0B43 +#define GL_LIGHTING 0x0B50 +#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_SHADE_MODEL 0x0B54 +#define GL_COLOR_MATERIAL_FACE 0x0B55 +#define GL_COLOR_MATERIAL_PARAMETER 0x0B56 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_FOG 0x0B60 +#define GL_FOG_INDEX 0x0B61 +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 +#define GL_ACCUM_CLEAR_VALUE 0x0B80 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_NORMALIZE 0x0BA1 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ATTRIB_STACK_DEPTH 0x0BB0 +#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_INDEX_LOGIC_OP 0x0BF1 +#define GL_LOGIC_OP 0x0BF1 +#define GL_AUX_BUFFERS 0x0C00 +#define GL_INDEX_CLEAR_VALUE 0x0C20 +#define GL_INDEX_WRITEMASK 0x0C21 +#define GL_INDEX_MODE 0x0C30 +#define GL_RGBA_MODE 0x0C31 +#define GL_RENDER_MODE 0x0C40 +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_FOG_HINT 0x0C54 +#define GL_TEXTURE_GEN_S 0x0C60 +#define GL_TEXTURE_GEN_T 0x0C61 +#define GL_TEXTURE_GEN_R 0x0C62 +#define GL_TEXTURE_GEN_Q 0x0C63 +#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 +#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 +#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 +#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 +#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 +#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 +#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 +#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 +#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 +#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 +#define GL_MAP_COLOR 0x0D10 +#define GL_MAP_STENCIL 0x0D11 +#define GL_INDEX_SHIFT 0x0D12 +#define GL_INDEX_OFFSET 0x0D13 +#define GL_RED_SCALE 0x0D14 +#define GL_RED_BIAS 0x0D15 +#define GL_ZOOM_X 0x0D16 +#define GL_ZOOM_Y 0x0D17 +#define GL_GREEN_SCALE 0x0D18 +#define GL_GREEN_BIAS 0x0D19 +#define GL_BLUE_SCALE 0x0D1A +#define GL_BLUE_BIAS 0x0D1B +#define GL_ALPHA_SCALE 0x0D1C +#define GL_ALPHA_BIAS 0x0D1D +#define GL_DEPTH_SCALE 0x0D1E +#define GL_DEPTH_BIAS 0x0D1F +#define GL_MAX_EVAL_ORDER 0x0D30 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_PIXEL_MAP_TABLE 0x0D34 +#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_NAME_STACK_DEPTH 0x0D37 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B +#define GL_INDEX_BITS 0x0D51 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_ACCUM_RED_BITS 0x0D58 +#define GL_ACCUM_GREEN_BITS 0x0D59 +#define GL_ACCUM_BLUE_BITS 0x0D5A +#define GL_ACCUM_ALPHA_BITS 0x0D5B +#define GL_NAME_STACK_DEPTH 0x0D70 +#define GL_AUTO_NORMAL 0x0D80 +#define GL_MAP1_COLOR_4 0x0D90 +#define GL_MAP1_INDEX 0x0D91 +#define GL_MAP1_NORMAL 0x0D92 +#define GL_MAP1_TEXTURE_COORD_1 0x0D93 +#define GL_MAP1_TEXTURE_COORD_2 0x0D94 +#define GL_MAP1_TEXTURE_COORD_3 0x0D95 +#define GL_MAP1_TEXTURE_COORD_4 0x0D96 +#define GL_MAP1_VERTEX_3 0x0D97 +#define GL_MAP1_VERTEX_4 0x0D98 +#define GL_MAP2_COLOR_4 0x0DB0 +#define GL_MAP2_INDEX 0x0DB1 +#define GL_MAP2_NORMAL 0x0DB2 +#define GL_MAP2_TEXTURE_COORD_1 0x0DB3 +#define GL_MAP2_TEXTURE_COORD_2 0x0DB4 +#define GL_MAP2_TEXTURE_COORD_3 0x0DB5 +#define GL_MAP2_TEXTURE_COORD_4 0x0DB6 +#define GL_MAP2_VERTEX_3 0x0DB7 +#define GL_MAP2_VERTEX_4 0x0DB8 +#define GL_MAP1_GRID_DOMAIN 0x0DD0 +#define GL_MAP1_GRID_SEGMENTS 0x0DD1 +#define GL_MAP2_GRID_DOMAIN 0x0DD2 +#define GL_MAP2_GRID_SEGMENTS 0x0DD3 +#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 +#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 +#define GL_SELECTION_BUFFER_SIZE 0x0DF4 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_INDEX_ARRAY 0x8077 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_EDGE_FLAG_ARRAY 0x8079 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_INDEX_ARRAY_TYPE 0x8085 +#define GL_INDEX_ARRAY_STRIDE 0x8086 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C +#define GL_TEXTURE_COMPONENTS 0x1003 +#define GL_TEXTURE_BORDER 0x1005 +#define GL_TEXTURE_LUMINANCE_SIZE 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE 0x8061 +#define GL_TEXTURE_PRIORITY 0x8066 +#define GL_TEXTURE_RESIDENT 0x8067 +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 +#define GL_COMPILE 0x1300 +#define GL_COMPILE_AND_EXECUTE 0x1301 +#define GL_2_BYTES 0x1407 +#define GL_3_BYTES 0x1408 +#define GL_4_BYTES 0x1409 +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +#define GL_COLOR_INDEXES 0x1603 +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_COLOR_INDEX 0x1900 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A +#define GL_BITMAP 0x1A00 +#define GL_RENDER 0x1C00 +#define GL_FEEDBACK 0x1C01 +#define GL_SELECT 0x1C02 +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 +#define GL_S 0x2000 +#define GL_T 0x2001 +#define GL_R 0x2002 +#define GL_Q 0x2003 +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 +#define GL_TEXTURE_ENV 0x2300 +#define GL_EYE_LINEAR 0x2400 +#define GL_OBJECT_LINEAR 0x2401 +#define GL_SPHERE_MAP 0x2402 +#define GL_TEXTURE_GEN_MODE 0x2500 +#define GL_OBJECT_PLANE 0x2501 +#define GL_EYE_PLANE 0x2502 +#define GL_CLAMP 0x2900 +#define GL_ALPHA4 0x803B +#define GL_ALPHA8 0x803C +#define GL_ALPHA12 0x803D +#define GL_ALPHA16 0x803E +#define GL_LUMINANCE4 0x803F +#define GL_LUMINANCE8 0x8040 +#define GL_LUMINANCE12 0x8041 +#define GL_LUMINANCE16 0x8042 +#define GL_LUMINANCE4_ALPHA4 0x8043 +#define GL_LUMINANCE6_ALPHA2 0x8044 +#define GL_LUMINANCE8_ALPHA8 0x8045 +#define GL_LUMINANCE12_ALPHA4 0x8046 +#define GL_LUMINANCE12_ALPHA12 0x8047 +#define GL_LUMINANCE16_ALPHA16 0x8048 +#define GL_INTENSITY 0x8049 +#define GL_INTENSITY4 0x804A +#define GL_INTENSITY8 0x804B +#define GL_INTENSITY12 0x804C +#define GL_INTENSITY16 0x804D +#define GL_V2F 0x2A20 +#define GL_V3F 0x2A21 +#define GL_C4UB_V2F 0x2A22 +#define GL_C4UB_V3F 0x2A23 +#define GL_C3F_V3F 0x2A24 +#define GL_N3F_V3F 0x2A25 +#define GL_C4F_N3F_V3F 0x2A26 +#define GL_T2F_V3F 0x2A27 +#define GL_T4F_V4F 0x2A28 +#define GL_T2F_C4UB_V3F 0x2A29 +#define GL_T2F_C3F_V3F 0x2A2A +#define GL_T2F_N3F_V3F 0x2A2B +#define GL_T2F_C4F_N3F_V3F 0x2A2C +#define GL_T4F_C4F_N3F_V4F 0x2A2D +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 +#define GL_LIGHT0 0x4000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 +typedef void (APIENTRYP pfn_glDrawArrays) (GLenum, GLint, GLsizei); +extern pfn_glDrawArrays fp_glDrawArrays; +typedef void (APIENTRYP pfn_glDrawElements) (GLenum, GLsizei, GLenum, const void*); +extern pfn_glDrawElements fp_glDrawElements; +typedef void (APIENTRYP pfn_glGetPointerv) (GLenum, void**); +extern pfn_glGetPointerv fp_glGetPointerv; +typedef void (APIENTRYP pfn_glPolygonOffset) (GLfloat, GLfloat); +extern pfn_glPolygonOffset fp_glPolygonOffset; +typedef void (APIENTRYP pfn_glCopyTexImage1D) (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +extern pfn_glCopyTexImage1D fp_glCopyTexImage1D; +typedef void (APIENTRYP pfn_glCopyTexImage2D) (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +extern pfn_glCopyTexImage2D fp_glCopyTexImage2D; +typedef void (APIENTRYP pfn_glCopyTexSubImage1D) (GLenum, GLint, GLint, GLint, GLint, GLsizei); +extern pfn_glCopyTexSubImage1D fp_glCopyTexSubImage1D; +typedef void (APIENTRYP pfn_glCopyTexSubImage2D) (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTexSubImage2D fp_glCopyTexSubImage2D; +typedef void (APIENTRYP pfn_glTexSubImage1D) (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTexSubImage1D fp_glTexSubImage1D; +typedef void (APIENTRYP pfn_glTexSubImage2D) (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTexSubImage2D fp_glTexSubImage2D; +typedef void (APIENTRYP pfn_glBindTexture) (GLenum, GLuint); +extern pfn_glBindTexture fp_glBindTexture; +typedef void (APIENTRYP pfn_glDeleteTextures) (GLsizei, const GLuint*); +extern pfn_glDeleteTextures fp_glDeleteTextures; +typedef void (APIENTRYP pfn_glGenTextures) (GLsizei, GLuint*); +extern pfn_glGenTextures fp_glGenTextures; +typedef GLboolean (APIENTRYP pfn_glIsTexture) (GLuint); +extern pfn_glIsTexture fp_glIsTexture; +typedef void (APIENTRYP pfn_glArrayElement) (GLint); +extern pfn_glArrayElement fp_glArrayElement; +typedef void (APIENTRYP pfn_glColorPointer) (GLint, GLenum, GLsizei, const void*); +extern pfn_glColorPointer fp_glColorPointer; +typedef void (APIENTRYP pfn_glDisableClientState) (GLenum); +extern pfn_glDisableClientState fp_glDisableClientState; +typedef void (APIENTRYP pfn_glEdgeFlagPointer) (GLsizei, const void*); +extern pfn_glEdgeFlagPointer fp_glEdgeFlagPointer; +typedef void (APIENTRYP pfn_glEnableClientState) (GLenum); +extern pfn_glEnableClientState fp_glEnableClientState; +typedef void (APIENTRYP pfn_glIndexPointer) (GLenum, GLsizei, const void*); +extern pfn_glIndexPointer fp_glIndexPointer; +typedef void (APIENTRYP pfn_glInterleavedArrays) (GLenum, GLsizei, const void*); +extern pfn_glInterleavedArrays fp_glInterleavedArrays; +typedef void (APIENTRYP pfn_glNormalPointer) (GLenum, GLsizei, const void*); +extern pfn_glNormalPointer fp_glNormalPointer; +typedef void (APIENTRYP pfn_glTexCoordPointer) (GLint, GLenum, GLsizei, const void*); +extern pfn_glTexCoordPointer fp_glTexCoordPointer; +typedef void (APIENTRYP pfn_glVertexPointer) (GLint, GLenum, GLsizei, const void*); +extern pfn_glVertexPointer fp_glVertexPointer; +typedef GLboolean (APIENTRYP pfn_glAreTexturesResident) (GLsizei, const GLuint*, GLboolean*); +extern pfn_glAreTexturesResident fp_glAreTexturesResident; +typedef void (APIENTRYP pfn_glPrioritizeTextures) (GLsizei, const GLuint*, const GLfloat*); +extern pfn_glPrioritizeTextures fp_glPrioritizeTextures; +typedef void (APIENTRYP pfn_glIndexub) (GLubyte); +extern pfn_glIndexub fp_glIndexub; +typedef void (APIENTRYP pfn_glIndexubv) (const GLubyte*); +extern pfn_glIndexubv fp_glIndexubv; +typedef void (APIENTRYP pfn_glPopClientAttrib) (); +extern pfn_glPopClientAttrib fp_glPopClientAttrib; +typedef void (APIENTRYP pfn_glPushClientAttrib) (GLbitfield); +extern pfn_glPushClientAttrib fp_glPushClientAttrib; + + /* GL_VERSION_1_2 */ +extern GLboolean GLAD_VERSION_1_2; +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_RESCALE_NORMAL 0x803A +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +typedef void (APIENTRYP pfn_glDrawRangeElements) (GLenum, GLuint, GLuint, GLsizei, GLenum, const void*); +extern pfn_glDrawRangeElements fp_glDrawRangeElements; +typedef void (APIENTRYP pfn_glTexImage3D) (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTexImage3D fp_glTexImage3D; +typedef void (APIENTRYP pfn_glTexSubImage3D) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTexSubImage3D fp_glTexSubImage3D; +typedef void (APIENTRYP pfn_glCopyTexSubImage3D) (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTexSubImage3D fp_glCopyTexSubImage3D; + + /* GL_VERSION_1_3 */ +extern GLboolean GLAD_VERSION_1_3; +#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_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_MULTISAMPLE_BIT 0x20000000 +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_SOURCE0_RGB 0x8580 +#define GL_SOURCE1_RGB 0x8581 +#define GL_SOURCE2_RGB 0x8582 +#define GL_SOURCE0_ALPHA 0x8588 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SOURCE2_ALPHA 0x858A +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_SUBTRACT 0x84E7 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF +typedef void (APIENTRYP pfn_glActiveTexture) (GLenum); +extern pfn_glActiveTexture fp_glActiveTexture; +typedef void (APIENTRYP pfn_glSampleCoverage) (GLfloat, GLboolean); +extern pfn_glSampleCoverage fp_glSampleCoverage; +typedef void (APIENTRYP pfn_glCompressedTexImage3D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTexImage3D fp_glCompressedTexImage3D; +typedef void (APIENTRYP pfn_glCompressedTexImage2D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTexImage2D fp_glCompressedTexImage2D; +typedef void (APIENTRYP pfn_glCompressedTexImage1D) (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTexImage1D fp_glCompressedTexImage1D; +typedef void (APIENTRYP pfn_glCompressedTexSubImage3D) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTexSubImage3D fp_glCompressedTexSubImage3D; +typedef void (APIENTRYP pfn_glCompressedTexSubImage2D) (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTexSubImage2D fp_glCompressedTexSubImage2D; +typedef void (APIENTRYP pfn_glCompressedTexSubImage1D) (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTexSubImage1D fp_glCompressedTexSubImage1D; +typedef void (APIENTRYP pfn_glGetCompressedTexImage) (GLenum, GLint, void*); +extern pfn_glGetCompressedTexImage fp_glGetCompressedTexImage; +typedef void (APIENTRYP pfn_glClientActiveTexture) (GLenum); +extern pfn_glClientActiveTexture fp_glClientActiveTexture; +typedef void (APIENTRYP pfn_glMultiTexCoord1d) (GLenum, GLdouble); +extern pfn_glMultiTexCoord1d fp_glMultiTexCoord1d; +typedef void (APIENTRYP pfn_glMultiTexCoord1dv) (GLenum, const GLdouble*); +extern pfn_glMultiTexCoord1dv fp_glMultiTexCoord1dv; +typedef void (APIENTRYP pfn_glMultiTexCoord1f) (GLenum, GLfloat); +extern pfn_glMultiTexCoord1f fp_glMultiTexCoord1f; +typedef void (APIENTRYP pfn_glMultiTexCoord1fv) (GLenum, const GLfloat*); +extern pfn_glMultiTexCoord1fv fp_glMultiTexCoord1fv; +typedef void (APIENTRYP pfn_glMultiTexCoord1i) (GLenum, GLint); +extern pfn_glMultiTexCoord1i fp_glMultiTexCoord1i; +typedef void (APIENTRYP pfn_glMultiTexCoord1iv) (GLenum, const GLint*); +extern pfn_glMultiTexCoord1iv fp_glMultiTexCoord1iv; +typedef void (APIENTRYP pfn_glMultiTexCoord1s) (GLenum, GLshort); +extern pfn_glMultiTexCoord1s fp_glMultiTexCoord1s; +typedef void (APIENTRYP pfn_glMultiTexCoord1sv) (GLenum, const GLshort*); +extern pfn_glMultiTexCoord1sv fp_glMultiTexCoord1sv; +typedef void (APIENTRYP pfn_glMultiTexCoord2d) (GLenum, GLdouble, GLdouble); +extern pfn_glMultiTexCoord2d fp_glMultiTexCoord2d; +typedef void (APIENTRYP pfn_glMultiTexCoord2dv) (GLenum, const GLdouble*); +extern pfn_glMultiTexCoord2dv fp_glMultiTexCoord2dv; +typedef void (APIENTRYP pfn_glMultiTexCoord2f) (GLenum, GLfloat, GLfloat); +extern pfn_glMultiTexCoord2f fp_glMultiTexCoord2f; +typedef void (APIENTRYP pfn_glMultiTexCoord2fv) (GLenum, const GLfloat*); +extern pfn_glMultiTexCoord2fv fp_glMultiTexCoord2fv; +typedef void (APIENTRYP pfn_glMultiTexCoord2i) (GLenum, GLint, GLint); +extern pfn_glMultiTexCoord2i fp_glMultiTexCoord2i; +typedef void (APIENTRYP pfn_glMultiTexCoord2iv) (GLenum, const GLint*); +extern pfn_glMultiTexCoord2iv fp_glMultiTexCoord2iv; +typedef void (APIENTRYP pfn_glMultiTexCoord2s) (GLenum, GLshort, GLshort); +extern pfn_glMultiTexCoord2s fp_glMultiTexCoord2s; +typedef void (APIENTRYP pfn_glMultiTexCoord2sv) (GLenum, const GLshort*); +extern pfn_glMultiTexCoord2sv fp_glMultiTexCoord2sv; +typedef void (APIENTRYP pfn_glMultiTexCoord3d) (GLenum, GLdouble, GLdouble, GLdouble); +extern pfn_glMultiTexCoord3d fp_glMultiTexCoord3d; +typedef void (APIENTRYP pfn_glMultiTexCoord3dv) (GLenum, const GLdouble*); +extern pfn_glMultiTexCoord3dv fp_glMultiTexCoord3dv; +typedef void (APIENTRYP pfn_glMultiTexCoord3f) (GLenum, GLfloat, GLfloat, GLfloat); +extern pfn_glMultiTexCoord3f fp_glMultiTexCoord3f; +typedef void (APIENTRYP pfn_glMultiTexCoord3fv) (GLenum, const GLfloat*); +extern pfn_glMultiTexCoord3fv fp_glMultiTexCoord3fv; +typedef void (APIENTRYP pfn_glMultiTexCoord3i) (GLenum, GLint, GLint, GLint); +extern pfn_glMultiTexCoord3i fp_glMultiTexCoord3i; +typedef void (APIENTRYP pfn_glMultiTexCoord3iv) (GLenum, const GLint*); +extern pfn_glMultiTexCoord3iv fp_glMultiTexCoord3iv; +typedef void (APIENTRYP pfn_glMultiTexCoord3s) (GLenum, GLshort, GLshort, GLshort); +extern pfn_glMultiTexCoord3s fp_glMultiTexCoord3s; +typedef void (APIENTRYP pfn_glMultiTexCoord3sv) (GLenum, const GLshort*); +extern pfn_glMultiTexCoord3sv fp_glMultiTexCoord3sv; +typedef void (APIENTRYP pfn_glMultiTexCoord4d) (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glMultiTexCoord4d fp_glMultiTexCoord4d; +typedef void (APIENTRYP pfn_glMultiTexCoord4dv) (GLenum, const GLdouble*); +extern pfn_glMultiTexCoord4dv fp_glMultiTexCoord4dv; +typedef void (APIENTRYP pfn_glMultiTexCoord4f) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glMultiTexCoord4f fp_glMultiTexCoord4f; +typedef void (APIENTRYP pfn_glMultiTexCoord4fv) (GLenum, const GLfloat*); +extern pfn_glMultiTexCoord4fv fp_glMultiTexCoord4fv; +typedef void (APIENTRYP pfn_glMultiTexCoord4i) (GLenum, GLint, GLint, GLint, GLint); +extern pfn_glMultiTexCoord4i fp_glMultiTexCoord4i; +typedef void (APIENTRYP pfn_glMultiTexCoord4iv) (GLenum, const GLint*); +extern pfn_glMultiTexCoord4iv fp_glMultiTexCoord4iv; +typedef void (APIENTRYP pfn_glMultiTexCoord4s) (GLenum, GLshort, GLshort, GLshort, GLshort); +extern pfn_glMultiTexCoord4s fp_glMultiTexCoord4s; +typedef void (APIENTRYP pfn_glMultiTexCoord4sv) (GLenum, const GLshort*); +extern pfn_glMultiTexCoord4sv fp_glMultiTexCoord4sv; +typedef void (APIENTRYP pfn_glLoadTransposeMatrixf) (const GLfloat*); +extern pfn_glLoadTransposeMatrixf fp_glLoadTransposeMatrixf; +typedef void (APIENTRYP pfn_glLoadTransposeMatrixd) (const GLdouble*); +extern pfn_glLoadTransposeMatrixd fp_glLoadTransposeMatrixd; +typedef void (APIENTRYP pfn_glMultTransposeMatrixf) (const GLfloat*); +extern pfn_glMultTransposeMatrixf fp_glMultTransposeMatrixf; +typedef void (APIENTRYP pfn_glMultTransposeMatrixd) (const GLdouble*); +extern pfn_glMultTransposeMatrixd fp_glMultTransposeMatrixd; + + /* GL_VERSION_1_4 */ +extern GLboolean GLAD_VERSION_1_4; +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 +#define GL_FOG_COORDINATE_SOURCE 0x8450 +#define GL_FOG_COORDINATE 0x8451 +#define GL_FRAGMENT_DEPTH 0x8452 +#define GL_CURRENT_FOG_COORDINATE 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 +#define GL_FOG_COORDINATE_ARRAY 0x8457 +#define GL_COLOR_SUM 0x8458 +#define GL_CURRENT_SECONDARY_COLOR 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D +#define GL_SECONDARY_COLOR_ARRAY 0x845E +#define GL_TEXTURE_FILTER_CONTROL 0x8500 +#define GL_DEPTH_TEXTURE_MODE 0x884B +#define GL_COMPARE_R_TO_TEXTURE 0x884E +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +typedef void (APIENTRYP pfn_glBlendFuncSeparate) (GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparate fp_glBlendFuncSeparate; +typedef void (APIENTRYP pfn_glMultiDrawArrays) (GLenum, const GLint*, const GLsizei*, GLsizei); +extern pfn_glMultiDrawArrays fp_glMultiDrawArrays; +typedef void (APIENTRYP pfn_glMultiDrawElements) (GLenum, const GLsizei*, GLenum, const void**, GLsizei); +extern pfn_glMultiDrawElements fp_glMultiDrawElements; +typedef void (APIENTRYP pfn_glPointParameterf) (GLenum, GLfloat); +extern pfn_glPointParameterf fp_glPointParameterf; +typedef void (APIENTRYP pfn_glPointParameterfv) (GLenum, const GLfloat*); +extern pfn_glPointParameterfv fp_glPointParameterfv; +typedef void (APIENTRYP pfn_glPointParameteri) (GLenum, GLint); +extern pfn_glPointParameteri fp_glPointParameteri; +typedef void (APIENTRYP pfn_glPointParameteriv) (GLenum, const GLint*); +extern pfn_glPointParameteriv fp_glPointParameteriv; +typedef void (APIENTRYP pfn_glFogCoordf) (GLfloat); +extern pfn_glFogCoordf fp_glFogCoordf; +typedef void (APIENTRYP pfn_glFogCoordfv) (const GLfloat*); +extern pfn_glFogCoordfv fp_glFogCoordfv; +typedef void (APIENTRYP pfn_glFogCoordd) (GLdouble); +extern pfn_glFogCoordd fp_glFogCoordd; +typedef void (APIENTRYP pfn_glFogCoorddv) (const GLdouble*); +extern pfn_glFogCoorddv fp_glFogCoorddv; +typedef void (APIENTRYP pfn_glFogCoordPointer) (GLenum, GLsizei, const void*); +extern pfn_glFogCoordPointer fp_glFogCoordPointer; +typedef void (APIENTRYP pfn_glSecondaryColor3b) (GLbyte, GLbyte, GLbyte); +extern pfn_glSecondaryColor3b fp_glSecondaryColor3b; +typedef void (APIENTRYP pfn_glSecondaryColor3bv) (const GLbyte*); +extern pfn_glSecondaryColor3bv fp_glSecondaryColor3bv; +typedef void (APIENTRYP pfn_glSecondaryColor3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glSecondaryColor3d fp_glSecondaryColor3d; +typedef void (APIENTRYP pfn_glSecondaryColor3dv) (const GLdouble*); +extern pfn_glSecondaryColor3dv fp_glSecondaryColor3dv; +typedef void (APIENTRYP pfn_glSecondaryColor3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glSecondaryColor3f fp_glSecondaryColor3f; +typedef void (APIENTRYP pfn_glSecondaryColor3fv) (const GLfloat*); +extern pfn_glSecondaryColor3fv fp_glSecondaryColor3fv; +typedef void (APIENTRYP pfn_glSecondaryColor3i) (GLint, GLint, GLint); +extern pfn_glSecondaryColor3i fp_glSecondaryColor3i; +typedef void (APIENTRYP pfn_glSecondaryColor3iv) (const GLint*); +extern pfn_glSecondaryColor3iv fp_glSecondaryColor3iv; +typedef void (APIENTRYP pfn_glSecondaryColor3s) (GLshort, GLshort, GLshort); +extern pfn_glSecondaryColor3s fp_glSecondaryColor3s; +typedef void (APIENTRYP pfn_glSecondaryColor3sv) (const GLshort*); +extern pfn_glSecondaryColor3sv fp_glSecondaryColor3sv; +typedef void (APIENTRYP pfn_glSecondaryColor3ub) (GLubyte, GLubyte, GLubyte); +extern pfn_glSecondaryColor3ub fp_glSecondaryColor3ub; +typedef void (APIENTRYP pfn_glSecondaryColor3ubv) (const GLubyte*); +extern pfn_glSecondaryColor3ubv fp_glSecondaryColor3ubv; +typedef void (APIENTRYP pfn_glSecondaryColor3ui) (GLuint, GLuint, GLuint); +extern pfn_glSecondaryColor3ui fp_glSecondaryColor3ui; +typedef void (APIENTRYP pfn_glSecondaryColor3uiv) (const GLuint*); +extern pfn_glSecondaryColor3uiv fp_glSecondaryColor3uiv; +typedef void (APIENTRYP pfn_glSecondaryColor3us) (GLushort, GLushort, GLushort); +extern pfn_glSecondaryColor3us fp_glSecondaryColor3us; +typedef void (APIENTRYP pfn_glSecondaryColor3usv) (const GLushort*); +extern pfn_glSecondaryColor3usv fp_glSecondaryColor3usv; +typedef void (APIENTRYP pfn_glSecondaryColorPointer) (GLint, GLenum, GLsizei, const void*); +extern pfn_glSecondaryColorPointer fp_glSecondaryColorPointer; +typedef void (APIENTRYP pfn_glWindowPos2d) (GLdouble, GLdouble); +extern pfn_glWindowPos2d fp_glWindowPos2d; +typedef void (APIENTRYP pfn_glWindowPos2dv) (const GLdouble*); +extern pfn_glWindowPos2dv fp_glWindowPos2dv; +typedef void (APIENTRYP pfn_glWindowPos2f) (GLfloat, GLfloat); +extern pfn_glWindowPos2f fp_glWindowPos2f; +typedef void (APIENTRYP pfn_glWindowPos2fv) (const GLfloat*); +extern pfn_glWindowPos2fv fp_glWindowPos2fv; +typedef void (APIENTRYP pfn_glWindowPos2i) (GLint, GLint); +extern pfn_glWindowPos2i fp_glWindowPos2i; +typedef void (APIENTRYP pfn_glWindowPos2iv) (const GLint*); +extern pfn_glWindowPos2iv fp_glWindowPos2iv; +typedef void (APIENTRYP pfn_glWindowPos2s) (GLshort, GLshort); +extern pfn_glWindowPos2s fp_glWindowPos2s; +typedef void (APIENTRYP pfn_glWindowPos2sv) (const GLshort*); +extern pfn_glWindowPos2sv fp_glWindowPos2sv; +typedef void (APIENTRYP pfn_glWindowPos3d) (GLdouble, GLdouble, GLdouble); +extern pfn_glWindowPos3d fp_glWindowPos3d; +typedef void (APIENTRYP pfn_glWindowPos3dv) (const GLdouble*); +extern pfn_glWindowPos3dv fp_glWindowPos3dv; +typedef void (APIENTRYP pfn_glWindowPos3f) (GLfloat, GLfloat, GLfloat); +extern pfn_glWindowPos3f fp_glWindowPos3f; +typedef void (APIENTRYP pfn_glWindowPos3fv) (const GLfloat*); +extern pfn_glWindowPos3fv fp_glWindowPos3fv; +typedef void (APIENTRYP pfn_glWindowPos3i) (GLint, GLint, GLint); +extern pfn_glWindowPos3i fp_glWindowPos3i; +typedef void (APIENTRYP pfn_glWindowPos3iv) (const GLint*); +extern pfn_glWindowPos3iv fp_glWindowPos3iv; +typedef void (APIENTRYP pfn_glWindowPos3s) (GLshort, GLshort, GLshort); +extern pfn_glWindowPos3s fp_glWindowPos3s; +typedef void (APIENTRYP pfn_glWindowPos3sv) (const GLshort*); +extern pfn_glWindowPos3sv fp_glWindowPos3sv; +typedef void (APIENTRYP pfn_glBlendColor) (GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glBlendColor fp_glBlendColor; +typedef void (APIENTRYP pfn_glBlendEquation) (GLenum); +extern pfn_glBlendEquation fp_glBlendEquation; + + /* GL_VERSION_1_5 */ +extern GLboolean GLAD_VERSION_1_5; +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#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_SAMPLES_PASSED 0x8914 +#define GL_SRC1_ALPHA 0x8589 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_FOG_COORD_SRC 0x8450 +#define GL_FOG_COORD 0x8451 +#define GL_CURRENT_FOG_COORD 0x8453 +#define GL_FOG_COORD_ARRAY_TYPE 0x8454 +#define GL_FOG_COORD_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORD_ARRAY_POINTER 0x8456 +#define GL_FOG_COORD_ARRAY 0x8457 +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D +#define GL_SRC0_RGB 0x8580 +#define GL_SRC1_RGB 0x8581 +#define GL_SRC2_RGB 0x8582 +#define GL_SRC0_ALPHA 0x8588 +#define GL_SRC2_ALPHA 0x858A +typedef void (APIENTRYP pfn_glGenQueries) (GLsizei, GLuint*); +extern pfn_glGenQueries fp_glGenQueries; +typedef void (APIENTRYP pfn_glDeleteQueries) (GLsizei, const GLuint*); +extern pfn_glDeleteQueries fp_glDeleteQueries; +typedef GLboolean (APIENTRYP pfn_glIsQuery) (GLuint); +extern pfn_glIsQuery fp_glIsQuery; +typedef void (APIENTRYP pfn_glBeginQuery) (GLenum, GLuint); +extern pfn_glBeginQuery fp_glBeginQuery; +typedef void (APIENTRYP pfn_glEndQuery) (GLenum); +extern pfn_glEndQuery fp_glEndQuery; +typedef void (APIENTRYP pfn_glGetQueryiv) (GLenum, GLenum, GLint*); +extern pfn_glGetQueryiv fp_glGetQueryiv; +typedef void (APIENTRYP pfn_glGetQueryObjectiv) (GLuint, GLenum, GLint*); +extern pfn_glGetQueryObjectiv fp_glGetQueryObjectiv; +typedef void (APIENTRYP pfn_glGetQueryObjectuiv) (GLuint, GLenum, GLuint*); +extern pfn_glGetQueryObjectuiv fp_glGetQueryObjectuiv; +typedef void (APIENTRYP pfn_glBindBuffer) (GLenum, GLuint); +extern pfn_glBindBuffer fp_glBindBuffer; +typedef void (APIENTRYP pfn_glDeleteBuffers) (GLsizei, const GLuint*); +extern pfn_glDeleteBuffers fp_glDeleteBuffers; +typedef void (APIENTRYP pfn_glGenBuffers) (GLsizei, GLuint*); +extern pfn_glGenBuffers fp_glGenBuffers; +typedef GLboolean (APIENTRYP pfn_glIsBuffer) (GLuint); +extern pfn_glIsBuffer fp_glIsBuffer; +typedef void (APIENTRYP pfn_glBufferData) (GLenum, GLsizeiptr, const void*, GLenum); +extern pfn_glBufferData fp_glBufferData; +typedef void (APIENTRYP pfn_glBufferSubData) (GLenum, GLintptr, GLsizeiptr, const void*); +extern pfn_glBufferSubData fp_glBufferSubData; +typedef void (APIENTRYP pfn_glGetBufferSubData) (GLenum, GLintptr, GLsizeiptr, void*); +extern pfn_glGetBufferSubData fp_glGetBufferSubData; +typedef void* (APIENTRYP pfn_glMapBuffer) (GLenum, GLenum); +extern pfn_glMapBuffer fp_glMapBuffer; +typedef GLboolean (APIENTRYP pfn_glUnmapBuffer) (GLenum); +extern pfn_glUnmapBuffer fp_glUnmapBuffer; +typedef void (APIENTRYP pfn_glGetBufferParameteriv) (GLenum, GLenum, GLint*); +extern pfn_glGetBufferParameteriv fp_glGetBufferParameteriv; +typedef void (APIENTRYP pfn_glGetBufferPointerv) (GLenum, GLenum, void**); +extern pfn_glGetBufferPointerv fp_glGetBufferPointerv; + + /* GL_VERSION_2_0 */ +extern GLboolean GLAD_VERSION_2_0; +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_TEXTURE_COORDS 0x8871 +typedef void (APIENTRYP pfn_glBlendEquationSeparate) (GLenum, GLenum); +extern pfn_glBlendEquationSeparate fp_glBlendEquationSeparate; +typedef void (APIENTRYP pfn_glDrawBuffers) (GLsizei, const GLenum*); +extern pfn_glDrawBuffers fp_glDrawBuffers; +typedef void (APIENTRYP pfn_glStencilOpSeparate) (GLenum, GLenum, GLenum, GLenum); +extern pfn_glStencilOpSeparate fp_glStencilOpSeparate; +typedef void (APIENTRYP pfn_glStencilFuncSeparate) (GLenum, GLenum, GLint, GLuint); +extern pfn_glStencilFuncSeparate fp_glStencilFuncSeparate; +typedef void (APIENTRYP pfn_glStencilMaskSeparate) (GLenum, GLuint); +extern pfn_glStencilMaskSeparate fp_glStencilMaskSeparate; +typedef void (APIENTRYP pfn_glAttachShader) (GLuint, GLuint); +extern pfn_glAttachShader fp_glAttachShader; +typedef void (APIENTRYP pfn_glBindAttribLocation) (GLuint, GLuint, const GLchar*); +extern pfn_glBindAttribLocation fp_glBindAttribLocation; +typedef void (APIENTRYP pfn_glCompileShader) (GLuint); +extern pfn_glCompileShader fp_glCompileShader; +typedef GLuint (APIENTRYP pfn_glCreateProgram) (); +extern pfn_glCreateProgram fp_glCreateProgram; +typedef GLuint (APIENTRYP pfn_glCreateShader) (GLenum); +extern pfn_glCreateShader fp_glCreateShader; +typedef void (APIENTRYP pfn_glDeleteProgram) (GLuint); +extern pfn_glDeleteProgram fp_glDeleteProgram; +typedef void (APIENTRYP pfn_glDeleteShader) (GLuint); +extern pfn_glDeleteShader fp_glDeleteShader; +typedef void (APIENTRYP pfn_glDetachShader) (GLuint, GLuint); +extern pfn_glDetachShader fp_glDetachShader; +typedef void (APIENTRYP pfn_glDisableVertexAttribArray) (GLuint); +extern pfn_glDisableVertexAttribArray fp_glDisableVertexAttribArray; +typedef void (APIENTRYP pfn_glEnableVertexAttribArray) (GLuint); +extern pfn_glEnableVertexAttribArray fp_glEnableVertexAttribArray; +typedef void (APIENTRYP pfn_glGetActiveAttrib) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*); +extern pfn_glGetActiveAttrib fp_glGetActiveAttrib; +typedef void (APIENTRYP pfn_glGetActiveUniform) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*); +extern pfn_glGetActiveUniform fp_glGetActiveUniform; +typedef void (APIENTRYP pfn_glGetAttachedShaders) (GLuint, GLsizei, GLsizei*, GLuint*); +extern pfn_glGetAttachedShaders fp_glGetAttachedShaders; +typedef GLint (APIENTRYP pfn_glGetAttribLocation) (GLuint, const GLchar*); +extern pfn_glGetAttribLocation fp_glGetAttribLocation; +typedef void (APIENTRYP pfn_glGetProgramiv) (GLuint, GLenum, GLint*); +extern pfn_glGetProgramiv fp_glGetProgramiv; +typedef void (APIENTRYP pfn_glGetProgramInfoLog) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetProgramInfoLog fp_glGetProgramInfoLog; +typedef void (APIENTRYP pfn_glGetShaderiv) (GLuint, GLenum, GLint*); +extern pfn_glGetShaderiv fp_glGetShaderiv; +typedef void (APIENTRYP pfn_glGetShaderInfoLog) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetShaderInfoLog fp_glGetShaderInfoLog; +typedef void (APIENTRYP pfn_glGetShaderSource) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetShaderSource fp_glGetShaderSource; +typedef GLint (APIENTRYP pfn_glGetUniformLocation) (GLuint, const GLchar*); +extern pfn_glGetUniformLocation fp_glGetUniformLocation; +typedef void (APIENTRYP pfn_glGetUniformfv) (GLuint, GLint, GLfloat*); +extern pfn_glGetUniformfv fp_glGetUniformfv; +typedef void (APIENTRYP pfn_glGetUniformiv) (GLuint, GLint, GLint*); +extern pfn_glGetUniformiv fp_glGetUniformiv; +typedef void (APIENTRYP pfn_glGetVertexAttribdv) (GLuint, GLenum, GLdouble*); +extern pfn_glGetVertexAttribdv fp_glGetVertexAttribdv; +typedef void (APIENTRYP pfn_glGetVertexAttribfv) (GLuint, GLenum, GLfloat*); +extern pfn_glGetVertexAttribfv fp_glGetVertexAttribfv; +typedef void (APIENTRYP pfn_glGetVertexAttribiv) (GLuint, GLenum, GLint*); +extern pfn_glGetVertexAttribiv fp_glGetVertexAttribiv; +typedef void (APIENTRYP pfn_glGetVertexAttribPointerv) (GLuint, GLenum, void**); +extern pfn_glGetVertexAttribPointerv fp_glGetVertexAttribPointerv; +typedef GLboolean (APIENTRYP pfn_glIsProgram) (GLuint); +extern pfn_glIsProgram fp_glIsProgram; +typedef GLboolean (APIENTRYP pfn_glIsShader) (GLuint); +extern pfn_glIsShader fp_glIsShader; +typedef void (APIENTRYP pfn_glLinkProgram) (GLuint); +extern pfn_glLinkProgram fp_glLinkProgram; +typedef void (APIENTRYP pfn_glShaderSource) (GLuint, GLsizei, const GLchar**, const GLint*); +extern pfn_glShaderSource fp_glShaderSource; +typedef void (APIENTRYP pfn_glUseProgram) (GLuint); +extern pfn_glUseProgram fp_glUseProgram; +typedef void (APIENTRYP pfn_glUniform1f) (GLint, GLfloat); +extern pfn_glUniform1f fp_glUniform1f; +typedef void (APIENTRYP pfn_glUniform2f) (GLint, GLfloat, GLfloat); +extern pfn_glUniform2f fp_glUniform2f; +typedef void (APIENTRYP pfn_glUniform3f) (GLint, GLfloat, GLfloat, GLfloat); +extern pfn_glUniform3f fp_glUniform3f; +typedef void (APIENTRYP pfn_glUniform4f) (GLint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glUniform4f fp_glUniform4f; +typedef void (APIENTRYP pfn_glUniform1i) (GLint, GLint); +extern pfn_glUniform1i fp_glUniform1i; +typedef void (APIENTRYP pfn_glUniform2i) (GLint, GLint, GLint); +extern pfn_glUniform2i fp_glUniform2i; +typedef void (APIENTRYP pfn_glUniform3i) (GLint, GLint, GLint, GLint); +extern pfn_glUniform3i fp_glUniform3i; +typedef void (APIENTRYP pfn_glUniform4i) (GLint, GLint, GLint, GLint, GLint); +extern pfn_glUniform4i fp_glUniform4i; +typedef void (APIENTRYP pfn_glUniform1fv) (GLint, GLsizei, const GLfloat*); +extern pfn_glUniform1fv fp_glUniform1fv; +typedef void (APIENTRYP pfn_glUniform2fv) (GLint, GLsizei, const GLfloat*); +extern pfn_glUniform2fv fp_glUniform2fv; +typedef void (APIENTRYP pfn_glUniform3fv) (GLint, GLsizei, const GLfloat*); +extern pfn_glUniform3fv fp_glUniform3fv; +typedef void (APIENTRYP pfn_glUniform4fv) (GLint, GLsizei, const GLfloat*); +extern pfn_glUniform4fv fp_glUniform4fv; +typedef void (APIENTRYP pfn_glUniform1iv) (GLint, GLsizei, const GLint*); +extern pfn_glUniform1iv fp_glUniform1iv; +typedef void (APIENTRYP pfn_glUniform2iv) (GLint, GLsizei, const GLint*); +extern pfn_glUniform2iv fp_glUniform2iv; +typedef void (APIENTRYP pfn_glUniform3iv) (GLint, GLsizei, const GLint*); +extern pfn_glUniform3iv fp_glUniform3iv; +typedef void (APIENTRYP pfn_glUniform4iv) (GLint, GLsizei, const GLint*); +extern pfn_glUniform4iv fp_glUniform4iv; +typedef void (APIENTRYP pfn_glUniformMatrix2fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix2fv fp_glUniformMatrix2fv; +typedef void (APIENTRYP pfn_glUniformMatrix3fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix3fv fp_glUniformMatrix3fv; +typedef void (APIENTRYP pfn_glUniformMatrix4fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix4fv fp_glUniformMatrix4fv; +typedef void (APIENTRYP pfn_glValidateProgram) (GLuint); +extern pfn_glValidateProgram fp_glValidateProgram; +typedef void (APIENTRYP pfn_glVertexAttrib1d) (GLuint, GLdouble); +extern pfn_glVertexAttrib1d fp_glVertexAttrib1d; +typedef void (APIENTRYP pfn_glVertexAttrib1dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttrib1dv fp_glVertexAttrib1dv; +typedef void (APIENTRYP pfn_glVertexAttrib1f) (GLuint, GLfloat); +extern pfn_glVertexAttrib1f fp_glVertexAttrib1f; +typedef void (APIENTRYP pfn_glVertexAttrib1fv) (GLuint, const GLfloat*); +extern pfn_glVertexAttrib1fv fp_glVertexAttrib1fv; +typedef void (APIENTRYP pfn_glVertexAttrib1s) (GLuint, GLshort); +extern pfn_glVertexAttrib1s fp_glVertexAttrib1s; +typedef void (APIENTRYP pfn_glVertexAttrib1sv) (GLuint, const GLshort*); +extern pfn_glVertexAttrib1sv fp_glVertexAttrib1sv; +typedef void (APIENTRYP pfn_glVertexAttrib2d) (GLuint, GLdouble, GLdouble); +extern pfn_glVertexAttrib2d fp_glVertexAttrib2d; +typedef void (APIENTRYP pfn_glVertexAttrib2dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttrib2dv fp_glVertexAttrib2dv; +typedef void (APIENTRYP pfn_glVertexAttrib2f) (GLuint, GLfloat, GLfloat); +extern pfn_glVertexAttrib2f fp_glVertexAttrib2f; +typedef void (APIENTRYP pfn_glVertexAttrib2fv) (GLuint, const GLfloat*); +extern pfn_glVertexAttrib2fv fp_glVertexAttrib2fv; +typedef void (APIENTRYP pfn_glVertexAttrib2s) (GLuint, GLshort, GLshort); +extern pfn_glVertexAttrib2s fp_glVertexAttrib2s; +typedef void (APIENTRYP pfn_glVertexAttrib2sv) (GLuint, const GLshort*); +extern pfn_glVertexAttrib2sv fp_glVertexAttrib2sv; +typedef void (APIENTRYP pfn_glVertexAttrib3d) (GLuint, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttrib3d fp_glVertexAttrib3d; +typedef void (APIENTRYP pfn_glVertexAttrib3dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttrib3dv fp_glVertexAttrib3dv; +typedef void (APIENTRYP pfn_glVertexAttrib3f) (GLuint, GLfloat, GLfloat, GLfloat); +extern pfn_glVertexAttrib3f fp_glVertexAttrib3f; +typedef void (APIENTRYP pfn_glVertexAttrib3fv) (GLuint, const GLfloat*); +extern pfn_glVertexAttrib3fv fp_glVertexAttrib3fv; +typedef void (APIENTRYP pfn_glVertexAttrib3s) (GLuint, GLshort, GLshort, GLshort); +extern pfn_glVertexAttrib3s fp_glVertexAttrib3s; +typedef void (APIENTRYP pfn_glVertexAttrib3sv) (GLuint, const GLshort*); +extern pfn_glVertexAttrib3sv fp_glVertexAttrib3sv; +typedef void (APIENTRYP pfn_glVertexAttrib4Nbv) (GLuint, const GLbyte*); +extern pfn_glVertexAttrib4Nbv fp_glVertexAttrib4Nbv; +typedef void (APIENTRYP pfn_glVertexAttrib4Niv) (GLuint, const GLint*); +extern pfn_glVertexAttrib4Niv fp_glVertexAttrib4Niv; +typedef void (APIENTRYP pfn_glVertexAttrib4Nsv) (GLuint, const GLshort*); +extern pfn_glVertexAttrib4Nsv fp_glVertexAttrib4Nsv; +typedef void (APIENTRYP pfn_glVertexAttrib4Nub) (GLuint, GLubyte, GLubyte, GLubyte, GLubyte); +extern pfn_glVertexAttrib4Nub fp_glVertexAttrib4Nub; +typedef void (APIENTRYP pfn_glVertexAttrib4Nubv) (GLuint, const GLubyte*); +extern pfn_glVertexAttrib4Nubv fp_glVertexAttrib4Nubv; +typedef void (APIENTRYP pfn_glVertexAttrib4Nuiv) (GLuint, const GLuint*); +extern pfn_glVertexAttrib4Nuiv fp_glVertexAttrib4Nuiv; +typedef void (APIENTRYP pfn_glVertexAttrib4Nusv) (GLuint, const GLushort*); +extern pfn_glVertexAttrib4Nusv fp_glVertexAttrib4Nusv; +typedef void (APIENTRYP pfn_glVertexAttrib4bv) (GLuint, const GLbyte*); +extern pfn_glVertexAttrib4bv fp_glVertexAttrib4bv; +typedef void (APIENTRYP pfn_glVertexAttrib4d) (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttrib4d fp_glVertexAttrib4d; +typedef void (APIENTRYP pfn_glVertexAttrib4dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttrib4dv fp_glVertexAttrib4dv; +typedef void (APIENTRYP pfn_glVertexAttrib4f) (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glVertexAttrib4f fp_glVertexAttrib4f; +typedef void (APIENTRYP pfn_glVertexAttrib4fv) (GLuint, const GLfloat*); +extern pfn_glVertexAttrib4fv fp_glVertexAttrib4fv; +typedef void (APIENTRYP pfn_glVertexAttrib4iv) (GLuint, const GLint*); +extern pfn_glVertexAttrib4iv fp_glVertexAttrib4iv; +typedef void (APIENTRYP pfn_glVertexAttrib4s) (GLuint, GLshort, GLshort, GLshort, GLshort); +extern pfn_glVertexAttrib4s fp_glVertexAttrib4s; +typedef void (APIENTRYP pfn_glVertexAttrib4sv) (GLuint, const GLshort*); +extern pfn_glVertexAttrib4sv fp_glVertexAttrib4sv; +typedef void (APIENTRYP pfn_glVertexAttrib4ubv) (GLuint, const GLubyte*); +extern pfn_glVertexAttrib4ubv fp_glVertexAttrib4ubv; +typedef void (APIENTRYP pfn_glVertexAttrib4uiv) (GLuint, const GLuint*); +extern pfn_glVertexAttrib4uiv fp_glVertexAttrib4uiv; +typedef void (APIENTRYP pfn_glVertexAttrib4usv) (GLuint, const GLushort*); +extern pfn_glVertexAttrib4usv fp_glVertexAttrib4usv; +typedef void (APIENTRYP pfn_glVertexAttribPointer) (GLuint, GLint, GLenum, GLboolean, GLsizei, const void*); +extern pfn_glVertexAttribPointer fp_glVertexAttribPointer; + + /* GL_VERSION_2_1 */ +extern GLboolean GLAD_VERSION_2_1; +#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_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B +typedef void (APIENTRYP pfn_glUniformMatrix2x3fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix2x3fv fp_glUniformMatrix2x3fv; +typedef void (APIENTRYP pfn_glUniformMatrix3x2fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix3x2fv fp_glUniformMatrix3x2fv; +typedef void (APIENTRYP pfn_glUniformMatrix2x4fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix2x4fv fp_glUniformMatrix2x4fv; +typedef void (APIENTRYP pfn_glUniformMatrix4x2fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix4x2fv fp_glUniformMatrix4x2fv; +typedef void (APIENTRYP pfn_glUniformMatrix3x4fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix3x4fv fp_glUniformMatrix3x4fv; +typedef void (APIENTRYP pfn_glUniformMatrix4x3fv) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix4x3fv fp_glUniformMatrix4x3fv; + + /* GL_VERSION_3_0 */ +extern GLboolean GLAD_VERSION_3_0; +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_INDEX 0x8222 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_ALPHA_INTEGER 0x8D97 +typedef void (APIENTRYP pfn_glColorMaski) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +extern pfn_glColorMaski fp_glColorMaski; +typedef void (APIENTRYP pfn_glGetBooleani_v) (GLenum, GLuint, GLboolean*); +extern pfn_glGetBooleani_v fp_glGetBooleani_v; +typedef void (APIENTRYP pfn_glGetIntegeri_v) (GLenum, GLuint, GLint*); +extern pfn_glGetIntegeri_v fp_glGetIntegeri_v; +typedef void (APIENTRYP pfn_glEnablei) (GLenum, GLuint); +extern pfn_glEnablei fp_glEnablei; +typedef void (APIENTRYP pfn_glDisablei) (GLenum, GLuint); +extern pfn_glDisablei fp_glDisablei; +typedef GLboolean (APIENTRYP pfn_glIsEnabledi) (GLenum, GLuint); +extern pfn_glIsEnabledi fp_glIsEnabledi; +typedef void (APIENTRYP pfn_glBeginTransformFeedback) (GLenum); +extern pfn_glBeginTransformFeedback fp_glBeginTransformFeedback; +typedef void (APIENTRYP pfn_glEndTransformFeedback) (); +extern pfn_glEndTransformFeedback fp_glEndTransformFeedback; +typedef void (APIENTRYP pfn_glBindBufferRange) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +extern pfn_glBindBufferRange fp_glBindBufferRange; +typedef void (APIENTRYP pfn_glBindBufferBase) (GLenum, GLuint, GLuint); +extern pfn_glBindBufferBase fp_glBindBufferBase; +typedef void (APIENTRYP pfn_glTransformFeedbackVaryings) (GLuint, GLsizei, const GLchar**, GLenum); +extern pfn_glTransformFeedbackVaryings fp_glTransformFeedbackVaryings; +typedef void (APIENTRYP pfn_glGetTransformFeedbackVarying) (GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*); +extern pfn_glGetTransformFeedbackVarying fp_glGetTransformFeedbackVarying; +typedef void (APIENTRYP pfn_glClampColor) (GLenum, GLenum); +extern pfn_glClampColor fp_glClampColor; +typedef void (APIENTRYP pfn_glBeginConditionalRender) (GLuint, GLenum); +extern pfn_glBeginConditionalRender fp_glBeginConditionalRender; +typedef void (APIENTRYP pfn_glEndConditionalRender) (); +extern pfn_glEndConditionalRender fp_glEndConditionalRender; +typedef void (APIENTRYP pfn_glVertexAttribIPointer) (GLuint, GLint, GLenum, GLsizei, const void*); +extern pfn_glVertexAttribIPointer fp_glVertexAttribIPointer; +typedef void (APIENTRYP pfn_glGetVertexAttribIiv) (GLuint, GLenum, GLint*); +extern pfn_glGetVertexAttribIiv fp_glGetVertexAttribIiv; +typedef void (APIENTRYP pfn_glGetVertexAttribIuiv) (GLuint, GLenum, GLuint*); +extern pfn_glGetVertexAttribIuiv fp_glGetVertexAttribIuiv; +typedef void (APIENTRYP pfn_glVertexAttribI1i) (GLuint, GLint); +extern pfn_glVertexAttribI1i fp_glVertexAttribI1i; +typedef void (APIENTRYP pfn_glVertexAttribI2i) (GLuint, GLint, GLint); +extern pfn_glVertexAttribI2i fp_glVertexAttribI2i; +typedef void (APIENTRYP pfn_glVertexAttribI3i) (GLuint, GLint, GLint, GLint); +extern pfn_glVertexAttribI3i fp_glVertexAttribI3i; +typedef void (APIENTRYP pfn_glVertexAttribI4i) (GLuint, GLint, GLint, GLint, GLint); +extern pfn_glVertexAttribI4i fp_glVertexAttribI4i; +typedef void (APIENTRYP pfn_glVertexAttribI1ui) (GLuint, GLuint); +extern pfn_glVertexAttribI1ui fp_glVertexAttribI1ui; +typedef void (APIENTRYP pfn_glVertexAttribI2ui) (GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI2ui fp_glVertexAttribI2ui; +typedef void (APIENTRYP pfn_glVertexAttribI3ui) (GLuint, GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI3ui fp_glVertexAttribI3ui; +typedef void (APIENTRYP pfn_glVertexAttribI4ui) (GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI4ui fp_glVertexAttribI4ui; +typedef void (APIENTRYP pfn_glVertexAttribI1iv) (GLuint, const GLint*); +extern pfn_glVertexAttribI1iv fp_glVertexAttribI1iv; +typedef void (APIENTRYP pfn_glVertexAttribI2iv) (GLuint, const GLint*); +extern pfn_glVertexAttribI2iv fp_glVertexAttribI2iv; +typedef void (APIENTRYP pfn_glVertexAttribI3iv) (GLuint, const GLint*); +extern pfn_glVertexAttribI3iv fp_glVertexAttribI3iv; +typedef void (APIENTRYP pfn_glVertexAttribI4iv) (GLuint, const GLint*); +extern pfn_glVertexAttribI4iv fp_glVertexAttribI4iv; +typedef void (APIENTRYP pfn_glVertexAttribI1uiv) (GLuint, const GLuint*); +extern pfn_glVertexAttribI1uiv fp_glVertexAttribI1uiv; +typedef void (APIENTRYP pfn_glVertexAttribI2uiv) (GLuint, const GLuint*); +extern pfn_glVertexAttribI2uiv fp_glVertexAttribI2uiv; +typedef void (APIENTRYP pfn_glVertexAttribI3uiv) (GLuint, const GLuint*); +extern pfn_glVertexAttribI3uiv fp_glVertexAttribI3uiv; +typedef void (APIENTRYP pfn_glVertexAttribI4uiv) (GLuint, const GLuint*); +extern pfn_glVertexAttribI4uiv fp_glVertexAttribI4uiv; +typedef void (APIENTRYP pfn_glVertexAttribI4bv) (GLuint, const GLbyte*); +extern pfn_glVertexAttribI4bv fp_glVertexAttribI4bv; +typedef void (APIENTRYP pfn_glVertexAttribI4sv) (GLuint, const GLshort*); +extern pfn_glVertexAttribI4sv fp_glVertexAttribI4sv; +typedef void (APIENTRYP pfn_glVertexAttribI4ubv) (GLuint, const GLubyte*); +extern pfn_glVertexAttribI4ubv fp_glVertexAttribI4ubv; +typedef void (APIENTRYP pfn_glVertexAttribI4usv) (GLuint, const GLushort*); +extern pfn_glVertexAttribI4usv fp_glVertexAttribI4usv; +typedef void (APIENTRYP pfn_glGetUniformuiv) (GLuint, GLint, GLuint*); +extern pfn_glGetUniformuiv fp_glGetUniformuiv; +typedef void (APIENTRYP pfn_glBindFragDataLocation) (GLuint, GLuint, const GLchar*); +extern pfn_glBindFragDataLocation fp_glBindFragDataLocation; +typedef GLint (APIENTRYP pfn_glGetFragDataLocation) (GLuint, const GLchar*); +extern pfn_glGetFragDataLocation fp_glGetFragDataLocation; +typedef void (APIENTRYP pfn_glUniform1ui) (GLint, GLuint); +extern pfn_glUniform1ui fp_glUniform1ui; +typedef void (APIENTRYP pfn_glUniform2ui) (GLint, GLuint, GLuint); +extern pfn_glUniform2ui fp_glUniform2ui; +typedef void (APIENTRYP pfn_glUniform3ui) (GLint, GLuint, GLuint, GLuint); +extern pfn_glUniform3ui fp_glUniform3ui; +typedef void (APIENTRYP pfn_glUniform4ui) (GLint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glUniform4ui fp_glUniform4ui; +typedef void (APIENTRYP pfn_glUniform1uiv) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform1uiv fp_glUniform1uiv; +typedef void (APIENTRYP pfn_glUniform2uiv) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform2uiv fp_glUniform2uiv; +typedef void (APIENTRYP pfn_glUniform3uiv) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform3uiv fp_glUniform3uiv; +typedef void (APIENTRYP pfn_glUniform4uiv) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform4uiv fp_glUniform4uiv; +typedef void (APIENTRYP pfn_glTexParameterIiv) (GLenum, GLenum, const GLint*); +extern pfn_glTexParameterIiv fp_glTexParameterIiv; +typedef void (APIENTRYP pfn_glTexParameterIuiv) (GLenum, GLenum, const GLuint*); +extern pfn_glTexParameterIuiv fp_glTexParameterIuiv; +typedef void (APIENTRYP pfn_glGetTexParameterIiv) (GLenum, GLenum, GLint*); +extern pfn_glGetTexParameterIiv fp_glGetTexParameterIiv; +typedef void (APIENTRYP pfn_glGetTexParameterIuiv) (GLenum, GLenum, GLuint*); +extern pfn_glGetTexParameterIuiv fp_glGetTexParameterIuiv; +typedef void (APIENTRYP pfn_glClearBufferiv) (GLenum, GLint, const GLint*); +extern pfn_glClearBufferiv fp_glClearBufferiv; +typedef void (APIENTRYP pfn_glClearBufferuiv) (GLenum, GLint, const GLuint*); +extern pfn_glClearBufferuiv fp_glClearBufferuiv; +typedef void (APIENTRYP pfn_glClearBufferfv) (GLenum, GLint, const GLfloat*); +extern pfn_glClearBufferfv fp_glClearBufferfv; +typedef void (APIENTRYP pfn_glClearBufferfi) (GLenum, GLint, GLfloat, GLint); +extern pfn_glClearBufferfi fp_glClearBufferfi; +typedef const GLubyte* (APIENTRYP pfn_glGetStringi) (GLenum, GLuint); +extern pfn_glGetStringi fp_glGetStringi; +typedef GLboolean (APIENTRYP pfn_glIsRenderbuffer) (GLuint); +extern pfn_glIsRenderbuffer fp_glIsRenderbuffer; +typedef void (APIENTRYP pfn_glBindRenderbuffer) (GLenum, GLuint); +extern pfn_glBindRenderbuffer fp_glBindRenderbuffer; +typedef void (APIENTRYP pfn_glDeleteRenderbuffers) (GLsizei, const GLuint*); +extern pfn_glDeleteRenderbuffers fp_glDeleteRenderbuffers; +typedef void (APIENTRYP pfn_glGenRenderbuffers) (GLsizei, GLuint*); +extern pfn_glGenRenderbuffers fp_glGenRenderbuffers; +typedef void (APIENTRYP pfn_glRenderbufferStorage) (GLenum, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorage fp_glRenderbufferStorage; +typedef void (APIENTRYP pfn_glGetRenderbufferParameteriv) (GLenum, GLenum, GLint*); +extern pfn_glGetRenderbufferParameteriv fp_glGetRenderbufferParameteriv; +typedef GLboolean (APIENTRYP pfn_glIsFramebuffer) (GLuint); +extern pfn_glIsFramebuffer fp_glIsFramebuffer; +typedef void (APIENTRYP pfn_glBindFramebuffer) (GLenum, GLuint); +extern pfn_glBindFramebuffer fp_glBindFramebuffer; +typedef void (APIENTRYP pfn_glDeleteFramebuffers) (GLsizei, const GLuint*); +extern pfn_glDeleteFramebuffers fp_glDeleteFramebuffers; +typedef void (APIENTRYP pfn_glGenFramebuffers) (GLsizei, GLuint*); +extern pfn_glGenFramebuffers fp_glGenFramebuffers; +typedef GLenum (APIENTRYP pfn_glCheckFramebufferStatus) (GLenum); +extern pfn_glCheckFramebufferStatus fp_glCheckFramebufferStatus; +typedef void (APIENTRYP pfn_glFramebufferTexture1D) (GLenum, GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTexture1D fp_glFramebufferTexture1D; +typedef void (APIENTRYP pfn_glFramebufferTexture2D) (GLenum, GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTexture2D fp_glFramebufferTexture2D; +typedef void (APIENTRYP pfn_glFramebufferTexture3D) (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTexture3D fp_glFramebufferTexture3D; +typedef void (APIENTRYP pfn_glFramebufferRenderbuffer) (GLenum, GLenum, GLenum, GLuint); +extern pfn_glFramebufferRenderbuffer fp_glFramebufferRenderbuffer; +typedef void (APIENTRYP pfn_glGetFramebufferAttachmentParameteriv) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetFramebufferAttachmentParameteriv fp_glGetFramebufferAttachmentParameteriv; +typedef void (APIENTRYP pfn_glGenerateMipmap) (GLenum); +extern pfn_glGenerateMipmap fp_glGenerateMipmap; +typedef void (APIENTRYP pfn_glBlitFramebuffer) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +extern pfn_glBlitFramebuffer fp_glBlitFramebuffer; +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisample fp_glRenderbufferStorageMultisample; +typedef void (APIENTRYP pfn_glFramebufferTextureLayer) (GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTextureLayer fp_glFramebufferTextureLayer; +typedef void* (APIENTRYP pfn_glMapBufferRange) (GLenum, GLintptr, GLsizeiptr, GLbitfield); +extern pfn_glMapBufferRange fp_glMapBufferRange; +typedef void (APIENTRYP pfn_glFlushMappedBufferRange) (GLenum, GLintptr, GLsizeiptr); +extern pfn_glFlushMappedBufferRange fp_glFlushMappedBufferRange; +typedef void (APIENTRYP pfn_glBindVertexArray) (GLuint); +extern pfn_glBindVertexArray fp_glBindVertexArray; +typedef void (APIENTRYP pfn_glDeleteVertexArrays) (GLsizei, const GLuint*); +extern pfn_glDeleteVertexArrays fp_glDeleteVertexArrays; +typedef void (APIENTRYP pfn_glGenVertexArrays) (GLsizei, GLuint*); +extern pfn_glGenVertexArrays fp_glGenVertexArrays; +typedef GLboolean (APIENTRYP pfn_glIsVertexArray) (GLuint); +extern pfn_glIsVertexArray fp_glIsVertexArray; + + /* GL_VERSION_3_1 */ +extern GLboolean GLAD_VERSION_3_1; +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFF +typedef void (APIENTRYP pfn_glDrawArraysInstanced) (GLenum, GLint, GLsizei, GLsizei); +extern pfn_glDrawArraysInstanced fp_glDrawArraysInstanced; +typedef void (APIENTRYP pfn_glDrawElementsInstanced) (GLenum, GLsizei, GLenum, const void*, GLsizei); +extern pfn_glDrawElementsInstanced fp_glDrawElementsInstanced; +typedef void (APIENTRYP pfn_glTexBuffer) (GLenum, GLenum, GLuint); +extern pfn_glTexBuffer fp_glTexBuffer; +typedef void (APIENTRYP pfn_glPrimitiveRestartIndex) (GLuint); +extern pfn_glPrimitiveRestartIndex fp_glPrimitiveRestartIndex; +typedef void (APIENTRYP pfn_glCopyBufferSubData) (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); +extern pfn_glCopyBufferSubData fp_glCopyBufferSubData; +typedef void (APIENTRYP pfn_glGetUniformIndices) (GLuint, GLsizei, const GLchar**, GLuint*); +extern pfn_glGetUniformIndices fp_glGetUniformIndices; +typedef void (APIENTRYP pfn_glGetActiveUniformsiv) (GLuint, GLsizei, const GLuint*, GLenum, GLint*); +extern pfn_glGetActiveUniformsiv fp_glGetActiveUniformsiv; +typedef void (APIENTRYP pfn_glGetActiveUniformName) (GLuint, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetActiveUniformName fp_glGetActiveUniformName; +typedef GLuint (APIENTRYP pfn_glGetUniformBlockIndex) (GLuint, const GLchar*); +extern pfn_glGetUniformBlockIndex fp_glGetUniformBlockIndex; +typedef void (APIENTRYP pfn_glGetActiveUniformBlockiv) (GLuint, GLuint, GLenum, GLint*); +extern pfn_glGetActiveUniformBlockiv fp_glGetActiveUniformBlockiv; +typedef void (APIENTRYP pfn_glGetActiveUniformBlockName) (GLuint, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetActiveUniformBlockName fp_glGetActiveUniformBlockName; +typedef void (APIENTRYP pfn_glUniformBlockBinding) (GLuint, GLuint, GLuint); +extern pfn_glUniformBlockBinding fp_glUniformBlockBinding; + + /* GL_VERSION_3_2 */ +extern GLboolean GLAD_VERSION_3_2; +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_DEPTH_CLAMP 0x864F +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 +typedef void (APIENTRYP pfn_glDrawElementsBaseVertex) (GLenum, GLsizei, GLenum, const void*, GLint); +extern pfn_glDrawElementsBaseVertex fp_glDrawElementsBaseVertex; +typedef void (APIENTRYP pfn_glDrawRangeElementsBaseVertex) (GLenum, GLuint, GLuint, GLsizei, GLenum, const void*, GLint); +extern pfn_glDrawRangeElementsBaseVertex fp_glDrawRangeElementsBaseVertex; +typedef void (APIENTRYP pfn_glDrawElementsInstancedBaseVertex) (GLenum, GLsizei, GLenum, const void*, GLsizei, GLint); +extern pfn_glDrawElementsInstancedBaseVertex fp_glDrawElementsInstancedBaseVertex; +typedef void (APIENTRYP pfn_glMultiDrawElementsBaseVertex) (GLenum, const GLsizei*, GLenum, const void**, GLsizei, const GLint*); +extern pfn_glMultiDrawElementsBaseVertex fp_glMultiDrawElementsBaseVertex; +typedef void (APIENTRYP pfn_glProvokingVertex) (GLenum); +extern pfn_glProvokingVertex fp_glProvokingVertex; +typedef GLsync (APIENTRYP pfn_glFenceSync) (GLenum, GLbitfield); +extern pfn_glFenceSync fp_glFenceSync; +typedef GLboolean (APIENTRYP pfn_glIsSync) (GLsync); +extern pfn_glIsSync fp_glIsSync; +typedef void (APIENTRYP pfn_glDeleteSync) (GLsync); +extern pfn_glDeleteSync fp_glDeleteSync; +typedef GLenum (APIENTRYP pfn_glClientWaitSync) (GLsync, GLbitfield, GLuint64); +extern pfn_glClientWaitSync fp_glClientWaitSync; +typedef void (APIENTRYP pfn_glWaitSync) (GLsync, GLbitfield, GLuint64); +extern pfn_glWaitSync fp_glWaitSync; +typedef void (APIENTRYP pfn_glGetInteger64v) (GLenum, GLint64*); +extern pfn_glGetInteger64v fp_glGetInteger64v; +typedef void (APIENTRYP pfn_glGetSynciv) (GLsync, GLenum, GLsizei, GLsizei*, GLint*); +extern pfn_glGetSynciv fp_glGetSynciv; +typedef void (APIENTRYP pfn_glGetInteger64i_v) (GLenum, GLuint, GLint64*); +extern pfn_glGetInteger64i_v fp_glGetInteger64i_v; +typedef void (APIENTRYP pfn_glGetBufferParameteri64v) (GLenum, GLenum, GLint64*); +extern pfn_glGetBufferParameteri64v fp_glGetBufferParameteri64v; +typedef void (APIENTRYP pfn_glFramebufferTexture) (GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTexture fp_glFramebufferTexture; +typedef void (APIENTRYP pfn_glTexImage2DMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +extern pfn_glTexImage2DMultisample fp_glTexImage2DMultisample; +typedef void (APIENTRYP pfn_glTexImage3DMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexImage3DMultisample fp_glTexImage3DMultisample; +typedef void (APIENTRYP pfn_glGetMultisamplefv) (GLenum, GLuint, GLfloat*); +extern pfn_glGetMultisamplefv fp_glGetMultisamplefv; +typedef void (APIENTRYP pfn_glSampleMaski) (GLuint, GLbitfield); +extern pfn_glSampleMaski fp_glSampleMaski; + + /* GL_VERSION_3_3 */ +extern GLboolean GLAD_VERSION_3_3; +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 +#define GL_INT_2_10_10_10_REV 0x8D9F +typedef void (APIENTRYP pfn_glBindFragDataLocationIndexed) (GLuint, GLuint, GLuint, const GLchar*); +extern pfn_glBindFragDataLocationIndexed fp_glBindFragDataLocationIndexed; +typedef GLint (APIENTRYP pfn_glGetFragDataIndex) (GLuint, const GLchar*); +extern pfn_glGetFragDataIndex fp_glGetFragDataIndex; +typedef void (APIENTRYP pfn_glGenSamplers) (GLsizei, GLuint*); +extern pfn_glGenSamplers fp_glGenSamplers; +typedef void (APIENTRYP pfn_glDeleteSamplers) (GLsizei, const GLuint*); +extern pfn_glDeleteSamplers fp_glDeleteSamplers; +typedef GLboolean (APIENTRYP pfn_glIsSampler) (GLuint); +extern pfn_glIsSampler fp_glIsSampler; +typedef void (APIENTRYP pfn_glBindSampler) (GLuint, GLuint); +extern pfn_glBindSampler fp_glBindSampler; +typedef void (APIENTRYP pfn_glSamplerParameteri) (GLuint, GLenum, GLint); +extern pfn_glSamplerParameteri fp_glSamplerParameteri; +typedef void (APIENTRYP pfn_glSamplerParameteriv) (GLuint, GLenum, const GLint*); +extern pfn_glSamplerParameteriv fp_glSamplerParameteriv; +typedef void (APIENTRYP pfn_glSamplerParameterf) (GLuint, GLenum, GLfloat); +extern pfn_glSamplerParameterf fp_glSamplerParameterf; +typedef void (APIENTRYP pfn_glSamplerParameterfv) (GLuint, GLenum, const GLfloat*); +extern pfn_glSamplerParameterfv fp_glSamplerParameterfv; +typedef void (APIENTRYP pfn_glSamplerParameterIiv) (GLuint, GLenum, const GLint*); +extern pfn_glSamplerParameterIiv fp_glSamplerParameterIiv; +typedef void (APIENTRYP pfn_glSamplerParameterIuiv) (GLuint, GLenum, const GLuint*); +extern pfn_glSamplerParameterIuiv fp_glSamplerParameterIuiv; +typedef void (APIENTRYP pfn_glGetSamplerParameteriv) (GLuint, GLenum, GLint*); +extern pfn_glGetSamplerParameteriv fp_glGetSamplerParameteriv; +typedef void (APIENTRYP pfn_glGetSamplerParameterIiv) (GLuint, GLenum, GLint*); +extern pfn_glGetSamplerParameterIiv fp_glGetSamplerParameterIiv; +typedef void (APIENTRYP pfn_glGetSamplerParameterfv) (GLuint, GLenum, GLfloat*); +extern pfn_glGetSamplerParameterfv fp_glGetSamplerParameterfv; +typedef void (APIENTRYP pfn_glGetSamplerParameterIuiv) (GLuint, GLenum, GLuint*); +extern pfn_glGetSamplerParameterIuiv fp_glGetSamplerParameterIuiv; +typedef void (APIENTRYP pfn_glQueryCounter) (GLuint, GLenum); +extern pfn_glQueryCounter fp_glQueryCounter; +typedef void (APIENTRYP pfn_glGetQueryObjecti64v) (GLuint, GLenum, GLint64*); +extern pfn_glGetQueryObjecti64v fp_glGetQueryObjecti64v; +typedef void (APIENTRYP pfn_glGetQueryObjectui64v) (GLuint, GLenum, GLuint64*); +extern pfn_glGetQueryObjectui64v fp_glGetQueryObjectui64v; +typedef void (APIENTRYP pfn_glVertexAttribDivisor) (GLuint, GLuint); +extern pfn_glVertexAttribDivisor fp_glVertexAttribDivisor; +typedef void (APIENTRYP pfn_glVertexAttribP1ui) (GLuint, GLenum, GLboolean, GLuint); +extern pfn_glVertexAttribP1ui fp_glVertexAttribP1ui; +typedef void (APIENTRYP pfn_glVertexAttribP1uiv) (GLuint, GLenum, GLboolean, const GLuint*); +extern pfn_glVertexAttribP1uiv fp_glVertexAttribP1uiv; +typedef void (APIENTRYP pfn_glVertexAttribP2ui) (GLuint, GLenum, GLboolean, GLuint); +extern pfn_glVertexAttribP2ui fp_glVertexAttribP2ui; +typedef void (APIENTRYP pfn_glVertexAttribP2uiv) (GLuint, GLenum, GLboolean, const GLuint*); +extern pfn_glVertexAttribP2uiv fp_glVertexAttribP2uiv; +typedef void (APIENTRYP pfn_glVertexAttribP3ui) (GLuint, GLenum, GLboolean, GLuint); +extern pfn_glVertexAttribP3ui fp_glVertexAttribP3ui; +typedef void (APIENTRYP pfn_glVertexAttribP3uiv) (GLuint, GLenum, GLboolean, const GLuint*); +extern pfn_glVertexAttribP3uiv fp_glVertexAttribP3uiv; +typedef void (APIENTRYP pfn_glVertexAttribP4ui) (GLuint, GLenum, GLboolean, GLuint); +extern pfn_glVertexAttribP4ui fp_glVertexAttribP4ui; +typedef void (APIENTRYP pfn_glVertexAttribP4uiv) (GLuint, GLenum, GLboolean, const GLuint*); +extern pfn_glVertexAttribP4uiv fp_glVertexAttribP4uiv; +typedef void (APIENTRYP pfn_glVertexP2ui) (GLenum, GLuint); +extern pfn_glVertexP2ui fp_glVertexP2ui; +typedef void (APIENTRYP pfn_glVertexP2uiv) (GLenum, const GLuint*); +extern pfn_glVertexP2uiv fp_glVertexP2uiv; +typedef void (APIENTRYP pfn_glVertexP3ui) (GLenum, GLuint); +extern pfn_glVertexP3ui fp_glVertexP3ui; +typedef void (APIENTRYP pfn_glVertexP3uiv) (GLenum, const GLuint*); +extern pfn_glVertexP3uiv fp_glVertexP3uiv; +typedef void (APIENTRYP pfn_glVertexP4ui) (GLenum, GLuint); +extern pfn_glVertexP4ui fp_glVertexP4ui; +typedef void (APIENTRYP pfn_glVertexP4uiv) (GLenum, const GLuint*); +extern pfn_glVertexP4uiv fp_glVertexP4uiv; +typedef void (APIENTRYP pfn_glTexCoordP1ui) (GLenum, GLuint); +extern pfn_glTexCoordP1ui fp_glTexCoordP1ui; +typedef void (APIENTRYP pfn_glTexCoordP1uiv) (GLenum, const GLuint*); +extern pfn_glTexCoordP1uiv fp_glTexCoordP1uiv; +typedef void (APIENTRYP pfn_glTexCoordP2ui) (GLenum, GLuint); +extern pfn_glTexCoordP2ui fp_glTexCoordP2ui; +typedef void (APIENTRYP pfn_glTexCoordP2uiv) (GLenum, const GLuint*); +extern pfn_glTexCoordP2uiv fp_glTexCoordP2uiv; +typedef void (APIENTRYP pfn_glTexCoordP3ui) (GLenum, GLuint); +extern pfn_glTexCoordP3ui fp_glTexCoordP3ui; +typedef void (APIENTRYP pfn_glTexCoordP3uiv) (GLenum, const GLuint*); +extern pfn_glTexCoordP3uiv fp_glTexCoordP3uiv; +typedef void (APIENTRYP pfn_glTexCoordP4ui) (GLenum, GLuint); +extern pfn_glTexCoordP4ui fp_glTexCoordP4ui; +typedef void (APIENTRYP pfn_glTexCoordP4uiv) (GLenum, const GLuint*); +extern pfn_glTexCoordP4uiv fp_glTexCoordP4uiv; +typedef void (APIENTRYP pfn_glMultiTexCoordP1ui) (GLenum, GLenum, GLuint); +extern pfn_glMultiTexCoordP1ui fp_glMultiTexCoordP1ui; +typedef void (APIENTRYP pfn_glMultiTexCoordP1uiv) (GLenum, GLenum, const GLuint*); +extern pfn_glMultiTexCoordP1uiv fp_glMultiTexCoordP1uiv; +typedef void (APIENTRYP pfn_glMultiTexCoordP2ui) (GLenum, GLenum, GLuint); +extern pfn_glMultiTexCoordP2ui fp_glMultiTexCoordP2ui; +typedef void (APIENTRYP pfn_glMultiTexCoordP2uiv) (GLenum, GLenum, const GLuint*); +extern pfn_glMultiTexCoordP2uiv fp_glMultiTexCoordP2uiv; +typedef void (APIENTRYP pfn_glMultiTexCoordP3ui) (GLenum, GLenum, GLuint); +extern pfn_glMultiTexCoordP3ui fp_glMultiTexCoordP3ui; +typedef void (APIENTRYP pfn_glMultiTexCoordP3uiv) (GLenum, GLenum, const GLuint*); +extern pfn_glMultiTexCoordP3uiv fp_glMultiTexCoordP3uiv; +typedef void (APIENTRYP pfn_glMultiTexCoordP4ui) (GLenum, GLenum, GLuint); +extern pfn_glMultiTexCoordP4ui fp_glMultiTexCoordP4ui; +typedef void (APIENTRYP pfn_glMultiTexCoordP4uiv) (GLenum, GLenum, const GLuint*); +extern pfn_glMultiTexCoordP4uiv fp_glMultiTexCoordP4uiv; +typedef void (APIENTRYP pfn_glNormalP3ui) (GLenum, GLuint); +extern pfn_glNormalP3ui fp_glNormalP3ui; +typedef void (APIENTRYP pfn_glNormalP3uiv) (GLenum, const GLuint*); +extern pfn_glNormalP3uiv fp_glNormalP3uiv; +typedef void (APIENTRYP pfn_glColorP3ui) (GLenum, GLuint); +extern pfn_glColorP3ui fp_glColorP3ui; +typedef void (APIENTRYP pfn_glColorP3uiv) (GLenum, const GLuint*); +extern pfn_glColorP3uiv fp_glColorP3uiv; +typedef void (APIENTRYP pfn_glColorP4ui) (GLenum, GLuint); +extern pfn_glColorP4ui fp_glColorP4ui; +typedef void (APIENTRYP pfn_glColorP4uiv) (GLenum, const GLuint*); +extern pfn_glColorP4uiv fp_glColorP4uiv; +typedef void (APIENTRYP pfn_glSecondaryColorP3ui) (GLenum, GLuint); +extern pfn_glSecondaryColorP3ui fp_glSecondaryColorP3ui; +typedef void (APIENTRYP pfn_glSecondaryColorP3uiv) (GLenum, const GLuint*); +extern pfn_glSecondaryColorP3uiv fp_glSecondaryColorP3uiv; + + /* GL_VERSION_4_0 */ +extern GLboolean GLAD_VERSION_4_0; +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B +#define GL_PATCHES 0x000E +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +typedef void (APIENTRYP pfn_glMinSampleShading) (GLfloat); +extern pfn_glMinSampleShading fp_glMinSampleShading; +typedef void (APIENTRYP pfn_glBlendEquationi) (GLuint, GLenum); +extern pfn_glBlendEquationi fp_glBlendEquationi; +typedef void (APIENTRYP pfn_glBlendEquationSeparatei) (GLuint, GLenum, GLenum); +extern pfn_glBlendEquationSeparatei fp_glBlendEquationSeparatei; +typedef void (APIENTRYP pfn_glBlendFunci) (GLuint, GLenum, GLenum); +extern pfn_glBlendFunci fp_glBlendFunci; +typedef void (APIENTRYP pfn_glBlendFuncSeparatei) (GLuint, GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparatei fp_glBlendFuncSeparatei; +typedef void (APIENTRYP pfn_glDrawArraysIndirect) (GLenum, const void*); +extern pfn_glDrawArraysIndirect fp_glDrawArraysIndirect; +typedef void (APIENTRYP pfn_glDrawElementsIndirect) (GLenum, GLenum, const void*); +extern pfn_glDrawElementsIndirect fp_glDrawElementsIndirect; +typedef void (APIENTRYP pfn_glUniform1d) (GLint, GLdouble); +extern pfn_glUniform1d fp_glUniform1d; +typedef void (APIENTRYP pfn_glUniform2d) (GLint, GLdouble, GLdouble); +extern pfn_glUniform2d fp_glUniform2d; +typedef void (APIENTRYP pfn_glUniform3d) (GLint, GLdouble, GLdouble, GLdouble); +extern pfn_glUniform3d fp_glUniform3d; +typedef void (APIENTRYP pfn_glUniform4d) (GLint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glUniform4d fp_glUniform4d; +typedef void (APIENTRYP pfn_glUniform1dv) (GLint, GLsizei, const GLdouble*); +extern pfn_glUniform1dv fp_glUniform1dv; +typedef void (APIENTRYP pfn_glUniform2dv) (GLint, GLsizei, const GLdouble*); +extern pfn_glUniform2dv fp_glUniform2dv; +typedef void (APIENTRYP pfn_glUniform3dv) (GLint, GLsizei, const GLdouble*); +extern pfn_glUniform3dv fp_glUniform3dv; +typedef void (APIENTRYP pfn_glUniform4dv) (GLint, GLsizei, const GLdouble*); +extern pfn_glUniform4dv fp_glUniform4dv; +typedef void (APIENTRYP pfn_glUniformMatrix2dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix2dv fp_glUniformMatrix2dv; +typedef void (APIENTRYP pfn_glUniformMatrix3dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix3dv fp_glUniformMatrix3dv; +typedef void (APIENTRYP pfn_glUniformMatrix4dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix4dv fp_glUniformMatrix4dv; +typedef void (APIENTRYP pfn_glUniformMatrix2x3dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix2x3dv fp_glUniformMatrix2x3dv; +typedef void (APIENTRYP pfn_glUniformMatrix2x4dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix2x4dv fp_glUniformMatrix2x4dv; +typedef void (APIENTRYP pfn_glUniformMatrix3x2dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix3x2dv fp_glUniformMatrix3x2dv; +typedef void (APIENTRYP pfn_glUniformMatrix3x4dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix3x4dv fp_glUniformMatrix3x4dv; +typedef void (APIENTRYP pfn_glUniformMatrix4x2dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix4x2dv fp_glUniformMatrix4x2dv; +typedef void (APIENTRYP pfn_glUniformMatrix4x3dv) (GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glUniformMatrix4x3dv fp_glUniformMatrix4x3dv; +typedef void (APIENTRYP pfn_glGetUniformdv) (GLuint, GLint, GLdouble*); +extern pfn_glGetUniformdv fp_glGetUniformdv; +typedef GLint (APIENTRYP pfn_glGetSubroutineUniformLocation) (GLuint, GLenum, const GLchar*); +extern pfn_glGetSubroutineUniformLocation fp_glGetSubroutineUniformLocation; +typedef GLuint (APIENTRYP pfn_glGetSubroutineIndex) (GLuint, GLenum, const GLchar*); +extern pfn_glGetSubroutineIndex fp_glGetSubroutineIndex; +typedef void (APIENTRYP pfn_glGetActiveSubroutineUniformiv) (GLuint, GLenum, GLuint, GLenum, GLint*); +extern pfn_glGetActiveSubroutineUniformiv fp_glGetActiveSubroutineUniformiv; +typedef void (APIENTRYP pfn_glGetActiveSubroutineUniformName) (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetActiveSubroutineUniformName fp_glGetActiveSubroutineUniformName; +typedef void (APIENTRYP pfn_glGetActiveSubroutineName) (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetActiveSubroutineName fp_glGetActiveSubroutineName; +typedef void (APIENTRYP pfn_glUniformSubroutinesuiv) (GLenum, GLsizei, const GLuint*); +extern pfn_glUniformSubroutinesuiv fp_glUniformSubroutinesuiv; +typedef void (APIENTRYP pfn_glGetUniformSubroutineuiv) (GLenum, GLint, GLuint*); +extern pfn_glGetUniformSubroutineuiv fp_glGetUniformSubroutineuiv; +typedef void (APIENTRYP pfn_glGetProgramStageiv) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetProgramStageiv fp_glGetProgramStageiv; +typedef void (APIENTRYP pfn_glPatchParameteri) (GLenum, GLint); +extern pfn_glPatchParameteri fp_glPatchParameteri; +typedef void (APIENTRYP pfn_glPatchParameterfv) (GLenum, const GLfloat*); +extern pfn_glPatchParameterfv fp_glPatchParameterfv; +typedef void (APIENTRYP pfn_glBindTransformFeedback) (GLenum, GLuint); +extern pfn_glBindTransformFeedback fp_glBindTransformFeedback; +typedef void (APIENTRYP pfn_glDeleteTransformFeedbacks) (GLsizei, const GLuint*); +extern pfn_glDeleteTransformFeedbacks fp_glDeleteTransformFeedbacks; +typedef void (APIENTRYP pfn_glGenTransformFeedbacks) (GLsizei, GLuint*); +extern pfn_glGenTransformFeedbacks fp_glGenTransformFeedbacks; +typedef GLboolean (APIENTRYP pfn_glIsTransformFeedback) (GLuint); +extern pfn_glIsTransformFeedback fp_glIsTransformFeedback; +typedef void (APIENTRYP pfn_glPauseTransformFeedback) (); +extern pfn_glPauseTransformFeedback fp_glPauseTransformFeedback; +typedef void (APIENTRYP pfn_glResumeTransformFeedback) (); +extern pfn_glResumeTransformFeedback fp_glResumeTransformFeedback; +typedef void (APIENTRYP pfn_glDrawTransformFeedback) (GLenum, GLuint); +extern pfn_glDrawTransformFeedback fp_glDrawTransformFeedback; +typedef void (APIENTRYP pfn_glDrawTransformFeedbackStream) (GLenum, GLuint, GLuint); +extern pfn_glDrawTransformFeedbackStream fp_glDrawTransformFeedbackStream; +typedef void (APIENTRYP pfn_glBeginQueryIndexed) (GLenum, GLuint, GLuint); +extern pfn_glBeginQueryIndexed fp_glBeginQueryIndexed; +typedef void (APIENTRYP pfn_glEndQueryIndexed) (GLenum, GLuint); +extern pfn_glEndQueryIndexed fp_glEndQueryIndexed; +typedef void (APIENTRYP pfn_glGetQueryIndexediv) (GLenum, GLuint, GLenum, GLint*); +extern pfn_glGetQueryIndexediv fp_glGetQueryIndexediv; + + /* GL_VERSION_4_1 */ +extern GLboolean GLAD_VERSION_4_1; +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_RGB565 0x8D62 +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_ALL_SHADER_BITS 0xFFFFFFFF +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 +typedef void (APIENTRYP pfn_glReleaseShaderCompiler) (); +extern pfn_glReleaseShaderCompiler fp_glReleaseShaderCompiler; +typedef void (APIENTRYP pfn_glShaderBinary) (GLsizei, const GLuint*, GLenum, const void*, GLsizei); +extern pfn_glShaderBinary fp_glShaderBinary; +typedef void (APIENTRYP pfn_glGetShaderPrecisionFormat) (GLenum, GLenum, GLint*, GLint*); +extern pfn_glGetShaderPrecisionFormat fp_glGetShaderPrecisionFormat; +typedef void (APIENTRYP pfn_glDepthRangef) (GLfloat, GLfloat); +extern pfn_glDepthRangef fp_glDepthRangef; +typedef void (APIENTRYP pfn_glClearDepthf) (GLfloat); +extern pfn_glClearDepthf fp_glClearDepthf; +typedef void (APIENTRYP pfn_glGetProgramBinary) (GLuint, GLsizei, GLsizei*, GLenum*, void*); +extern pfn_glGetProgramBinary fp_glGetProgramBinary; +typedef void (APIENTRYP pfn_glProgramBinary) (GLuint, GLenum, const void*, GLsizei); +extern pfn_glProgramBinary fp_glProgramBinary; +typedef void (APIENTRYP pfn_glProgramParameteri) (GLuint, GLenum, GLint); +extern pfn_glProgramParameteri fp_glProgramParameteri; +typedef void (APIENTRYP pfn_glUseProgramStages) (GLuint, GLbitfield, GLuint); +extern pfn_glUseProgramStages fp_glUseProgramStages; +typedef void (APIENTRYP pfn_glActiveShaderProgram) (GLuint, GLuint); +extern pfn_glActiveShaderProgram fp_glActiveShaderProgram; +typedef GLuint (APIENTRYP pfn_glCreateShaderProgramv) (GLenum, GLsizei, const GLchar**); +extern pfn_glCreateShaderProgramv fp_glCreateShaderProgramv; +typedef void (APIENTRYP pfn_glBindProgramPipeline) (GLuint); +extern pfn_glBindProgramPipeline fp_glBindProgramPipeline; +typedef void (APIENTRYP pfn_glDeleteProgramPipelines) (GLsizei, const GLuint*); +extern pfn_glDeleteProgramPipelines fp_glDeleteProgramPipelines; +typedef void (APIENTRYP pfn_glGenProgramPipelines) (GLsizei, GLuint*); +extern pfn_glGenProgramPipelines fp_glGenProgramPipelines; +typedef GLboolean (APIENTRYP pfn_glIsProgramPipeline) (GLuint); +extern pfn_glIsProgramPipeline fp_glIsProgramPipeline; +typedef void (APIENTRYP pfn_glGetProgramPipelineiv) (GLuint, GLenum, GLint*); +extern pfn_glGetProgramPipelineiv fp_glGetProgramPipelineiv; +typedef void (APIENTRYP pfn_glProgramUniform1i) (GLuint, GLint, GLint); +extern pfn_glProgramUniform1i fp_glProgramUniform1i; +typedef void (APIENTRYP pfn_glProgramUniform1iv) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform1iv fp_glProgramUniform1iv; +typedef void (APIENTRYP pfn_glProgramUniform1f) (GLuint, GLint, GLfloat); +extern pfn_glProgramUniform1f fp_glProgramUniform1f; +typedef void (APIENTRYP pfn_glProgramUniform1fv) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform1fv fp_glProgramUniform1fv; +typedef void (APIENTRYP pfn_glProgramUniform1d) (GLuint, GLint, GLdouble); +extern pfn_glProgramUniform1d fp_glProgramUniform1d; +typedef void (APIENTRYP pfn_glProgramUniform1dv) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform1dv fp_glProgramUniform1dv; +typedef void (APIENTRYP pfn_glProgramUniform1ui) (GLuint, GLint, GLuint); +extern pfn_glProgramUniform1ui fp_glProgramUniform1ui; +typedef void (APIENTRYP pfn_glProgramUniform1uiv) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform1uiv fp_glProgramUniform1uiv; +typedef void (APIENTRYP pfn_glProgramUniform2i) (GLuint, GLint, GLint, GLint); +extern pfn_glProgramUniform2i fp_glProgramUniform2i; +typedef void (APIENTRYP pfn_glProgramUniform2iv) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform2iv fp_glProgramUniform2iv; +typedef void (APIENTRYP pfn_glProgramUniform2f) (GLuint, GLint, GLfloat, GLfloat); +extern pfn_glProgramUniform2f fp_glProgramUniform2f; +typedef void (APIENTRYP pfn_glProgramUniform2fv) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform2fv fp_glProgramUniform2fv; +typedef void (APIENTRYP pfn_glProgramUniform2d) (GLuint, GLint, GLdouble, GLdouble); +extern pfn_glProgramUniform2d fp_glProgramUniform2d; +typedef void (APIENTRYP pfn_glProgramUniform2dv) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform2dv fp_glProgramUniform2dv; +typedef void (APIENTRYP pfn_glProgramUniform2ui) (GLuint, GLint, GLuint, GLuint); +extern pfn_glProgramUniform2ui fp_glProgramUniform2ui; +typedef void (APIENTRYP pfn_glProgramUniform2uiv) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform2uiv fp_glProgramUniform2uiv; +typedef void (APIENTRYP pfn_glProgramUniform3i) (GLuint, GLint, GLint, GLint, GLint); +extern pfn_glProgramUniform3i fp_glProgramUniform3i; +typedef void (APIENTRYP pfn_glProgramUniform3iv) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform3iv fp_glProgramUniform3iv; +typedef void (APIENTRYP pfn_glProgramUniform3f) (GLuint, GLint, GLfloat, GLfloat, GLfloat); +extern pfn_glProgramUniform3f fp_glProgramUniform3f; +typedef void (APIENTRYP pfn_glProgramUniform3fv) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform3fv fp_glProgramUniform3fv; +typedef void (APIENTRYP pfn_glProgramUniform3d) (GLuint, GLint, GLdouble, GLdouble, GLdouble); +extern pfn_glProgramUniform3d fp_glProgramUniform3d; +typedef void (APIENTRYP pfn_glProgramUniform3dv) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform3dv fp_glProgramUniform3dv; +typedef void (APIENTRYP pfn_glProgramUniform3ui) (GLuint, GLint, GLuint, GLuint, GLuint); +extern pfn_glProgramUniform3ui fp_glProgramUniform3ui; +typedef void (APIENTRYP pfn_glProgramUniform3uiv) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform3uiv fp_glProgramUniform3uiv; +typedef void (APIENTRYP pfn_glProgramUniform4i) (GLuint, GLint, GLint, GLint, GLint, GLint); +extern pfn_glProgramUniform4i fp_glProgramUniform4i; +typedef void (APIENTRYP pfn_glProgramUniform4iv) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform4iv fp_glProgramUniform4iv; +typedef void (APIENTRYP pfn_glProgramUniform4f) (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glProgramUniform4f fp_glProgramUniform4f; +typedef void (APIENTRYP pfn_glProgramUniform4fv) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform4fv fp_glProgramUniform4fv; +typedef void (APIENTRYP pfn_glProgramUniform4d) (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glProgramUniform4d fp_glProgramUniform4d; +typedef void (APIENTRYP pfn_glProgramUniform4dv) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform4dv fp_glProgramUniform4dv; +typedef void (APIENTRYP pfn_glProgramUniform4ui) (GLuint, GLint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glProgramUniform4ui fp_glProgramUniform4ui; +typedef void (APIENTRYP pfn_glProgramUniform4uiv) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform4uiv fp_glProgramUniform4uiv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2fv fp_glProgramUniformMatrix2fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3fv fp_glProgramUniformMatrix3fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4fv fp_glProgramUniformMatrix4fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2dv fp_glProgramUniformMatrix2dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3dv fp_glProgramUniformMatrix3dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4dv fp_glProgramUniformMatrix4dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x3fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2x3fv fp_glProgramUniformMatrix2x3fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x2fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3x2fv fp_glProgramUniformMatrix3x2fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x4fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2x4fv fp_glProgramUniformMatrix2x4fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x2fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4x2fv fp_glProgramUniformMatrix4x2fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x4fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3x4fv fp_glProgramUniformMatrix3x4fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x3fv) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4x3fv fp_glProgramUniformMatrix4x3fv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x3dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2x3dv fp_glProgramUniformMatrix2x3dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x2dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3x2dv fp_glProgramUniformMatrix3x2dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x4dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2x4dv fp_glProgramUniformMatrix2x4dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x2dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4x2dv fp_glProgramUniformMatrix4x2dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x4dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3x4dv fp_glProgramUniformMatrix3x4dv; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x3dv) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4x3dv fp_glProgramUniformMatrix4x3dv; +typedef void (APIENTRYP pfn_glValidateProgramPipeline) (GLuint); +extern pfn_glValidateProgramPipeline fp_glValidateProgramPipeline; +typedef void (APIENTRYP pfn_glGetProgramPipelineInfoLog) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetProgramPipelineInfoLog fp_glGetProgramPipelineInfoLog; +typedef void (APIENTRYP pfn_glVertexAttribL1d) (GLuint, GLdouble); +extern pfn_glVertexAttribL1d fp_glVertexAttribL1d; +typedef void (APIENTRYP pfn_glVertexAttribL2d) (GLuint, GLdouble, GLdouble); +extern pfn_glVertexAttribL2d fp_glVertexAttribL2d; +typedef void (APIENTRYP pfn_glVertexAttribL3d) (GLuint, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttribL3d fp_glVertexAttribL3d; +typedef void (APIENTRYP pfn_glVertexAttribL4d) (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttribL4d fp_glVertexAttribL4d; +typedef void (APIENTRYP pfn_glVertexAttribL1dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL1dv fp_glVertexAttribL1dv; +typedef void (APIENTRYP pfn_glVertexAttribL2dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL2dv fp_glVertexAttribL2dv; +typedef void (APIENTRYP pfn_glVertexAttribL3dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL3dv fp_glVertexAttribL3dv; +typedef void (APIENTRYP pfn_glVertexAttribL4dv) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL4dv fp_glVertexAttribL4dv; +typedef void (APIENTRYP pfn_glVertexAttribLPointer) (GLuint, GLint, GLenum, GLsizei, const void*); +extern pfn_glVertexAttribLPointer fp_glVertexAttribLPointer; +typedef void (APIENTRYP pfn_glGetVertexAttribLdv) (GLuint, GLenum, GLdouble*); +extern pfn_glGetVertexAttribLdv fp_glGetVertexAttribLdv; +typedef void (APIENTRYP pfn_glViewportArrayv) (GLuint, GLsizei, const GLfloat*); +extern pfn_glViewportArrayv fp_glViewportArrayv; +typedef void (APIENTRYP pfn_glViewportIndexedf) (GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glViewportIndexedf fp_glViewportIndexedf; +typedef void (APIENTRYP pfn_glViewportIndexedfv) (GLuint, const GLfloat*); +extern pfn_glViewportIndexedfv fp_glViewportIndexedfv; +typedef void (APIENTRYP pfn_glScissorArrayv) (GLuint, GLsizei, const GLint*); +extern pfn_glScissorArrayv fp_glScissorArrayv; +typedef void (APIENTRYP pfn_glScissorIndexed) (GLuint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glScissorIndexed fp_glScissorIndexed; +typedef void (APIENTRYP pfn_glScissorIndexedv) (GLuint, const GLint*); +extern pfn_glScissorIndexedv fp_glScissorIndexedv; +typedef void (APIENTRYP pfn_glDepthRangeArrayv) (GLuint, GLsizei, const GLdouble*); +extern pfn_glDepthRangeArrayv fp_glDepthRangeArrayv; +typedef void (APIENTRYP pfn_glDepthRangeIndexed) (GLuint, GLdouble, GLdouble); +extern pfn_glDepthRangeIndexed fp_glDepthRangeIndexed; +typedef void (APIENTRYP pfn_glGetFloati_v) (GLenum, GLuint, GLfloat*); +extern pfn_glGetFloati_v fp_glGetFloati_v; +typedef void (APIENTRYP pfn_glGetDoublei_v) (GLenum, GLuint, GLdouble*); +extern pfn_glGetDoublei_v fp_glGetDoublei_v; + + /* GL_VERSION_4_2 */ +extern GLboolean GLAD_VERSION_4_2; +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E +#define GL_NUM_SAMPLE_COUNTS 0x9380 +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F +typedef void (APIENTRYP pfn_glDrawArraysInstancedBaseInstance) (GLenum, GLint, GLsizei, GLsizei, GLuint); +extern pfn_glDrawArraysInstancedBaseInstance fp_glDrawArraysInstancedBaseInstance; +typedef void (APIENTRYP pfn_glDrawElementsInstancedBaseInstance) (GLenum, GLsizei, GLenum, const void*, GLsizei, GLuint); +extern pfn_glDrawElementsInstancedBaseInstance fp_glDrawElementsInstancedBaseInstance; +typedef void (APIENTRYP pfn_glDrawElementsInstancedBaseVertexBaseInstance) (GLenum, GLsizei, GLenum, const void*, GLsizei, GLint, GLuint); +extern pfn_glDrawElementsInstancedBaseVertexBaseInstance fp_glDrawElementsInstancedBaseVertexBaseInstance; +typedef void (APIENTRYP pfn_glGetInternalformativ) (GLenum, GLenum, GLenum, GLsizei, GLint*); +extern pfn_glGetInternalformativ fp_glGetInternalformativ; +typedef void (APIENTRYP pfn_glGetActiveAtomicCounterBufferiv) (GLuint, GLuint, GLenum, GLint*); +extern pfn_glGetActiveAtomicCounterBufferiv fp_glGetActiveAtomicCounterBufferiv; +typedef void (APIENTRYP pfn_glBindImageTexture) (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); +extern pfn_glBindImageTexture fp_glBindImageTexture; +typedef void (APIENTRYP pfn_glMemoryBarrier) (GLbitfield); +extern pfn_glMemoryBarrier fp_glMemoryBarrier; +typedef void (APIENTRYP pfn_glTexStorage1D) (GLenum, GLsizei, GLenum, GLsizei); +extern pfn_glTexStorage1D fp_glTexStorage1D; +typedef void (APIENTRYP pfn_glTexStorage2D) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glTexStorage2D fp_glTexStorage2D; +typedef void (APIENTRYP pfn_glTexStorage3D) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +extern pfn_glTexStorage3D fp_glTexStorage3D; +typedef void (APIENTRYP pfn_glDrawTransformFeedbackInstanced) (GLenum, GLuint, GLsizei); +extern pfn_glDrawTransformFeedbackInstanced fp_glDrawTransformFeedbackInstanced; +typedef void (APIENTRYP pfn_glDrawTransformFeedbackStreamInstanced) (GLenum, GLuint, GLuint, GLsizei); +extern pfn_glDrawTransformFeedbackStreamInstanced fp_glDrawTransformFeedbackStreamInstanced; + + /* GL_VERSION_4_3 */ +extern GLboolean GLAD_VERSION_4_3; +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_BUFFER 0x82E0 +#define GL_SHADER 0x82E1 +#define GL_PROGRAM 0x82E2 +#define GL_QUERY 0x82E3 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_SAMPLER 0x82E6 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_DEBUG_OUTPUT 0x92E0 +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_MAX_UNIFORM_LOCATIONS 0x826E +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_MAX_WIDTH 0x827E +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_MIPMAP 0x8293 +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_COLOR_ENCODING 0x8296 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_FILTER 0x829A +#define GL_VERTEX_TEXTURE 0x829B +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_NAME_LENGTH 0x92F9 +#define GL_TYPE 0x92FA +#define GL_ARRAY_SIZE 0x92FB +#define GL_OFFSET 0x92FC +#define GL_BLOCK_INDEX 0x92FD +#define GL_ARRAY_STRIDE 0x92FE +#define GL_MATRIX_STRIDE 0x92FF +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_LOCATION 0x930E +#define GL_LOCATION_INDEX 0x930F +#define GL_IS_PER_PATCH 0x92E7 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF +#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F +#define GL_DISPLAY_LIST 0x82E7 +typedef void (APIENTRYP pfn_glClearBufferData) (GLenum, GLenum, GLenum, GLenum, const void*); +extern pfn_glClearBufferData fp_glClearBufferData; +typedef void (APIENTRYP pfn_glClearBufferSubData) (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void*); +extern pfn_glClearBufferSubData fp_glClearBufferSubData; +typedef void (APIENTRYP pfn_glDispatchCompute) (GLuint, GLuint, GLuint); +extern pfn_glDispatchCompute fp_glDispatchCompute; +typedef void (APIENTRYP pfn_glDispatchComputeIndirect) (GLintptr); +extern pfn_glDispatchComputeIndirect fp_glDispatchComputeIndirect; +typedef void (APIENTRYP pfn_glCopyImageSubData) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +extern pfn_glCopyImageSubData fp_glCopyImageSubData; +typedef void (APIENTRYP pfn_glFramebufferParameteri) (GLenum, GLenum, GLint); +extern pfn_glFramebufferParameteri fp_glFramebufferParameteri; +typedef void (APIENTRYP pfn_glGetFramebufferParameteriv) (GLenum, GLenum, GLint*); +extern pfn_glGetFramebufferParameteriv fp_glGetFramebufferParameteriv; +typedef void (APIENTRYP pfn_glGetInternalformati64v) (GLenum, GLenum, GLenum, GLsizei, GLint64*); +extern pfn_glGetInternalformati64v fp_glGetInternalformati64v; +typedef void (APIENTRYP pfn_glInvalidateTexSubImage) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +extern pfn_glInvalidateTexSubImage fp_glInvalidateTexSubImage; +typedef void (APIENTRYP pfn_glInvalidateTexImage) (GLuint, GLint); +extern pfn_glInvalidateTexImage fp_glInvalidateTexImage; +typedef void (APIENTRYP pfn_glInvalidateBufferSubData) (GLuint, GLintptr, GLsizeiptr); +extern pfn_glInvalidateBufferSubData fp_glInvalidateBufferSubData; +typedef void (APIENTRYP pfn_glInvalidateBufferData) (GLuint); +extern pfn_glInvalidateBufferData fp_glInvalidateBufferData; +typedef void (APIENTRYP pfn_glInvalidateFramebuffer) (GLenum, GLsizei, const GLenum*); +extern pfn_glInvalidateFramebuffer fp_glInvalidateFramebuffer; +typedef void (APIENTRYP pfn_glInvalidateSubFramebuffer) (GLenum, GLsizei, const GLenum*, GLint, GLint, GLsizei, GLsizei); +extern pfn_glInvalidateSubFramebuffer fp_glInvalidateSubFramebuffer; +typedef void (APIENTRYP pfn_glMultiDrawArraysIndirect) (GLenum, const void*, GLsizei, GLsizei); +extern pfn_glMultiDrawArraysIndirect fp_glMultiDrawArraysIndirect; +typedef void (APIENTRYP pfn_glMultiDrawElementsIndirect) (GLenum, GLenum, const void*, GLsizei, GLsizei); +extern pfn_glMultiDrawElementsIndirect fp_glMultiDrawElementsIndirect; +typedef void (APIENTRYP pfn_glGetProgramInterfaceiv) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetProgramInterfaceiv fp_glGetProgramInterfaceiv; +typedef GLuint (APIENTRYP pfn_glGetProgramResourceIndex) (GLuint, GLenum, const GLchar*); +extern pfn_glGetProgramResourceIndex fp_glGetProgramResourceIndex; +typedef void (APIENTRYP pfn_glGetProgramResourceName) (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetProgramResourceName fp_glGetProgramResourceName; +typedef void (APIENTRYP pfn_glGetProgramResourceiv) (GLuint, GLenum, GLuint, GLsizei, const GLenum*, GLsizei, GLsizei*, GLint*); +extern pfn_glGetProgramResourceiv fp_glGetProgramResourceiv; +typedef GLint (APIENTRYP pfn_glGetProgramResourceLocation) (GLuint, GLenum, const GLchar*); +extern pfn_glGetProgramResourceLocation fp_glGetProgramResourceLocation; +typedef GLint (APIENTRYP pfn_glGetProgramResourceLocationIndex) (GLuint, GLenum, const GLchar*); +extern pfn_glGetProgramResourceLocationIndex fp_glGetProgramResourceLocationIndex; +typedef void (APIENTRYP pfn_glShaderStorageBlockBinding) (GLuint, GLuint, GLuint); +extern pfn_glShaderStorageBlockBinding fp_glShaderStorageBlockBinding; +typedef void (APIENTRYP pfn_glTexBufferRange) (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); +extern pfn_glTexBufferRange fp_glTexBufferRange; +typedef void (APIENTRYP pfn_glTexStorage2DMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +extern pfn_glTexStorage2DMultisample fp_glTexStorage2DMultisample; +typedef void (APIENTRYP pfn_glTexStorage3DMultisample) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexStorage3DMultisample fp_glTexStorage3DMultisample; +typedef void (APIENTRYP pfn_glTextureView) (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); +extern pfn_glTextureView fp_glTextureView; +typedef void (APIENTRYP pfn_glBindVertexBuffer) (GLuint, GLuint, GLintptr, GLsizei); +extern pfn_glBindVertexBuffer fp_glBindVertexBuffer; +typedef void (APIENTRYP pfn_glVertexAttribFormat) (GLuint, GLint, GLenum, GLboolean, GLuint); +extern pfn_glVertexAttribFormat fp_glVertexAttribFormat; +typedef void (APIENTRYP pfn_glVertexAttribIFormat) (GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexAttribIFormat fp_glVertexAttribIFormat; +typedef void (APIENTRYP pfn_glVertexAttribLFormat) (GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexAttribLFormat fp_glVertexAttribLFormat; +typedef void (APIENTRYP pfn_glVertexAttribBinding) (GLuint, GLuint); +extern pfn_glVertexAttribBinding fp_glVertexAttribBinding; +typedef void (APIENTRYP pfn_glVertexBindingDivisor) (GLuint, GLuint); +extern pfn_glVertexBindingDivisor fp_glVertexBindingDivisor; +typedef void (APIENTRYP pfn_glDebugMessageControl) (GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean); +extern pfn_glDebugMessageControl fp_glDebugMessageControl; +typedef void (APIENTRYP pfn_glDebugMessageInsert) (GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*); +extern pfn_glDebugMessageInsert fp_glDebugMessageInsert; +typedef void (APIENTRYP pfn_glDebugMessageCallback) (GLDEBUGPROC, const void*); +extern pfn_glDebugMessageCallback fp_glDebugMessageCallback; +typedef GLuint (APIENTRYP pfn_glGetDebugMessageLog) (GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*); +extern pfn_glGetDebugMessageLog fp_glGetDebugMessageLog; +typedef void (APIENTRYP pfn_glPushDebugGroup) (GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glPushDebugGroup fp_glPushDebugGroup; +typedef void (APIENTRYP pfn_glPopDebugGroup) (); +extern pfn_glPopDebugGroup fp_glPopDebugGroup; +typedef void (APIENTRYP pfn_glObjectLabel) (GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glObjectLabel fp_glObjectLabel; +typedef void (APIENTRYP pfn_glGetObjectLabel) (GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetObjectLabel fp_glGetObjectLabel; +typedef void (APIENTRYP pfn_glObjectPtrLabel) (const void*, GLsizei, const GLchar*); +extern pfn_glObjectPtrLabel fp_glObjectPtrLabel; +typedef void (APIENTRYP pfn_glGetObjectPtrLabel) (const void*, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetObjectPtrLabel fp_glGetObjectPtrLabel; + + /* GL_VERSION_4_4 */ +extern GLboolean GLAD_VERSION_4_4; +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A +#define GL_MAP_PERSISTENT_BIT 0x0040 +#define GL_MAP_COHERENT_BIT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 +#define GL_CLEAR_TEXTURE 0x9365 +#define GL_LOCATION_COMPONENT 0x934A +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 +typedef void (APIENTRYP pfn_glBufferStorage) (GLenum, GLsizeiptr, const void*, GLbitfield); +extern pfn_glBufferStorage fp_glBufferStorage; +typedef void (APIENTRYP pfn_glClearTexImage) (GLuint, GLint, GLenum, GLenum, const void*); +extern pfn_glClearTexImage fp_glClearTexImage; +typedef void (APIENTRYP pfn_glClearTexSubImage) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glClearTexSubImage fp_glClearTexSubImage; +typedef void (APIENTRYP pfn_glBindBuffersBase) (GLenum, GLuint, GLsizei, const GLuint*); +extern pfn_glBindBuffersBase fp_glBindBuffersBase; +typedef void (APIENTRYP pfn_glBindBuffersRange) (GLenum, GLuint, GLsizei, const GLuint*, const GLintptr*, const GLsizeiptr*); +extern pfn_glBindBuffersRange fp_glBindBuffersRange; +typedef void (APIENTRYP pfn_glBindTextures) (GLuint, GLsizei, const GLuint*); +extern pfn_glBindTextures fp_glBindTextures; +typedef void (APIENTRYP pfn_glBindSamplers) (GLuint, GLsizei, const GLuint*); +extern pfn_glBindSamplers fp_glBindSamplers; +typedef void (APIENTRYP pfn_glBindImageTextures) (GLuint, GLsizei, const GLuint*); +extern pfn_glBindImageTextures fp_glBindImageTextures; +typedef void (APIENTRYP pfn_glBindVertexBuffers) (GLuint, GLsizei, const GLuint*, const GLintptr*, const GLsizei*); +extern pfn_glBindVertexBuffers fp_glBindVertexBuffers; + + /* GL_VERSION_4_5 */ +extern GLboolean GLAD_VERSION_4_5; +#define GL_CONTEXT_LOST 0x0507 +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_ZERO_TO_ONE 0x935F +#define GL_CLIP_ORIGIN 0x935C +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA +#define GL_TEXTURE_TARGET 0x1006 +#define GL_QUERY_TARGET 0x82EA +#define GL_TEXTURE_BINDING 0x82EB +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 +#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC +typedef void (APIENTRYP pfn_glClipControl) (GLenum, GLenum); +extern pfn_glClipControl fp_glClipControl; +typedef void (APIENTRYP pfn_glCreateTransformFeedbacks) (GLsizei, GLuint*); +extern pfn_glCreateTransformFeedbacks fp_glCreateTransformFeedbacks; +typedef void (APIENTRYP pfn_glTransformFeedbackBufferBase) (GLuint, GLuint, GLuint); +extern pfn_glTransformFeedbackBufferBase fp_glTransformFeedbackBufferBase; +typedef void (APIENTRYP pfn_glTransformFeedbackBufferRange) (GLuint, GLuint, GLuint, GLintptr, GLsizei); +extern pfn_glTransformFeedbackBufferRange fp_glTransformFeedbackBufferRange; +typedef void (APIENTRYP pfn_glGetTransformFeedbackiv) (GLuint, GLenum, GLint*); +extern pfn_glGetTransformFeedbackiv fp_glGetTransformFeedbackiv; +typedef void (APIENTRYP pfn_glGetTransformFeedbacki_v) (GLuint, GLenum, GLuint, GLint*); +extern pfn_glGetTransformFeedbacki_v fp_glGetTransformFeedbacki_v; +typedef void (APIENTRYP pfn_glGetTransformFeedbacki64_v) (GLuint, GLenum, GLuint, GLint64*); +extern pfn_glGetTransformFeedbacki64_v fp_glGetTransformFeedbacki64_v; +typedef void (APIENTRYP pfn_glCreateBuffers) (GLsizei, GLuint*); +extern pfn_glCreateBuffers fp_glCreateBuffers; +typedef void (APIENTRYP pfn_glNamedBufferStorage) (GLuint, GLsizei, const void*, GLbitfield); +extern pfn_glNamedBufferStorage fp_glNamedBufferStorage; +typedef void (APIENTRYP pfn_glNamedBufferData) (GLuint, GLsizei, const void*, GLenum); +extern pfn_glNamedBufferData fp_glNamedBufferData; +typedef void (APIENTRYP pfn_glNamedBufferSubData) (GLuint, GLintptr, GLsizei, const void*); +extern pfn_glNamedBufferSubData fp_glNamedBufferSubData; +typedef void (APIENTRYP pfn_glCopyNamedBufferSubData) (GLuint, GLuint, GLintptr, GLintptr, GLsizei); +extern pfn_glCopyNamedBufferSubData fp_glCopyNamedBufferSubData; +typedef void (APIENTRYP pfn_glClearNamedBufferData) (GLuint, GLenum, GLenum, GLenum, const void*); +extern pfn_glClearNamedBufferData fp_glClearNamedBufferData; +typedef void (APIENTRYP pfn_glClearNamedBufferSubData) (GLuint, GLenum, GLintptr, GLsizei, GLenum, GLenum, const void*); +extern pfn_glClearNamedBufferSubData fp_glClearNamedBufferSubData; +typedef void* (APIENTRYP pfn_glMapNamedBuffer) (GLuint, GLenum); +extern pfn_glMapNamedBuffer fp_glMapNamedBuffer; +typedef void* (APIENTRYP pfn_glMapNamedBufferRange) (GLuint, GLintptr, GLsizei, GLbitfield); +extern pfn_glMapNamedBufferRange fp_glMapNamedBufferRange; +typedef GLboolean (APIENTRYP pfn_glUnmapNamedBuffer) (GLuint); +extern pfn_glUnmapNamedBuffer fp_glUnmapNamedBuffer; +typedef void (APIENTRYP pfn_glFlushMappedNamedBufferRange) (GLuint, GLintptr, GLsizei); +extern pfn_glFlushMappedNamedBufferRange fp_glFlushMappedNamedBufferRange; +typedef void (APIENTRYP pfn_glGetNamedBufferParameteriv) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedBufferParameteriv fp_glGetNamedBufferParameteriv; +typedef void (APIENTRYP pfn_glGetNamedBufferParameteri64v) (GLuint, GLenum, GLint64*); +extern pfn_glGetNamedBufferParameteri64v fp_glGetNamedBufferParameteri64v; +typedef void (APIENTRYP pfn_glGetNamedBufferPointerv) (GLuint, GLenum, void**); +extern pfn_glGetNamedBufferPointerv fp_glGetNamedBufferPointerv; +typedef void (APIENTRYP pfn_glGetNamedBufferSubData) (GLuint, GLintptr, GLsizei, void*); +extern pfn_glGetNamedBufferSubData fp_glGetNamedBufferSubData; +typedef void (APIENTRYP pfn_glCreateFramebuffers) (GLsizei, GLuint*); +extern pfn_glCreateFramebuffers fp_glCreateFramebuffers; +typedef void (APIENTRYP pfn_glNamedFramebufferRenderbuffer) (GLuint, GLenum, GLenum, GLuint); +extern pfn_glNamedFramebufferRenderbuffer fp_glNamedFramebufferRenderbuffer; +typedef void (APIENTRYP pfn_glNamedFramebufferParameteri) (GLuint, GLenum, GLint); +extern pfn_glNamedFramebufferParameteri fp_glNamedFramebufferParameteri; +typedef void (APIENTRYP pfn_glNamedFramebufferTexture) (GLuint, GLenum, GLuint, GLint); +extern pfn_glNamedFramebufferTexture fp_glNamedFramebufferTexture; +typedef void (APIENTRYP pfn_glNamedFramebufferTextureLayer) (GLuint, GLenum, GLuint, GLint, GLint); +extern pfn_glNamedFramebufferTextureLayer fp_glNamedFramebufferTextureLayer; +typedef void (APIENTRYP pfn_glNamedFramebufferDrawBuffer) (GLuint, GLenum); +extern pfn_glNamedFramebufferDrawBuffer fp_glNamedFramebufferDrawBuffer; +typedef void (APIENTRYP pfn_glNamedFramebufferDrawBuffers) (GLuint, GLsizei, const GLenum*); +extern pfn_glNamedFramebufferDrawBuffers fp_glNamedFramebufferDrawBuffers; +typedef void (APIENTRYP pfn_glNamedFramebufferReadBuffer) (GLuint, GLenum); +extern pfn_glNamedFramebufferReadBuffer fp_glNamedFramebufferReadBuffer; +typedef void (APIENTRYP pfn_glInvalidateNamedFramebufferData) (GLuint, GLsizei, const GLenum*); +extern pfn_glInvalidateNamedFramebufferData fp_glInvalidateNamedFramebufferData; +typedef void (APIENTRYP pfn_glInvalidateNamedFramebufferSubData) (GLuint, GLsizei, const GLenum*, GLint, GLint, GLsizei, GLsizei); +extern pfn_glInvalidateNamedFramebufferSubData fp_glInvalidateNamedFramebufferSubData; +typedef void (APIENTRYP pfn_glClearNamedFramebufferiv) (GLuint, GLenum, GLint, const GLint*); +extern pfn_glClearNamedFramebufferiv fp_glClearNamedFramebufferiv; +typedef void (APIENTRYP pfn_glClearNamedFramebufferuiv) (GLuint, GLenum, GLint, const GLuint*); +extern pfn_glClearNamedFramebufferuiv fp_glClearNamedFramebufferuiv; +typedef void (APIENTRYP pfn_glClearNamedFramebufferfv) (GLuint, GLenum, GLint, const GLfloat*); +extern pfn_glClearNamedFramebufferfv fp_glClearNamedFramebufferfv; +typedef void (APIENTRYP pfn_glClearNamedFramebufferfi) (GLuint, GLenum, const GLfloat, GLint); +extern pfn_glClearNamedFramebufferfi fp_glClearNamedFramebufferfi; +typedef void (APIENTRYP pfn_glBlitNamedFramebuffer) (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +extern pfn_glBlitNamedFramebuffer fp_glBlitNamedFramebuffer; +typedef GLenum (APIENTRYP pfn_glCheckNamedFramebufferStatus) (GLuint, GLenum); +extern pfn_glCheckNamedFramebufferStatus fp_glCheckNamedFramebufferStatus; +typedef void (APIENTRYP pfn_glGetNamedFramebufferParameteriv) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedFramebufferParameteriv fp_glGetNamedFramebufferParameteriv; +typedef void (APIENTRYP pfn_glGetNamedFramebufferAttachmentParameteriv) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetNamedFramebufferAttachmentParameteriv fp_glGetNamedFramebufferAttachmentParameteriv; +typedef void (APIENTRYP pfn_glCreateRenderbuffers) (GLsizei, GLuint*); +extern pfn_glCreateRenderbuffers fp_glCreateRenderbuffers; +typedef void (APIENTRYP pfn_glNamedRenderbufferStorage) (GLuint, GLenum, GLsizei, GLsizei); +extern pfn_glNamedRenderbufferStorage fp_glNamedRenderbufferStorage; +typedef void (APIENTRYP pfn_glNamedRenderbufferStorageMultisample) (GLuint, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glNamedRenderbufferStorageMultisample fp_glNamedRenderbufferStorageMultisample; +typedef void (APIENTRYP pfn_glGetNamedRenderbufferParameteriv) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedRenderbufferParameteriv fp_glGetNamedRenderbufferParameteriv; +typedef void (APIENTRYP pfn_glCreateTextures) (GLenum, GLsizei, GLuint*); +extern pfn_glCreateTextures fp_glCreateTextures; +typedef void (APIENTRYP pfn_glTextureBuffer) (GLuint, GLenum, GLuint); +extern pfn_glTextureBuffer fp_glTextureBuffer; +typedef void (APIENTRYP pfn_glTextureBufferRange) (GLuint, GLenum, GLuint, GLintptr, GLsizei); +extern pfn_glTextureBufferRange fp_glTextureBufferRange; +typedef void (APIENTRYP pfn_glTextureStorage1D) (GLuint, GLsizei, GLenum, GLsizei); +extern pfn_glTextureStorage1D fp_glTextureStorage1D; +typedef void (APIENTRYP pfn_glTextureStorage2D) (GLuint, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glTextureStorage2D fp_glTextureStorage2D; +typedef void (APIENTRYP pfn_glTextureStorage3D) (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +extern pfn_glTextureStorage3D fp_glTextureStorage3D; +typedef void (APIENTRYP pfn_glTextureStorage2DMultisample) (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureStorage2DMultisample fp_glTextureStorage2DMultisample; +typedef void (APIENTRYP pfn_glTextureStorage3DMultisample) (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureStorage3DMultisample fp_glTextureStorage3DMultisample; +typedef void (APIENTRYP pfn_glTextureSubImage1D) (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage1D fp_glTextureSubImage1D; +typedef void (APIENTRYP pfn_glTextureSubImage2D) (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage2D fp_glTextureSubImage2D; +typedef void (APIENTRYP pfn_glTextureSubImage3D) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage3D fp_glTextureSubImage3D; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage1D) (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage1D fp_glCompressedTextureSubImage1D; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage2D) (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage2D fp_glCompressedTextureSubImage2D; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage3D) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage3D fp_glCompressedTextureSubImage3D; +typedef void (APIENTRYP pfn_glCopyTextureSubImage1D) (GLuint, GLint, GLint, GLint, GLint, GLsizei); +extern pfn_glCopyTextureSubImage1D fp_glCopyTextureSubImage1D; +typedef void (APIENTRYP pfn_glCopyTextureSubImage2D) (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTextureSubImage2D fp_glCopyTextureSubImage2D; +typedef void (APIENTRYP pfn_glCopyTextureSubImage3D) (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTextureSubImage3D fp_glCopyTextureSubImage3D; +typedef void (APIENTRYP pfn_glTextureParameterf) (GLuint, GLenum, GLfloat); +extern pfn_glTextureParameterf fp_glTextureParameterf; +typedef void (APIENTRYP pfn_glTextureParameterfv) (GLuint, GLenum, const GLfloat*); +extern pfn_glTextureParameterfv fp_glTextureParameterfv; +typedef void (APIENTRYP pfn_glTextureParameteri) (GLuint, GLenum, GLint); +extern pfn_glTextureParameteri fp_glTextureParameteri; +typedef void (APIENTRYP pfn_glTextureParameterIiv) (GLuint, GLenum, const GLint*); +extern pfn_glTextureParameterIiv fp_glTextureParameterIiv; +typedef void (APIENTRYP pfn_glTextureParameterIuiv) (GLuint, GLenum, const GLuint*); +extern pfn_glTextureParameterIuiv fp_glTextureParameterIuiv; +typedef void (APIENTRYP pfn_glTextureParameteriv) (GLuint, GLenum, const GLint*); +extern pfn_glTextureParameteriv fp_glTextureParameteriv; +typedef void (APIENTRYP pfn_glGenerateTextureMipmap) (GLuint); +extern pfn_glGenerateTextureMipmap fp_glGenerateTextureMipmap; +typedef void (APIENTRYP pfn_glBindTextureUnit) (GLuint, GLuint); +extern pfn_glBindTextureUnit fp_glBindTextureUnit; +typedef void (APIENTRYP pfn_glGetTextureImage) (GLuint, GLint, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetTextureImage fp_glGetTextureImage; +typedef void (APIENTRYP pfn_glGetCompressedTextureImage) (GLuint, GLint, GLsizei, void*); +extern pfn_glGetCompressedTextureImage fp_glGetCompressedTextureImage; +typedef void (APIENTRYP pfn_glGetTextureLevelParameterfv) (GLuint, GLint, GLenum, GLfloat*); +extern pfn_glGetTextureLevelParameterfv fp_glGetTextureLevelParameterfv; +typedef void (APIENTRYP pfn_glGetTextureLevelParameteriv) (GLuint, GLint, GLenum, GLint*); +extern pfn_glGetTextureLevelParameteriv fp_glGetTextureLevelParameteriv; +typedef void (APIENTRYP pfn_glGetTextureParameterfv) (GLuint, GLenum, GLfloat*); +extern pfn_glGetTextureParameterfv fp_glGetTextureParameterfv; +typedef void (APIENTRYP pfn_glGetTextureParameterIiv) (GLuint, GLenum, GLint*); +extern pfn_glGetTextureParameterIiv fp_glGetTextureParameterIiv; +typedef void (APIENTRYP pfn_glGetTextureParameterIuiv) (GLuint, GLenum, GLuint*); +extern pfn_glGetTextureParameterIuiv fp_glGetTextureParameterIuiv; +typedef void (APIENTRYP pfn_glGetTextureParameteriv) (GLuint, GLenum, GLint*); +extern pfn_glGetTextureParameteriv fp_glGetTextureParameteriv; +typedef void (APIENTRYP pfn_glCreateVertexArrays) (GLsizei, GLuint*); +extern pfn_glCreateVertexArrays fp_glCreateVertexArrays; +typedef void (APIENTRYP pfn_glDisableVertexArrayAttrib) (GLuint, GLuint); +extern pfn_glDisableVertexArrayAttrib fp_glDisableVertexArrayAttrib; +typedef void (APIENTRYP pfn_glEnableVertexArrayAttrib) (GLuint, GLuint); +extern pfn_glEnableVertexArrayAttrib fp_glEnableVertexArrayAttrib; +typedef void (APIENTRYP pfn_glVertexArrayElementBuffer) (GLuint, GLuint); +extern pfn_glVertexArrayElementBuffer fp_glVertexArrayElementBuffer; +typedef void (APIENTRYP pfn_glVertexArrayVertexBuffer) (GLuint, GLuint, GLuint, GLintptr, GLsizei); +extern pfn_glVertexArrayVertexBuffer fp_glVertexArrayVertexBuffer; +typedef void (APIENTRYP pfn_glVertexArrayVertexBuffers) (GLuint, GLuint, GLsizei, const GLuint*, const GLintptr*, const GLsizei*); +extern pfn_glVertexArrayVertexBuffers fp_glVertexArrayVertexBuffers; +typedef void (APIENTRYP pfn_glVertexArrayAttribBinding) (GLuint, GLuint, GLuint); +extern pfn_glVertexArrayAttribBinding fp_glVertexArrayAttribBinding; +typedef void (APIENTRYP pfn_glVertexArrayAttribFormat) (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); +extern pfn_glVertexArrayAttribFormat fp_glVertexArrayAttribFormat; +typedef void (APIENTRYP pfn_glVertexArrayAttribIFormat) (GLuint, GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexArrayAttribIFormat fp_glVertexArrayAttribIFormat; +typedef void (APIENTRYP pfn_glVertexArrayAttribLFormat) (GLuint, GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexArrayAttribLFormat fp_glVertexArrayAttribLFormat; +typedef void (APIENTRYP pfn_glVertexArrayBindingDivisor) (GLuint, GLuint, GLuint); +extern pfn_glVertexArrayBindingDivisor fp_glVertexArrayBindingDivisor; +typedef void (APIENTRYP pfn_glGetVertexArrayiv) (GLuint, GLenum, GLint*); +extern pfn_glGetVertexArrayiv fp_glGetVertexArrayiv; +typedef void (APIENTRYP pfn_glGetVertexArrayIndexediv) (GLuint, GLuint, GLenum, GLint*); +extern pfn_glGetVertexArrayIndexediv fp_glGetVertexArrayIndexediv; +typedef void (APIENTRYP pfn_glGetVertexArrayIndexed64iv) (GLuint, GLuint, GLenum, GLint64*); +extern pfn_glGetVertexArrayIndexed64iv fp_glGetVertexArrayIndexed64iv; +typedef void (APIENTRYP pfn_glCreateSamplers) (GLsizei, GLuint*); +extern pfn_glCreateSamplers fp_glCreateSamplers; +typedef void (APIENTRYP pfn_glCreateProgramPipelines) (GLsizei, GLuint*); +extern pfn_glCreateProgramPipelines fp_glCreateProgramPipelines; +typedef void (APIENTRYP pfn_glCreateQueries) (GLenum, GLsizei, GLuint*); +extern pfn_glCreateQueries fp_glCreateQueries; +typedef void (APIENTRYP pfn_glMemoryBarrierByRegion) (GLbitfield); +extern pfn_glMemoryBarrierByRegion fp_glMemoryBarrierByRegion; +typedef void (APIENTRYP pfn_glGetTextureSubImage) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetTextureSubImage fp_glGetTextureSubImage; +typedef void (APIENTRYP pfn_glGetCompressedTextureSubImage) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void*); +extern pfn_glGetCompressedTextureSubImage fp_glGetCompressedTextureSubImage; +typedef GLenum (APIENTRYP pfn_glGetGraphicsResetStatus) (); +extern pfn_glGetGraphicsResetStatus fp_glGetGraphicsResetStatus; +typedef void (APIENTRYP pfn_glGetnCompressedTexImage) (GLenum, GLint, GLsizei, void*); +extern pfn_glGetnCompressedTexImage fp_glGetnCompressedTexImage; +typedef void (APIENTRYP pfn_glGetnTexImage) (GLenum, GLint, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnTexImage fp_glGetnTexImage; +typedef void (APIENTRYP pfn_glGetnUniformdv) (GLuint, GLint, GLsizei, GLdouble*); +extern pfn_glGetnUniformdv fp_glGetnUniformdv; +typedef void (APIENTRYP pfn_glGetnUniformfv) (GLuint, GLint, GLsizei, GLfloat*); +extern pfn_glGetnUniformfv fp_glGetnUniformfv; +typedef void (APIENTRYP pfn_glGetnUniformiv) (GLuint, GLint, GLsizei, GLint*); +extern pfn_glGetnUniformiv fp_glGetnUniformiv; +typedef void (APIENTRYP pfn_glGetnUniformuiv) (GLuint, GLint, GLsizei, GLuint*); +extern pfn_glGetnUniformuiv fp_glGetnUniformuiv; +typedef void (APIENTRYP pfn_glReadnPixels) (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +extern pfn_glReadnPixels fp_glReadnPixels; +typedef void (APIENTRYP pfn_glGetnMapdv) (GLenum, GLenum, GLsizei, GLdouble*); +extern pfn_glGetnMapdv fp_glGetnMapdv; +typedef void (APIENTRYP pfn_glGetnMapfv) (GLenum, GLenum, GLsizei, GLfloat*); +extern pfn_glGetnMapfv fp_glGetnMapfv; +typedef void (APIENTRYP pfn_glGetnMapiv) (GLenum, GLenum, GLsizei, GLint*); +extern pfn_glGetnMapiv fp_glGetnMapiv; +typedef void (APIENTRYP pfn_glGetnPixelMapfv) (GLenum, GLsizei, GLfloat*); +extern pfn_glGetnPixelMapfv fp_glGetnPixelMapfv; +typedef void (APIENTRYP pfn_glGetnPixelMapuiv) (GLenum, GLsizei, GLuint*); +extern pfn_glGetnPixelMapuiv fp_glGetnPixelMapuiv; +typedef void (APIENTRYP pfn_glGetnPixelMapusv) (GLenum, GLsizei, GLushort*); +extern pfn_glGetnPixelMapusv fp_glGetnPixelMapusv; +typedef void (APIENTRYP pfn_glGetnPolygonStipple) (GLsizei, GLubyte*); +extern pfn_glGetnPolygonStipple fp_glGetnPolygonStipple; +typedef void (APIENTRYP pfn_glGetnColorTable) (GLenum, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnColorTable fp_glGetnColorTable; +typedef void (APIENTRYP pfn_glGetnConvolutionFilter) (GLenum, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnConvolutionFilter fp_glGetnConvolutionFilter; +typedef void (APIENTRYP pfn_glGetnSeparableFilter) (GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, void*, void*); +extern pfn_glGetnSeparableFilter fp_glGetnSeparableFilter; +typedef void (APIENTRYP pfn_glGetnHistogram) (GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnHistogram fp_glGetnHistogram; +typedef void (APIENTRYP pfn_glGetnMinmax) (GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnMinmax fp_glGetnMinmax; +typedef void (APIENTRYP pfn_glTextureBarrier) (); +extern pfn_glTextureBarrier fp_glTextureBarrier; + + /* GL_ES_VERSION_2_0 */ +extern GLboolean GLAD_ES_VERSION_2_0; +#define GL_BLEND_EQUATION 0x8009 +#define GL_BLEND_COLOR 0x8005 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 + + /* GL_ES_VERSION_3_0 */ +extern GLboolean GLAD_ES_VERSION_3_0; +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 + + /* GL_ES_VERSION_3_1 */ +extern GLboolean GLAD_ES_VERSION_3_1; + + /* GL_KHR_blend_equation_advanced */ +extern GLboolean GLAD_KHR_blend_equation_advanced; +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 +typedef void (APIENTRYP pfn_glBlendBarrierKHR) (); +extern pfn_glBlendBarrierKHR fp_glBlendBarrierKHR; + + /* GL_KHR_blend_equation_advanced_coherent */ +extern GLboolean GLAD_KHR_blend_equation_advanced_coherent; +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 + + /* GL_KHR_context_flush_control */ +extern GLboolean GLAD_KHR_context_flush_control; +#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC + + /* GL_KHR_debug */ +extern GLboolean GLAD_KHR_debug; +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245 +#define GL_DEBUG_SOURCE_API_KHR 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A +#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B +#define GL_DEBUG_TYPE_ERROR_KHR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250 +#define GL_DEBUG_TYPE_OTHER_KHR 0x8251 +#define GL_DEBUG_TYPE_MARKER_KHR 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D +#define GL_BUFFER_KHR 0x82E0 +#define GL_SHADER_KHR 0x82E1 +#define GL_PROGRAM_KHR 0x82E2 +#define GL_VERTEX_ARRAY_KHR 0x8074 +#define GL_QUERY_KHR 0x82E3 +#define GL_SAMPLER_KHR 0x82E6 +#define GL_MAX_LABEL_LENGTH_KHR 0x82E8 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147 +#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148 +#define GL_DEBUG_OUTPUT_KHR 0x92E0 +#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002 +#define GL_STACK_OVERFLOW_KHR 0x0503 +#define GL_STACK_UNDERFLOW_KHR 0x0504 +typedef void (APIENTRYP pfn_glDebugMessageControlKHR) (GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean); +extern pfn_glDebugMessageControlKHR fp_glDebugMessageControlKHR; +typedef void (APIENTRYP pfn_glDebugMessageInsertKHR) (GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*); +extern pfn_glDebugMessageInsertKHR fp_glDebugMessageInsertKHR; +typedef void (APIENTRYP pfn_glDebugMessageCallbackKHR) (GLDEBUGPROCKHR, const void*); +extern pfn_glDebugMessageCallbackKHR fp_glDebugMessageCallbackKHR; +typedef GLuint (APIENTRYP pfn_glGetDebugMessageLogKHR) (GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*); +extern pfn_glGetDebugMessageLogKHR fp_glGetDebugMessageLogKHR; +typedef void (APIENTRYP pfn_glPushDebugGroupKHR) (GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glPushDebugGroupKHR fp_glPushDebugGroupKHR; +typedef void (APIENTRYP pfn_glPopDebugGroupKHR) (); +extern pfn_glPopDebugGroupKHR fp_glPopDebugGroupKHR; +typedef void (APIENTRYP pfn_glObjectLabelKHR) (GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glObjectLabelKHR fp_glObjectLabelKHR; +typedef void (APIENTRYP pfn_glGetObjectLabelKHR) (GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetObjectLabelKHR fp_glGetObjectLabelKHR; +typedef void (APIENTRYP pfn_glObjectPtrLabelKHR) (const void*, GLsizei, const GLchar*); +extern pfn_glObjectPtrLabelKHR fp_glObjectPtrLabelKHR; +typedef void (APIENTRYP pfn_glGetObjectPtrLabelKHR) (const void*, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetObjectPtrLabelKHR fp_glGetObjectPtrLabelKHR; +typedef void (APIENTRYP pfn_glGetPointervKHR) (GLenum, void**); +extern pfn_glGetPointervKHR fp_glGetPointervKHR; + + /* GL_KHR_robust_buffer_access_behavior */ +extern GLboolean GLAD_KHR_robust_buffer_access_behavior; + + /* GL_KHR_robustness */ +extern GLboolean GLAD_KHR_robustness; +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 +#define GL_CONTEXT_ROBUST_ACCESS_KHR 0x90F3 +#define GL_LOSE_CONTEXT_ON_RESET_KHR 0x8252 +#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_KHR 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_KHR 0x8256 +#define GL_NO_RESET_NOTIFICATION_KHR 0x8261 +#define GL_CONTEXT_LOST_KHR 0x0507 +typedef GLenum (APIENTRYP pfn_glGetGraphicsResetStatusKHR) (); +extern pfn_glGetGraphicsResetStatusKHR fp_glGetGraphicsResetStatusKHR; +typedef void (APIENTRYP pfn_glReadnPixelsKHR) (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +extern pfn_glReadnPixelsKHR fp_glReadnPixelsKHR; +typedef void (APIENTRYP pfn_glGetnUniformfvKHR) (GLuint, GLint, GLsizei, GLfloat*); +extern pfn_glGetnUniformfvKHR fp_glGetnUniformfvKHR; +typedef void (APIENTRYP pfn_glGetnUniformivKHR) (GLuint, GLint, GLsizei, GLint*); +extern pfn_glGetnUniformivKHR fp_glGetnUniformivKHR; +typedef void (APIENTRYP pfn_glGetnUniformuivKHR) (GLuint, GLint, GLsizei, GLuint*); +extern pfn_glGetnUniformuivKHR fp_glGetnUniformuivKHR; + + /* GL_KHR_texture_compression_astc_hdr */ +extern GLboolean GLAD_KHR_texture_compression_astc_hdr; +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + + /* GL_KHR_texture_compression_astc_ldr */ +extern GLboolean GLAD_KHR_texture_compression_astc_ldr; + + /* GL_ARB_arrays_of_arrays */ +extern GLboolean GLAD_ARB_arrays_of_arrays; + + /* GL_ARB_base_instance */ +extern GLboolean GLAD_ARB_base_instance; + + /* GL_ARB_bindless_texture */ +extern GLboolean GLAD_ARB_bindless_texture; +#define GL_UNSIGNED_INT64_ARB 0x140F +typedef GLuint64 (APIENTRYP pfn_glGetTextureHandleARB) (GLuint); +extern pfn_glGetTextureHandleARB fp_glGetTextureHandleARB; +typedef GLuint64 (APIENTRYP pfn_glGetTextureSamplerHandleARB) (GLuint, GLuint); +extern pfn_glGetTextureSamplerHandleARB fp_glGetTextureSamplerHandleARB; +typedef void (APIENTRYP pfn_glMakeTextureHandleResidentARB) (GLuint64); +extern pfn_glMakeTextureHandleResidentARB fp_glMakeTextureHandleResidentARB; +typedef void (APIENTRYP pfn_glMakeTextureHandleNonResidentARB) (GLuint64); +extern pfn_glMakeTextureHandleNonResidentARB fp_glMakeTextureHandleNonResidentARB; +typedef GLuint64 (APIENTRYP pfn_glGetImageHandleARB) (GLuint, GLint, GLboolean, GLint, GLenum); +extern pfn_glGetImageHandleARB fp_glGetImageHandleARB; +typedef void (APIENTRYP pfn_glMakeImageHandleResidentARB) (GLuint64, GLenum); +extern pfn_glMakeImageHandleResidentARB fp_glMakeImageHandleResidentARB; +typedef void (APIENTRYP pfn_glMakeImageHandleNonResidentARB) (GLuint64); +extern pfn_glMakeImageHandleNonResidentARB fp_glMakeImageHandleNonResidentARB; +typedef void (APIENTRYP pfn_glUniformHandleui64ARB) (GLint, GLuint64); +extern pfn_glUniformHandleui64ARB fp_glUniformHandleui64ARB; +typedef void (APIENTRYP pfn_glUniformHandleui64vARB) (GLint, GLsizei, const GLuint64*); +extern pfn_glUniformHandleui64vARB fp_glUniformHandleui64vARB; +typedef void (APIENTRYP pfn_glProgramUniformHandleui64ARB) (GLuint, GLint, GLuint64); +extern pfn_glProgramUniformHandleui64ARB fp_glProgramUniformHandleui64ARB; +typedef void (APIENTRYP pfn_glProgramUniformHandleui64vARB) (GLuint, GLint, GLsizei, const GLuint64*); +extern pfn_glProgramUniformHandleui64vARB fp_glProgramUniformHandleui64vARB; +typedef GLboolean (APIENTRYP pfn_glIsTextureHandleResidentARB) (GLuint64); +extern pfn_glIsTextureHandleResidentARB fp_glIsTextureHandleResidentARB; +typedef GLboolean (APIENTRYP pfn_glIsImageHandleResidentARB) (GLuint64); +extern pfn_glIsImageHandleResidentARB fp_glIsImageHandleResidentARB; +typedef void (APIENTRYP pfn_glVertexAttribL1ui64ARB) (GLuint, GLuint64EXT); +extern pfn_glVertexAttribL1ui64ARB fp_glVertexAttribL1ui64ARB; +typedef void (APIENTRYP pfn_glVertexAttribL1ui64vARB) (GLuint, const GLuint64EXT*); +extern pfn_glVertexAttribL1ui64vARB fp_glVertexAttribL1ui64vARB; +typedef void (APIENTRYP pfn_glGetVertexAttribLui64vARB) (GLuint, GLenum, GLuint64EXT*); +extern pfn_glGetVertexAttribLui64vARB fp_glGetVertexAttribLui64vARB; + + /* GL_ARB_blend_func_extended */ +extern GLboolean GLAD_ARB_blend_func_extended; + + /* GL_ARB_buffer_storage */ +extern GLboolean GLAD_ARB_buffer_storage; + + /* GL_ARB_cl_event */ +extern GLboolean GLAD_ARB_cl_event; +#define GL_SYNC_CL_EVENT_ARB 0x8240 +#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 +typedef GLsync (APIENTRYP pfn_glCreateSyncFromCLeventARB) (struct _cl_context*, struct _cl_event*, GLbitfield); +extern pfn_glCreateSyncFromCLeventARB fp_glCreateSyncFromCLeventARB; + + /* GL_ARB_clear_buffer_object */ +extern GLboolean GLAD_ARB_clear_buffer_object; + + /* GL_ARB_clear_texture */ +extern GLboolean GLAD_ARB_clear_texture; + + /* GL_ARB_clip_control */ +extern GLboolean GLAD_ARB_clip_control; + + /* GL_ARB_color_buffer_float */ +extern GLboolean GLAD_ARB_color_buffer_float; +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_FIXED_ONLY_ARB 0x891D +typedef void (APIENTRYP pfn_glClampColorARB) (GLenum, GLenum); +extern pfn_glClampColorARB fp_glClampColorARB; + + /* GL_ARB_compatibility */ +extern GLboolean GLAD_ARB_compatibility; + + /* GL_ARB_compressed_texture_pixel_storage */ +extern GLboolean GLAD_ARB_compressed_texture_pixel_storage; + + /* GL_ARB_compute_shader */ +extern GLboolean GLAD_ARB_compute_shader; + + /* GL_ARB_compute_variable_group_size */ +extern GLboolean GLAD_ARB_compute_variable_group_size; +#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344 +#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB +#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345 +#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF +typedef void (APIENTRYP pfn_glDispatchComputeGroupSizeARB) (GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glDispatchComputeGroupSizeARB fp_glDispatchComputeGroupSizeARB; + + /* GL_ARB_conditional_render_inverted */ +extern GLboolean GLAD_ARB_conditional_render_inverted; + + /* GL_ARB_conservative_depth */ +extern GLboolean GLAD_ARB_conservative_depth; + + /* GL_ARB_copy_buffer */ +extern GLboolean GLAD_ARB_copy_buffer; + + /* GL_ARB_copy_image */ +extern GLboolean GLAD_ARB_copy_image; + + /* GL_ARB_cull_distance */ +extern GLboolean GLAD_ARB_cull_distance; + + /* GL_ARB_debug_output */ +extern GLboolean GLAD_ARB_debug_output; +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 +typedef void (APIENTRYP pfn_glDebugMessageControlARB) (GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean); +extern pfn_glDebugMessageControlARB fp_glDebugMessageControlARB; +typedef void (APIENTRYP pfn_glDebugMessageInsertARB) (GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*); +extern pfn_glDebugMessageInsertARB fp_glDebugMessageInsertARB; +typedef void (APIENTRYP pfn_glDebugMessageCallbackARB) (GLDEBUGPROCARB, const void*); +extern pfn_glDebugMessageCallbackARB fp_glDebugMessageCallbackARB; +typedef GLuint (APIENTRYP pfn_glGetDebugMessageLogARB) (GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*); +extern pfn_glGetDebugMessageLogARB fp_glGetDebugMessageLogARB; + + /* GL_ARB_depth_buffer_float */ +extern GLboolean GLAD_ARB_depth_buffer_float; + + /* GL_ARB_depth_clamp */ +extern GLboolean GLAD_ARB_depth_clamp; + + /* GL_ARB_derivative_control */ +extern GLboolean GLAD_ARB_derivative_control; + + /* GL_ARB_direct_state_access */ +extern GLboolean GLAD_ARB_direct_state_access; + + /* GL_ARB_draw_buffers_blend */ +extern GLboolean GLAD_ARB_draw_buffers_blend; +typedef void (APIENTRYP pfn_glBlendEquationiARB) (GLuint, GLenum); +extern pfn_glBlendEquationiARB fp_glBlendEquationiARB; +typedef void (APIENTRYP pfn_glBlendEquationSeparateiARB) (GLuint, GLenum, GLenum); +extern pfn_glBlendEquationSeparateiARB fp_glBlendEquationSeparateiARB; +typedef void (APIENTRYP pfn_glBlendFunciARB) (GLuint, GLenum, GLenum); +extern pfn_glBlendFunciARB fp_glBlendFunciARB; +typedef void (APIENTRYP pfn_glBlendFuncSeparateiARB) (GLuint, GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparateiARB fp_glBlendFuncSeparateiARB; + + /* GL_ARB_draw_elements_base_vertex */ +extern GLboolean GLAD_ARB_draw_elements_base_vertex; + + /* GL_ARB_draw_indirect */ +extern GLboolean GLAD_ARB_draw_indirect; + + /* GL_ARB_draw_instanced */ +extern GLboolean GLAD_ARB_draw_instanced; +typedef void (APIENTRYP pfn_glDrawArraysInstancedARB) (GLenum, GLint, GLsizei, GLsizei); +extern pfn_glDrawArraysInstancedARB fp_glDrawArraysInstancedARB; +typedef void (APIENTRYP pfn_glDrawElementsInstancedARB) (GLenum, GLsizei, GLenum, const void*, GLsizei); +extern pfn_glDrawElementsInstancedARB fp_glDrawElementsInstancedARB; + + /* GL_ARB_enhanced_layouts */ +extern GLboolean GLAD_ARB_enhanced_layouts; + + /* GL_ARB_ES2_compatibility */ +extern GLboolean GLAD_ARB_ES2_compatibility; + + /* GL_ARB_ES3_1_compatibility */ +extern GLboolean GLAD_ARB_ES3_1_compatibility; + + /* GL_ARB_ES3_compatibility */ +extern GLboolean GLAD_ARB_ES3_compatibility; + + /* GL_ARB_explicit_attrib_location */ +extern GLboolean GLAD_ARB_explicit_attrib_location; + + /* GL_ARB_explicit_uniform_location */ +extern GLboolean GLAD_ARB_explicit_uniform_location; + + /* GL_ARB_fragment_coord_conventions */ +extern GLboolean GLAD_ARB_fragment_coord_conventions; + + /* GL_ARB_fragment_layer_viewport */ +extern GLboolean GLAD_ARB_fragment_layer_viewport; + + /* GL_ARB_framebuffer_no_attachments */ +extern GLboolean GLAD_ARB_framebuffer_no_attachments; + + /* GL_ARB_framebuffer_object */ +extern GLboolean GLAD_ARB_framebuffer_object; + + /* GL_ARB_framebuffer_sRGB */ +extern GLboolean GLAD_ARB_framebuffer_sRGB; + + /* GL_ARB_geometry_shader4 */ +extern GLboolean GLAD_ARB_geometry_shader4; +#define GL_LINES_ADJACENCY_ARB 0x000A +#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B +#define GL_TRIANGLES_ADJACENCY_ARB 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 +typedef void (APIENTRYP pfn_glProgramParameteriARB) (GLuint, GLenum, GLint); +extern pfn_glProgramParameteriARB fp_glProgramParameteriARB; +typedef void (APIENTRYP pfn_glFramebufferTextureARB) (GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTextureARB fp_glFramebufferTextureARB; +typedef void (APIENTRYP pfn_glFramebufferTextureLayerARB) (GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTextureLayerARB fp_glFramebufferTextureLayerARB; +typedef void (APIENTRYP pfn_glFramebufferTextureFaceARB) (GLenum, GLenum, GLuint, GLint, GLenum); +extern pfn_glFramebufferTextureFaceARB fp_glFramebufferTextureFaceARB; + + /* GL_ARB_get_program_binary */ +extern GLboolean GLAD_ARB_get_program_binary; + + /* GL_ARB_get_texture_sub_image */ +extern GLboolean GLAD_ARB_get_texture_sub_image; + + /* GL_ARB_gpu_shader5 */ +extern GLboolean GLAD_ARB_gpu_shader5; + + /* GL_ARB_gpu_shader_fp64 */ +extern GLboolean GLAD_ARB_gpu_shader_fp64; + + /* GL_ARB_half_float_pixel */ +extern GLboolean GLAD_ARB_half_float_pixel; +#define GL_HALF_FLOAT_ARB 0x140B + + /* GL_ARB_half_float_vertex */ +extern GLboolean GLAD_ARB_half_float_vertex; + + /* GL_ARB_indirect_parameters */ +extern GLboolean GLAD_ARB_indirect_parameters; +#define GL_PARAMETER_BUFFER_ARB 0x80EE +#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF +typedef void (APIENTRYP pfn_glMultiDrawArraysIndirectCountARB) (GLenum, GLintptr, GLintptr, GLsizei, GLsizei); +extern pfn_glMultiDrawArraysIndirectCountARB fp_glMultiDrawArraysIndirectCountARB; +typedef void (APIENTRYP pfn_glMultiDrawElementsIndirectCountARB) (GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei); +extern pfn_glMultiDrawElementsIndirectCountARB fp_glMultiDrawElementsIndirectCountARB; + + /* GL_ARB_instanced_arrays */ +extern GLboolean GLAD_ARB_instanced_arrays; +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE +typedef void (APIENTRYP pfn_glVertexAttribDivisorARB) (GLuint, GLuint); +extern pfn_glVertexAttribDivisorARB fp_glVertexAttribDivisorARB; + + /* GL_ARB_internalformat_query */ +extern GLboolean GLAD_ARB_internalformat_query; + + /* GL_ARB_internalformat_query2 */ +extern GLboolean GLAD_ARB_internalformat_query2; +#define GL_SRGB_DECODE_ARB 0x8299 + + /* GL_ARB_invalidate_subdata */ +extern GLboolean GLAD_ARB_invalidate_subdata; + + /* GL_ARB_map_buffer_alignment */ +extern GLboolean GLAD_ARB_map_buffer_alignment; + + /* GL_ARB_map_buffer_range */ +extern GLboolean GLAD_ARB_map_buffer_range; + + /* GL_ARB_multi_bind */ +extern GLboolean GLAD_ARB_multi_bind; + + /* GL_ARB_multi_draw_indirect */ +extern GLboolean GLAD_ARB_multi_draw_indirect; + + /* GL_ARB_occlusion_query2 */ +extern GLboolean GLAD_ARB_occlusion_query2; + + /* GL_ARB_pipeline_statistics_query */ +extern GLboolean GLAD_ARB_pipeline_statistics_query; +#define GL_VERTICES_SUBMITTED_ARB 0x82EE +#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7 + + /* GL_ARB_pixel_buffer_object */ +extern GLboolean GLAD_ARB_pixel_buffer_object; +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF + + /* GL_ARB_program_interface_query */ +extern GLboolean GLAD_ARB_program_interface_query; + + /* GL_ARB_provoking_vertex */ +extern GLboolean GLAD_ARB_provoking_vertex; + + /* GL_ARB_query_buffer_object */ +extern GLboolean GLAD_ARB_query_buffer_object; + + /* GL_ARB_robust_buffer_access_behavior */ +extern GLboolean GLAD_ARB_robust_buffer_access_behavior; + + /* GL_ARB_robustness */ +extern GLboolean GLAD_ARB_robustness; +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 +typedef GLenum (APIENTRYP pfn_glGetGraphicsResetStatusARB) (); +extern pfn_glGetGraphicsResetStatusARB fp_glGetGraphicsResetStatusARB; +typedef void (APIENTRYP pfn_glGetnTexImageARB) (GLenum, GLint, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnTexImageARB fp_glGetnTexImageARB; +typedef void (APIENTRYP pfn_glReadnPixelsARB) (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +extern pfn_glReadnPixelsARB fp_glReadnPixelsARB; +typedef void (APIENTRYP pfn_glGetnCompressedTexImageARB) (GLenum, GLint, GLsizei, void*); +extern pfn_glGetnCompressedTexImageARB fp_glGetnCompressedTexImageARB; +typedef void (APIENTRYP pfn_glGetnUniformfvARB) (GLuint, GLint, GLsizei, GLfloat*); +extern pfn_glGetnUniformfvARB fp_glGetnUniformfvARB; +typedef void (APIENTRYP pfn_glGetnUniformivARB) (GLuint, GLint, GLsizei, GLint*); +extern pfn_glGetnUniformivARB fp_glGetnUniformivARB; +typedef void (APIENTRYP pfn_glGetnUniformuivARB) (GLuint, GLint, GLsizei, GLuint*); +extern pfn_glGetnUniformuivARB fp_glGetnUniformuivARB; +typedef void (APIENTRYP pfn_glGetnUniformdvARB) (GLuint, GLint, GLsizei, GLdouble*); +extern pfn_glGetnUniformdvARB fp_glGetnUniformdvARB; +typedef void (APIENTRYP pfn_glGetnMapdvARB) (GLenum, GLenum, GLsizei, GLdouble*); +extern pfn_glGetnMapdvARB fp_glGetnMapdvARB; +typedef void (APIENTRYP pfn_glGetnMapfvARB) (GLenum, GLenum, GLsizei, GLfloat*); +extern pfn_glGetnMapfvARB fp_glGetnMapfvARB; +typedef void (APIENTRYP pfn_glGetnMapivARB) (GLenum, GLenum, GLsizei, GLint*); +extern pfn_glGetnMapivARB fp_glGetnMapivARB; +typedef void (APIENTRYP pfn_glGetnPixelMapfvARB) (GLenum, GLsizei, GLfloat*); +extern pfn_glGetnPixelMapfvARB fp_glGetnPixelMapfvARB; +typedef void (APIENTRYP pfn_glGetnPixelMapuivARB) (GLenum, GLsizei, GLuint*); +extern pfn_glGetnPixelMapuivARB fp_glGetnPixelMapuivARB; +typedef void (APIENTRYP pfn_glGetnPixelMapusvARB) (GLenum, GLsizei, GLushort*); +extern pfn_glGetnPixelMapusvARB fp_glGetnPixelMapusvARB; +typedef void (APIENTRYP pfn_glGetnPolygonStippleARB) (GLsizei, GLubyte*); +extern pfn_glGetnPolygonStippleARB fp_glGetnPolygonStippleARB; +typedef void (APIENTRYP pfn_glGetnColorTableARB) (GLenum, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnColorTableARB fp_glGetnColorTableARB; +typedef void (APIENTRYP pfn_glGetnConvolutionFilterARB) (GLenum, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnConvolutionFilterARB fp_glGetnConvolutionFilterARB; +typedef void (APIENTRYP pfn_glGetnSeparableFilterARB) (GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, void*, void*); +extern pfn_glGetnSeparableFilterARB fp_glGetnSeparableFilterARB; +typedef void (APIENTRYP pfn_glGetnHistogramARB) (GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnHistogramARB fp_glGetnHistogramARB; +typedef void (APIENTRYP pfn_glGetnMinmaxARB) (GLenum, GLboolean, GLenum, GLenum, GLsizei, void*); +extern pfn_glGetnMinmaxARB fp_glGetnMinmaxARB; + + /* GL_ARB_robustness_isolation */ +extern GLboolean GLAD_ARB_robustness_isolation; + + /* GL_ARB_sample_shading */ +extern GLboolean GLAD_ARB_sample_shading; +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 +typedef void (APIENTRYP pfn_glMinSampleShadingARB) (GLfloat); +extern pfn_glMinSampleShadingARB fp_glMinSampleShadingARB; + + /* GL_ARB_sampler_objects */ +extern GLboolean GLAD_ARB_sampler_objects; + + /* GL_ARB_seamless_cube_map */ +extern GLboolean GLAD_ARB_seamless_cube_map; + + /* GL_ARB_seamless_cubemap_per_texture */ +extern GLboolean GLAD_ARB_seamless_cubemap_per_texture; + + /* GL_ARB_separate_shader_objects */ +extern GLboolean GLAD_ARB_separate_shader_objects; + + /* GL_ARB_shader_atomic_counters */ +extern GLboolean GLAD_ARB_shader_atomic_counters; + + /* GL_ARB_shader_bit_encoding */ +extern GLboolean GLAD_ARB_shader_bit_encoding; + + /* GL_ARB_shader_draw_parameters */ +extern GLboolean GLAD_ARB_shader_draw_parameters; + + /* GL_ARB_shader_group_vote */ +extern GLboolean GLAD_ARB_shader_group_vote; + + /* GL_ARB_shader_image_load_store */ +extern GLboolean GLAD_ARB_shader_image_load_store; + + /* GL_ARB_shader_image_size */ +extern GLboolean GLAD_ARB_shader_image_size; + + /* GL_ARB_shader_precision */ +extern GLboolean GLAD_ARB_shader_precision; + + /* GL_ARB_shader_stencil_export */ +extern GLboolean GLAD_ARB_shader_stencil_export; + + /* GL_ARB_shader_storage_buffer_object */ +extern GLboolean GLAD_ARB_shader_storage_buffer_object; + + /* GL_ARB_shader_subroutine */ +extern GLboolean GLAD_ARB_shader_subroutine; + + /* GL_ARB_shader_texture_image_samples */ +extern GLboolean GLAD_ARB_shader_texture_image_samples; + + /* GL_ARB_shader_texture_lod */ +extern GLboolean GLAD_ARB_shader_texture_lod; + + /* GL_ARB_shading_language_420pack */ +extern GLboolean GLAD_ARB_shading_language_420pack; + + /* GL_ARB_shading_language_include */ +extern GLboolean GLAD_ARB_shading_language_include; +#define GL_SHADER_INCLUDE_ARB 0x8DAE +#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 +#define GL_NAMED_STRING_TYPE_ARB 0x8DEA +typedef void (APIENTRYP pfn_glNamedStringARB) (GLenum, GLint, const GLchar*, GLint, const GLchar*); +extern pfn_glNamedStringARB fp_glNamedStringARB; +typedef void (APIENTRYP pfn_glDeleteNamedStringARB) (GLint, const GLchar*); +extern pfn_glDeleteNamedStringARB fp_glDeleteNamedStringARB; +typedef void (APIENTRYP pfn_glCompileShaderIncludeARB) (GLuint, GLsizei, const GLchar**, const GLint*); +extern pfn_glCompileShaderIncludeARB fp_glCompileShaderIncludeARB; +typedef GLboolean (APIENTRYP pfn_glIsNamedStringARB) (GLint, const GLchar*); +extern pfn_glIsNamedStringARB fp_glIsNamedStringARB; +typedef void (APIENTRYP pfn_glGetNamedStringARB) (GLint, const GLchar*, GLsizei, GLint*, GLchar*); +extern pfn_glGetNamedStringARB fp_glGetNamedStringARB; +typedef void (APIENTRYP pfn_glGetNamedStringivARB) (GLint, const GLchar*, GLenum, GLint*); +extern pfn_glGetNamedStringivARB fp_glGetNamedStringivARB; + + /* GL_ARB_shading_language_packing */ +extern GLboolean GLAD_ARB_shading_language_packing; + + /* GL_ARB_sparse_buffer */ +extern GLboolean GLAD_ARB_sparse_buffer; +#define GL_SPARSE_STORAGE_BIT_ARB 0x0400 +#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8 +typedef void (APIENTRYP pfn_glBufferPageCommitmentARB) (GLenum, GLintptr, GLsizei, GLboolean); +extern pfn_glBufferPageCommitmentARB fp_glBufferPageCommitmentARB; +typedef void (APIENTRYP pfn_glNamedBufferPageCommitmentEXT) (GLuint, GLintptr, GLsizei, GLboolean); +extern pfn_glNamedBufferPageCommitmentEXT fp_glNamedBufferPageCommitmentEXT; +typedef void (APIENTRYP pfn_glNamedBufferPageCommitmentARB) (GLuint, GLintptr, GLsizei, GLboolean); +extern pfn_glNamedBufferPageCommitmentARB fp_glNamedBufferPageCommitmentARB; + + /* GL_ARB_sparse_texture */ +extern GLboolean GLAD_ARB_sparse_texture; +#define GL_TEXTURE_SPARSE_ARB 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 +#define GL_MIN_SPARSE_LEVEL_ARB 0x919B +#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 +#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 +typedef void (APIENTRYP pfn_glTexPageCommitmentARB) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexPageCommitmentARB fp_glTexPageCommitmentARB; + + /* GL_ARB_stencil_texturing */ +extern GLboolean GLAD_ARB_stencil_texturing; + + /* GL_ARB_sync */ +extern GLboolean GLAD_ARB_sync; + + /* GL_ARB_tessellation_shader */ +extern GLboolean GLAD_ARB_tessellation_shader; + + /* GL_ARB_texture_barrier */ +extern GLboolean GLAD_ARB_texture_barrier; + + /* GL_ARB_texture_buffer_object */ +extern GLboolean GLAD_ARB_texture_buffer_object; +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E +typedef void (APIENTRYP pfn_glTexBufferARB) (GLenum, GLenum, GLuint); +extern pfn_glTexBufferARB fp_glTexBufferARB; + + /* GL_ARB_texture_buffer_object_rgb32 */ +extern GLboolean GLAD_ARB_texture_buffer_object_rgb32; + + /* GL_ARB_texture_buffer_range */ +extern GLboolean GLAD_ARB_texture_buffer_range; + + /* GL_ARB_texture_compression_bptc */ +extern GLboolean GLAD_ARB_texture_compression_bptc; +#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F + + /* GL_ARB_texture_compression_rgtc */ +extern GLboolean GLAD_ARB_texture_compression_rgtc; + + /* GL_ARB_texture_cube_map_array */ +extern GLboolean GLAD_ARB_texture_cube_map_array; +#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F + + /* GL_ARB_texture_float */ +extern GLboolean GLAD_ARB_texture_float; +#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 +#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 +#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 +#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 +#define GL_RGBA32F_ARB 0x8814 +#define GL_RGB32F_ARB 0x8815 +#define GL_ALPHA32F_ARB 0x8816 +#define GL_INTENSITY32F_ARB 0x8817 +#define GL_LUMINANCE32F_ARB 0x8818 +#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 +#define GL_RGBA16F_ARB 0x881A +#define GL_RGB16F_ARB 0x881B +#define GL_ALPHA16F_ARB 0x881C +#define GL_INTENSITY16F_ARB 0x881D +#define GL_LUMINANCE16F_ARB 0x881E +#define GL_LUMINANCE_ALPHA16F_ARB 0x881F + + /* GL_ARB_texture_gather */ +extern GLboolean GLAD_ARB_texture_gather; +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F + + /* GL_ARB_texture_mirror_clamp_to_edge */ +extern GLboolean GLAD_ARB_texture_mirror_clamp_to_edge; + + /* GL_ARB_texture_multisample */ +extern GLboolean GLAD_ARB_texture_multisample; + + /* GL_ARB_texture_query_levels */ +extern GLboolean GLAD_ARB_texture_query_levels; + + /* GL_ARB_texture_query_lod */ +extern GLboolean GLAD_ARB_texture_query_lod; + + /* GL_ARB_texture_rectangle */ +extern GLboolean GLAD_ARB_texture_rectangle; +#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 + + /* GL_ARB_texture_rg */ +extern GLboolean GLAD_ARB_texture_rg; + + /* GL_ARB_texture_rgb10_a2ui */ +extern GLboolean GLAD_ARB_texture_rgb10_a2ui; + + /* GL_ARB_texture_stencil8 */ +extern GLboolean GLAD_ARB_texture_stencil8; + + /* GL_ARB_texture_storage */ +extern GLboolean GLAD_ARB_texture_storage; + + /* GL_ARB_texture_storage_multisample */ +extern GLboolean GLAD_ARB_texture_storage_multisample; + + /* GL_ARB_texture_swizzle */ +extern GLboolean GLAD_ARB_texture_swizzle; + + /* GL_ARB_texture_view */ +extern GLboolean GLAD_ARB_texture_view; + + /* GL_ARB_timer_query */ +extern GLboolean GLAD_ARB_timer_query; + + /* GL_ARB_transform_feedback2 */ +extern GLboolean GLAD_ARB_transform_feedback2; + + /* GL_ARB_transform_feedback3 */ +extern GLboolean GLAD_ARB_transform_feedback3; + + /* GL_ARB_transform_feedback_instanced */ +extern GLboolean GLAD_ARB_transform_feedback_instanced; + + /* GL_ARB_transform_feedback_overflow_query */ +extern GLboolean GLAD_ARB_transform_feedback_overflow_query; +#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED + + /* GL_ARB_uniform_buffer_object */ +extern GLboolean GLAD_ARB_uniform_buffer_object; + + /* GL_ARB_vertex_array_bgra */ +extern GLboolean GLAD_ARB_vertex_array_bgra; + + /* GL_ARB_vertex_array_object */ +extern GLboolean GLAD_ARB_vertex_array_object; + + /* GL_ARB_vertex_attrib_64bit */ +extern GLboolean GLAD_ARB_vertex_attrib_64bit; + + /* GL_ARB_vertex_attrib_binding */ +extern GLboolean GLAD_ARB_vertex_attrib_binding; + + /* GL_ARB_vertex_type_10f_11f_11f_rev */ +extern GLboolean GLAD_ARB_vertex_type_10f_11f_11f_rev; + + /* GL_ARB_vertex_type_2_10_10_10_rev */ +extern GLboolean GLAD_ARB_vertex_type_2_10_10_10_rev; + + /* GL_ARB_viewport_array */ +extern GLboolean GLAD_ARB_viewport_array; + + /* GL_EXT_bgra */ +extern GLboolean GLAD_EXT_bgra; +#define GL_BGR_EXT 0x80E0 +#define GL_BGRA_EXT 0x80E1 + + /* GL_EXT_bindable_uniform */ +extern GLboolean GLAD_EXT_bindable_uniform; +#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 +#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 +#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 +#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED +#define GL_UNIFORM_BUFFER_EXT 0x8DEE +#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF +typedef void (APIENTRYP pfn_glUniformBufferEXT) (GLuint, GLint, GLuint); +extern pfn_glUniformBufferEXT fp_glUniformBufferEXT; +typedef GLint (APIENTRYP pfn_glGetUniformBufferSizeEXT) (GLuint, GLint); +extern pfn_glGetUniformBufferSizeEXT fp_glGetUniformBufferSizeEXT; +typedef GLintptr (APIENTRYP pfn_glGetUniformOffsetEXT) (GLuint, GLint); +extern pfn_glGetUniformOffsetEXT fp_glGetUniformOffsetEXT; + + /* GL_EXT_color_buffer_half_float */ +extern GLboolean GLAD_EXT_color_buffer_half_float; +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_RG16F_EXT 0x822F +#define GL_R16F_EXT 0x822D +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 +#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 + + /* GL_EXT_copy_image */ +extern GLboolean GLAD_EXT_copy_image; +typedef void (APIENTRYP pfn_glCopyImageSubDataEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +extern pfn_glCopyImageSubDataEXT fp_glCopyImageSubDataEXT; + + /* GL_EXT_debug_label */ +extern GLboolean GLAD_EXT_debug_label; +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 +typedef void (APIENTRYP pfn_glLabelObjectEXT) (GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glLabelObjectEXT fp_glLabelObjectEXT; +typedef void (APIENTRYP pfn_glGetObjectLabelEXT) (GLenum, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetObjectLabelEXT fp_glGetObjectLabelEXT; + + /* GL_EXT_debug_marker */ +extern GLboolean GLAD_EXT_debug_marker; +typedef void (APIENTRYP pfn_glInsertEventMarkerEXT) (GLsizei, const GLchar*); +extern pfn_glInsertEventMarkerEXT fp_glInsertEventMarkerEXT; +typedef void (APIENTRYP pfn_glPushGroupMarkerEXT) (GLsizei, const GLchar*); +extern pfn_glPushGroupMarkerEXT fp_glPushGroupMarkerEXT; +typedef void (APIENTRYP pfn_glPopGroupMarkerEXT) (); +extern pfn_glPopGroupMarkerEXT fp_glPopGroupMarkerEXT; + + /* GL_EXT_direct_state_access */ +extern GLboolean GLAD_EXT_direct_state_access; +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F +typedef void (APIENTRYP pfn_glMatrixLoadfEXT) (GLenum, const GLfloat*); +extern pfn_glMatrixLoadfEXT fp_glMatrixLoadfEXT; +typedef void (APIENTRYP pfn_glMatrixLoaddEXT) (GLenum, const GLdouble*); +extern pfn_glMatrixLoaddEXT fp_glMatrixLoaddEXT; +typedef void (APIENTRYP pfn_glMatrixMultfEXT) (GLenum, const GLfloat*); +extern pfn_glMatrixMultfEXT fp_glMatrixMultfEXT; +typedef void (APIENTRYP pfn_glMatrixMultdEXT) (GLenum, const GLdouble*); +extern pfn_glMatrixMultdEXT fp_glMatrixMultdEXT; +typedef void (APIENTRYP pfn_glMatrixLoadIdentityEXT) (GLenum); +extern pfn_glMatrixLoadIdentityEXT fp_glMatrixLoadIdentityEXT; +typedef void (APIENTRYP pfn_glMatrixRotatefEXT) (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glMatrixRotatefEXT fp_glMatrixRotatefEXT; +typedef void (APIENTRYP pfn_glMatrixRotatedEXT) (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glMatrixRotatedEXT fp_glMatrixRotatedEXT; +typedef void (APIENTRYP pfn_glMatrixScalefEXT) (GLenum, GLfloat, GLfloat, GLfloat); +extern pfn_glMatrixScalefEXT fp_glMatrixScalefEXT; +typedef void (APIENTRYP pfn_glMatrixScaledEXT) (GLenum, GLdouble, GLdouble, GLdouble); +extern pfn_glMatrixScaledEXT fp_glMatrixScaledEXT; +typedef void (APIENTRYP pfn_glMatrixTranslatefEXT) (GLenum, GLfloat, GLfloat, GLfloat); +extern pfn_glMatrixTranslatefEXT fp_glMatrixTranslatefEXT; +typedef void (APIENTRYP pfn_glMatrixTranslatedEXT) (GLenum, GLdouble, GLdouble, GLdouble); +extern pfn_glMatrixTranslatedEXT fp_glMatrixTranslatedEXT; +typedef void (APIENTRYP pfn_glMatrixFrustumEXT) (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glMatrixFrustumEXT fp_glMatrixFrustumEXT; +typedef void (APIENTRYP pfn_glMatrixOrthoEXT) (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glMatrixOrthoEXT fp_glMatrixOrthoEXT; +typedef void (APIENTRYP pfn_glMatrixPopEXT) (GLenum); +extern pfn_glMatrixPopEXT fp_glMatrixPopEXT; +typedef void (APIENTRYP pfn_glMatrixPushEXT) (GLenum); +extern pfn_glMatrixPushEXT fp_glMatrixPushEXT; +typedef void (APIENTRYP pfn_glClientAttribDefaultEXT) (GLbitfield); +extern pfn_glClientAttribDefaultEXT fp_glClientAttribDefaultEXT; +typedef void (APIENTRYP pfn_glPushClientAttribDefaultEXT) (GLbitfield); +extern pfn_glPushClientAttribDefaultEXT fp_glPushClientAttribDefaultEXT; +typedef void (APIENTRYP pfn_glTextureParameterfEXT) (GLuint, GLenum, GLenum, GLfloat); +extern pfn_glTextureParameterfEXT fp_glTextureParameterfEXT; +typedef void (APIENTRYP pfn_glTextureParameterfvEXT) (GLuint, GLenum, GLenum, const GLfloat*); +extern pfn_glTextureParameterfvEXT fp_glTextureParameterfvEXT; +typedef void (APIENTRYP pfn_glTextureParameteriEXT) (GLuint, GLenum, GLenum, GLint); +extern pfn_glTextureParameteriEXT fp_glTextureParameteriEXT; +typedef void (APIENTRYP pfn_glTextureParameterivEXT) (GLuint, GLenum, GLenum, const GLint*); +extern pfn_glTextureParameterivEXT fp_glTextureParameterivEXT; +typedef void (APIENTRYP pfn_glTextureImage1DEXT) (GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTextureImage1DEXT fp_glTextureImage1DEXT; +typedef void (APIENTRYP pfn_glTextureImage2DEXT) (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTextureImage2DEXT fp_glTextureImage2DEXT; +typedef void (APIENTRYP pfn_glTextureSubImage1DEXT) (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage1DEXT fp_glTextureSubImage1DEXT; +typedef void (APIENTRYP pfn_glTextureSubImage2DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage2DEXT fp_glTextureSubImage2DEXT; +typedef void (APIENTRYP pfn_glCopyTextureImage1DEXT) (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +extern pfn_glCopyTextureImage1DEXT fp_glCopyTextureImage1DEXT; +typedef void (APIENTRYP pfn_glCopyTextureImage2DEXT) (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +extern pfn_glCopyTextureImage2DEXT fp_glCopyTextureImage2DEXT; +typedef void (APIENTRYP pfn_glCopyTextureSubImage1DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei); +extern pfn_glCopyTextureSubImage1DEXT fp_glCopyTextureSubImage1DEXT; +typedef void (APIENTRYP pfn_glCopyTextureSubImage2DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTextureSubImage2DEXT fp_glCopyTextureSubImage2DEXT; +typedef void (APIENTRYP pfn_glGetTextureImageEXT) (GLuint, GLenum, GLint, GLenum, GLenum, void*); +extern pfn_glGetTextureImageEXT fp_glGetTextureImageEXT; +typedef void (APIENTRYP pfn_glGetTextureParameterfvEXT) (GLuint, GLenum, GLenum, GLfloat*); +extern pfn_glGetTextureParameterfvEXT fp_glGetTextureParameterfvEXT; +typedef void (APIENTRYP pfn_glGetTextureParameterivEXT) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetTextureParameterivEXT fp_glGetTextureParameterivEXT; +typedef void (APIENTRYP pfn_glGetTextureLevelParameterfvEXT) (GLuint, GLenum, GLint, GLenum, GLfloat*); +extern pfn_glGetTextureLevelParameterfvEXT fp_glGetTextureLevelParameterfvEXT; +typedef void (APIENTRYP pfn_glGetTextureLevelParameterivEXT) (GLuint, GLenum, GLint, GLenum, GLint*); +extern pfn_glGetTextureLevelParameterivEXT fp_glGetTextureLevelParameterivEXT; +typedef void (APIENTRYP pfn_glTextureImage3DEXT) (GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTextureImage3DEXT fp_glTextureImage3DEXT; +typedef void (APIENTRYP pfn_glTextureSubImage3DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTextureSubImage3DEXT fp_glTextureSubImage3DEXT; +typedef void (APIENTRYP pfn_glCopyTextureSubImage3DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTextureSubImage3DEXT fp_glCopyTextureSubImage3DEXT; +typedef void (APIENTRYP pfn_glBindMultiTextureEXT) (GLenum, GLenum, GLuint); +extern pfn_glBindMultiTextureEXT fp_glBindMultiTextureEXT; +typedef void (APIENTRYP pfn_glMultiTexCoordPointerEXT) (GLenum, GLint, GLenum, GLsizei, const void*); +extern pfn_glMultiTexCoordPointerEXT fp_glMultiTexCoordPointerEXT; +typedef void (APIENTRYP pfn_glMultiTexEnvfEXT) (GLenum, GLenum, GLenum, GLfloat); +extern pfn_glMultiTexEnvfEXT fp_glMultiTexEnvfEXT; +typedef void (APIENTRYP pfn_glMultiTexEnvfvEXT) (GLenum, GLenum, GLenum, const GLfloat*); +extern pfn_glMultiTexEnvfvEXT fp_glMultiTexEnvfvEXT; +typedef void (APIENTRYP pfn_glMultiTexEnviEXT) (GLenum, GLenum, GLenum, GLint); +extern pfn_glMultiTexEnviEXT fp_glMultiTexEnviEXT; +typedef void (APIENTRYP pfn_glMultiTexEnvivEXT) (GLenum, GLenum, GLenum, const GLint*); +extern pfn_glMultiTexEnvivEXT fp_glMultiTexEnvivEXT; +typedef void (APIENTRYP pfn_glMultiTexGendEXT) (GLenum, GLenum, GLenum, GLdouble); +extern pfn_glMultiTexGendEXT fp_glMultiTexGendEXT; +typedef void (APIENTRYP pfn_glMultiTexGendvEXT) (GLenum, GLenum, GLenum, const GLdouble*); +extern pfn_glMultiTexGendvEXT fp_glMultiTexGendvEXT; +typedef void (APIENTRYP pfn_glMultiTexGenfEXT) (GLenum, GLenum, GLenum, GLfloat); +extern pfn_glMultiTexGenfEXT fp_glMultiTexGenfEXT; +typedef void (APIENTRYP pfn_glMultiTexGenfvEXT) (GLenum, GLenum, GLenum, const GLfloat*); +extern pfn_glMultiTexGenfvEXT fp_glMultiTexGenfvEXT; +typedef void (APIENTRYP pfn_glMultiTexGeniEXT) (GLenum, GLenum, GLenum, GLint); +extern pfn_glMultiTexGeniEXT fp_glMultiTexGeniEXT; +typedef void (APIENTRYP pfn_glMultiTexGenivEXT) (GLenum, GLenum, GLenum, const GLint*); +extern pfn_glMultiTexGenivEXT fp_glMultiTexGenivEXT; +typedef void (APIENTRYP pfn_glGetMultiTexEnvfvEXT) (GLenum, GLenum, GLenum, GLfloat*); +extern pfn_glGetMultiTexEnvfvEXT fp_glGetMultiTexEnvfvEXT; +typedef void (APIENTRYP pfn_glGetMultiTexEnvivEXT) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetMultiTexEnvivEXT fp_glGetMultiTexEnvivEXT; +typedef void (APIENTRYP pfn_glGetMultiTexGendvEXT) (GLenum, GLenum, GLenum, GLdouble*); +extern pfn_glGetMultiTexGendvEXT fp_glGetMultiTexGendvEXT; +typedef void (APIENTRYP pfn_glGetMultiTexGenfvEXT) (GLenum, GLenum, GLenum, GLfloat*); +extern pfn_glGetMultiTexGenfvEXT fp_glGetMultiTexGenfvEXT; +typedef void (APIENTRYP pfn_glGetMultiTexGenivEXT) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetMultiTexGenivEXT fp_glGetMultiTexGenivEXT; +typedef void (APIENTRYP pfn_glMultiTexParameteriEXT) (GLenum, GLenum, GLenum, GLint); +extern pfn_glMultiTexParameteriEXT fp_glMultiTexParameteriEXT; +typedef void (APIENTRYP pfn_glMultiTexParameterivEXT) (GLenum, GLenum, GLenum, const GLint*); +extern pfn_glMultiTexParameterivEXT fp_glMultiTexParameterivEXT; +typedef void (APIENTRYP pfn_glMultiTexParameterfEXT) (GLenum, GLenum, GLenum, GLfloat); +extern pfn_glMultiTexParameterfEXT fp_glMultiTexParameterfEXT; +typedef void (APIENTRYP pfn_glMultiTexParameterfvEXT) (GLenum, GLenum, GLenum, const GLfloat*); +extern pfn_glMultiTexParameterfvEXT fp_glMultiTexParameterfvEXT; +typedef void (APIENTRYP pfn_glMultiTexImage1DEXT) (GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glMultiTexImage1DEXT fp_glMultiTexImage1DEXT; +typedef void (APIENTRYP pfn_glMultiTexImage2DEXT) (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glMultiTexImage2DEXT fp_glMultiTexImage2DEXT; +typedef void (APIENTRYP pfn_glMultiTexSubImage1DEXT) (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*); +extern pfn_glMultiTexSubImage1DEXT fp_glMultiTexSubImage1DEXT; +typedef void (APIENTRYP pfn_glMultiTexSubImage2DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glMultiTexSubImage2DEXT fp_glMultiTexSubImage2DEXT; +typedef void (APIENTRYP pfn_glCopyMultiTexImage1DEXT) (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +extern pfn_glCopyMultiTexImage1DEXT fp_glCopyMultiTexImage1DEXT; +typedef void (APIENTRYP pfn_glCopyMultiTexImage2DEXT) (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +extern pfn_glCopyMultiTexImage2DEXT fp_glCopyMultiTexImage2DEXT; +typedef void (APIENTRYP pfn_glCopyMultiTexSubImage1DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei); +extern pfn_glCopyMultiTexSubImage1DEXT fp_glCopyMultiTexSubImage1DEXT; +typedef void (APIENTRYP pfn_glCopyMultiTexSubImage2DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyMultiTexSubImage2DEXT fp_glCopyMultiTexSubImage2DEXT; +typedef void (APIENTRYP pfn_glGetMultiTexImageEXT) (GLenum, GLenum, GLint, GLenum, GLenum, void*); +extern pfn_glGetMultiTexImageEXT fp_glGetMultiTexImageEXT; +typedef void (APIENTRYP pfn_glGetMultiTexParameterfvEXT) (GLenum, GLenum, GLenum, GLfloat*); +extern pfn_glGetMultiTexParameterfvEXT fp_glGetMultiTexParameterfvEXT; +typedef void (APIENTRYP pfn_glGetMultiTexParameterivEXT) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetMultiTexParameterivEXT fp_glGetMultiTexParameterivEXT; +typedef void (APIENTRYP pfn_glGetMultiTexLevelParameterfvEXT) (GLenum, GLenum, GLint, GLenum, GLfloat*); +extern pfn_glGetMultiTexLevelParameterfvEXT fp_glGetMultiTexLevelParameterfvEXT; +typedef void (APIENTRYP pfn_glGetMultiTexLevelParameterivEXT) (GLenum, GLenum, GLint, GLenum, GLint*); +extern pfn_glGetMultiTexLevelParameterivEXT fp_glGetMultiTexLevelParameterivEXT; +typedef void (APIENTRYP pfn_glMultiTexImage3DEXT) (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glMultiTexImage3DEXT fp_glMultiTexImage3DEXT; +typedef void (APIENTRYP pfn_glMultiTexSubImage3DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glMultiTexSubImage3DEXT fp_glMultiTexSubImage3DEXT; +typedef void (APIENTRYP pfn_glCopyMultiTexSubImage3DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyMultiTexSubImage3DEXT fp_glCopyMultiTexSubImage3DEXT; +typedef void (APIENTRYP pfn_glEnableClientStateIndexedEXT) (GLenum, GLuint); +extern pfn_glEnableClientStateIndexedEXT fp_glEnableClientStateIndexedEXT; +typedef void (APIENTRYP pfn_glDisableClientStateIndexedEXT) (GLenum, GLuint); +extern pfn_glDisableClientStateIndexedEXT fp_glDisableClientStateIndexedEXT; +typedef void (APIENTRYP pfn_glGetFloatIndexedvEXT) (GLenum, GLuint, GLfloat*); +extern pfn_glGetFloatIndexedvEXT fp_glGetFloatIndexedvEXT; +typedef void (APIENTRYP pfn_glGetDoubleIndexedvEXT) (GLenum, GLuint, GLdouble*); +extern pfn_glGetDoubleIndexedvEXT fp_glGetDoubleIndexedvEXT; +typedef void (APIENTRYP pfn_glGetPointerIndexedvEXT) (GLenum, GLuint, void**); +extern pfn_glGetPointerIndexedvEXT fp_glGetPointerIndexedvEXT; +typedef void (APIENTRYP pfn_glEnableIndexedEXT) (GLenum, GLuint); +extern pfn_glEnableIndexedEXT fp_glEnableIndexedEXT; +typedef void (APIENTRYP pfn_glDisableIndexedEXT) (GLenum, GLuint); +extern pfn_glDisableIndexedEXT fp_glDisableIndexedEXT; +typedef GLboolean (APIENTRYP pfn_glIsEnabledIndexedEXT) (GLenum, GLuint); +extern pfn_glIsEnabledIndexedEXT fp_glIsEnabledIndexedEXT; +typedef void (APIENTRYP pfn_glGetIntegerIndexedvEXT) (GLenum, GLuint, GLint*); +extern pfn_glGetIntegerIndexedvEXT fp_glGetIntegerIndexedvEXT; +typedef void (APIENTRYP pfn_glGetBooleanIndexedvEXT) (GLenum, GLuint, GLboolean*); +extern pfn_glGetBooleanIndexedvEXT fp_glGetBooleanIndexedvEXT; +typedef void (APIENTRYP pfn_glCompressedTextureImage3DEXT) (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTextureImage3DEXT fp_glCompressedTextureImage3DEXT; +typedef void (APIENTRYP pfn_glCompressedTextureImage2DEXT) (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTextureImage2DEXT fp_glCompressedTextureImage2DEXT; +typedef void (APIENTRYP pfn_glCompressedTextureImage1DEXT) (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTextureImage1DEXT fp_glCompressedTextureImage1DEXT; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage3DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage3DEXT fp_glCompressedTextureSubImage3DEXT; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage2DEXT) (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage2DEXT fp_glCompressedTextureSubImage2DEXT; +typedef void (APIENTRYP pfn_glCompressedTextureSubImage1DEXT) (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTextureSubImage1DEXT fp_glCompressedTextureSubImage1DEXT; +typedef void (APIENTRYP pfn_glGetCompressedTextureImageEXT) (GLuint, GLenum, GLint, void*); +extern pfn_glGetCompressedTextureImageEXT fp_glGetCompressedTextureImageEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexImage3DEXT) (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedMultiTexImage3DEXT fp_glCompressedMultiTexImage3DEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexImage2DEXT) (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedMultiTexImage2DEXT fp_glCompressedMultiTexImage2DEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexImage1DEXT) (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedMultiTexImage1DEXT fp_glCompressedMultiTexImage1DEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexSubImage3DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedMultiTexSubImage3DEXT fp_glCompressedMultiTexSubImage3DEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexSubImage2DEXT) (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedMultiTexSubImage2DEXT fp_glCompressedMultiTexSubImage2DEXT; +typedef void (APIENTRYP pfn_glCompressedMultiTexSubImage1DEXT) (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedMultiTexSubImage1DEXT fp_glCompressedMultiTexSubImage1DEXT; +typedef void (APIENTRYP pfn_glGetCompressedMultiTexImageEXT) (GLenum, GLenum, GLint, void*); +extern pfn_glGetCompressedMultiTexImageEXT fp_glGetCompressedMultiTexImageEXT; +typedef void (APIENTRYP pfn_glMatrixLoadTransposefEXT) (GLenum, const GLfloat*); +extern pfn_glMatrixLoadTransposefEXT fp_glMatrixLoadTransposefEXT; +typedef void (APIENTRYP pfn_glMatrixLoadTransposedEXT) (GLenum, const GLdouble*); +extern pfn_glMatrixLoadTransposedEXT fp_glMatrixLoadTransposedEXT; +typedef void (APIENTRYP pfn_glMatrixMultTransposefEXT) (GLenum, const GLfloat*); +extern pfn_glMatrixMultTransposefEXT fp_glMatrixMultTransposefEXT; +typedef void (APIENTRYP pfn_glMatrixMultTransposedEXT) (GLenum, const GLdouble*); +extern pfn_glMatrixMultTransposedEXT fp_glMatrixMultTransposedEXT; +typedef void (APIENTRYP pfn_glNamedBufferDataEXT) (GLuint, GLsizeiptr, const void*, GLenum); +extern pfn_glNamedBufferDataEXT fp_glNamedBufferDataEXT; +typedef void (APIENTRYP pfn_glNamedBufferSubDataEXT) (GLuint, GLintptr, GLsizeiptr, const void*); +extern pfn_glNamedBufferSubDataEXT fp_glNamedBufferSubDataEXT; +typedef void* (APIENTRYP pfn_glMapNamedBufferEXT) (GLuint, GLenum); +extern pfn_glMapNamedBufferEXT fp_glMapNamedBufferEXT; +typedef GLboolean (APIENTRYP pfn_glUnmapNamedBufferEXT) (GLuint); +extern pfn_glUnmapNamedBufferEXT fp_glUnmapNamedBufferEXT; +typedef void (APIENTRYP pfn_glGetNamedBufferParameterivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedBufferParameterivEXT fp_glGetNamedBufferParameterivEXT; +typedef void (APIENTRYP pfn_glGetNamedBufferPointervEXT) (GLuint, GLenum, void**); +extern pfn_glGetNamedBufferPointervEXT fp_glGetNamedBufferPointervEXT; +typedef void (APIENTRYP pfn_glGetNamedBufferSubDataEXT) (GLuint, GLintptr, GLsizeiptr, void*); +extern pfn_glGetNamedBufferSubDataEXT fp_glGetNamedBufferSubDataEXT; +typedef void (APIENTRYP pfn_glProgramUniform1fEXT) (GLuint, GLint, GLfloat); +extern pfn_glProgramUniform1fEXT fp_glProgramUniform1fEXT; +typedef void (APIENTRYP pfn_glProgramUniform2fEXT) (GLuint, GLint, GLfloat, GLfloat); +extern pfn_glProgramUniform2fEXT fp_glProgramUniform2fEXT; +typedef void (APIENTRYP pfn_glProgramUniform3fEXT) (GLuint, GLint, GLfloat, GLfloat, GLfloat); +extern pfn_glProgramUniform3fEXT fp_glProgramUniform3fEXT; +typedef void (APIENTRYP pfn_glProgramUniform4fEXT) (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glProgramUniform4fEXT fp_glProgramUniform4fEXT; +typedef void (APIENTRYP pfn_glProgramUniform1iEXT) (GLuint, GLint, GLint); +extern pfn_glProgramUniform1iEXT fp_glProgramUniform1iEXT; +typedef void (APIENTRYP pfn_glProgramUniform2iEXT) (GLuint, GLint, GLint, GLint); +extern pfn_glProgramUniform2iEXT fp_glProgramUniform2iEXT; +typedef void (APIENTRYP pfn_glProgramUniform3iEXT) (GLuint, GLint, GLint, GLint, GLint); +extern pfn_glProgramUniform3iEXT fp_glProgramUniform3iEXT; +typedef void (APIENTRYP pfn_glProgramUniform4iEXT) (GLuint, GLint, GLint, GLint, GLint, GLint); +extern pfn_glProgramUniform4iEXT fp_glProgramUniform4iEXT; +typedef void (APIENTRYP pfn_glProgramUniform1fvEXT) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform1fvEXT fp_glProgramUniform1fvEXT; +typedef void (APIENTRYP pfn_glProgramUniform2fvEXT) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform2fvEXT fp_glProgramUniform2fvEXT; +typedef void (APIENTRYP pfn_glProgramUniform3fvEXT) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform3fvEXT fp_glProgramUniform3fvEXT; +typedef void (APIENTRYP pfn_glProgramUniform4fvEXT) (GLuint, GLint, GLsizei, const GLfloat*); +extern pfn_glProgramUniform4fvEXT fp_glProgramUniform4fvEXT; +typedef void (APIENTRYP pfn_glProgramUniform1ivEXT) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform1ivEXT fp_glProgramUniform1ivEXT; +typedef void (APIENTRYP pfn_glProgramUniform2ivEXT) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform2ivEXT fp_glProgramUniform2ivEXT; +typedef void (APIENTRYP pfn_glProgramUniform3ivEXT) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform3ivEXT fp_glProgramUniform3ivEXT; +typedef void (APIENTRYP pfn_glProgramUniform4ivEXT) (GLuint, GLint, GLsizei, const GLint*); +extern pfn_glProgramUniform4ivEXT fp_glProgramUniform4ivEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2fvEXT fp_glProgramUniformMatrix2fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3fvEXT fp_glProgramUniformMatrix3fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4fvEXT fp_glProgramUniformMatrix4fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x3fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2x3fvEXT fp_glProgramUniformMatrix2x3fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x2fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3x2fvEXT fp_glProgramUniformMatrix3x2fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x4fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix2x4fvEXT fp_glProgramUniformMatrix2x4fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x2fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4x2fvEXT fp_glProgramUniformMatrix4x2fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x4fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix3x4fvEXT fp_glProgramUniformMatrix3x4fvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x3fvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glProgramUniformMatrix4x3fvEXT fp_glProgramUniformMatrix4x3fvEXT; +typedef void (APIENTRYP pfn_glTextureBufferEXT) (GLuint, GLenum, GLenum, GLuint); +extern pfn_glTextureBufferEXT fp_glTextureBufferEXT; +typedef void (APIENTRYP pfn_glMultiTexBufferEXT) (GLenum, GLenum, GLenum, GLuint); +extern pfn_glMultiTexBufferEXT fp_glMultiTexBufferEXT; +typedef void (APIENTRYP pfn_glTextureParameterIivEXT) (GLuint, GLenum, GLenum, const GLint*); +extern pfn_glTextureParameterIivEXT fp_glTextureParameterIivEXT; +typedef void (APIENTRYP pfn_glTextureParameterIuivEXT) (GLuint, GLenum, GLenum, const GLuint*); +extern pfn_glTextureParameterIuivEXT fp_glTextureParameterIuivEXT; +typedef void (APIENTRYP pfn_glGetTextureParameterIivEXT) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetTextureParameterIivEXT fp_glGetTextureParameterIivEXT; +typedef void (APIENTRYP pfn_glGetTextureParameterIuivEXT) (GLuint, GLenum, GLenum, GLuint*); +extern pfn_glGetTextureParameterIuivEXT fp_glGetTextureParameterIuivEXT; +typedef void (APIENTRYP pfn_glMultiTexParameterIivEXT) (GLenum, GLenum, GLenum, const GLint*); +extern pfn_glMultiTexParameterIivEXT fp_glMultiTexParameterIivEXT; +typedef void (APIENTRYP pfn_glMultiTexParameterIuivEXT) (GLenum, GLenum, GLenum, const GLuint*); +extern pfn_glMultiTexParameterIuivEXT fp_glMultiTexParameterIuivEXT; +typedef void (APIENTRYP pfn_glGetMultiTexParameterIivEXT) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetMultiTexParameterIivEXT fp_glGetMultiTexParameterIivEXT; +typedef void (APIENTRYP pfn_glGetMultiTexParameterIuivEXT) (GLenum, GLenum, GLenum, GLuint*); +extern pfn_glGetMultiTexParameterIuivEXT fp_glGetMultiTexParameterIuivEXT; +typedef void (APIENTRYP pfn_glProgramUniform1uiEXT) (GLuint, GLint, GLuint); +extern pfn_glProgramUniform1uiEXT fp_glProgramUniform1uiEXT; +typedef void (APIENTRYP pfn_glProgramUniform2uiEXT) (GLuint, GLint, GLuint, GLuint); +extern pfn_glProgramUniform2uiEXT fp_glProgramUniform2uiEXT; +typedef void (APIENTRYP pfn_glProgramUniform3uiEXT) (GLuint, GLint, GLuint, GLuint, GLuint); +extern pfn_glProgramUniform3uiEXT fp_glProgramUniform3uiEXT; +typedef void (APIENTRYP pfn_glProgramUniform4uiEXT) (GLuint, GLint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glProgramUniform4uiEXT fp_glProgramUniform4uiEXT; +typedef void (APIENTRYP pfn_glProgramUniform1uivEXT) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform1uivEXT fp_glProgramUniform1uivEXT; +typedef void (APIENTRYP pfn_glProgramUniform2uivEXT) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform2uivEXT fp_glProgramUniform2uivEXT; +typedef void (APIENTRYP pfn_glProgramUniform3uivEXT) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform3uivEXT fp_glProgramUniform3uivEXT; +typedef void (APIENTRYP pfn_glProgramUniform4uivEXT) (GLuint, GLint, GLsizei, const GLuint*); +extern pfn_glProgramUniform4uivEXT fp_glProgramUniform4uivEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameters4fvEXT) (GLuint, GLenum, GLuint, GLsizei, const GLfloat*); +extern pfn_glNamedProgramLocalParameters4fvEXT fp_glNamedProgramLocalParameters4fvEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameterI4iEXT) (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint); +extern pfn_glNamedProgramLocalParameterI4iEXT fp_glNamedProgramLocalParameterI4iEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameterI4ivEXT) (GLuint, GLenum, GLuint, const GLint*); +extern pfn_glNamedProgramLocalParameterI4ivEXT fp_glNamedProgramLocalParameterI4ivEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParametersI4ivEXT) (GLuint, GLenum, GLuint, GLsizei, const GLint*); +extern pfn_glNamedProgramLocalParametersI4ivEXT fp_glNamedProgramLocalParametersI4ivEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameterI4uiEXT) (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glNamedProgramLocalParameterI4uiEXT fp_glNamedProgramLocalParameterI4uiEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameterI4uivEXT) (GLuint, GLenum, GLuint, const GLuint*); +extern pfn_glNamedProgramLocalParameterI4uivEXT fp_glNamedProgramLocalParameterI4uivEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParametersI4uivEXT) (GLuint, GLenum, GLuint, GLsizei, const GLuint*); +extern pfn_glNamedProgramLocalParametersI4uivEXT fp_glNamedProgramLocalParametersI4uivEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramLocalParameterIivEXT) (GLuint, GLenum, GLuint, GLint*); +extern pfn_glGetNamedProgramLocalParameterIivEXT fp_glGetNamedProgramLocalParameterIivEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramLocalParameterIuivEXT) (GLuint, GLenum, GLuint, GLuint*); +extern pfn_glGetNamedProgramLocalParameterIuivEXT fp_glGetNamedProgramLocalParameterIuivEXT; +typedef void (APIENTRYP pfn_glEnableClientStateiEXT) (GLenum, GLuint); +extern pfn_glEnableClientStateiEXT fp_glEnableClientStateiEXT; +typedef void (APIENTRYP pfn_glDisableClientStateiEXT) (GLenum, GLuint); +extern pfn_glDisableClientStateiEXT fp_glDisableClientStateiEXT; +typedef void (APIENTRYP pfn_glGetFloati_vEXT) (GLenum, GLuint, GLfloat*); +extern pfn_glGetFloati_vEXT fp_glGetFloati_vEXT; +typedef void (APIENTRYP pfn_glGetDoublei_vEXT) (GLenum, GLuint, GLdouble*); +extern pfn_glGetDoublei_vEXT fp_glGetDoublei_vEXT; +typedef void (APIENTRYP pfn_glGetPointeri_vEXT) (GLenum, GLuint, void**); +extern pfn_glGetPointeri_vEXT fp_glGetPointeri_vEXT; +typedef void (APIENTRYP pfn_glNamedProgramStringEXT) (GLuint, GLenum, GLenum, GLsizei, const void*); +extern pfn_glNamedProgramStringEXT fp_glNamedProgramStringEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameter4dEXT) (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glNamedProgramLocalParameter4dEXT fp_glNamedProgramLocalParameter4dEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameter4dvEXT) (GLuint, GLenum, GLuint, const GLdouble*); +extern pfn_glNamedProgramLocalParameter4dvEXT fp_glNamedProgramLocalParameter4dvEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameter4fEXT) (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glNamedProgramLocalParameter4fEXT fp_glNamedProgramLocalParameter4fEXT; +typedef void (APIENTRYP pfn_glNamedProgramLocalParameter4fvEXT) (GLuint, GLenum, GLuint, const GLfloat*); +extern pfn_glNamedProgramLocalParameter4fvEXT fp_glNamedProgramLocalParameter4fvEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramLocalParameterdvEXT) (GLuint, GLenum, GLuint, GLdouble*); +extern pfn_glGetNamedProgramLocalParameterdvEXT fp_glGetNamedProgramLocalParameterdvEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramLocalParameterfvEXT) (GLuint, GLenum, GLuint, GLfloat*); +extern pfn_glGetNamedProgramLocalParameterfvEXT fp_glGetNamedProgramLocalParameterfvEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramivEXT) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetNamedProgramivEXT fp_glGetNamedProgramivEXT; +typedef void (APIENTRYP pfn_glGetNamedProgramStringEXT) (GLuint, GLenum, GLenum, void*); +extern pfn_glGetNamedProgramStringEXT fp_glGetNamedProgramStringEXT; +typedef void (APIENTRYP pfn_glNamedRenderbufferStorageEXT) (GLuint, GLenum, GLsizei, GLsizei); +extern pfn_glNamedRenderbufferStorageEXT fp_glNamedRenderbufferStorageEXT; +typedef void (APIENTRYP pfn_glGetNamedRenderbufferParameterivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedRenderbufferParameterivEXT fp_glGetNamedRenderbufferParameterivEXT; +typedef void (APIENTRYP pfn_glNamedRenderbufferStorageMultisampleEXT) (GLuint, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glNamedRenderbufferStorageMultisampleEXT fp_glNamedRenderbufferStorageMultisampleEXT; +typedef void (APIENTRYP pfn_glNamedRenderbufferStorageMultisampleCoverageEXT) (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glNamedRenderbufferStorageMultisampleCoverageEXT fp_glNamedRenderbufferStorageMultisampleCoverageEXT; +typedef GLenum (APIENTRYP pfn_glCheckNamedFramebufferStatusEXT) (GLuint, GLenum); +extern pfn_glCheckNamedFramebufferStatusEXT fp_glCheckNamedFramebufferStatusEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTexture1DEXT) (GLuint, GLenum, GLenum, GLuint, GLint); +extern pfn_glNamedFramebufferTexture1DEXT fp_glNamedFramebufferTexture1DEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTexture2DEXT) (GLuint, GLenum, GLenum, GLuint, GLint); +extern pfn_glNamedFramebufferTexture2DEXT fp_glNamedFramebufferTexture2DEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTexture3DEXT) (GLuint, GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glNamedFramebufferTexture3DEXT fp_glNamedFramebufferTexture3DEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferRenderbufferEXT) (GLuint, GLenum, GLenum, GLuint); +extern pfn_glNamedFramebufferRenderbufferEXT fp_glNamedFramebufferRenderbufferEXT; +typedef void (APIENTRYP pfn_glGetNamedFramebufferAttachmentParameterivEXT) (GLuint, GLenum, GLenum, GLint*); +extern pfn_glGetNamedFramebufferAttachmentParameterivEXT fp_glGetNamedFramebufferAttachmentParameterivEXT; +typedef void (APIENTRYP pfn_glGenerateTextureMipmapEXT) (GLuint, GLenum); +extern pfn_glGenerateTextureMipmapEXT fp_glGenerateTextureMipmapEXT; +typedef void (APIENTRYP pfn_glGenerateMultiTexMipmapEXT) (GLenum, GLenum); +extern pfn_glGenerateMultiTexMipmapEXT fp_glGenerateMultiTexMipmapEXT; +typedef void (APIENTRYP pfn_glFramebufferDrawBufferEXT) (GLuint, GLenum); +extern pfn_glFramebufferDrawBufferEXT fp_glFramebufferDrawBufferEXT; +typedef void (APIENTRYP pfn_glFramebufferDrawBuffersEXT) (GLuint, GLsizei, const GLenum*); +extern pfn_glFramebufferDrawBuffersEXT fp_glFramebufferDrawBuffersEXT; +typedef void (APIENTRYP pfn_glFramebufferReadBufferEXT) (GLuint, GLenum); +extern pfn_glFramebufferReadBufferEXT fp_glFramebufferReadBufferEXT; +typedef void (APIENTRYP pfn_glGetFramebufferParameterivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetFramebufferParameterivEXT fp_glGetFramebufferParameterivEXT; +typedef void (APIENTRYP pfn_glNamedCopyBufferSubDataEXT) (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); +extern pfn_glNamedCopyBufferSubDataEXT fp_glNamedCopyBufferSubDataEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTextureEXT) (GLuint, GLenum, GLuint, GLint); +extern pfn_glNamedFramebufferTextureEXT fp_glNamedFramebufferTextureEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTextureLayerEXT) (GLuint, GLenum, GLuint, GLint, GLint); +extern pfn_glNamedFramebufferTextureLayerEXT fp_glNamedFramebufferTextureLayerEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferTextureFaceEXT) (GLuint, GLenum, GLuint, GLint, GLenum); +extern pfn_glNamedFramebufferTextureFaceEXT fp_glNamedFramebufferTextureFaceEXT; +typedef void (APIENTRYP pfn_glTextureRenderbufferEXT) (GLuint, GLenum, GLuint); +extern pfn_glTextureRenderbufferEXT fp_glTextureRenderbufferEXT; +typedef void (APIENTRYP pfn_glMultiTexRenderbufferEXT) (GLenum, GLenum, GLuint); +extern pfn_glMultiTexRenderbufferEXT fp_glMultiTexRenderbufferEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexOffsetEXT) (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayVertexOffsetEXT fp_glVertexArrayVertexOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayColorOffsetEXT) (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayColorOffsetEXT fp_glVertexArrayColorOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayEdgeFlagOffsetEXT) (GLuint, GLuint, GLsizei, GLintptr); +extern pfn_glVertexArrayEdgeFlagOffsetEXT fp_glVertexArrayEdgeFlagOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayIndexOffsetEXT) (GLuint, GLuint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayIndexOffsetEXT fp_glVertexArrayIndexOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayNormalOffsetEXT) (GLuint, GLuint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayNormalOffsetEXT fp_glVertexArrayNormalOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayTexCoordOffsetEXT) (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayTexCoordOffsetEXT fp_glVertexArrayTexCoordOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayMultiTexCoordOffsetEXT) (GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayMultiTexCoordOffsetEXT fp_glVertexArrayMultiTexCoordOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayFogCoordOffsetEXT) (GLuint, GLuint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayFogCoordOffsetEXT fp_glVertexArrayFogCoordOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArraySecondaryColorOffsetEXT) (GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArraySecondaryColorOffsetEXT fp_glVertexArraySecondaryColorOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribOffsetEXT) (GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr); +extern pfn_glVertexArrayVertexAttribOffsetEXT fp_glVertexArrayVertexAttribOffsetEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribIOffsetEXT) (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayVertexAttribIOffsetEXT fp_glVertexArrayVertexAttribIOffsetEXT; +typedef void (APIENTRYP pfn_glEnableVertexArrayEXT) (GLuint, GLenum); +extern pfn_glEnableVertexArrayEXT fp_glEnableVertexArrayEXT; +typedef void (APIENTRYP pfn_glDisableVertexArrayEXT) (GLuint, GLenum); +extern pfn_glDisableVertexArrayEXT fp_glDisableVertexArrayEXT; +typedef void (APIENTRYP pfn_glEnableVertexArrayAttribEXT) (GLuint, GLuint); +extern pfn_glEnableVertexArrayAttribEXT fp_glEnableVertexArrayAttribEXT; +typedef void (APIENTRYP pfn_glDisableVertexArrayAttribEXT) (GLuint, GLuint); +extern pfn_glDisableVertexArrayAttribEXT fp_glDisableVertexArrayAttribEXT; +typedef void (APIENTRYP pfn_glGetVertexArrayIntegervEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetVertexArrayIntegervEXT fp_glGetVertexArrayIntegervEXT; +typedef void (APIENTRYP pfn_glGetVertexArrayPointervEXT) (GLuint, GLenum, void**); +extern pfn_glGetVertexArrayPointervEXT fp_glGetVertexArrayPointervEXT; +typedef void (APIENTRYP pfn_glGetVertexArrayIntegeri_vEXT) (GLuint, GLuint, GLenum, GLint*); +extern pfn_glGetVertexArrayIntegeri_vEXT fp_glGetVertexArrayIntegeri_vEXT; +typedef void (APIENTRYP pfn_glGetVertexArrayPointeri_vEXT) (GLuint, GLuint, GLenum, void**); +extern pfn_glGetVertexArrayPointeri_vEXT fp_glGetVertexArrayPointeri_vEXT; +typedef void* (APIENTRYP pfn_glMapNamedBufferRangeEXT) (GLuint, GLintptr, GLsizeiptr, GLbitfield); +extern pfn_glMapNamedBufferRangeEXT fp_glMapNamedBufferRangeEXT; +typedef void (APIENTRYP pfn_glFlushMappedNamedBufferRangeEXT) (GLuint, GLintptr, GLsizeiptr); +extern pfn_glFlushMappedNamedBufferRangeEXT fp_glFlushMappedNamedBufferRangeEXT; +typedef void (APIENTRYP pfn_glNamedBufferStorageEXT) (GLuint, GLsizeiptr, const void*, GLbitfield); +extern pfn_glNamedBufferStorageEXT fp_glNamedBufferStorageEXT; +typedef void (APIENTRYP pfn_glClearNamedBufferDataEXT) (GLuint, GLenum, GLenum, GLenum, const void*); +extern pfn_glClearNamedBufferDataEXT fp_glClearNamedBufferDataEXT; +typedef void (APIENTRYP pfn_glClearNamedBufferSubDataEXT) (GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void*); +extern pfn_glClearNamedBufferSubDataEXT fp_glClearNamedBufferSubDataEXT; +typedef void (APIENTRYP pfn_glNamedFramebufferParameteriEXT) (GLuint, GLenum, GLint); +extern pfn_glNamedFramebufferParameteriEXT fp_glNamedFramebufferParameteriEXT; +typedef void (APIENTRYP pfn_glGetNamedFramebufferParameterivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetNamedFramebufferParameterivEXT fp_glGetNamedFramebufferParameterivEXT; +typedef void (APIENTRYP pfn_glProgramUniform1dEXT) (GLuint, GLint, GLdouble); +extern pfn_glProgramUniform1dEXT fp_glProgramUniform1dEXT; +typedef void (APIENTRYP pfn_glProgramUniform2dEXT) (GLuint, GLint, GLdouble, GLdouble); +extern pfn_glProgramUniform2dEXT fp_glProgramUniform2dEXT; +typedef void (APIENTRYP pfn_glProgramUniform3dEXT) (GLuint, GLint, GLdouble, GLdouble, GLdouble); +extern pfn_glProgramUniform3dEXT fp_glProgramUniform3dEXT; +typedef void (APIENTRYP pfn_glProgramUniform4dEXT) (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glProgramUniform4dEXT fp_glProgramUniform4dEXT; +typedef void (APIENTRYP pfn_glProgramUniform1dvEXT) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform1dvEXT fp_glProgramUniform1dvEXT; +typedef void (APIENTRYP pfn_glProgramUniform2dvEXT) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform2dvEXT fp_glProgramUniform2dvEXT; +typedef void (APIENTRYP pfn_glProgramUniform3dvEXT) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform3dvEXT fp_glProgramUniform3dvEXT; +typedef void (APIENTRYP pfn_glProgramUniform4dvEXT) (GLuint, GLint, GLsizei, const GLdouble*); +extern pfn_glProgramUniform4dvEXT fp_glProgramUniform4dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2dvEXT fp_glProgramUniformMatrix2dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3dvEXT fp_glProgramUniformMatrix3dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4dvEXT fp_glProgramUniformMatrix4dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x3dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2x3dvEXT fp_glProgramUniformMatrix2x3dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix2x4dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix2x4dvEXT fp_glProgramUniformMatrix2x4dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x2dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3x2dvEXT fp_glProgramUniformMatrix3x2dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix3x4dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix3x4dvEXT fp_glProgramUniformMatrix3x4dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x2dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4x2dvEXT fp_glProgramUniformMatrix4x2dvEXT; +typedef void (APIENTRYP pfn_glProgramUniformMatrix4x3dvEXT) (GLuint, GLint, GLsizei, GLboolean, const GLdouble*); +extern pfn_glProgramUniformMatrix4x3dvEXT fp_glProgramUniformMatrix4x3dvEXT; +typedef void (APIENTRYP pfn_glTextureBufferRangeEXT) (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); +extern pfn_glTextureBufferRangeEXT fp_glTextureBufferRangeEXT; +typedef void (APIENTRYP pfn_glTextureStorage1DEXT) (GLuint, GLenum, GLsizei, GLenum, GLsizei); +extern pfn_glTextureStorage1DEXT fp_glTextureStorage1DEXT; +typedef void (APIENTRYP pfn_glTextureStorage2DEXT) (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glTextureStorage2DEXT fp_glTextureStorage2DEXT; +typedef void (APIENTRYP pfn_glTextureStorage3DEXT) (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +extern pfn_glTextureStorage3DEXT fp_glTextureStorage3DEXT; +typedef void (APIENTRYP pfn_glTextureStorage2DMultisampleEXT) (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureStorage2DMultisampleEXT fp_glTextureStorage2DMultisampleEXT; +typedef void (APIENTRYP pfn_glTextureStorage3DMultisampleEXT) (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureStorage3DMultisampleEXT fp_glTextureStorage3DMultisampleEXT; +typedef void (APIENTRYP pfn_glVertexArrayBindVertexBufferEXT) (GLuint, GLuint, GLuint, GLintptr, GLsizei); +extern pfn_glVertexArrayBindVertexBufferEXT fp_glVertexArrayBindVertexBufferEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribFormatEXT) (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); +extern pfn_glVertexArrayVertexAttribFormatEXT fp_glVertexArrayVertexAttribFormatEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribIFormatEXT) (GLuint, GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexArrayVertexAttribIFormatEXT fp_glVertexArrayVertexAttribIFormatEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribLFormatEXT) (GLuint, GLuint, GLint, GLenum, GLuint); +extern pfn_glVertexArrayVertexAttribLFormatEXT fp_glVertexArrayVertexAttribLFormatEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribBindingEXT) (GLuint, GLuint, GLuint); +extern pfn_glVertexArrayVertexAttribBindingEXT fp_glVertexArrayVertexAttribBindingEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexBindingDivisorEXT) (GLuint, GLuint, GLuint); +extern pfn_glVertexArrayVertexBindingDivisorEXT fp_glVertexArrayVertexBindingDivisorEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribLOffsetEXT) (GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +extern pfn_glVertexArrayVertexAttribLOffsetEXT fp_glVertexArrayVertexAttribLOffsetEXT; +typedef void (APIENTRYP pfn_glTexturePageCommitmentEXT) (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexturePageCommitmentEXT fp_glTexturePageCommitmentEXT; +typedef void (APIENTRYP pfn_glVertexArrayVertexAttribDivisorEXT) (GLuint, GLuint, GLuint); +extern pfn_glVertexArrayVertexAttribDivisorEXT fp_glVertexArrayVertexAttribDivisorEXT; + + /* GL_EXT_discard_framebuffer */ +extern GLboolean GLAD_EXT_discard_framebuffer; +#define GL_COLOR_EXT 0x1800 +#define GL_DEPTH_EXT 0x1801 +#define GL_STENCIL_EXT 0x1802 +typedef void (APIENTRYP pfn_glDiscardFramebufferEXT) (GLenum, GLsizei, const GLenum*); +extern pfn_glDiscardFramebufferEXT fp_glDiscardFramebufferEXT; + + /* GL_EXT_disjoint_timer_query */ +extern GLboolean GLAD_EXT_disjoint_timer_query; +#define GL_QUERY_COUNTER_BITS_EXT 0x8864 +#define GL_CURRENT_QUERY_EXT 0x8865 +#define GL_QUERY_RESULT_EXT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 +#define GL_TIME_ELAPSED_EXT 0x88BF +#define GL_TIMESTAMP_EXT 0x8E28 +#define GL_GPU_DISJOINT_EXT 0x8FBB +typedef void (APIENTRYP pfn_glGenQueriesEXT) (GLsizei, GLuint*); +extern pfn_glGenQueriesEXT fp_glGenQueriesEXT; +typedef void (APIENTRYP pfn_glDeleteQueriesEXT) (GLsizei, const GLuint*); +extern pfn_glDeleteQueriesEXT fp_glDeleteQueriesEXT; +typedef GLboolean (APIENTRYP pfn_glIsQueryEXT) (GLuint); +extern pfn_glIsQueryEXT fp_glIsQueryEXT; +typedef void (APIENTRYP pfn_glBeginQueryEXT) (GLenum, GLuint); +extern pfn_glBeginQueryEXT fp_glBeginQueryEXT; +typedef void (APIENTRYP pfn_glEndQueryEXT) (GLenum); +extern pfn_glEndQueryEXT fp_glEndQueryEXT; +typedef void (APIENTRYP pfn_glQueryCounterEXT) (GLuint, GLenum); +extern pfn_glQueryCounterEXT fp_glQueryCounterEXT; +typedef void (APIENTRYP pfn_glGetQueryivEXT) (GLenum, GLenum, GLint*); +extern pfn_glGetQueryivEXT fp_glGetQueryivEXT; +typedef void (APIENTRYP pfn_glGetQueryObjectivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetQueryObjectivEXT fp_glGetQueryObjectivEXT; +typedef void (APIENTRYP pfn_glGetQueryObjectuivEXT) (GLuint, GLenum, GLuint*); +extern pfn_glGetQueryObjectuivEXT fp_glGetQueryObjectuivEXT; +typedef void (APIENTRYP pfn_glGetQueryObjecti64vEXT) (GLuint, GLenum, GLint64*); +extern pfn_glGetQueryObjecti64vEXT fp_glGetQueryObjecti64vEXT; +typedef void (APIENTRYP pfn_glGetQueryObjectui64vEXT) (GLuint, GLenum, GLuint64*); +extern pfn_glGetQueryObjectui64vEXT fp_glGetQueryObjectui64vEXT; + + /* GL_EXT_draw_buffers */ +extern GLboolean GLAD_EXT_draw_buffers; +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 +#define GL_DRAW_BUFFER0_EXT 0x8825 +#define GL_DRAW_BUFFER1_EXT 0x8826 +#define GL_DRAW_BUFFER2_EXT 0x8827 +#define GL_DRAW_BUFFER3_EXT 0x8828 +#define GL_DRAW_BUFFER4_EXT 0x8829 +#define GL_DRAW_BUFFER5_EXT 0x882A +#define GL_DRAW_BUFFER6_EXT 0x882B +#define GL_DRAW_BUFFER7_EXT 0x882C +#define GL_DRAW_BUFFER8_EXT 0x882D +#define GL_DRAW_BUFFER9_EXT 0x882E +#define GL_DRAW_BUFFER10_EXT 0x882F +#define GL_DRAW_BUFFER11_EXT 0x8830 +#define GL_DRAW_BUFFER12_EXT 0x8831 +#define GL_DRAW_BUFFER13_EXT 0x8832 +#define GL_DRAW_BUFFER14_EXT 0x8833 +#define GL_DRAW_BUFFER15_EXT 0x8834 +#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 +typedef void (APIENTRYP pfn_glDrawBuffersEXT) (GLsizei, const GLenum*); +extern pfn_glDrawBuffersEXT fp_glDrawBuffersEXT; + + /* GL_EXT_draw_buffers2 */ +extern GLboolean GLAD_EXT_draw_buffers2; +typedef void (APIENTRYP pfn_glColorMaskIndexedEXT) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +extern pfn_glColorMaskIndexedEXT fp_glColorMaskIndexedEXT; + + /* GL_EXT_draw_buffers_indexed */ +extern GLboolean GLAD_EXT_draw_buffers_indexed; +typedef void (APIENTRYP pfn_glEnableiEXT) (GLenum, GLuint); +extern pfn_glEnableiEXT fp_glEnableiEXT; +typedef void (APIENTRYP pfn_glDisableiEXT) (GLenum, GLuint); +extern pfn_glDisableiEXT fp_glDisableiEXT; +typedef void (APIENTRYP pfn_glBlendEquationiEXT) (GLuint, GLenum); +extern pfn_glBlendEquationiEXT fp_glBlendEquationiEXT; +typedef void (APIENTRYP pfn_glBlendEquationSeparateiEXT) (GLuint, GLenum, GLenum); +extern pfn_glBlendEquationSeparateiEXT fp_glBlendEquationSeparateiEXT; +typedef void (APIENTRYP pfn_glBlendFunciEXT) (GLuint, GLenum, GLenum); +extern pfn_glBlendFunciEXT fp_glBlendFunciEXT; +typedef void (APIENTRYP pfn_glBlendFuncSeparateiEXT) (GLuint, GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparateiEXT fp_glBlendFuncSeparateiEXT; +typedef void (APIENTRYP pfn_glColorMaskiEXT) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +extern pfn_glColorMaskiEXT fp_glColorMaskiEXT; +typedef GLboolean (APIENTRYP pfn_glIsEnablediEXT) (GLenum, GLuint); +extern pfn_glIsEnablediEXT fp_glIsEnablediEXT; + + /* GL_EXT_draw_instanced */ +extern GLboolean GLAD_EXT_draw_instanced; +typedef void (APIENTRYP pfn_glDrawArraysInstancedEXT) (GLenum, GLint, GLsizei, GLsizei); +extern pfn_glDrawArraysInstancedEXT fp_glDrawArraysInstancedEXT; +typedef void (APIENTRYP pfn_glDrawElementsInstancedEXT) (GLenum, GLsizei, GLenum, const void*, GLsizei); +extern pfn_glDrawElementsInstancedEXT fp_glDrawElementsInstancedEXT; + + /* GL_EXT_framebuffer_blit */ +extern GLboolean GLAD_EXT_framebuffer_blit; +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA +typedef void (APIENTRYP pfn_glBlitFramebufferEXT) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +extern pfn_glBlitFramebufferEXT fp_glBlitFramebufferEXT; + + /* GL_EXT_framebuffer_multisample */ +extern GLboolean GLAD_EXT_framebuffer_multisample; +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleEXT) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleEXT fp_glRenderbufferStorageMultisampleEXT; + + /* GL_EXT_framebuffer_multisample_blit_scaled */ +extern GLboolean GLAD_EXT_framebuffer_multisample_blit_scaled; +#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA +#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB + + /* GL_EXT_framebuffer_object */ +extern GLboolean GLAD_EXT_framebuffer_object; +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#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_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#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_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#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 +typedef GLboolean (APIENTRYP pfn_glIsRenderbufferEXT) (GLuint); +extern pfn_glIsRenderbufferEXT fp_glIsRenderbufferEXT; +typedef void (APIENTRYP pfn_glBindRenderbufferEXT) (GLenum, GLuint); +extern pfn_glBindRenderbufferEXT fp_glBindRenderbufferEXT; +typedef void (APIENTRYP pfn_glDeleteRenderbuffersEXT) (GLsizei, const GLuint*); +extern pfn_glDeleteRenderbuffersEXT fp_glDeleteRenderbuffersEXT; +typedef void (APIENTRYP pfn_glGenRenderbuffersEXT) (GLsizei, GLuint*); +extern pfn_glGenRenderbuffersEXT fp_glGenRenderbuffersEXT; +typedef void (APIENTRYP pfn_glRenderbufferStorageEXT) (GLenum, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageEXT fp_glRenderbufferStorageEXT; +typedef void (APIENTRYP pfn_glGetRenderbufferParameterivEXT) (GLenum, GLenum, GLint*); +extern pfn_glGetRenderbufferParameterivEXT fp_glGetRenderbufferParameterivEXT; +typedef GLboolean (APIENTRYP pfn_glIsFramebufferEXT) (GLuint); +extern pfn_glIsFramebufferEXT fp_glIsFramebufferEXT; +typedef void (APIENTRYP pfn_glBindFramebufferEXT) (GLenum, GLuint); +extern pfn_glBindFramebufferEXT fp_glBindFramebufferEXT; +typedef void (APIENTRYP pfn_glDeleteFramebuffersEXT) (GLsizei, const GLuint*); +extern pfn_glDeleteFramebuffersEXT fp_glDeleteFramebuffersEXT; +typedef void (APIENTRYP pfn_glGenFramebuffersEXT) (GLsizei, GLuint*); +extern pfn_glGenFramebuffersEXT fp_glGenFramebuffersEXT; +typedef GLenum (APIENTRYP pfn_glCheckFramebufferStatusEXT) (GLenum); +extern pfn_glCheckFramebufferStatusEXT fp_glCheckFramebufferStatusEXT; +typedef void (APIENTRYP pfn_glFramebufferTexture1DEXT) (GLenum, GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTexture1DEXT fp_glFramebufferTexture1DEXT; +typedef void (APIENTRYP pfn_glFramebufferTexture2DEXT) (GLenum, GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTexture2DEXT fp_glFramebufferTexture2DEXT; +typedef void (APIENTRYP pfn_glFramebufferTexture3DEXT) (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTexture3DEXT fp_glFramebufferTexture3DEXT; +typedef void (APIENTRYP pfn_glFramebufferRenderbufferEXT) (GLenum, GLenum, GLenum, GLuint); +extern pfn_glFramebufferRenderbufferEXT fp_glFramebufferRenderbufferEXT; +typedef void (APIENTRYP pfn_glGetFramebufferAttachmentParameterivEXT) (GLenum, GLenum, GLenum, GLint*); +extern pfn_glGetFramebufferAttachmentParameterivEXT fp_glGetFramebufferAttachmentParameterivEXT; +typedef void (APIENTRYP pfn_glGenerateMipmapEXT) (GLenum); +extern pfn_glGenerateMipmapEXT fp_glGenerateMipmapEXT; + + /* GL_EXT_framebuffer_sRGB */ +extern GLboolean GLAD_EXT_framebuffer_sRGB; +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 +#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA + + /* GL_EXT_geometry_point_size */ +extern GLboolean GLAD_EXT_geometry_point_size; + + /* GL_EXT_geometry_shader */ +extern GLboolean GLAD_EXT_geometry_shader; +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004 +#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916 +#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917 +#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918 +#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F +#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E +#define GL_LINES_ADJACENCY_EXT 0x000A +#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B +#define GL_TRIANGLES_ADJACENCY_EXT 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5 +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7 +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_UNDEFINED_VERTEX_EXT 0x8260 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312 +#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309 +typedef void (APIENTRYP pfn_glFramebufferTextureEXT) (GLenum, GLenum, GLuint, GLint); +extern pfn_glFramebufferTextureEXT fp_glFramebufferTextureEXT; + + /* GL_EXT_geometry_shader4 */ +extern GLboolean GLAD_EXT_geometry_shader4; +#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE +#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 +typedef void (APIENTRYP pfn_glProgramParameteriEXT) (GLuint, GLenum, GLint); +extern pfn_glProgramParameteriEXT fp_glProgramParameteriEXT; + + /* GL_EXT_gpu_program_parameters */ +extern GLboolean GLAD_EXT_gpu_program_parameters; +typedef void (APIENTRYP pfn_glProgramEnvParameters4fvEXT) (GLenum, GLuint, GLsizei, const GLfloat*); +extern pfn_glProgramEnvParameters4fvEXT fp_glProgramEnvParameters4fvEXT; +typedef void (APIENTRYP pfn_glProgramLocalParameters4fvEXT) (GLenum, GLuint, GLsizei, const GLfloat*); +extern pfn_glProgramLocalParameters4fvEXT fp_glProgramLocalParameters4fvEXT; + + /* GL_EXT_gpu_shader4 */ +extern GLboolean GLAD_EXT_gpu_shader4; +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD +#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 +#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 +#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 +#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 +#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 +#define GL_INT_SAMPLER_1D_EXT 0x8DC9 +#define GL_INT_SAMPLER_2D_EXT 0x8DCA +#define GL_INT_SAMPLER_3D_EXT 0x8DCB +#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC +#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD +#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 +#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905 +typedef void (APIENTRYP pfn_glGetUniformuivEXT) (GLuint, GLint, GLuint*); +extern pfn_glGetUniformuivEXT fp_glGetUniformuivEXT; +typedef void (APIENTRYP pfn_glBindFragDataLocationEXT) (GLuint, GLuint, const GLchar*); +extern pfn_glBindFragDataLocationEXT fp_glBindFragDataLocationEXT; +typedef GLint (APIENTRYP pfn_glGetFragDataLocationEXT) (GLuint, const GLchar*); +extern pfn_glGetFragDataLocationEXT fp_glGetFragDataLocationEXT; +typedef void (APIENTRYP pfn_glUniform1uiEXT) (GLint, GLuint); +extern pfn_glUniform1uiEXT fp_glUniform1uiEXT; +typedef void (APIENTRYP pfn_glUniform2uiEXT) (GLint, GLuint, GLuint); +extern pfn_glUniform2uiEXT fp_glUniform2uiEXT; +typedef void (APIENTRYP pfn_glUniform3uiEXT) (GLint, GLuint, GLuint, GLuint); +extern pfn_glUniform3uiEXT fp_glUniform3uiEXT; +typedef void (APIENTRYP pfn_glUniform4uiEXT) (GLint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glUniform4uiEXT fp_glUniform4uiEXT; +typedef void (APIENTRYP pfn_glUniform1uivEXT) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform1uivEXT fp_glUniform1uivEXT; +typedef void (APIENTRYP pfn_glUniform2uivEXT) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform2uivEXT fp_glUniform2uivEXT; +typedef void (APIENTRYP pfn_glUniform3uivEXT) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform3uivEXT fp_glUniform3uivEXT; +typedef void (APIENTRYP pfn_glUniform4uivEXT) (GLint, GLsizei, const GLuint*); +extern pfn_glUniform4uivEXT fp_glUniform4uivEXT; + + /* GL_EXT_gpu_shader5 */ +extern GLboolean GLAD_EXT_gpu_shader5; + + /* GL_EXT_instanced_arrays */ +extern GLboolean GLAD_EXT_instanced_arrays; +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE +typedef void (APIENTRYP pfn_glVertexAttribDivisorEXT) (GLuint, GLuint); +extern pfn_glVertexAttribDivisorEXT fp_glVertexAttribDivisorEXT; + + /* GL_EXT_map_buffer_range */ +extern GLboolean GLAD_EXT_map_buffer_range; +#define GL_MAP_READ_BIT_EXT 0x0001 +#define GL_MAP_WRITE_BIT_EXT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 +typedef void* (APIENTRYP pfn_glMapBufferRangeEXT) (GLenum, GLintptr, GLsizeiptr, GLbitfield); +extern pfn_glMapBufferRangeEXT fp_glMapBufferRangeEXT; +typedef void (APIENTRYP pfn_glFlushMappedBufferRangeEXT) (GLenum, GLintptr, GLsizeiptr); +extern pfn_glFlushMappedBufferRangeEXT fp_glFlushMappedBufferRangeEXT; + + /* GL_EXT_multisampled_render_to_texture */ +extern GLboolean GLAD_EXT_multisampled_render_to_texture; +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C +typedef void (APIENTRYP pfn_glFramebufferTexture2DMultisampleEXT) (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); +extern pfn_glFramebufferTexture2DMultisampleEXT fp_glFramebufferTexture2DMultisampleEXT; + + /* GL_EXT_multiview_draw_buffers */ +extern GLboolean GLAD_EXT_multiview_draw_buffers; +#define GL_COLOR_ATTACHMENT_EXT 0x90F0 +#define GL_MULTIVIEW_EXT 0x90F1 +#define GL_DRAW_BUFFER_EXT 0x0C01 +#define GL_READ_BUFFER_EXT 0x0C02 +#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 +typedef void (APIENTRYP pfn_glReadBufferIndexedEXT) (GLenum, GLint); +extern pfn_glReadBufferIndexedEXT fp_glReadBufferIndexedEXT; +typedef void (APIENTRYP pfn_glDrawBuffersIndexedEXT) (GLint, const GLenum*, const GLint*); +extern pfn_glDrawBuffersIndexedEXT fp_glDrawBuffersIndexedEXT; +typedef void (APIENTRYP pfn_glGetIntegeri_vEXT) (GLenum, GLuint, GLint*); +extern pfn_glGetIntegeri_vEXT fp_glGetIntegeri_vEXT; + + /* GL_EXT_occlusion_query_boolean */ +extern GLboolean GLAD_EXT_occlusion_query_boolean; +#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A + + /* GL_EXT_packed_depth_stencil */ +extern GLboolean GLAD_EXT_packed_depth_stencil; +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 + + /* GL_EXT_packed_float */ +extern GLboolean GLAD_EXT_packed_float; +#define GL_R11F_G11F_B10F_EXT 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B +#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C + + /* GL_EXT_pixel_buffer_object */ +extern GLboolean GLAD_EXT_pixel_buffer_object; +#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF + + /* GL_EXT_primitive_bounding_box */ +extern GLboolean GLAD_EXT_primitive_bounding_box; +#define GL_PRIMITIVE_BOUNDING_BOX_EXT 0x92BE +typedef void (APIENTRYP pfn_glPrimitiveBoundingBoxEXT) (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glPrimitiveBoundingBoxEXT fp_glPrimitiveBoundingBoxEXT; + + /* GL_EXT_provoking_vertex */ +extern GLboolean GLAD_EXT_provoking_vertex; +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_PROVOKING_VERTEX_EXT 0x8E4F +typedef void (APIENTRYP pfn_glProvokingVertexEXT) (GLenum); +extern pfn_glProvokingVertexEXT fp_glProvokingVertexEXT; + + /* GL_EXT_pvrtc_sRGB */ +extern GLboolean GLAD_EXT_pvrtc_sRGB; +#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54 +#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG 0x93F0 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG 0x93F1 + + /* GL_EXT_read_format_bgra */ +extern GLboolean GLAD_EXT_read_format_bgra; +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 + + /* GL_EXT_robustness */ +extern GLboolean GLAD_EXT_robustness; +#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 +#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 +#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 +#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 +#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 +typedef GLenum (APIENTRYP pfn_glGetGraphicsResetStatusEXT) (); +extern pfn_glGetGraphicsResetStatusEXT fp_glGetGraphicsResetStatusEXT; +typedef void (APIENTRYP pfn_glReadnPixelsEXT) (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*); +extern pfn_glReadnPixelsEXT fp_glReadnPixelsEXT; +typedef void (APIENTRYP pfn_glGetnUniformfvEXT) (GLuint, GLint, GLsizei, GLfloat*); +extern pfn_glGetnUniformfvEXT fp_glGetnUniformfvEXT; +typedef void (APIENTRYP pfn_glGetnUniformivEXT) (GLuint, GLint, GLsizei, GLint*); +extern pfn_glGetnUniformivEXT fp_glGetnUniformivEXT; + + /* GL_EXT_separate_shader_objects */ +extern GLboolean GLAD_EXT_separate_shader_objects; +#define GL_ACTIVE_PROGRAM_EXT 0x8B8D +#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 +#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF +#define GL_PROGRAM_SEPARABLE_EXT 0x8258 +#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A +typedef void (APIENTRYP pfn_glUseShaderProgramEXT) (GLenum, GLuint); +extern pfn_glUseShaderProgramEXT fp_glUseShaderProgramEXT; +typedef void (APIENTRYP pfn_glActiveProgramEXT) (GLuint); +extern pfn_glActiveProgramEXT fp_glActiveProgramEXT; +typedef GLuint (APIENTRYP pfn_glCreateShaderProgramEXT) (GLenum, const GLchar*); +extern pfn_glCreateShaderProgramEXT fp_glCreateShaderProgramEXT; +typedef void (APIENTRYP pfn_glActiveShaderProgramEXT) (GLuint, GLuint); +extern pfn_glActiveShaderProgramEXT fp_glActiveShaderProgramEXT; +typedef void (APIENTRYP pfn_glBindProgramPipelineEXT) (GLuint); +extern pfn_glBindProgramPipelineEXT fp_glBindProgramPipelineEXT; +typedef GLuint (APIENTRYP pfn_glCreateShaderProgramvEXT) (GLenum, GLsizei, const GLchar**); +extern pfn_glCreateShaderProgramvEXT fp_glCreateShaderProgramvEXT; +typedef void (APIENTRYP pfn_glDeleteProgramPipelinesEXT) (GLsizei, const GLuint*); +extern pfn_glDeleteProgramPipelinesEXT fp_glDeleteProgramPipelinesEXT; +typedef void (APIENTRYP pfn_glGenProgramPipelinesEXT) (GLsizei, GLuint*); +extern pfn_glGenProgramPipelinesEXT fp_glGenProgramPipelinesEXT; +typedef void (APIENTRYP pfn_glGetProgramPipelineInfoLogEXT) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetProgramPipelineInfoLogEXT fp_glGetProgramPipelineInfoLogEXT; +typedef void (APIENTRYP pfn_glGetProgramPipelineivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetProgramPipelineivEXT fp_glGetProgramPipelineivEXT; +typedef GLboolean (APIENTRYP pfn_glIsProgramPipelineEXT) (GLuint); +extern pfn_glIsProgramPipelineEXT fp_glIsProgramPipelineEXT; +typedef void (APIENTRYP pfn_glUseProgramStagesEXT) (GLuint, GLbitfield, GLuint); +extern pfn_glUseProgramStagesEXT fp_glUseProgramStagesEXT; +typedef void (APIENTRYP pfn_glValidateProgramPipelineEXT) (GLuint); +extern pfn_glValidateProgramPipelineEXT fp_glValidateProgramPipelineEXT; + + /* GL_EXT_shader_framebuffer_fetch */ +extern GLboolean GLAD_EXT_shader_framebuffer_fetch; +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 + + /* GL_EXT_shader_image_load_formatted */ +extern GLboolean GLAD_EXT_shader_image_load_formatted; + + /* GL_EXT_shader_image_load_store */ +extern GLboolean GLAD_EXT_shader_image_load_store; +#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 +#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A +#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B +#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C +#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D +#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E +#define GL_IMAGE_1D_EXT 0x904C +#define GL_IMAGE_2D_EXT 0x904D +#define GL_IMAGE_3D_EXT 0x904E +#define GL_IMAGE_2D_RECT_EXT 0x904F +#define GL_IMAGE_CUBE_EXT 0x9050 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_IMAGE_1D_ARRAY_EXT 0x9052 +#define GL_IMAGE_2D_ARRAY_EXT 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 +#define GL_INT_IMAGE_1D_EXT 0x9057 +#define GL_INT_IMAGE_2D_EXT 0x9058 +#define GL_INT_IMAGE_3D_EXT 0x9059 +#define GL_INT_IMAGE_2D_RECT_EXT 0x905A +#define GL_INT_IMAGE_CUBE_EXT 0x905B +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D +#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C +#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D +#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 +#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 +#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF +typedef void (APIENTRYP pfn_glBindImageTextureEXT) (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint); +extern pfn_glBindImageTextureEXT fp_glBindImageTextureEXT; +typedef void (APIENTRYP pfn_glMemoryBarrierEXT) (GLbitfield); +extern pfn_glMemoryBarrierEXT fp_glMemoryBarrierEXT; + + /* GL_EXT_shader_implicit_conversions */ +extern GLboolean GLAD_EXT_shader_implicit_conversions; + + /* GL_EXT_shader_integer_mix */ +extern GLboolean GLAD_EXT_shader_integer_mix; + + /* GL_EXT_shader_io_blocks */ +extern GLboolean GLAD_EXT_shader_io_blocks; + + /* GL_EXT_shader_pixel_local_storage */ +extern GLboolean GLAD_EXT_shader_pixel_local_storage; +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63 +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67 +#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64 + + /* GL_EXT_shader_texture_lod */ +extern GLboolean GLAD_EXT_shader_texture_lod; + + /* GL_EXT_shadow_samplers */ +extern GLboolean GLAD_EXT_shadow_samplers; +#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C +#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D +#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E +#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 + + /* GL_EXT_sRGB */ +extern GLboolean GLAD_EXT_sRGB; +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 + + /* GL_EXT_sRGB_write_control */ +extern GLboolean GLAD_EXT_sRGB_write_control; + + /* GL_EXT_stencil_clear_tag */ +extern GLboolean GLAD_EXT_stencil_clear_tag; +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 +typedef void (APIENTRYP pfn_glStencilClearTagEXT) (GLsizei, GLuint); +extern pfn_glStencilClearTagEXT fp_glStencilClearTagEXT; + + /* GL_EXT_tessellation_point_size */ +extern GLboolean GLAD_EXT_tessellation_point_size; + + /* GL_EXT_tessellation_shader */ +extern GLboolean GLAD_EXT_tessellation_shader; +#define GL_PATCHES_EXT 0x000E +#define GL_PATCH_VERTICES_EXT 0x8E72 +#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT 0x8E75 +#define GL_TESS_GEN_MODE_EXT 0x8E76 +#define GL_TESS_GEN_SPACING_EXT 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER_EXT 0x8E78 +#define GL_TESS_GEN_POINT_MODE_EXT 0x8E79 +#define GL_ISOLINES_EXT 0x8E7A +#define GL_QUADS_EXT 0x0007 +#define GL_FRACTIONAL_ODD_EXT 0x8E7B +#define GL_FRACTIONAL_EVEN_EXT 0x8E7C +#define GL_MAX_PATCH_VERTICES_EXT 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL_EXT 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS_EXT 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E1F +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT 0x92CE +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT 0x92D4 +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT 0x90CC +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT 0x90D9 +#define GL_IS_PER_PATCH_EXT 0x92E7 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT 0x9308 +#define GL_TESS_CONTROL_SHADER_EXT 0x8E88 +#define GL_TESS_EVALUATION_SHADER_EXT 0x8E87 +#define GL_TESS_CONTROL_SHADER_BIT_EXT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT_EXT 0x00000010 +typedef void (APIENTRYP pfn_glPatchParameteriEXT) (GLenum, GLint); +extern pfn_glPatchParameteriEXT fp_glPatchParameteriEXT; + + /* GL_EXT_texture_array */ +extern GLboolean GLAD_EXT_texture_array; +#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D +#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +typedef void (APIENTRYP pfn_glFramebufferTextureLayerEXT) (GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTextureLayerEXT fp_glFramebufferTextureLayerEXT; + + /* GL_EXT_texture_border_clamp */ +extern GLboolean GLAD_EXT_texture_border_clamp; +#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004 +#define GL_CLAMP_TO_BORDER_EXT 0x812D +typedef void (APIENTRYP pfn_glTexParameterIivEXT) (GLenum, GLenum, const GLint*); +extern pfn_glTexParameterIivEXT fp_glTexParameterIivEXT; +typedef void (APIENTRYP pfn_glTexParameterIuivEXT) (GLenum, GLenum, const GLuint*); +extern pfn_glTexParameterIuivEXT fp_glTexParameterIuivEXT; +typedef void (APIENTRYP pfn_glGetTexParameterIivEXT) (GLenum, GLenum, GLint*); +extern pfn_glGetTexParameterIivEXT fp_glGetTexParameterIivEXT; +typedef void (APIENTRYP pfn_glGetTexParameterIuivEXT) (GLenum, GLenum, GLuint*); +extern pfn_glGetTexParameterIuivEXT fp_glGetTexParameterIuivEXT; +typedef void (APIENTRYP pfn_glSamplerParameterIivEXT) (GLuint, GLenum, const GLint*); +extern pfn_glSamplerParameterIivEXT fp_glSamplerParameterIivEXT; +typedef void (APIENTRYP pfn_glSamplerParameterIuivEXT) (GLuint, GLenum, const GLuint*); +extern pfn_glSamplerParameterIuivEXT fp_glSamplerParameterIuivEXT; +typedef void (APIENTRYP pfn_glGetSamplerParameterIivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetSamplerParameterIivEXT fp_glGetSamplerParameterIivEXT; +typedef void (APIENTRYP pfn_glGetSamplerParameterIuivEXT) (GLuint, GLenum, GLuint*); +extern pfn_glGetSamplerParameterIuivEXT fp_glGetSamplerParameterIuivEXT; + + /* GL_EXT_texture_buffer */ +extern GLboolean GLAD_EXT_texture_buffer; +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_TEXTURE_BUFFER_BINDING_EXT 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT 0x919F +#define GL_TEXTURE_BUFFER_OFFSET_EXT 0x919D +#define GL_TEXTURE_BUFFER_SIZE_EXT 0x919E +typedef void (APIENTRYP pfn_glTexBufferEXT) (GLenum, GLenum, GLuint); +extern pfn_glTexBufferEXT fp_glTexBufferEXT; +typedef void (APIENTRYP pfn_glTexBufferRangeEXT) (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); +extern pfn_glTexBufferRangeEXT fp_glTexBufferRangeEXT; + + /* GL_EXT_texture_buffer_object */ +extern GLboolean GLAD_EXT_texture_buffer_object; +#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E + + /* GL_EXT_texture_compression_dxt1 */ +extern GLboolean GLAD_EXT_texture_compression_dxt1; +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 + + /* GL_EXT_texture_compression_latc */ +extern GLboolean GLAD_EXT_texture_compression_latc; +#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 +#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 +#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 +#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 + + /* GL_EXT_texture_compression_rgtc */ +extern GLboolean GLAD_EXT_texture_compression_rgtc; +#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC +#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE + + /* GL_EXT_texture_compression_s3tc */ +extern GLboolean GLAD_EXT_texture_compression_s3tc; +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 + + /* GL_EXT_texture_cube_map */ +extern GLboolean GLAD_EXT_texture_cube_map; +#define GL_NORMAL_MAP_EXT 0x8511 +#define GL_REFLECTION_MAP_EXT 0x8512 +#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C + + /* GL_EXT_texture_cube_map_array */ +extern GLboolean GLAD_EXT_texture_cube_map_array; +#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A +#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F + + /* GL_EXT_texture_filter_anisotropic */ +extern GLboolean GLAD_EXT_texture_filter_anisotropic; +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF + + /* GL_EXT_texture_format_BGRA8888 */ +extern GLboolean GLAD_EXT_texture_format_BGRA8888; + + /* GL_EXT_texture_integer */ +extern GLboolean GLAD_EXT_texture_integer; +#define GL_RGBA32UI_EXT 0x8D70 +#define GL_RGB32UI_EXT 0x8D71 +#define GL_ALPHA32UI_EXT 0x8D72 +#define GL_INTENSITY32UI_EXT 0x8D73 +#define GL_LUMINANCE32UI_EXT 0x8D74 +#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 +#define GL_RGBA16UI_EXT 0x8D76 +#define GL_RGB16UI_EXT 0x8D77 +#define GL_ALPHA16UI_EXT 0x8D78 +#define GL_INTENSITY16UI_EXT 0x8D79 +#define GL_LUMINANCE16UI_EXT 0x8D7A +#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B +#define GL_RGBA8UI_EXT 0x8D7C +#define GL_RGB8UI_EXT 0x8D7D +#define GL_ALPHA8UI_EXT 0x8D7E +#define GL_INTENSITY8UI_EXT 0x8D7F +#define GL_LUMINANCE8UI_EXT 0x8D80 +#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 +#define GL_RGBA32I_EXT 0x8D82 +#define GL_RGB32I_EXT 0x8D83 +#define GL_ALPHA32I_EXT 0x8D84 +#define GL_INTENSITY32I_EXT 0x8D85 +#define GL_LUMINANCE32I_EXT 0x8D86 +#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 +#define GL_RGBA16I_EXT 0x8D88 +#define GL_RGB16I_EXT 0x8D89 +#define GL_ALPHA16I_EXT 0x8D8A +#define GL_INTENSITY16I_EXT 0x8D8B +#define GL_LUMINANCE16I_EXT 0x8D8C +#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D +#define GL_RGBA8I_EXT 0x8D8E +#define GL_RGB8I_EXT 0x8D8F +#define GL_ALPHA8I_EXT 0x8D90 +#define GL_INTENSITY8I_EXT 0x8D91 +#define GL_LUMINANCE8I_EXT 0x8D92 +#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 +#define GL_RED_INTEGER_EXT 0x8D94 +#define GL_GREEN_INTEGER_EXT 0x8D95 +#define GL_BLUE_INTEGER_EXT 0x8D96 +#define GL_ALPHA_INTEGER_EXT 0x8D97 +#define GL_RGB_INTEGER_EXT 0x8D98 +#define GL_RGBA_INTEGER_EXT 0x8D99 +#define GL_BGR_INTEGER_EXT 0x8D9A +#define GL_BGRA_INTEGER_EXT 0x8D9B +#define GL_LUMINANCE_INTEGER_EXT 0x8D9C +#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D +#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E +typedef void (APIENTRYP pfn_glClearColorIiEXT) (GLint, GLint, GLint, GLint); +extern pfn_glClearColorIiEXT fp_glClearColorIiEXT; +typedef void (APIENTRYP pfn_glClearColorIuiEXT) (GLuint, GLuint, GLuint, GLuint); +extern pfn_glClearColorIuiEXT fp_glClearColorIuiEXT; + + /* GL_EXT_texture_rg */ +extern GLboolean GLAD_EXT_texture_rg; +#define GL_RED_EXT 0x1903 +#define GL_RG_EXT 0x8227 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B + + /* GL_EXT_texture_shared_exponent */ +extern GLboolean GLAD_EXT_texture_shared_exponent; +#define GL_RGB9_E5_EXT 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E +#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F + + /* GL_EXT_texture_snorm */ +extern GLboolean GLAD_EXT_texture_snorm; +#define GL_ALPHA_SNORM 0x9010 +#define GL_LUMINANCE_SNORM 0x9011 +#define GL_LUMINANCE_ALPHA_SNORM 0x9012 +#define GL_INTENSITY_SNORM 0x9013 +#define GL_ALPHA8_SNORM 0x9014 +#define GL_LUMINANCE8_SNORM 0x9015 +#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 +#define GL_INTENSITY8_SNORM 0x9017 +#define GL_ALPHA16_SNORM 0x9018 +#define GL_LUMINANCE16_SNORM 0x9019 +#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A +#define GL_INTENSITY16_SNORM 0x901B +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 + + /* GL_EXT_texture_sRGB */ +extern GLboolean GLAD_EXT_texture_sRGB; +#define GL_SRGB8_EXT 0x8C41 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F + + /* GL_EXT_texture_sRGB_decode */ +extern GLboolean GLAD_EXT_texture_sRGB_decode; +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A + + /* GL_EXT_texture_storage */ +extern GLboolean GLAD_EXT_texture_storage; +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_ALPHA8_EXT 0x803C +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGB32F_EXT 0x8815 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_ALPHA16F_EXT 0x881C +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGB10_EXT 0x8052 +#define GL_BGRA8_EXT 0x93A1 +#define GL_R32F_EXT 0x822E +#define GL_RG32F_EXT 0x8230 +typedef void (APIENTRYP pfn_glTexStorage1DEXT) (GLenum, GLsizei, GLenum, GLsizei); +extern pfn_glTexStorage1DEXT fp_glTexStorage1DEXT; +typedef void (APIENTRYP pfn_glTexStorage2DEXT) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glTexStorage2DEXT fp_glTexStorage2DEXT; +typedef void (APIENTRYP pfn_glTexStorage3DEXT) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +extern pfn_glTexStorage3DEXT fp_glTexStorage3DEXT; + + /* GL_EXT_texture_swizzle */ +extern GLboolean GLAD_EXT_texture_swizzle; +#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 +#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 +#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 +#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 + + /* GL_EXT_texture_type_2_10_10_10_REV */ +extern GLboolean GLAD_EXT_texture_type_2_10_10_10_REV; +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 + + /* GL_EXT_texture_view */ +extern GLboolean GLAD_EXT_texture_view; +#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER_EXT 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT 0x82DE +typedef void (APIENTRYP pfn_glTextureViewEXT) (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); +extern pfn_glTextureViewEXT fp_glTextureViewEXT; + + /* GL_EXT_timer_query */ +extern GLboolean GLAD_EXT_timer_query; + + /* GL_EXT_transform_feedback */ +extern GLboolean GLAD_EXT_transform_feedback; +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +typedef void (APIENTRYP pfn_glBeginTransformFeedbackEXT) (GLenum); +extern pfn_glBeginTransformFeedbackEXT fp_glBeginTransformFeedbackEXT; +typedef void (APIENTRYP pfn_glEndTransformFeedbackEXT) (); +extern pfn_glEndTransformFeedbackEXT fp_glEndTransformFeedbackEXT; +typedef void (APIENTRYP pfn_glBindBufferRangeEXT) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +extern pfn_glBindBufferRangeEXT fp_glBindBufferRangeEXT; +typedef void (APIENTRYP pfn_glBindBufferOffsetEXT) (GLenum, GLuint, GLuint, GLintptr); +extern pfn_glBindBufferOffsetEXT fp_glBindBufferOffsetEXT; +typedef void (APIENTRYP pfn_glBindBufferBaseEXT) (GLenum, GLuint, GLuint); +extern pfn_glBindBufferBaseEXT fp_glBindBufferBaseEXT; +typedef void (APIENTRYP pfn_glTransformFeedbackVaryingsEXT) (GLuint, GLsizei, const GLchar**, GLenum); +extern pfn_glTransformFeedbackVaryingsEXT fp_glTransformFeedbackVaryingsEXT; +typedef void (APIENTRYP pfn_glGetTransformFeedbackVaryingEXT) (GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*); +extern pfn_glGetTransformFeedbackVaryingEXT fp_glGetTransformFeedbackVaryingEXT; + + /* GL_EXT_unpack_subimage */ +extern GLboolean GLAD_EXT_unpack_subimage; +#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 +#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 + + /* GL_EXT_vertex_array_bgra */ +extern GLboolean GLAD_EXT_vertex_array_bgra; + + /* GL_EXT_vertex_attrib_64bit */ +extern GLboolean GLAD_EXT_vertex_attrib_64bit; +#define GL_DOUBLE_VEC2_EXT 0x8FFC +#define GL_DOUBLE_VEC3_EXT 0x8FFD +#define GL_DOUBLE_VEC4_EXT 0x8FFE +#define GL_DOUBLE_MAT2_EXT 0x8F46 +#define GL_DOUBLE_MAT3_EXT 0x8F47 +#define GL_DOUBLE_MAT4_EXT 0x8F48 +#define GL_DOUBLE_MAT2x3_EXT 0x8F49 +#define GL_DOUBLE_MAT2x4_EXT 0x8F4A +#define GL_DOUBLE_MAT3x2_EXT 0x8F4B +#define GL_DOUBLE_MAT3x4_EXT 0x8F4C +#define GL_DOUBLE_MAT4x2_EXT 0x8F4D +#define GL_DOUBLE_MAT4x3_EXT 0x8F4E +typedef void (APIENTRYP pfn_glVertexAttribL1dEXT) (GLuint, GLdouble); +extern pfn_glVertexAttribL1dEXT fp_glVertexAttribL1dEXT; +typedef void (APIENTRYP pfn_glVertexAttribL2dEXT) (GLuint, GLdouble, GLdouble); +extern pfn_glVertexAttribL2dEXT fp_glVertexAttribL2dEXT; +typedef void (APIENTRYP pfn_glVertexAttribL3dEXT) (GLuint, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttribL3dEXT fp_glVertexAttribL3dEXT; +typedef void (APIENTRYP pfn_glVertexAttribL4dEXT) (GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +extern pfn_glVertexAttribL4dEXT fp_glVertexAttribL4dEXT; +typedef void (APIENTRYP pfn_glVertexAttribL1dvEXT) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL1dvEXT fp_glVertexAttribL1dvEXT; +typedef void (APIENTRYP pfn_glVertexAttribL2dvEXT) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL2dvEXT fp_glVertexAttribL2dvEXT; +typedef void (APIENTRYP pfn_glVertexAttribL3dvEXT) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL3dvEXT fp_glVertexAttribL3dvEXT; +typedef void (APIENTRYP pfn_glVertexAttribL4dvEXT) (GLuint, const GLdouble*); +extern pfn_glVertexAttribL4dvEXT fp_glVertexAttribL4dvEXT; +typedef void (APIENTRYP pfn_glVertexAttribLPointerEXT) (GLuint, GLint, GLenum, GLsizei, const void*); +extern pfn_glVertexAttribLPointerEXT fp_glVertexAttribLPointerEXT; +typedef void (APIENTRYP pfn_glGetVertexAttribLdvEXT) (GLuint, GLenum, GLdouble*); +extern pfn_glGetVertexAttribLdvEXT fp_glGetVertexAttribLdvEXT; + + /* GL_EXT_x11_sync_object */ +extern GLboolean GLAD_EXT_x11_sync_object; +#define GL_SYNC_X11_FENCE_EXT 0x90E1 +typedef GLsync (APIENTRYP pfn_glImportSyncEXT) (GLenum, GLintptr, GLbitfield); +extern pfn_glImportSyncEXT fp_glImportSyncEXT; + + /* GL_OES_compressed_ETC1_RGB8_sub_texture */ +extern GLboolean GLAD_OES_compressed_ETC1_RGB8_sub_texture; + + /* GL_OES_compressed_ETC1_RGB8_texture */ +extern GLboolean GLAD_OES_compressed_ETC1_RGB8_texture; +#define GL_ETC1_RGB8_OES 0x8D64 + + /* GL_OES_depth24 */ +extern GLboolean GLAD_OES_depth24; +#define GL_DEPTH_COMPONENT24_OES 0x81A6 + + /* GL_OES_depth32 */ +extern GLboolean GLAD_OES_depth32; +#define GL_DEPTH_COMPONENT32_OES 0x81A7 + + /* GL_OES_depth_texture */ +extern GLboolean GLAD_OES_depth_texture; + + /* GL_OES_EGL_image */ +extern GLboolean GLAD_OES_EGL_image; +typedef void (APIENTRYP pfn_glEGLImageTargetTexture2DOES) (GLenum, GLeglImageOES); +extern pfn_glEGLImageTargetTexture2DOES fp_glEGLImageTargetTexture2DOES; +typedef void (APIENTRYP pfn_glEGLImageTargetRenderbufferStorageOES) (GLenum, GLeglImageOES); +extern pfn_glEGLImageTargetRenderbufferStorageOES fp_glEGLImageTargetRenderbufferStorageOES; + + /* GL_OES_EGL_image_external */ +extern GLboolean GLAD_OES_EGL_image_external; +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 + + /* GL_OES_element_index_uint */ +extern GLboolean GLAD_OES_element_index_uint; + + /* GL_OES_fbo_render_mipmap */ +extern GLboolean GLAD_OES_fbo_render_mipmap; + + /* GL_OES_fragment_precision_high */ +extern GLboolean GLAD_OES_fragment_precision_high; + + /* GL_OES_get_program_binary */ +extern GLboolean GLAD_OES_get_program_binary; +#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE +#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF +typedef void (APIENTRYP pfn_glGetProgramBinaryOES) (GLuint, GLsizei, GLsizei*, GLenum*, void*); +extern pfn_glGetProgramBinaryOES fp_glGetProgramBinaryOES; +typedef void (APIENTRYP pfn_glProgramBinaryOES) (GLuint, GLenum, const void*, GLint); +extern pfn_glProgramBinaryOES fp_glProgramBinaryOES; + + /* GL_OES_mapbuffer */ +extern GLboolean GLAD_OES_mapbuffer; +#define GL_WRITE_ONLY_OES 0x88B9 +#define GL_BUFFER_ACCESS_OES 0x88BB +#define GL_BUFFER_MAPPED_OES 0x88BC +#define GL_BUFFER_MAP_POINTER_OES 0x88BD +typedef void* (APIENTRYP pfn_glMapBufferOES) (GLenum, GLenum); +extern pfn_glMapBufferOES fp_glMapBufferOES; +typedef GLboolean (APIENTRYP pfn_glUnmapBufferOES) (GLenum); +extern pfn_glUnmapBufferOES fp_glUnmapBufferOES; +typedef void (APIENTRYP pfn_glGetBufferPointervOES) (GLenum, GLenum, void**); +extern pfn_glGetBufferPointervOES fp_glGetBufferPointervOES; + + /* GL_OES_packed_depth_stencil */ +extern GLboolean GLAD_OES_packed_depth_stencil; +#define GL_DEPTH_STENCIL_OES 0x84F9 +#define GL_UNSIGNED_INT_24_8_OES 0x84FA +#define GL_DEPTH24_STENCIL8_OES 0x88F0 + + /* GL_OES_required_internalformat */ +extern GLboolean GLAD_OES_required_internalformat; +#define GL_ALPHA8_OES 0x803C +#define GL_DEPTH_COMPONENT16_OES 0x81A5 +#define GL_LUMINANCE4_ALPHA4_OES 0x8043 +#define GL_LUMINANCE8_ALPHA8_OES 0x8045 +#define GL_LUMINANCE8_OES 0x8040 +#define GL_RGBA4_OES 0x8056 +#define GL_RGB5_A1_OES 0x8057 +#define GL_RGB565_OES 0x8D62 +#define GL_RGB8_OES 0x8051 +#define GL_RGBA8_OES 0x8058 + + /* GL_OES_rgb8_rgba8 */ +extern GLboolean GLAD_OES_rgb8_rgba8; + + /* GL_OES_sample_shading */ +extern GLboolean GLAD_OES_sample_shading; +#define GL_SAMPLE_SHADING_OES 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37 +typedef void (APIENTRYP pfn_glMinSampleShadingOES) (GLfloat); +extern pfn_glMinSampleShadingOES fp_glMinSampleShadingOES; + + /* GL_OES_sample_variables */ +extern GLboolean GLAD_OES_sample_variables; + + /* GL_OES_shader_image_atomic */ +extern GLboolean GLAD_OES_shader_image_atomic; + + /* GL_OES_shader_multisample_interpolation */ +extern GLboolean GLAD_OES_shader_multisample_interpolation; +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D + + /* GL_OES_standard_derivatives */ +extern GLboolean GLAD_OES_standard_derivatives; +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B + + /* GL_OES_stencil1 */ +extern GLboolean GLAD_OES_stencil1; +#define GL_STENCIL_INDEX1_OES 0x8D46 + + /* GL_OES_stencil4 */ +extern GLboolean GLAD_OES_stencil4; +#define GL_STENCIL_INDEX4_OES 0x8D47 + + /* GL_OES_surfaceless_context */ +extern GLboolean GLAD_OES_surfaceless_context; +#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 + + /* GL_OES_texture_3D */ +extern GLboolean GLAD_OES_texture_3D; +#define GL_TEXTURE_WRAP_R_OES 0x8072 +#define GL_TEXTURE_3D_OES 0x806F +#define GL_TEXTURE_BINDING_3D_OES 0x806A +#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 +#define GL_SAMPLER_3D_OES 0x8B5F +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 +typedef void (APIENTRYP pfn_glTexImage3DOES) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*); +extern pfn_glTexImage3DOES fp_glTexImage3DOES; +typedef void (APIENTRYP pfn_glTexSubImage3DOES) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*); +extern pfn_glTexSubImage3DOES fp_glTexSubImage3DOES; +typedef void (APIENTRYP pfn_glCopyTexSubImage3DOES) (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern pfn_glCopyTexSubImage3DOES fp_glCopyTexSubImage3DOES; +typedef void (APIENTRYP pfn_glCompressedTexImage3DOES) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*); +extern pfn_glCompressedTexImage3DOES fp_glCompressedTexImage3DOES; +typedef void (APIENTRYP pfn_glCompressedTexSubImage3DOES) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*); +extern pfn_glCompressedTexSubImage3DOES fp_glCompressedTexSubImage3DOES; +typedef void (APIENTRYP pfn_glFramebufferTexture3DOES) (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +extern pfn_glFramebufferTexture3DOES fp_glFramebufferTexture3DOES; + + /* GL_OES_texture_compression_astc */ +extern GLboolean GLAD_OES_texture_compression_astc; +#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0 +#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1 +#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2 +#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3 +#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4 +#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5 +#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6 +#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7 +#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8 +#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9 + + /* GL_OES_texture_float */ +extern GLboolean GLAD_OES_texture_float; + + /* GL_OES_texture_float_linear */ +extern GLboolean GLAD_OES_texture_float_linear; + + /* GL_OES_texture_half_float */ +extern GLboolean GLAD_OES_texture_half_float; +#define GL_HALF_FLOAT_OES 0x8D61 + + /* GL_OES_texture_half_float_linear */ +extern GLboolean GLAD_OES_texture_half_float_linear; + + /* GL_OES_texture_npot */ +extern GLboolean GLAD_OES_texture_npot; + + /* GL_OES_texture_stencil8 */ +extern GLboolean GLAD_OES_texture_stencil8; +#define GL_STENCIL_INDEX_OES 0x1901 +#define GL_STENCIL_INDEX8_OES 0x8D48 + + /* GL_OES_texture_storage_multisample_2d_array */ +extern GLboolean GLAD_OES_texture_storage_multisample_2d_array; +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105 +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D +typedef void (APIENTRYP pfn_glTexStorage3DMultisampleOES) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexStorage3DMultisampleOES fp_glTexStorage3DMultisampleOES; + + /* GL_OES_vertex_array_object */ +extern GLboolean GLAD_OES_vertex_array_object; +#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 +typedef void (APIENTRYP pfn_glBindVertexArrayOES) (GLuint); +extern pfn_glBindVertexArrayOES fp_glBindVertexArrayOES; +typedef void (APIENTRYP pfn_glDeleteVertexArraysOES) (GLsizei, const GLuint*); +extern pfn_glDeleteVertexArraysOES fp_glDeleteVertexArraysOES; +typedef void (APIENTRYP pfn_glGenVertexArraysOES) (GLsizei, GLuint*); +extern pfn_glGenVertexArraysOES fp_glGenVertexArraysOES; +typedef GLboolean (APIENTRYP pfn_glIsVertexArrayOES) (GLuint); +extern pfn_glIsVertexArrayOES fp_glIsVertexArrayOES; + + /* GL_OES_vertex_half_float */ +extern GLboolean GLAD_OES_vertex_half_float; + + /* GL_OES_vertex_type_10_10_10_2 */ +extern GLboolean GLAD_OES_vertex_type_10_10_10_2; +#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 +#define GL_INT_10_10_10_2_OES 0x8DF7 + + /* GL_AMD_blend_minmax_factor */ +extern GLboolean GLAD_AMD_blend_minmax_factor; +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D + + /* GL_AMD_compressed_3DC_texture */ +extern GLboolean GLAD_AMD_compressed_3DC_texture; +#define GL_3DC_X_AMD 0x87F9 +#define GL_3DC_XY_AMD 0x87FA + + /* GL_AMD_compressed_ATC_texture */ +extern GLboolean GLAD_AMD_compressed_ATC_texture; +#define GL_ATC_RGB_AMD 0x8C92 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE + + /* GL_AMD_conservative_depth */ +extern GLboolean GLAD_AMD_conservative_depth; + + /* GL_AMD_debug_output */ +extern GLboolean GLAD_AMD_debug_output; +#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 +#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 +#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 +#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A +#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B +#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C +#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D +#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E +#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F +#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 +typedef void (APIENTRYP pfn_glDebugMessageEnableAMD) (GLenum, GLenum, GLsizei, const GLuint*, GLboolean); +extern pfn_glDebugMessageEnableAMD fp_glDebugMessageEnableAMD; +typedef void (APIENTRYP pfn_glDebugMessageInsertAMD) (GLenum, GLenum, GLuint, GLsizei, const GLchar*); +extern pfn_glDebugMessageInsertAMD fp_glDebugMessageInsertAMD; +typedef void (APIENTRYP pfn_glDebugMessageCallbackAMD) (GLDEBUGPROCAMD, void*); +extern pfn_glDebugMessageCallbackAMD fp_glDebugMessageCallbackAMD; +typedef GLuint (APIENTRYP pfn_glGetDebugMessageLogAMD) (GLuint, GLsizei, GLenum*, GLuint*, GLuint*, GLsizei*, GLchar*); +extern pfn_glGetDebugMessageLogAMD fp_glGetDebugMessageLogAMD; + + /* GL_AMD_depth_clamp_separate */ +extern GLboolean GLAD_AMD_depth_clamp_separate; +#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E +#define GL_DEPTH_CLAMP_FAR_AMD 0x901F + + /* GL_AMD_draw_buffers_blend */ +extern GLboolean GLAD_AMD_draw_buffers_blend; +typedef void (APIENTRYP pfn_glBlendFuncIndexedAMD) (GLuint, GLenum, GLenum); +extern pfn_glBlendFuncIndexedAMD fp_glBlendFuncIndexedAMD; +typedef void (APIENTRYP pfn_glBlendFuncSeparateIndexedAMD) (GLuint, GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparateIndexedAMD fp_glBlendFuncSeparateIndexedAMD; +typedef void (APIENTRYP pfn_glBlendEquationIndexedAMD) (GLuint, GLenum); +extern pfn_glBlendEquationIndexedAMD fp_glBlendEquationIndexedAMD; +typedef void (APIENTRYP pfn_glBlendEquationSeparateIndexedAMD) (GLuint, GLenum, GLenum); +extern pfn_glBlendEquationSeparateIndexedAMD fp_glBlendEquationSeparateIndexedAMD; + + /* GL_AMD_gcn_shader */ +extern GLboolean GLAD_AMD_gcn_shader; + + /* GL_AMD_gpu_shader_int64 */ +extern GLboolean GLAD_AMD_gpu_shader_int64; +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +typedef void (APIENTRYP pfn_glUniform1i64NV) (GLint, GLint64EXT); +extern pfn_glUniform1i64NV fp_glUniform1i64NV; +typedef void (APIENTRYP pfn_glUniform2i64NV) (GLint, GLint64EXT, GLint64EXT); +extern pfn_glUniform2i64NV fp_glUniform2i64NV; +typedef void (APIENTRYP pfn_glUniform3i64NV) (GLint, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glUniform3i64NV fp_glUniform3i64NV; +typedef void (APIENTRYP pfn_glUniform4i64NV) (GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glUniform4i64NV fp_glUniform4i64NV; +typedef void (APIENTRYP pfn_glUniform1i64vNV) (GLint, GLsizei, const GLint64EXT*); +extern pfn_glUniform1i64vNV fp_glUniform1i64vNV; +typedef void (APIENTRYP pfn_glUniform2i64vNV) (GLint, GLsizei, const GLint64EXT*); +extern pfn_glUniform2i64vNV fp_glUniform2i64vNV; +typedef void (APIENTRYP pfn_glUniform3i64vNV) (GLint, GLsizei, const GLint64EXT*); +extern pfn_glUniform3i64vNV fp_glUniform3i64vNV; +typedef void (APIENTRYP pfn_glUniform4i64vNV) (GLint, GLsizei, const GLint64EXT*); +extern pfn_glUniform4i64vNV fp_glUniform4i64vNV; +typedef void (APIENTRYP pfn_glUniform1ui64NV) (GLint, GLuint64EXT); +extern pfn_glUniform1ui64NV fp_glUniform1ui64NV; +typedef void (APIENTRYP pfn_glUniform2ui64NV) (GLint, GLuint64EXT, GLuint64EXT); +extern pfn_glUniform2ui64NV fp_glUniform2ui64NV; +typedef void (APIENTRYP pfn_glUniform3ui64NV) (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glUniform3ui64NV fp_glUniform3ui64NV; +typedef void (APIENTRYP pfn_glUniform4ui64NV) (GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glUniform4ui64NV fp_glUniform4ui64NV; +typedef void (APIENTRYP pfn_glUniform1ui64vNV) (GLint, GLsizei, const GLuint64EXT*); +extern pfn_glUniform1ui64vNV fp_glUniform1ui64vNV; +typedef void (APIENTRYP pfn_glUniform2ui64vNV) (GLint, GLsizei, const GLuint64EXT*); +extern pfn_glUniform2ui64vNV fp_glUniform2ui64vNV; +typedef void (APIENTRYP pfn_glUniform3ui64vNV) (GLint, GLsizei, const GLuint64EXT*); +extern pfn_glUniform3ui64vNV fp_glUniform3ui64vNV; +typedef void (APIENTRYP pfn_glUniform4ui64vNV) (GLint, GLsizei, const GLuint64EXT*); +extern pfn_glUniform4ui64vNV fp_glUniform4ui64vNV; +typedef void (APIENTRYP pfn_glGetUniformi64vNV) (GLuint, GLint, GLint64EXT*); +extern pfn_glGetUniformi64vNV fp_glGetUniformi64vNV; +typedef void (APIENTRYP pfn_glGetUniformui64vNV) (GLuint, GLint, GLuint64EXT*); +extern pfn_glGetUniformui64vNV fp_glGetUniformui64vNV; +typedef void (APIENTRYP pfn_glProgramUniform1i64NV) (GLuint, GLint, GLint64EXT); +extern pfn_glProgramUniform1i64NV fp_glProgramUniform1i64NV; +typedef void (APIENTRYP pfn_glProgramUniform2i64NV) (GLuint, GLint, GLint64EXT, GLint64EXT); +extern pfn_glProgramUniform2i64NV fp_glProgramUniform2i64NV; +typedef void (APIENTRYP pfn_glProgramUniform3i64NV) (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glProgramUniform3i64NV fp_glProgramUniform3i64NV; +typedef void (APIENTRYP pfn_glProgramUniform4i64NV) (GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glProgramUniform4i64NV fp_glProgramUniform4i64NV; +typedef void (APIENTRYP pfn_glProgramUniform1i64vNV) (GLuint, GLint, GLsizei, const GLint64EXT*); +extern pfn_glProgramUniform1i64vNV fp_glProgramUniform1i64vNV; +typedef void (APIENTRYP pfn_glProgramUniform2i64vNV) (GLuint, GLint, GLsizei, const GLint64EXT*); +extern pfn_glProgramUniform2i64vNV fp_glProgramUniform2i64vNV; +typedef void (APIENTRYP pfn_glProgramUniform3i64vNV) (GLuint, GLint, GLsizei, const GLint64EXT*); +extern pfn_glProgramUniform3i64vNV fp_glProgramUniform3i64vNV; +typedef void (APIENTRYP pfn_glProgramUniform4i64vNV) (GLuint, GLint, GLsizei, const GLint64EXT*); +extern pfn_glProgramUniform4i64vNV fp_glProgramUniform4i64vNV; +typedef void (APIENTRYP pfn_glProgramUniform1ui64NV) (GLuint, GLint, GLuint64EXT); +extern pfn_glProgramUniform1ui64NV fp_glProgramUniform1ui64NV; +typedef void (APIENTRYP pfn_glProgramUniform2ui64NV) (GLuint, GLint, GLuint64EXT, GLuint64EXT); +extern pfn_glProgramUniform2ui64NV fp_glProgramUniform2ui64NV; +typedef void (APIENTRYP pfn_glProgramUniform3ui64NV) (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glProgramUniform3ui64NV fp_glProgramUniform3ui64NV; +typedef void (APIENTRYP pfn_glProgramUniform4ui64NV) (GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glProgramUniform4ui64NV fp_glProgramUniform4ui64NV; +typedef void (APIENTRYP pfn_glProgramUniform1ui64vNV) (GLuint, GLint, GLsizei, const GLuint64EXT*); +extern pfn_glProgramUniform1ui64vNV fp_glProgramUniform1ui64vNV; +typedef void (APIENTRYP pfn_glProgramUniform2ui64vNV) (GLuint, GLint, GLsizei, const GLuint64EXT*); +extern pfn_glProgramUniform2ui64vNV fp_glProgramUniform2ui64vNV; +typedef void (APIENTRYP pfn_glProgramUniform3ui64vNV) (GLuint, GLint, GLsizei, const GLuint64EXT*); +extern pfn_glProgramUniform3ui64vNV fp_glProgramUniform3ui64vNV; +typedef void (APIENTRYP pfn_glProgramUniform4ui64vNV) (GLuint, GLint, GLsizei, const GLuint64EXT*); +extern pfn_glProgramUniform4ui64vNV fp_glProgramUniform4ui64vNV; + + /* GL_AMD_interleaved_elements */ +extern GLboolean GLAD_AMD_interleaved_elements; +#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4 +#define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5 +typedef void (APIENTRYP pfn_glVertexAttribParameteriAMD) (GLuint, GLenum, GLint); +extern pfn_glVertexAttribParameteriAMD fp_glVertexAttribParameteriAMD; + + /* GL_AMD_multi_draw_indirect */ +extern GLboolean GLAD_AMD_multi_draw_indirect; +typedef void (APIENTRYP pfn_glMultiDrawArraysIndirectAMD) (GLenum, const void*, GLsizei, GLsizei); +extern pfn_glMultiDrawArraysIndirectAMD fp_glMultiDrawArraysIndirectAMD; +typedef void (APIENTRYP pfn_glMultiDrawElementsIndirectAMD) (GLenum, GLenum, const void*, GLsizei, GLsizei); +extern pfn_glMultiDrawElementsIndirectAMD fp_glMultiDrawElementsIndirectAMD; + + /* GL_AMD_name_gen_delete */ +extern GLboolean GLAD_AMD_name_gen_delete; +#define GL_DATA_BUFFER_AMD 0x9151 +#define GL_PERFORMANCE_MONITOR_AMD 0x9152 +#define GL_QUERY_OBJECT_AMD 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 +#define GL_SAMPLER_OBJECT_AMD 0x9155 +typedef void (APIENTRYP pfn_glGenNamesAMD) (GLenum, GLuint, GLuint*); +extern pfn_glGenNamesAMD fp_glGenNamesAMD; +typedef void (APIENTRYP pfn_glDeleteNamesAMD) (GLenum, GLuint, const GLuint*); +extern pfn_glDeleteNamesAMD fp_glDeleteNamesAMD; +typedef GLboolean (APIENTRYP pfn_glIsNameAMD) (GLenum, GLuint); +extern pfn_glIsNameAMD fp_glIsNameAMD; + + /* GL_AMD_occlusion_query_event */ +extern GLboolean GLAD_AMD_occlusion_query_event; +#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F +#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001 +#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002 +#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004 +#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008 +#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF +typedef void (APIENTRYP pfn_glQueryObjectParameteruiAMD) (GLenum, GLuint, GLenum, GLuint); +extern pfn_glQueryObjectParameteruiAMD fp_glQueryObjectParameteruiAMD; + + /* GL_AMD_performance_monitor */ +extern GLboolean GLAD_AMD_performance_monitor; +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 +typedef void (APIENTRYP pfn_glGetPerfMonitorGroupsAMD) (GLint*, GLsizei, GLuint*); +extern pfn_glGetPerfMonitorGroupsAMD fp_glGetPerfMonitorGroupsAMD; +typedef void (APIENTRYP pfn_glGetPerfMonitorCountersAMD) (GLuint, GLint*, GLint*, GLsizei, GLuint*); +extern pfn_glGetPerfMonitorCountersAMD fp_glGetPerfMonitorCountersAMD; +typedef void (APIENTRYP pfn_glGetPerfMonitorGroupStringAMD) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetPerfMonitorGroupStringAMD fp_glGetPerfMonitorGroupStringAMD; +typedef void (APIENTRYP pfn_glGetPerfMonitorCounterStringAMD) (GLuint, GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetPerfMonitorCounterStringAMD fp_glGetPerfMonitorCounterStringAMD; +typedef void (APIENTRYP pfn_glGetPerfMonitorCounterInfoAMD) (GLuint, GLuint, GLenum, void*); +extern pfn_glGetPerfMonitorCounterInfoAMD fp_glGetPerfMonitorCounterInfoAMD; +typedef void (APIENTRYP pfn_glGenPerfMonitorsAMD) (GLsizei, GLuint*); +extern pfn_glGenPerfMonitorsAMD fp_glGenPerfMonitorsAMD; +typedef void (APIENTRYP pfn_glDeletePerfMonitorsAMD) (GLsizei, GLuint*); +extern pfn_glDeletePerfMonitorsAMD fp_glDeletePerfMonitorsAMD; +typedef void (APIENTRYP pfn_glSelectPerfMonitorCountersAMD) (GLuint, GLboolean, GLuint, GLint, GLuint*); +extern pfn_glSelectPerfMonitorCountersAMD fp_glSelectPerfMonitorCountersAMD; +typedef void (APIENTRYP pfn_glBeginPerfMonitorAMD) (GLuint); +extern pfn_glBeginPerfMonitorAMD fp_glBeginPerfMonitorAMD; +typedef void (APIENTRYP pfn_glEndPerfMonitorAMD) (GLuint); +extern pfn_glEndPerfMonitorAMD fp_glEndPerfMonitorAMD; +typedef void (APIENTRYP pfn_glGetPerfMonitorCounterDataAMD) (GLuint, GLenum, GLsizei, GLuint*, GLint*); +extern pfn_glGetPerfMonitorCounterDataAMD fp_glGetPerfMonitorCounterDataAMD; + + /* GL_AMD_pinned_memory */ +extern GLboolean GLAD_AMD_pinned_memory; +#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 + + /* GL_AMD_program_binary_Z400 */ +extern GLboolean GLAD_AMD_program_binary_Z400; +#define GL_Z400_BINARY_AMD 0x8740 + + /* GL_AMD_query_buffer_object */ +extern GLboolean GLAD_AMD_query_buffer_object; +#define GL_QUERY_BUFFER_AMD 0x9192 +#define GL_QUERY_BUFFER_BINDING_AMD 0x9193 +#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194 + + /* GL_AMD_sample_positions */ +extern GLboolean GLAD_AMD_sample_positions; +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F +typedef void (APIENTRYP pfn_glSetMultisamplefvAMD) (GLenum, GLuint, const GLfloat*); +extern pfn_glSetMultisamplefvAMD fp_glSetMultisamplefvAMD; + + /* GL_AMD_seamless_cubemap_per_texture */ +extern GLboolean GLAD_AMD_seamless_cubemap_per_texture; + + /* GL_AMD_shader_atomic_counter_ops */ +extern GLboolean GLAD_AMD_shader_atomic_counter_ops; + + /* GL_AMD_shader_stencil_export */ +extern GLboolean GLAD_AMD_shader_stencil_export; + + /* GL_AMD_shader_trinary_minmax */ +extern GLboolean GLAD_AMD_shader_trinary_minmax; + + /* GL_AMD_sparse_texture */ +extern GLboolean GLAD_AMD_sparse_texture; +#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A +#define GL_MIN_SPARSE_LEVEL_AMD 0x919B +#define GL_MIN_LOD_WARNING_AMD 0x919C +#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001 +typedef void (APIENTRYP pfn_glTexStorageSparseAMD) (GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield); +extern pfn_glTexStorageSparseAMD fp_glTexStorageSparseAMD; +typedef void (APIENTRYP pfn_glTextureStorageSparseAMD) (GLuint, GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield); +extern pfn_glTextureStorageSparseAMD fp_glTextureStorageSparseAMD; + + /* GL_AMD_stencil_operation_extended */ +extern GLboolean GLAD_AMD_stencil_operation_extended; +#define GL_SET_AMD 0x874A +#define GL_REPLACE_VALUE_AMD 0x874B +#define GL_STENCIL_OP_VALUE_AMD 0x874C +#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D +typedef void (APIENTRYP pfn_glStencilOpValueAMD) (GLenum, GLuint); +extern pfn_glStencilOpValueAMD fp_glStencilOpValueAMD; + + /* GL_AMD_texture_texture4 */ +extern GLboolean GLAD_AMD_texture_texture4; + + /* GL_AMD_transform_feedback3_lines_triangles */ +extern GLboolean GLAD_AMD_transform_feedback3_lines_triangles; + + /* GL_AMD_transform_feedback4 */ +extern GLboolean GLAD_AMD_transform_feedback4; +#define GL_STREAM_RASTERIZATION_AMD 0x91A0 + + /* GL_AMD_vertex_shader_layer */ +extern GLboolean GLAD_AMD_vertex_shader_layer; + + /* GL_AMD_vertex_shader_tessellator */ +extern GLboolean GLAD_AMD_vertex_shader_tessellator; +#define GL_SAMPLER_BUFFER_AMD 0x9001 +#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 +#define GL_TESSELLATION_MODE_AMD 0x9004 +#define GL_TESSELLATION_FACTOR_AMD 0x9005 +#define GL_DISCRETE_AMD 0x9006 +#define GL_CONTINUOUS_AMD 0x9007 +typedef void (APIENTRYP pfn_glTessellationFactorAMD) (GLfloat); +extern pfn_glTessellationFactorAMD fp_glTessellationFactorAMD; +typedef void (APIENTRYP pfn_glTessellationModeAMD) (GLenum); +extern pfn_glTessellationModeAMD fp_glTessellationModeAMD; + + /* GL_AMD_vertex_shader_viewport_index */ +extern GLboolean GLAD_AMD_vertex_shader_viewport_index; + + /* GL_ANDROID_extension_pack_es31a */ +extern GLboolean GLAD_ANDROID_extension_pack_es31a; + + /* GL_ANGLE_depth_texture */ +extern GLboolean GLAD_ANGLE_depth_texture; + + /* GL_ANGLE_framebuffer_blit */ +extern GLboolean GLAD_ANGLE_framebuffer_blit; +#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA +typedef void (APIENTRYP pfn_glBlitFramebufferANGLE) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +extern pfn_glBlitFramebufferANGLE fp_glBlitFramebufferANGLE; + + /* GL_ANGLE_framebuffer_multisample */ +extern GLboolean GLAD_ANGLE_framebuffer_multisample; +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleANGLE) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleANGLE fp_glRenderbufferStorageMultisampleANGLE; + + /* GL_ANGLE_instanced_arrays */ +extern GLboolean GLAD_ANGLE_instanced_arrays; +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE +typedef void (APIENTRYP pfn_glDrawArraysInstancedANGLE) (GLenum, GLint, GLsizei, GLsizei); +extern pfn_glDrawArraysInstancedANGLE fp_glDrawArraysInstancedANGLE; +typedef void (APIENTRYP pfn_glDrawElementsInstancedANGLE) (GLenum, GLsizei, GLenum, const void*, GLsizei); +extern pfn_glDrawElementsInstancedANGLE fp_glDrawElementsInstancedANGLE; +typedef void (APIENTRYP pfn_glVertexAttribDivisorANGLE) (GLuint, GLuint); +extern pfn_glVertexAttribDivisorANGLE fp_glVertexAttribDivisorANGLE; + + /* GL_ANGLE_pack_reverse_row_order */ +extern GLboolean GLAD_ANGLE_pack_reverse_row_order; +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 + + /* GL_ANGLE_program_binary */ +extern GLboolean GLAD_ANGLE_program_binary; +#define GL_PROGRAM_BINARY_ANGLE 0x93A6 + + /* GL_ANGLE_texture_compression_dxt3 */ +extern GLboolean GLAD_ANGLE_texture_compression_dxt3; +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 + + /* GL_ANGLE_texture_compression_dxt5 */ +extern GLboolean GLAD_ANGLE_texture_compression_dxt5; +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + + /* GL_ANGLE_texture_usage */ +extern GLboolean GLAD_ANGLE_texture_usage; +#define GL_TEXTURE_USAGE_ANGLE 0x93A2 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 + + /* GL_ANGLE_translated_shader_source */ +extern GLboolean GLAD_ANGLE_translated_shader_source; +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 +typedef void (APIENTRYP pfn_glGetTranslatedShaderSourceANGLE) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetTranslatedShaderSourceANGLE fp_glGetTranslatedShaderSourceANGLE; + + /* GL_APPLE_aux_depth_stencil */ +extern GLboolean GLAD_APPLE_aux_depth_stencil; +#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 + + /* GL_APPLE_client_storage */ +extern GLboolean GLAD_APPLE_client_storage; +#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 + + /* GL_APPLE_copy_texture_levels */ +extern GLboolean GLAD_APPLE_copy_texture_levels; +typedef void (APIENTRYP pfn_glCopyTextureLevelsAPPLE) (GLuint, GLuint, GLint, GLsizei); +extern pfn_glCopyTextureLevelsAPPLE fp_glCopyTextureLevelsAPPLE; + + /* GL_APPLE_element_array */ +extern GLboolean GLAD_APPLE_element_array; +#define GL_ELEMENT_ARRAY_APPLE 0x8A0C +#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D +#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E +typedef void (APIENTRYP pfn_glElementPointerAPPLE) (GLenum, const void*); +extern pfn_glElementPointerAPPLE fp_glElementPointerAPPLE; +typedef void (APIENTRYP pfn_glDrawElementArrayAPPLE) (GLenum, GLint, GLsizei); +extern pfn_glDrawElementArrayAPPLE fp_glDrawElementArrayAPPLE; +typedef void (APIENTRYP pfn_glDrawRangeElementArrayAPPLE) (GLenum, GLuint, GLuint, GLint, GLsizei); +extern pfn_glDrawRangeElementArrayAPPLE fp_glDrawRangeElementArrayAPPLE; +typedef void (APIENTRYP pfn_glMultiDrawElementArrayAPPLE) (GLenum, const GLint*, const GLsizei*, GLsizei); +extern pfn_glMultiDrawElementArrayAPPLE fp_glMultiDrawElementArrayAPPLE; +typedef void (APIENTRYP pfn_glMultiDrawRangeElementArrayAPPLE) (GLenum, GLuint, GLuint, const GLint*, const GLsizei*, GLsizei); +extern pfn_glMultiDrawRangeElementArrayAPPLE fp_glMultiDrawRangeElementArrayAPPLE; + + /* GL_APPLE_fence */ +extern GLboolean GLAD_APPLE_fence; +#define GL_DRAW_PIXELS_APPLE 0x8A0A +#define GL_FENCE_APPLE 0x8A0B +typedef void (APIENTRYP pfn_glGenFencesAPPLE) (GLsizei, GLuint*); +extern pfn_glGenFencesAPPLE fp_glGenFencesAPPLE; +typedef void (APIENTRYP pfn_glDeleteFencesAPPLE) (GLsizei, const GLuint*); +extern pfn_glDeleteFencesAPPLE fp_glDeleteFencesAPPLE; +typedef void (APIENTRYP pfn_glSetFenceAPPLE) (GLuint); +extern pfn_glSetFenceAPPLE fp_glSetFenceAPPLE; +typedef GLboolean (APIENTRYP pfn_glIsFenceAPPLE) (GLuint); +extern pfn_glIsFenceAPPLE fp_glIsFenceAPPLE; +typedef GLboolean (APIENTRYP pfn_glTestFenceAPPLE) (GLuint); +extern pfn_glTestFenceAPPLE fp_glTestFenceAPPLE; +typedef void (APIENTRYP pfn_glFinishFenceAPPLE) (GLuint); +extern pfn_glFinishFenceAPPLE fp_glFinishFenceAPPLE; +typedef GLboolean (APIENTRYP pfn_glTestObjectAPPLE) (GLenum, GLuint); +extern pfn_glTestObjectAPPLE fp_glTestObjectAPPLE; +typedef void (APIENTRYP pfn_glFinishObjectAPPLE) (GLenum, GLint); +extern pfn_glFinishObjectAPPLE fp_glFinishObjectAPPLE; + + /* GL_APPLE_float_pixels */ +extern GLboolean GLAD_APPLE_float_pixels; +#define GL_HALF_APPLE 0x140B +#define GL_RGBA_FLOAT32_APPLE 0x8814 +#define GL_RGB_FLOAT32_APPLE 0x8815 +#define GL_ALPHA_FLOAT32_APPLE 0x8816 +#define GL_INTENSITY_FLOAT32_APPLE 0x8817 +#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 +#define GL_RGBA_FLOAT16_APPLE 0x881A +#define GL_RGB_FLOAT16_APPLE 0x881B +#define GL_ALPHA_FLOAT16_APPLE 0x881C +#define GL_INTENSITY_FLOAT16_APPLE 0x881D +#define GL_LUMINANCE_FLOAT16_APPLE 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F +#define GL_COLOR_FLOAT_APPLE 0x8A0F + + /* GL_APPLE_flush_buffer_range */ +extern GLboolean GLAD_APPLE_flush_buffer_range; +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 +typedef void (APIENTRYP pfn_glBufferParameteriAPPLE) (GLenum, GLenum, GLint); +extern pfn_glBufferParameteriAPPLE fp_glBufferParameteriAPPLE; +typedef void (APIENTRYP pfn_glFlushMappedBufferRangeAPPLE) (GLenum, GLintptr, GLsizeiptr); +extern pfn_glFlushMappedBufferRangeAPPLE fp_glFlushMappedBufferRangeAPPLE; + + /* GL_APPLE_framebuffer_multisample */ +extern GLboolean GLAD_APPLE_framebuffer_multisample; +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleAPPLE) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleAPPLE fp_glRenderbufferStorageMultisampleAPPLE; +typedef void (APIENTRYP pfn_glResolveMultisampleFramebufferAPPLE) (); +extern pfn_glResolveMultisampleFramebufferAPPLE fp_glResolveMultisampleFramebufferAPPLE; + + /* GL_APPLE_object_purgeable */ +extern GLboolean GLAD_APPLE_object_purgeable; +#define GL_BUFFER_OBJECT_APPLE 0x85B3 +#define GL_RELEASED_APPLE 0x8A19 +#define GL_VOLATILE_APPLE 0x8A1A +#define GL_RETAINED_APPLE 0x8A1B +#define GL_UNDEFINED_APPLE 0x8A1C +#define GL_PURGEABLE_APPLE 0x8A1D +typedef GLenum (APIENTRYP pfn_glObjectPurgeableAPPLE) (GLenum, GLuint, GLenum); +extern pfn_glObjectPurgeableAPPLE fp_glObjectPurgeableAPPLE; +typedef GLenum (APIENTRYP pfn_glObjectUnpurgeableAPPLE) (GLenum, GLuint, GLenum); +extern pfn_glObjectUnpurgeableAPPLE fp_glObjectUnpurgeableAPPLE; +typedef void (APIENTRYP pfn_glGetObjectParameterivAPPLE) (GLenum, GLuint, GLenum, GLint*); +extern pfn_glGetObjectParameterivAPPLE fp_glGetObjectParameterivAPPLE; + + /* GL_APPLE_rgb_422 */ +extern GLboolean GLAD_APPLE_rgb_422; +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_RAW_422_APPLE 0x8A51 + + /* GL_APPLE_row_bytes */ +extern GLboolean GLAD_APPLE_row_bytes; +#define GL_PACK_ROW_BYTES_APPLE 0x8A15 +#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 + + /* GL_APPLE_sync */ +extern GLboolean GLAD_APPLE_sync; +#define GL_SYNC_OBJECT_APPLE 0x8A53 +#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 +#define GL_OBJECT_TYPE_APPLE 0x9112 +#define GL_SYNC_CONDITION_APPLE 0x9113 +#define GL_SYNC_STATUS_APPLE 0x9114 +#define GL_SYNC_FLAGS_APPLE 0x9115 +#define GL_SYNC_FENCE_APPLE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 +#define GL_UNSIGNALED_APPLE 0x9118 +#define GL_SIGNALED_APPLE 0x9119 +#define GL_ALREADY_SIGNALED_APPLE 0x911A +#define GL_TIMEOUT_EXPIRED_APPLE 0x911B +#define GL_CONDITION_SATISFIED_APPLE 0x911C +#define GL_WAIT_FAILED_APPLE 0x911D +#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 +#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFF +typedef GLsync (APIENTRYP pfn_glFenceSyncAPPLE) (GLenum, GLbitfield); +extern pfn_glFenceSyncAPPLE fp_glFenceSyncAPPLE; +typedef GLboolean (APIENTRYP pfn_glIsSyncAPPLE) (GLsync); +extern pfn_glIsSyncAPPLE fp_glIsSyncAPPLE; +typedef void (APIENTRYP pfn_glDeleteSyncAPPLE) (GLsync); +extern pfn_glDeleteSyncAPPLE fp_glDeleteSyncAPPLE; +typedef GLenum (APIENTRYP pfn_glClientWaitSyncAPPLE) (GLsync, GLbitfield, GLuint64); +extern pfn_glClientWaitSyncAPPLE fp_glClientWaitSyncAPPLE; +typedef void (APIENTRYP pfn_glWaitSyncAPPLE) (GLsync, GLbitfield, GLuint64); +extern pfn_glWaitSyncAPPLE fp_glWaitSyncAPPLE; +typedef void (APIENTRYP pfn_glGetInteger64vAPPLE) (GLenum, GLint64*); +extern pfn_glGetInteger64vAPPLE fp_glGetInteger64vAPPLE; +typedef void (APIENTRYP pfn_glGetSyncivAPPLE) (GLsync, GLenum, GLsizei, GLsizei*, GLint*); +extern pfn_glGetSyncivAPPLE fp_glGetSyncivAPPLE; + + /* GL_APPLE_texture_format_BGRA8888 */ +extern GLboolean GLAD_APPLE_texture_format_BGRA8888; + + /* GL_APPLE_texture_max_level */ +extern GLboolean GLAD_APPLE_texture_max_level; +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D + + /* GL_APPLE_texture_range */ +extern GLboolean GLAD_APPLE_texture_range; +#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 +#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 +#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC +#define GL_STORAGE_PRIVATE_APPLE 0x85BD +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF +typedef void (APIENTRYP pfn_glTextureRangeAPPLE) (GLenum, GLsizei, const void*); +extern pfn_glTextureRangeAPPLE fp_glTextureRangeAPPLE; +typedef void (APIENTRYP pfn_glGetTexParameterPointervAPPLE) (GLenum, GLenum, void**); +extern pfn_glGetTexParameterPointervAPPLE fp_glGetTexParameterPointervAPPLE; + + /* GL_APPLE_vertex_array_object */ +extern GLboolean GLAD_APPLE_vertex_array_object; +#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 +typedef void (APIENTRYP pfn_glBindVertexArrayAPPLE) (GLuint); +extern pfn_glBindVertexArrayAPPLE fp_glBindVertexArrayAPPLE; +typedef void (APIENTRYP pfn_glDeleteVertexArraysAPPLE) (GLsizei, const GLuint*); +extern pfn_glDeleteVertexArraysAPPLE fp_glDeleteVertexArraysAPPLE; +typedef void (APIENTRYP pfn_glGenVertexArraysAPPLE) (GLsizei, GLuint*); +extern pfn_glGenVertexArraysAPPLE fp_glGenVertexArraysAPPLE; +typedef GLboolean (APIENTRYP pfn_glIsVertexArrayAPPLE) (GLuint); +extern pfn_glIsVertexArrayAPPLE fp_glIsVertexArrayAPPLE; + + /* GL_APPLE_vertex_array_range */ +extern GLboolean GLAD_APPLE_vertex_array_range; +#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E +#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F +#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 +#define GL_STORAGE_CLIENT_APPLE 0x85B4 +typedef void (APIENTRYP pfn_glVertexArrayRangeAPPLE) (GLsizei, void*); +extern pfn_glVertexArrayRangeAPPLE fp_glVertexArrayRangeAPPLE; +typedef void (APIENTRYP pfn_glFlushVertexArrayRangeAPPLE) (GLsizei, void*); +extern pfn_glFlushVertexArrayRangeAPPLE fp_glFlushVertexArrayRangeAPPLE; +typedef void (APIENTRYP pfn_glVertexArrayParameteriAPPLE) (GLenum, GLint); +extern pfn_glVertexArrayParameteriAPPLE fp_glVertexArrayParameteriAPPLE; + + /* GL_APPLE_vertex_program_evaluators */ +extern GLboolean GLAD_APPLE_vertex_program_evaluators; +#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 +#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 +#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 +#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 +#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 +#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 +#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 +#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 +#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 +#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 +typedef void (APIENTRYP pfn_glEnableVertexAttribAPPLE) (GLuint, GLenum); +extern pfn_glEnableVertexAttribAPPLE fp_glEnableVertexAttribAPPLE; +typedef void (APIENTRYP pfn_glDisableVertexAttribAPPLE) (GLuint, GLenum); +extern pfn_glDisableVertexAttribAPPLE fp_glDisableVertexAttribAPPLE; +typedef GLboolean (APIENTRYP pfn_glIsVertexAttribEnabledAPPLE) (GLuint, GLenum); +extern pfn_glIsVertexAttribEnabledAPPLE fp_glIsVertexAttribEnabledAPPLE; +typedef void (APIENTRYP pfn_glMapVertexAttrib1dAPPLE) (GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble*); +extern pfn_glMapVertexAttrib1dAPPLE fp_glMapVertexAttrib1dAPPLE; +typedef void (APIENTRYP pfn_glMapVertexAttrib1fAPPLE) (GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat*); +extern pfn_glMapVertexAttrib1fAPPLE fp_glMapVertexAttrib1fAPPLE; +typedef void (APIENTRYP pfn_glMapVertexAttrib2dAPPLE) (GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble*); +extern pfn_glMapVertexAttrib2dAPPLE fp_glMapVertexAttrib2dAPPLE; +typedef void (APIENTRYP pfn_glMapVertexAttrib2fAPPLE) (GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat*); +extern pfn_glMapVertexAttrib2fAPPLE fp_glMapVertexAttrib2fAPPLE; + + /* GL_APPLE_ycbcr_422 */ +extern GLboolean GLAD_APPLE_ycbcr_422; +#define GL_YCBCR_422_APPLE 0x85B9 + + /* GL_ARM_mali_program_binary */ +extern GLboolean GLAD_ARM_mali_program_binary; +#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 + + /* GL_ARM_mali_shader_binary */ +extern GLboolean GLAD_ARM_mali_shader_binary; +#define GL_MALI_SHADER_BINARY_ARM 0x8F60 + + /* GL_ARM_rgba8 */ +extern GLboolean GLAD_ARM_rgba8; + + /* GL_ARM_shader_framebuffer_fetch */ +extern GLboolean GLAD_ARM_shader_framebuffer_fetch; +#define GL_FETCH_PER_SAMPLE_ARM 0x8F65 +#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66 + + /* GL_ARM_shader_framebuffer_fetch_depth_stencil */ +extern GLboolean GLAD_ARM_shader_framebuffer_fetch_depth_stencil; + + /* GL_ATI_meminfo */ +extern GLboolean GLAD_ATI_meminfo; +#define GL_VBO_FREE_MEMORY_ATI 0x87FB +#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC +#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD + + /* GL_ATI_pixel_format_float */ +extern GLboolean GLAD_ATI_pixel_format_float; +#define GL_RGBA_FLOAT_MODE_ATI 0x8820 +#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 + + /* GL_DMP_shader_binary */ +extern GLboolean GLAD_DMP_shader_binary; +#define GL_SHADER_BINARY_DMP 0x9250 + + /* GL_FJ_shader_binary_GCCSO */ +extern GLboolean GLAD_FJ_shader_binary_GCCSO; +#define GL_GCCSO_SHADER_BINARY_FJ 0x9260 + + /* GL_GREMEDY_frame_terminator */ +extern GLboolean GLAD_GREMEDY_frame_terminator; +typedef void (APIENTRYP pfn_glFrameTerminatorGREMEDY) (); +extern pfn_glFrameTerminatorGREMEDY fp_glFrameTerminatorGREMEDY; + + /* GL_GREMEDY_string_marker */ +extern GLboolean GLAD_GREMEDY_string_marker; +typedef void (APIENTRYP pfn_glStringMarkerGREMEDY) (GLsizei, const void*); +extern pfn_glStringMarkerGREMEDY fp_glStringMarkerGREMEDY; + + /* GL_IMG_multisampled_render_to_texture */ +extern GLboolean GLAD_IMG_multisampled_render_to_texture; +#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 +#define GL_MAX_SAMPLES_IMG 0x9135 +#define GL_TEXTURE_SAMPLES_IMG 0x9136 +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleIMG) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleIMG fp_glRenderbufferStorageMultisampleIMG; +typedef void (APIENTRYP pfn_glFramebufferTexture2DMultisampleIMG) (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); +extern pfn_glFramebufferTexture2DMultisampleIMG fp_glFramebufferTexture2DMultisampleIMG; + + /* GL_IMG_program_binary */ +extern GLboolean GLAD_IMG_program_binary; +#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 + + /* GL_IMG_read_format */ +extern GLboolean GLAD_IMG_read_format; +#define GL_BGRA_IMG 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 + + /* GL_IMG_shader_binary */ +extern GLboolean GLAD_IMG_shader_binary; +#define GL_SGX_BINARY_IMG 0x8C0A + + /* GL_IMG_texture_compression_pvrtc */ +extern GLboolean GLAD_IMG_texture_compression_pvrtc; +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 + + /* GL_IMG_texture_compression_pvrtc2 */ +extern GLboolean GLAD_IMG_texture_compression_pvrtc2; +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 + + /* GL_INGR_blend_func_separate */ +extern GLboolean GLAD_INGR_blend_func_separate; +typedef void (APIENTRYP pfn_glBlendFuncSeparateINGR) (GLenum, GLenum, GLenum, GLenum); +extern pfn_glBlendFuncSeparateINGR fp_glBlendFuncSeparateINGR; + + /* GL_INTEL_fragment_shader_ordering */ +extern GLboolean GLAD_INTEL_fragment_shader_ordering; + + /* GL_INTEL_map_texture */ +extern GLboolean GLAD_INTEL_map_texture; +#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF +#define GL_LAYOUT_DEFAULT_INTEL 0 +#define GL_LAYOUT_LINEAR_INTEL 1 +#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2 +typedef void (APIENTRYP pfn_glSyncTextureINTEL) (GLuint); +extern pfn_glSyncTextureINTEL fp_glSyncTextureINTEL; +typedef void (APIENTRYP pfn_glUnmapTexture2DINTEL) (GLuint, GLint); +extern pfn_glUnmapTexture2DINTEL fp_glUnmapTexture2DINTEL; +typedef void* (APIENTRYP pfn_glMapTexture2DINTEL) (GLuint, GLint, GLbitfield, GLint*, GLenum*); +extern pfn_glMapTexture2DINTEL fp_glMapTexture2DINTEL; + + /* GL_INTEL_performance_query */ +extern GLboolean GLAD_INTEL_performance_query; +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001 +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 +typedef void (APIENTRYP pfn_glBeginPerfQueryINTEL) (GLuint); +extern pfn_glBeginPerfQueryINTEL fp_glBeginPerfQueryINTEL; +typedef void (APIENTRYP pfn_glCreatePerfQueryINTEL) (GLuint, GLuint*); +extern pfn_glCreatePerfQueryINTEL fp_glCreatePerfQueryINTEL; +typedef void (APIENTRYP pfn_glDeletePerfQueryINTEL) (GLuint); +extern pfn_glDeletePerfQueryINTEL fp_glDeletePerfQueryINTEL; +typedef void (APIENTRYP pfn_glEndPerfQueryINTEL) (GLuint); +extern pfn_glEndPerfQueryINTEL fp_glEndPerfQueryINTEL; +typedef void (APIENTRYP pfn_glGetFirstPerfQueryIdINTEL) (GLuint*); +extern pfn_glGetFirstPerfQueryIdINTEL fp_glGetFirstPerfQueryIdINTEL; +typedef void (APIENTRYP pfn_glGetNextPerfQueryIdINTEL) (GLuint, GLuint*); +extern pfn_glGetNextPerfQueryIdINTEL fp_glGetNextPerfQueryIdINTEL; +typedef void (APIENTRYP pfn_glGetPerfCounterInfoINTEL) (GLuint, GLuint, GLuint, GLchar*, GLuint, GLchar*, GLuint*, GLuint*, GLuint*, GLuint*, GLuint64*); +extern pfn_glGetPerfCounterInfoINTEL fp_glGetPerfCounterInfoINTEL; +typedef void (APIENTRYP pfn_glGetPerfQueryDataINTEL) (GLuint, GLuint, GLsizei, GLvoid*, GLuint*); +extern pfn_glGetPerfQueryDataINTEL fp_glGetPerfQueryDataINTEL; +typedef void (APIENTRYP pfn_glGetPerfQueryIdByNameINTEL) (GLchar*, GLuint*); +extern pfn_glGetPerfQueryIdByNameINTEL fp_glGetPerfQueryIdByNameINTEL; +typedef void (APIENTRYP pfn_glGetPerfQueryInfoINTEL) (GLuint, GLuint, GLchar*, GLuint*, GLuint*, GLuint*, GLuint*); +extern pfn_glGetPerfQueryInfoINTEL fp_glGetPerfQueryInfoINTEL; + + /* GL_MESA_pack_invert */ +extern GLboolean GLAD_MESA_pack_invert; +#define GL_PACK_INVERT_MESA 0x8758 + + /* GL_MESA_ycbcr_texture */ +extern GLboolean GLAD_MESA_ycbcr_texture; +#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB +#define GL_YCBCR_MESA 0x8757 + + /* GL_MESAX_texture_stack */ +extern GLboolean GLAD_MESAX_texture_stack; +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E + + /* GL_NV_bindless_multi_draw_indirect */ +extern GLboolean GLAD_NV_bindless_multi_draw_indirect; +typedef void (APIENTRYP pfn_glMultiDrawArraysIndirectBindlessNV) (GLenum, const void*, GLsizei, GLsizei, GLint); +extern pfn_glMultiDrawArraysIndirectBindlessNV fp_glMultiDrawArraysIndirectBindlessNV; +typedef void (APIENTRYP pfn_glMultiDrawElementsIndirectBindlessNV) (GLenum, GLenum, const void*, GLsizei, GLsizei, GLint); +extern pfn_glMultiDrawElementsIndirectBindlessNV fp_glMultiDrawElementsIndirectBindlessNV; + + /* GL_NV_bindless_multi_draw_indirect_count */ +extern GLboolean GLAD_NV_bindless_multi_draw_indirect_count; +typedef void (APIENTRYP pfn_glMultiDrawArraysIndirectBindlessCountNV) (GLenum, const void*, GLsizei, GLsizei, GLsizei, GLint); +extern pfn_glMultiDrawArraysIndirectBindlessCountNV fp_glMultiDrawArraysIndirectBindlessCountNV; +typedef void (APIENTRYP pfn_glMultiDrawElementsIndirectBindlessCountNV) (GLenum, GLenum, const void*, GLsizei, GLsizei, GLsizei, GLint); +extern pfn_glMultiDrawElementsIndirectBindlessCountNV fp_glMultiDrawElementsIndirectBindlessCountNV; + + /* GL_NV_bindless_texture */ +extern GLboolean GLAD_NV_bindless_texture; +typedef GLuint64 (APIENTRYP pfn_glGetTextureHandleNV) (GLuint); +extern pfn_glGetTextureHandleNV fp_glGetTextureHandleNV; +typedef GLuint64 (APIENTRYP pfn_glGetTextureSamplerHandleNV) (GLuint, GLuint); +extern pfn_glGetTextureSamplerHandleNV fp_glGetTextureSamplerHandleNV; +typedef void (APIENTRYP pfn_glMakeTextureHandleResidentNV) (GLuint64); +extern pfn_glMakeTextureHandleResidentNV fp_glMakeTextureHandleResidentNV; +typedef void (APIENTRYP pfn_glMakeTextureHandleNonResidentNV) (GLuint64); +extern pfn_glMakeTextureHandleNonResidentNV fp_glMakeTextureHandleNonResidentNV; +typedef GLuint64 (APIENTRYP pfn_glGetImageHandleNV) (GLuint, GLint, GLboolean, GLint, GLenum); +extern pfn_glGetImageHandleNV fp_glGetImageHandleNV; +typedef void (APIENTRYP pfn_glMakeImageHandleResidentNV) (GLuint64, GLenum); +extern pfn_glMakeImageHandleResidentNV fp_glMakeImageHandleResidentNV; +typedef void (APIENTRYP pfn_glMakeImageHandleNonResidentNV) (GLuint64); +extern pfn_glMakeImageHandleNonResidentNV fp_glMakeImageHandleNonResidentNV; +typedef void (APIENTRYP pfn_glUniformHandleui64NV) (GLint, GLuint64); +extern pfn_glUniformHandleui64NV fp_glUniformHandleui64NV; +typedef void (APIENTRYP pfn_glUniformHandleui64vNV) (GLint, GLsizei, const GLuint64*); +extern pfn_glUniformHandleui64vNV fp_glUniformHandleui64vNV; +typedef void (APIENTRYP pfn_glProgramUniformHandleui64NV) (GLuint, GLint, GLuint64); +extern pfn_glProgramUniformHandleui64NV fp_glProgramUniformHandleui64NV; +typedef void (APIENTRYP pfn_glProgramUniformHandleui64vNV) (GLuint, GLint, GLsizei, const GLuint64*); +extern pfn_glProgramUniformHandleui64vNV fp_glProgramUniformHandleui64vNV; +typedef GLboolean (APIENTRYP pfn_glIsTextureHandleResidentNV) (GLuint64); +extern pfn_glIsTextureHandleResidentNV fp_glIsTextureHandleResidentNV; +typedef GLboolean (APIENTRYP pfn_glIsImageHandleResidentNV) (GLuint64); +extern pfn_glIsImageHandleResidentNV fp_glIsImageHandleResidentNV; + + /* GL_NV_blend_equation_advanced */ +extern GLboolean GLAD_NV_blend_equation_advanced; +#define GL_BLEND_OVERLAP_NV 0x9281 +#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLUE_NV 0x1905 +#define GL_COLORBURN_NV 0x929A +#define GL_COLORDODGE_NV 0x9299 +#define GL_CONJOINT_NV 0x9284 +#define GL_CONTRAST_NV 0x92A1 +#define GL_DARKEN_NV 0x9297 +#define GL_DIFFERENCE_NV 0x929E +#define GL_DISJOINT_NV 0x9283 +#define GL_DST_ATOP_NV 0x928F +#define GL_DST_IN_NV 0x928B +#define GL_DST_NV 0x9287 +#define GL_DST_OUT_NV 0x928D +#define GL_DST_OVER_NV 0x9289 +#define GL_EXCLUSION_NV 0x92A0 +#define GL_GREEN_NV 0x1904 +#define GL_HARDLIGHT_NV 0x929B +#define GL_HARDMIX_NV 0x92A9 +#define GL_HSL_COLOR_NV 0x92AF +#define GL_HSL_HUE_NV 0x92AD +#define GL_HSL_LUMINOSITY_NV 0x92B0 +#define GL_HSL_SATURATION_NV 0x92AE +#define GL_INVERT_OVG_NV 0x92B4 +#define GL_INVERT_RGB_NV 0x92A3 +#define GL_LIGHTEN_NV 0x9298 +#define GL_LINEARBURN_NV 0x92A5 +#define GL_LINEARDODGE_NV 0x92A4 +#define GL_LINEARLIGHT_NV 0x92A7 +#define GL_MINUS_CLAMPED_NV 0x92B3 +#define GL_MINUS_NV 0x929F +#define GL_MULTIPLY_NV 0x9294 +#define GL_OVERLAY_NV 0x9296 +#define GL_PINLIGHT_NV 0x92A8 +#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 +#define GL_PLUS_CLAMPED_NV 0x92B1 +#define GL_PLUS_DARKER_NV 0x9292 +#define GL_PLUS_NV 0x9291 +#define GL_RED_NV 0x1903 +#define GL_SCREEN_NV 0x9295 +#define GL_SOFTLIGHT_NV 0x929C +#define GL_SRC_ATOP_NV 0x928E +#define GL_SRC_IN_NV 0x928A +#define GL_SRC_NV 0x9286 +#define GL_SRC_OUT_NV 0x928C +#define GL_SRC_OVER_NV 0x9288 +#define GL_UNCORRELATED_NV 0x9282 +#define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_XOR_NV 0x1506 +typedef void (APIENTRYP pfn_glBlendParameteriNV) (GLenum, GLint); +extern pfn_glBlendParameteriNV fp_glBlendParameteriNV; +typedef void (APIENTRYP pfn_glBlendBarrierNV) (); +extern pfn_glBlendBarrierNV fp_glBlendBarrierNV; + + /* GL_NV_blend_equation_advanced_coherent */ +extern GLboolean GLAD_NV_blend_equation_advanced_coherent; +#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 + + /* GL_NV_compute_program5 */ +extern GLboolean GLAD_NV_compute_program5; +#define GL_COMPUTE_PROGRAM_NV 0x90FB +#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC + + /* GL_NV_conditional_render */ +extern GLboolean GLAD_NV_conditional_render; +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 +typedef void (APIENTRYP pfn_glBeginConditionalRenderNV) (GLuint, GLenum); +extern pfn_glBeginConditionalRenderNV fp_glBeginConditionalRenderNV; +typedef void (APIENTRYP pfn_glEndConditionalRenderNV) (); +extern pfn_glEndConditionalRenderNV fp_glEndConditionalRenderNV; + + /* GL_NV_copy_buffer */ +extern GLboolean GLAD_NV_copy_buffer; +#define GL_COPY_READ_BUFFER_NV 0x8F36 +#define GL_COPY_WRITE_BUFFER_NV 0x8F37 +typedef void (APIENTRYP pfn_glCopyBufferSubDataNV) (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); +extern pfn_glCopyBufferSubDataNV fp_glCopyBufferSubDataNV; + + /* GL_NV_copy_image */ +extern GLboolean GLAD_NV_copy_image; +typedef void (APIENTRYP pfn_glCopyImageSubDataNV) (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +extern pfn_glCopyImageSubDataNV fp_glCopyImageSubDataNV; + + /* GL_NV_coverage_sample */ +extern GLboolean GLAD_NV_coverage_sample; +#define GL_COVERAGE_COMPONENT_NV 0x8ED0 +#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 +#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 +#define GL_COVERAGE_BUFFERS_NV 0x8ED3 +#define GL_COVERAGE_SAMPLES_NV 0x8ED4 +#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 +#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 +#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 +#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000 +typedef void (APIENTRYP pfn_glCoverageMaskNV) (GLboolean); +extern pfn_glCoverageMaskNV fp_glCoverageMaskNV; +typedef void (APIENTRYP pfn_glCoverageOperationNV) (GLenum); +extern pfn_glCoverageOperationNV fp_glCoverageOperationNV; + + /* GL_NV_deep_texture3D */ +extern GLboolean GLAD_NV_deep_texture3D; +#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0 +#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1 + + /* GL_NV_depth_buffer_float */ +extern GLboolean GLAD_NV_depth_buffer_float; +#define GL_DEPTH_COMPONENT32F_NV 0x8DAB +#define GL_DEPTH32F_STENCIL8_NV 0x8DAC +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD +#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF +typedef void (APIENTRYP pfn_glDepthRangedNV) (GLdouble, GLdouble); +extern pfn_glDepthRangedNV fp_glDepthRangedNV; +typedef void (APIENTRYP pfn_glClearDepthdNV) (GLdouble); +extern pfn_glClearDepthdNV fp_glClearDepthdNV; +typedef void (APIENTRYP pfn_glDepthBoundsdNV) (GLdouble, GLdouble); +extern pfn_glDepthBoundsdNV fp_glDepthBoundsdNV; + + /* GL_NV_depth_clamp */ +extern GLboolean GLAD_NV_depth_clamp; +#define GL_DEPTH_CLAMP_NV 0x864F + + /* GL_NV_depth_nonlinear */ +extern GLboolean GLAD_NV_depth_nonlinear; +#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C + + /* GL_NV_draw_buffers */ +extern GLboolean GLAD_NV_draw_buffers; +#define GL_MAX_DRAW_BUFFERS_NV 0x8824 +#define GL_DRAW_BUFFER0_NV 0x8825 +#define GL_DRAW_BUFFER1_NV 0x8826 +#define GL_DRAW_BUFFER2_NV 0x8827 +#define GL_DRAW_BUFFER3_NV 0x8828 +#define GL_DRAW_BUFFER4_NV 0x8829 +#define GL_DRAW_BUFFER5_NV 0x882A +#define GL_DRAW_BUFFER6_NV 0x882B +#define GL_DRAW_BUFFER7_NV 0x882C +#define GL_DRAW_BUFFER8_NV 0x882D +#define GL_DRAW_BUFFER9_NV 0x882E +#define GL_DRAW_BUFFER10_NV 0x882F +#define GL_DRAW_BUFFER11_NV 0x8830 +#define GL_DRAW_BUFFER12_NV 0x8831 +#define GL_DRAW_BUFFER13_NV 0x8832 +#define GL_DRAW_BUFFER14_NV 0x8833 +#define GL_DRAW_BUFFER15_NV 0x8834 +#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 +#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 +#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 +#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 +#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 +#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 +#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 +#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 +#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 +#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 +#define GL_COLOR_ATTACHMENT10_NV 0x8CEA +#define GL_COLOR_ATTACHMENT11_NV 0x8CEB +#define GL_COLOR_ATTACHMENT12_NV 0x8CEC +#define GL_COLOR_ATTACHMENT13_NV 0x8CED +#define GL_COLOR_ATTACHMENT14_NV 0x8CEE +#define GL_COLOR_ATTACHMENT15_NV 0x8CEF +typedef void (APIENTRYP pfn_glDrawBuffersNV) (GLsizei, const GLenum*); +extern pfn_glDrawBuffersNV fp_glDrawBuffersNV; + + /* GL_NV_draw_instanced */ +extern GLboolean GLAD_NV_draw_instanced; +typedef void (APIENTRYP pfn_glDrawArraysInstancedNV) (GLenum, GLint, GLsizei, GLsizei); +extern pfn_glDrawArraysInstancedNV fp_glDrawArraysInstancedNV; +typedef void (APIENTRYP pfn_glDrawElementsInstancedNV) (GLenum, GLsizei, GLenum, const void*, GLsizei); +extern pfn_glDrawElementsInstancedNV fp_glDrawElementsInstancedNV; + + /* GL_NV_draw_texture */ +extern GLboolean GLAD_NV_draw_texture; +typedef void (APIENTRYP pfn_glDrawTextureNV) (GLuint, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); +extern pfn_glDrawTextureNV fp_glDrawTextureNV; + + /* GL_NV_explicit_attrib_location */ +extern GLboolean GLAD_NV_explicit_attrib_location; + + /* GL_NV_explicit_multisample */ +extern GLboolean GLAD_NV_explicit_multisample; +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 +typedef void (APIENTRYP pfn_glGetMultisamplefvNV) (GLenum, GLuint, GLfloat*); +extern pfn_glGetMultisamplefvNV fp_glGetMultisamplefvNV; +typedef void (APIENTRYP pfn_glSampleMaskIndexedNV) (GLuint, GLbitfield); +extern pfn_glSampleMaskIndexedNV fp_glSampleMaskIndexedNV; +typedef void (APIENTRYP pfn_glTexRenderbufferNV) (GLenum, GLuint); +extern pfn_glTexRenderbufferNV fp_glTexRenderbufferNV; + + /* GL_NV_fbo_color_attachments */ +extern GLboolean GLAD_NV_fbo_color_attachments; +#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF + + /* GL_NV_fence */ +extern GLboolean GLAD_NV_fence; +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 +typedef void (APIENTRYP pfn_glDeleteFencesNV) (GLsizei, const GLuint*); +extern pfn_glDeleteFencesNV fp_glDeleteFencesNV; +typedef void (APIENTRYP pfn_glGenFencesNV) (GLsizei, GLuint*); +extern pfn_glGenFencesNV fp_glGenFencesNV; +typedef GLboolean (APIENTRYP pfn_glIsFenceNV) (GLuint); +extern pfn_glIsFenceNV fp_glIsFenceNV; +typedef GLboolean (APIENTRYP pfn_glTestFenceNV) (GLuint); +extern pfn_glTestFenceNV fp_glTestFenceNV; +typedef void (APIENTRYP pfn_glGetFenceivNV) (GLuint, GLenum, GLint*); +extern pfn_glGetFenceivNV fp_glGetFenceivNV; +typedef void (APIENTRYP pfn_glFinishFenceNV) (GLuint); +extern pfn_glFinishFenceNV fp_glFinishFenceNV; +typedef void (APIENTRYP pfn_glSetFenceNV) (GLuint, GLenum); +extern pfn_glSetFenceNV fp_glSetFenceNV; + + /* GL_NV_float_buffer */ +extern GLboolean GLAD_NV_float_buffer; +#define GL_FLOAT_R_NV 0x8880 +#define GL_FLOAT_RG_NV 0x8881 +#define GL_FLOAT_RGB_NV 0x8882 +#define GL_FLOAT_RGBA_NV 0x8883 +#define GL_FLOAT_R16_NV 0x8884 +#define GL_FLOAT_R32_NV 0x8885 +#define GL_FLOAT_RG16_NV 0x8886 +#define GL_FLOAT_RG32_NV 0x8887 +#define GL_FLOAT_RGB16_NV 0x8888 +#define GL_FLOAT_RGB32_NV 0x8889 +#define GL_FLOAT_RGBA16_NV 0x888A +#define GL_FLOAT_RGBA32_NV 0x888B +#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C +#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D +#define GL_FLOAT_RGBA_MODE_NV 0x888E + + /* GL_NV_fragment_program4 */ +extern GLboolean GLAD_NV_fragment_program4; + + /* GL_NV_framebuffer_blit */ +extern GLboolean GLAD_NV_framebuffer_blit; +#define GL_READ_FRAMEBUFFER_NV 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA +typedef void (APIENTRYP pfn_glBlitFramebufferNV) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +extern pfn_glBlitFramebufferNV fp_glBlitFramebufferNV; + + /* GL_NV_framebuffer_multisample */ +extern GLboolean GLAD_NV_framebuffer_multisample; +#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 +#define GL_MAX_SAMPLES_NV 0x8D57 +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleNV) (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleNV fp_glRenderbufferStorageMultisampleNV; + + /* GL_NV_framebuffer_multisample_coverage */ +extern GLboolean GLAD_NV_framebuffer_multisample_coverage; +#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB +#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 +#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 +#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 +typedef void (APIENTRYP pfn_glRenderbufferStorageMultisampleCoverageNV) (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); +extern pfn_glRenderbufferStorageMultisampleCoverageNV fp_glRenderbufferStorageMultisampleCoverageNV; + + /* GL_NV_generate_mipmap_sRGB */ +extern GLboolean GLAD_NV_generate_mipmap_sRGB; + + /* GL_NV_geometry_program4 */ +extern GLboolean GLAD_NV_geometry_program4; +#define GL_GEOMETRY_PROGRAM_NV 0x8C26 +#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 +#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 +typedef void (APIENTRYP pfn_glProgramVertexLimitNV) (GLenum, GLint); +extern pfn_glProgramVertexLimitNV fp_glProgramVertexLimitNV; +typedef void (APIENTRYP pfn_glFramebufferTextureFaceEXT) (GLenum, GLenum, GLuint, GLint, GLenum); +extern pfn_glFramebufferTextureFaceEXT fp_glFramebufferTextureFaceEXT; + + /* GL_NV_geometry_shader4 */ +extern GLboolean GLAD_NV_geometry_shader4; + + /* GL_NV_gpu_program4 */ +extern GLboolean GLAD_NV_gpu_program4; +#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 +#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 +#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 +#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 +#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 +#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 +#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 +typedef void (APIENTRYP pfn_glProgramLocalParameterI4iNV) (GLenum, GLuint, GLint, GLint, GLint, GLint); +extern pfn_glProgramLocalParameterI4iNV fp_glProgramLocalParameterI4iNV; +typedef void (APIENTRYP pfn_glProgramLocalParameterI4ivNV) (GLenum, GLuint, const GLint*); +extern pfn_glProgramLocalParameterI4ivNV fp_glProgramLocalParameterI4ivNV; +typedef void (APIENTRYP pfn_glProgramLocalParametersI4ivNV) (GLenum, GLuint, GLsizei, const GLint*); +extern pfn_glProgramLocalParametersI4ivNV fp_glProgramLocalParametersI4ivNV; +typedef void (APIENTRYP pfn_glProgramLocalParameterI4uiNV) (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glProgramLocalParameterI4uiNV fp_glProgramLocalParameterI4uiNV; +typedef void (APIENTRYP pfn_glProgramLocalParameterI4uivNV) (GLenum, GLuint, const GLuint*); +extern pfn_glProgramLocalParameterI4uivNV fp_glProgramLocalParameterI4uivNV; +typedef void (APIENTRYP pfn_glProgramLocalParametersI4uivNV) (GLenum, GLuint, GLsizei, const GLuint*); +extern pfn_glProgramLocalParametersI4uivNV fp_glProgramLocalParametersI4uivNV; +typedef void (APIENTRYP pfn_glProgramEnvParameterI4iNV) (GLenum, GLuint, GLint, GLint, GLint, GLint); +extern pfn_glProgramEnvParameterI4iNV fp_glProgramEnvParameterI4iNV; +typedef void (APIENTRYP pfn_glProgramEnvParameterI4ivNV) (GLenum, GLuint, const GLint*); +extern pfn_glProgramEnvParameterI4ivNV fp_glProgramEnvParameterI4ivNV; +typedef void (APIENTRYP pfn_glProgramEnvParametersI4ivNV) (GLenum, GLuint, GLsizei, const GLint*); +extern pfn_glProgramEnvParametersI4ivNV fp_glProgramEnvParametersI4ivNV; +typedef void (APIENTRYP pfn_glProgramEnvParameterI4uiNV) (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glProgramEnvParameterI4uiNV fp_glProgramEnvParameterI4uiNV; +typedef void (APIENTRYP pfn_glProgramEnvParameterI4uivNV) (GLenum, GLuint, const GLuint*); +extern pfn_glProgramEnvParameterI4uivNV fp_glProgramEnvParameterI4uivNV; +typedef void (APIENTRYP pfn_glProgramEnvParametersI4uivNV) (GLenum, GLuint, GLsizei, const GLuint*); +extern pfn_glProgramEnvParametersI4uivNV fp_glProgramEnvParametersI4uivNV; +typedef void (APIENTRYP pfn_glGetProgramLocalParameterIivNV) (GLenum, GLuint, GLint*); +extern pfn_glGetProgramLocalParameterIivNV fp_glGetProgramLocalParameterIivNV; +typedef void (APIENTRYP pfn_glGetProgramLocalParameterIuivNV) (GLenum, GLuint, GLuint*); +extern pfn_glGetProgramLocalParameterIuivNV fp_glGetProgramLocalParameterIuivNV; +typedef void (APIENTRYP pfn_glGetProgramEnvParameterIivNV) (GLenum, GLuint, GLint*); +extern pfn_glGetProgramEnvParameterIivNV fp_glGetProgramEnvParameterIivNV; +typedef void (APIENTRYP pfn_glGetProgramEnvParameterIuivNV) (GLenum, GLuint, GLuint*); +extern pfn_glGetProgramEnvParameterIuivNV fp_glGetProgramEnvParameterIuivNV; + + /* GL_NV_gpu_program5 */ +extern GLboolean GLAD_NV_gpu_program5; +#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C +#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F +#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44 +#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV 0x8F45 +typedef void (APIENTRYP pfn_glProgramSubroutineParametersuivNV) (GLenum, GLsizei, const GLuint*); +extern pfn_glProgramSubroutineParametersuivNV fp_glProgramSubroutineParametersuivNV; +typedef void (APIENTRYP pfn_glGetProgramSubroutineParameteruivNV) (GLenum, GLuint, GLuint*); +extern pfn_glGetProgramSubroutineParameteruivNV fp_glGetProgramSubroutineParameteruivNV; + + /* GL_NV_gpu_program5_mem_extended */ +extern GLboolean GLAD_NV_gpu_program5_mem_extended; + + /* GL_NV_gpu_shader5 */ +extern GLboolean GLAD_NV_gpu_shader5; + + /* GL_NV_half_float */ +extern GLboolean GLAD_NV_half_float; +#define GL_HALF_FLOAT_NV 0x140B +typedef void (APIENTRYP pfn_glVertex2hNV) (GLhalfNV, GLhalfNV); +extern pfn_glVertex2hNV fp_glVertex2hNV; +typedef void (APIENTRYP pfn_glVertex2hvNV) (const GLhalfNV*); +extern pfn_glVertex2hvNV fp_glVertex2hvNV; +typedef void (APIENTRYP pfn_glVertex3hNV) (GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glVertex3hNV fp_glVertex3hNV; +typedef void (APIENTRYP pfn_glVertex3hvNV) (const GLhalfNV*); +extern pfn_glVertex3hvNV fp_glVertex3hvNV; +typedef void (APIENTRYP pfn_glVertex4hNV) (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glVertex4hNV fp_glVertex4hNV; +typedef void (APIENTRYP pfn_glVertex4hvNV) (const GLhalfNV*); +extern pfn_glVertex4hvNV fp_glVertex4hvNV; +typedef void (APIENTRYP pfn_glNormal3hNV) (GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glNormal3hNV fp_glNormal3hNV; +typedef void (APIENTRYP pfn_glNormal3hvNV) (const GLhalfNV*); +extern pfn_glNormal3hvNV fp_glNormal3hvNV; +typedef void (APIENTRYP pfn_glColor3hNV) (GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glColor3hNV fp_glColor3hNV; +typedef void (APIENTRYP pfn_glColor3hvNV) (const GLhalfNV*); +extern pfn_glColor3hvNV fp_glColor3hvNV; +typedef void (APIENTRYP pfn_glColor4hNV) (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glColor4hNV fp_glColor4hNV; +typedef void (APIENTRYP pfn_glColor4hvNV) (const GLhalfNV*); +extern pfn_glColor4hvNV fp_glColor4hvNV; +typedef void (APIENTRYP pfn_glTexCoord1hNV) (GLhalfNV); +extern pfn_glTexCoord1hNV fp_glTexCoord1hNV; +typedef void (APIENTRYP pfn_glTexCoord1hvNV) (const GLhalfNV*); +extern pfn_glTexCoord1hvNV fp_glTexCoord1hvNV; +typedef void (APIENTRYP pfn_glTexCoord2hNV) (GLhalfNV, GLhalfNV); +extern pfn_glTexCoord2hNV fp_glTexCoord2hNV; +typedef void (APIENTRYP pfn_glTexCoord2hvNV) (const GLhalfNV*); +extern pfn_glTexCoord2hvNV fp_glTexCoord2hvNV; +typedef void (APIENTRYP pfn_glTexCoord3hNV) (GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glTexCoord3hNV fp_glTexCoord3hNV; +typedef void (APIENTRYP pfn_glTexCoord3hvNV) (const GLhalfNV*); +extern pfn_glTexCoord3hvNV fp_glTexCoord3hvNV; +typedef void (APIENTRYP pfn_glTexCoord4hNV) (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glTexCoord4hNV fp_glTexCoord4hNV; +typedef void (APIENTRYP pfn_glTexCoord4hvNV) (const GLhalfNV*); +extern pfn_glTexCoord4hvNV fp_glTexCoord4hvNV; +typedef void (APIENTRYP pfn_glMultiTexCoord1hNV) (GLenum, GLhalfNV); +extern pfn_glMultiTexCoord1hNV fp_glMultiTexCoord1hNV; +typedef void (APIENTRYP pfn_glMultiTexCoord1hvNV) (GLenum, const GLhalfNV*); +extern pfn_glMultiTexCoord1hvNV fp_glMultiTexCoord1hvNV; +typedef void (APIENTRYP pfn_glMultiTexCoord2hNV) (GLenum, GLhalfNV, GLhalfNV); +extern pfn_glMultiTexCoord2hNV fp_glMultiTexCoord2hNV; +typedef void (APIENTRYP pfn_glMultiTexCoord2hvNV) (GLenum, const GLhalfNV*); +extern pfn_glMultiTexCoord2hvNV fp_glMultiTexCoord2hvNV; +typedef void (APIENTRYP pfn_glMultiTexCoord3hNV) (GLenum, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glMultiTexCoord3hNV fp_glMultiTexCoord3hNV; +typedef void (APIENTRYP pfn_glMultiTexCoord3hvNV) (GLenum, const GLhalfNV*); +extern pfn_glMultiTexCoord3hvNV fp_glMultiTexCoord3hvNV; +typedef void (APIENTRYP pfn_glMultiTexCoord4hNV) (GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glMultiTexCoord4hNV fp_glMultiTexCoord4hNV; +typedef void (APIENTRYP pfn_glMultiTexCoord4hvNV) (GLenum, const GLhalfNV*); +extern pfn_glMultiTexCoord4hvNV fp_glMultiTexCoord4hvNV; +typedef void (APIENTRYP pfn_glFogCoordhNV) (GLhalfNV); +extern pfn_glFogCoordhNV fp_glFogCoordhNV; +typedef void (APIENTRYP pfn_glFogCoordhvNV) (const GLhalfNV*); +extern pfn_glFogCoordhvNV fp_glFogCoordhvNV; +typedef void (APIENTRYP pfn_glSecondaryColor3hNV) (GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glSecondaryColor3hNV fp_glSecondaryColor3hNV; +typedef void (APIENTRYP pfn_glSecondaryColor3hvNV) (const GLhalfNV*); +extern pfn_glSecondaryColor3hvNV fp_glSecondaryColor3hvNV; +typedef void (APIENTRYP pfn_glVertexWeighthNV) (GLhalfNV); +extern pfn_glVertexWeighthNV fp_glVertexWeighthNV; +typedef void (APIENTRYP pfn_glVertexWeighthvNV) (const GLhalfNV*); +extern pfn_glVertexWeighthvNV fp_glVertexWeighthvNV; +typedef void (APIENTRYP pfn_glVertexAttrib1hNV) (GLuint, GLhalfNV); +extern pfn_glVertexAttrib1hNV fp_glVertexAttrib1hNV; +typedef void (APIENTRYP pfn_glVertexAttrib1hvNV) (GLuint, const GLhalfNV*); +extern pfn_glVertexAttrib1hvNV fp_glVertexAttrib1hvNV; +typedef void (APIENTRYP pfn_glVertexAttrib2hNV) (GLuint, GLhalfNV, GLhalfNV); +extern pfn_glVertexAttrib2hNV fp_glVertexAttrib2hNV; +typedef void (APIENTRYP pfn_glVertexAttrib2hvNV) (GLuint, const GLhalfNV*); +extern pfn_glVertexAttrib2hvNV fp_glVertexAttrib2hvNV; +typedef void (APIENTRYP pfn_glVertexAttrib3hNV) (GLuint, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glVertexAttrib3hNV fp_glVertexAttrib3hNV; +typedef void (APIENTRYP pfn_glVertexAttrib3hvNV) (GLuint, const GLhalfNV*); +extern pfn_glVertexAttrib3hvNV fp_glVertexAttrib3hvNV; +typedef void (APIENTRYP pfn_glVertexAttrib4hNV) (GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV); +extern pfn_glVertexAttrib4hNV fp_glVertexAttrib4hNV; +typedef void (APIENTRYP pfn_glVertexAttrib4hvNV) (GLuint, const GLhalfNV*); +extern pfn_glVertexAttrib4hvNV fp_glVertexAttrib4hvNV; +typedef void (APIENTRYP pfn_glVertexAttribs1hvNV) (GLuint, GLsizei, const GLhalfNV*); +extern pfn_glVertexAttribs1hvNV fp_glVertexAttribs1hvNV; +typedef void (APIENTRYP pfn_glVertexAttribs2hvNV) (GLuint, GLsizei, const GLhalfNV*); +extern pfn_glVertexAttribs2hvNV fp_glVertexAttribs2hvNV; +typedef void (APIENTRYP pfn_glVertexAttribs3hvNV) (GLuint, GLsizei, const GLhalfNV*); +extern pfn_glVertexAttribs3hvNV fp_glVertexAttribs3hvNV; +typedef void (APIENTRYP pfn_glVertexAttribs4hvNV) (GLuint, GLsizei, const GLhalfNV*); +extern pfn_glVertexAttribs4hvNV fp_glVertexAttribs4hvNV; + + /* GL_NV_instanced_arrays */ +extern GLboolean GLAD_NV_instanced_arrays; +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE +typedef void (APIENTRYP pfn_glVertexAttribDivisorNV) (GLuint, GLuint); +extern pfn_glVertexAttribDivisorNV fp_glVertexAttribDivisorNV; + + /* GL_NV_multisample_coverage */ +extern GLboolean GLAD_NV_multisample_coverage; +#define GL_SAMPLES_ARB 0x80A9 +#define GL_COLOR_SAMPLES_NV 0x8E20 + + /* GL_NV_non_square_matrices */ +extern GLboolean GLAD_NV_non_square_matrices; +#define GL_FLOAT_MAT2x3_NV 0x8B65 +#define GL_FLOAT_MAT2x4_NV 0x8B66 +#define GL_FLOAT_MAT3x2_NV 0x8B67 +#define GL_FLOAT_MAT3x4_NV 0x8B68 +#define GL_FLOAT_MAT4x2_NV 0x8B69 +#define GL_FLOAT_MAT4x3_NV 0x8B6A +typedef void (APIENTRYP pfn_glUniformMatrix2x3fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix2x3fvNV fp_glUniformMatrix2x3fvNV; +typedef void (APIENTRYP pfn_glUniformMatrix3x2fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix3x2fvNV fp_glUniformMatrix3x2fvNV; +typedef void (APIENTRYP pfn_glUniformMatrix2x4fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix2x4fvNV fp_glUniformMatrix2x4fvNV; +typedef void (APIENTRYP pfn_glUniformMatrix4x2fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix4x2fvNV fp_glUniformMatrix4x2fvNV; +typedef void (APIENTRYP pfn_glUniformMatrix3x4fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix3x4fvNV fp_glUniformMatrix3x4fvNV; +typedef void (APIENTRYP pfn_glUniformMatrix4x3fvNV) (GLint, GLsizei, GLboolean, const GLfloat*); +extern pfn_glUniformMatrix4x3fvNV fp_glUniformMatrix4x3fvNV; + + /* GL_NV_occlusion_query */ +extern GLboolean GLAD_NV_occlusion_query; +#define GL_PIXEL_COUNTER_BITS_NV 0x8864 +#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 +#define GL_PIXEL_COUNT_NV 0x8866 +#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 +typedef void (APIENTRYP pfn_glGenOcclusionQueriesNV) (GLsizei, GLuint*); +extern pfn_glGenOcclusionQueriesNV fp_glGenOcclusionQueriesNV; +typedef void (APIENTRYP pfn_glDeleteOcclusionQueriesNV) (GLsizei, const GLuint*); +extern pfn_glDeleteOcclusionQueriesNV fp_glDeleteOcclusionQueriesNV; +typedef GLboolean (APIENTRYP pfn_glIsOcclusionQueryNV) (GLuint); +extern pfn_glIsOcclusionQueryNV fp_glIsOcclusionQueryNV; +typedef void (APIENTRYP pfn_glBeginOcclusionQueryNV) (GLuint); +extern pfn_glBeginOcclusionQueryNV fp_glBeginOcclusionQueryNV; +typedef void (APIENTRYP pfn_glEndOcclusionQueryNV) (); +extern pfn_glEndOcclusionQueryNV fp_glEndOcclusionQueryNV; +typedef void (APIENTRYP pfn_glGetOcclusionQueryivNV) (GLuint, GLenum, GLint*); +extern pfn_glGetOcclusionQueryivNV fp_glGetOcclusionQueryivNV; +typedef void (APIENTRYP pfn_glGetOcclusionQueryuivNV) (GLuint, GLenum, GLuint*); +extern pfn_glGetOcclusionQueryuivNV fp_glGetOcclusionQueryuivNV; + + /* GL_NV_parameter_buffer_object */ +extern GLboolean GLAD_NV_parameter_buffer_object; +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 +#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 +#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 +#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 +typedef void (APIENTRYP pfn_glProgramBufferParametersfvNV) (GLenum, GLuint, GLuint, GLsizei, const GLfloat*); +extern pfn_glProgramBufferParametersfvNV fp_glProgramBufferParametersfvNV; +typedef void (APIENTRYP pfn_glProgramBufferParametersIivNV) (GLenum, GLuint, GLuint, GLsizei, const GLint*); +extern pfn_glProgramBufferParametersIivNV fp_glProgramBufferParametersIivNV; +typedef void (APIENTRYP pfn_glProgramBufferParametersIuivNV) (GLenum, GLuint, GLuint, GLsizei, const GLuint*); +extern pfn_glProgramBufferParametersIuivNV fp_glProgramBufferParametersIuivNV; + + /* GL_NV_parameter_buffer_object2 */ +extern GLboolean GLAD_NV_parameter_buffer_object2; + + /* GL_NV_path_rendering */ +extern GLboolean GLAD_NV_path_rendering; +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_PATH_FOG_GEN_MODE_NV 0x90AC +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_CLOSE_PATH_NV 0x00 +#define GL_MOVE_TO_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_LINE_TO_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_RESTART_PATH_NV 0xF0 +#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 +#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 +#define GL_RECT_NV 0xF6 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_BOLD_BIT_NV 0x01 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 +#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 +#define GL_FONT_ASCENDER_BIT_NV 0x00200000 +#define GL_FONT_DESCENDER_BIT_NV 0x00400000 +#define GL_FONT_HEIGHT_BIT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 +#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_2_BYTES_NV 0x1407 +#define GL_3_BYTES_NV 0x1408 +#define GL_4_BYTES_NV 0x1409 +#define GL_EYE_LINEAR_NV 0x2400 +#define GL_OBJECT_LINEAR_NV 0x2401 +#define GL_CONSTANT_NV 0x8576 +#define GL_PATH_PROJECTION_NV 0x1701 +#define GL_PATH_MODELVIEW_NV 0x1700 +#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3 +#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6 +#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36 +#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3 +#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4 +#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7 +#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38 +#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4 +#define GL_FRAGMENT_INPUT_NV 0x936D +typedef GLuint (APIENTRYP pfn_glGenPathsNV) (GLsizei); +extern pfn_glGenPathsNV fp_glGenPathsNV; +typedef void (APIENTRYP pfn_glDeletePathsNV) (GLuint, GLsizei); +extern pfn_glDeletePathsNV fp_glDeletePathsNV; +typedef GLboolean (APIENTRYP pfn_glIsPathNV) (GLuint); +extern pfn_glIsPathNV fp_glIsPathNV; +typedef void (APIENTRYP pfn_glPathCommandsNV) (GLuint, GLsizei, const GLubyte*, GLsizei, GLenum, const void*); +extern pfn_glPathCommandsNV fp_glPathCommandsNV; +typedef void (APIENTRYP pfn_glPathCoordsNV) (GLuint, GLsizei, GLenum, const void*); +extern pfn_glPathCoordsNV fp_glPathCoordsNV; +typedef void (APIENTRYP pfn_glPathSubCommandsNV) (GLuint, GLsizei, GLsizei, GLsizei, const GLubyte*, GLsizei, GLenum, const void*); +extern pfn_glPathSubCommandsNV fp_glPathSubCommandsNV; +typedef void (APIENTRYP pfn_glPathSubCoordsNV) (GLuint, GLsizei, GLsizei, GLenum, const void*); +extern pfn_glPathSubCoordsNV fp_glPathSubCoordsNV; +typedef void (APIENTRYP pfn_glPathStringNV) (GLuint, GLenum, GLsizei, const void*); +extern pfn_glPathStringNV fp_glPathStringNV; +typedef void (APIENTRYP pfn_glPathGlyphsNV) (GLuint, GLenum, const void*, GLbitfield, GLsizei, GLenum, const void*, GLenum, GLuint, GLfloat); +extern pfn_glPathGlyphsNV fp_glPathGlyphsNV; +typedef void (APIENTRYP pfn_glPathGlyphRangeNV) (GLuint, GLenum, const void*, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat); +extern pfn_glPathGlyphRangeNV fp_glPathGlyphRangeNV; +typedef void (APIENTRYP pfn_glWeightPathsNV) (GLuint, GLsizei, const GLuint*, const GLfloat*); +extern pfn_glWeightPathsNV fp_glWeightPathsNV; +typedef void (APIENTRYP pfn_glCopyPathNV) (GLuint, GLuint); +extern pfn_glCopyPathNV fp_glCopyPathNV; +typedef void (APIENTRYP pfn_glInterpolatePathsNV) (GLuint, GLuint, GLuint, GLfloat); +extern pfn_glInterpolatePathsNV fp_glInterpolatePathsNV; +typedef void (APIENTRYP pfn_glTransformPathNV) (GLuint, GLuint, GLenum, const GLfloat*); +extern pfn_glTransformPathNV fp_glTransformPathNV; +typedef void (APIENTRYP pfn_glPathParameterivNV) (GLuint, GLenum, const GLint*); +extern pfn_glPathParameterivNV fp_glPathParameterivNV; +typedef void (APIENTRYP pfn_glPathParameteriNV) (GLuint, GLenum, GLint); +extern pfn_glPathParameteriNV fp_glPathParameteriNV; +typedef void (APIENTRYP pfn_glPathParameterfvNV) (GLuint, GLenum, const GLfloat*); +extern pfn_glPathParameterfvNV fp_glPathParameterfvNV; +typedef void (APIENTRYP pfn_glPathParameterfNV) (GLuint, GLenum, GLfloat); +extern pfn_glPathParameterfNV fp_glPathParameterfNV; +typedef void (APIENTRYP pfn_glPathDashArrayNV) (GLuint, GLsizei, const GLfloat*); +extern pfn_glPathDashArrayNV fp_glPathDashArrayNV; +typedef void (APIENTRYP pfn_glPathStencilFuncNV) (GLenum, GLint, GLuint); +extern pfn_glPathStencilFuncNV fp_glPathStencilFuncNV; +typedef void (APIENTRYP pfn_glPathStencilDepthOffsetNV) (GLfloat, GLfloat); +extern pfn_glPathStencilDepthOffsetNV fp_glPathStencilDepthOffsetNV; +typedef void (APIENTRYP pfn_glStencilFillPathNV) (GLuint, GLenum, GLuint); +extern pfn_glStencilFillPathNV fp_glStencilFillPathNV; +typedef void (APIENTRYP pfn_glStencilStrokePathNV) (GLuint, GLint, GLuint); +extern pfn_glStencilStrokePathNV fp_glStencilStrokePathNV; +typedef void (APIENTRYP pfn_glStencilFillPathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLenum, GLuint, GLenum, const GLfloat*); +extern pfn_glStencilFillPathInstancedNV fp_glStencilFillPathInstancedNV; +typedef void (APIENTRYP pfn_glStencilStrokePathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLint, GLuint, GLenum, const GLfloat*); +extern pfn_glStencilStrokePathInstancedNV fp_glStencilStrokePathInstancedNV; +typedef void (APIENTRYP pfn_glPathCoverDepthFuncNV) (GLenum); +extern pfn_glPathCoverDepthFuncNV fp_glPathCoverDepthFuncNV; +typedef void (APIENTRYP pfn_glPathColorGenNV) (GLenum, GLenum, GLenum, const GLfloat*); +extern pfn_glPathColorGenNV fp_glPathColorGenNV; +typedef void (APIENTRYP pfn_glPathTexGenNV) (GLenum, GLenum, GLint, const GLfloat*); +extern pfn_glPathTexGenNV fp_glPathTexGenNV; +typedef void (APIENTRYP pfn_glPathFogGenNV) (GLenum); +extern pfn_glPathFogGenNV fp_glPathFogGenNV; +typedef void (APIENTRYP pfn_glCoverFillPathNV) (GLuint, GLenum); +extern pfn_glCoverFillPathNV fp_glCoverFillPathNV; +typedef void (APIENTRYP pfn_glCoverStrokePathNV) (GLuint, GLenum); +extern pfn_glCoverStrokePathNV fp_glCoverStrokePathNV; +typedef void (APIENTRYP pfn_glCoverFillPathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLenum, GLenum, const GLfloat*); +extern pfn_glCoverFillPathInstancedNV fp_glCoverFillPathInstancedNV; +typedef void (APIENTRYP pfn_glCoverStrokePathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLenum, GLenum, const GLfloat*); +extern pfn_glCoverStrokePathInstancedNV fp_glCoverStrokePathInstancedNV; +typedef void (APIENTRYP pfn_glGetPathParameterivNV) (GLuint, GLenum, GLint*); +extern pfn_glGetPathParameterivNV fp_glGetPathParameterivNV; +typedef void (APIENTRYP pfn_glGetPathParameterfvNV) (GLuint, GLenum, GLfloat*); +extern pfn_glGetPathParameterfvNV fp_glGetPathParameterfvNV; +typedef void (APIENTRYP pfn_glGetPathCommandsNV) (GLuint, GLubyte*); +extern pfn_glGetPathCommandsNV fp_glGetPathCommandsNV; +typedef void (APIENTRYP pfn_glGetPathCoordsNV) (GLuint, GLfloat*); +extern pfn_glGetPathCoordsNV fp_glGetPathCoordsNV; +typedef void (APIENTRYP pfn_glGetPathDashArrayNV) (GLuint, GLfloat*); +extern pfn_glGetPathDashArrayNV fp_glGetPathDashArrayNV; +typedef void (APIENTRYP pfn_glGetPathMetricsNV) (GLbitfield, GLsizei, GLenum, const void*, GLuint, GLsizei, GLfloat*); +extern pfn_glGetPathMetricsNV fp_glGetPathMetricsNV; +typedef void (APIENTRYP pfn_glGetPathMetricRangeNV) (GLbitfield, GLuint, GLsizei, GLsizei, GLfloat*); +extern pfn_glGetPathMetricRangeNV fp_glGetPathMetricRangeNV; +typedef void (APIENTRYP pfn_glGetPathSpacingNV) (GLenum, GLsizei, GLenum, const void*, GLuint, GLfloat, GLfloat, GLenum, GLfloat*); +extern pfn_glGetPathSpacingNV fp_glGetPathSpacingNV; +typedef void (APIENTRYP pfn_glGetPathColorGenivNV) (GLenum, GLenum, GLint*); +extern pfn_glGetPathColorGenivNV fp_glGetPathColorGenivNV; +typedef void (APIENTRYP pfn_glGetPathColorGenfvNV) (GLenum, GLenum, GLfloat*); +extern pfn_glGetPathColorGenfvNV fp_glGetPathColorGenfvNV; +typedef void (APIENTRYP pfn_glGetPathTexGenivNV) (GLenum, GLenum, GLint*); +extern pfn_glGetPathTexGenivNV fp_glGetPathTexGenivNV; +typedef void (APIENTRYP pfn_glGetPathTexGenfvNV) (GLenum, GLenum, GLfloat*); +extern pfn_glGetPathTexGenfvNV fp_glGetPathTexGenfvNV; +typedef GLboolean (APIENTRYP pfn_glIsPointInFillPathNV) (GLuint, GLuint, GLfloat, GLfloat); +extern pfn_glIsPointInFillPathNV fp_glIsPointInFillPathNV; +typedef GLboolean (APIENTRYP pfn_glIsPointInStrokePathNV) (GLuint, GLfloat, GLfloat); +extern pfn_glIsPointInStrokePathNV fp_glIsPointInStrokePathNV; +typedef GLfloat (APIENTRYP pfn_glGetPathLengthNV) (GLuint, GLsizei, GLsizei); +extern pfn_glGetPathLengthNV fp_glGetPathLengthNV; +typedef GLboolean (APIENTRYP pfn_glPointAlongPathNV) (GLuint, GLsizei, GLsizei, GLfloat, GLfloat*, GLfloat*, GLfloat*, GLfloat*); +extern pfn_glPointAlongPathNV fp_glPointAlongPathNV; +typedef void (APIENTRYP pfn_glMatrixLoad3x2fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixLoad3x2fNV fp_glMatrixLoad3x2fNV; +typedef void (APIENTRYP pfn_glMatrixLoad3x3fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixLoad3x3fNV fp_glMatrixLoad3x3fNV; +typedef void (APIENTRYP pfn_glMatrixLoadTranspose3x3fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixLoadTranspose3x3fNV fp_glMatrixLoadTranspose3x3fNV; +typedef void (APIENTRYP pfn_glMatrixMult3x2fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixMult3x2fNV fp_glMatrixMult3x2fNV; +typedef void (APIENTRYP pfn_glMatrixMult3x3fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixMult3x3fNV fp_glMatrixMult3x3fNV; +typedef void (APIENTRYP pfn_glMatrixMultTranspose3x3fNV) (GLenum, const GLfloat*); +extern pfn_glMatrixMultTranspose3x3fNV fp_glMatrixMultTranspose3x3fNV; +typedef void (APIENTRYP pfn_glStencilThenCoverFillPathNV) (GLuint, GLenum, GLuint, GLenum); +extern pfn_glStencilThenCoverFillPathNV fp_glStencilThenCoverFillPathNV; +typedef void (APIENTRYP pfn_glStencilThenCoverStrokePathNV) (GLuint, GLint, GLuint, GLenum); +extern pfn_glStencilThenCoverStrokePathNV fp_glStencilThenCoverStrokePathNV; +typedef void (APIENTRYP pfn_glStencilThenCoverFillPathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLenum, GLuint, GLenum, GLenum, const GLfloat*); +extern pfn_glStencilThenCoverFillPathInstancedNV fp_glStencilThenCoverFillPathInstancedNV; +typedef void (APIENTRYP pfn_glStencilThenCoverStrokePathInstancedNV) (GLsizei, GLenum, const void*, GLuint, GLint, GLuint, GLenum, GLenum, const GLfloat*); +extern pfn_glStencilThenCoverStrokePathInstancedNV fp_glStencilThenCoverStrokePathInstancedNV; +typedef GLenum (APIENTRYP pfn_glPathGlyphIndexRangeNV) (GLenum, const void*, GLbitfield, GLuint, GLfloat, GLuint); +extern pfn_glPathGlyphIndexRangeNV fp_glPathGlyphIndexRangeNV; +typedef GLenum (APIENTRYP pfn_glPathGlyphIndexArrayNV) (GLuint, GLenum, const void*, GLbitfield, GLuint, GLsizei, GLuint, GLfloat); +extern pfn_glPathGlyphIndexArrayNV fp_glPathGlyphIndexArrayNV; +typedef GLenum (APIENTRYP pfn_glPathMemoryGlyphIndexArrayNV) (GLuint, GLenum, GLsizeiptr, const void*, GLsizei, GLuint, GLsizei, GLuint, GLfloat); +extern pfn_glPathMemoryGlyphIndexArrayNV fp_glPathMemoryGlyphIndexArrayNV; +typedef void (APIENTRYP pfn_glProgramPathFragmentInputGenNV) (GLuint, GLint, GLenum, GLint, const GLfloat*); +extern pfn_glProgramPathFragmentInputGenNV fp_glProgramPathFragmentInputGenNV; +typedef void (APIENTRYP pfn_glGetProgramResourcefvNV) (GLuint, GLenum, GLuint, GLsizei, const GLenum*, GLsizei, GLsizei*, GLfloat*); +extern pfn_glGetProgramResourcefvNV fp_glGetProgramResourcefvNV; + + /* GL_NV_present_video */ +extern GLboolean GLAD_NV_present_video; +#define GL_FRAME_NV 0x8E26 +#define GL_FIELDS_NV 0x8E27 +#define GL_CURRENT_TIME_NV 0x8E28 +#define GL_NUM_FILL_STREAMS_NV 0x8E29 +#define GL_PRESENT_TIME_NV 0x8E2A +#define GL_PRESENT_DURATION_NV 0x8E2B +typedef void (APIENTRYP pfn_glPresentFrameKeyedNV) (GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint); +extern pfn_glPresentFrameKeyedNV fp_glPresentFrameKeyedNV; +typedef void (APIENTRYP pfn_glPresentFrameDualFillNV) (GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint); +extern pfn_glPresentFrameDualFillNV fp_glPresentFrameDualFillNV; +typedef void (APIENTRYP pfn_glGetVideoivNV) (GLuint, GLenum, GLint*); +extern pfn_glGetVideoivNV fp_glGetVideoivNV; +typedef void (APIENTRYP pfn_glGetVideouivNV) (GLuint, GLenum, GLuint*); +extern pfn_glGetVideouivNV fp_glGetVideouivNV; +typedef void (APIENTRYP pfn_glGetVideoi64vNV) (GLuint, GLenum, GLint64EXT*); +extern pfn_glGetVideoi64vNV fp_glGetVideoi64vNV; +typedef void (APIENTRYP pfn_glGetVideoui64vNV) (GLuint, GLenum, GLuint64EXT*); +extern pfn_glGetVideoui64vNV fp_glGetVideoui64vNV; + + /* GL_NV_primitive_restart */ +extern GLboolean GLAD_NV_primitive_restart; +#define GL_PRIMITIVE_RESTART_NV 0x8558 +#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 +typedef void (APIENTRYP pfn_glPrimitiveRestartNV) (); +extern pfn_glPrimitiveRestartNV fp_glPrimitiveRestartNV; +typedef void (APIENTRYP pfn_glPrimitiveRestartIndexNV) (GLuint); +extern pfn_glPrimitiveRestartIndexNV fp_glPrimitiveRestartIndexNV; + + /* GL_NV_read_buffer */ +extern GLboolean GLAD_NV_read_buffer; +#define GL_READ_BUFFER_NV 0x0C02 +typedef void (APIENTRYP pfn_glReadBufferNV) (GLenum); +extern pfn_glReadBufferNV fp_glReadBufferNV; + + /* GL_NV_read_buffer_front */ +extern GLboolean GLAD_NV_read_buffer_front; + + /* GL_NV_read_depth */ +extern GLboolean GLAD_NV_read_depth; + + /* GL_NV_read_depth_stencil */ +extern GLboolean GLAD_NV_read_depth_stencil; + + /* GL_NV_read_stencil */ +extern GLboolean GLAD_NV_read_stencil; + + /* GL_NV_shader_atomic_counters */ +extern GLboolean GLAD_NV_shader_atomic_counters; + + /* GL_NV_shader_atomic_float */ +extern GLboolean GLAD_NV_shader_atomic_float; + + /* GL_NV_shader_atomic_int64 */ +extern GLboolean GLAD_NV_shader_atomic_int64; + + /* GL_NV_shader_buffer_load */ +extern GLboolean GLAD_NV_shader_buffer_load; +#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D +#define GL_GPU_ADDRESS_NV 0x8F34 +#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 +typedef void (APIENTRYP pfn_glMakeBufferResidentNV) (GLenum, GLenum); +extern pfn_glMakeBufferResidentNV fp_glMakeBufferResidentNV; +typedef void (APIENTRYP pfn_glMakeBufferNonResidentNV) (GLenum); +extern pfn_glMakeBufferNonResidentNV fp_glMakeBufferNonResidentNV; +typedef GLboolean (APIENTRYP pfn_glIsBufferResidentNV) (GLenum); +extern pfn_glIsBufferResidentNV fp_glIsBufferResidentNV; +typedef void (APIENTRYP pfn_glMakeNamedBufferResidentNV) (GLuint, GLenum); +extern pfn_glMakeNamedBufferResidentNV fp_glMakeNamedBufferResidentNV; +typedef void (APIENTRYP pfn_glMakeNamedBufferNonResidentNV) (GLuint); +extern pfn_glMakeNamedBufferNonResidentNV fp_glMakeNamedBufferNonResidentNV; +typedef GLboolean (APIENTRYP pfn_glIsNamedBufferResidentNV) (GLuint); +extern pfn_glIsNamedBufferResidentNV fp_glIsNamedBufferResidentNV; +typedef void (APIENTRYP pfn_glGetBufferParameterui64vNV) (GLenum, GLenum, GLuint64EXT*); +extern pfn_glGetBufferParameterui64vNV fp_glGetBufferParameterui64vNV; +typedef void (APIENTRYP pfn_glGetNamedBufferParameterui64vNV) (GLuint, GLenum, GLuint64EXT*); +extern pfn_glGetNamedBufferParameterui64vNV fp_glGetNamedBufferParameterui64vNV; +typedef void (APIENTRYP pfn_glGetIntegerui64vNV) (GLenum, GLuint64EXT*); +extern pfn_glGetIntegerui64vNV fp_glGetIntegerui64vNV; +typedef void (APIENTRYP pfn_glUniformui64NV) (GLint, GLuint64EXT); +extern pfn_glUniformui64NV fp_glUniformui64NV; +typedef void (APIENTRYP pfn_glUniformui64vNV) (GLint, GLsizei, const GLuint64EXT*); +extern pfn_glUniformui64vNV fp_glUniformui64vNV; +typedef void (APIENTRYP pfn_glProgramUniformui64NV) (GLuint, GLint, GLuint64EXT); +extern pfn_glProgramUniformui64NV fp_glProgramUniformui64NV; +typedef void (APIENTRYP pfn_glProgramUniformui64vNV) (GLuint, GLint, GLsizei, const GLuint64EXT*); +extern pfn_glProgramUniformui64vNV fp_glProgramUniformui64vNV; + + /* GL_NV_shader_buffer_store */ +extern GLboolean GLAD_NV_shader_buffer_store; +#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010 + + /* GL_NV_shader_storage_buffer_object */ +extern GLboolean GLAD_NV_shader_storage_buffer_object; + + /* GL_NV_shader_thread_group */ +extern GLboolean GLAD_NV_shader_thread_group; +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B + + /* GL_NV_shader_thread_shuffle */ +extern GLboolean GLAD_NV_shader_thread_shuffle; + + /* GL_NV_shadow_samplers_array */ +extern GLboolean GLAD_NV_shadow_samplers_array; +#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 + + /* GL_NV_shadow_samplers_cube */ +extern GLboolean GLAD_NV_shadow_samplers_cube; +#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 + + /* GL_NV_sRGB_formats */ +extern GLboolean GLAD_NV_sRGB_formats; +#define GL_SLUMINANCE_NV 0x8C46 +#define GL_SLUMINANCE_ALPHA_NV 0x8C44 +#define GL_SRGB8_NV 0x8C41 +#define GL_SLUMINANCE8_NV 0x8C47 +#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 +#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F +#define GL_ETC1_SRGB8_NV 0x88EE + + /* GL_NV_tessellation_program5 */ +extern GLboolean GLAD_NV_tessellation_program5; +#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 +#define GL_TESS_CONTROL_PROGRAM_NV 0x891E +#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F +#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 +#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 + + /* GL_NV_texture_barrier */ +extern GLboolean GLAD_NV_texture_barrier; +typedef void (APIENTRYP pfn_glTextureBarrierNV) (); +extern pfn_glTextureBarrierNV fp_glTextureBarrierNV; + + /* GL_NV_texture_border_clamp */ +extern GLboolean GLAD_NV_texture_border_clamp; +#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 +#define GL_CLAMP_TO_BORDER_NV 0x812D + + /* GL_NV_texture_compression_s3tc_update */ +extern GLboolean GLAD_NV_texture_compression_s3tc_update; + + /* GL_NV_texture_multisample */ +extern GLboolean GLAD_NV_texture_multisample; +#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 +#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 +typedef void (APIENTRYP pfn_glTexImage2DMultisampleCoverageNV) (GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean); +extern pfn_glTexImage2DMultisampleCoverageNV fp_glTexImage2DMultisampleCoverageNV; +typedef void (APIENTRYP pfn_glTexImage3DMultisampleCoverageNV) (GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTexImage3DMultisampleCoverageNV fp_glTexImage3DMultisampleCoverageNV; +typedef void (APIENTRYP pfn_glTextureImage2DMultisampleNV) (GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureImage2DMultisampleNV fp_glTextureImage2DMultisampleNV; +typedef void (APIENTRYP pfn_glTextureImage3DMultisampleNV) (GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureImage3DMultisampleNV fp_glTextureImage3DMultisampleNV; +typedef void (APIENTRYP pfn_glTextureImage2DMultisampleCoverageNV) (GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureImage2DMultisampleCoverageNV fp_glTextureImage2DMultisampleCoverageNV; +typedef void (APIENTRYP pfn_glTextureImage3DMultisampleCoverageNV) (GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +extern pfn_glTextureImage3DMultisampleCoverageNV fp_glTextureImage3DMultisampleCoverageNV; + + /* GL_NV_texture_npot_2D_mipmap */ +extern GLboolean GLAD_NV_texture_npot_2D_mipmap; + + /* GL_NV_transform_feedback */ +extern GLboolean GLAD_NV_transform_feedback; +#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 +#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 +#define GL_TEXTURE_COORD_NV 0x8C79 +#define GL_CLIP_DISTANCE_NV 0x8C7A +#define GL_VERTEX_ID_NV 0x8C7B +#define GL_PRIMITIVE_ID_NV 0x8C7C +#define GL_GENERIC_ATTRIB_NV 0x8C7D +#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 +#define GL_ACTIVE_VARYINGS_NV 0x8C81 +#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 +#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 +#define GL_PRIMITIVES_GENERATED_NV 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 +#define GL_RASTERIZER_DISCARD_NV 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C +#define GL_SEPARATE_ATTRIBS_NV 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F +#define GL_LAYER_NV 0x8DAA +#define GL_NEXT_BUFFER_NV -2 +#define GL_SKIP_COMPONENTS4_NV -3 +#define GL_SKIP_COMPONENTS3_NV -4 +#define GL_SKIP_COMPONENTS2_NV -5 +#define GL_SKIP_COMPONENTS1_NV -6 +typedef void (APIENTRYP pfn_glBeginTransformFeedbackNV) (GLenum); +extern pfn_glBeginTransformFeedbackNV fp_glBeginTransformFeedbackNV; +typedef void (APIENTRYP pfn_glEndTransformFeedbackNV) (); +extern pfn_glEndTransformFeedbackNV fp_glEndTransformFeedbackNV; +typedef void (APIENTRYP pfn_glTransformFeedbackAttribsNV) (GLsizei, const GLint*, GLenum); +extern pfn_glTransformFeedbackAttribsNV fp_glTransformFeedbackAttribsNV; +typedef void (APIENTRYP pfn_glBindBufferRangeNV) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +extern pfn_glBindBufferRangeNV fp_glBindBufferRangeNV; +typedef void (APIENTRYP pfn_glBindBufferOffsetNV) (GLenum, GLuint, GLuint, GLintptr); +extern pfn_glBindBufferOffsetNV fp_glBindBufferOffsetNV; +typedef void (APIENTRYP pfn_glBindBufferBaseNV) (GLenum, GLuint, GLuint); +extern pfn_glBindBufferBaseNV fp_glBindBufferBaseNV; +typedef void (APIENTRYP pfn_glTransformFeedbackVaryingsNV) (GLuint, GLsizei, const GLint*, GLenum); +extern pfn_glTransformFeedbackVaryingsNV fp_glTransformFeedbackVaryingsNV; +typedef void (APIENTRYP pfn_glActiveVaryingNV) (GLuint, const GLchar*); +extern pfn_glActiveVaryingNV fp_glActiveVaryingNV; +typedef GLint (APIENTRYP pfn_glGetVaryingLocationNV) (GLuint, const GLchar*); +extern pfn_glGetVaryingLocationNV fp_glGetVaryingLocationNV; +typedef void (APIENTRYP pfn_glGetActiveVaryingNV) (GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*); +extern pfn_glGetActiveVaryingNV fp_glGetActiveVaryingNV; +typedef void (APIENTRYP pfn_glGetTransformFeedbackVaryingNV) (GLuint, GLuint, GLint*); +extern pfn_glGetTransformFeedbackVaryingNV fp_glGetTransformFeedbackVaryingNV; +typedef void (APIENTRYP pfn_glTransformFeedbackStreamAttribsNV) (GLsizei, const GLint*, GLsizei, const GLint*, GLenum); +extern pfn_glTransformFeedbackStreamAttribsNV fp_glTransformFeedbackStreamAttribsNV; + + /* GL_NV_transform_feedback2 */ +extern GLboolean GLAD_NV_transform_feedback2; +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 +typedef void (APIENTRYP pfn_glBindTransformFeedbackNV) (GLenum, GLuint); +extern pfn_glBindTransformFeedbackNV fp_glBindTransformFeedbackNV; +typedef void (APIENTRYP pfn_glDeleteTransformFeedbacksNV) (GLsizei, const GLuint*); +extern pfn_glDeleteTransformFeedbacksNV fp_glDeleteTransformFeedbacksNV; +typedef void (APIENTRYP pfn_glGenTransformFeedbacksNV) (GLsizei, GLuint*); +extern pfn_glGenTransformFeedbacksNV fp_glGenTransformFeedbacksNV; +typedef GLboolean (APIENTRYP pfn_glIsTransformFeedbackNV) (GLuint); +extern pfn_glIsTransformFeedbackNV fp_glIsTransformFeedbackNV; +typedef void (APIENTRYP pfn_glPauseTransformFeedbackNV) (); +extern pfn_glPauseTransformFeedbackNV fp_glPauseTransformFeedbackNV; +typedef void (APIENTRYP pfn_glResumeTransformFeedbackNV) (); +extern pfn_glResumeTransformFeedbackNV fp_glResumeTransformFeedbackNV; +typedef void (APIENTRYP pfn_glDrawTransformFeedbackNV) (GLenum, GLuint); +extern pfn_glDrawTransformFeedbackNV fp_glDrawTransformFeedbackNV; + + /* GL_NV_vdpau_interop */ +extern GLboolean GLAD_NV_vdpau_interop; +#define GL_SURFACE_STATE_NV 0x86EB +#define GL_SURFACE_REGISTERED_NV 0x86FD +#define GL_SURFACE_MAPPED_NV 0x8700 +#define GL_WRITE_DISCARD_NV 0x88BE +typedef void (APIENTRYP pfn_glVDPAUInitNV) (const void*, const void*); +extern pfn_glVDPAUInitNV fp_glVDPAUInitNV; +typedef void (APIENTRYP pfn_glVDPAUFiniNV) (); +extern pfn_glVDPAUFiniNV fp_glVDPAUFiniNV; +typedef GLvdpauSurfaceNV (APIENTRYP pfn_glVDPAURegisterVideoSurfaceNV) (const void*, GLenum, GLsizei, const GLuint*); +extern pfn_glVDPAURegisterVideoSurfaceNV fp_glVDPAURegisterVideoSurfaceNV; +typedef GLvdpauSurfaceNV (APIENTRYP pfn_glVDPAURegisterOutputSurfaceNV) (const void*, GLenum, GLsizei, const GLuint*); +extern pfn_glVDPAURegisterOutputSurfaceNV fp_glVDPAURegisterOutputSurfaceNV; +typedef GLboolean (APIENTRYP pfn_glVDPAUIsSurfaceNV) (GLvdpauSurfaceNV); +extern pfn_glVDPAUIsSurfaceNV fp_glVDPAUIsSurfaceNV; +typedef void (APIENTRYP pfn_glVDPAUUnregisterSurfaceNV) (GLvdpauSurfaceNV); +extern pfn_glVDPAUUnregisterSurfaceNV fp_glVDPAUUnregisterSurfaceNV; +typedef void (APIENTRYP pfn_glVDPAUGetSurfaceivNV) (GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei*, GLint*); +extern pfn_glVDPAUGetSurfaceivNV fp_glVDPAUGetSurfaceivNV; +typedef void (APIENTRYP pfn_glVDPAUSurfaceAccessNV) (GLvdpauSurfaceNV, GLenum); +extern pfn_glVDPAUSurfaceAccessNV fp_glVDPAUSurfaceAccessNV; +typedef void (APIENTRYP pfn_glVDPAUMapSurfacesNV) (GLsizei, const GLvdpauSurfaceNV*); +extern pfn_glVDPAUMapSurfacesNV fp_glVDPAUMapSurfacesNV; +typedef void (APIENTRYP pfn_glVDPAUUnmapSurfacesNV) (GLsizei, const GLvdpauSurfaceNV*); +extern pfn_glVDPAUUnmapSurfacesNV fp_glVDPAUUnmapSurfacesNV; + + /* GL_NV_vertex_attrib_integer_64bit */ +extern GLboolean GLAD_NV_vertex_attrib_integer_64bit; +typedef void (APIENTRYP pfn_glVertexAttribL1i64NV) (GLuint, GLint64EXT); +extern pfn_glVertexAttribL1i64NV fp_glVertexAttribL1i64NV; +typedef void (APIENTRYP pfn_glVertexAttribL2i64NV) (GLuint, GLint64EXT, GLint64EXT); +extern pfn_glVertexAttribL2i64NV fp_glVertexAttribL2i64NV; +typedef void (APIENTRYP pfn_glVertexAttribL3i64NV) (GLuint, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glVertexAttribL3i64NV fp_glVertexAttribL3i64NV; +typedef void (APIENTRYP pfn_glVertexAttribL4i64NV) (GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT); +extern pfn_glVertexAttribL4i64NV fp_glVertexAttribL4i64NV; +typedef void (APIENTRYP pfn_glVertexAttribL1i64vNV) (GLuint, const GLint64EXT*); +extern pfn_glVertexAttribL1i64vNV fp_glVertexAttribL1i64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL2i64vNV) (GLuint, const GLint64EXT*); +extern pfn_glVertexAttribL2i64vNV fp_glVertexAttribL2i64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL3i64vNV) (GLuint, const GLint64EXT*); +extern pfn_glVertexAttribL3i64vNV fp_glVertexAttribL3i64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL4i64vNV) (GLuint, const GLint64EXT*); +extern pfn_glVertexAttribL4i64vNV fp_glVertexAttribL4i64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL1ui64NV) (GLuint, GLuint64EXT); +extern pfn_glVertexAttribL1ui64NV fp_glVertexAttribL1ui64NV; +typedef void (APIENTRYP pfn_glVertexAttribL2ui64NV) (GLuint, GLuint64EXT, GLuint64EXT); +extern pfn_glVertexAttribL2ui64NV fp_glVertexAttribL2ui64NV; +typedef void (APIENTRYP pfn_glVertexAttribL3ui64NV) (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glVertexAttribL3ui64NV fp_glVertexAttribL3ui64NV; +typedef void (APIENTRYP pfn_glVertexAttribL4ui64NV) (GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT); +extern pfn_glVertexAttribL4ui64NV fp_glVertexAttribL4ui64NV; +typedef void (APIENTRYP pfn_glVertexAttribL1ui64vNV) (GLuint, const GLuint64EXT*); +extern pfn_glVertexAttribL1ui64vNV fp_glVertexAttribL1ui64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL2ui64vNV) (GLuint, const GLuint64EXT*); +extern pfn_glVertexAttribL2ui64vNV fp_glVertexAttribL2ui64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL3ui64vNV) (GLuint, const GLuint64EXT*); +extern pfn_glVertexAttribL3ui64vNV fp_glVertexAttribL3ui64vNV; +typedef void (APIENTRYP pfn_glVertexAttribL4ui64vNV) (GLuint, const GLuint64EXT*); +extern pfn_glVertexAttribL4ui64vNV fp_glVertexAttribL4ui64vNV; +typedef void (APIENTRYP pfn_glGetVertexAttribLi64vNV) (GLuint, GLenum, GLint64EXT*); +extern pfn_glGetVertexAttribLi64vNV fp_glGetVertexAttribLi64vNV; +typedef void (APIENTRYP pfn_glGetVertexAttribLui64vNV) (GLuint, GLenum, GLuint64EXT*); +extern pfn_glGetVertexAttribLui64vNV fp_glGetVertexAttribLui64vNV; +typedef void (APIENTRYP pfn_glVertexAttribLFormatNV) (GLuint, GLint, GLenum, GLsizei); +extern pfn_glVertexAttribLFormatNV fp_glVertexAttribLFormatNV; + + /* GL_NV_vertex_buffer_unified_memory */ +extern GLboolean GLAD_NV_vertex_buffer_unified_memory; +#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E +#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F +#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 +#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 +#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 +#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 +#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 +#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 +#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 +#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 +#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 +#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 +#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A +#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B +#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C +#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D +#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E +#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F +#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 +#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 +#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 +#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 +#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 +#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 +#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 +typedef void (APIENTRYP pfn_glBufferAddressRangeNV) (GLenum, GLuint, GLuint64EXT, GLsizeiptr); +extern pfn_glBufferAddressRangeNV fp_glBufferAddressRangeNV; +typedef void (APIENTRYP pfn_glVertexFormatNV) (GLint, GLenum, GLsizei); +extern pfn_glVertexFormatNV fp_glVertexFormatNV; +typedef void (APIENTRYP pfn_glNormalFormatNV) (GLenum, GLsizei); +extern pfn_glNormalFormatNV fp_glNormalFormatNV; +typedef void (APIENTRYP pfn_glColorFormatNV) (GLint, GLenum, GLsizei); +extern pfn_glColorFormatNV fp_glColorFormatNV; +typedef void (APIENTRYP pfn_glIndexFormatNV) (GLenum, GLsizei); +extern pfn_glIndexFormatNV fp_glIndexFormatNV; +typedef void (APIENTRYP pfn_glTexCoordFormatNV) (GLint, GLenum, GLsizei); +extern pfn_glTexCoordFormatNV fp_glTexCoordFormatNV; +typedef void (APIENTRYP pfn_glEdgeFlagFormatNV) (GLsizei); +extern pfn_glEdgeFlagFormatNV fp_glEdgeFlagFormatNV; +typedef void (APIENTRYP pfn_glSecondaryColorFormatNV) (GLint, GLenum, GLsizei); +extern pfn_glSecondaryColorFormatNV fp_glSecondaryColorFormatNV; +typedef void (APIENTRYP pfn_glFogCoordFormatNV) (GLenum, GLsizei); +extern pfn_glFogCoordFormatNV fp_glFogCoordFormatNV; +typedef void (APIENTRYP pfn_glVertexAttribFormatNV) (GLuint, GLint, GLenum, GLboolean, GLsizei); +extern pfn_glVertexAttribFormatNV fp_glVertexAttribFormatNV; +typedef void (APIENTRYP pfn_glVertexAttribIFormatNV) (GLuint, GLint, GLenum, GLsizei); +extern pfn_glVertexAttribIFormatNV fp_glVertexAttribIFormatNV; +typedef void (APIENTRYP pfn_glGetIntegerui64i_vNV) (GLenum, GLuint, GLuint64EXT*); +extern pfn_glGetIntegerui64i_vNV fp_glGetIntegerui64i_vNV; + + /* GL_NV_vertex_program4 */ +extern GLboolean GLAD_NV_vertex_program4; +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD +typedef void (APIENTRYP pfn_glVertexAttribI1iEXT) (GLuint, GLint); +extern pfn_glVertexAttribI1iEXT fp_glVertexAttribI1iEXT; +typedef void (APIENTRYP pfn_glVertexAttribI2iEXT) (GLuint, GLint, GLint); +extern pfn_glVertexAttribI2iEXT fp_glVertexAttribI2iEXT; +typedef void (APIENTRYP pfn_glVertexAttribI3iEXT) (GLuint, GLint, GLint, GLint); +extern pfn_glVertexAttribI3iEXT fp_glVertexAttribI3iEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4iEXT) (GLuint, GLint, GLint, GLint, GLint); +extern pfn_glVertexAttribI4iEXT fp_glVertexAttribI4iEXT; +typedef void (APIENTRYP pfn_glVertexAttribI1uiEXT) (GLuint, GLuint); +extern pfn_glVertexAttribI1uiEXT fp_glVertexAttribI1uiEXT; +typedef void (APIENTRYP pfn_glVertexAttribI2uiEXT) (GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI2uiEXT fp_glVertexAttribI2uiEXT; +typedef void (APIENTRYP pfn_glVertexAttribI3uiEXT) (GLuint, GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI3uiEXT fp_glVertexAttribI3uiEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4uiEXT) (GLuint, GLuint, GLuint, GLuint, GLuint); +extern pfn_glVertexAttribI4uiEXT fp_glVertexAttribI4uiEXT; +typedef void (APIENTRYP pfn_glVertexAttribI1ivEXT) (GLuint, const GLint*); +extern pfn_glVertexAttribI1ivEXT fp_glVertexAttribI1ivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI2ivEXT) (GLuint, const GLint*); +extern pfn_glVertexAttribI2ivEXT fp_glVertexAttribI2ivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI3ivEXT) (GLuint, const GLint*); +extern pfn_glVertexAttribI3ivEXT fp_glVertexAttribI3ivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4ivEXT) (GLuint, const GLint*); +extern pfn_glVertexAttribI4ivEXT fp_glVertexAttribI4ivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI1uivEXT) (GLuint, const GLuint*); +extern pfn_glVertexAttribI1uivEXT fp_glVertexAttribI1uivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI2uivEXT) (GLuint, const GLuint*); +extern pfn_glVertexAttribI2uivEXT fp_glVertexAttribI2uivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI3uivEXT) (GLuint, const GLuint*); +extern pfn_glVertexAttribI3uivEXT fp_glVertexAttribI3uivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4uivEXT) (GLuint, const GLuint*); +extern pfn_glVertexAttribI4uivEXT fp_glVertexAttribI4uivEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4bvEXT) (GLuint, const GLbyte*); +extern pfn_glVertexAttribI4bvEXT fp_glVertexAttribI4bvEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4svEXT) (GLuint, const GLshort*); +extern pfn_glVertexAttribI4svEXT fp_glVertexAttribI4svEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4ubvEXT) (GLuint, const GLubyte*); +extern pfn_glVertexAttribI4ubvEXT fp_glVertexAttribI4ubvEXT; +typedef void (APIENTRYP pfn_glVertexAttribI4usvEXT) (GLuint, const GLushort*); +extern pfn_glVertexAttribI4usvEXT fp_glVertexAttribI4usvEXT; +typedef void (APIENTRYP pfn_glVertexAttribIPointerEXT) (GLuint, GLint, GLenum, GLsizei, const void*); +extern pfn_glVertexAttribIPointerEXT fp_glVertexAttribIPointerEXT; +typedef void (APIENTRYP pfn_glGetVertexAttribIivEXT) (GLuint, GLenum, GLint*); +extern pfn_glGetVertexAttribIivEXT fp_glGetVertexAttribIivEXT; +typedef void (APIENTRYP pfn_glGetVertexAttribIuivEXT) (GLuint, GLenum, GLuint*); +extern pfn_glGetVertexAttribIuivEXT fp_glGetVertexAttribIuivEXT; + + /* GL_NV_video_capture */ +extern GLboolean GLAD_NV_video_capture; +#define GL_VIDEO_BUFFER_NV 0x9020 +#define GL_VIDEO_BUFFER_BINDING_NV 0x9021 +#define GL_FIELD_UPPER_NV 0x9022 +#define GL_FIELD_LOWER_NV 0x9023 +#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 +#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 +#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 +#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 +#define GL_VIDEO_BUFFER_PITCH_NV 0x9028 +#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 +#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A +#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B +#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C +#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D +#define GL_PARTIAL_SUCCESS_NV 0x902E +#define GL_SUCCESS_NV 0x902F +#define GL_FAILURE_NV 0x9030 +#define GL_YCBYCR8_422_NV 0x9031 +#define GL_YCBAYCR8A_4224_NV 0x9032 +#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 +#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 +#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 +#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 +#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 +#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 +#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 +#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A +#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B +#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C +typedef void (APIENTRYP pfn_glBeginVideoCaptureNV) (GLuint); +extern pfn_glBeginVideoCaptureNV fp_glBeginVideoCaptureNV; +typedef void (APIENTRYP pfn_glBindVideoCaptureStreamBufferNV) (GLuint, GLuint, GLenum, GLintptrARB); +extern pfn_glBindVideoCaptureStreamBufferNV fp_glBindVideoCaptureStreamBufferNV; +typedef void (APIENTRYP pfn_glBindVideoCaptureStreamTextureNV) (GLuint, GLuint, GLenum, GLenum, GLuint); +extern pfn_glBindVideoCaptureStreamTextureNV fp_glBindVideoCaptureStreamTextureNV; +typedef void (APIENTRYP pfn_glEndVideoCaptureNV) (GLuint); +extern pfn_glEndVideoCaptureNV fp_glEndVideoCaptureNV; +typedef void (APIENTRYP pfn_glGetVideoCaptureivNV) (GLuint, GLenum, GLint*); +extern pfn_glGetVideoCaptureivNV fp_glGetVideoCaptureivNV; +typedef void (APIENTRYP pfn_glGetVideoCaptureStreamivNV) (GLuint, GLuint, GLenum, GLint*); +extern pfn_glGetVideoCaptureStreamivNV fp_glGetVideoCaptureStreamivNV; +typedef void (APIENTRYP pfn_glGetVideoCaptureStreamfvNV) (GLuint, GLuint, GLenum, GLfloat*); +extern pfn_glGetVideoCaptureStreamfvNV fp_glGetVideoCaptureStreamfvNV; +typedef void (APIENTRYP pfn_glGetVideoCaptureStreamdvNV) (GLuint, GLuint, GLenum, GLdouble*); +extern pfn_glGetVideoCaptureStreamdvNV fp_glGetVideoCaptureStreamdvNV; +typedef GLenum (APIENTRYP pfn_glVideoCaptureNV) (GLuint, GLuint*, GLuint64EXT*); +extern pfn_glVideoCaptureNV fp_glVideoCaptureNV; +typedef void (APIENTRYP pfn_glVideoCaptureStreamParameterivNV) (GLuint, GLuint, GLenum, const GLint*); +extern pfn_glVideoCaptureStreamParameterivNV fp_glVideoCaptureStreamParameterivNV; +typedef void (APIENTRYP pfn_glVideoCaptureStreamParameterfvNV) (GLuint, GLuint, GLenum, const GLfloat*); +extern pfn_glVideoCaptureStreamParameterfvNV fp_glVideoCaptureStreamParameterfvNV; +typedef void (APIENTRYP pfn_glVideoCaptureStreamParameterdvNV) (GLuint, GLuint, GLenum, const GLdouble*); +extern pfn_glVideoCaptureStreamParameterdvNV fp_glVideoCaptureStreamParameterdvNV; + + /* GL_NVX_conditional_render */ +extern GLboolean GLAD_NVX_conditional_render; +typedef void (APIENTRYP pfn_glBeginConditionalRenderNVX) (GLuint); +extern pfn_glBeginConditionalRenderNVX fp_glBeginConditionalRenderNVX; +typedef void (APIENTRYP pfn_glEndConditionalRenderNVX) (); +extern pfn_glEndConditionalRenderNVX fp_glEndConditionalRenderNVX; + + /* GL_NVX_gpu_memory_info */ +extern GLboolean GLAD_NVX_gpu_memory_info; +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B + + /* GL_QCOM_alpha_test */ +extern GLboolean GLAD_QCOM_alpha_test; +#define GL_ALPHA_TEST_QCOM 0x0BC0 +#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 +#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 +typedef void (APIENTRYP pfn_glAlphaFuncQCOM) (GLenum, GLclampf); +extern pfn_glAlphaFuncQCOM fp_glAlphaFuncQCOM; + + /* GL_QCOM_binning_control */ +extern GLboolean GLAD_QCOM_binning_control; +#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 +#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 +#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 +#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 + + /* GL_QCOM_driver_control */ +extern GLboolean GLAD_QCOM_driver_control; +typedef void (APIENTRYP pfn_glGetDriverControlsQCOM) (GLint*, GLsizei, GLuint*); +extern pfn_glGetDriverControlsQCOM fp_glGetDriverControlsQCOM; +typedef void (APIENTRYP pfn_glGetDriverControlStringQCOM) (GLuint, GLsizei, GLsizei*, GLchar*); +extern pfn_glGetDriverControlStringQCOM fp_glGetDriverControlStringQCOM; +typedef void (APIENTRYP pfn_glEnableDriverControlQCOM) (GLuint); +extern pfn_glEnableDriverControlQCOM fp_glEnableDriverControlQCOM; +typedef void (APIENTRYP pfn_glDisableDriverControlQCOM) (GLuint); +extern pfn_glDisableDriverControlQCOM fp_glDisableDriverControlQCOM; + + /* GL_QCOM_extended_get */ +extern GLboolean GLAD_QCOM_extended_get; +#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 +#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 +#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 +#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 +#define GL_TEXTURE_TYPE_QCOM 0x8BD7 +#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 +#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 +#define GL_TEXTURE_TARGET_QCOM 0x8BDA +#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB +#define GL_STATE_RESTORE 0x8BDC +typedef void (APIENTRYP pfn_glExtGetTexturesQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetTexturesQCOM fp_glExtGetTexturesQCOM; +typedef void (APIENTRYP pfn_glExtGetBuffersQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetBuffersQCOM fp_glExtGetBuffersQCOM; +typedef void (APIENTRYP pfn_glExtGetRenderbuffersQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetRenderbuffersQCOM fp_glExtGetRenderbuffersQCOM; +typedef void (APIENTRYP pfn_glExtGetFramebuffersQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetFramebuffersQCOM fp_glExtGetFramebuffersQCOM; +typedef void (APIENTRYP pfn_glExtGetTexLevelParameterivQCOM) (GLuint, GLenum, GLint, GLenum, GLint*); +extern pfn_glExtGetTexLevelParameterivQCOM fp_glExtGetTexLevelParameterivQCOM; +typedef void (APIENTRYP pfn_glExtTexObjectStateOverrideiQCOM) (GLenum, GLenum, GLint); +extern pfn_glExtTexObjectStateOverrideiQCOM fp_glExtTexObjectStateOverrideiQCOM; +typedef void (APIENTRYP pfn_glExtGetTexSubImageQCOM) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, void*); +extern pfn_glExtGetTexSubImageQCOM fp_glExtGetTexSubImageQCOM; +typedef void (APIENTRYP pfn_glExtGetBufferPointervQCOM) (GLenum, void**); +extern pfn_glExtGetBufferPointervQCOM fp_glExtGetBufferPointervQCOM; + + /* GL_QCOM_extended_get2 */ +extern GLboolean GLAD_QCOM_extended_get2; +typedef void (APIENTRYP pfn_glExtGetShadersQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetShadersQCOM fp_glExtGetShadersQCOM; +typedef void (APIENTRYP pfn_glExtGetProgramsQCOM) (GLuint*, GLint, GLint*); +extern pfn_glExtGetProgramsQCOM fp_glExtGetProgramsQCOM; +typedef GLboolean (APIENTRYP pfn_glExtIsProgramBinaryQCOM) (GLuint); +extern pfn_glExtIsProgramBinaryQCOM fp_glExtIsProgramBinaryQCOM; +typedef void (APIENTRYP pfn_glExtGetProgramBinarySourceQCOM) (GLuint, GLenum, GLchar*, GLint*); +extern pfn_glExtGetProgramBinarySourceQCOM fp_glExtGetProgramBinarySourceQCOM; + + /* GL_QCOM_perfmon_global_mode */ +extern GLboolean GLAD_QCOM_perfmon_global_mode; +#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 + + /* GL_QCOM_tiled_rendering */ +extern GLboolean GLAD_QCOM_tiled_rendering; +#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 +#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 +#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 +#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 +#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 +#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 +#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 +#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 +#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 +#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 +#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 +#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 +#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 +#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 +#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 +#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 +#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 +#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 +#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 +#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 +#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 +#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 +#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 +#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 +typedef void (APIENTRYP pfn_glStartTilingQCOM) (GLuint, GLuint, GLuint, GLuint, GLbitfield); +extern pfn_glStartTilingQCOM fp_glStartTilingQCOM; +typedef void (APIENTRYP pfn_glEndTilingQCOM) (GLbitfield); +extern pfn_glEndTilingQCOM fp_glEndTilingQCOM; + + /* GL_QCOM_writeonly_rendering */ +extern GLboolean GLAD_QCOM_writeonly_rendering; +#define GL_WRITEONLY_RENDERING_QCOM 0x8823 + + /* GL_SGIX_calligraphic_fragment */ +extern GLboolean GLAD_SGIX_calligraphic_fragment; +#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183 + + /* GL_SGIX_depth_pass_instrument */ +extern GLboolean GLAD_SGIX_depth_pass_instrument; + + /* GL_SGIX_pixel_tiles */ +extern GLboolean GLAD_SGIX_pixel_tiles; +#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E +#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F +#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140 +#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141 +#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142 +#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143 +#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144 +#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145 + + /* GL_SGIX_scalebias_hint */ +extern GLboolean GLAD_SGIX_scalebias_hint; +#define GL_SCALEBIAS_HINT_SGIX 0x8322 + + /* GL_SGIX_subsample */ +extern GLboolean GLAD_SGIX_subsample; +#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0 +#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1 +#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2 +#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3 +#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4 + + /* GL_SGIX_ycrcb_subsample */ +extern GLboolean GLAD_SGIX_ycrcb_subsample; + + /* GL_SGIX_ycrcba */ +extern GLboolean GLAD_SGIX_ycrcba; +#define GL_YCRCB_SGIX 0x8318 +#define GL_YCRCBA_SGIX 0x8319 + + /* GL_VIV_shader_binary */ +extern GLboolean GLAD_VIV_shader_binary; +#define GL_SHADER_BINARY_VIV 0x8FC4 + +} /* namespace glad */ + +#endif /* __glad_hpp_ */ diff --git a/src/libraries/glad/gladfuncs.hpp b/src/libraries/glad/gladfuncs.hpp new file mode 100644 index 000000000..533cf3d77 --- /dev/null +++ b/src/libraries/glad/gladfuncs.hpp @@ -0,0 +1,2358 @@ + +/** + * The MIT License (MIT) + * + * Copyright (c) 2013 David Herberth, modified by Alex Szpakowski + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + **/ + + +#ifndef __glad_funcs_hpp_ +#define __glad_funcs_hpp_ + +#include "glad.hpp" + +namespace glad { + + +/* GL_VERSION_1_0 */ +inline void glCullFace(GLenum mode) { fp_glCullFace(mode); } +inline void glFrontFace(GLenum mode) { fp_glFrontFace(mode); } +inline void glHint(GLenum target, GLenum mode) { fp_glHint(target, mode); } +inline void glLineWidth(GLfloat width) { fp_glLineWidth(width); } +inline void glPointSize(GLfloat size) { fp_glPointSize(size); } +inline void glPolygonMode(GLenum face, GLenum mode) { fp_glPolygonMode(face, mode); } +inline void glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { fp_glScissor(x, y, width, height); } +inline void glTexParameterf(GLenum target, GLenum pname, GLfloat param) { fp_glTexParameterf(target, pname, param); } +inline void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { fp_glTexParameterfv(target, pname, params); } +inline void glTexParameteri(GLenum target, GLenum pname, GLint param) { fp_glTexParameteri(target, pname, param); } +inline void glTexParameteriv(GLenum target, GLenum pname, const GLint* params) { fp_glTexParameteriv(target, pname, params); } +inline void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTexImage1D(target, level, internalformat, width, border, format, type, pixels); } +inline void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } +inline void glDrawBuffer(GLenum buf) { fp_glDrawBuffer(buf); } +inline void glClear(GLbitfield mask) { fp_glClear(mask); } +inline void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { fp_glClearColor(red, green, blue, alpha); } +inline void glClearStencil(GLint s) { fp_glClearStencil(s); } +inline void glClearDepth(GLdouble depth) { fp_glClearDepth(depth); } +inline void glStencilMask(GLuint mask) { fp_glStencilMask(mask); } +inline void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { fp_glColorMask(red, green, blue, alpha); } +inline void glDepthMask(GLboolean flag) { fp_glDepthMask(flag); } +inline void glDisable(GLenum cap) { fp_glDisable(cap); } +inline void glEnable(GLenum cap) { fp_glEnable(cap); } +inline void glFinish() { fp_glFinish(); } +inline void glFlush() { fp_glFlush(); } +inline void glBlendFunc(GLenum sfactor, GLenum dfactor) { fp_glBlendFunc(sfactor, dfactor); } +inline void glLogicOp(GLenum opcode) { fp_glLogicOp(opcode); } +inline void glStencilFunc(GLenum func, GLint ref, GLuint mask) { fp_glStencilFunc(func, ref, mask); } +inline void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { fp_glStencilOp(fail, zfail, zpass); } +inline void glDepthFunc(GLenum func) { fp_glDepthFunc(func); } +inline void glPixelStoref(GLenum pname, GLfloat param) { fp_glPixelStoref(pname, param); } +inline void glPixelStorei(GLenum pname, GLint param) { fp_glPixelStorei(pname, param); } +inline void glReadBuffer(GLenum src) { fp_glReadBuffer(src); } +inline void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels) { fp_glReadPixels(x, y, width, height, format, type, pixels); } +inline void glGetBooleanv(GLenum pname, GLboolean* data) { fp_glGetBooleanv(pname, data); } +inline void glGetDoublev(GLenum pname, GLdouble* data) { fp_glGetDoublev(pname, data); } +inline GLenum glGetError() { return fp_glGetError(); } +inline void glGetFloatv(GLenum pname, GLfloat* data) { fp_glGetFloatv(pname, data); } +inline void glGetIntegerv(GLenum pname, GLint* data) { fp_glGetIntegerv(pname, data); } +inline const GLubyte* glGetString(GLenum name) { return fp_glGetString(name); } +inline void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void* pixels) { fp_glGetTexImage(target, level, format, type, pixels); } +inline void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { fp_glGetTexParameterfv(target, pname, params); } +inline void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) { fp_glGetTexParameteriv(target, pname, params); } +inline void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params) { fp_glGetTexLevelParameterfv(target, level, pname, params); } +inline void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params) { fp_glGetTexLevelParameteriv(target, level, pname, params); } +inline GLboolean glIsEnabled(GLenum cap) { return fp_glIsEnabled(cap); } +inline void glDepthRange(GLdouble near, GLdouble far) { fp_glDepthRange(near, far); } +inline void glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { fp_glViewport(x, y, width, height); } +inline void glNewList(GLuint list, GLenum mode) { fp_glNewList(list, mode); } +inline void glEndList() { fp_glEndList(); } +inline void glCallList(GLuint list) { fp_glCallList(list); } +inline void glCallLists(GLsizei n, GLenum type, const void* lists) { fp_glCallLists(n, type, lists); } +inline void glDeleteLists(GLuint list, GLsizei range) { fp_glDeleteLists(list, range); } +inline GLuint glGenLists(GLsizei range) { return fp_glGenLists(range); } +inline void glListBase(GLuint base) { fp_glListBase(base); } +inline void glBegin(GLenum mode) { fp_glBegin(mode); } +inline void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte* bitmap) { fp_glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } +inline void glColor3b(GLbyte red, GLbyte green, GLbyte blue) { fp_glColor3b(red, green, blue); } +inline void glColor3bv(const GLbyte* v) { fp_glColor3bv(v); } +inline void glColor3d(GLdouble red, GLdouble green, GLdouble blue) { fp_glColor3d(red, green, blue); } +inline void glColor3dv(const GLdouble* v) { fp_glColor3dv(v); } +inline void glColor3f(GLfloat red, GLfloat green, GLfloat blue) { fp_glColor3f(red, green, blue); } +inline void glColor3fv(const GLfloat* v) { fp_glColor3fv(v); } +inline void glColor3i(GLint red, GLint green, GLint blue) { fp_glColor3i(red, green, blue); } +inline void glColor3iv(const GLint* v) { fp_glColor3iv(v); } +inline void glColor3s(GLshort red, GLshort green, GLshort blue) { fp_glColor3s(red, green, blue); } +inline void glColor3sv(const GLshort* v) { fp_glColor3sv(v); } +inline void glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { fp_glColor3ub(red, green, blue); } +inline void glColor3ubv(const GLubyte* v) { fp_glColor3ubv(v); } +inline void glColor3ui(GLuint red, GLuint green, GLuint blue) { fp_glColor3ui(red, green, blue); } +inline void glColor3uiv(const GLuint* v) { fp_glColor3uiv(v); } +inline void glColor3us(GLushort red, GLushort green, GLushort blue) { fp_glColor3us(red, green, blue); } +inline void glColor3usv(const GLushort* v) { fp_glColor3usv(v); } +inline void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { fp_glColor4b(red, green, blue, alpha); } +inline void glColor4bv(const GLbyte* v) { fp_glColor4bv(v); } +inline void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { fp_glColor4d(red, green, blue, alpha); } +inline void glColor4dv(const GLdouble* v) { fp_glColor4dv(v); } +inline void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { fp_glColor4f(red, green, blue, alpha); } +inline void glColor4fv(const GLfloat* v) { fp_glColor4fv(v); } +inline void glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { fp_glColor4i(red, green, blue, alpha); } +inline void glColor4iv(const GLint* v) { fp_glColor4iv(v); } +inline void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { fp_glColor4s(red, green, blue, alpha); } +inline void glColor4sv(const GLshort* v) { fp_glColor4sv(v); } +inline void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { fp_glColor4ub(red, green, blue, alpha); } +inline void glColor4ubv(const GLubyte* v) { fp_glColor4ubv(v); } +inline void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { fp_glColor4ui(red, green, blue, alpha); } +inline void glColor4uiv(const GLuint* v) { fp_glColor4uiv(v); } +inline void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { fp_glColor4us(red, green, blue, alpha); } +inline void glColor4usv(const GLushort* v) { fp_glColor4usv(v); } +inline void glEdgeFlag(GLboolean flag) { fp_glEdgeFlag(flag); } +inline void glEdgeFlagv(const GLboolean* flag) { fp_glEdgeFlagv(flag); } +inline void glEnd() { fp_glEnd(); } +inline void glIndexd(GLdouble c) { fp_glIndexd(c); } +inline void glIndexdv(const GLdouble* c) { fp_glIndexdv(c); } +inline void glIndexf(GLfloat c) { fp_glIndexf(c); } +inline void glIndexfv(const GLfloat* c) { fp_glIndexfv(c); } +inline void glIndexi(GLint c) { fp_glIndexi(c); } +inline void glIndexiv(const GLint* c) { fp_glIndexiv(c); } +inline void glIndexs(GLshort c) { fp_glIndexs(c); } +inline void glIndexsv(const GLshort* c) { fp_glIndexsv(c); } +inline void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { fp_glNormal3b(nx, ny, nz); } +inline void glNormal3bv(const GLbyte* v) { fp_glNormal3bv(v); } +inline void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { fp_glNormal3d(nx, ny, nz); } +inline void glNormal3dv(const GLdouble* v) { fp_glNormal3dv(v); } +inline void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { fp_glNormal3f(nx, ny, nz); } +inline void glNormal3fv(const GLfloat* v) { fp_glNormal3fv(v); } +inline void glNormal3i(GLint nx, GLint ny, GLint nz) { fp_glNormal3i(nx, ny, nz); } +inline void glNormal3iv(const GLint* v) { fp_glNormal3iv(v); } +inline void glNormal3s(GLshort nx, GLshort ny, GLshort nz) { fp_glNormal3s(nx, ny, nz); } +inline void glNormal3sv(const GLshort* v) { fp_glNormal3sv(v); } +inline void glRasterPos2d(GLdouble x, GLdouble y) { fp_glRasterPos2d(x, y); } +inline void glRasterPos2dv(const GLdouble* v) { fp_glRasterPos2dv(v); } +inline void glRasterPos2f(GLfloat x, GLfloat y) { fp_glRasterPos2f(x, y); } +inline void glRasterPos2fv(const GLfloat* v) { fp_glRasterPos2fv(v); } +inline void glRasterPos2i(GLint x, GLint y) { fp_glRasterPos2i(x, y); } +inline void glRasterPos2iv(const GLint* v) { fp_glRasterPos2iv(v); } +inline void glRasterPos2s(GLshort x, GLshort y) { fp_glRasterPos2s(x, y); } +inline void glRasterPos2sv(const GLshort* v) { fp_glRasterPos2sv(v); } +inline void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { fp_glRasterPos3d(x, y, z); } +inline void glRasterPos3dv(const GLdouble* v) { fp_glRasterPos3dv(v); } +inline void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { fp_glRasterPos3f(x, y, z); } +inline void glRasterPos3fv(const GLfloat* v) { fp_glRasterPos3fv(v); } +inline void glRasterPos3i(GLint x, GLint y, GLint z) { fp_glRasterPos3i(x, y, z); } +inline void glRasterPos3iv(const GLint* v) { fp_glRasterPos3iv(v); } +inline void glRasterPos3s(GLshort x, GLshort y, GLshort z) { fp_glRasterPos3s(x, y, z); } +inline void glRasterPos3sv(const GLshort* v) { fp_glRasterPos3sv(v); } +inline void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glRasterPos4d(x, y, z, w); } +inline void glRasterPos4dv(const GLdouble* v) { fp_glRasterPos4dv(v); } +inline void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { fp_glRasterPos4f(x, y, z, w); } +inline void glRasterPos4fv(const GLfloat* v) { fp_glRasterPos4fv(v); } +inline void glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { fp_glRasterPos4i(x, y, z, w); } +inline void glRasterPos4iv(const GLint* v) { fp_glRasterPos4iv(v); } +inline void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { fp_glRasterPos4s(x, y, z, w); } +inline void glRasterPos4sv(const GLshort* v) { fp_glRasterPos4sv(v); } +inline void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { fp_glRectd(x1, y1, x2, y2); } +inline void glRectdv(const GLdouble* v1, const GLdouble* v2) { fp_glRectdv(v1, v2); } +inline void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { fp_glRectf(x1, y1, x2, y2); } +inline void glRectfv(const GLfloat* v1, const GLfloat* v2) { fp_glRectfv(v1, v2); } +inline void glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { fp_glRecti(x1, y1, x2, y2); } +inline void glRectiv(const GLint* v1, const GLint* v2) { fp_glRectiv(v1, v2); } +inline void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { fp_glRects(x1, y1, x2, y2); } +inline void glRectsv(const GLshort* v1, const GLshort* v2) { fp_glRectsv(v1, v2); } +inline void glTexCoord1d(GLdouble s) { fp_glTexCoord1d(s); } +inline void glTexCoord1dv(const GLdouble* v) { fp_glTexCoord1dv(v); } +inline void glTexCoord1f(GLfloat s) { fp_glTexCoord1f(s); } +inline void glTexCoord1fv(const GLfloat* v) { fp_glTexCoord1fv(v); } +inline void glTexCoord1i(GLint s) { fp_glTexCoord1i(s); } +inline void glTexCoord1iv(const GLint* v) { fp_glTexCoord1iv(v); } +inline void glTexCoord1s(GLshort s) { fp_glTexCoord1s(s); } +inline void glTexCoord1sv(const GLshort* v) { fp_glTexCoord1sv(v); } +inline void glTexCoord2d(GLdouble s, GLdouble t) { fp_glTexCoord2d(s, t); } +inline void glTexCoord2dv(const GLdouble* v) { fp_glTexCoord2dv(v); } +inline void glTexCoord2f(GLfloat s, GLfloat t) { fp_glTexCoord2f(s, t); } +inline void glTexCoord2fv(const GLfloat* v) { fp_glTexCoord2fv(v); } +inline void glTexCoord2i(GLint s, GLint t) { fp_glTexCoord2i(s, t); } +inline void glTexCoord2iv(const GLint* v) { fp_glTexCoord2iv(v); } +inline void glTexCoord2s(GLshort s, GLshort t) { fp_glTexCoord2s(s, t); } +inline void glTexCoord2sv(const GLshort* v) { fp_glTexCoord2sv(v); } +inline void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { fp_glTexCoord3d(s, t, r); } +inline void glTexCoord3dv(const GLdouble* v) { fp_glTexCoord3dv(v); } +inline void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { fp_glTexCoord3f(s, t, r); } +inline void glTexCoord3fv(const GLfloat* v) { fp_glTexCoord3fv(v); } +inline void glTexCoord3i(GLint s, GLint t, GLint r) { fp_glTexCoord3i(s, t, r); } +inline void glTexCoord3iv(const GLint* v) { fp_glTexCoord3iv(v); } +inline void glTexCoord3s(GLshort s, GLshort t, GLshort r) { fp_glTexCoord3s(s, t, r); } +inline void glTexCoord3sv(const GLshort* v) { fp_glTexCoord3sv(v); } +inline void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { fp_glTexCoord4d(s, t, r, q); } +inline void glTexCoord4dv(const GLdouble* v) { fp_glTexCoord4dv(v); } +inline void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { fp_glTexCoord4f(s, t, r, q); } +inline void glTexCoord4fv(const GLfloat* v) { fp_glTexCoord4fv(v); } +inline void glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { fp_glTexCoord4i(s, t, r, q); } +inline void glTexCoord4iv(const GLint* v) { fp_glTexCoord4iv(v); } +inline void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { fp_glTexCoord4s(s, t, r, q); } +inline void glTexCoord4sv(const GLshort* v) { fp_glTexCoord4sv(v); } +inline void glVertex2d(GLdouble x, GLdouble y) { fp_glVertex2d(x, y); } +inline void glVertex2dv(const GLdouble* v) { fp_glVertex2dv(v); } +inline void glVertex2f(GLfloat x, GLfloat y) { fp_glVertex2f(x, y); } +inline void glVertex2fv(const GLfloat* v) { fp_glVertex2fv(v); } +inline void glVertex2i(GLint x, GLint y) { fp_glVertex2i(x, y); } +inline void glVertex2iv(const GLint* v) { fp_glVertex2iv(v); } +inline void glVertex2s(GLshort x, GLshort y) { fp_glVertex2s(x, y); } +inline void glVertex2sv(const GLshort* v) { fp_glVertex2sv(v); } +inline void glVertex3d(GLdouble x, GLdouble y, GLdouble z) { fp_glVertex3d(x, y, z); } +inline void glVertex3dv(const GLdouble* v) { fp_glVertex3dv(v); } +inline void glVertex3f(GLfloat x, GLfloat y, GLfloat z) { fp_glVertex3f(x, y, z); } +inline void glVertex3fv(const GLfloat* v) { fp_glVertex3fv(v); } +inline void glVertex3i(GLint x, GLint y, GLint z) { fp_glVertex3i(x, y, z); } +inline void glVertex3iv(const GLint* v) { fp_glVertex3iv(v); } +inline void glVertex3s(GLshort x, GLshort y, GLshort z) { fp_glVertex3s(x, y, z); } +inline void glVertex3sv(const GLshort* v) { fp_glVertex3sv(v); } +inline void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glVertex4d(x, y, z, w); } +inline void glVertex4dv(const GLdouble* v) { fp_glVertex4dv(v); } +inline void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { fp_glVertex4f(x, y, z, w); } +inline void glVertex4fv(const GLfloat* v) { fp_glVertex4fv(v); } +inline void glVertex4i(GLint x, GLint y, GLint z, GLint w) { fp_glVertex4i(x, y, z, w); } +inline void glVertex4iv(const GLint* v) { fp_glVertex4iv(v); } +inline void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { fp_glVertex4s(x, y, z, w); } +inline void glVertex4sv(const GLshort* v) { fp_glVertex4sv(v); } +inline void glClipPlane(GLenum plane, const GLdouble* equation) { fp_glClipPlane(plane, equation); } +inline void glColorMaterial(GLenum face, GLenum mode) { fp_glColorMaterial(face, mode); } +inline void glFogf(GLenum pname, GLfloat param) { fp_glFogf(pname, param); } +inline void glFogfv(GLenum pname, const GLfloat* params) { fp_glFogfv(pname, params); } +inline void glFogi(GLenum pname, GLint param) { fp_glFogi(pname, param); } +inline void glFogiv(GLenum pname, const GLint* params) { fp_glFogiv(pname, params); } +inline void glLightf(GLenum light, GLenum pname, GLfloat param) { fp_glLightf(light, pname, param); } +inline void glLightfv(GLenum light, GLenum pname, const GLfloat* params) { fp_glLightfv(light, pname, params); } +inline void glLighti(GLenum light, GLenum pname, GLint param) { fp_glLighti(light, pname, param); } +inline void glLightiv(GLenum light, GLenum pname, const GLint* params) { fp_glLightiv(light, pname, params); } +inline void glLightModelf(GLenum pname, GLfloat param) { fp_glLightModelf(pname, param); } +inline void glLightModelfv(GLenum pname, const GLfloat* params) { fp_glLightModelfv(pname, params); } +inline void glLightModeli(GLenum pname, GLint param) { fp_glLightModeli(pname, param); } +inline void glLightModeliv(GLenum pname, const GLint* params) { fp_glLightModeliv(pname, params); } +inline void glLineStipple(GLint factor, GLushort pattern) { fp_glLineStipple(factor, pattern); } +inline void glMaterialf(GLenum face, GLenum pname, GLfloat param) { fp_glMaterialf(face, pname, param); } +inline void glMaterialfv(GLenum face, GLenum pname, const GLfloat* params) { fp_glMaterialfv(face, pname, params); } +inline void glMateriali(GLenum face, GLenum pname, GLint param) { fp_glMateriali(face, pname, param); } +inline void glMaterialiv(GLenum face, GLenum pname, const GLint* params) { fp_glMaterialiv(face, pname, params); } +inline void glPolygonStipple(const GLubyte* mask) { fp_glPolygonStipple(mask); } +inline void glShadeModel(GLenum mode) { fp_glShadeModel(mode); } +inline void glTexEnvf(GLenum target, GLenum pname, GLfloat param) { fp_glTexEnvf(target, pname, param); } +inline void glTexEnvfv(GLenum target, GLenum pname, const GLfloat* params) { fp_glTexEnvfv(target, pname, params); } +inline void glTexEnvi(GLenum target, GLenum pname, GLint param) { fp_glTexEnvi(target, pname, param); } +inline void glTexEnviv(GLenum target, GLenum pname, const GLint* params) { fp_glTexEnviv(target, pname, params); } +inline void glTexGend(GLenum coord, GLenum pname, GLdouble param) { fp_glTexGend(coord, pname, param); } +inline void glTexGendv(GLenum coord, GLenum pname, const GLdouble* params) { fp_glTexGendv(coord, pname, params); } +inline void glTexGenf(GLenum coord, GLenum pname, GLfloat param) { fp_glTexGenf(coord, pname, param); } +inline void glTexGenfv(GLenum coord, GLenum pname, const GLfloat* params) { fp_glTexGenfv(coord, pname, params); } +inline void glTexGeni(GLenum coord, GLenum pname, GLint param) { fp_glTexGeni(coord, pname, param); } +inline void glTexGeniv(GLenum coord, GLenum pname, const GLint* params) { fp_glTexGeniv(coord, pname, params); } +inline void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat* buffer) { fp_glFeedbackBuffer(size, type, buffer); } +inline void glSelectBuffer(GLsizei size, GLuint* buffer) { fp_glSelectBuffer(size, buffer); } +inline GLint glRenderMode(GLenum mode) { return fp_glRenderMode(mode); } +inline void glInitNames() { fp_glInitNames(); } +inline void glLoadName(GLuint name) { fp_glLoadName(name); } +inline void glPassThrough(GLfloat token) { fp_glPassThrough(token); } +inline void glPopName() { fp_glPopName(); } +inline void glPushName(GLuint name) { fp_glPushName(name); } +inline void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { fp_glClearAccum(red, green, blue, alpha); } +inline void glClearIndex(GLfloat c) { fp_glClearIndex(c); } +inline void glIndexMask(GLuint mask) { fp_glIndexMask(mask); } +inline void glAccum(GLenum op, GLfloat value) { fp_glAccum(op, value); } +inline void glPopAttrib() { fp_glPopAttrib(); } +inline void glPushAttrib(GLbitfield mask) { fp_glPushAttrib(mask); } +inline void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points) { fp_glMap1d(target, u1, u2, stride, order, points); } +inline void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points) { fp_glMap1f(target, u1, u2, stride, order, points); } +inline void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points) { fp_glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } +inline void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points) { fp_glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } +inline void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { fp_glMapGrid1d(un, u1, u2); } +inline void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { fp_glMapGrid1f(un, u1, u2); } +inline void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { fp_glMapGrid2d(un, u1, u2, vn, v1, v2); } +inline void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { fp_glMapGrid2f(un, u1, u2, vn, v1, v2); } +inline void glEvalCoord1d(GLdouble u) { fp_glEvalCoord1d(u); } +inline void glEvalCoord1dv(const GLdouble* u) { fp_glEvalCoord1dv(u); } +inline void glEvalCoord1f(GLfloat u) { fp_glEvalCoord1f(u); } +inline void glEvalCoord1fv(const GLfloat* u) { fp_glEvalCoord1fv(u); } +inline void glEvalCoord2d(GLdouble u, GLdouble v) { fp_glEvalCoord2d(u, v); } +inline void glEvalCoord2dv(const GLdouble* u) { fp_glEvalCoord2dv(u); } +inline void glEvalCoord2f(GLfloat u, GLfloat v) { fp_glEvalCoord2f(u, v); } +inline void glEvalCoord2fv(const GLfloat* u) { fp_glEvalCoord2fv(u); } +inline void glEvalMesh1(GLenum mode, GLint i1, GLint i2) { fp_glEvalMesh1(mode, i1, i2); } +inline void glEvalPoint1(GLint i) { fp_glEvalPoint1(i); } +inline void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { fp_glEvalMesh2(mode, i1, i2, j1, j2); } +inline void glEvalPoint2(GLint i, GLint j) { fp_glEvalPoint2(i, j); } +inline void glAlphaFunc(GLenum func, GLfloat ref) { fp_glAlphaFunc(func, ref); } +inline void glPixelZoom(GLfloat xfactor, GLfloat yfactor) { fp_glPixelZoom(xfactor, yfactor); } +inline void glPixelTransferf(GLenum pname, GLfloat param) { fp_glPixelTransferf(pname, param); } +inline void glPixelTransferi(GLenum pname, GLint param) { fp_glPixelTransferi(pname, param); } +inline void glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat* values) { fp_glPixelMapfv(map, mapsize, values); } +inline void glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint* values) { fp_glPixelMapuiv(map, mapsize, values); } +inline void glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort* values) { fp_glPixelMapusv(map, mapsize, values); } +inline void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { fp_glCopyPixels(x, y, width, height, type); } +inline void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) { fp_glDrawPixels(width, height, format, type, pixels); } +inline void glGetClipPlane(GLenum plane, GLdouble* equation) { fp_glGetClipPlane(plane, equation); } +inline void glGetLightfv(GLenum light, GLenum pname, GLfloat* params) { fp_glGetLightfv(light, pname, params); } +inline void glGetLightiv(GLenum light, GLenum pname, GLint* params) { fp_glGetLightiv(light, pname, params); } +inline void glGetMapdv(GLenum target, GLenum query, GLdouble* v) { fp_glGetMapdv(target, query, v); } +inline void glGetMapfv(GLenum target, GLenum query, GLfloat* v) { fp_glGetMapfv(target, query, v); } +inline void glGetMapiv(GLenum target, GLenum query, GLint* v) { fp_glGetMapiv(target, query, v); } +inline void glGetMaterialfv(GLenum face, GLenum pname, GLfloat* params) { fp_glGetMaterialfv(face, pname, params); } +inline void glGetMaterialiv(GLenum face, GLenum pname, GLint* params) { fp_glGetMaterialiv(face, pname, params); } +inline void glGetPixelMapfv(GLenum map, GLfloat* values) { fp_glGetPixelMapfv(map, values); } +inline void glGetPixelMapuiv(GLenum map, GLuint* values) { fp_glGetPixelMapuiv(map, values); } +inline void glGetPixelMapusv(GLenum map, GLushort* values) { fp_glGetPixelMapusv(map, values); } +inline void glGetPolygonStipple(GLubyte* mask) { fp_glGetPolygonStipple(mask); } +inline void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat* params) { fp_glGetTexEnvfv(target, pname, params); } +inline void glGetTexEnviv(GLenum target, GLenum pname, GLint* params) { fp_glGetTexEnviv(target, pname, params); } +inline void glGetTexGendv(GLenum coord, GLenum pname, GLdouble* params) { fp_glGetTexGendv(coord, pname, params); } +inline void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat* params) { fp_glGetTexGenfv(coord, pname, params); } +inline void glGetTexGeniv(GLenum coord, GLenum pname, GLint* params) { fp_glGetTexGeniv(coord, pname, params); } +inline GLboolean glIsList(GLuint list) { return fp_glIsList(list); } +inline void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { fp_glFrustum(left, right, bottom, top, zNear, zFar); } +inline void glLoadIdentity() { fp_glLoadIdentity(); } +inline void glLoadMatrixf(const GLfloat* m) { fp_glLoadMatrixf(m); } +inline void glLoadMatrixd(const GLdouble* m) { fp_glLoadMatrixd(m); } +inline void glMatrixMode(GLenum mode) { fp_glMatrixMode(mode); } +inline void glMultMatrixf(const GLfloat* m) { fp_glMultMatrixf(m); } +inline void glMultMatrixd(const GLdouble* m) { fp_glMultMatrixd(m); } +inline void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { fp_glOrtho(left, right, bottom, top, zNear, zFar); } +inline void glPopMatrix() { fp_glPopMatrix(); } +inline void glPushMatrix() { fp_glPushMatrix(); } +inline void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { fp_glRotated(angle, x, y, z); } +inline void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { fp_glRotatef(angle, x, y, z); } +inline void glScaled(GLdouble x, GLdouble y, GLdouble z) { fp_glScaled(x, y, z); } +inline void glScalef(GLfloat x, GLfloat y, GLfloat z) { fp_glScalef(x, y, z); } +inline void glTranslated(GLdouble x, GLdouble y, GLdouble z) { fp_glTranslated(x, y, z); } +inline void glTranslatef(GLfloat x, GLfloat y, GLfloat z) { fp_glTranslatef(x, y, z); } + +/* GL_VERSION_1_1 */ +inline void glDrawArrays(GLenum mode, GLint first, GLsizei count) { fp_glDrawArrays(mode, first, count); } +inline void glDrawElements(GLenum mode, GLsizei count, GLenum type, const void* indices) { fp_glDrawElements(mode, count, type, indices); } +inline void glGetPointerv(GLenum pname, void** params) { fp_glGetPointerv(pname, params); } +inline void glPolygonOffset(GLfloat factor, GLfloat units) { fp_glPolygonOffset(factor, units); } +inline void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { fp_glCopyTexImage1D(target, level, internalformat, x, y, width, border); } +inline void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { fp_glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); } +inline void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { fp_glCopyTexSubImage1D(target, level, xoffset, x, y, width); } +inline void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } +inline void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) { fp_glTexSubImage1D(target, level, xoffset, width, format, type, pixels); } +inline void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) { fp_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } +inline void glBindTexture(GLenum target, GLuint texture) { fp_glBindTexture(target, texture); } +inline void glDeleteTextures(GLsizei n, const GLuint* textures) { fp_glDeleteTextures(n, textures); } +inline void glGenTextures(GLsizei n, GLuint* textures) { fp_glGenTextures(n, textures); } +inline GLboolean glIsTexture(GLuint texture) { return fp_glIsTexture(texture); } +inline void glArrayElement(GLint i) { fp_glArrayElement(i); } +inline void glColorPointer(GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glColorPointer(size, type, stride, pointer); } +inline void glDisableClientState(GLenum array) { fp_glDisableClientState(array); } +inline void glEdgeFlagPointer(GLsizei stride, const void* pointer) { fp_glEdgeFlagPointer(stride, pointer); } +inline void glEnableClientState(GLenum array) { fp_glEnableClientState(array); } +inline void glIndexPointer(GLenum type, GLsizei stride, const void* pointer) { fp_glIndexPointer(type, stride, pointer); } +inline void glInterleavedArrays(GLenum format, GLsizei stride, const void* pointer) { fp_glInterleavedArrays(format, stride, pointer); } +inline void glNormalPointer(GLenum type, GLsizei stride, const void* pointer) { fp_glNormalPointer(type, stride, pointer); } +inline void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glTexCoordPointer(size, type, stride, pointer); } +inline void glVertexPointer(GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glVertexPointer(size, type, stride, pointer); } +inline GLboolean glAreTexturesResident(GLsizei n, const GLuint* textures, GLboolean* residences) { return fp_glAreTexturesResident(n, textures, residences); } +inline void glPrioritizeTextures(GLsizei n, const GLuint* textures, const GLfloat* priorities) { fp_glPrioritizeTextures(n, textures, priorities); } +inline void glIndexub(GLubyte c) { fp_glIndexub(c); } +inline void glIndexubv(const GLubyte* c) { fp_glIndexubv(c); } +inline void glPopClientAttrib() { fp_glPopClientAttrib(); } +inline void glPushClientAttrib(GLbitfield mask) { fp_glPushClientAttrib(mask); } + +/* GL_VERSION_1_2 */ +inline void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices) { fp_glDrawRangeElements(mode, start, end, count, type, indices); } +inline void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } +inline void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) { fp_glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } +inline void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } + +/* GL_VERSION_1_3 */ +inline void glActiveTexture(GLenum texture) { fp_glActiveTexture(texture); } +inline void glSampleCoverage(GLfloat value, GLboolean invert) { fp_glSampleCoverage(value, invert); } +inline void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data) { fp_glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } +inline void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data) { fp_glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } +inline void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data) { fp_glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } +inline void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } +inline void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } +inline void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } +inline void glGetCompressedTexImage(GLenum target, GLint level, void* img) { fp_glGetCompressedTexImage(target, level, img); } +inline void glClientActiveTexture(GLenum texture) { fp_glClientActiveTexture(texture); } +inline void glMultiTexCoord1d(GLenum target, GLdouble s) { fp_glMultiTexCoord1d(target, s); } +inline void glMultiTexCoord1dv(GLenum target, const GLdouble* v) { fp_glMultiTexCoord1dv(target, v); } +inline void glMultiTexCoord1f(GLenum target, GLfloat s) { fp_glMultiTexCoord1f(target, s); } +inline void glMultiTexCoord1fv(GLenum target, const GLfloat* v) { fp_glMultiTexCoord1fv(target, v); } +inline void glMultiTexCoord1i(GLenum target, GLint s) { fp_glMultiTexCoord1i(target, s); } +inline void glMultiTexCoord1iv(GLenum target, const GLint* v) { fp_glMultiTexCoord1iv(target, v); } +inline void glMultiTexCoord1s(GLenum target, GLshort s) { fp_glMultiTexCoord1s(target, s); } +inline void glMultiTexCoord1sv(GLenum target, const GLshort* v) { fp_glMultiTexCoord1sv(target, v); } +inline void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { fp_glMultiTexCoord2d(target, s, t); } +inline void glMultiTexCoord2dv(GLenum target, const GLdouble* v) { fp_glMultiTexCoord2dv(target, v); } +inline void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { fp_glMultiTexCoord2f(target, s, t); } +inline void glMultiTexCoord2fv(GLenum target, const GLfloat* v) { fp_glMultiTexCoord2fv(target, v); } +inline void glMultiTexCoord2i(GLenum target, GLint s, GLint t) { fp_glMultiTexCoord2i(target, s, t); } +inline void glMultiTexCoord2iv(GLenum target, const GLint* v) { fp_glMultiTexCoord2iv(target, v); } +inline void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { fp_glMultiTexCoord2s(target, s, t); } +inline void glMultiTexCoord2sv(GLenum target, const GLshort* v) { fp_glMultiTexCoord2sv(target, v); } +inline void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { fp_glMultiTexCoord3d(target, s, t, r); } +inline void glMultiTexCoord3dv(GLenum target, const GLdouble* v) { fp_glMultiTexCoord3dv(target, v); } +inline void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { fp_glMultiTexCoord3f(target, s, t, r); } +inline void glMultiTexCoord3fv(GLenum target, const GLfloat* v) { fp_glMultiTexCoord3fv(target, v); } +inline void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { fp_glMultiTexCoord3i(target, s, t, r); } +inline void glMultiTexCoord3iv(GLenum target, const GLint* v) { fp_glMultiTexCoord3iv(target, v); } +inline void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { fp_glMultiTexCoord3s(target, s, t, r); } +inline void glMultiTexCoord3sv(GLenum target, const GLshort* v) { fp_glMultiTexCoord3sv(target, v); } +inline void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { fp_glMultiTexCoord4d(target, s, t, r, q); } +inline void glMultiTexCoord4dv(GLenum target, const GLdouble* v) { fp_glMultiTexCoord4dv(target, v); } +inline void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { fp_glMultiTexCoord4f(target, s, t, r, q); } +inline void glMultiTexCoord4fv(GLenum target, const GLfloat* v) { fp_glMultiTexCoord4fv(target, v); } +inline void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { fp_glMultiTexCoord4i(target, s, t, r, q); } +inline void glMultiTexCoord4iv(GLenum target, const GLint* v) { fp_glMultiTexCoord4iv(target, v); } +inline void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { fp_glMultiTexCoord4s(target, s, t, r, q); } +inline void glMultiTexCoord4sv(GLenum target, const GLshort* v) { fp_glMultiTexCoord4sv(target, v); } +inline void glLoadTransposeMatrixf(const GLfloat* m) { fp_glLoadTransposeMatrixf(m); } +inline void glLoadTransposeMatrixd(const GLdouble* m) { fp_glLoadTransposeMatrixd(m); } +inline void glMultTransposeMatrixf(const GLfloat* m) { fp_glMultTransposeMatrixf(m); } +inline void glMultTransposeMatrixd(const GLdouble* m) { fp_glMultTransposeMatrixd(m); } + +/* GL_VERSION_1_4 */ +inline void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { fp_glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } +inline void glMultiDrawArrays(GLenum mode, const GLint* first, const GLsizei* count, GLsizei drawcount) { fp_glMultiDrawArrays(mode, first, count, drawcount); } +inline void glMultiDrawElements(GLenum mode, const GLsizei* count, GLenum type, const void** indices, GLsizei drawcount) { fp_glMultiDrawElements(mode, count, type, indices, drawcount); } +inline void glPointParameterf(GLenum pname, GLfloat param) { fp_glPointParameterf(pname, param); } +inline void glPointParameterfv(GLenum pname, const GLfloat* params) { fp_glPointParameterfv(pname, params); } +inline void glPointParameteri(GLenum pname, GLint param) { fp_glPointParameteri(pname, param); } +inline void glPointParameteriv(GLenum pname, const GLint* params) { fp_glPointParameteriv(pname, params); } +inline void glFogCoordf(GLfloat coord) { fp_glFogCoordf(coord); } +inline void glFogCoordfv(const GLfloat* coord) { fp_glFogCoordfv(coord); } +inline void glFogCoordd(GLdouble coord) { fp_glFogCoordd(coord); } +inline void glFogCoorddv(const GLdouble* coord) { fp_glFogCoorddv(coord); } +inline void glFogCoordPointer(GLenum type, GLsizei stride, const void* pointer) { fp_glFogCoordPointer(type, stride, pointer); } +inline void glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { fp_glSecondaryColor3b(red, green, blue); } +inline void glSecondaryColor3bv(const GLbyte* v) { fp_glSecondaryColor3bv(v); } +inline void glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { fp_glSecondaryColor3d(red, green, blue); } +inline void glSecondaryColor3dv(const GLdouble* v) { fp_glSecondaryColor3dv(v); } +inline void glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { fp_glSecondaryColor3f(red, green, blue); } +inline void glSecondaryColor3fv(const GLfloat* v) { fp_glSecondaryColor3fv(v); } +inline void glSecondaryColor3i(GLint red, GLint green, GLint blue) { fp_glSecondaryColor3i(red, green, blue); } +inline void glSecondaryColor3iv(const GLint* v) { fp_glSecondaryColor3iv(v); } +inline void glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { fp_glSecondaryColor3s(red, green, blue); } +inline void glSecondaryColor3sv(const GLshort* v) { fp_glSecondaryColor3sv(v); } +inline void glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { fp_glSecondaryColor3ub(red, green, blue); } +inline void glSecondaryColor3ubv(const GLubyte* v) { fp_glSecondaryColor3ubv(v); } +inline void glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { fp_glSecondaryColor3ui(red, green, blue); } +inline void glSecondaryColor3uiv(const GLuint* v) { fp_glSecondaryColor3uiv(v); } +inline void glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { fp_glSecondaryColor3us(red, green, blue); } +inline void glSecondaryColor3usv(const GLushort* v) { fp_glSecondaryColor3usv(v); } +inline void glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glSecondaryColorPointer(size, type, stride, pointer); } +inline void glWindowPos2d(GLdouble x, GLdouble y) { fp_glWindowPos2d(x, y); } +inline void glWindowPos2dv(const GLdouble* v) { fp_glWindowPos2dv(v); } +inline void glWindowPos2f(GLfloat x, GLfloat y) { fp_glWindowPos2f(x, y); } +inline void glWindowPos2fv(const GLfloat* v) { fp_glWindowPos2fv(v); } +inline void glWindowPos2i(GLint x, GLint y) { fp_glWindowPos2i(x, y); } +inline void glWindowPos2iv(const GLint* v) { fp_glWindowPos2iv(v); } +inline void glWindowPos2s(GLshort x, GLshort y) { fp_glWindowPos2s(x, y); } +inline void glWindowPos2sv(const GLshort* v) { fp_glWindowPos2sv(v); } +inline void glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { fp_glWindowPos3d(x, y, z); } +inline void glWindowPos3dv(const GLdouble* v) { fp_glWindowPos3dv(v); } +inline void glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { fp_glWindowPos3f(x, y, z); } +inline void glWindowPos3fv(const GLfloat* v) { fp_glWindowPos3fv(v); } +inline void glWindowPos3i(GLint x, GLint y, GLint z) { fp_glWindowPos3i(x, y, z); } +inline void glWindowPos3iv(const GLint* v) { fp_glWindowPos3iv(v); } +inline void glWindowPos3s(GLshort x, GLshort y, GLshort z) { fp_glWindowPos3s(x, y, z); } +inline void glWindowPos3sv(const GLshort* v) { fp_glWindowPos3sv(v); } +inline void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { fp_glBlendColor(red, green, blue, alpha); } +inline void glBlendEquation(GLenum mode) { fp_glBlendEquation(mode); } + +/* GL_VERSION_1_5 */ +inline void glGenQueries(GLsizei n, GLuint* ids) { fp_glGenQueries(n, ids); } +inline void glDeleteQueries(GLsizei n, const GLuint* ids) { fp_glDeleteQueries(n, ids); } +inline GLboolean glIsQuery(GLuint id) { return fp_glIsQuery(id); } +inline void glBeginQuery(GLenum target, GLuint id) { fp_glBeginQuery(target, id); } +inline void glEndQuery(GLenum target) { fp_glEndQuery(target); } +inline void glGetQueryiv(GLenum target, GLenum pname, GLint* params) { fp_glGetQueryiv(target, pname, params); } +inline void glGetQueryObjectiv(GLuint id, GLenum pname, GLint* params) { fp_glGetQueryObjectiv(id, pname, params); } +inline void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) { fp_glGetQueryObjectuiv(id, pname, params); } +inline void glBindBuffer(GLenum target, GLuint buffer) { fp_glBindBuffer(target, buffer); } +inline void glDeleteBuffers(GLsizei n, const GLuint* buffers) { fp_glDeleteBuffers(n, buffers); } +inline void glGenBuffers(GLsizei n, GLuint* buffers) { fp_glGenBuffers(n, buffers); } +inline GLboolean glIsBuffer(GLuint buffer) { return fp_glIsBuffer(buffer); } +inline void glBufferData(GLenum target, GLsizeiptr size, const void* data, GLenum usage) { fp_glBufferData(target, size, data, usage); } +inline void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void* data) { fp_glBufferSubData(target, offset, size, data); } +inline void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void* data) { fp_glGetBufferSubData(target, offset, size, data); } +inline void* glMapBuffer(GLenum target, GLenum access) { return fp_glMapBuffer(target, access); } +inline GLboolean glUnmapBuffer(GLenum target) { return fp_glUnmapBuffer(target); } +inline void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { fp_glGetBufferParameteriv(target, pname, params); } +inline void glGetBufferPointerv(GLenum target, GLenum pname, void** params) { fp_glGetBufferPointerv(target, pname, params); } + +/* GL_VERSION_2_0 */ +inline void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { fp_glBlendEquationSeparate(modeRGB, modeAlpha); } +inline void glDrawBuffers(GLsizei n, const GLenum* bufs) { fp_glDrawBuffers(n, bufs); } +inline void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { fp_glStencilOpSeparate(face, sfail, dpfail, dppass); } +inline void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { fp_glStencilFuncSeparate(face, func, ref, mask); } +inline void glStencilMaskSeparate(GLenum face, GLuint mask) { fp_glStencilMaskSeparate(face, mask); } +inline void glAttachShader(GLuint program, GLuint shader) { fp_glAttachShader(program, shader); } +inline void glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) { fp_glBindAttribLocation(program, index, name); } +inline void glCompileShader(GLuint shader) { fp_glCompileShader(shader); } +inline GLuint glCreateProgram() { return fp_glCreateProgram(); } +inline GLuint glCreateShader(GLenum type) { return fp_glCreateShader(type); } +inline void glDeleteProgram(GLuint program) { fp_glDeleteProgram(program); } +inline void glDeleteShader(GLuint shader) { fp_glDeleteShader(shader); } +inline void glDetachShader(GLuint program, GLuint shader) { fp_glDetachShader(program, shader); } +inline void glDisableVertexAttribArray(GLuint index) { fp_glDisableVertexAttribArray(index); } +inline void glEnableVertexAttribArray(GLuint index) { fp_glEnableVertexAttribArray(index); } +inline void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) { fp_glGetActiveAttrib(program, index, bufSize, length, size, type, name); } +inline void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) { fp_glGetActiveUniform(program, index, bufSize, length, size, type, name); } +inline void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders) { fp_glGetAttachedShaders(program, maxCount, count, shaders); } +inline GLint glGetAttribLocation(GLuint program, const GLchar* name) { return fp_glGetAttribLocation(program, name); } +inline void glGetProgramiv(GLuint program, GLenum pname, GLint* params) { fp_glGetProgramiv(program, pname, params); } +inline void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog) { fp_glGetProgramInfoLog(program, bufSize, length, infoLog); } +inline void glGetShaderiv(GLuint shader, GLenum pname, GLint* params) { fp_glGetShaderiv(shader, pname, params); } +inline void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog) { fp_glGetShaderInfoLog(shader, bufSize, length, infoLog); } +inline void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source) { fp_glGetShaderSource(shader, bufSize, length, source); } +inline GLint glGetUniformLocation(GLuint program, const GLchar* name) { return fp_glGetUniformLocation(program, name); } +inline void glGetUniformfv(GLuint program, GLint location, GLfloat* params) { fp_glGetUniformfv(program, location, params); } +inline void glGetUniformiv(GLuint program, GLint location, GLint* params) { fp_glGetUniformiv(program, location, params); } +inline void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble* params) { fp_glGetVertexAttribdv(index, pname, params); } +inline void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) { fp_glGetVertexAttribfv(index, pname, params); } +inline void glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) { fp_glGetVertexAttribiv(index, pname, params); } +inline void glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer) { fp_glGetVertexAttribPointerv(index, pname, pointer); } +inline GLboolean glIsProgram(GLuint program) { return fp_glIsProgram(program); } +inline GLboolean glIsShader(GLuint shader) { return fp_glIsShader(shader); } +inline void glLinkProgram(GLuint program) { fp_glLinkProgram(program); } +inline void glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) { fp_glShaderSource(shader, count, string, length); } +inline void glUseProgram(GLuint program) { fp_glUseProgram(program); } +inline void glUniform1f(GLint location, GLfloat v0) { fp_glUniform1f(location, v0); } +inline void glUniform2f(GLint location, GLfloat v0, GLfloat v1) { fp_glUniform2f(location, v0, v1); } +inline void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { fp_glUniform3f(location, v0, v1, v2); } +inline void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { fp_glUniform4f(location, v0, v1, v2, v3); } +inline void glUniform1i(GLint location, GLint v0) { fp_glUniform1i(location, v0); } +inline void glUniform2i(GLint location, GLint v0, GLint v1) { fp_glUniform2i(location, v0, v1); } +inline void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { fp_glUniform3i(location, v0, v1, v2); } +inline void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { fp_glUniform4i(location, v0, v1, v2, v3); } +inline void glUniform1fv(GLint location, GLsizei count, const GLfloat* value) { fp_glUniform1fv(location, count, value); } +inline void glUniform2fv(GLint location, GLsizei count, const GLfloat* value) { fp_glUniform2fv(location, count, value); } +inline void glUniform3fv(GLint location, GLsizei count, const GLfloat* value) { fp_glUniform3fv(location, count, value); } +inline void glUniform4fv(GLint location, GLsizei count, const GLfloat* value) { fp_glUniform4fv(location, count, value); } +inline void glUniform1iv(GLint location, GLsizei count, const GLint* value) { fp_glUniform1iv(location, count, value); } +inline void glUniform2iv(GLint location, GLsizei count, const GLint* value) { fp_glUniform2iv(location, count, value); } +inline void glUniform3iv(GLint location, GLsizei count, const GLint* value) { fp_glUniform3iv(location, count, value); } +inline void glUniform4iv(GLint location, GLsizei count, const GLint* value) { fp_glUniform4iv(location, count, value); } +inline void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix2fv(location, count, transpose, value); } +inline void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix3fv(location, count, transpose, value); } +inline void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix4fv(location, count, transpose, value); } +inline void glValidateProgram(GLuint program) { fp_glValidateProgram(program); } +inline void glVertexAttrib1d(GLuint index, GLdouble x) { fp_glVertexAttrib1d(index, x); } +inline void glVertexAttrib1dv(GLuint index, const GLdouble* v) { fp_glVertexAttrib1dv(index, v); } +inline void glVertexAttrib1f(GLuint index, GLfloat x) { fp_glVertexAttrib1f(index, x); } +inline void glVertexAttrib1fv(GLuint index, const GLfloat* v) { fp_glVertexAttrib1fv(index, v); } +inline void glVertexAttrib1s(GLuint index, GLshort x) { fp_glVertexAttrib1s(index, x); } +inline void glVertexAttrib1sv(GLuint index, const GLshort* v) { fp_glVertexAttrib1sv(index, v); } +inline void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { fp_glVertexAttrib2d(index, x, y); } +inline void glVertexAttrib2dv(GLuint index, const GLdouble* v) { fp_glVertexAttrib2dv(index, v); } +inline void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { fp_glVertexAttrib2f(index, x, y); } +inline void glVertexAttrib2fv(GLuint index, const GLfloat* v) { fp_glVertexAttrib2fv(index, v); } +inline void glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { fp_glVertexAttrib2s(index, x, y); } +inline void glVertexAttrib2sv(GLuint index, const GLshort* v) { fp_glVertexAttrib2sv(index, v); } +inline void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { fp_glVertexAttrib3d(index, x, y, z); } +inline void glVertexAttrib3dv(GLuint index, const GLdouble* v) { fp_glVertexAttrib3dv(index, v); } +inline void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { fp_glVertexAttrib3f(index, x, y, z); } +inline void glVertexAttrib3fv(GLuint index, const GLfloat* v) { fp_glVertexAttrib3fv(index, v); } +inline void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { fp_glVertexAttrib3s(index, x, y, z); } +inline void glVertexAttrib3sv(GLuint index, const GLshort* v) { fp_glVertexAttrib3sv(index, v); } +inline void glVertexAttrib4Nbv(GLuint index, const GLbyte* v) { fp_glVertexAttrib4Nbv(index, v); } +inline void glVertexAttrib4Niv(GLuint index, const GLint* v) { fp_glVertexAttrib4Niv(index, v); } +inline void glVertexAttrib4Nsv(GLuint index, const GLshort* v) { fp_glVertexAttrib4Nsv(index, v); } +inline void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { fp_glVertexAttrib4Nub(index, x, y, z, w); } +inline void glVertexAttrib4Nubv(GLuint index, const GLubyte* v) { fp_glVertexAttrib4Nubv(index, v); } +inline void glVertexAttrib4Nuiv(GLuint index, const GLuint* v) { fp_glVertexAttrib4Nuiv(index, v); } +inline void glVertexAttrib4Nusv(GLuint index, const GLushort* v) { fp_glVertexAttrib4Nusv(index, v); } +inline void glVertexAttrib4bv(GLuint index, const GLbyte* v) { fp_glVertexAttrib4bv(index, v); } +inline void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glVertexAttrib4d(index, x, y, z, w); } +inline void glVertexAttrib4dv(GLuint index, const GLdouble* v) { fp_glVertexAttrib4dv(index, v); } +inline void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { fp_glVertexAttrib4f(index, x, y, z, w); } +inline void glVertexAttrib4fv(GLuint index, const GLfloat* v) { fp_glVertexAttrib4fv(index, v); } +inline void glVertexAttrib4iv(GLuint index, const GLint* v) { fp_glVertexAttrib4iv(index, v); } +inline void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { fp_glVertexAttrib4s(index, x, y, z, w); } +inline void glVertexAttrib4sv(GLuint index, const GLshort* v) { fp_glVertexAttrib4sv(index, v); } +inline void glVertexAttrib4ubv(GLuint index, const GLubyte* v) { fp_glVertexAttrib4ubv(index, v); } +inline void glVertexAttrib4uiv(GLuint index, const GLuint* v) { fp_glVertexAttrib4uiv(index, v); } +inline void glVertexAttrib4usv(GLuint index, const GLushort* v) { fp_glVertexAttrib4usv(index, v); } +inline void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer) { fp_glVertexAttribPointer(index, size, type, normalized, stride, pointer); } + +/* GL_VERSION_2_1 */ +inline void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix2x3fv(location, count, transpose, value); } +inline void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix3x2fv(location, count, transpose, value); } +inline void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix2x4fv(location, count, transpose, value); } +inline void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix4x2fv(location, count, transpose, value); } +inline void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix3x4fv(location, count, transpose, value); } +inline void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix4x3fv(location, count, transpose, value); } + +/* GL_VERSION_3_0 */ +inline void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { fp_glColorMaski(index, r, g, b, a); } +inline void glGetBooleani_v(GLenum target, GLuint index, GLboolean* data) { fp_glGetBooleani_v(target, index, data); } +inline void glGetIntegeri_v(GLenum target, GLuint index, GLint* data) { fp_glGetIntegeri_v(target, index, data); } +inline void glEnablei(GLenum target, GLuint index) { fp_glEnablei(target, index); } +inline void glDisablei(GLenum target, GLuint index) { fp_glDisablei(target, index); } +inline GLboolean glIsEnabledi(GLenum target, GLuint index) { return fp_glIsEnabledi(target, index); } +inline void glBeginTransformFeedback(GLenum primitiveMode) { fp_glBeginTransformFeedback(primitiveMode); } +inline void glEndTransformFeedback() { fp_glEndTransformFeedback(); } +inline void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glBindBufferRange(target, index, buffer, offset, size); } +inline void glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { fp_glBindBufferBase(target, index, buffer); } +inline void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar** varyings, GLenum bufferMode) { fp_glTransformFeedbackVaryings(program, count, varyings, bufferMode); } +inline void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) { fp_glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } +inline void glClampColor(GLenum target, GLenum clamp) { fp_glClampColor(target, clamp); } +inline void glBeginConditionalRender(GLuint id, GLenum mode) { fp_glBeginConditionalRender(id, mode); } +inline void glEndConditionalRender() { fp_glEndConditionalRender(); } +inline void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glVertexAttribIPointer(index, size, type, stride, pointer); } +inline void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) { fp_glGetVertexAttribIiv(index, pname, params); } +inline void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) { fp_glGetVertexAttribIuiv(index, pname, params); } +inline void glVertexAttribI1i(GLuint index, GLint x) { fp_glVertexAttribI1i(index, x); } +inline void glVertexAttribI2i(GLuint index, GLint x, GLint y) { fp_glVertexAttribI2i(index, x, y); } +inline void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { fp_glVertexAttribI3i(index, x, y, z); } +inline void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { fp_glVertexAttribI4i(index, x, y, z, w); } +inline void glVertexAttribI1ui(GLuint index, GLuint x) { fp_glVertexAttribI1ui(index, x); } +inline void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { fp_glVertexAttribI2ui(index, x, y); } +inline void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { fp_glVertexAttribI3ui(index, x, y, z); } +inline void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { fp_glVertexAttribI4ui(index, x, y, z, w); } +inline void glVertexAttribI1iv(GLuint index, const GLint* v) { fp_glVertexAttribI1iv(index, v); } +inline void glVertexAttribI2iv(GLuint index, const GLint* v) { fp_glVertexAttribI2iv(index, v); } +inline void glVertexAttribI3iv(GLuint index, const GLint* v) { fp_glVertexAttribI3iv(index, v); } +inline void glVertexAttribI4iv(GLuint index, const GLint* v) { fp_glVertexAttribI4iv(index, v); } +inline void glVertexAttribI1uiv(GLuint index, const GLuint* v) { fp_glVertexAttribI1uiv(index, v); } +inline void glVertexAttribI2uiv(GLuint index, const GLuint* v) { fp_glVertexAttribI2uiv(index, v); } +inline void glVertexAttribI3uiv(GLuint index, const GLuint* v) { fp_glVertexAttribI3uiv(index, v); } +inline void glVertexAttribI4uiv(GLuint index, const GLuint* v) { fp_glVertexAttribI4uiv(index, v); } +inline void glVertexAttribI4bv(GLuint index, const GLbyte* v) { fp_glVertexAttribI4bv(index, v); } +inline void glVertexAttribI4sv(GLuint index, const GLshort* v) { fp_glVertexAttribI4sv(index, v); } +inline void glVertexAttribI4ubv(GLuint index, const GLubyte* v) { fp_glVertexAttribI4ubv(index, v); } +inline void glVertexAttribI4usv(GLuint index, const GLushort* v) { fp_glVertexAttribI4usv(index, v); } +inline void glGetUniformuiv(GLuint program, GLint location, GLuint* params) { fp_glGetUniformuiv(program, location, params); } +inline void glBindFragDataLocation(GLuint program, GLuint color, const GLchar* name) { fp_glBindFragDataLocation(program, color, name); } +inline GLint glGetFragDataLocation(GLuint program, const GLchar* name) { return fp_glGetFragDataLocation(program, name); } +inline void glUniform1ui(GLint location, GLuint v0) { fp_glUniform1ui(location, v0); } +inline void glUniform2ui(GLint location, GLuint v0, GLuint v1) { fp_glUniform2ui(location, v0, v1); } +inline void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { fp_glUniform3ui(location, v0, v1, v2); } +inline void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { fp_glUniform4ui(location, v0, v1, v2, v3); } +inline void glUniform1uiv(GLint location, GLsizei count, const GLuint* value) { fp_glUniform1uiv(location, count, value); } +inline void glUniform2uiv(GLint location, GLsizei count, const GLuint* value) { fp_glUniform2uiv(location, count, value); } +inline void glUniform3uiv(GLint location, GLsizei count, const GLuint* value) { fp_glUniform3uiv(location, count, value); } +inline void glUniform4uiv(GLint location, GLsizei count, const GLuint* value) { fp_glUniform4uiv(location, count, value); } +inline void glTexParameterIiv(GLenum target, GLenum pname, const GLint* params) { fp_glTexParameterIiv(target, pname, params); } +inline void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint* params) { fp_glTexParameterIuiv(target, pname, params); } +inline void glGetTexParameterIiv(GLenum target, GLenum pname, GLint* params) { fp_glGetTexParameterIiv(target, pname, params); } +inline void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint* params) { fp_glGetTexParameterIuiv(target, pname, params); } +inline void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value) { fp_glClearBufferiv(buffer, drawbuffer, value); } +inline void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value) { fp_glClearBufferuiv(buffer, drawbuffer, value); } +inline void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value) { fp_glClearBufferfv(buffer, drawbuffer, value); } +inline void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { fp_glClearBufferfi(buffer, drawbuffer, depth, stencil); } +inline const GLubyte* glGetStringi(GLenum name, GLuint index) { return fp_glGetStringi(name, index); } +inline GLboolean glIsRenderbuffer(GLuint renderbuffer) { return fp_glIsRenderbuffer(renderbuffer); } +inline void glBindRenderbuffer(GLenum target, GLuint renderbuffer) { fp_glBindRenderbuffer(target, renderbuffer); } +inline void glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { fp_glDeleteRenderbuffers(n, renderbuffers); } +inline void glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) { fp_glGenRenderbuffers(n, renderbuffers); } +inline void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorage(target, internalformat, width, height); } +inline void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { fp_glGetRenderbufferParameteriv(target, pname, params); } +inline GLboolean glIsFramebuffer(GLuint framebuffer) { return fp_glIsFramebuffer(framebuffer); } +inline void glBindFramebuffer(GLenum target, GLuint framebuffer) { fp_glBindFramebuffer(target, framebuffer); } +inline void glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { fp_glDeleteFramebuffers(n, framebuffers); } +inline void glGenFramebuffers(GLsizei n, GLuint* framebuffers) { fp_glGenFramebuffers(n, framebuffers); } +inline GLenum glCheckFramebufferStatus(GLenum target) { return fp_glCheckFramebufferStatus(target); } +inline void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glFramebufferTexture1D(target, attachment, textarget, texture, level); } +inline void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glFramebufferTexture2D(target, attachment, textarget, texture, level); } +inline void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { fp_glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } +inline void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { fp_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } +inline void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) { fp_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); } +inline void glGenerateMipmap(GLenum target) { fp_glGenerateMipmap(target); } +inline void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { fp_glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } +inline void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisample(target, samples, internalformat, width, height); } +inline void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { fp_glFramebufferTextureLayer(target, attachment, texture, level, layer); } +inline void* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { return fp_glMapBufferRange(target, offset, length, access); } +inline void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { fp_glFlushMappedBufferRange(target, offset, length); } +inline void glBindVertexArray(GLuint array) { fp_glBindVertexArray(array); } +inline void glDeleteVertexArrays(GLsizei n, const GLuint* arrays) { fp_glDeleteVertexArrays(n, arrays); } +inline void glGenVertexArrays(GLsizei n, GLuint* arrays) { fp_glGenVertexArrays(n, arrays); } +inline GLboolean glIsVertexArray(GLuint array) { return fp_glIsVertexArray(array); } + +/* GL_VERSION_3_1 */ +inline void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { fp_glDrawArraysInstanced(mode, first, count, instancecount); } +inline void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount) { fp_glDrawElementsInstanced(mode, count, type, indices, instancecount); } +inline void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { fp_glTexBuffer(target, internalformat, buffer); } +inline void glPrimitiveRestartIndex(GLuint index) { fp_glPrimitiveRestartIndex(index); } +inline void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { fp_glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } +inline void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices) { fp_glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } +inline void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params) { fp_glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } +inline void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) { fp_glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } +inline GLuint glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName) { return fp_glGetUniformBlockIndex(program, uniformBlockName); } +inline void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) { fp_glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } +inline void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) { fp_glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } +inline void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { fp_glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } + +/* GL_VERSION_3_2 */ +inline void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void* indices, GLint basevertex) { fp_glDrawElementsBaseVertex(mode, count, type, indices, basevertex); } +inline void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices, GLint basevertex) { fp_glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } +inline void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex) { fp_glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } +inline void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei* count, GLenum type, const void** indices, GLsizei drawcount, const GLint* basevertex) { fp_glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } +inline void glProvokingVertex(GLenum mode) { fp_glProvokingVertex(mode); } +inline GLsync glFenceSync(GLenum condition, GLbitfield flags) { return fp_glFenceSync(condition, flags); } +inline GLboolean glIsSync(GLsync sync) { return fp_glIsSync(sync); } +inline void glDeleteSync(GLsync sync) { fp_glDeleteSync(sync); } +inline GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { return fp_glClientWaitSync(sync, flags, timeout); } +inline void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { fp_glWaitSync(sync, flags, timeout); } +inline void glGetInteger64v(GLenum pname, GLint64* data) { fp_glGetInteger64v(pname, data); } +inline void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) { fp_glGetSynciv(sync, pname, bufSize, length, values); } +inline void glGetInteger64i_v(GLenum target, GLuint index, GLint64* data) { fp_glGetInteger64i_v(target, index, data); } +inline void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params) { fp_glGetBufferParameteri64v(target, pname, params); } +inline void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { fp_glFramebufferTexture(target, attachment, texture, level); } +inline void glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { fp_glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } +inline void glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { fp_glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } +inline void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val) { fp_glGetMultisamplefv(pname, index, val); } +inline void glSampleMaski(GLuint maskNumber, GLbitfield mask) { fp_glSampleMaski(maskNumber, mask); } + +/* GL_VERSION_3_3 */ +inline void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar* name) { fp_glBindFragDataLocationIndexed(program, colorNumber, index, name); } +inline GLint glGetFragDataIndex(GLuint program, const GLchar* name) { return fp_glGetFragDataIndex(program, name); } +inline void glGenSamplers(GLsizei count, GLuint* samplers) { fp_glGenSamplers(count, samplers); } +inline void glDeleteSamplers(GLsizei count, const GLuint* samplers) { fp_glDeleteSamplers(count, samplers); } +inline GLboolean glIsSampler(GLuint sampler) { return fp_glIsSampler(sampler); } +inline void glBindSampler(GLuint unit, GLuint sampler) { fp_glBindSampler(unit, sampler); } +inline void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { fp_glSamplerParameteri(sampler, pname, param); } +inline void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param) { fp_glSamplerParameteriv(sampler, pname, param); } +inline void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { fp_glSamplerParameterf(sampler, pname, param); } +inline void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param) { fp_glSamplerParameterfv(sampler, pname, param); } +inline void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint* param) { fp_glSamplerParameterIiv(sampler, pname, param); } +inline void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint* param) { fp_glSamplerParameterIuiv(sampler, pname, param); } +inline void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params) { fp_glGetSamplerParameteriv(sampler, pname, params); } +inline void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint* params) { fp_glGetSamplerParameterIiv(sampler, pname, params); } +inline void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params) { fp_glGetSamplerParameterfv(sampler, pname, params); } +inline void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint* params) { fp_glGetSamplerParameterIuiv(sampler, pname, params); } +inline void glQueryCounter(GLuint id, GLenum target) { fp_glQueryCounter(id, target); } +inline void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64* params) { fp_glGetQueryObjecti64v(id, pname, params); } +inline void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64* params) { fp_glGetQueryObjectui64v(id, pname, params); } +inline void glVertexAttribDivisor(GLuint index, GLuint divisor) { fp_glVertexAttribDivisor(index, divisor); } +inline void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { fp_glVertexAttribP1ui(index, type, normalized, value); } +inline void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) { fp_glVertexAttribP1uiv(index, type, normalized, value); } +inline void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { fp_glVertexAttribP2ui(index, type, normalized, value); } +inline void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) { fp_glVertexAttribP2uiv(index, type, normalized, value); } +inline void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { fp_glVertexAttribP3ui(index, type, normalized, value); } +inline void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) { fp_glVertexAttribP3uiv(index, type, normalized, value); } +inline void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { fp_glVertexAttribP4ui(index, type, normalized, value); } +inline void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) { fp_glVertexAttribP4uiv(index, type, normalized, value); } +inline void glVertexP2ui(GLenum type, GLuint value) { fp_glVertexP2ui(type, value); } +inline void glVertexP2uiv(GLenum type, const GLuint* value) { fp_glVertexP2uiv(type, value); } +inline void glVertexP3ui(GLenum type, GLuint value) { fp_glVertexP3ui(type, value); } +inline void glVertexP3uiv(GLenum type, const GLuint* value) { fp_glVertexP3uiv(type, value); } +inline void glVertexP4ui(GLenum type, GLuint value) { fp_glVertexP4ui(type, value); } +inline void glVertexP4uiv(GLenum type, const GLuint* value) { fp_glVertexP4uiv(type, value); } +inline void glTexCoordP1ui(GLenum type, GLuint coords) { fp_glTexCoordP1ui(type, coords); } +inline void glTexCoordP1uiv(GLenum type, const GLuint* coords) { fp_glTexCoordP1uiv(type, coords); } +inline void glTexCoordP2ui(GLenum type, GLuint coords) { fp_glTexCoordP2ui(type, coords); } +inline void glTexCoordP2uiv(GLenum type, const GLuint* coords) { fp_glTexCoordP2uiv(type, coords); } +inline void glTexCoordP3ui(GLenum type, GLuint coords) { fp_glTexCoordP3ui(type, coords); } +inline void glTexCoordP3uiv(GLenum type, const GLuint* coords) { fp_glTexCoordP3uiv(type, coords); } +inline void glTexCoordP4ui(GLenum type, GLuint coords) { fp_glTexCoordP4ui(type, coords); } +inline void glTexCoordP4uiv(GLenum type, const GLuint* coords) { fp_glTexCoordP4uiv(type, coords); } +inline void glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { fp_glMultiTexCoordP1ui(texture, type, coords); } +inline void glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint* coords) { fp_glMultiTexCoordP1uiv(texture, type, coords); } +inline void glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { fp_glMultiTexCoordP2ui(texture, type, coords); } +inline void glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint* coords) { fp_glMultiTexCoordP2uiv(texture, type, coords); } +inline void glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { fp_glMultiTexCoordP3ui(texture, type, coords); } +inline void glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint* coords) { fp_glMultiTexCoordP3uiv(texture, type, coords); } +inline void glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { fp_glMultiTexCoordP4ui(texture, type, coords); } +inline void glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint* coords) { fp_glMultiTexCoordP4uiv(texture, type, coords); } +inline void glNormalP3ui(GLenum type, GLuint coords) { fp_glNormalP3ui(type, coords); } +inline void glNormalP3uiv(GLenum type, const GLuint* coords) { fp_glNormalP3uiv(type, coords); } +inline void glColorP3ui(GLenum type, GLuint color) { fp_glColorP3ui(type, color); } +inline void glColorP3uiv(GLenum type, const GLuint* color) { fp_glColorP3uiv(type, color); } +inline void glColorP4ui(GLenum type, GLuint color) { fp_glColorP4ui(type, color); } +inline void glColorP4uiv(GLenum type, const GLuint* color) { fp_glColorP4uiv(type, color); } +inline void glSecondaryColorP3ui(GLenum type, GLuint color) { fp_glSecondaryColorP3ui(type, color); } +inline void glSecondaryColorP3uiv(GLenum type, const GLuint* color) { fp_glSecondaryColorP3uiv(type, color); } + +/* GL_VERSION_4_0 */ +inline void glMinSampleShading(GLfloat value) { fp_glMinSampleShading(value); } +inline void glBlendEquationi(GLuint buf, GLenum mode) { fp_glBlendEquationi(buf, mode); } +inline void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { fp_glBlendEquationSeparatei(buf, modeRGB, modeAlpha); } +inline void glBlendFunci(GLuint buf, GLenum src, GLenum dst) { fp_glBlendFunci(buf, src, dst); } +inline void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { fp_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } +inline void glDrawArraysIndirect(GLenum mode, const void* indirect) { fp_glDrawArraysIndirect(mode, indirect); } +inline void glDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect) { fp_glDrawElementsIndirect(mode, type, indirect); } +inline void glUniform1d(GLint location, GLdouble x) { fp_glUniform1d(location, x); } +inline void glUniform2d(GLint location, GLdouble x, GLdouble y) { fp_glUniform2d(location, x, y); } +inline void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { fp_glUniform3d(location, x, y, z); } +inline void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glUniform4d(location, x, y, z, w); } +inline void glUniform1dv(GLint location, GLsizei count, const GLdouble* value) { fp_glUniform1dv(location, count, value); } +inline void glUniform2dv(GLint location, GLsizei count, const GLdouble* value) { fp_glUniform2dv(location, count, value); } +inline void glUniform3dv(GLint location, GLsizei count, const GLdouble* value) { fp_glUniform3dv(location, count, value); } +inline void glUniform4dv(GLint location, GLsizei count, const GLdouble* value) { fp_glUniform4dv(location, count, value); } +inline void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix2dv(location, count, transpose, value); } +inline void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix3dv(location, count, transpose, value); } +inline void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix4dv(location, count, transpose, value); } +inline void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix2x3dv(location, count, transpose, value); } +inline void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix2x4dv(location, count, transpose, value); } +inline void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix3x2dv(location, count, transpose, value); } +inline void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix3x4dv(location, count, transpose, value); } +inline void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix4x2dv(location, count, transpose, value); } +inline void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glUniformMatrix4x3dv(location, count, transpose, value); } +inline void glGetUniformdv(GLuint program, GLint location, GLdouble* params) { fp_glGetUniformdv(program, location, params); } +inline GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar* name) { return fp_glGetSubroutineUniformLocation(program, shadertype, name); } +inline GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar* name) { return fp_glGetSubroutineIndex(program, shadertype, name); } +inline void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values) { fp_glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } +inline void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) { fp_glGetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } +inline void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) { fp_glGetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } +inline void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint* indices) { fp_glUniformSubroutinesuiv(shadertype, count, indices); } +inline void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint* params) { fp_glGetUniformSubroutineuiv(shadertype, location, params); } +inline void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint* values) { fp_glGetProgramStageiv(program, shadertype, pname, values); } +inline void glPatchParameteri(GLenum pname, GLint value) { fp_glPatchParameteri(pname, value); } +inline void glPatchParameterfv(GLenum pname, const GLfloat* values) { fp_glPatchParameterfv(pname, values); } +inline void glBindTransformFeedback(GLenum target, GLuint id) { fp_glBindTransformFeedback(target, id); } +inline void glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids) { fp_glDeleteTransformFeedbacks(n, ids); } +inline void glGenTransformFeedbacks(GLsizei n, GLuint* ids) { fp_glGenTransformFeedbacks(n, ids); } +inline GLboolean glIsTransformFeedback(GLuint id) { return fp_glIsTransformFeedback(id); } +inline void glPauseTransformFeedback() { fp_glPauseTransformFeedback(); } +inline void glResumeTransformFeedback() { fp_glResumeTransformFeedback(); } +inline void glDrawTransformFeedback(GLenum mode, GLuint id) { fp_glDrawTransformFeedback(mode, id); } +inline void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { fp_glDrawTransformFeedbackStream(mode, id, stream); } +inline void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { fp_glBeginQueryIndexed(target, index, id); } +inline void glEndQueryIndexed(GLenum target, GLuint index) { fp_glEndQueryIndexed(target, index); } +inline void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint* params) { fp_glGetQueryIndexediv(target, index, pname, params); } + +/* GL_VERSION_4_1 */ +inline void glReleaseShaderCompiler() { fp_glReleaseShaderCompiler(); } +inline void glShaderBinary(GLsizei count, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length) { fp_glShaderBinary(count, shaders, binaryformat, binary, length); } +inline void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) { fp_glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } +inline void glDepthRangef(GLfloat n, GLfloat f) { fp_glDepthRangef(n, f); } +inline void glClearDepthf(GLfloat d) { fp_glClearDepthf(d); } +inline void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary) { fp_glGetProgramBinary(program, bufSize, length, binaryFormat, binary); } +inline void glProgramBinary(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length) { fp_glProgramBinary(program, binaryFormat, binary, length); } +inline void glProgramParameteri(GLuint program, GLenum pname, GLint value) { fp_glProgramParameteri(program, pname, value); } +inline void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { fp_glUseProgramStages(pipeline, stages, program); } +inline void glActiveShaderProgram(GLuint pipeline, GLuint program) { fp_glActiveShaderProgram(pipeline, program); } +inline GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar** strings) { return fp_glCreateShaderProgramv(type, count, strings); } +inline void glBindProgramPipeline(GLuint pipeline) { fp_glBindProgramPipeline(pipeline); } +inline void glDeleteProgramPipelines(GLsizei n, const GLuint* pipelines) { fp_glDeleteProgramPipelines(n, pipelines); } +inline void glGenProgramPipelines(GLsizei n, GLuint* pipelines) { fp_glGenProgramPipelines(n, pipelines); } +inline GLboolean glIsProgramPipeline(GLuint pipeline) { return fp_glIsProgramPipeline(pipeline); } +inline void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params) { fp_glGetProgramPipelineiv(pipeline, pname, params); } +inline void glProgramUniform1i(GLuint program, GLint location, GLint v0) { fp_glProgramUniform1i(program, location, v0); } +inline void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform1iv(program, location, count, value); } +inline void glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { fp_glProgramUniform1f(program, location, v0); } +inline void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform1fv(program, location, count, value); } +inline void glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { fp_glProgramUniform1d(program, location, v0); } +inline void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform1dv(program, location, count, value); } +inline void glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { fp_glProgramUniform1ui(program, location, v0); } +inline void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform1uiv(program, location, count, value); } +inline void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { fp_glProgramUniform2i(program, location, v0, v1); } +inline void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform2iv(program, location, count, value); } +inline void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { fp_glProgramUniform2f(program, location, v0, v1); } +inline void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform2fv(program, location, count, value); } +inline void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { fp_glProgramUniform2d(program, location, v0, v1); } +inline void glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform2dv(program, location, count, value); } +inline void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { fp_glProgramUniform2ui(program, location, v0, v1); } +inline void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform2uiv(program, location, count, value); } +inline void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { fp_glProgramUniform3i(program, location, v0, v1, v2); } +inline void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform3iv(program, location, count, value); } +inline void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { fp_glProgramUniform3f(program, location, v0, v1, v2); } +inline void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform3fv(program, location, count, value); } +inline void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { fp_glProgramUniform3d(program, location, v0, v1, v2); } +inline void glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform3dv(program, location, count, value); } +inline void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { fp_glProgramUniform3ui(program, location, v0, v1, v2); } +inline void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform3uiv(program, location, count, value); } +inline void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { fp_glProgramUniform4i(program, location, v0, v1, v2, v3); } +inline void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform4iv(program, location, count, value); } +inline void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { fp_glProgramUniform4f(program, location, v0, v1, v2, v3); } +inline void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform4fv(program, location, count, value); } +inline void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { fp_glProgramUniform4d(program, location, v0, v1, v2, v3); } +inline void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform4dv(program, location, count, value); } +inline void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { fp_glProgramUniform4ui(program, location, v0, v1, v2, v3); } +inline void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform4uiv(program, location, count, value); } +inline void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2x3fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3x2fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2x4fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4x2fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3x4fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4x3fv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2x3dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3x2dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2x4dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4x2dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3x4dv(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4x3dv(program, location, count, transpose, value); } +inline void glValidateProgramPipeline(GLuint pipeline) { fp_glValidateProgramPipeline(pipeline); } +inline void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) { fp_glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } +inline void glVertexAttribL1d(GLuint index, GLdouble x) { fp_glVertexAttribL1d(index, x); } +inline void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { fp_glVertexAttribL2d(index, x, y); } +inline void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { fp_glVertexAttribL3d(index, x, y, z); } +inline void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glVertexAttribL4d(index, x, y, z, w); } +inline void glVertexAttribL1dv(GLuint index, const GLdouble* v) { fp_glVertexAttribL1dv(index, v); } +inline void glVertexAttribL2dv(GLuint index, const GLdouble* v) { fp_glVertexAttribL2dv(index, v); } +inline void glVertexAttribL3dv(GLuint index, const GLdouble* v) { fp_glVertexAttribL3dv(index, v); } +inline void glVertexAttribL4dv(GLuint index, const GLdouble* v) { fp_glVertexAttribL4dv(index, v); } +inline void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glVertexAttribLPointer(index, size, type, stride, pointer); } +inline void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble* params) { fp_glGetVertexAttribLdv(index, pname, params); } +inline void glViewportArrayv(GLuint first, GLsizei count, const GLfloat* v) { fp_glViewportArrayv(first, count, v); } +inline void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { fp_glViewportIndexedf(index, x, y, w, h); } +inline void glViewportIndexedfv(GLuint index, const GLfloat* v) { fp_glViewportIndexedfv(index, v); } +inline void glScissorArrayv(GLuint first, GLsizei count, const GLint* v) { fp_glScissorArrayv(first, count, v); } +inline void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { fp_glScissorIndexed(index, left, bottom, width, height); } +inline void glScissorIndexedv(GLuint index, const GLint* v) { fp_glScissorIndexedv(index, v); } +inline void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble* v) { fp_glDepthRangeArrayv(first, count, v); } +inline void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { fp_glDepthRangeIndexed(index, n, f); } +inline void glGetFloati_v(GLenum target, GLuint index, GLfloat* data) { fp_glGetFloati_v(target, index, data); } +inline void glGetDoublei_v(GLenum target, GLuint index, GLdouble* data) { fp_glGetDoublei_v(target, index, data); } + +/* GL_VERSION_4_2 */ +inline void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { fp_glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } +inline void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLuint baseinstance) { fp_glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } +inline void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { fp_glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } +inline void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) { fp_glGetInternalformativ(target, internalformat, pname, bufSize, params); } +inline void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint* params) { fp_glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } +inline void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { fp_glBindImageTexture(unit, texture, level, layered, layer, access, format); } +inline void glMemoryBarrier(GLbitfield barriers) { fp_glMemoryBarrier(barriers); } +inline void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { fp_glTexStorage1D(target, levels, internalformat, width); } +inline void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { fp_glTexStorage2D(target, levels, internalformat, width, height); } +inline void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { fp_glTexStorage3D(target, levels, internalformat, width, height, depth); } +inline void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { fp_glDrawTransformFeedbackInstanced(mode, id, instancecount); } +inline void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { fp_glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } + +/* GL_VERSION_4_3 */ +inline void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void* data) { fp_glClearBufferData(target, internalformat, format, type, data); } +inline void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data) { fp_glClearBufferSubData(target, internalformat, offset, size, format, type, data); } +inline void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { fp_glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); } +inline void glDispatchComputeIndirect(GLintptr indirect) { fp_glDispatchComputeIndirect(indirect); } +inline void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { fp_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } +inline void glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { fp_glFramebufferParameteri(target, pname, param); } +inline void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params) { fp_glGetFramebufferParameteriv(target, pname, params); } +inline void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params) { fp_glGetInternalformati64v(target, internalformat, pname, bufSize, params); } +inline void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { fp_glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } +inline void glInvalidateTexImage(GLuint texture, GLint level) { fp_glInvalidateTexImage(texture, level); } +inline void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { fp_glInvalidateBufferSubData(buffer, offset, length); } +inline void glInvalidateBufferData(GLuint buffer) { fp_glInvalidateBufferData(buffer); } +inline void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments) { fp_glInvalidateFramebuffer(target, numAttachments, attachments); } +inline void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } +inline void glMultiDrawArraysIndirect(GLenum mode, const void* indirect, GLsizei drawcount, GLsizei stride) { fp_glMultiDrawArraysIndirect(mode, indirect, drawcount, stride); } +inline void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void* indirect, GLsizei drawcount, GLsizei stride) { fp_glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } +inline void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params) { fp_glGetProgramInterfaceiv(program, programInterface, pname, params); } +inline GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar* name) { return fp_glGetProgramResourceIndex(program, programInterface, name); } +inline void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name) { fp_glGetProgramResourceName(program, programInterface, index, bufSize, length, name); } +inline void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLint* params) { fp_glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } +inline GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar* name) { return fp_glGetProgramResourceLocation(program, programInterface, name); } +inline GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar* name) { return fp_glGetProgramResourceLocationIndex(program, programInterface, name); } +inline void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { fp_glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } +inline void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glTexBufferRange(target, internalformat, buffer, offset, size); } +inline void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { fp_glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } +inline void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { fp_glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } +inline void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { fp_glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } +inline void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { fp_glBindVertexBuffer(bindingindex, buffer, offset, stride); } +inline void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { fp_glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } +inline void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexAttribIFormat(attribindex, size, type, relativeoffset); } +inline void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexAttribLFormat(attribindex, size, type, relativeoffset); } +inline void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { fp_glVertexAttribBinding(attribindex, bindingindex); } +inline void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { fp_glVertexBindingDivisor(bindingindex, divisor); } +inline void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) { fp_glDebugMessageControl(source, type, severity, count, ids, enabled); } +inline void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf) { fp_glDebugMessageInsert(source, type, id, severity, length, buf); } +inline void glDebugMessageCallback(GLDEBUGPROC callback, const void* userParam) { fp_glDebugMessageCallback(callback, userParam); } +inline GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) { return fp_glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); } +inline void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar* message) { fp_glPushDebugGroup(source, id, length, message); } +inline void glPopDebugGroup() { fp_glPopDebugGroup(); } +inline void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar* label) { fp_glObjectLabel(identifier, name, length, label); } +inline void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) { fp_glGetObjectLabel(identifier, name, bufSize, length, label); } +inline void glObjectPtrLabel(const void* ptr, GLsizei length, const GLchar* label) { fp_glObjectPtrLabel(ptr, length, label); } +inline void glGetObjectPtrLabel(const void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) { fp_glGetObjectPtrLabel(ptr, bufSize, length, label); } + +/* GL_VERSION_4_4 */ +inline void glBufferStorage(GLenum target, GLsizeiptr size, const void* data, GLbitfield flags) { fp_glBufferStorage(target, size, data, flags); } +inline void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void* data) { fp_glClearTexImage(texture, level, format, type, data); } +inline void glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* data) { fp_glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); } +inline void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint* buffers) { fp_glBindBuffersBase(target, first, count, buffers); } +inline void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr* offsets, const GLsizeiptr* sizes) { fp_glBindBuffersRange(target, first, count, buffers, offsets, sizes); } +inline void glBindTextures(GLuint first, GLsizei count, const GLuint* textures) { fp_glBindTextures(first, count, textures); } +inline void glBindSamplers(GLuint first, GLsizei count, const GLuint* samplers) { fp_glBindSamplers(first, count, samplers); } +inline void glBindImageTextures(GLuint first, GLsizei count, const GLuint* textures) { fp_glBindImageTextures(first, count, textures); } +inline void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint* buffers, const GLintptr* offsets, const GLsizei* strides) { fp_glBindVertexBuffers(first, count, buffers, offsets, strides); } + +/* GL_VERSION_4_5 */ +inline void glClipControl(GLenum origin, GLenum depth) { fp_glClipControl(origin, depth); } +inline void glCreateTransformFeedbacks(GLsizei n, GLuint* ids) { fp_glCreateTransformFeedbacks(n, ids); } +inline void glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer) { fp_glTransformFeedbackBufferBase(xfb, index, buffer); } +inline void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) { fp_glTransformFeedbackBufferRange(xfb, index, buffer, offset, size); } +inline void glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint* param) { fp_glGetTransformFeedbackiv(xfb, pname, param); } +inline void glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint* param) { fp_glGetTransformFeedbacki_v(xfb, pname, index, param); } +inline void glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64* param) { fp_glGetTransformFeedbacki64_v(xfb, pname, index, param); } +inline void glCreateBuffers(GLsizei n, GLuint* buffers) { fp_glCreateBuffers(n, buffers); } +inline void glNamedBufferStorage(GLuint buffer, GLsizei size, const void* data, GLbitfield flags) { fp_glNamedBufferStorage(buffer, size, data, flags); } +inline void glNamedBufferData(GLuint buffer, GLsizei size, const void* data, GLenum usage) { fp_glNamedBufferData(buffer, size, data, usage); } +inline void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void* data) { fp_glNamedBufferSubData(buffer, offset, size, data); } +inline void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) { fp_glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); } +inline void glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data) { fp_glClearNamedBufferData(buffer, internalformat, format, type, data); } +inline void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void* data) { fp_glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); } +inline void* glMapNamedBuffer(GLuint buffer, GLenum access) { return fp_glMapNamedBuffer(buffer, access); } +inline void* glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) { return fp_glMapNamedBufferRange(buffer, offset, length, access); } +inline GLboolean glUnmapNamedBuffer(GLuint buffer) { return fp_glUnmapNamedBuffer(buffer); } +inline void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) { fp_glFlushMappedNamedBufferRange(buffer, offset, length); } +inline void glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint* params) { fp_glGetNamedBufferParameteriv(buffer, pname, params); } +inline void glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64* params) { fp_glGetNamedBufferParameteri64v(buffer, pname, params); } +inline void glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void** params) { fp_glGetNamedBufferPointerv(buffer, pname, params); } +inline void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void* data) { fp_glGetNamedBufferSubData(buffer, offset, size, data); } +inline void glCreateFramebuffers(GLsizei n, GLuint* framebuffers) { fp_glCreateFramebuffers(n, framebuffers); } +inline void glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { fp_glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); } +inline void glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param) { fp_glNamedFramebufferParameteri(framebuffer, pname, param); } +inline void glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { fp_glNamedFramebufferTexture(framebuffer, attachment, texture, level); } +inline void glNamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { fp_glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); } +inline void glNamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf) { fp_glNamedFramebufferDrawBuffer(framebuffer, buf); } +inline void glNamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, const GLenum* bufs) { fp_glNamedFramebufferDrawBuffers(framebuffer, n, bufs); } +inline void glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum src) { fp_glNamedFramebufferReadBuffer(framebuffer, src); } +inline void glInvalidateNamedFramebufferData(GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments) { fp_glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); } +inline void glInvalidateNamedFramebufferSubData(GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); } +inline void glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint* value) { fp_glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); } +inline void glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint* value) { fp_glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); } +inline void glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat* value) { fp_glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); } +inline void glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil) { fp_glClearNamedFramebufferfi(framebuffer, buffer, depth, stencil); } +inline void glBlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { fp_glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } +inline GLenum glCheckNamedFramebufferStatus(GLuint framebuffer, GLenum target) { return fp_glCheckNamedFramebufferStatus(framebuffer, target); } +inline void glGetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname, GLint* param) { fp_glGetNamedFramebufferParameteriv(framebuffer, pname, param); } +inline void glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) { fp_glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); } +inline void glCreateRenderbuffers(GLsizei n, GLuint* renderbuffers) { fp_glCreateRenderbuffers(n, renderbuffers); } +inline void glNamedRenderbufferStorage(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { fp_glNamedRenderbufferStorage(renderbuffer, internalformat, width, height); } +inline void glNamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); } +inline void glGetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname, GLint* params) { fp_glGetNamedRenderbufferParameteriv(renderbuffer, pname, params); } +inline void glCreateTextures(GLenum target, GLsizei n, GLuint* textures) { fp_glCreateTextures(target, n, textures); } +inline void glTextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer) { fp_glTextureBuffer(texture, internalformat, buffer); } +inline void glTextureBufferRange(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size) { fp_glTextureBufferRange(texture, internalformat, buffer, offset, size); } +inline void glTextureStorage1D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) { fp_glTextureStorage1D(texture, levels, internalformat, width); } +inline void glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { fp_glTextureStorage2D(texture, levels, internalformat, width, height); } +inline void glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { fp_glTextureStorage3D(texture, levels, internalformat, width, height, depth); } +inline void glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { fp_glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); } +inline void glTextureStorage3DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { fp_glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); } +inline void glTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels); } +inline void glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); } +inline void glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } +inline void glCompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); } +inline void glCompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); } +inline void glCompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } +inline void glCopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { fp_glCopyTextureSubImage1D(texture, level, xoffset, x, y, width); } +inline void glCopyTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); } +inline void glCopyTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); } +inline void glTextureParameterf(GLuint texture, GLenum pname, GLfloat param) { fp_glTextureParameterf(texture, pname, param); } +inline void glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat* param) { fp_glTextureParameterfv(texture, pname, param); } +inline void glTextureParameteri(GLuint texture, GLenum pname, GLint param) { fp_glTextureParameteri(texture, pname, param); } +inline void glTextureParameterIiv(GLuint texture, GLenum pname, const GLint* params) { fp_glTextureParameterIiv(texture, pname, params); } +inline void glTextureParameterIuiv(GLuint texture, GLenum pname, const GLuint* params) { fp_glTextureParameterIuiv(texture, pname, params); } +inline void glTextureParameteriv(GLuint texture, GLenum pname, const GLint* param) { fp_glTextureParameteriv(texture, pname, param); } +inline void glGenerateTextureMipmap(GLuint texture) { fp_glGenerateTextureMipmap(texture); } +inline void glBindTextureUnit(GLuint unit, GLuint texture) { fp_glBindTextureUnit(unit, texture); } +inline void glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) { fp_glGetTextureImage(texture, level, format, type, bufSize, pixels); } +inline void glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void* pixels) { fp_glGetCompressedTextureImage(texture, level, bufSize, pixels); } +inline void glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat* params) { fp_glGetTextureLevelParameterfv(texture, level, pname, params); } +inline void glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint* params) { fp_glGetTextureLevelParameteriv(texture, level, pname, params); } +inline void glGetTextureParameterfv(GLuint texture, GLenum pname, GLfloat* params) { fp_glGetTextureParameterfv(texture, pname, params); } +inline void glGetTextureParameterIiv(GLuint texture, GLenum pname, GLint* params) { fp_glGetTextureParameterIiv(texture, pname, params); } +inline void glGetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint* params) { fp_glGetTextureParameterIuiv(texture, pname, params); } +inline void glGetTextureParameteriv(GLuint texture, GLenum pname, GLint* params) { fp_glGetTextureParameteriv(texture, pname, params); } +inline void glCreateVertexArrays(GLsizei n, GLuint* arrays) { fp_glCreateVertexArrays(n, arrays); } +inline void glDisableVertexArrayAttrib(GLuint vaobj, GLuint index) { fp_glDisableVertexArrayAttrib(vaobj, index); } +inline void glEnableVertexArrayAttrib(GLuint vaobj, GLuint index) { fp_glEnableVertexArrayAttrib(vaobj, index); } +inline void glVertexArrayElementBuffer(GLuint vaobj, GLuint buffer) { fp_glVertexArrayElementBuffer(vaobj, buffer); } +inline void glVertexArrayVertexBuffer(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { fp_glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); } +inline void glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr* offsets, const GLsizei* strides) { fp_glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); } +inline void glVertexArrayAttribBinding(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { fp_glVertexArrayAttribBinding(vaobj, attribindex, bindingindex); } +inline void glVertexArrayAttribFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { fp_glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); } +inline void glVertexArrayAttribIFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); } +inline void glVertexArrayAttribLFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); } +inline void glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor) { fp_glVertexArrayBindingDivisor(vaobj, bindingindex, divisor); } +inline void glGetVertexArrayiv(GLuint vaobj, GLenum pname, GLint* param) { fp_glGetVertexArrayiv(vaobj, pname, param); } +inline void glGetVertexArrayIndexediv(GLuint vaobj, GLuint index, GLenum pname, GLint* param) { fp_glGetVertexArrayIndexediv(vaobj, index, pname, param); } +inline void glGetVertexArrayIndexed64iv(GLuint vaobj, GLuint index, GLenum pname, GLint64* param) { fp_glGetVertexArrayIndexed64iv(vaobj, index, pname, param); } +inline void glCreateSamplers(GLsizei n, GLuint* samplers) { fp_glCreateSamplers(n, samplers); } +inline void glCreateProgramPipelines(GLsizei n, GLuint* pipelines) { fp_glCreateProgramPipelines(n, pipelines); } +inline void glCreateQueries(GLenum target, GLsizei n, GLuint* ids) { fp_glCreateQueries(target, n, ids); } +inline void glMemoryBarrierByRegion(GLbitfield barriers) { fp_glMemoryBarrierByRegion(barriers); } +inline void glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void* pixels) { fp_glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); } +inline void glGetCompressedTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void* pixels) { fp_glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); } +inline GLenum glGetGraphicsResetStatus() { return fp_glGetGraphicsResetStatus(); } +inline void glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void* pixels) { fp_glGetnCompressedTexImage(target, lod, bufSize, pixels); } +inline void glGetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) { fp_glGetnTexImage(target, level, format, type, bufSize, pixels); } +inline void glGetnUniformdv(GLuint program, GLint location, GLsizei bufSize, GLdouble* params) { fp_glGetnUniformdv(program, location, bufSize, params); } +inline void glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { fp_glGetnUniformfv(program, location, bufSize, params); } +inline void glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint* params) { fp_glGetnUniformiv(program, location, bufSize, params); } +inline void glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint* params) { fp_glGetnUniformuiv(program, location, bufSize, params); } +inline void glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) { fp_glReadnPixels(x, y, width, height, format, type, bufSize, data); } +inline void glGetnMapdv(GLenum target, GLenum query, GLsizei bufSize, GLdouble* v) { fp_glGetnMapdv(target, query, bufSize, v); } +inline void glGetnMapfv(GLenum target, GLenum query, GLsizei bufSize, GLfloat* v) { fp_glGetnMapfv(target, query, bufSize, v); } +inline void glGetnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint* v) { fp_glGetnMapiv(target, query, bufSize, v); } +inline void glGetnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat* values) { fp_glGetnPixelMapfv(map, bufSize, values); } +inline void glGetnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint* values) { fp_glGetnPixelMapuiv(map, bufSize, values); } +inline void glGetnPixelMapusv(GLenum map, GLsizei bufSize, GLushort* values) { fp_glGetnPixelMapusv(map, bufSize, values); } +inline void glGetnPolygonStipple(GLsizei bufSize, GLubyte* pattern) { fp_glGetnPolygonStipple(bufSize, pattern); } +inline void glGetnColorTable(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table) { fp_glGetnColorTable(target, format, type, bufSize, table); } +inline void glGetnConvolutionFilter(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image) { fp_glGetnConvolutionFilter(target, format, type, bufSize, image); } +inline void glGetnSeparableFilter(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void* column, void* span) { fp_glGetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, span); } +inline void glGetnHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) { fp_glGetnHistogram(target, reset, format, type, bufSize, values); } +inline void glGetnMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) { fp_glGetnMinmax(target, reset, format, type, bufSize, values); } +inline void glTextureBarrier() { fp_glTextureBarrier(); } + +/* GL_KHR_blend_equation_advanced */ +inline void glBlendBarrierKHR() { fp_glBlendBarrierKHR(); } + +/* GL_KHR_debug */ +inline void glDebugMessageControlKHR(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) { fp_glDebugMessageControlKHR(source, type, severity, count, ids, enabled); } +inline void glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf) { fp_glDebugMessageInsertKHR(source, type, id, severity, length, buf); } +inline void glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void* userParam) { fp_glDebugMessageCallbackKHR(callback, userParam); } +inline GLuint glGetDebugMessageLogKHR(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) { return fp_glGetDebugMessageLogKHR(count, bufSize, sources, types, ids, severities, lengths, messageLog); } +inline void glPushDebugGroupKHR(GLenum source, GLuint id, GLsizei length, const GLchar* message) { fp_glPushDebugGroupKHR(source, id, length, message); } +inline void glPopDebugGroupKHR() { fp_glPopDebugGroupKHR(); } +inline void glObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, const GLchar* label) { fp_glObjectLabelKHR(identifier, name, length, label); } +inline void glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) { fp_glGetObjectLabelKHR(identifier, name, bufSize, length, label); } +inline void glObjectPtrLabelKHR(const void* ptr, GLsizei length, const GLchar* label) { fp_glObjectPtrLabelKHR(ptr, length, label); } +inline void glGetObjectPtrLabelKHR(const void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) { fp_glGetObjectPtrLabelKHR(ptr, bufSize, length, label); } +inline void glGetPointervKHR(GLenum pname, void** params) { fp_glGetPointervKHR(pname, params); } + +/* GL_KHR_robustness */ +inline GLenum glGetGraphicsResetStatusKHR() { return fp_glGetGraphicsResetStatusKHR(); } +inline void glReadnPixelsKHR(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) { fp_glReadnPixelsKHR(x, y, width, height, format, type, bufSize, data); } +inline void glGetnUniformfvKHR(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { fp_glGetnUniformfvKHR(program, location, bufSize, params); } +inline void glGetnUniformivKHR(GLuint program, GLint location, GLsizei bufSize, GLint* params) { fp_glGetnUniformivKHR(program, location, bufSize, params); } +inline void glGetnUniformuivKHR(GLuint program, GLint location, GLsizei bufSize, GLuint* params) { fp_glGetnUniformuivKHR(program, location, bufSize, params); } + +/* GL_ARB_bindless_texture */ +inline GLuint64 glGetTextureHandleARB(GLuint texture) { return fp_glGetTextureHandleARB(texture); } +inline GLuint64 glGetTextureSamplerHandleARB(GLuint texture, GLuint sampler) { return fp_glGetTextureSamplerHandleARB(texture, sampler); } +inline void glMakeTextureHandleResidentARB(GLuint64 handle) { fp_glMakeTextureHandleResidentARB(handle); } +inline void glMakeTextureHandleNonResidentARB(GLuint64 handle) { fp_glMakeTextureHandleNonResidentARB(handle); } +inline GLuint64 glGetImageHandleARB(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) { return fp_glGetImageHandleARB(texture, level, layered, layer, format); } +inline void glMakeImageHandleResidentARB(GLuint64 handle, GLenum access) { fp_glMakeImageHandleResidentARB(handle, access); } +inline void glMakeImageHandleNonResidentARB(GLuint64 handle) { fp_glMakeImageHandleNonResidentARB(handle); } +inline void glUniformHandleui64ARB(GLint location, GLuint64 value) { fp_glUniformHandleui64ARB(location, value); } +inline void glUniformHandleui64vARB(GLint location, GLsizei count, const GLuint64* value) { fp_glUniformHandleui64vARB(location, count, value); } +inline void glProgramUniformHandleui64ARB(GLuint program, GLint location, GLuint64 value) { fp_glProgramUniformHandleui64ARB(program, location, value); } +inline void glProgramUniformHandleui64vARB(GLuint program, GLint location, GLsizei count, const GLuint64* values) { fp_glProgramUniformHandleui64vARB(program, location, count, values); } +inline GLboolean glIsTextureHandleResidentARB(GLuint64 handle) { return fp_glIsTextureHandleResidentARB(handle); } +inline GLboolean glIsImageHandleResidentARB(GLuint64 handle) { return fp_glIsImageHandleResidentARB(handle); } +inline void glVertexAttribL1ui64ARB(GLuint index, GLuint64EXT x) { fp_glVertexAttribL1ui64ARB(index, x); } +inline void glVertexAttribL1ui64vARB(GLuint index, const GLuint64EXT* v) { fp_glVertexAttribL1ui64vARB(index, v); } +inline void glGetVertexAttribLui64vARB(GLuint index, GLenum pname, GLuint64EXT* params) { fp_glGetVertexAttribLui64vARB(index, pname, params); } + +/* GL_ARB_cl_event */ +inline GLsync glCreateSyncFromCLeventARB(struct _cl_context* context, struct _cl_event* event, GLbitfield flags) { return fp_glCreateSyncFromCLeventARB(context, event, flags); } + +/* GL_ARB_color_buffer_float */ +inline void glClampColorARB(GLenum target, GLenum clamp) { fp_glClampColorARB(target, clamp); } + +/* GL_ARB_compute_variable_group_size */ +inline void glDispatchComputeGroupSizeARB(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z) { fp_glDispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z); } + +/* GL_ARB_debug_output */ +inline void glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) { fp_glDebugMessageControlARB(source, type, severity, count, ids, enabled); } +inline void glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf) { fp_glDebugMessageInsertARB(source, type, id, severity, length, buf); } +inline void glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const void* userParam) { fp_glDebugMessageCallbackARB(callback, userParam); } +inline GLuint glGetDebugMessageLogARB(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) { return fp_glGetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog); } + +/* GL_ARB_draw_buffers_blend */ +inline void glBlendEquationiARB(GLuint buf, GLenum mode) { fp_glBlendEquationiARB(buf, mode); } +inline void glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { fp_glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha); } +inline void glBlendFunciARB(GLuint buf, GLenum src, GLenum dst) { fp_glBlendFunciARB(buf, src, dst); } +inline void glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { fp_glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } + +/* GL_ARB_draw_instanced */ +inline void glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { fp_glDrawArraysInstancedARB(mode, first, count, primcount); } +inline void glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) { fp_glDrawElementsInstancedARB(mode, count, type, indices, primcount); } + +/* GL_ARB_geometry_shader4 */ +inline void glProgramParameteriARB(GLuint program, GLenum pname, GLint value) { fp_glProgramParameteriARB(program, pname, value); } +inline void glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level) { fp_glFramebufferTextureARB(target, attachment, texture, level); } +inline void glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { fp_glFramebufferTextureLayerARB(target, attachment, texture, level, layer); } +inline void glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) { fp_glFramebufferTextureFaceARB(target, attachment, texture, level, face); } + +/* GL_ARB_indirect_parameters */ +inline void glMultiDrawArraysIndirectCountARB(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { fp_glMultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride); } +inline void glMultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) { fp_glMultiDrawElementsIndirectCountARB(mode, type, indirect, drawcount, maxdrawcount, stride); } + +/* GL_ARB_instanced_arrays */ +inline void glVertexAttribDivisorARB(GLuint index, GLuint divisor) { fp_glVertexAttribDivisorARB(index, divisor); } + +/* GL_ARB_robustness */ +inline GLenum glGetGraphicsResetStatusARB() { return fp_glGetGraphicsResetStatusARB(); } +inline void glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img) { fp_glGetnTexImageARB(target, level, format, type, bufSize, img); } +inline void glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) { fp_glReadnPixelsARB(x, y, width, height, format, type, bufSize, data); } +inline void glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, void* img) { fp_glGetnCompressedTexImageARB(target, lod, bufSize, img); } +inline void glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { fp_glGetnUniformfvARB(program, location, bufSize, params); } +inline void glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint* params) { fp_glGetnUniformivARB(program, location, bufSize, params); } +inline void glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint* params) { fp_glGetnUniformuivARB(program, location, bufSize, params); } +inline void glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble* params) { fp_glGetnUniformdvARB(program, location, bufSize, params); } +inline void glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble* v) { fp_glGetnMapdvARB(target, query, bufSize, v); } +inline void glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat* v) { fp_glGetnMapfvARB(target, query, bufSize, v); } +inline void glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint* v) { fp_glGetnMapivARB(target, query, bufSize, v); } +inline void glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat* values) { fp_glGetnPixelMapfvARB(map, bufSize, values); } +inline void glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint* values) { fp_glGetnPixelMapuivARB(map, bufSize, values); } +inline void glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort* values) { fp_glGetnPixelMapusvARB(map, bufSize, values); } +inline void glGetnPolygonStippleARB(GLsizei bufSize, GLubyte* pattern) { fp_glGetnPolygonStippleARB(bufSize, pattern); } +inline void glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table) { fp_glGetnColorTableARB(target, format, type, bufSize, table); } +inline void glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image) { fp_glGetnConvolutionFilterARB(target, format, type, bufSize, image); } +inline void glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void* column, void* span) { fp_glGetnSeparableFilterARB(target, format, type, rowBufSize, row, columnBufSize, column, span); } +inline void glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) { fp_glGetnHistogramARB(target, reset, format, type, bufSize, values); } +inline void glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) { fp_glGetnMinmaxARB(target, reset, format, type, bufSize, values); } + +/* GL_ARB_sample_shading */ +inline void glMinSampleShadingARB(GLfloat value) { fp_glMinSampleShadingARB(value); } + +/* GL_ARB_shading_language_include */ +inline void glNamedStringARB(GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar* string) { fp_glNamedStringARB(type, namelen, name, stringlen, string); } +inline void glDeleteNamedStringARB(GLint namelen, const GLchar* name) { fp_glDeleteNamedStringARB(namelen, name); } +inline void glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar** path, const GLint* length) { fp_glCompileShaderIncludeARB(shader, count, path, length); } +inline GLboolean glIsNamedStringARB(GLint namelen, const GLchar* name) { return fp_glIsNamedStringARB(namelen, name); } +inline void glGetNamedStringARB(GLint namelen, const GLchar* name, GLsizei bufSize, GLint* stringlen, GLchar* string) { fp_glGetNamedStringARB(namelen, name, bufSize, stringlen, string); } +inline void glGetNamedStringivARB(GLint namelen, const GLchar* name, GLenum pname, GLint* params) { fp_glGetNamedStringivARB(namelen, name, pname, params); } + +/* GL_ARB_sparse_buffer */ +inline void glBufferPageCommitmentARB(GLenum target, GLintptr offset, GLsizei size, GLboolean commit) { fp_glBufferPageCommitmentARB(target, offset, size, commit); } +inline void glNamedBufferPageCommitmentEXT(GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit) { fp_glNamedBufferPageCommitmentEXT(buffer, offset, size, commit); } +inline void glNamedBufferPageCommitmentARB(GLuint buffer, GLintptr offset, GLsizei size, GLboolean commit) { fp_glNamedBufferPageCommitmentARB(buffer, offset, size, commit); } + +/* GL_ARB_sparse_texture */ +inline void glTexPageCommitmentARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident) { fp_glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, resident); } + +/* GL_ARB_texture_buffer_object */ +inline void glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer) { fp_glTexBufferARB(target, internalformat, buffer); } + +/* GL_EXT_bindable_uniform */ +inline void glUniformBufferEXT(GLuint program, GLint location, GLuint buffer) { fp_glUniformBufferEXT(program, location, buffer); } +inline GLint glGetUniformBufferSizeEXT(GLuint program, GLint location) { return fp_glGetUniformBufferSizeEXT(program, location); } +inline GLintptr glGetUniformOffsetEXT(GLuint program, GLint location) { return fp_glGetUniformOffsetEXT(program, location); } + +/* GL_EXT_copy_image */ +inline void glCopyImageSubDataEXT(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { fp_glCopyImageSubDataEXT(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } + +/* GL_EXT_debug_label */ +inline void glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar* label) { fp_glLabelObjectEXT(type, object, length, label); } +inline void glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar* label) { fp_glGetObjectLabelEXT(type, object, bufSize, length, label); } + +/* GL_EXT_debug_marker */ +inline void glInsertEventMarkerEXT(GLsizei length, const GLchar* marker) { fp_glInsertEventMarkerEXT(length, marker); } +inline void glPushGroupMarkerEXT(GLsizei length, const GLchar* marker) { fp_glPushGroupMarkerEXT(length, marker); } +inline void glPopGroupMarkerEXT() { fp_glPopGroupMarkerEXT(); } + +/* GL_EXT_direct_state_access */ +inline void glMatrixLoadfEXT(GLenum mode, const GLfloat* m) { fp_glMatrixLoadfEXT(mode, m); } +inline void glMatrixLoaddEXT(GLenum mode, const GLdouble* m) { fp_glMatrixLoaddEXT(mode, m); } +inline void glMatrixMultfEXT(GLenum mode, const GLfloat* m) { fp_glMatrixMultfEXT(mode, m); } +inline void glMatrixMultdEXT(GLenum mode, const GLdouble* m) { fp_glMatrixMultdEXT(mode, m); } +inline void glMatrixLoadIdentityEXT(GLenum mode) { fp_glMatrixLoadIdentityEXT(mode); } +inline void glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { fp_glMatrixRotatefEXT(mode, angle, x, y, z); } +inline void glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { fp_glMatrixRotatedEXT(mode, angle, x, y, z); } +inline void glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) { fp_glMatrixScalefEXT(mode, x, y, z); } +inline void glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) { fp_glMatrixScaledEXT(mode, x, y, z); } +inline void glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) { fp_glMatrixTranslatefEXT(mode, x, y, z); } +inline void glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) { fp_glMatrixTranslatedEXT(mode, x, y, z); } +inline void glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { fp_glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar); } +inline void glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { fp_glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar); } +inline void glMatrixPopEXT(GLenum mode) { fp_glMatrixPopEXT(mode); } +inline void glMatrixPushEXT(GLenum mode) { fp_glMatrixPushEXT(mode); } +inline void glClientAttribDefaultEXT(GLbitfield mask) { fp_glClientAttribDefaultEXT(mask); } +inline void glPushClientAttribDefaultEXT(GLbitfield mask) { fp_glPushClientAttribDefaultEXT(mask); } +inline void glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) { fp_glTextureParameterfEXT(texture, target, pname, param); } +inline void glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat* params) { fp_glTextureParameterfvEXT(texture, target, pname, params); } +inline void glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) { fp_glTextureParameteriEXT(texture, target, pname, param); } +inline void glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint* params) { fp_glTextureParameterivEXT(texture, target, pname, params); } +inline void glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels); } +inline void glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels); } +inline void glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels); } +inline void glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels); } +inline void glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { fp_glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border); } +inline void glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { fp_glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border); } +inline void glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { fp_glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width); } +inline void glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height); } +inline void glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) { fp_glGetTextureImageEXT(texture, target, level, format, type, pixels); } +inline void glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat* params) { fp_glGetTextureParameterfvEXT(texture, target, pname, params); } +inline void glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) { fp_glGetTextureParameterivEXT(texture, target, pname, params); } +inline void glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params) { fp_glGetTextureLevelParameterfvEXT(texture, target, level, pname, params); } +inline void glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params) { fp_glGetTextureLevelParameterivEXT(texture, target, level, pname, params); } +inline void glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels); } +inline void glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) { fp_glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } +inline void glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); } +inline void glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) { fp_glBindMultiTextureEXT(texunit, target, texture); } +inline void glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer); } +inline void glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) { fp_glMultiTexEnvfEXT(texunit, target, pname, param); } +inline void glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat* params) { fp_glMultiTexEnvfvEXT(texunit, target, pname, params); } +inline void glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) { fp_glMultiTexEnviEXT(texunit, target, pname, param); } +inline void glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint* params) { fp_glMultiTexEnvivEXT(texunit, target, pname, params); } +inline void glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) { fp_glMultiTexGendEXT(texunit, coord, pname, param); } +inline void glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params) { fp_glMultiTexGendvEXT(texunit, coord, pname, params); } +inline void glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) { fp_glMultiTexGenfEXT(texunit, coord, pname, param); } +inline void glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params) { fp_glMultiTexGenfvEXT(texunit, coord, pname, params); } +inline void glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) { fp_glMultiTexGeniEXT(texunit, coord, pname, param); } +inline void glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint* params) { fp_glMultiTexGenivEXT(texunit, coord, pname, params); } +inline void glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) { fp_glGetMultiTexEnvfvEXT(texunit, target, pname, params); } +inline void glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) { fp_glGetMultiTexEnvivEXT(texunit, target, pname, params); } +inline void glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params) { fp_glGetMultiTexGendvEXT(texunit, coord, pname, params); } +inline void glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params) { fp_glGetMultiTexGenfvEXT(texunit, coord, pname, params); } +inline void glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint* params) { fp_glGetMultiTexGenivEXT(texunit, coord, pname, params); } +inline void glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) { fp_glMultiTexParameteriEXT(texunit, target, pname, param); } +inline void glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint* params) { fp_glMultiTexParameterivEXT(texunit, target, pname, params); } +inline void glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) { fp_glMultiTexParameterfEXT(texunit, target, pname, param); } +inline void glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat* params) { fp_glMultiTexParameterfvEXT(texunit, target, pname, params); } +inline void glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels); } +inline void glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels); } +inline void glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels); } +inline void glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); } +inline void glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { fp_glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border); } +inline void glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { fp_glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border); } +inline void glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { fp_glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width); } +inline void glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height); } +inline void glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) { fp_glGetMultiTexImageEXT(texunit, target, level, format, type, pixels); } +inline void glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) { fp_glGetMultiTexParameterfvEXT(texunit, target, pname, params); } +inline void glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) { fp_glGetMultiTexParameterivEXT(texunit, target, pname, params); } +inline void glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params) { fp_glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params); } +inline void glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params) { fp_glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params); } +inline void glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); } +inline void glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) { fp_glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } +inline void glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); } +inline void glEnableClientStateIndexedEXT(GLenum array, GLuint index) { fp_glEnableClientStateIndexedEXT(array, index); } +inline void glDisableClientStateIndexedEXT(GLenum array, GLuint index) { fp_glDisableClientStateIndexedEXT(array, index); } +inline void glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat* data) { fp_glGetFloatIndexedvEXT(target, index, data); } +inline void glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble* data) { fp_glGetDoubleIndexedvEXT(target, index, data); } +inline void glGetPointerIndexedvEXT(GLenum target, GLuint index, void** data) { fp_glGetPointerIndexedvEXT(target, index, data); } +inline void glEnableIndexedEXT(GLenum target, GLuint index) { fp_glEnableIndexedEXT(target, index); } +inline void glDisableIndexedEXT(GLenum target, GLuint index) { fp_glDisableIndexedEXT(target, index); } +inline GLboolean glIsEnabledIndexedEXT(GLenum target, GLuint index) { return fp_glIsEnabledIndexedEXT(target, index); } +inline void glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint* data) { fp_glGetIntegerIndexedvEXT(target, index, data); } +inline void glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean* data) { fp_glGetBooleanIndexedvEXT(target, index, data); } +inline void glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits); } +inline void glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits); } +inline void glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits); } +inline void glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); } +inline void glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); } +inline void glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits); } +inline void glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, void* img) { fp_glGetCompressedTextureImageEXT(texture, target, lod, img); } +inline void glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); } +inline void glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits); } +inline void glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits); } +inline void glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); } +inline void glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); } +inline void glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* bits) { fp_glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits); } +inline void glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, void* img) { fp_glGetCompressedMultiTexImageEXT(texunit, target, lod, img); } +inline void glMatrixLoadTransposefEXT(GLenum mode, const GLfloat* m) { fp_glMatrixLoadTransposefEXT(mode, m); } +inline void glMatrixLoadTransposedEXT(GLenum mode, const GLdouble* m) { fp_glMatrixLoadTransposedEXT(mode, m); } +inline void glMatrixMultTransposefEXT(GLenum mode, const GLfloat* m) { fp_glMatrixMultTransposefEXT(mode, m); } +inline void glMatrixMultTransposedEXT(GLenum mode, const GLdouble* m) { fp_glMatrixMultTransposedEXT(mode, m); } +inline void glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const void* data, GLenum usage) { fp_glNamedBufferDataEXT(buffer, size, data, usage); } +inline void glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data) { fp_glNamedBufferSubDataEXT(buffer, offset, size, data); } +inline void* glMapNamedBufferEXT(GLuint buffer, GLenum access) { return fp_glMapNamedBufferEXT(buffer, access); } +inline GLboolean glUnmapNamedBufferEXT(GLuint buffer) { return fp_glUnmapNamedBufferEXT(buffer); } +inline void glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint* params) { fp_glGetNamedBufferParameterivEXT(buffer, pname, params); } +inline void glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, void** params) { fp_glGetNamedBufferPointervEXT(buffer, pname, params); } +inline void glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, void* data) { fp_glGetNamedBufferSubDataEXT(buffer, offset, size, data); } +inline void glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) { fp_glProgramUniform1fEXT(program, location, v0); } +inline void glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) { fp_glProgramUniform2fEXT(program, location, v0, v1); } +inline void glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { fp_glProgramUniform3fEXT(program, location, v0, v1, v2); } +inline void glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { fp_glProgramUniform4fEXT(program, location, v0, v1, v2, v3); } +inline void glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) { fp_glProgramUniform1iEXT(program, location, v0); } +inline void glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) { fp_glProgramUniform2iEXT(program, location, v0, v1); } +inline void glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { fp_glProgramUniform3iEXT(program, location, v0, v1, v2); } +inline void glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { fp_glProgramUniform4iEXT(program, location, v0, v1, v2, v3); } +inline void glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform1fvEXT(program, location, count, value); } +inline void glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform2fvEXT(program, location, count, value); } +inline void glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform3fvEXT(program, location, count, value); } +inline void glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat* value) { fp_glProgramUniform4fvEXT(program, location, count, value); } +inline void glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform1ivEXT(program, location, count, value); } +inline void glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform2ivEXT(program, location, count, value); } +inline void glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform3ivEXT(program, location, count, value); } +inline void glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint* value) { fp_glProgramUniform4ivEXT(program, location, count, value); } +inline void glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value); } +inline void glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) { fp_glTextureBufferEXT(texture, target, internalformat, buffer); } +inline void glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) { fp_glMultiTexBufferEXT(texunit, target, internalformat, buffer); } +inline void glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint* params) { fp_glTextureParameterIivEXT(texture, target, pname, params); } +inline void glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint* params) { fp_glTextureParameterIuivEXT(texture, target, pname, params); } +inline void glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) { fp_glGetTextureParameterIivEXT(texture, target, pname, params); } +inline void glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint* params) { fp_glGetTextureParameterIuivEXT(texture, target, pname, params); } +inline void glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint* params) { fp_glMultiTexParameterIivEXT(texunit, target, pname, params); } +inline void glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint* params) { fp_glMultiTexParameterIuivEXT(texunit, target, pname, params); } +inline void glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) { fp_glGetMultiTexParameterIivEXT(texunit, target, pname, params); } +inline void glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint* params) { fp_glGetMultiTexParameterIuivEXT(texunit, target, pname, params); } +inline void glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) { fp_glProgramUniform1uiEXT(program, location, v0); } +inline void glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) { fp_glProgramUniform2uiEXT(program, location, v0, v1); } +inline void glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { fp_glProgramUniform3uiEXT(program, location, v0, v1, v2); } +inline void glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { fp_glProgramUniform4uiEXT(program, location, v0, v1, v2, v3); } +inline void glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform1uivEXT(program, location, count, value); } +inline void glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform2uivEXT(program, location, count, value); } +inline void glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform3uivEXT(program, location, count, value); } +inline void glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint* value) { fp_glProgramUniform4uivEXT(program, location, count, value); } +inline void glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params) { fp_glNamedProgramLocalParameters4fvEXT(program, target, index, count, params); } +inline void glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) { fp_glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w); } +inline void glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint* params) { fp_glNamedProgramLocalParameterI4ivEXT(program, target, index, params); } +inline void glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params) { fp_glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params); } +inline void glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { fp_glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w); } +inline void glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint* params) { fp_glNamedProgramLocalParameterI4uivEXT(program, target, index, params); } +inline void glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params) { fp_glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params); } +inline void glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint* params) { fp_glGetNamedProgramLocalParameterIivEXT(program, target, index, params); } +inline void glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint* params) { fp_glGetNamedProgramLocalParameterIuivEXT(program, target, index, params); } +inline void glEnableClientStateiEXT(GLenum array, GLuint index) { fp_glEnableClientStateiEXT(array, index); } +inline void glDisableClientStateiEXT(GLenum array, GLuint index) { fp_glDisableClientStateiEXT(array, index); } +inline void glGetFloati_vEXT(GLenum pname, GLuint index, GLfloat* params) { fp_glGetFloati_vEXT(pname, index, params); } +inline void glGetDoublei_vEXT(GLenum pname, GLuint index, GLdouble* params) { fp_glGetDoublei_vEXT(pname, index, params); } +inline void glGetPointeri_vEXT(GLenum pname, GLuint index, void** params) { fp_glGetPointeri_vEXT(pname, index, params); } +inline void glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const void* string) { fp_glNamedProgramStringEXT(program, target, format, len, string); } +inline void glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w); } +inline void glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble* params) { fp_glNamedProgramLocalParameter4dvEXT(program, target, index, params); } +inline void glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { fp_glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w); } +inline void glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat* params) { fp_glNamedProgramLocalParameter4fvEXT(program, target, index, params); } +inline void glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble* params) { fp_glGetNamedProgramLocalParameterdvEXT(program, target, index, params); } +inline void glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat* params) { fp_glGetNamedProgramLocalParameterfvEXT(program, target, index, params); } +inline void glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint* params) { fp_glGetNamedProgramivEXT(program, target, pname, params); } +inline void glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, void* string) { fp_glGetNamedProgramStringEXT(program, target, pname, string); } +inline void glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { fp_glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height); } +inline void glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint* params) { fp_glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params); } +inline void glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height); } +inline void glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height); } +inline GLenum glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target) { return fp_glCheckNamedFramebufferStatusEXT(framebuffer, target); } +inline void glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level); } +inline void glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level); } +inline void glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { fp_glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset); } +inline void glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { fp_glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer); } +inline void glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) { fp_glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params); } +inline void glGenerateTextureMipmapEXT(GLuint texture, GLenum target) { fp_glGenerateTextureMipmapEXT(texture, target); } +inline void glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target) { fp_glGenerateMultiTexMipmapEXT(texunit, target); } +inline void glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode) { fp_glFramebufferDrawBufferEXT(framebuffer, mode); } +inline void glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum* bufs) { fp_glFramebufferDrawBuffersEXT(framebuffer, n, bufs); } +inline void glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode) { fp_glFramebufferReadBufferEXT(framebuffer, mode); } +inline void glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint* params) { fp_glGetFramebufferParameterivEXT(framebuffer, pname, params); } +inline void glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { fp_glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size); } +inline void glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { fp_glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level); } +inline void glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { fp_glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer); } +inline void glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) { fp_glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face); } +inline void glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer) { fp_glTextureRenderbufferEXT(texture, target, renderbuffer); } +inline void glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer) { fp_glMultiTexRenderbufferEXT(texunit, target, renderbuffer); } +inline void glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset); } +inline void glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset); } +inline void glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) { fp_glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset); } +inline void glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset); } +inline void glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset); } +inline void glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset); } +inline void glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset); } +inline void glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset); } +inline void glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset); } +inline void glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset) { fp_glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset); } +inline void glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset); } +inline void glEnableVertexArrayEXT(GLuint vaobj, GLenum array) { fp_glEnableVertexArrayEXT(vaobj, array); } +inline void glDisableVertexArrayEXT(GLuint vaobj, GLenum array) { fp_glDisableVertexArrayEXT(vaobj, array); } +inline void glEnableVertexArrayAttribEXT(GLuint vaobj, GLuint index) { fp_glEnableVertexArrayAttribEXT(vaobj, index); } +inline void glDisableVertexArrayAttribEXT(GLuint vaobj, GLuint index) { fp_glDisableVertexArrayAttribEXT(vaobj, index); } +inline void glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint* param) { fp_glGetVertexArrayIntegervEXT(vaobj, pname, param); } +inline void glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, void** param) { fp_glGetVertexArrayPointervEXT(vaobj, pname, param); } +inline void glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint* param) { fp_glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param); } +inline void glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, void** param) { fp_glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param); } +inline void* glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) { return fp_glMapNamedBufferRangeEXT(buffer, offset, length, access); } +inline void glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length) { fp_glFlushMappedNamedBufferRangeEXT(buffer, offset, length); } +inline void glNamedBufferStorageEXT(GLuint buffer, GLsizeiptr size, const void* data, GLbitfield flags) { fp_glNamedBufferStorageEXT(buffer, size, data, flags); } +inline void glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data) { fp_glClearNamedBufferDataEXT(buffer, internalformat, format, type, data); } +inline void glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data) { fp_glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data); } +inline void glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param) { fp_glNamedFramebufferParameteriEXT(framebuffer, pname, param); } +inline void glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint* params) { fp_glGetNamedFramebufferParameterivEXT(framebuffer, pname, params); } +inline void glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x) { fp_glProgramUniform1dEXT(program, location, x); } +inline void glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y) { fp_glProgramUniform2dEXT(program, location, x, y); } +inline void glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) { fp_glProgramUniform3dEXT(program, location, x, y, z); } +inline void glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glProgramUniform4dEXT(program, location, x, y, z, w); } +inline void glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform1dvEXT(program, location, count, value); } +inline void glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform2dvEXT(program, location, count, value); } +inline void glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform3dvEXT(program, location, count, value); } +inline void glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble* value) { fp_glProgramUniform4dvEXT(program, location, count, value); } +inline void glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value); } +inline void glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) { fp_glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value); } +inline void glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size); } +inline void glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { fp_glTextureStorage1DEXT(texture, target, levels, internalformat, width); } +inline void glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { fp_glTextureStorage2DEXT(texture, target, levels, internalformat, width, height); } +inline void glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { fp_glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth); } +inline void glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { fp_glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations); } +inline void glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { fp_glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); } +inline void glVertexArrayBindVertexBufferEXT(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { fp_glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride); } +inline void glVertexArrayVertexAttribFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { fp_glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset); } +inline void glVertexArrayVertexAttribIFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset); } +inline void glVertexArrayVertexAttribLFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { fp_glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset); } +inline void glVertexArrayVertexAttribBindingEXT(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { fp_glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex); } +inline void glVertexArrayVertexBindingDivisorEXT(GLuint vaobj, GLuint bindingindex, GLuint divisor) { fp_glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor); } +inline void glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) { fp_glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset); } +inline void glTexturePageCommitmentEXT(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident) { fp_glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, resident); } +inline void glVertexArrayVertexAttribDivisorEXT(GLuint vaobj, GLuint index, GLuint divisor) { fp_glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor); } + +/* GL_EXT_discard_framebuffer */ +inline void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments) { fp_glDiscardFramebufferEXT(target, numAttachments, attachments); } + +/* GL_EXT_disjoint_timer_query */ +inline void glGenQueriesEXT(GLsizei n, GLuint* ids) { fp_glGenQueriesEXT(n, ids); } +inline void glDeleteQueriesEXT(GLsizei n, const GLuint* ids) { fp_glDeleteQueriesEXT(n, ids); } +inline GLboolean glIsQueryEXT(GLuint id) { return fp_glIsQueryEXT(id); } +inline void glBeginQueryEXT(GLenum target, GLuint id) { fp_glBeginQueryEXT(target, id); } +inline void glEndQueryEXT(GLenum target) { fp_glEndQueryEXT(target); } +inline void glQueryCounterEXT(GLuint id, GLenum target) { fp_glQueryCounterEXT(id, target); } +inline void glGetQueryivEXT(GLenum target, GLenum pname, GLint* params) { fp_glGetQueryivEXT(target, pname, params); } +inline void glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint* params) { fp_glGetQueryObjectivEXT(id, pname, params); } +inline void glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params) { fp_glGetQueryObjectuivEXT(id, pname, params); } +inline void glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64* params) { fp_glGetQueryObjecti64vEXT(id, pname, params); } +inline void glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64* params) { fp_glGetQueryObjectui64vEXT(id, pname, params); } + +/* GL_EXT_draw_buffers */ +inline void glDrawBuffersEXT(GLsizei n, const GLenum* bufs) { fp_glDrawBuffersEXT(n, bufs); } + +/* GL_EXT_draw_buffers2 */ +inline void glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { fp_glColorMaskIndexedEXT(index, r, g, b, a); } + +/* GL_EXT_draw_buffers_indexed */ +inline void glEnableiEXT(GLenum target, GLuint index) { fp_glEnableiEXT(target, index); } +inline void glDisableiEXT(GLenum target, GLuint index) { fp_glDisableiEXT(target, index); } +inline void glBlendEquationiEXT(GLuint buf, GLenum mode) { fp_glBlendEquationiEXT(buf, mode); } +inline void glBlendEquationSeparateiEXT(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { fp_glBlendEquationSeparateiEXT(buf, modeRGB, modeAlpha); } +inline void glBlendFunciEXT(GLuint buf, GLenum src, GLenum dst) { fp_glBlendFunciEXT(buf, src, dst); } +inline void glBlendFuncSeparateiEXT(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { fp_glBlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } +inline void glColorMaskiEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { fp_glColorMaskiEXT(index, r, g, b, a); } +inline GLboolean glIsEnablediEXT(GLenum target, GLuint index) { return fp_glIsEnablediEXT(target, index); } + +/* GL_EXT_draw_instanced */ +inline void glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) { fp_glDrawArraysInstancedEXT(mode, start, count, primcount); } +inline void glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) { fp_glDrawElementsInstancedEXT(mode, count, type, indices, primcount); } + +/* GL_EXT_framebuffer_blit */ +inline void glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { fp_glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } + +/* GL_EXT_framebuffer_multisample */ +inline void glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); } + +/* GL_EXT_framebuffer_object */ +inline GLboolean glIsRenderbufferEXT(GLuint renderbuffer) { return fp_glIsRenderbufferEXT(renderbuffer); } +inline void glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) { fp_glBindRenderbufferEXT(target, renderbuffer); } +inline void glDeleteRenderbuffersEXT(GLsizei n, const GLuint* renderbuffers) { fp_glDeleteRenderbuffersEXT(n, renderbuffers); } +inline void glGenRenderbuffersEXT(GLsizei n, GLuint* renderbuffers) { fp_glGenRenderbuffersEXT(n, renderbuffers); } +inline void glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageEXT(target, internalformat, width, height); } +inline void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint* params) { fp_glGetRenderbufferParameterivEXT(target, pname, params); } +inline GLboolean glIsFramebufferEXT(GLuint framebuffer) { return fp_glIsFramebufferEXT(framebuffer); } +inline void glBindFramebufferEXT(GLenum target, GLuint framebuffer) { fp_glBindFramebufferEXT(target, framebuffer); } +inline void glDeleteFramebuffersEXT(GLsizei n, const GLuint* framebuffers) { fp_glDeleteFramebuffersEXT(n, framebuffers); } +inline void glGenFramebuffersEXT(GLsizei n, GLuint* framebuffers) { fp_glGenFramebuffersEXT(n, framebuffers); } +inline GLenum glCheckFramebufferStatusEXT(GLenum target) { return fp_glCheckFramebufferStatusEXT(target); } +inline void glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glFramebufferTexture1DEXT(target, attachment, textarget, texture, level); } +inline void glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { fp_glFramebufferTexture2DEXT(target, attachment, textarget, texture, level); } +inline void glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { fp_glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset); } +inline void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { fp_glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); } +inline void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint* params) { fp_glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params); } +inline void glGenerateMipmapEXT(GLenum target) { fp_glGenerateMipmapEXT(target); } + +/* GL_EXT_geometry_shader */ +inline void glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level) { fp_glFramebufferTextureEXT(target, attachment, texture, level); } + +/* GL_EXT_geometry_shader4 */ +inline void glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) { fp_glProgramParameteriEXT(program, pname, value); } + +/* GL_EXT_gpu_program_parameters */ +inline void glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat* params) { fp_glProgramEnvParameters4fvEXT(target, index, count, params); } +inline void glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat* params) { fp_glProgramLocalParameters4fvEXT(target, index, count, params); } + +/* GL_EXT_gpu_shader4 */ +inline void glGetUniformuivEXT(GLuint program, GLint location, GLuint* params) { fp_glGetUniformuivEXT(program, location, params); } +inline void glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar* name) { fp_glBindFragDataLocationEXT(program, color, name); } +inline GLint glGetFragDataLocationEXT(GLuint program, const GLchar* name) { return fp_glGetFragDataLocationEXT(program, name); } +inline void glUniform1uiEXT(GLint location, GLuint v0) { fp_glUniform1uiEXT(location, v0); } +inline void glUniform2uiEXT(GLint location, GLuint v0, GLuint v1) { fp_glUniform2uiEXT(location, v0, v1); } +inline void glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2) { fp_glUniform3uiEXT(location, v0, v1, v2); } +inline void glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { fp_glUniform4uiEXT(location, v0, v1, v2, v3); } +inline void glUniform1uivEXT(GLint location, GLsizei count, const GLuint* value) { fp_glUniform1uivEXT(location, count, value); } +inline void glUniform2uivEXT(GLint location, GLsizei count, const GLuint* value) { fp_glUniform2uivEXT(location, count, value); } +inline void glUniform3uivEXT(GLint location, GLsizei count, const GLuint* value) { fp_glUniform3uivEXT(location, count, value); } +inline void glUniform4uivEXT(GLint location, GLsizei count, const GLuint* value) { fp_glUniform4uivEXT(location, count, value); } + +/* GL_EXT_instanced_arrays */ +inline void glVertexAttribDivisorEXT(GLuint index, GLuint divisor) { fp_glVertexAttribDivisorEXT(index, divisor); } + +/* GL_EXT_map_buffer_range */ +inline void* glMapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { return fp_glMapBufferRangeEXT(target, offset, length, access); } +inline void glFlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length) { fp_glFlushMappedBufferRangeEXT(target, offset, length); } + +/* GL_EXT_multisampled_render_to_texture */ +inline void glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) { fp_glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples); } + +/* GL_EXT_multiview_draw_buffers */ +inline void glReadBufferIndexedEXT(GLenum src, GLint index) { fp_glReadBufferIndexedEXT(src, index); } +inline void glDrawBuffersIndexedEXT(GLint n, const GLenum* location, const GLint* indices) { fp_glDrawBuffersIndexedEXT(n, location, indices); } +inline void glGetIntegeri_vEXT(GLenum target, GLuint index, GLint* data) { fp_glGetIntegeri_vEXT(target, index, data); } + +/* GL_EXT_primitive_bounding_box */ +inline void glPrimitiveBoundingBoxEXT(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) { fp_glPrimitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); } + +/* GL_EXT_provoking_vertex */ +inline void glProvokingVertexEXT(GLenum mode) { fp_glProvokingVertexEXT(mode); } + +/* GL_EXT_robustness */ +inline GLenum glGetGraphicsResetStatusEXT() { return fp_glGetGraphicsResetStatusEXT(); } +inline void glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) { fp_glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data); } +inline void glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { fp_glGetnUniformfvEXT(program, location, bufSize, params); } +inline void glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params) { fp_glGetnUniformivEXT(program, location, bufSize, params); } + +/* GL_EXT_separate_shader_objects */ +inline void glUseShaderProgramEXT(GLenum type, GLuint program) { fp_glUseShaderProgramEXT(type, program); } +inline void glActiveProgramEXT(GLuint program) { fp_glActiveProgramEXT(program); } +inline GLuint glCreateShaderProgramEXT(GLenum type, const GLchar* string) { return fp_glCreateShaderProgramEXT(type, string); } +inline void glActiveShaderProgramEXT(GLuint pipeline, GLuint program) { fp_glActiveShaderProgramEXT(pipeline, program); } +inline void glBindProgramPipelineEXT(GLuint pipeline) { fp_glBindProgramPipelineEXT(pipeline); } +inline GLuint glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar** strings) { return fp_glCreateShaderProgramvEXT(type, count, strings); } +inline void glDeleteProgramPipelinesEXT(GLsizei n, const GLuint* pipelines) { fp_glDeleteProgramPipelinesEXT(n, pipelines); } +inline void glGenProgramPipelinesEXT(GLsizei n, GLuint* pipelines) { fp_glGenProgramPipelinesEXT(n, pipelines); } +inline void glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) { fp_glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog); } +inline void glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint* params) { fp_glGetProgramPipelineivEXT(pipeline, pname, params); } +inline GLboolean glIsProgramPipelineEXT(GLuint pipeline) { return fp_glIsProgramPipelineEXT(pipeline); } +inline void glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program) { fp_glUseProgramStagesEXT(pipeline, stages, program); } +inline void glValidateProgramPipelineEXT(GLuint pipeline) { fp_glValidateProgramPipelineEXT(pipeline); } + +/* GL_EXT_shader_image_load_store */ +inline void glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format) { fp_glBindImageTextureEXT(index, texture, level, layered, layer, access, format); } +inline void glMemoryBarrierEXT(GLbitfield barriers) { fp_glMemoryBarrierEXT(barriers); } + +/* GL_EXT_stencil_clear_tag */ +inline void glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag) { fp_glStencilClearTagEXT(stencilTagBits, stencilClearTag); } + +/* GL_EXT_tessellation_shader */ +inline void glPatchParameteriEXT(GLenum pname, GLint value) { fp_glPatchParameteriEXT(pname, value); } + +/* GL_EXT_texture_array */ +inline void glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { fp_glFramebufferTextureLayerEXT(target, attachment, texture, level, layer); } + +/* GL_EXT_texture_border_clamp */ +inline void glTexParameterIivEXT(GLenum target, GLenum pname, const GLint* params) { fp_glTexParameterIivEXT(target, pname, params); } +inline void glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint* params) { fp_glTexParameterIuivEXT(target, pname, params); } +inline void glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint* params) { fp_glGetTexParameterIivEXT(target, pname, params); } +inline void glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint* params) { fp_glGetTexParameterIuivEXT(target, pname, params); } +inline void glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint* param) { fp_glSamplerParameterIivEXT(sampler, pname, param); } +inline void glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint* param) { fp_glSamplerParameterIuivEXT(sampler, pname, param); } +inline void glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname, GLint* params) { fp_glGetSamplerParameterIivEXT(sampler, pname, params); } +inline void glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname, GLuint* params) { fp_glGetSamplerParameterIuivEXT(sampler, pname, params); } + +/* GL_EXT_texture_buffer */ +inline void glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) { fp_glTexBufferEXT(target, internalformat, buffer); } +inline void glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glTexBufferRangeEXT(target, internalformat, buffer, offset, size); } + +/* GL_EXT_texture_integer */ +inline void glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha) { fp_glClearColorIiEXT(red, green, blue, alpha); } +inline void glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha) { fp_glClearColorIuiEXT(red, green, blue, alpha); } + +/* GL_EXT_texture_storage */ +inline void glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { fp_glTexStorage1DEXT(target, levels, internalformat, width); } +inline void glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { fp_glTexStorage2DEXT(target, levels, internalformat, width, height); } +inline void glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { fp_glTexStorage3DEXT(target, levels, internalformat, width, height, depth); } + +/* GL_EXT_texture_view */ +inline void glTextureViewEXT(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { fp_glTextureViewEXT(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } + +/* GL_EXT_transform_feedback */ +inline void glBeginTransformFeedbackEXT(GLenum primitiveMode) { fp_glBeginTransformFeedbackEXT(primitiveMode); } +inline void glEndTransformFeedbackEXT() { fp_glEndTransformFeedbackEXT(); } +inline void glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glBindBufferRangeEXT(target, index, buffer, offset, size); } +inline void glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset) { fp_glBindBufferOffsetEXT(target, index, buffer, offset); } +inline void glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer) { fp_glBindBufferBaseEXT(target, index, buffer); } +inline void glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar** varyings, GLenum bufferMode) { fp_glTransformFeedbackVaryingsEXT(program, count, varyings, bufferMode); } +inline void glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) { fp_glGetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name); } + +/* GL_EXT_vertex_attrib_64bit */ +inline void glVertexAttribL1dEXT(GLuint index, GLdouble x) { fp_glVertexAttribL1dEXT(index, x); } +inline void glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y) { fp_glVertexAttribL2dEXT(index, x, y); } +inline void glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z) { fp_glVertexAttribL3dEXT(index, x, y, z); } +inline void glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { fp_glVertexAttribL4dEXT(index, x, y, z, w); } +inline void glVertexAttribL1dvEXT(GLuint index, const GLdouble* v) { fp_glVertexAttribL1dvEXT(index, v); } +inline void glVertexAttribL2dvEXT(GLuint index, const GLdouble* v) { fp_glVertexAttribL2dvEXT(index, v); } +inline void glVertexAttribL3dvEXT(GLuint index, const GLdouble* v) { fp_glVertexAttribL3dvEXT(index, v); } +inline void glVertexAttribL4dvEXT(GLuint index, const GLdouble* v) { fp_glVertexAttribL4dvEXT(index, v); } +inline void glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glVertexAttribLPointerEXT(index, size, type, stride, pointer); } +inline void glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble* params) { fp_glGetVertexAttribLdvEXT(index, pname, params); } + +/* GL_EXT_x11_sync_object */ +inline GLsync glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags) { return fp_glImportSyncEXT(external_sync_type, external_sync, flags); } + +/* GL_OES_EGL_image */ +inline void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) { fp_glEGLImageTargetTexture2DOES(target, image); } +inline void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) { fp_glEGLImageTargetRenderbufferStorageOES(target, image); } + +/* GL_OES_get_program_binary */ +inline void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary) { fp_glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary); } +inline void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const void* binary, GLint length) { fp_glProgramBinaryOES(program, binaryFormat, binary, length); } + +/* GL_OES_mapbuffer */ +inline void* glMapBufferOES(GLenum target, GLenum access) { return fp_glMapBufferOES(target, access); } +inline GLboolean glUnmapBufferOES(GLenum target) { return fp_glUnmapBufferOES(target); } +inline void glGetBufferPointervOES(GLenum target, GLenum pname, void** params) { fp_glGetBufferPointervOES(target, pname, params); } + +/* GL_OES_sample_shading */ +inline void glMinSampleShadingOES(GLfloat value) { fp_glMinSampleShadingOES(value); } + +/* GL_OES_texture_3D */ +inline void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) { fp_glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels); } +inline void glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) { fp_glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } +inline void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { fp_glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); } +inline void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data) { fp_glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data); } +inline void glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) { fp_glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } +inline void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { fp_glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); } + +/* GL_OES_texture_storage_multisample_2d_array */ +inline void glTexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { fp_glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, fixedsamplelocations); } + +/* GL_OES_vertex_array_object */ +inline void glBindVertexArrayOES(GLuint array) { fp_glBindVertexArrayOES(array); } +inline void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays) { fp_glDeleteVertexArraysOES(n, arrays); } +inline void glGenVertexArraysOES(GLsizei n, GLuint* arrays) { fp_glGenVertexArraysOES(n, arrays); } +inline GLboolean glIsVertexArrayOES(GLuint array) { return fp_glIsVertexArrayOES(array); } + +/* GL_AMD_debug_output */ +inline void glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) { fp_glDebugMessageEnableAMD(category, severity, count, ids, enabled); } +inline void glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf) { fp_glDebugMessageInsertAMD(category, severity, id, length, buf); } +inline void glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, void* userParam) { fp_glDebugMessageCallbackAMD(callback, userParam); } +inline GLuint glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message) { return fp_glGetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths, message); } + +/* GL_AMD_draw_buffers_blend */ +inline void glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst) { fp_glBlendFuncIndexedAMD(buf, src, dst); } +inline void glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { fp_glBlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } +inline void glBlendEquationIndexedAMD(GLuint buf, GLenum mode) { fp_glBlendEquationIndexedAMD(buf, mode); } +inline void glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { fp_glBlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha); } + +/* GL_AMD_gpu_shader_int64 */ +inline void glUniform1i64NV(GLint location, GLint64EXT x) { fp_glUniform1i64NV(location, x); } +inline void glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y) { fp_glUniform2i64NV(location, x, y); } +inline void glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) { fp_glUniform3i64NV(location, x, y, z); } +inline void glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) { fp_glUniform4i64NV(location, x, y, z, w); } +inline void glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT* value) { fp_glUniform1i64vNV(location, count, value); } +inline void glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT* value) { fp_glUniform2i64vNV(location, count, value); } +inline void glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT* value) { fp_glUniform3i64vNV(location, count, value); } +inline void glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT* value) { fp_glUniform4i64vNV(location, count, value); } +inline void glUniform1ui64NV(GLint location, GLuint64EXT x) { fp_glUniform1ui64NV(location, x); } +inline void glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y) { fp_glUniform2ui64NV(location, x, y); } +inline void glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) { fp_glUniform3ui64NV(location, x, y, z); } +inline void glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) { fp_glUniform4ui64NV(location, x, y, z, w); } +inline void glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT* value) { fp_glUniform1ui64vNV(location, count, value); } +inline void glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT* value) { fp_glUniform2ui64vNV(location, count, value); } +inline void glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT* value) { fp_glUniform3ui64vNV(location, count, value); } +inline void glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT* value) { fp_glUniform4ui64vNV(location, count, value); } +inline void glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT* params) { fp_glGetUniformi64vNV(program, location, params); } +inline void glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT* params) { fp_glGetUniformui64vNV(program, location, params); } +inline void glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x) { fp_glProgramUniform1i64NV(program, location, x); } +inline void glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y) { fp_glProgramUniform2i64NV(program, location, x, y); } +inline void glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) { fp_glProgramUniform3i64NV(program, location, x, y, z); } +inline void glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) { fp_glProgramUniform4i64NV(program, location, x, y, z, w); } +inline void glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) { fp_glProgramUniform1i64vNV(program, location, count, value); } +inline void glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) { fp_glProgramUniform2i64vNV(program, location, count, value); } +inline void glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) { fp_glProgramUniform3i64vNV(program, location, count, value); } +inline void glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) { fp_glProgramUniform4i64vNV(program, location, count, value); } +inline void glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x) { fp_glProgramUniform1ui64NV(program, location, x); } +inline void glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y) { fp_glProgramUniform2ui64NV(program, location, x, y); } +inline void glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) { fp_glProgramUniform3ui64NV(program, location, x, y, z); } +inline void glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) { fp_glProgramUniform4ui64NV(program, location, x, y, z, w); } +inline void glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) { fp_glProgramUniform1ui64vNV(program, location, count, value); } +inline void glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) { fp_glProgramUniform2ui64vNV(program, location, count, value); } +inline void glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) { fp_glProgramUniform3ui64vNV(program, location, count, value); } +inline void glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) { fp_glProgramUniform4ui64vNV(program, location, count, value); } + +/* GL_AMD_interleaved_elements */ +inline void glVertexAttribParameteriAMD(GLuint index, GLenum pname, GLint param) { fp_glVertexAttribParameteriAMD(index, pname, param); } + +/* GL_AMD_multi_draw_indirect */ +inline void glMultiDrawArraysIndirectAMD(GLenum mode, const void* indirect, GLsizei primcount, GLsizei stride) { fp_glMultiDrawArraysIndirectAMD(mode, indirect, primcount, stride); } +inline void glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const void* indirect, GLsizei primcount, GLsizei stride) { fp_glMultiDrawElementsIndirectAMD(mode, type, indirect, primcount, stride); } + +/* GL_AMD_name_gen_delete */ +inline void glGenNamesAMD(GLenum identifier, GLuint num, GLuint* names) { fp_glGenNamesAMD(identifier, num, names); } +inline void glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint* names) { fp_glDeleteNamesAMD(identifier, num, names); } +inline GLboolean glIsNameAMD(GLenum identifier, GLuint name) { return fp_glIsNameAMD(identifier, name); } + +/* GL_AMD_occlusion_query_event */ +inline void glQueryObjectParameteruiAMD(GLenum target, GLuint id, GLenum pname, GLuint param) { fp_glQueryObjectParameteruiAMD(target, id, pname, param); } + +/* GL_AMD_performance_monitor */ +inline void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups) { fp_glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups); } +inline void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters) { fp_glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters); } +inline void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString) { fp_glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString); } +inline void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString) { fp_glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString); } +inline void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, void* data) { fp_glGetPerfMonitorCounterInfoAMD(group, counter, pname, data); } +inline void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors) { fp_glGenPerfMonitorsAMD(n, monitors); } +inline void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors) { fp_glDeletePerfMonitorsAMD(n, monitors); } +inline void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList) { fp_glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList); } +inline void glBeginPerfMonitorAMD(GLuint monitor) { fp_glBeginPerfMonitorAMD(monitor); } +inline void glEndPerfMonitorAMD(GLuint monitor) { fp_glEndPerfMonitorAMD(monitor); } +inline void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten) { fp_glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten); } + +/* GL_AMD_sample_positions */ +inline void glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat* val) { fp_glSetMultisamplefvAMD(pname, index, val); } + +/* GL_AMD_sparse_texture */ +inline void glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) { fp_glTexStorageSparseAMD(target, internalFormat, width, height, depth, layers, flags); } +inline void glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) { fp_glTextureStorageSparseAMD(texture, target, internalFormat, width, height, depth, layers, flags); } + +/* GL_AMD_stencil_operation_extended */ +inline void glStencilOpValueAMD(GLenum face, GLuint value) { fp_glStencilOpValueAMD(face, value); } + +/* GL_AMD_vertex_shader_tessellator */ +inline void glTessellationFactorAMD(GLfloat factor) { fp_glTessellationFactorAMD(factor); } +inline void glTessellationModeAMD(GLenum mode) { fp_glTessellationModeAMD(mode); } + +/* GL_ANGLE_framebuffer_blit */ +inline void glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { fp_glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } + +/* GL_ANGLE_framebuffer_multisample */ +inline void glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); } + +/* GL_ANGLE_instanced_arrays */ +inline void glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { fp_glDrawArraysInstancedANGLE(mode, first, count, primcount); } +inline void glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) { fp_glDrawElementsInstancedANGLE(mode, count, type, indices, primcount); } +inline void glVertexAttribDivisorANGLE(GLuint index, GLuint divisor) { fp_glVertexAttribDivisorANGLE(index, divisor); } + +/* GL_ANGLE_translated_shader_source */ +inline void glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) { fp_glGetTranslatedShaderSourceANGLE(shader, bufsize, length, source); } + +/* GL_APPLE_copy_texture_levels */ +inline void glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount) { fp_glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount); } + +/* GL_APPLE_element_array */ +inline void glElementPointerAPPLE(GLenum type, const void* pointer) { fp_glElementPointerAPPLE(type, pointer); } +inline void glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count) { fp_glDrawElementArrayAPPLE(mode, first, count); } +inline void glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count) { fp_glDrawRangeElementArrayAPPLE(mode, start, end, first, count); } +inline void glMultiDrawElementArrayAPPLE(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount) { fp_glMultiDrawElementArrayAPPLE(mode, first, count, primcount); } +inline void glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei* count, GLsizei primcount) { fp_glMultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount); } + +/* GL_APPLE_fence */ +inline void glGenFencesAPPLE(GLsizei n, GLuint* fences) { fp_glGenFencesAPPLE(n, fences); } +inline void glDeleteFencesAPPLE(GLsizei n, const GLuint* fences) { fp_glDeleteFencesAPPLE(n, fences); } +inline void glSetFenceAPPLE(GLuint fence) { fp_glSetFenceAPPLE(fence); } +inline GLboolean glIsFenceAPPLE(GLuint fence) { return fp_glIsFenceAPPLE(fence); } +inline GLboolean glTestFenceAPPLE(GLuint fence) { return fp_glTestFenceAPPLE(fence); } +inline void glFinishFenceAPPLE(GLuint fence) { fp_glFinishFenceAPPLE(fence); } +inline GLboolean glTestObjectAPPLE(GLenum object, GLuint name) { return fp_glTestObjectAPPLE(object, name); } +inline void glFinishObjectAPPLE(GLenum object, GLint name) { fp_glFinishObjectAPPLE(object, name); } + +/* GL_APPLE_flush_buffer_range */ +inline void glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param) { fp_glBufferParameteriAPPLE(target, pname, param); } +inline void glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size) { fp_glFlushMappedBufferRangeAPPLE(target, offset, size); } + +/* GL_APPLE_framebuffer_multisample */ +inline void glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height); } +inline void glResolveMultisampleFramebufferAPPLE() { fp_glResolveMultisampleFramebufferAPPLE(); } + +/* GL_APPLE_object_purgeable */ +inline GLenum glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) { return fp_glObjectPurgeableAPPLE(objectType, name, option); } +inline GLenum glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) { return fp_glObjectUnpurgeableAPPLE(objectType, name, option); } +inline void glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint* params) { fp_glGetObjectParameterivAPPLE(objectType, name, pname, params); } + +/* GL_APPLE_sync */ +inline GLsync glFenceSyncAPPLE(GLenum condition, GLbitfield flags) { return fp_glFenceSyncAPPLE(condition, flags); } +inline GLboolean glIsSyncAPPLE(GLsync sync) { return fp_glIsSyncAPPLE(sync); } +inline void glDeleteSyncAPPLE(GLsync sync) { fp_glDeleteSyncAPPLE(sync); } +inline GLenum glClientWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { return fp_glClientWaitSyncAPPLE(sync, flags, timeout); } +inline void glWaitSyncAPPLE(GLsync sync, GLbitfield flags, GLuint64 timeout) { fp_glWaitSyncAPPLE(sync, flags, timeout); } +inline void glGetInteger64vAPPLE(GLenum pname, GLint64* params) { fp_glGetInteger64vAPPLE(pname, params); } +inline void glGetSyncivAPPLE(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) { fp_glGetSyncivAPPLE(sync, pname, bufSize, length, values); } + +/* GL_APPLE_texture_range */ +inline void glTextureRangeAPPLE(GLenum target, GLsizei length, const void* pointer) { fp_glTextureRangeAPPLE(target, length, pointer); } +inline void glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, void** params) { fp_glGetTexParameterPointervAPPLE(target, pname, params); } + +/* GL_APPLE_vertex_array_object */ +inline void glBindVertexArrayAPPLE(GLuint array) { fp_glBindVertexArrayAPPLE(array); } +inline void glDeleteVertexArraysAPPLE(GLsizei n, const GLuint* arrays) { fp_glDeleteVertexArraysAPPLE(n, arrays); } +inline void glGenVertexArraysAPPLE(GLsizei n, GLuint* arrays) { fp_glGenVertexArraysAPPLE(n, arrays); } +inline GLboolean glIsVertexArrayAPPLE(GLuint array) { return fp_glIsVertexArrayAPPLE(array); } + +/* GL_APPLE_vertex_array_range */ +inline void glVertexArrayRangeAPPLE(GLsizei length, void* pointer) { fp_glVertexArrayRangeAPPLE(length, pointer); } +inline void glFlushVertexArrayRangeAPPLE(GLsizei length, void* pointer) { fp_glFlushVertexArrayRangeAPPLE(length, pointer); } +inline void glVertexArrayParameteriAPPLE(GLenum pname, GLint param) { fp_glVertexArrayParameteriAPPLE(pname, param); } + +/* GL_APPLE_vertex_program_evaluators */ +inline void glEnableVertexAttribAPPLE(GLuint index, GLenum pname) { fp_glEnableVertexAttribAPPLE(index, pname); } +inline void glDisableVertexAttribAPPLE(GLuint index, GLenum pname) { fp_glDisableVertexAttribAPPLE(index, pname); } +inline GLboolean glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname) { return fp_glIsVertexAttribEnabledAPPLE(index, pname); } +inline void glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points) { fp_glMapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points); } +inline void glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points) { fp_glMapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points); } +inline void glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points) { fp_glMapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } +inline void glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points) { fp_glMapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } + +/* GL_GREMEDY_frame_terminator */ +inline void glFrameTerminatorGREMEDY() { fp_glFrameTerminatorGREMEDY(); } + +/* GL_GREMEDY_string_marker */ +inline void glStringMarkerGREMEDY(GLsizei len, const void* string) { fp_glStringMarkerGREMEDY(len, string); } + +/* GL_IMG_multisampled_render_to_texture */ +inline void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height); } +inline void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) { fp_glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples); } + +/* GL_INGR_blend_func_separate */ +inline void glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { fp_glBlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } + +/* GL_INTEL_map_texture */ +inline void glSyncTextureINTEL(GLuint texture) { fp_glSyncTextureINTEL(texture); } +inline void glUnmapTexture2DINTEL(GLuint texture, GLint level) { fp_glUnmapTexture2DINTEL(texture, level); } +inline void* glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, GLint* stride, GLenum* layout) { return fp_glMapTexture2DINTEL(texture, level, access, stride, layout); } + +/* GL_INTEL_performance_query */ +inline void glBeginPerfQueryINTEL(GLuint queryHandle) { fp_glBeginPerfQueryINTEL(queryHandle); } +inline void glCreatePerfQueryINTEL(GLuint queryId, GLuint* queryHandle) { fp_glCreatePerfQueryINTEL(queryId, queryHandle); } +inline void glDeletePerfQueryINTEL(GLuint queryHandle) { fp_glDeletePerfQueryINTEL(queryHandle); } +inline void glEndPerfQueryINTEL(GLuint queryHandle) { fp_glEndPerfQueryINTEL(queryHandle); } +inline void glGetFirstPerfQueryIdINTEL(GLuint* queryId) { fp_glGetFirstPerfQueryIdINTEL(queryId); } +inline void glGetNextPerfQueryIdINTEL(GLuint queryId, GLuint* nextQueryId) { fp_glGetNextPerfQueryIdINTEL(queryId, nextQueryId); } +inline void glGetPerfCounterInfoINTEL(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar* counterDesc, GLuint* counterOffset, GLuint* counterDataSize, GLuint* counterTypeEnum, GLuint* counterDataTypeEnum, GLuint64* rawCounterMaxValue) { fp_glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); } +inline void glGetPerfQueryDataINTEL(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid* data, GLuint* bytesWritten) { fp_glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten); } +inline void glGetPerfQueryIdByNameINTEL(GLchar* queryName, GLuint* queryId) { fp_glGetPerfQueryIdByNameINTEL(queryName, queryId); } +inline void glGetPerfQueryInfoINTEL(GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint* dataSize, GLuint* noCounters, GLuint* noInstances, GLuint* capsMask) { fp_glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask); } + +/* GL_NV_bindless_multi_draw_indirect */ +inline void glMultiDrawArraysIndirectBindlessNV(GLenum mode, const void* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) { fp_glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount); } +inline void glMultiDrawElementsIndirectBindlessNV(GLenum mode, GLenum type, const void* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) { fp_glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount); } + +/* GL_NV_bindless_multi_draw_indirect_count */ +inline void glMultiDrawArraysIndirectBindlessCountNV(GLenum mode, const void* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) { fp_glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); } +inline void glMultiDrawElementsIndirectBindlessCountNV(GLenum mode, GLenum type, const void* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) { fp_glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); } + +/* GL_NV_bindless_texture */ +inline GLuint64 glGetTextureHandleNV(GLuint texture) { return fp_glGetTextureHandleNV(texture); } +inline GLuint64 glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler) { return fp_glGetTextureSamplerHandleNV(texture, sampler); } +inline void glMakeTextureHandleResidentNV(GLuint64 handle) { fp_glMakeTextureHandleResidentNV(handle); } +inline void glMakeTextureHandleNonResidentNV(GLuint64 handle) { fp_glMakeTextureHandleNonResidentNV(handle); } +inline GLuint64 glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) { return fp_glGetImageHandleNV(texture, level, layered, layer, format); } +inline void glMakeImageHandleResidentNV(GLuint64 handle, GLenum access) { fp_glMakeImageHandleResidentNV(handle, access); } +inline void glMakeImageHandleNonResidentNV(GLuint64 handle) { fp_glMakeImageHandleNonResidentNV(handle); } +inline void glUniformHandleui64NV(GLint location, GLuint64 value) { fp_glUniformHandleui64NV(location, value); } +inline void glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64* value) { fp_glUniformHandleui64vNV(location, count, value); } +inline void glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value) { fp_glProgramUniformHandleui64NV(program, location, value); } +inline void glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64* values) { fp_glProgramUniformHandleui64vNV(program, location, count, values); } +inline GLboolean glIsTextureHandleResidentNV(GLuint64 handle) { return fp_glIsTextureHandleResidentNV(handle); } +inline GLboolean glIsImageHandleResidentNV(GLuint64 handle) { return fp_glIsImageHandleResidentNV(handle); } + +/* GL_NV_blend_equation_advanced */ +inline void glBlendParameteriNV(GLenum pname, GLint value) { fp_glBlendParameteriNV(pname, value); } +inline void glBlendBarrierNV() { fp_glBlendBarrierNV(); } + +/* GL_NV_conditional_render */ +inline void glBeginConditionalRenderNV(GLuint id, GLenum mode) { fp_glBeginConditionalRenderNV(id, mode); } +inline void glEndConditionalRenderNV() { fp_glEndConditionalRenderNV(); } + +/* GL_NV_copy_buffer */ +inline void glCopyBufferSubDataNV(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { fp_glCopyBufferSubDataNV(readTarget, writeTarget, readOffset, writeOffset, size); } + +/* GL_NV_copy_image */ +inline void glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) { fp_glCopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); } + +/* GL_NV_coverage_sample */ +inline void glCoverageMaskNV(GLboolean mask) { fp_glCoverageMaskNV(mask); } +inline void glCoverageOperationNV(GLenum operation) { fp_glCoverageOperationNV(operation); } + +/* GL_NV_depth_buffer_float */ +inline void glDepthRangedNV(GLdouble zNear, GLdouble zFar) { fp_glDepthRangedNV(zNear, zFar); } +inline void glClearDepthdNV(GLdouble depth) { fp_glClearDepthdNV(depth); } +inline void glDepthBoundsdNV(GLdouble zmin, GLdouble zmax) { fp_glDepthBoundsdNV(zmin, zmax); } + +/* GL_NV_draw_buffers */ +inline void glDrawBuffersNV(GLsizei n, const GLenum* bufs) { fp_glDrawBuffersNV(n, bufs); } + +/* GL_NV_draw_instanced */ +inline void glDrawArraysInstancedNV(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { fp_glDrawArraysInstancedNV(mode, first, count, primcount); } +inline void glDrawElementsInstancedNV(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) { fp_glDrawElementsInstancedNV(mode, count, type, indices, primcount); } + +/* GL_NV_draw_texture */ +inline void glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1) { fp_glDrawTextureNV(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); } + +/* GL_NV_explicit_multisample */ +inline void glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat* val) { fp_glGetMultisamplefvNV(pname, index, val); } +inline void glSampleMaskIndexedNV(GLuint index, GLbitfield mask) { fp_glSampleMaskIndexedNV(index, mask); } +inline void glTexRenderbufferNV(GLenum target, GLuint renderbuffer) { fp_glTexRenderbufferNV(target, renderbuffer); } + +/* GL_NV_fence */ +inline void glDeleteFencesNV(GLsizei n, const GLuint* fences) { fp_glDeleteFencesNV(n, fences); } +inline void glGenFencesNV(GLsizei n, GLuint* fences) { fp_glGenFencesNV(n, fences); } +inline GLboolean glIsFenceNV(GLuint fence) { return fp_glIsFenceNV(fence); } +inline GLboolean glTestFenceNV(GLuint fence) { return fp_glTestFenceNV(fence); } +inline void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params) { fp_glGetFenceivNV(fence, pname, params); } +inline void glFinishFenceNV(GLuint fence) { fp_glFinishFenceNV(fence); } +inline void glSetFenceNV(GLuint fence, GLenum condition) { fp_glSetFenceNV(fence, condition); } + +/* GL_NV_framebuffer_blit */ +inline void glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { fp_glBlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } + +/* GL_NV_framebuffer_multisample */ +inline void glRenderbufferStorageMultisampleNV(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleNV(target, samples, internalformat, width, height); } + +/* GL_NV_framebuffer_multisample_coverage */ +inline void glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) { fp_glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height); } + +/* GL_NV_geometry_program4 */ +inline void glProgramVertexLimitNV(GLenum target, GLint limit) { fp_glProgramVertexLimitNV(target, limit); } +inline void glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) { fp_glFramebufferTextureFaceEXT(target, attachment, texture, level, face); } + +/* GL_NV_gpu_program4 */ +inline void glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) { fp_glProgramLocalParameterI4iNV(target, index, x, y, z, w); } +inline void glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint* params) { fp_glProgramLocalParameterI4ivNV(target, index, params); } +inline void glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint* params) { fp_glProgramLocalParametersI4ivNV(target, index, count, params); } +inline void glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { fp_glProgramLocalParameterI4uiNV(target, index, x, y, z, w); } +inline void glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint* params) { fp_glProgramLocalParameterI4uivNV(target, index, params); } +inline void glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint* params) { fp_glProgramLocalParametersI4uivNV(target, index, count, params); } +inline void glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) { fp_glProgramEnvParameterI4iNV(target, index, x, y, z, w); } +inline void glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint* params) { fp_glProgramEnvParameterI4ivNV(target, index, params); } +inline void glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint* params) { fp_glProgramEnvParametersI4ivNV(target, index, count, params); } +inline void glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { fp_glProgramEnvParameterI4uiNV(target, index, x, y, z, w); } +inline void glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint* params) { fp_glProgramEnvParameterI4uivNV(target, index, params); } +inline void glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint* params) { fp_glProgramEnvParametersI4uivNV(target, index, count, params); } +inline void glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint* params) { fp_glGetProgramLocalParameterIivNV(target, index, params); } +inline void glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint* params) { fp_glGetProgramLocalParameterIuivNV(target, index, params); } +inline void glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint* params) { fp_glGetProgramEnvParameterIivNV(target, index, params); } +inline void glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint* params) { fp_glGetProgramEnvParameterIuivNV(target, index, params); } + +/* GL_NV_gpu_program5 */ +inline void glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint* params) { fp_glProgramSubroutineParametersuivNV(target, count, params); } +inline void glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint* param) { fp_glGetProgramSubroutineParameteruivNV(target, index, param); } + +/* GL_NV_half_float */ +inline void glVertex2hNV(GLhalfNV x, GLhalfNV y) { fp_glVertex2hNV(x, y); } +inline void glVertex2hvNV(const GLhalfNV* v) { fp_glVertex2hvNV(v); } +inline void glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z) { fp_glVertex3hNV(x, y, z); } +inline void glVertex3hvNV(const GLhalfNV* v) { fp_glVertex3hvNV(v); } +inline void glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) { fp_glVertex4hNV(x, y, z, w); } +inline void glVertex4hvNV(const GLhalfNV* v) { fp_glVertex4hvNV(v); } +inline void glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz) { fp_glNormal3hNV(nx, ny, nz); } +inline void glNormal3hvNV(const GLhalfNV* v) { fp_glNormal3hvNV(v); } +inline void glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) { fp_glColor3hNV(red, green, blue); } +inline void glColor3hvNV(const GLhalfNV* v) { fp_glColor3hvNV(v); } +inline void glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha) { fp_glColor4hNV(red, green, blue, alpha); } +inline void glColor4hvNV(const GLhalfNV* v) { fp_glColor4hvNV(v); } +inline void glTexCoord1hNV(GLhalfNV s) { fp_glTexCoord1hNV(s); } +inline void glTexCoord1hvNV(const GLhalfNV* v) { fp_glTexCoord1hvNV(v); } +inline void glTexCoord2hNV(GLhalfNV s, GLhalfNV t) { fp_glTexCoord2hNV(s, t); } +inline void glTexCoord2hvNV(const GLhalfNV* v) { fp_glTexCoord2hvNV(v); } +inline void glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r) { fp_glTexCoord3hNV(s, t, r); } +inline void glTexCoord3hvNV(const GLhalfNV* v) { fp_glTexCoord3hvNV(v); } +inline void glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) { fp_glTexCoord4hNV(s, t, r, q); } +inline void glTexCoord4hvNV(const GLhalfNV* v) { fp_glTexCoord4hvNV(v); } +inline void glMultiTexCoord1hNV(GLenum target, GLhalfNV s) { fp_glMultiTexCoord1hNV(target, s); } +inline void glMultiTexCoord1hvNV(GLenum target, const GLhalfNV* v) { fp_glMultiTexCoord1hvNV(target, v); } +inline void glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t) { fp_glMultiTexCoord2hNV(target, s, t); } +inline void glMultiTexCoord2hvNV(GLenum target, const GLhalfNV* v) { fp_glMultiTexCoord2hvNV(target, v); } +inline void glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r) { fp_glMultiTexCoord3hNV(target, s, t, r); } +inline void glMultiTexCoord3hvNV(GLenum target, const GLhalfNV* v) { fp_glMultiTexCoord3hvNV(target, v); } +inline void glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) { fp_glMultiTexCoord4hNV(target, s, t, r, q); } +inline void glMultiTexCoord4hvNV(GLenum target, const GLhalfNV* v) { fp_glMultiTexCoord4hvNV(target, v); } +inline void glFogCoordhNV(GLhalfNV fog) { fp_glFogCoordhNV(fog); } +inline void glFogCoordhvNV(const GLhalfNV* fog) { fp_glFogCoordhvNV(fog); } +inline void glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) { fp_glSecondaryColor3hNV(red, green, blue); } +inline void glSecondaryColor3hvNV(const GLhalfNV* v) { fp_glSecondaryColor3hvNV(v); } +inline void glVertexWeighthNV(GLhalfNV weight) { fp_glVertexWeighthNV(weight); } +inline void glVertexWeighthvNV(const GLhalfNV* weight) { fp_glVertexWeighthvNV(weight); } +inline void glVertexAttrib1hNV(GLuint index, GLhalfNV x) { fp_glVertexAttrib1hNV(index, x); } +inline void glVertexAttrib1hvNV(GLuint index, const GLhalfNV* v) { fp_glVertexAttrib1hvNV(index, v); } +inline void glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y) { fp_glVertexAttrib2hNV(index, x, y); } +inline void glVertexAttrib2hvNV(GLuint index, const GLhalfNV* v) { fp_glVertexAttrib2hvNV(index, v); } +inline void glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z) { fp_glVertexAttrib3hNV(index, x, y, z); } +inline void glVertexAttrib3hvNV(GLuint index, const GLhalfNV* v) { fp_glVertexAttrib3hvNV(index, v); } +inline void glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) { fp_glVertexAttrib4hNV(index, x, y, z, w); } +inline void glVertexAttrib4hvNV(GLuint index, const GLhalfNV* v) { fp_glVertexAttrib4hvNV(index, v); } +inline void glVertexAttribs1hvNV(GLuint index, GLsizei n, const GLhalfNV* v) { fp_glVertexAttribs1hvNV(index, n, v); } +inline void glVertexAttribs2hvNV(GLuint index, GLsizei n, const GLhalfNV* v) { fp_glVertexAttribs2hvNV(index, n, v); } +inline void glVertexAttribs3hvNV(GLuint index, GLsizei n, const GLhalfNV* v) { fp_glVertexAttribs3hvNV(index, n, v); } +inline void glVertexAttribs4hvNV(GLuint index, GLsizei n, const GLhalfNV* v) { fp_glVertexAttribs4hvNV(index, n, v); } + +/* GL_NV_instanced_arrays */ +inline void glVertexAttribDivisorNV(GLuint index, GLuint divisor) { fp_glVertexAttribDivisorNV(index, divisor); } + +/* GL_NV_non_square_matrices */ +inline void glUniformMatrix2x3fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix2x3fvNV(location, count, transpose, value); } +inline void glUniformMatrix3x2fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix3x2fvNV(location, count, transpose, value); } +inline void glUniformMatrix2x4fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix2x4fvNV(location, count, transpose, value); } +inline void glUniformMatrix4x2fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix4x2fvNV(location, count, transpose, value); } +inline void glUniformMatrix3x4fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix3x4fvNV(location, count, transpose, value); } +inline void glUniformMatrix4x3fvNV(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { fp_glUniformMatrix4x3fvNV(location, count, transpose, value); } + +/* GL_NV_occlusion_query */ +inline void glGenOcclusionQueriesNV(GLsizei n, GLuint* ids) { fp_glGenOcclusionQueriesNV(n, ids); } +inline void glDeleteOcclusionQueriesNV(GLsizei n, const GLuint* ids) { fp_glDeleteOcclusionQueriesNV(n, ids); } +inline GLboolean glIsOcclusionQueryNV(GLuint id) { return fp_glIsOcclusionQueryNV(id); } +inline void glBeginOcclusionQueryNV(GLuint id) { fp_glBeginOcclusionQueryNV(id); } +inline void glEndOcclusionQueryNV() { fp_glEndOcclusionQueryNV(); } +inline void glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint* params) { fp_glGetOcclusionQueryivNV(id, pname, params); } +inline void glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint* params) { fp_glGetOcclusionQueryuivNV(id, pname, params); } + +/* GL_NV_parameter_buffer_object */ +inline void glProgramBufferParametersfvNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat* params) { fp_glProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, params); } +inline void glProgramBufferParametersIivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint* params) { fp_glProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, params); } +inline void glProgramBufferParametersIuivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint* params) { fp_glProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, params); } + +/* GL_NV_path_rendering */ +inline GLuint glGenPathsNV(GLsizei range) { return fp_glGenPathsNV(range); } +inline void glDeletePathsNV(GLuint path, GLsizei range) { fp_glDeletePathsNV(path, range); } +inline GLboolean glIsPathNV(GLuint path) { return fp_glIsPathNV(path); } +inline void glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void* coords) { fp_glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords); } +inline void glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const void* coords) { fp_glPathCoordsNV(path, numCoords, coordType, coords); } +inline void glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void* coords) { fp_glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords); } +inline void glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void* coords) { fp_glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords); } +inline void glPathStringNV(GLuint path, GLenum format, GLsizei length, const void* pathString) { fp_glPathStringNV(path, format, length, pathString); } +inline void glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void* charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) { fp_glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale); } +inline void glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) { fp_glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale); } +inline void glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint* paths, const GLfloat* weights) { fp_glWeightPathsNV(resultPath, numPaths, paths, weights); } +inline void glCopyPathNV(GLuint resultPath, GLuint srcPath) { fp_glCopyPathNV(resultPath, srcPath); } +inline void glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight) { fp_glInterpolatePathsNV(resultPath, pathA, pathB, weight); } +inline void glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues) { fp_glTransformPathNV(resultPath, srcPath, transformType, transformValues); } +inline void glPathParameterivNV(GLuint path, GLenum pname, const GLint* value) { fp_glPathParameterivNV(path, pname, value); } +inline void glPathParameteriNV(GLuint path, GLenum pname, GLint value) { fp_glPathParameteriNV(path, pname, value); } +inline void glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat* value) { fp_glPathParameterfvNV(path, pname, value); } +inline void glPathParameterfNV(GLuint path, GLenum pname, GLfloat value) { fp_glPathParameterfNV(path, pname, value); } +inline void glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat* dashArray) { fp_glPathDashArrayNV(path, dashCount, dashArray); } +inline void glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask) { fp_glPathStencilFuncNV(func, ref, mask); } +inline void glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units) { fp_glPathStencilDepthOffsetNV(factor, units); } +inline void glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask) { fp_glStencilFillPathNV(path, fillMode, mask); } +inline void glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask) { fp_glStencilStrokePathNV(path, reference, mask); } +inline void glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat* transformValues) { fp_glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues); } +inline void glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat* transformValues) { fp_glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues); } +inline void glPathCoverDepthFuncNV(GLenum func) { fp_glPathCoverDepthFuncNV(func); } +inline void glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs) { fp_glPathColorGenNV(color, genMode, colorFormat, coeffs); } +inline void glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs) { fp_glPathTexGenNV(texCoordSet, genMode, components, coeffs); } +inline void glPathFogGenNV(GLenum genMode) { fp_glPathFogGenNV(genMode); } +inline void glCoverFillPathNV(GLuint path, GLenum coverMode) { fp_glCoverFillPathNV(path, coverMode); } +inline void glCoverStrokePathNV(GLuint path, GLenum coverMode) { fp_glCoverStrokePathNV(path, coverMode); } +inline void glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) { fp_glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); } +inline void glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) { fp_glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues); } +inline void glGetPathParameterivNV(GLuint path, GLenum pname, GLint* value) { fp_glGetPathParameterivNV(path, pname, value); } +inline void glGetPathParameterfvNV(GLuint path, GLenum pname, GLfloat* value) { fp_glGetPathParameterfvNV(path, pname, value); } +inline void glGetPathCommandsNV(GLuint path, GLubyte* commands) { fp_glGetPathCommandsNV(path, commands); } +inline void glGetPathCoordsNV(GLuint path, GLfloat* coords) { fp_glGetPathCoordsNV(path, coords); } +inline void glGetPathDashArrayNV(GLuint path, GLfloat* dashArray) { fp_glGetPathDashArrayNV(path, dashArray); } +inline void glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLsizei stride, GLfloat* metrics) { fp_glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics); } +inline void glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics) { fp_glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics); } +inline void glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat* returnedSpacing) { fp_glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing); } +inline void glGetPathColorGenivNV(GLenum color, GLenum pname, GLint* value) { fp_glGetPathColorGenivNV(color, pname, value); } +inline void glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat* value) { fp_glGetPathColorGenfvNV(color, pname, value); } +inline void glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint* value) { fp_glGetPathTexGenivNV(texCoordSet, pname, value); } +inline void glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat* value) { fp_glGetPathTexGenfvNV(texCoordSet, pname, value); } +inline GLboolean glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y) { return fp_glIsPointInFillPathNV(path, mask, x, y); } +inline GLboolean glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y) { return fp_glIsPointInStrokePathNV(path, x, y); } +inline GLfloat glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments) { return fp_glGetPathLengthNV(path, startSegment, numSegments); } +inline GLboolean glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat* y, GLfloat* tangentX, GLfloat* tangentY) { return fp_glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY); } +inline void glMatrixLoad3x2fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixLoad3x2fNV(matrixMode, m); } +inline void glMatrixLoad3x3fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixLoad3x3fNV(matrixMode, m); } +inline void glMatrixLoadTranspose3x3fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixLoadTranspose3x3fNV(matrixMode, m); } +inline void glMatrixMult3x2fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixMult3x2fNV(matrixMode, m); } +inline void glMatrixMult3x3fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixMult3x3fNV(matrixMode, m); } +inline void glMatrixMultTranspose3x3fNV(GLenum matrixMode, const GLfloat* m) { fp_glMatrixMultTranspose3x3fNV(matrixMode, m); } +inline void glStencilThenCoverFillPathNV(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode) { fp_glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode); } +inline void glStencilThenCoverStrokePathNV(GLuint path, GLint reference, GLuint mask, GLenum coverMode) { fp_glStencilThenCoverStrokePathNV(path, reference, mask, coverMode); } +inline void glStencilThenCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) { fp_glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues); } +inline void glStencilThenCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) { fp_glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues); } +inline GLenum glPathGlyphIndexRangeNV(GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount) { return fp_glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount); } +inline GLenum glPathGlyphIndexArrayNV(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) { return fp_glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); } +inline GLenum glPathMemoryGlyphIndexArrayNV(GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void* fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) { return fp_glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale); } +inline void glProgramPathFragmentInputGenNV(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat* coeffs) { fp_glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs); } +inline void glGetProgramResourcefvNV(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLfloat* params) { fp_glGetProgramResourcefvNV(program, programInterface, index, propCount, props, bufSize, length, params); } + +/* GL_NV_present_video */ +inline void glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1) { fp_glPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1); } +inline void glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3) { fp_glPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3); } +inline void glGetVideoivNV(GLuint video_slot, GLenum pname, GLint* params) { fp_glGetVideoivNV(video_slot, pname, params); } +inline void glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint* params) { fp_glGetVideouivNV(video_slot, pname, params); } +inline void glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT* params) { fp_glGetVideoi64vNV(video_slot, pname, params); } +inline void glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT* params) { fp_glGetVideoui64vNV(video_slot, pname, params); } + +/* GL_NV_primitive_restart */ +inline void glPrimitiveRestartNV() { fp_glPrimitiveRestartNV(); } +inline void glPrimitiveRestartIndexNV(GLuint index) { fp_glPrimitiveRestartIndexNV(index); } + +/* GL_NV_read_buffer */ +inline void glReadBufferNV(GLenum mode) { fp_glReadBufferNV(mode); } + +/* GL_NV_shader_buffer_load */ +inline void glMakeBufferResidentNV(GLenum target, GLenum access) { fp_glMakeBufferResidentNV(target, access); } +inline void glMakeBufferNonResidentNV(GLenum target) { fp_glMakeBufferNonResidentNV(target); } +inline GLboolean glIsBufferResidentNV(GLenum target) { return fp_glIsBufferResidentNV(target); } +inline void glMakeNamedBufferResidentNV(GLuint buffer, GLenum access) { fp_glMakeNamedBufferResidentNV(buffer, access); } +inline void glMakeNamedBufferNonResidentNV(GLuint buffer) { fp_glMakeNamedBufferNonResidentNV(buffer); } +inline GLboolean glIsNamedBufferResidentNV(GLuint buffer) { return fp_glIsNamedBufferResidentNV(buffer); } +inline void glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT* params) { fp_glGetBufferParameterui64vNV(target, pname, params); } +inline void glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT* params) { fp_glGetNamedBufferParameterui64vNV(buffer, pname, params); } +inline void glGetIntegerui64vNV(GLenum value, GLuint64EXT* result) { fp_glGetIntegerui64vNV(value, result); } +inline void glUniformui64NV(GLint location, GLuint64EXT value) { fp_glUniformui64NV(location, value); } +inline void glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT* value) { fp_glUniformui64vNV(location, count, value); } +inline void glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT value) { fp_glProgramUniformui64NV(program, location, value); } +inline void glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) { fp_glProgramUniformui64vNV(program, location, count, value); } + +/* GL_NV_texture_barrier */ +inline void glTextureBarrierNV() { fp_glTextureBarrierNV(); } + +/* GL_NV_texture_multisample */ +inline void glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) { fp_glTexImage2DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); } +inline void glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) { fp_glTexImage3DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); } +inline void glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) { fp_glTextureImage2DMultisampleNV(texture, target, samples, internalFormat, width, height, fixedSampleLocations); } +inline void glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) { fp_glTextureImage3DMultisampleNV(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations); } +inline void glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) { fp_glTextureImage2DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); } +inline void glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) { fp_glTextureImage3DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); } + +/* GL_NV_transform_feedback */ +inline void glBeginTransformFeedbackNV(GLenum primitiveMode) { fp_glBeginTransformFeedbackNV(primitiveMode); } +inline void glEndTransformFeedbackNV() { fp_glEndTransformFeedbackNV(); } +inline void glTransformFeedbackAttribsNV(GLsizei count, const GLint* attribs, GLenum bufferMode) { fp_glTransformFeedbackAttribsNV(count, attribs, bufferMode); } +inline void glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { fp_glBindBufferRangeNV(target, index, buffer, offset, size); } +inline void glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset) { fp_glBindBufferOffsetNV(target, index, buffer, offset); } +inline void glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer) { fp_glBindBufferBaseNV(target, index, buffer); } +inline void glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint* locations, GLenum bufferMode) { fp_glTransformFeedbackVaryingsNV(program, count, locations, bufferMode); } +inline void glActiveVaryingNV(GLuint program, const GLchar* name) { fp_glActiveVaryingNV(program, name); } +inline GLint glGetVaryingLocationNV(GLuint program, const GLchar* name) { return fp_glGetVaryingLocationNV(program, name); } +inline void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) { fp_glGetActiveVaryingNV(program, index, bufSize, length, size, type, name); } +inline void glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint* location) { fp_glGetTransformFeedbackVaryingNV(program, index, location); } +inline void glTransformFeedbackStreamAttribsNV(GLsizei count, const GLint* attribs, GLsizei nbuffers, const GLint* bufstreams, GLenum bufferMode) { fp_glTransformFeedbackStreamAttribsNV(count, attribs, nbuffers, bufstreams, bufferMode); } + +/* GL_NV_transform_feedback2 */ +inline void glBindTransformFeedbackNV(GLenum target, GLuint id) { fp_glBindTransformFeedbackNV(target, id); } +inline void glDeleteTransformFeedbacksNV(GLsizei n, const GLuint* ids) { fp_glDeleteTransformFeedbacksNV(n, ids); } +inline void glGenTransformFeedbacksNV(GLsizei n, GLuint* ids) { fp_glGenTransformFeedbacksNV(n, ids); } +inline GLboolean glIsTransformFeedbackNV(GLuint id) { return fp_glIsTransformFeedbackNV(id); } +inline void glPauseTransformFeedbackNV() { fp_glPauseTransformFeedbackNV(); } +inline void glResumeTransformFeedbackNV() { fp_glResumeTransformFeedbackNV(); } +inline void glDrawTransformFeedbackNV(GLenum mode, GLuint id) { fp_glDrawTransformFeedbackNV(mode, id); } + +/* GL_NV_vdpau_interop */ +inline void glVDPAUInitNV(const void* vdpDevice, const void* getProcAddress) { fp_glVDPAUInitNV(vdpDevice, getProcAddress); } +inline void glVDPAUFiniNV() { fp_glVDPAUFiniNV(); } +inline GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV(const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames) { return fp_glVDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, textureNames); } +inline GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV(const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames) { return fp_glVDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, textureNames); } +inline GLboolean glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface) { return fp_glVDPAUIsSurfaceNV(surface); } +inline void glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface) { fp_glVDPAUUnregisterSurfaceNV(surface); } +inline void glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) { fp_glVDPAUGetSurfaceivNV(surface, pname, bufSize, length, values); } +inline void glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access) { fp_glVDPAUSurfaceAccessNV(surface, access); } +inline void glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces) { fp_glVDPAUMapSurfacesNV(numSurfaces, surfaces); } +inline void glVDPAUUnmapSurfacesNV(GLsizei numSurface, const GLvdpauSurfaceNV* surfaces) { fp_glVDPAUUnmapSurfacesNV(numSurface, surfaces); } + +/* GL_NV_vertex_attrib_integer_64bit */ +inline void glVertexAttribL1i64NV(GLuint index, GLint64EXT x) { fp_glVertexAttribL1i64NV(index, x); } +inline void glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y) { fp_glVertexAttribL2i64NV(index, x, y); } +inline void glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z) { fp_glVertexAttribL3i64NV(index, x, y, z); } +inline void glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) { fp_glVertexAttribL4i64NV(index, x, y, z, w); } +inline void glVertexAttribL1i64vNV(GLuint index, const GLint64EXT* v) { fp_glVertexAttribL1i64vNV(index, v); } +inline void glVertexAttribL2i64vNV(GLuint index, const GLint64EXT* v) { fp_glVertexAttribL2i64vNV(index, v); } +inline void glVertexAttribL3i64vNV(GLuint index, const GLint64EXT* v) { fp_glVertexAttribL3i64vNV(index, v); } +inline void glVertexAttribL4i64vNV(GLuint index, const GLint64EXT* v) { fp_glVertexAttribL4i64vNV(index, v); } +inline void glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x) { fp_glVertexAttribL1ui64NV(index, x); } +inline void glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y) { fp_glVertexAttribL2ui64NV(index, x, y); } +inline void glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) { fp_glVertexAttribL3ui64NV(index, x, y, z); } +inline void glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) { fp_glVertexAttribL4ui64NV(index, x, y, z, w); } +inline void glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT* v) { fp_glVertexAttribL1ui64vNV(index, v); } +inline void glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT* v) { fp_glVertexAttribL2ui64vNV(index, v); } +inline void glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT* v) { fp_glVertexAttribL3ui64vNV(index, v); } +inline void glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT* v) { fp_glVertexAttribL4ui64vNV(index, v); } +inline void glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT* params) { fp_glGetVertexAttribLi64vNV(index, pname, params); } +inline void glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT* params) { fp_glGetVertexAttribLui64vNV(index, pname, params); } +inline void glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride) { fp_glVertexAttribLFormatNV(index, size, type, stride); } + +/* GL_NV_vertex_buffer_unified_memory */ +inline void glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length) { fp_glBufferAddressRangeNV(pname, index, address, length); } +inline void glVertexFormatNV(GLint size, GLenum type, GLsizei stride) { fp_glVertexFormatNV(size, type, stride); } +inline void glNormalFormatNV(GLenum type, GLsizei stride) { fp_glNormalFormatNV(type, stride); } +inline void glColorFormatNV(GLint size, GLenum type, GLsizei stride) { fp_glColorFormatNV(size, type, stride); } +inline void glIndexFormatNV(GLenum type, GLsizei stride) { fp_glIndexFormatNV(type, stride); } +inline void glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride) { fp_glTexCoordFormatNV(size, type, stride); } +inline void glEdgeFlagFormatNV(GLsizei stride) { fp_glEdgeFlagFormatNV(stride); } +inline void glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride) { fp_glSecondaryColorFormatNV(size, type, stride); } +inline void glFogCoordFormatNV(GLenum type, GLsizei stride) { fp_glFogCoordFormatNV(type, stride); } +inline void glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride) { fp_glVertexAttribFormatNV(index, size, type, normalized, stride); } +inline void glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride) { fp_glVertexAttribIFormatNV(index, size, type, stride); } +inline void glGetIntegerui64i_vNV(GLenum value, GLuint index, GLuint64EXT* result) { fp_glGetIntegerui64i_vNV(value, index, result); } + +/* GL_NV_vertex_program4 */ +inline void glVertexAttribI1iEXT(GLuint index, GLint x) { fp_glVertexAttribI1iEXT(index, x); } +inline void glVertexAttribI2iEXT(GLuint index, GLint x, GLint y) { fp_glVertexAttribI2iEXT(index, x, y); } +inline void glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z) { fp_glVertexAttribI3iEXT(index, x, y, z); } +inline void glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w) { fp_glVertexAttribI4iEXT(index, x, y, z, w); } +inline void glVertexAttribI1uiEXT(GLuint index, GLuint x) { fp_glVertexAttribI1uiEXT(index, x); } +inline void glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y) { fp_glVertexAttribI2uiEXT(index, x, y); } +inline void glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z) { fp_glVertexAttribI3uiEXT(index, x, y, z); } +inline void glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { fp_glVertexAttribI4uiEXT(index, x, y, z, w); } +inline void glVertexAttribI1ivEXT(GLuint index, const GLint* v) { fp_glVertexAttribI1ivEXT(index, v); } +inline void glVertexAttribI2ivEXT(GLuint index, const GLint* v) { fp_glVertexAttribI2ivEXT(index, v); } +inline void glVertexAttribI3ivEXT(GLuint index, const GLint* v) { fp_glVertexAttribI3ivEXT(index, v); } +inline void glVertexAttribI4ivEXT(GLuint index, const GLint* v) { fp_glVertexAttribI4ivEXT(index, v); } +inline void glVertexAttribI1uivEXT(GLuint index, const GLuint* v) { fp_glVertexAttribI1uivEXT(index, v); } +inline void glVertexAttribI2uivEXT(GLuint index, const GLuint* v) { fp_glVertexAttribI2uivEXT(index, v); } +inline void glVertexAttribI3uivEXT(GLuint index, const GLuint* v) { fp_glVertexAttribI3uivEXT(index, v); } +inline void glVertexAttribI4uivEXT(GLuint index, const GLuint* v) { fp_glVertexAttribI4uivEXT(index, v); } +inline void glVertexAttribI4bvEXT(GLuint index, const GLbyte* v) { fp_glVertexAttribI4bvEXT(index, v); } +inline void glVertexAttribI4svEXT(GLuint index, const GLshort* v) { fp_glVertexAttribI4svEXT(index, v); } +inline void glVertexAttribI4ubvEXT(GLuint index, const GLubyte* v) { fp_glVertexAttribI4ubvEXT(index, v); } +inline void glVertexAttribI4usvEXT(GLuint index, const GLushort* v) { fp_glVertexAttribI4usvEXT(index, v); } +inline void glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) { fp_glVertexAttribIPointerEXT(index, size, type, stride, pointer); } +inline void glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint* params) { fp_glGetVertexAttribIivEXT(index, pname, params); } +inline void glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint* params) { fp_glGetVertexAttribIuivEXT(index, pname, params); } + +/* GL_NV_video_capture */ +inline void glBeginVideoCaptureNV(GLuint video_capture_slot) { fp_glBeginVideoCaptureNV(video_capture_slot); } +inline void glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset) { fp_glBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset); } +inline void glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture) { fp_glBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture); } +inline void glEndVideoCaptureNV(GLuint video_capture_slot) { fp_glEndVideoCaptureNV(video_capture_slot); } +inline void glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint* params) { fp_glGetVideoCaptureivNV(video_capture_slot, pname, params); } +inline void glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params) { fp_glGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params); } +inline void glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params) { fp_glGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params); } +inline void glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params) { fp_glGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params); } +inline GLenum glVideoCaptureNV(GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT* capture_time) { return fp_glVideoCaptureNV(video_capture_slot, sequence_num, capture_time); } +inline void glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params) { fp_glVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params); } +inline void glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params) { fp_glVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params); } +inline void glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params) { fp_glVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params); } + +/* GL_NVX_conditional_render */ +inline void glBeginConditionalRenderNVX(GLuint id) { fp_glBeginConditionalRenderNVX(id); } +inline void glEndConditionalRenderNVX() { fp_glEndConditionalRenderNVX(); } + +/* GL_QCOM_alpha_test */ +inline void glAlphaFuncQCOM(GLenum func, GLclampf ref) { fp_glAlphaFuncQCOM(func, ref); } + +/* GL_QCOM_driver_control */ +inline void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls) { fp_glGetDriverControlsQCOM(num, size, driverControls); } +inline void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString) { fp_glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString); } +inline void glEnableDriverControlQCOM(GLuint driverControl) { fp_glEnableDriverControlQCOM(driverControl); } +inline void glDisableDriverControlQCOM(GLuint driverControl) { fp_glDisableDriverControlQCOM(driverControl); } + +/* GL_QCOM_extended_get */ +inline void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures) { fp_glExtGetTexturesQCOM(textures, maxTextures, numTextures); } +inline void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers) { fp_glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers); } +inline void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers) { fp_glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers); } +inline void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers) { fp_glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers); } +inline void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params) { fp_glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params); } +inline void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param) { fp_glExtTexObjectStateOverrideiQCOM(target, pname, param); } +inline void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void* texels) { fp_glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels); } +inline void glExtGetBufferPointervQCOM(GLenum target, void** params) { fp_glExtGetBufferPointervQCOM(target, params); } + +/* GL_QCOM_extended_get2 */ +inline void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders) { fp_glExtGetShadersQCOM(shaders, maxShaders, numShaders); } +inline void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms) { fp_glExtGetProgramsQCOM(programs, maxPrograms, numPrograms); } +inline GLboolean glExtIsProgramBinaryQCOM(GLuint program) { return fp_glExtIsProgramBinaryQCOM(program); } +inline void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length) { fp_glExtGetProgramBinarySourceQCOM(program, shadertype, source, length); } + +/* GL_QCOM_tiled_rendering */ +inline void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) { fp_glStartTilingQCOM(x, y, width, height, preserveMask); } +inline void glEndTilingQCOM(GLbitfield preserveMask) { fp_glEndTilingQCOM(preserveMask); } + +} /* namespace glad */ + +#endif /* __glad_funcs_hpp_ */ diff --git a/src/libraries/lodepng/lodepng.cpp b/src/libraries/lodepng/lodepng.cpp new file mode 100644 index 000000000..7f1b1c122 --- /dev/null +++ b/src/libraries/lodepng/lodepng.cpp @@ -0,0 +1,6141 @@ +/* +LodePNG version 20141130 + +Copyright (c) 2005-2014 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +/* +The manual and changelog are in the header file "lodepng.h" +Rename this file to lodepng.cpp to use it for C++, or to lodepng.c to use it for C. +*/ + +#include "lodepng.h" + +#include +#include + +#ifdef LODEPNG_COMPILE_CPP +#include +#endif /*LODEPNG_COMPILE_CPP*/ + +#if defined(_MSC_VER) && (_MSC_VER >= 1310) /*Visual Studio: A few warning types are not desired here.*/ +#pragma warning( disable : 4244 ) /*implicit conversions: not warned by gcc -Wall -Wextra and requires too much casts*/ +#pragma warning( disable : 4996 ) /*VS does not like fopen, but fopen_s is not standard C so unusable here*/ +#endif /*_MSC_VER */ + +/* +This source file is built up in the following large parts. The code sections +with the "LODEPNG_COMPILE_" #defines divide this up further in an intermixed way. +-Tools for C and common code for PNG and Zlib +-C Code for Zlib (huffman, deflate, ...) +-C Code for PNG (file format chunks, adam7, PNG filters, color conversions, ...) +-The C++ wrapper around all of the above +*/ + +/*The malloc, realloc and free functions defined here with "lodepng_" in front +of the name, so that you can easily change them to others related to your +platform if needed. Everything else in the code calls these. Pass +-DLODEPNG_NO_COMPILE_ALLOCATORS to the compiler, or comment out +#define LODEPNG_COMPILE_ALLOCATORS in the header, to disable the ones here and +define them in your own project's source files without needing to change +lodepng source code. Don't forget to remove "static" if you copypaste them +from here.*/ + +#ifdef LODEPNG_COMPILE_ALLOCATORS +static void* lodepng_malloc(size_t size) +{ + return malloc(size); +} + +static void* lodepng_realloc(void* ptr, size_t new_size) +{ + return realloc(ptr, new_size); +} + +static void lodepng_free(void* ptr) +{ + free(ptr); +} +#else /*LODEPNG_COMPILE_ALLOCATORS*/ +void* lodepng_malloc(size_t size); +void* lodepng_realloc(void* ptr, size_t new_size); +void lodepng_free(void* ptr); +#endif /*LODEPNG_COMPILE_ALLOCATORS*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // Tools for C, and common code for PNG and Zlib. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Often in case of an error a value is assigned to a variable and then it breaks +out of a loop (to go to the cleanup phase of a function). This macro does that. +It makes the error handling code shorter and more readable. + +Example: if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83); +*/ +#define CERROR_BREAK(errorvar, code)\ +{\ + errorvar = code;\ + break;\ +} + +/*version of CERROR_BREAK that assumes the common case where the error variable is named "error"*/ +#define ERROR_BREAK(code) CERROR_BREAK(error, code) + +/*Set error var to the error code, and return it.*/ +#define CERROR_RETURN_ERROR(errorvar, code)\ +{\ + errorvar = code;\ + return code;\ +} + +/*Try the code, if it returns error, also return the error.*/ +#define CERROR_TRY_RETURN(call)\ +{\ + unsigned error = call;\ + if(error) return error;\ +} + +/*Set error var to the error code, and return from the void function.*/ +#define CERROR_RETURN(errorvar, code)\ +{\ + errorvar = code;\ + return;\ +} + +/* +About uivector, ucvector and string: +-All of them wrap dynamic arrays or text strings in a similar way. +-LodePNG was originally written in C++. The vectors replace the std::vectors that were used in the C++ version. +-The string tools are made to avoid problems with compilers that declare things like strncat as deprecated. +-They're not used in the interface, only internally in this file as static functions. +-As with many other structs in this file, the init and cleanup functions serve as ctor and dtor. +*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*dynamic vector of unsigned ints*/ +typedef struct uivector +{ + unsigned* data; + size_t size; /*size in number of unsigned longs*/ + size_t allocsize; /*allocated size in bytes*/ +} uivector; + +static void uivector_cleanup(void* p) +{ + ((uivector*)p)->size = ((uivector*)p)->allocsize = 0; + lodepng_free(((uivector*)p)->data); + ((uivector*)p)->data = NULL; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_reserve(uivector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_resize(uivector* p, size_t size) +{ + if(!uivector_reserve(p, size * sizeof(unsigned))) return 0; + p->size = size; + return 1; /*success*/ +} + +/*resize and give all new elements the value*/ +static unsigned uivector_resizev(uivector* p, size_t size, unsigned value) +{ + size_t oldsize = p->size, i; + if(!uivector_resize(p, size)) return 0; + for(i = oldsize; i < size; ++i) p->data[i] = value; + return 1; +} + +static void uivector_init(uivector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} + +#ifdef LODEPNG_COMPILE_ENCODER +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_push_back(uivector* p, unsigned c) +{ + if(!uivector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} + +/*copy q to p, returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_copy(uivector* p, const uivector* q) +{ + size_t i; + if(!uivector_resize(p, q->size)) return 0; + for(i = 0; i != q->size; ++i) p->data[i] = q->data[i]; + return 1; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* /////////////////////////////////////////////////////////////////////////// */ + +/*dynamic vector of unsigned chars*/ +typedef struct ucvector +{ + unsigned char* data; + size_t size; /*used size*/ + size_t allocsize; /*allocated size*/ +} ucvector; + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_reserve(ucvector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned char*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_resize(ucvector* p, size_t size) +{ + if(!ucvector_reserve(p, size * sizeof(unsigned char))) return 0; + p->size = size; + return 1; /*success*/ +} + +#ifdef LODEPNG_COMPILE_PNG + +static void ucvector_cleanup(void* p) +{ + ((ucvector*)p)->size = ((ucvector*)p)->allocsize = 0; + lodepng_free(((ucvector*)p)->data); + ((ucvector*)p)->data = NULL; +} + +static void ucvector_init(ucvector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} + +#ifdef LODEPNG_COMPILE_DECODER +/*resize and give all new elements the value*/ +static unsigned ucvector_resizev(ucvector* p, size_t size, unsigned char value) +{ + size_t oldsize = p->size, i; + if(!ucvector_resize(p, size)) return 0; + for(i = oldsize; i < size; ++i) p->data[i] = value; + return 1; +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*you can both convert from vector to buffer&size and vica versa. If you use +init_buffer to take over a buffer and size, it is not needed to use cleanup*/ +static void ucvector_init_buffer(ucvector* p, unsigned char* buffer, size_t size) +{ + p->data = buffer; + p->allocsize = p->size = size; +} +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#if (defined(LODEPNG_COMPILE_PNG) && defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)) || defined(LODEPNG_COMPILE_ENCODER) +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_push_back(ucvector* p, unsigned char c) +{ + if(!ucvector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned string_resize(char** out, size_t size) +{ + char* data = (char*)lodepng_realloc(*out, size + 1); + if(data) + { + data[size] = 0; /*null termination char*/ + *out = data; + } + return data != 0; +} + +/*init a {char*, size_t} pair for use as string*/ +static void string_init(char** out) +{ + *out = NULL; + string_resize(out, 0); +} + +/*free the above pair again*/ +static void string_cleanup(char** out) +{ + lodepng_free(*out); + *out = NULL; +} + +static void string_set(char** out, const char* in) +{ + size_t insize = strlen(in), i; + if(string_resize(out, insize)) + { + for(i = 0; i != insize; ++i) + { + (*out)[i] = in[i]; + } + } +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_read32bitInt(const unsigned char* buffer) +{ + return (unsigned)((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]); +} + +#if defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER) +/*buffer must have at least 4 allocated bytes available*/ +static void lodepng_set32bitInt(unsigned char* buffer, unsigned value) +{ + buffer[0] = (unsigned char)((value >> 24) & 0xff); + buffer[1] = (unsigned char)((value >> 16) & 0xff); + buffer[2] = (unsigned char)((value >> 8) & 0xff); + buffer[3] = (unsigned char)((value ) & 0xff); +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + +#ifdef LODEPNG_COMPILE_ENCODER +static void lodepng_add32bitInt(ucvector* buffer, unsigned value) +{ + ucvector_resize(buffer, buffer->size + 4); /*todo: give error if resize failed*/ + lodepng_set32bitInt(&buffer->data[buffer->size - 4], value); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / File IO / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DISK + +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename) +{ + FILE* file; + long size; + + /*provide some proper output values if error will happen*/ + *out = 0; + *outsize = 0; + + file = fopen(filename, "rb"); + if(!file) return 78; + + /*get filesize:*/ + fseek(file , 0 , SEEK_END); + size = ftell(file); + rewind(file); + + /*read contents of the file into the vector*/ + *outsize = 0; + *out = (unsigned char*)lodepng_malloc((size_t)size); + if(size && (*out)) (*outsize) = fread(*out, 1, (size_t)size, file); + + fclose(file); + if(!(*out) && size) return 83; /*the above malloc failed*/ + return 0; +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename) +{ + FILE* file; + file = fopen(filename, "wb" ); + if(!file) return 79; + fwrite((char*)buffer , 1 , buffersize, file); + fclose(file); + return 0; +} + +#endif /*LODEPNG_COMPILE_DISK*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of common code and tools. Begin of Zlib related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_ENCODER +/*TODO: this ignores potential out of memory errors*/ +#define addBitToStream(/*size_t**/ bitpointer, /*ucvector**/ bitstream, /*unsigned char*/ bit)\ +{\ + /*add a new byte at the end*/\ + if(((*bitpointer) & 7) == 0) ucvector_push_back(bitstream, (unsigned char)0);\ + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/\ + (bitstream->data[bitstream->size - 1]) |= (bit << ((*bitpointer) & 0x7));\ + ++(*bitpointer);\ +} + +static void addBitsToStream(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i != nbits; ++i) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> i) & 1)); +} + +static void addBitsToStreamReversed(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i != nbits; ++i) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> (nbits - 1 - i)) & 1)); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +#define READBIT(bitpointer, bitstream) ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (unsigned char)1) + +static unsigned char readBitFromStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)(READBIT(*bitpointer, bitstream)); + ++(*bitpointer); + return result; +} + +static unsigned readBitsFromStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0, i; + for(i = 0; i != nbits; ++i) + { + result += ((unsigned)READBIT(*bitpointer, bitstream)) << i; + ++(*bitpointer); + } + return result; +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflate - Huffman / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#define FIRST_LENGTH_CODE_INDEX 257 +#define LAST_LENGTH_CODE_INDEX 285 +/*256 literals, the end code, some length codes, and 2 unused codes*/ +#define NUM_DEFLATE_CODE_SYMBOLS 288 +/*the distance codes have their own symbols, 30 used, 2 unused*/ +#define NUM_DISTANCE_SYMBOLS 32 +/*the code length codes. 0-15: code lengths, 16: copy previous 3-6 times, 17: 3-10 zeros, 18: 11-138 zeros*/ +#define NUM_CODE_LENGTH_CODES 19 + +/*the base lengths represented by codes 257-285*/ +static const unsigned LENGTHBASE[29] + = {3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, + 67, 83, 99, 115, 131, 163, 195, 227, 258}; + +/*the extra bits used by codes 257-285 (added to base length)*/ +static const unsigned LENGTHEXTRA[29] + = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, 0}; + +/*the base backwards distances (the bits of distance codes appear after length codes and use their own huffman tree)*/ +static const unsigned DISTANCEBASE[30] + = {1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, + 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577}; + +/*the extra bits of backwards distances (added to base)*/ +static const unsigned DISTANCEEXTRA[30] + = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, + 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13}; + +/*the order in which "code length alphabet code lengths" are stored, out of this +the huffman tree of the dynamic huffman tree lengths is generated*/ +static const unsigned CLCL_ORDER[NUM_CODE_LENGTH_CODES] + = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; + +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Huffman tree struct, containing multiple representations of the tree +*/ +typedef struct HuffmanTree +{ + unsigned* tree2d; + unsigned* tree1d; + unsigned* lengths; /*the lengths of the codes of the 1d-tree*/ + unsigned maxbitlen; /*maximum number of bits a single code can get*/ + unsigned numcodes; /*number of symbols in the alphabet = number of codes*/ +} HuffmanTree; + +/*function used for debug purposes to draw the tree in ascii art with C++*/ +/* +static void HuffmanTree_draw(HuffmanTree* tree) +{ + std::cout << "tree. length: " << tree->numcodes << " maxbitlen: " << tree->maxbitlen << std::endl; + for(size_t i = 0; i != tree->tree1d.size; ++i) + { + if(tree->lengths.data[i]) + std::cout << i << " " << tree->tree1d.data[i] << " " << tree->lengths.data[i] << std::endl; + } + std::cout << std::endl; +}*/ + +static void HuffmanTree_init(HuffmanTree* tree) +{ + tree->tree2d = 0; + tree->tree1d = 0; + tree->lengths = 0; +} + +static void HuffmanTree_cleanup(HuffmanTree* tree) +{ + lodepng_free(tree->tree2d); + lodepng_free(tree->tree1d); + lodepng_free(tree->lengths); +} + +/*the tree representation used by the decoder. return value is error*/ +static unsigned HuffmanTree_make2DTree(HuffmanTree* tree) +{ + unsigned nodefilled = 0; /*up to which node it is filled*/ + unsigned treepos = 0; /*position in the tree (1 of the numcodes columns)*/ + unsigned n, i; + + tree->tree2d = (unsigned*)lodepng_malloc(tree->numcodes * 2 * sizeof(unsigned)); + if(!tree->tree2d) return 83; /*alloc fail*/ + + /* + convert tree1d[] to tree2d[][]. In the 2D array, a value of 32767 means + uninited, a value >= numcodes is an address to another bit, a value < numcodes + is a code. The 2 rows are the 2 possible bit values (0 or 1), there are as + many columns as codes - 1. + A good huffmann tree has N * 2 - 1 nodes, of which N - 1 are internal nodes. + Here, the internal nodes are stored (what their 0 and 1 option point to). + There is only memory for such good tree currently, if there are more nodes + (due to too long length codes), error 55 will happen + */ + for(n = 0; n < tree->numcodes * 2; ++n) + { + tree->tree2d[n] = 32767; /*32767 here means the tree2d isn't filled there yet*/ + } + + for(n = 0; n < tree->numcodes; ++n) /*the codes*/ + { + for(i = 0; i != tree->lengths[n]; ++i) /*the bits for this code*/ + { + unsigned char bit = (unsigned char)((tree->tree1d[n] >> (tree->lengths[n] - i - 1)) & 1); + /*oversubscribed, see comment in lodepng_error_text*/ + if(treepos > 2147483647 || treepos + 2 > tree->numcodes) return 55; + if(tree->tree2d[2 * treepos + bit] == 32767) /*not yet filled in*/ + { + if(i + 1 == tree->lengths[n]) /*last bit*/ + { + tree->tree2d[2 * treepos + bit] = n; /*put the current code in it*/ + treepos = 0; + } + else + { + /*put address of the next step in here, first that address has to be found of course + (it's just nodefilled + 1)...*/ + ++nodefilled; + /*addresses encoded with numcodes added to it*/ + tree->tree2d[2 * treepos + bit] = nodefilled + tree->numcodes; + treepos = nodefilled; + } + } + else treepos = tree->tree2d[2 * treepos + bit] - tree->numcodes; + } + } + + for(n = 0; n < tree->numcodes * 2; ++n) + { + if(tree->tree2d[n] == 32767) tree->tree2d[n] = 0; /*remove possible remaining 32767's*/ + } + + return 0; +} + +/* +Second step for the ...makeFromLengths and ...makeFromFrequencies functions. +numcodes, lengths and maxbitlen must already be filled in correctly. return +value is error. +*/ +static unsigned HuffmanTree_makeFromLengths2(HuffmanTree* tree) +{ + uivector blcount; + uivector nextcode; + unsigned error = 0; + unsigned bits, n; + + uivector_init(&blcount); + uivector_init(&nextcode); + + tree->tree1d = (unsigned*)lodepng_malloc(tree->numcodes * sizeof(unsigned)); + if(!tree->tree1d) error = 83; /*alloc fail*/ + + if(!uivector_resizev(&blcount, tree->maxbitlen + 1, 0) + || !uivector_resizev(&nextcode, tree->maxbitlen + 1, 0)) + error = 83; /*alloc fail*/ + + if(!error) + { + /*step 1: count number of instances of each code length*/ + for(bits = 0; bits != tree->numcodes; ++bits) ++blcount.data[tree->lengths[bits]]; + /*step 2: generate the nextcode values*/ + for(bits = 1; bits <= tree->maxbitlen; ++bits) + { + nextcode.data[bits] = (nextcode.data[bits - 1] + blcount.data[bits - 1]) << 1; + } + /*step 3: generate all the codes*/ + for(n = 0; n != tree->numcodes; ++n) + { + if(tree->lengths[n] != 0) tree->tree1d[n] = nextcode.data[tree->lengths[n]]++; + } + } + + uivector_cleanup(&blcount); + uivector_cleanup(&nextcode); + + if(!error) return HuffmanTree_make2DTree(tree); + else return error; +} + +/* +given the code lengths (as stored in the PNG file), generate the tree as defined +by Deflate. maxbitlen is the maximum bits that a code in the tree can have. +return value is error. +*/ +static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen, + size_t numcodes, unsigned maxbitlen) +{ + unsigned i; + tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + for(i = 0; i != numcodes; ++i) tree->lengths[i] = bitlen[i]; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->maxbitlen = maxbitlen; + return HuffmanTree_makeFromLengths2(tree); +} + +#ifdef LODEPNG_COMPILE_ENCODER + +/* +A coin, this is the terminology used for the package-merge algorithm and the +coin collector's problem. This is used to generate the huffman tree. +A coin can be multiple coins (when they're merged) +*/ +typedef struct Coin +{ + uivector symbols; + float weight; /*the sum of all weights in this coin*/ +} Coin; + +static void coin_init(Coin* c) +{ + uivector_init(&c->symbols); +} + +/*argument c is void* so that this dtor can be given as function pointer to the vector resize function*/ +static void coin_cleanup(void* c) +{ + uivector_cleanup(&((Coin*)c)->symbols); +} + +static void coin_copy(Coin* c1, const Coin* c2) +{ + c1->weight = c2->weight; + uivector_copy(&c1->symbols, &c2->symbols); +} + +static void add_coins(Coin* c1, const Coin* c2) +{ + size_t i; + for(i = 0; i != c2->symbols.size; ++i) uivector_push_back(&c1->symbols, c2->symbols.data[i]); + c1->weight += c2->weight; +} + +static void init_coins(Coin* coins, size_t num) +{ + size_t i; + for(i = 0; i != num; ++i) coin_init(&coins[i]); +} + +static void cleanup_coins(Coin* coins, size_t num) +{ + size_t i; + for(i = 0; i != num; ++i) coin_cleanup(&coins[i]); +} + +static int coin_compare(const void* a, const void* b) { + float wa = ((const Coin*)a)->weight; + float wb = ((const Coin*)b)->weight; + return wa > wb ? 1 : wa < wb ? -1 : 0; +} + +static unsigned append_symbol_coins(Coin* coins, const unsigned* frequencies, unsigned numcodes, size_t sum) +{ + unsigned i; + unsigned j = 0; /*index of present symbols*/ + for(i = 0; i != numcodes; ++i) + { + if(frequencies[i] != 0) /*only include symbols that are present*/ + { + coins[j].weight = frequencies[i] / (float)sum; + uivector_push_back(&coins[j].symbols, i); + ++j; + } + } + return 0; +} + +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen) +{ + unsigned i, j; + size_t sum = 0, numpresent = 0; + unsigned error = 0; + Coin* coins; /*the coins of the currently calculated row*/ + Coin* prev_row; /*the previous row of coins*/ + size_t numcoins; + size_t coinmem; + + if(numcodes == 0) return 80; /*error: a tree of 0 symbols is not supposed to be made*/ + + for(i = 0; i != numcodes; ++i) + { + if(frequencies[i] > 0) + { + ++numpresent; + sum += frequencies[i]; + } + } + + for(i = 0; i != numcodes; ++i) lengths[i] = 0; + + /*ensure at least two present symbols. There should be at least one symbol + according to RFC 1951 section 3.2.7. To decoders incorrectly require two. To + make these work as well ensure there are at least two symbols. The + Package-Merge code below also doesn't work correctly if there's only one + symbol, it'd give it the theoritical 0 bits but in practice zlib wants 1 bit*/ + if(numpresent == 0) + { + lengths[0] = lengths[1] = 1; /*note that for RFC 1951 section 3.2.7, only lengths[0] = 1 is needed*/ + } + else if(numpresent == 1) + { + for(i = 0; i != numcodes; ++i) + { + if(frequencies[i]) + { + lengths[i] = 1; + lengths[i == 0 ? 1 : 0] = 1; + break; + } + } + } + else + { + /*Package-Merge algorithm represented by coin collector's problem + For every symbol, maxbitlen coins will be created*/ + + coinmem = numpresent * 2; /*max amount of coins needed with the current algo*/ + coins = (Coin*)lodepng_malloc(sizeof(Coin) * coinmem); + prev_row = (Coin*)lodepng_malloc(sizeof(Coin) * coinmem); + if(!coins || !prev_row) + { + lodepng_free(coins); + lodepng_free(prev_row); + return 83; /*alloc fail*/ + } + init_coins(coins, coinmem); + init_coins(prev_row, coinmem); + + /*first row, lowest denominator*/ + error = append_symbol_coins(coins, frequencies, numcodes, sum); + numcoins = numpresent; + qsort(coins, numcoins, sizeof(Coin), coin_compare); + if(!error) + { + unsigned numprev = 0; + for(j = 1; j <= maxbitlen && !error; ++j) /*each of the remaining rows*/ + { + unsigned tempnum; + Coin* tempcoins; + /*swap prev_row and coins, and their amounts*/ + tempcoins = prev_row; prev_row = coins; coins = tempcoins; + tempnum = numprev; numprev = numcoins; numcoins = tempnum; + + cleanup_coins(coins, numcoins); + init_coins(coins, numcoins); + + numcoins = 0; + + /*fill in the merged coins of the previous row*/ + for(i = 0; i + 1 < numprev; i += 2) + { + /*merge prev_row[i] and prev_row[i + 1] into new coin*/ + Coin* coin = &coins[numcoins++]; + coin_copy(coin, &prev_row[i]); + add_coins(coin, &prev_row[i + 1]); + } + /*fill in all the original symbols again*/ + if(j < maxbitlen) + { + error = append_symbol_coins(coins + numcoins, frequencies, numcodes, sum); + numcoins += numpresent; + } + qsort(coins, numcoins, sizeof(Coin), coin_compare); + } + } + + if(!error) + { + /*calculate the lengths of each symbol, as the amount of times a coin of each symbol is used*/ + for(i = 0; i + 1 < numpresent; ++i) + { + Coin* coin = &coins[i]; + for(j = 0; j < coin->symbols.size; ++j) ++lengths[coin->symbols.data[j]]; + } + } + + cleanup_coins(coins, coinmem); + lodepng_free(coins); + cleanup_coins(prev_row, coinmem); + lodepng_free(prev_row); + } + + return error; +} + +/*Create the Huffman tree given the symbol frequencies*/ +static unsigned HuffmanTree_makeFromFrequencies(HuffmanTree* tree, const unsigned* frequencies, + size_t mincodes, size_t numcodes, unsigned maxbitlen) +{ + unsigned error = 0; + while(!frequencies[numcodes - 1] && numcodes > mincodes) --numcodes; /*trim zeroes*/ + tree->maxbitlen = maxbitlen; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->lengths = (unsigned*)lodepng_realloc(tree->lengths, numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + /*initialize all lengths to 0*/ + memset(tree->lengths, 0, numcodes * sizeof(unsigned)); + + error = lodepng_huffman_code_lengths(tree->lengths, frequencies, numcodes, maxbitlen); + if(!error) error = HuffmanTree_makeFromLengths2(tree); + return error; +} + +static unsigned HuffmanTree_getCode(const HuffmanTree* tree, unsigned index) +{ + return tree->tree1d[index]; +} + +static unsigned HuffmanTree_getLength(const HuffmanTree* tree, unsigned index) +{ + return tree->lengths[index]; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*get the literal and length code tree of a deflated block with fixed tree, as per the deflate specification*/ +static unsigned generateFixedLitLenTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*288 possible codes: 0-255=literals, 256=endcode, 257-285=lengthcodes, 286-287=unused*/ + for(i = 0; i <= 143; ++i) bitlen[i] = 8; + for(i = 144; i <= 255; ++i) bitlen[i] = 9; + for(i = 256; i <= 279; ++i) bitlen[i] = 7; + for(i = 280; i <= 287; ++i) bitlen[i] = 8; + + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DEFLATE_CODE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +/*get the distance code tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static unsigned generateFixedDistanceTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*there are 32 distance codes, but 30-31 are unused*/ + for(i = 0; i != NUM_DISTANCE_SYMBOLS; ++i) bitlen[i] = 5; + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DISTANCE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* +returns the code, or (unsigned)(-1) if error happened +inbitlength is the length of the complete buffer, in bits (so its byte length times 8) +*/ +static unsigned huffmanDecodeSymbol(const unsigned char* in, size_t* bp, + const HuffmanTree* codetree, size_t inbitlength) +{ + unsigned treepos = 0, ct; + for(;;) + { + if(*bp >= inbitlength) return (unsigned)(-1); /*error: end of input memory reached without endcode*/ + /* + decode the symbol from the tree. The "readBitFromStream" code is inlined in + the expression below because this is the biggest bottleneck while decoding + */ + ct = codetree->tree2d[(treepos << 1) + READBIT(*bp, in)]; + ++(*bp); + if(ct < codetree->numcodes) return ct; /*the symbol is decoded, return it*/ + else treepos = ct - codetree->numcodes; /*symbol not yet decoded, instead move tree position*/ + + if(treepos >= codetree->numcodes) return (unsigned)(-1); /*error: it appeared outside the codetree*/ + } +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Inflator (Decompressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*get the tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static void getTreeInflateFixed(HuffmanTree* tree_ll, HuffmanTree* tree_d) +{ + /*TODO: check for out of memory errors*/ + generateFixedLitLenTree(tree_ll); + generateFixedDistanceTree(tree_d); +} + +/*get the tree of a deflated block with dynamic tree, the tree itself is also Huffman compressed with a known tree*/ +static unsigned getTreeInflateDynamic(HuffmanTree* tree_ll, HuffmanTree* tree_d, + const unsigned char* in, size_t* bp, size_t inlength) +{ + /*make sure that length values that aren't filled in will be 0, or a wrong tree will be generated*/ + unsigned error = 0; + unsigned n, HLIT, HDIST, HCLEN, i; + size_t inbitlength = inlength * 8; + + /*see comments in deflateDynamic for explanation of the context and these variables, it is analogous*/ + unsigned* bitlen_ll = 0; /*lit,len code lengths*/ + unsigned* bitlen_d = 0; /*dist code lengths*/ + /*code length code lengths ("clcl"), the bit lengths of the huffman tree used to compress bitlen_ll and bitlen_d*/ + unsigned* bitlen_cl = 0; + HuffmanTree tree_cl; /*the code tree for code length codes (the huffman tree for compressed huffman trees)*/ + + if((*bp) + 14 > (inlength << 3)) return 49; /*error: the bit pointer is or will go past the memory*/ + + /*number of literal/length codes + 257. Unlike the spec, the value 257 is added to it here already*/ + HLIT = readBitsFromStream(bp, in, 5) + 257; + /*number of distance codes. Unlike the spec, the value 1 is added to it here already*/ + HDIST = readBitsFromStream(bp, in, 5) + 1; + /*number of code length codes. Unlike the spec, the value 4 is added to it here already*/ + HCLEN = readBitsFromStream(bp, in, 4) + 4; + + if((*bp) + HCLEN * 3 > (inlength << 3)) return 50; /*error: the bit pointer is or will go past the memory*/ + + HuffmanTree_init(&tree_cl); + + while(!error) + { + /*read the code length codes out of 3 * (amount of code length codes) bits*/ + + bitlen_cl = (unsigned*)lodepng_malloc(NUM_CODE_LENGTH_CODES * sizeof(unsigned)); + if(!bitlen_cl) ERROR_BREAK(83 /*alloc fail*/); + + for(i = 0; i != NUM_CODE_LENGTH_CODES; ++i) + { + if(i < HCLEN) bitlen_cl[CLCL_ORDER[i]] = readBitsFromStream(bp, in, 3); + else bitlen_cl[CLCL_ORDER[i]] = 0; /*if not, it must stay 0*/ + } + + error = HuffmanTree_makeFromLengths(&tree_cl, bitlen_cl, NUM_CODE_LENGTH_CODES, 7); + if(error) break; + + /*now we can use this tree to read the lengths for the tree that this function will return*/ + bitlen_ll = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + bitlen_d = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen_ll || !bitlen_d) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != NUM_DEFLATE_CODE_SYMBOLS; ++i) bitlen_ll[i] = 0; + for(i = 0; i != NUM_DISTANCE_SYMBOLS; ++i) bitlen_d[i] = 0; + + /*i is the current symbol we're reading in the part that contains the code lengths of lit/len and dist codes*/ + i = 0; + while(i < HLIT + HDIST) + { + unsigned code = huffmanDecodeSymbol(in, bp, &tree_cl, inbitlength); + if(code <= 15) /*a length code*/ + { + if(i < HLIT) bitlen_ll[i] = code; + else bitlen_d[i - HLIT] = code; + ++i; + } + else if(code == 16) /*repeat previous*/ + { + unsigned replength = 3; /*read in the 2 bits that indicate repeat length (3-6)*/ + unsigned value; /*set value to the previous code*/ + + if (i == 0) ERROR_BREAK(54); /*can't repeat previous if i is 0*/ + + if((*bp + 2) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 2); + + if(i < HLIT + 1) value = bitlen_ll[i - 1]; + else value = bitlen_d[i - HLIT - 1]; + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(13); /*error: i is larger than the amount of codes*/ + if(i < HLIT) bitlen_ll[i] = value; + else bitlen_d[i - HLIT] = value; + ++i; + } + } + else if(code == 17) /*repeat "0" 3-10 times*/ + { + unsigned replength = 3; /*read in the bits that indicate repeat length*/ + if((*bp + 3) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 3); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(14); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + ++i; + } + } + else if(code == 18) /*repeat "0" 11-138 times*/ + { + unsigned replength = 11; /*read in the bits that indicate repeat length*/ + if((*bp + 7) > inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + replength += readBitsFromStream(bp, in, 7); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; ++n) + { + if(i >= HLIT + HDIST) ERROR_BREAK(15); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + ++i; + } + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + if(code == (unsigned)(-1)) + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inbitlength ? 10 : 11; + } + else error = 16; /*unexisting code, this can never happen*/ + break; + } + } + if(error) break; + + if(bitlen_ll[256] == 0) ERROR_BREAK(64); /*the length of the end code 256 must be larger than 0*/ + + /*now we've finally got HLIT and HDIST, so generate the code trees, and the function is done*/ + error = HuffmanTree_makeFromLengths(tree_ll, bitlen_ll, NUM_DEFLATE_CODE_SYMBOLS, 15); + if(error) break; + error = HuffmanTree_makeFromLengths(tree_d, bitlen_d, NUM_DISTANCE_SYMBOLS, 15); + + break; /*end of error-while*/ + } + + lodepng_free(bitlen_cl); + lodepng_free(bitlen_ll); + lodepng_free(bitlen_d); + HuffmanTree_cleanup(&tree_cl); + + return error; +} + +/*inflate a block with dynamic of fixed Huffman tree*/ +static unsigned inflateHuffmanBlock(ucvector* out, const unsigned char* in, size_t* bp, + size_t* pos, size_t inlength, unsigned btype) +{ + unsigned error = 0; + HuffmanTree tree_ll; /*the huffman tree for literal and length codes*/ + HuffmanTree tree_d; /*the huffman tree for distance codes*/ + size_t inbitlength = inlength * 8; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + if(btype == 1) getTreeInflateFixed(&tree_ll, &tree_d); + else if(btype == 2) error = getTreeInflateDynamic(&tree_ll, &tree_d, in, bp, inlength); + + while(!error) /*decode all symbols until end reached, breaks at end code*/ + { + /*code_ll is literal, length or end code*/ + unsigned code_ll = huffmanDecodeSymbol(in, bp, &tree_ll, inbitlength); + if(code_ll <= 255) /*literal symbol*/ + { + /*ucvector_push_back would do the same, but for some reason the two lines below run 10% faster*/ + if(!ucvector_resize(out, (*pos) + 1)) ERROR_BREAK(83 /*alloc fail*/); + out->data[*pos] = (unsigned char)code_ll; + ++(*pos); + } + else if(code_ll >= FIRST_LENGTH_CODE_INDEX && code_ll <= LAST_LENGTH_CODE_INDEX) /*length code*/ + { + unsigned code_d, distance; + unsigned numextrabits_l, numextrabits_d; /*extra bits for length and distance*/ + size_t start, forward, backward, length; + + /*part 1: get length base*/ + length = LENGTHBASE[code_ll - FIRST_LENGTH_CODE_INDEX]; + + /*part 2: get extra bits and add the value of that to length*/ + numextrabits_l = LENGTHEXTRA[code_ll - FIRST_LENGTH_CODE_INDEX]; + if((*bp + numextrabits_l) > inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + length += readBitsFromStream(bp, in, numextrabits_l); + + /*part 3: get distance code*/ + code_d = huffmanDecodeSymbol(in, bp, &tree_d, inbitlength); + if(code_d > 29) + { + if(code_ll == (unsigned)(-1)) /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inlength * 8 ? 10 : 11; + } + else error = 18; /*error: invalid distance code (30-31 are never used)*/ + break; + } + distance = DISTANCEBASE[code_d]; + + /*part 4: get extra bits from distance*/ + numextrabits_d = DISTANCEEXTRA[code_d]; + if((*bp + numextrabits_d) > inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + distance += readBitsFromStream(bp, in, numextrabits_d); + + /*part 5: fill in all the out[n] values based on the length and dist*/ + start = (*pos); + if(distance > start) ERROR_BREAK(52); /*too long backward distance*/ + backward = start - distance; + + if(!ucvector_resize(out, (*pos) + length)) ERROR_BREAK(83 /*alloc fail*/); + for(forward = 0; forward < length; ++forward) + { + out->data[(*pos)] = out->data[backward]; + ++(*pos); + ++backward; + if(backward >= start) backward = start - distance; + } + } + else if(code_ll == 256) + { + break; /*end code, break the loop*/ + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = ((*bp) > inlength * 8) ? 10 : 11; + break; + } + } + + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned inflateNoCompression(ucvector* out, const unsigned char* in, size_t* bp, size_t* pos, size_t inlength) +{ + size_t p; + unsigned LEN, NLEN, n, error = 0; + + /*go to first boundary of byte*/ + while(((*bp) & 0x7) != 0) ++(*bp); + p = (*bp) / 8; /*byte position*/ + + /*read LEN (2 bytes) and NLEN (2 bytes)*/ + if(p + 4 >= inlength) return 52; /*error, bit pointer will jump past memory*/ + LEN = in[p] + 256u * in[p + 1]; p += 2; + NLEN = in[p] + 256u * in[p + 1]; p += 2; + + /*check if 16-bit NLEN is really the one's complement of LEN*/ + if(LEN + NLEN != 65535) return 21; /*error: NLEN is not one's complement of LEN*/ + + if(!ucvector_resize(out, (*pos) + LEN)) return 83; /*alloc fail*/ + + /*read the literal data: LEN bytes are now stored in the out buffer*/ + if(p + LEN > inlength) return 23; /*error: reading outside of in buffer*/ + for(n = 0; n < LEN; ++n) out->data[(*pos)++] = in[p++]; + + (*bp) = p * 8; + + return error; +} + +static unsigned lodepng_inflatev(ucvector* out, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + /*bit pointer in the "in" data, current byte is bp >> 3, current bit is bp & 0x7 (from lsb to msb of the byte)*/ + size_t bp = 0; + unsigned BFINAL = 0; + size_t pos = 0; /*byte position in the out buffer*/ + unsigned error = 0; + + (void)settings; + + while(!BFINAL) + { + unsigned BTYPE; + if(bp + 2 >= insize * 8) return 52; /*error, bit pointer will jump past memory*/ + BFINAL = readBitFromStream(&bp, in); + BTYPE = 1u * readBitFromStream(&bp, in); + BTYPE += 2u * readBitFromStream(&bp, in); + + if(BTYPE == 3) return 20; /*error: invalid BTYPE*/ + else if(BTYPE == 0) error = inflateNoCompression(out, in, &bp, &pos, insize); /*no compression*/ + else error = inflateHuffmanBlock(out, in, &bp, &pos, insize, BTYPE); /*compression, BTYPE 01 or 10*/ + + if(error) return error; + } + + return error; +} + +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_inflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + if(settings->custom_inflate) + { + return settings->custom_inflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_inflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflator (Compressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static const size_t MAX_SUPPORTED_DEFLATE_LENGTH = 258; + +/*bitlen is the size in bits of the code*/ +static void addHuffmanSymbol(size_t* bp, ucvector* compressed, unsigned code, unsigned bitlen) +{ + addBitsToStreamReversed(bp, compressed, code, bitlen); +} + +/*search the index in the array, that has the largest value smaller than or equal to the given value, +given array must be sorted (if no value is smaller, it returns the size of the given array)*/ +static size_t searchCodeIndex(const unsigned* array, size_t array_size, size_t value) +{ + /*linear search implementation*/ + /*for(size_t i = 1; i < array_size; ++i) if(array[i] > value) return i - 1; + return array_size - 1;*/ + + /*binary search implementation (not that much faster) (precondition: array_size > 0)*/ + size_t left = 1; + size_t right = array_size - 1; + while(left <= right) + { + size_t mid = (left + right) / 2; + if(array[mid] <= value) left = mid + 1; /*the value to find is more to the right*/ + else if(array[mid - 1] > value) right = mid - 1; /*the value to find is more to the left*/ + else return mid - 1; + } + return array_size - 1; +} + +static void addLengthDistance(uivector* values, size_t length, size_t distance) +{ + /*values in encoded vector are those used by deflate: + 0-255: literal bytes + 256: end + 257-285: length/distance pair (length code, followed by extra length bits, distance code, extra distance bits) + 286-287: invalid*/ + + unsigned length_code = (unsigned)searchCodeIndex(LENGTHBASE, 29, length); + unsigned extra_length = (unsigned)(length - LENGTHBASE[length_code]); + unsigned dist_code = (unsigned)searchCodeIndex(DISTANCEBASE, 30, distance); + unsigned extra_distance = (unsigned)(distance - DISTANCEBASE[dist_code]); + + uivector_push_back(values, length_code + FIRST_LENGTH_CODE_INDEX); + uivector_push_back(values, extra_length); + uivector_push_back(values, dist_code); + uivector_push_back(values, extra_distance); +} + +/*3 bytes of data get encoded into two bytes. The hash cannot use more than 3 +bytes as input because 3 is the minimum match length for deflate*/ +static const unsigned HASH_NUM_VALUES = 65536; +static const unsigned HASH_BIT_MASK = 65535; /*HASH_NUM_VALUES - 1, but C90 does not like that as initializer*/ + +typedef struct Hash +{ + int* head; /*hash value to head circular pos - can be outdated if went around window*/ + /*circular pos to prev circular pos*/ + unsigned short* chain; + int* val; /*circular pos to hash value*/ + + /*TODO: do this not only for zeros but for any repeated byte. However for PNG + it's always going to be the zeros that dominate, so not important for PNG*/ + int* headz; /*similar to head, but for chainz*/ + unsigned short* chainz; /*those with same amount of zeros*/ + unsigned short* zeros; /*length of zeros streak, used as a second hash chain*/ +} Hash; + +static unsigned hash_init(Hash* hash, unsigned windowsize) +{ + unsigned i; + hash->head = (int*)lodepng_malloc(sizeof(int) * HASH_NUM_VALUES); + hash->val = (int*)lodepng_malloc(sizeof(int) * windowsize); + hash->chain = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + hash->zeros = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + hash->headz = (int*)lodepng_malloc(sizeof(int) * (MAX_SUPPORTED_DEFLATE_LENGTH + 1)); + hash->chainz = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + if(!hash->head || !hash->chain || !hash->val || !hash->headz|| !hash->chainz || !hash->zeros) + { + return 83; /*alloc fail*/ + } + + /*initialize hash table*/ + for(i = 0; i != HASH_NUM_VALUES; ++i) hash->head[i] = -1; + for(i = 0; i != windowsize; ++i) hash->val[i] = -1; + for(i = 0; i != windowsize; ++i) hash->chain[i] = i; /*same value as index indicates uninitialized*/ + + for(i = 0; i <= MAX_SUPPORTED_DEFLATE_LENGTH; ++i) hash->headz[i] = -1; + for(i = 0; i != windowsize; ++i) hash->chainz[i] = i; /*same value as index indicates uninitialized*/ + + return 0; +} + +static void hash_cleanup(Hash* hash) +{ + lodepng_free(hash->head); + lodepng_free(hash->val); + lodepng_free(hash->chain); + + lodepng_free(hash->zeros); + lodepng_free(hash->headz); + lodepng_free(hash->chainz); +} + + + +static unsigned getHash(const unsigned char* data, size_t size, size_t pos) +{ + unsigned result = 0; + if (pos + 2 < size) + { + /*A simple shift and xor hash is used. Since the data of PNGs is dominated + by zeroes due to the filters, a better hash does not have a significant + effect on speed in traversing the chain, and causes more time spend on + calculating the hash.*/ + result ^= (unsigned)(data[pos + 0] << 0u); + result ^= (unsigned)(data[pos + 1] << 4u); + result ^= (unsigned)(data[pos + 2] << 8u); + } else { + size_t amount, i; + if(pos >= size) return 0; + amount = size - pos; + for(i = 0; i != amount; ++i) result ^= (unsigned)(data[pos + i] << (i * 8u)); + } + return result & HASH_BIT_MASK; +} + +static unsigned countZeros(const unsigned char* data, size_t size, size_t pos) +{ + const unsigned char* start = data + pos; + const unsigned char* end = start + MAX_SUPPORTED_DEFLATE_LENGTH; + if(end > data + size) end = data + size; + data = start; + while (data != end && *data == 0) ++data; + /*subtracting two addresses returned as 32-bit number (max value is MAX_SUPPORTED_DEFLATE_LENGTH)*/ + return (unsigned)(data - start); +} + +/*wpos = pos & (windowsize - 1)*/ +static void updateHashChain(Hash* hash, size_t wpos, unsigned hashval, unsigned short numzeros) +{ + hash->val[wpos] = (int)hashval; + if(hash->head[hashval] != -1) hash->chain[wpos] = hash->head[hashval]; + hash->head[hashval] = wpos; + + hash->zeros[wpos] = numzeros; + if(hash->headz[numzeros] != -1) hash->chainz[wpos] = hash->headz[numzeros]; + hash->headz[numzeros] = wpos; +} + +/* +LZ77-encode the data. Return value is error code. The input are raw bytes, the output +is in the form of unsigned integers with codes representing for example literal bytes, or +length/distance pairs. +It uses a hash table technique to let it encode faster. When doing LZ77 encoding, a +sliding window (of windowsize) is used, and all past bytes in that window can be used as +the "dictionary". A brute force search through all possible distances would be slow, and +this hash technique is one out of several ways to speed this up. +*/ +static unsigned encodeLZ77(uivector* out, Hash* hash, + const unsigned char* in, size_t inpos, size_t insize, unsigned windowsize, + unsigned minmatch, unsigned nicematch, unsigned lazymatching) +{ + size_t pos; + unsigned i, error = 0; + /*for large window lengths, assume the user wants no compression loss. Otherwise, max hash chain length speedup.*/ + unsigned maxchainlength = windowsize >= 8192 ? windowsize : windowsize / 8; + unsigned maxlazymatch = windowsize >= 8192 ? MAX_SUPPORTED_DEFLATE_LENGTH : 64; + + unsigned usezeros = 1; /*not sure if setting it to false for windowsize < 8192 is better or worse*/ + unsigned numzeros = 0; + + unsigned offset; /*the offset represents the distance in LZ77 terminology*/ + unsigned length; + unsigned lazy = 0; + unsigned lazylength = 0, lazyoffset = 0; + unsigned hashval; + unsigned current_offset, current_length; + unsigned prev_offset; + const unsigned char *lastptr, *foreptr, *backptr; + unsigned hashpos; + + if(windowsize == 0 || windowsize > 32768) return 60; /*error: windowsize smaller/larger than allowed*/ + if((windowsize & (windowsize - 1)) != 0) return 90; /*error: must be power of two*/ + + if(nicematch > MAX_SUPPORTED_DEFLATE_LENGTH) nicematch = MAX_SUPPORTED_DEFLATE_LENGTH; + + for(pos = inpos; pos < insize; ++pos) + { + size_t wpos = pos & (windowsize - 1); /*position for in 'circular' hash buffers*/ + unsigned chainlength = 0; + + hashval = getHash(in, insize, pos); + + if(usezeros && hashval == 0) + { + if (numzeros == 0) numzeros = countZeros(in, insize, pos); + else if (pos + numzeros > insize || in[pos + numzeros - 1] != 0) --numzeros; + } + else + { + numzeros = 0; + } + + updateHashChain(hash, wpos, hashval, numzeros); + + /*the length and offset found for the current position*/ + length = 0; + offset = 0; + + hashpos = hash->chain[wpos]; + + lastptr = &in[insize < pos + MAX_SUPPORTED_DEFLATE_LENGTH ? insize : pos + MAX_SUPPORTED_DEFLATE_LENGTH]; + + /*search for the longest string*/ + prev_offset = 0; + for(;;) + { + if(chainlength++ >= maxchainlength) break; + current_offset = hashpos <= wpos ? wpos - hashpos : wpos - hashpos + windowsize; + + if(current_offset < prev_offset) break; /*stop when went completely around the circular buffer*/ + prev_offset = current_offset; + if(current_offset > 0) + { + /*test the next characters*/ + foreptr = &in[pos]; + backptr = &in[pos - current_offset]; + + /*common case in PNGs is lots of zeros. Quickly skip over them as a speedup*/ + if(numzeros >= 3) + { + unsigned skip = hash->zeros[hashpos]; + if(skip > numzeros) skip = numzeros; + backptr += skip; + foreptr += skip; + } + + while(foreptr != lastptr && *backptr == *foreptr) /*maximum supported length by deflate is max length*/ + { + ++backptr; + ++foreptr; + } + current_length = (unsigned)(foreptr - &in[pos]); + + if(current_length > length) + { + length = current_length; /*the longest length*/ + offset = current_offset; /*the offset that is related to this longest length*/ + /*jump out once a length of max length is found (speed gain). This also jumps + out if length is MAX_SUPPORTED_DEFLATE_LENGTH*/ + if(current_length >= nicematch) break; + } + } + + if(hashpos == hash->chain[hashpos]) break; + + if(numzeros >= 3 && length > numzeros) { + hashpos = hash->chainz[hashpos]; + if(hash->zeros[hashpos] != numzeros) break; + } else { + hashpos = hash->chain[hashpos]; + /*outdated hash value, happens if particular value was not encountered in whole last window*/ + if(hash->val[hashpos] != (int)hashval) break; + } + } + + if(lazymatching) + { + if(!lazy && length >= 3 && length <= maxlazymatch && length < MAX_SUPPORTED_DEFLATE_LENGTH) + { + lazy = 1; + lazylength = length; + lazyoffset = offset; + continue; /*try the next byte*/ + } + if(lazy) + { + lazy = 0; + if(pos == 0) ERROR_BREAK(81); + if(length > lazylength + 1) + { + /*push the previous character as literal*/ + if(!uivector_push_back(out, in[pos - 1])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + length = lazylength; + offset = lazyoffset; + hash->head[hashval] = -1; /*the same hashchain update will be done, this ensures no wrong alteration*/ + hash->headz[numzeros] = -1; /*idem*/ + --pos; + } + } + } + if(length >= 3 && offset > windowsize) ERROR_BREAK(86 /*too big (or overflown negative) offset*/); + + /*encode it as length/distance pair or literal value*/ + if(length < 3) /*only lengths of 3 or higher are supported as length/distance pair*/ + { + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else if(length < minmatch || (length == 3 && offset > 4096)) + { + /*compensate for the fact that longer offsets have more extra bits, a + length of only 3 may be not worth it then*/ + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + addLengthDistance(out, length, offset); + for(i = 1; i < length; ++i) + { + ++pos; + wpos = pos & (windowsize - 1); + hashval = getHash(in, insize, pos); + if(usezeros && hashval == 0) + { + if (numzeros == 0) numzeros = countZeros(in, insize, pos); + else if (pos + numzeros > insize || in[pos + numzeros - 1] != 0) --numzeros; + } + else + { + numzeros = 0; + } + updateHashChain(hash, wpos, hashval, numzeros); + } + } + } /*end of the loop through each character of input*/ + + return error; +} + +/* /////////////////////////////////////////////////////////////////////////// */ + +static unsigned deflateNoCompression(ucvector* out, const unsigned char* data, size_t datasize) +{ + /*non compressed deflate block data: 1 bit BFINAL,2 bits BTYPE,(5 bits): it jumps to start of next byte, + 2 bytes LEN, 2 bytes NLEN, LEN bytes literal DATA*/ + + size_t i, j, numdeflateblocks = (datasize + 65534) / 65535; + unsigned datapos = 0; + for(i = 0; i != numdeflateblocks; ++i) + { + unsigned BFINAL, BTYPE, LEN, NLEN; + unsigned char firstbyte; + + BFINAL = (i == numdeflateblocks - 1); + BTYPE = 0; + + firstbyte = (unsigned char)(BFINAL + ((BTYPE & 1) << 1) + ((BTYPE & 2) << 1)); + ucvector_push_back(out, firstbyte); + + LEN = 65535; + if(datasize - datapos < 65535) LEN = (unsigned)datasize - datapos; + NLEN = 65535 - LEN; + + ucvector_push_back(out, (unsigned char)(LEN % 256)); + ucvector_push_back(out, (unsigned char)(LEN / 256)); + ucvector_push_back(out, (unsigned char)(NLEN % 256)); + ucvector_push_back(out, (unsigned char)(NLEN / 256)); + + /*Decompressed data*/ + for(j = 0; j < 65535 && datapos < datasize; ++j) + { + ucvector_push_back(out, data[datapos++]); + } + } + + return 0; +} + +/* +write the lz77-encoded data, which has lit, len and dist codes, to compressed stream using huffman trees. +tree_ll: the tree for lit and len codes. +tree_d: the tree for distance codes. +*/ +static void writeLZ77data(size_t* bp, ucvector* out, const uivector* lz77_encoded, + const HuffmanTree* tree_ll, const HuffmanTree* tree_d) +{ + size_t i = 0; + for(i = 0; i != lz77_encoded->size; ++i) + { + unsigned val = lz77_encoded->data[i]; + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_ll, val), HuffmanTree_getLength(tree_ll, val)); + if(val > 256) /*for a length code, 3 more things have to be added*/ + { + unsigned length_index = val - FIRST_LENGTH_CODE_INDEX; + unsigned n_length_extra_bits = LENGTHEXTRA[length_index]; + unsigned length_extra_bits = lz77_encoded->data[++i]; + + unsigned distance_code = lz77_encoded->data[++i]; + + unsigned distance_index = distance_code; + unsigned n_distance_extra_bits = DISTANCEEXTRA[distance_index]; + unsigned distance_extra_bits = lz77_encoded->data[++i]; + + addBitsToStream(bp, out, length_extra_bits, n_length_extra_bits); + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_d, distance_code), + HuffmanTree_getLength(tree_d, distance_code)); + addBitsToStream(bp, out, distance_extra_bits, n_distance_extra_bits); + } + } +} + +/*Deflate for a block of type "dynamic", that is, with freely, optimally, created huffman trees*/ +static unsigned deflateDynamic(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + unsigned error = 0; + + /* + A block is compressed as follows: The PNG data is lz77 encoded, resulting in + literal bytes and length/distance pairs. This is then huffman compressed with + two huffman trees. One huffman tree is used for the lit and len values ("ll"), + another huffman tree is used for the dist values ("d"). These two trees are + stored using their code lengths, and to compress even more these code lengths + are also run-length encoded and huffman compressed. This gives a huffman tree + of code lengths "cl". The code lenghts used to describe this third tree are + the code length code lengths ("clcl"). + */ + + /*The lz77 encoded data, represented with integers since there will also be length and distance codes in it*/ + uivector lz77_encoded; + HuffmanTree tree_ll; /*tree for lit,len values*/ + HuffmanTree tree_d; /*tree for distance codes*/ + HuffmanTree tree_cl; /*tree for encoding the code lengths representing tree_ll and tree_d*/ + uivector frequencies_ll; /*frequency of lit,len codes*/ + uivector frequencies_d; /*frequency of dist codes*/ + uivector frequencies_cl; /*frequency of code length codes*/ + uivector bitlen_lld; /*lit,len,dist code lenghts (int bits), literally (without repeat codes).*/ + uivector bitlen_lld_e; /*bitlen_lld encoded with repeat codes (this is a rudemtary run length compression)*/ + /*bitlen_cl is the code length code lengths ("clcl"). The bit lengths of codes to represent tree_cl + (these are written as is in the file, it would be crazy to compress these using yet another huffman + tree that needs to be represented by yet another set of code lengths)*/ + uivector bitlen_cl; + size_t datasize = dataend - datapos; + + /* + Due to the huffman compression of huffman tree representations ("two levels"), there are some anologies: + bitlen_lld is to tree_cl what data is to tree_ll and tree_d. + bitlen_lld_e is to bitlen_lld what lz77_encoded is to data. + bitlen_cl is to bitlen_lld_e what bitlen_lld is to lz77_encoded. + */ + + unsigned BFINAL = final; + size_t numcodes_ll, numcodes_d, i; + unsigned HLIT, HDIST, HCLEN; + + uivector_init(&lz77_encoded); + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + HuffmanTree_init(&tree_cl); + uivector_init(&frequencies_ll); + uivector_init(&frequencies_d); + uivector_init(&frequencies_cl); + uivector_init(&bitlen_lld); + uivector_init(&bitlen_lld_e); + uivector_init(&bitlen_cl); + + /*This while loop never loops due to a break at the end, it is here to + allow breaking out of it to the cleanup phase on error conditions.*/ + while(!error) + { + if(settings->use_lz77) + { + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(error) break; + } + else + { + if(!uivector_resize(&lz77_encoded, datasize)) ERROR_BREAK(83 /*alloc fail*/); + for(i = datapos; i < dataend; ++i) lz77_encoded.data[i] = data[i]; /*no LZ77, but still will be Huffman compressed*/ + } + + if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83 /*alloc fail*/); + if(!uivector_resizev(&frequencies_d, 30, 0)) ERROR_BREAK(83 /*alloc fail*/); + + /*Count the frequencies of lit, len and dist codes*/ + for(i = 0; i != lz77_encoded.size; ++i) + { + unsigned symbol = lz77_encoded.data[i]; + ++frequencies_ll.data[symbol]; + if(symbol > 256) + { + unsigned dist = lz77_encoded.data[i + 2]; + ++frequencies_d.data[dist]; + i += 3; + } + } + frequencies_ll.data[256] = 1; /*there will be exactly 1 end code, at the end of the block*/ + + /*Make both huffman trees, one for the lit and len codes, one for the dist codes*/ + error = HuffmanTree_makeFromFrequencies(&tree_ll, frequencies_ll.data, 257, frequencies_ll.size, 15); + if(error) break; + /*2, not 1, is chosen for mincodes: some buggy PNG decoders require at least 2 symbols in the dist tree*/ + error = HuffmanTree_makeFromFrequencies(&tree_d, frequencies_d.data, 2, frequencies_d.size, 15); + if(error) break; + + numcodes_ll = tree_ll.numcodes; if(numcodes_ll > 286) numcodes_ll = 286; + numcodes_d = tree_d.numcodes; if(numcodes_d > 30) numcodes_d = 30; + /*store the code lengths of both generated trees in bitlen_lld*/ + for(i = 0; i != numcodes_ll; ++i) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_ll, (unsigned)i)); + for(i = 0; i != numcodes_d; ++i) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_d, (unsigned)i)); + + /*run-length compress bitlen_ldd into bitlen_lld_e by using repeat codes 16 (copy length 3-6 times), + 17 (3-10 zeroes), 18 (11-138 zeroes)*/ + for(i = 0; i != (unsigned)bitlen_lld.size; ++i) + { + unsigned j = 0; /*amount of repititions*/ + while(i + j + 1 < (unsigned)bitlen_lld.size && bitlen_lld.data[i + j + 1] == bitlen_lld.data[i]) ++j; + + if(bitlen_lld.data[i] == 0 && j >= 2) /*repeat code for zeroes*/ + { + ++j; /*include the first zero*/ + if(j <= 10) /*repeat code 17 supports max 10 zeroes*/ + { + uivector_push_back(&bitlen_lld_e, 17); + uivector_push_back(&bitlen_lld_e, j - 3); + } + else /*repeat code 18 supports max 138 zeroes*/ + { + if(j > 138) j = 138; + uivector_push_back(&bitlen_lld_e, 18); + uivector_push_back(&bitlen_lld_e, j - 11); + } + i += (j - 1); + } + else if(j >= 3) /*repeat code for value other than zero*/ + { + size_t k; + unsigned num = j / 6, rest = j % 6; + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + for(k = 0; k < num; ++k) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, 6 - 3); + } + if(rest >= 3) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, rest - 3); + } + else j -= rest; + i += j; + } + else /*too short to benefit from repeat code*/ + { + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + } + } + + /*generate tree_cl, the huffmantree of huffmantrees*/ + + if(!uivector_resizev(&frequencies_cl, NUM_CODE_LENGTH_CODES, 0)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != bitlen_lld_e.size; ++i) + { + ++frequencies_cl.data[bitlen_lld_e.data[i]]; + /*after a repeat code come the bits that specify the number of repetitions, + those don't need to be in the frequencies_cl calculation*/ + if(bitlen_lld_e.data[i] >= 16) ++i; + } + + error = HuffmanTree_makeFromFrequencies(&tree_cl, frequencies_cl.data, + frequencies_cl.size, frequencies_cl.size, 7); + if(error) break; + + if(!uivector_resize(&bitlen_cl, tree_cl.numcodes)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i != tree_cl.numcodes; ++i) + { + /*lenghts of code length tree is in the order as specified by deflate*/ + bitlen_cl.data[i] = HuffmanTree_getLength(&tree_cl, CLCL_ORDER[i]); + } + while(bitlen_cl.data[bitlen_cl.size - 1] == 0 && bitlen_cl.size > 4) + { + /*remove zeros at the end, but minimum size must be 4*/ + if(!uivector_resize(&bitlen_cl, bitlen_cl.size - 1)) ERROR_BREAK(83 /*alloc fail*/); + } + if(error) break; + + /* + Write everything into the output + + After the BFINAL and BTYPE, the dynamic block consists out of the following: + - 5 bits HLIT, 5 bits HDIST, 4 bits HCLEN + - (HCLEN+4)*3 bits code lengths of code length alphabet + - HLIT + 257 code lenghts of lit/length alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - HDIST + 1 code lengths of distance alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - compressed data + - 256 (end code) + */ + + /*Write block type*/ + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 0); /*first bit of BTYPE "dynamic"*/ + addBitToStream(bp, out, 1); /*second bit of BTYPE "dynamic"*/ + + /*write the HLIT, HDIST and HCLEN values*/ + HLIT = (unsigned)(numcodes_ll - 257); + HDIST = (unsigned)(numcodes_d - 1); + HCLEN = (unsigned)bitlen_cl.size - 4; + /*trim zeroes for HCLEN. HLIT and HDIST were already trimmed at tree creation*/ + while(!bitlen_cl.data[HCLEN + 4 - 1] && HCLEN > 0) --HCLEN; + addBitsToStream(bp, out, HLIT, 5); + addBitsToStream(bp, out, HDIST, 5); + addBitsToStream(bp, out, HCLEN, 4); + + /*write the code lenghts of the code length alphabet*/ + for(i = 0; i != HCLEN + 4; ++i) addBitsToStream(bp, out, bitlen_cl.data[i], 3); + + /*write the lenghts of the lit/len AND the dist alphabet*/ + for(i = 0; i != bitlen_lld_e.size; ++i) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_cl, bitlen_lld_e.data[i]), + HuffmanTree_getLength(&tree_cl, bitlen_lld_e.data[i])); + /*extra bits of repeat codes*/ + if(bitlen_lld_e.data[i] == 16) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 2); + else if(bitlen_lld_e.data[i] == 17) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 3); + else if(bitlen_lld_e.data[i] == 18) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 7); + } + + /*write the compressed data symbols*/ + writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + /*error: the length of the end code 256 must be larger than 0*/ + if(HuffmanTree_getLength(&tree_ll, 256) == 0) ERROR_BREAK(64); + + /*write the end code*/ + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + break; /*end of error-while*/ + } + + /*cleanup*/ + uivector_cleanup(&lz77_encoded); + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + HuffmanTree_cleanup(&tree_cl); + uivector_cleanup(&frequencies_ll); + uivector_cleanup(&frequencies_d); + uivector_cleanup(&frequencies_cl); + uivector_cleanup(&bitlen_lld_e); + uivector_cleanup(&bitlen_lld); + uivector_cleanup(&bitlen_cl); + + return error; +} + +static unsigned deflateFixed(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, + size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + HuffmanTree tree_ll; /*tree for literal values and length codes*/ + HuffmanTree tree_d; /*tree for distance codes*/ + + unsigned BFINAL = final; + unsigned error = 0; + size_t i; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + generateFixedLitLenTree(&tree_ll); + generateFixedDistanceTree(&tree_d); + + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 1); /*first bit of BTYPE*/ + addBitToStream(bp, out, 0); /*second bit of BTYPE*/ + + if(settings->use_lz77) /*LZ77 encoded*/ + { + uivector lz77_encoded; + uivector_init(&lz77_encoded); + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(!error) writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + uivector_cleanup(&lz77_encoded); + } + else /*no LZ77, but still will be Huffman compressed*/ + { + for(i = datapos; i < dataend; ++i) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, data[i]), HuffmanTree_getLength(&tree_ll, data[i])); + } + } + /*add END code*/ + if(!error) addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + /*cleanup*/ + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned lodepng_deflatev(ucvector* out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error = 0; + size_t i, blocksize, numdeflateblocks; + size_t bp = 0; /*the bit pointer*/ + Hash hash; + + if(settings->btype > 2) return 61; + else if(settings->btype == 0) return deflateNoCompression(out, in, insize); + else if(settings->btype == 1) blocksize = insize; + else /*if(settings->btype == 2)*/ + { + blocksize = insize / 8 + 8; + if(blocksize < 65535) blocksize = 65535; + } + + numdeflateblocks = (insize + blocksize - 1) / blocksize; + if(numdeflateblocks == 0) numdeflateblocks = 1; + + error = hash_init(&hash, settings->windowsize); + if(error) return error; + + for(i = 0; i != numdeflateblocks && !error; ++i) + { + unsigned final = (i == numdeflateblocks - 1); + size_t start = i * blocksize; + size_t end = start + blocksize; + if(end > insize) end = insize; + + if(settings->btype == 1) error = deflateFixed(out, &bp, &hash, in, start, end, settings, final); + else if(settings->btype == 2) error = deflateDynamic(out, &bp, &hash, in, start, end, settings, final); + } + + hash_cleanup(&hash); + + return error; +} + +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_deflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + if(settings->custom_deflate) + { + return settings->custom_deflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_deflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Adler32 */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned update_adler32(unsigned adler, const unsigned char* data, unsigned len) +{ + unsigned s1 = adler & 0xffff; + unsigned s2 = (adler >> 16) & 0xffff; + + while(len > 0) + { + /*at least 5550 sums can be done before the sums overflow, saving a lot of module divisions*/ + unsigned amount = len > 5550 ? 5550 : len; + len -= amount; + while(amount > 0) + { + s1 += (*data++); + s2 += s1; + --amount; + } + s1 %= 65521; + s2 %= 65521; + } + + return (s2 << 16) | s1; +} + +/*Return the adler32 of the bytes data[0..len-1]*/ +static unsigned adler32(const unsigned char* data, unsigned len) +{ + return update_adler32(1L, data, len); +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Zlib / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + unsigned error = 0; + unsigned CM, CINFO, FDICT; + + if(insize < 2) return 53; /*error, size of zlib data too small*/ + /*read information from zlib header*/ + if((in[0] * 256 + in[1]) % 31 != 0) + { + /*error: 256 * in[0] + in[1] must be a multiple of 31, the FCHECK value is supposed to be made that way*/ + return 24; + } + + CM = in[0] & 15; + CINFO = (in[0] >> 4) & 15; + /*FCHECK = in[1] & 31;*/ /*FCHECK is already tested above*/ + FDICT = (in[1] >> 5) & 1; + /*FLEVEL = (in[1] >> 6) & 3;*/ /*FLEVEL is not used here*/ + + if(CM != 8 || CINFO > 7) + { + /*error: only compression method 8: inflate with sliding window of 32k is supported by the PNG spec*/ + return 25; + } + if(FDICT != 0) + { + /*error: the specification of PNG says about the zlib stream: + "The additional flags shall not specify a preset dictionary."*/ + return 26; + } + + error = inflate(out, outsize, in + 2, insize - 2, settings); + if(error) return error; + + if(!settings->ignore_adler32) + { + unsigned ADLER32 = lodepng_read32bitInt(&in[insize - 4]); + unsigned checksum = adler32(*out, (unsigned)(*outsize)); + if(checksum != ADLER32) return 58; /*error, adler checksum not correct, data must be corrupted*/ + } + + return 0; /*no error*/ +} + +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_decompress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + /*initially, *out must be NULL and outsize 0, if you just give some random *out + that's pointing to a non allocated buffer, this'll crash*/ + ucvector outv; + size_t i; + unsigned error; + unsigned char* deflatedata = 0; + size_t deflatesize = 0; + + /*zlib data: 1 byte CMF (CM+CINFO), 1 byte FLG, deflate data, 4 byte ADLER32 checksum of the Decompressed data*/ + unsigned CMF = 120; /*0b01111000: CM 8, CINFO 7. With CINFO 7, any window size up to 32768 can be used.*/ + unsigned FLEVEL = 0; + unsigned FDICT = 0; + unsigned CMFFLG = 256 * CMF + FDICT * 32 + FLEVEL * 64; + unsigned FCHECK = 31 - CMFFLG % 31; + CMFFLG += FCHECK; + + /*ucvector-controlled version of the output buffer, for dynamic array*/ + ucvector_init_buffer(&outv, *out, *outsize); + + ucvector_push_back(&outv, (unsigned char)(CMFFLG / 256)); + ucvector_push_back(&outv, (unsigned char)(CMFFLG % 256)); + + error = deflate(&deflatedata, &deflatesize, in, insize, settings); + + if(!error) + { + unsigned ADLER32 = adler32(in, (unsigned)insize); + for(i = 0; i != deflatesize; ++i) ucvector_push_back(&outv, deflatedata[i]); + lodepng_free(deflatedata); + lodepng_add32bitInt(&outv, ADLER32); + } + + *out = outv.data; + *outsize = outv.size; + + return error; +} + +/* compress using the default or custom zlib function */ +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_compress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#else /*no LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DECODER +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if (!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if (!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/*this is a good tradeoff between speed and compression ratio*/ +#define DEFAULT_WINDOWSIZE 2048 + +void lodepng_compress_settings_init(LodePNGCompressSettings* settings) +{ + /*compress with dynamic huffman tree (not in the mathematical sense, just not the predefined one)*/ + settings->btype = 2; + settings->use_lz77 = 1; + settings->windowsize = DEFAULT_WINDOWSIZE; + settings->minmatch = 3; + settings->nicematch = 128; + settings->lazymatching = 1; + + settings->custom_zlib = 0; + settings->custom_deflate = 0; + settings->custom_context = 0; +} + +const LodePNGCompressSettings lodepng_default_compress_settings = {2, 1, DEFAULT_WINDOWSIZE, 3, 128, 1, 0, 0, 0}; + + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings) +{ + settings->ignore_adler32 = 0; + + settings->custom_zlib = 0; + settings->custom_inflate = 0; + settings->custom_context = 0; +} + +const LodePNGDecompressSettings lodepng_default_decompress_settings = {0, 0, 0, 0}; + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of Zlib related code. Begin of PNG related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / CRC32 / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/* CRC polynomial: 0xedb88320 */ +static unsigned lodepng_crc32_table[256] = { + 0u, 1996959894u, 3993919788u, 2567524794u, 124634137u, 1886057615u, 3915621685u, 2657392035u, + 249268274u, 2044508324u, 3772115230u, 2547177864u, 162941995u, 2125561021u, 3887607047u, 2428444049u, + 498536548u, 1789927666u, 4089016648u, 2227061214u, 450548861u, 1843258603u, 4107580753u, 2211677639u, + 325883990u, 1684777152u, 4251122042u, 2321926636u, 335633487u, 1661365465u, 4195302755u, 2366115317u, + 997073096u, 1281953886u, 3579855332u, 2724688242u, 1006888145u, 1258607687u, 3524101629u, 2768942443u, + 901097722u, 1119000684u, 3686517206u, 2898065728u, 853044451u, 1172266101u, 3705015759u, 2882616665u, + 651767980u, 1373503546u, 3369554304u, 3218104598u, 565507253u, 1454621731u, 3485111705u, 3099436303u, + 671266974u, 1594198024u, 3322730930u, 2970347812u, 795835527u, 1483230225u, 3244367275u, 3060149565u, + 1994146192u, 31158534u, 2563907772u, 4023717930u, 1907459465u, 112637215u, 2680153253u, 3904427059u, + 2013776290u, 251722036u, 2517215374u, 3775830040u, 2137656763u, 141376813u, 2439277719u, 3865271297u, + 1802195444u, 476864866u, 2238001368u, 4066508878u, 1812370925u, 453092731u, 2181625025u, 4111451223u, + 1706088902u, 314042704u, 2344532202u, 4240017532u, 1658658271u, 366619977u, 2362670323u, 4224994405u, + 1303535960u, 984961486u, 2747007092u, 3569037538u, 1256170817u, 1037604311u, 2765210733u, 3554079995u, + 1131014506u, 879679996u, 2909243462u, 3663771856u, 1141124467u, 855842277u, 2852801631u, 3708648649u, + 1342533948u, 654459306u, 3188396048u, 3373015174u, 1466479909u, 544179635u, 3110523913u, 3462522015u, + 1591671054u, 702138776u, 2966460450u, 3352799412u, 1504918807u, 783551873u, 3082640443u, 3233442989u, + 3988292384u, 2596254646u, 62317068u, 1957810842u, 3939845945u, 2647816111u, 81470997u, 1943803523u, + 3814918930u, 2489596804u, 225274430u, 2053790376u, 3826175755u, 2466906013u, 167816743u, 2097651377u, + 4027552580u, 2265490386u, 503444072u, 1762050814u, 4150417245u, 2154129355u, 426522225u, 1852507879u, + 4275313526u, 2312317920u, 282753626u, 1742555852u, 4189708143u, 2394877945u, 397917763u, 1622183637u, + 3604390888u, 2714866558u, 953729732u, 1340076626u, 3518719985u, 2797360999u, 1068828381u, 1219638859u, + 3624741850u, 2936675148u, 906185462u, 1090812512u, 3747672003u, 2825379669u, 829329135u, 1181335161u, + 3412177804u, 3160834842u, 628085408u, 1382605366u, 3423369109u, 3138078467u, 570562233u, 1426400815u, + 3317316542u, 2998733608u, 733239954u, 1555261956u, 3268935591u, 3050360625u, 752459403u, 1541320221u, + 2607071920u, 3965973030u, 1969922972u, 40735498u, 2617837225u, 3943577151u, 1913087877u, 83908371u, + 2512341634u, 3803740692u, 2075208622u, 213261112u, 2463272603u, 3855990285u, 2094854071u, 198958881u, + 2262029012u, 4057260610u, 1759359992u, 534414190u, 2176718541u, 4139329115u, 1873836001u, 414664567u, + 2282248934u, 4279200368u, 1711684554u, 285281116u, 2405801727u, 4167216745u, 1634467795u, 376229701u, + 2685067896u, 3608007406u, 1308918612u, 956543938u, 2808555105u, 3495958263u, 1231636301u, 1047427035u, + 2932959818u, 3654703836u, 1088359270u, 936918000u, 2847714899u, 3736837829u, 1202900863u, 817233897u, + 3183342108u, 3401237130u, 1404277552u, 615818150u, 3134207493u, 3453421203u, 1423857449u, 601450431u, + 3009837614u, 3294710456u, 1567103746u, 711928724u, 3020668471u, 3272380065u, 1510334235u, 755167117u +}; + +/*Return the CRC of the bytes buf[0..len-1].*/ +unsigned lodepng_crc32(const unsigned char* buf, size_t len) +{ + unsigned c = 0xffffffffL; + size_t n; + + for(n = 0; n < len; ++n) + { + c = lodepng_crc32_table[(c ^ buf[n]) & 0xff] ^ (c >> 8); + } + return c ^ 0xffffffffL; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Reading and writing single bits and bytes from/to stream for LodePNG / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned char readBitFromReversedStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)((bitstream[(*bitpointer) >> 3] >> (7 - ((*bitpointer) & 0x7))) & 1); + ++(*bitpointer); + return result; +} + +static unsigned readBitsFromReversedStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0; + size_t i; + for(i = nbits - 1; i < nbits; --i) + { + result += (unsigned)readBitFromReversedStream(bitpointer, bitstream) << i; + } + return result; +} + +#ifdef LODEPNG_COMPILE_DECODER +static void setBitOfReversedStream0(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream must be 0 for this to work*/ + if(bit) + { + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/ + bitstream[(*bitpointer) >> 3] |= (bit << (7 - ((*bitpointer) & 0x7))); + } + ++(*bitpointer); +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +static void setBitOfReversedStream(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream may be 0 or 1 for this to work*/ + if(bit == 0) bitstream[(*bitpointer) >> 3] &= (unsigned char)(~(1 << (7 - ((*bitpointer) & 0x7)))); + else bitstream[(*bitpointer) >> 3] |= (1 << (7 - ((*bitpointer) & 0x7))); + ++(*bitpointer); +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG chunks / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_chunk_length(const unsigned char* chunk) +{ + return lodepng_read32bitInt(&chunk[0]); +} + +void lodepng_chunk_type(char type[5], const unsigned char* chunk) +{ + unsigned i; + for(i = 0; i != 4; ++i) type[i] = (char)chunk[4 + i]; + type[4] = 0; /*null termination char*/ +} + +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type) +{ + if(strlen(type) != 4) return 0; + return (chunk[4] == type[0] && chunk[5] == type[1] && chunk[6] == type[2] && chunk[7] == type[3]); +} + +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk) +{ + return((chunk[4] & 32) != 0); +} + +unsigned char lodepng_chunk_private(const unsigned char* chunk) +{ + return((chunk[6] & 32) != 0); +} + +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk) +{ + return((chunk[7] & 32) != 0); +} + +unsigned char* lodepng_chunk_data(unsigned char* chunk) +{ + return &chunk[8]; +} + +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk) +{ + return &chunk[8]; +} + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_read32bitInt(&chunk[length + 8]); + /*the CRC is taken of the data and the 4 chunk type letters, not the length*/ + unsigned checksum = lodepng_crc32(&chunk[4], length + 4); + if(CRC != checksum) return 1; + else return 0; +} + +void lodepng_chunk_generate_crc(unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_crc32(&chunk[4], length + 4); + lodepng_set32bitInt(chunk + 8 + length, CRC); +} + +unsigned char* lodepng_chunk_next(unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk) +{ + unsigned i; + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + unsigned char *chunk_start, *new_buffer; + size_t new_length = (*outlength) + total_chunk_length; + if(new_length < total_chunk_length || new_length < (*outlength)) return 77; /*integer overflow happened*/ + + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk_start = &(*out)[new_length - total_chunk_length]; + + for(i = 0; i != total_chunk_length; ++i) chunk_start[i] = chunk[i]; + + return 0; +} + +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data) +{ + unsigned i; + unsigned char *chunk, *new_buffer; + size_t new_length = (*outlength) + length + 12; + if(new_length < length + 12 || new_length < (*outlength)) return 77; /*integer overflow happened*/ + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk = &(*out)[(*outlength) - length - 12]; + + /*1: length*/ + lodepng_set32bitInt(chunk, (unsigned)length); + + /*2: chunk name (4 letters)*/ + chunk[4] = (unsigned char)type[0]; + chunk[5] = (unsigned char)type[1]; + chunk[6] = (unsigned char)type[2]; + chunk[7] = (unsigned char)type[3]; + + /*3: the data*/ + for(i = 0; i != length; ++i) chunk[8 + i] = data[i]; + + /*4: CRC (of the chunkname characters and the data)*/ + lodepng_chunk_generate_crc(chunk); + + return 0; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Color types and such / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*return type is a LodePNG error code*/ +static unsigned checkColorValidity(LodePNGColorType colortype, unsigned bd) /*bd = bitdepth*/ +{ + switch(colortype) + { + case 0: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 || bd == 16)) return 37; break; /*grey*/ + case 2: if(!( bd == 8 || bd == 16)) return 37; break; /*RGB*/ + case 3: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 )) return 37; break; /*palette*/ + case 4: if(!( bd == 8 || bd == 16)) return 37; break; /*grey + alpha*/ + case 6: if(!( bd == 8 || bd == 16)) return 37; break; /*RGBA*/ + default: return 31; + } + return 0; /*allowed color type / bits combination*/ +} + +static unsigned getNumColorChannels(LodePNGColorType colortype) +{ + switch(colortype) + { + case 0: return 1; /*grey*/ + case 2: return 3; /*RGB*/ + case 3: return 1; /*palette*/ + case 4: return 2; /*grey + alpha*/ + case 6: return 4; /*RGBA*/ + } + return 0; /*unexisting color type*/ +} + +static unsigned lodepng_get_bpp_lct(LodePNGColorType colortype, unsigned bitdepth) +{ + /*bits per pixel is amount of channels * bits per channel*/ + return getNumColorChannels(colortype) * bitdepth; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +void lodepng_color_mode_init(LodePNGColorMode* info) +{ + info->key_defined = 0; + info->key_r = info->key_g = info->key_b = 0; + info->colortype = LCT_RGBA; + info->bitdepth = 8; + info->palette = 0; + info->palettesize = 0; +} + +void lodepng_color_mode_cleanup(LodePNGColorMode* info) +{ + lodepng_palette_clear(info); +} + +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source) +{ + size_t i; + lodepng_color_mode_cleanup(dest); + *dest = *source; + if(source->palette) + { + dest->palette = (unsigned char*)lodepng_malloc(1024); + if(!dest->palette && source->palettesize) return 83; /*alloc fail*/ + for(i = 0; i != source->palettesize * 4; ++i) dest->palette[i] = source->palette[i]; + } + return 0; +} + +static int lodepng_color_mode_equal(const LodePNGColorMode* a, const LodePNGColorMode* b) +{ + size_t i; + if(a->colortype != b->colortype) return 0; + if(a->bitdepth != b->bitdepth) return 0; + if(a->key_defined != b->key_defined) return 0; + if(a->key_defined) + { + if(a->key_r != b->key_r) return 0; + if(a->key_g != b->key_g) return 0; + if(a->key_b != b->key_b) return 0; + } + if(a->palettesize != b->palettesize) return 0; + for(i = 0; i != a->palettesize * 4; ++i) + { + if(a->palette[i] != b->palette[i]) return 0; + } + return 1; +} + +void lodepng_palette_clear(LodePNGColorMode* info) +{ + if(info->palette) lodepng_free(info->palette); + info->palette = 0; + info->palettesize = 0; +} + +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + unsigned char* data; + /*the same resize technique as C++ std::vectors is used, and here it's made so that for a palette with + the max of 256 colors, it'll have the exact alloc size*/ + if(!info->palette) /*allocate palette if empty*/ + { + /*room for 256 colors with 4 bytes each*/ + data = (unsigned char*)lodepng_realloc(info->palette, 1024); + if(!data) return 83; /*alloc fail*/ + else info->palette = data; + } + info->palette[4 * info->palettesize + 0] = r; + info->palette[4 * info->palettesize + 1] = g; + info->palette[4 * info->palettesize + 2] = b; + info->palette[4 * info->palettesize + 3] = a; + ++info->palettesize; + return 0; +} + +unsigned lodepng_get_bpp(const LodePNGColorMode* info) +{ + /*calculate bits per pixel out of colortype and bitdepth*/ + return lodepng_get_bpp_lct(info->colortype, info->bitdepth); +} + +unsigned lodepng_get_channels(const LodePNGColorMode* info) +{ + return getNumColorChannels(info->colortype); +} + +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_GREY || info->colortype == LCT_GREY_ALPHA; +} + +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info) +{ + return (info->colortype & 4) != 0; /*4 or 6*/ +} + +unsigned lodepng_is_palette_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_PALETTE; +} + +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info) +{ + size_t i; + for(i = 0; i != info->palettesize; ++i) + { + if(info->palette[i * 4 + 3] < 255) return 1; + } + return 0; +} + +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info) +{ + return info->key_defined + || lodepng_is_alpha_type(info) + || lodepng_has_palette_alpha(info); +} + +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + return (w * h * lodepng_get_bpp(color) + 7) / 8; +} + +size_t lodepng_get_raw_size_lct(unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + return (w * h * lodepng_get_bpp_lct(colortype, bitdepth) + 7) / 8; +} + + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_DECODER +/*in an idat chunk, each scanline is a multiple of 8 bits, unlike the lodepng output buffer*/ +static size_t lodepng_get_raw_size_idat(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + return h * ((w * lodepng_get_bpp(color) + 7) / 8); +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static void LodePNGUnknownChunks_init(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i != 3; ++i) info->unknown_chunks_data[i] = 0; + for(i = 0; i != 3; ++i) info->unknown_chunks_size[i] = 0; +} + +static void LodePNGUnknownChunks_cleanup(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i != 3; ++i) lodepng_free(info->unknown_chunks_data[i]); +} + +static unsigned LodePNGUnknownChunks_copy(LodePNGInfo* dest, const LodePNGInfo* src) +{ + unsigned i; + + LodePNGUnknownChunks_cleanup(dest); + + for(i = 0; i != 3; ++i) + { + size_t j; + dest->unknown_chunks_size[i] = src->unknown_chunks_size[i]; + dest->unknown_chunks_data[i] = (unsigned char*)lodepng_malloc(src->unknown_chunks_size[i]); + if(!dest->unknown_chunks_data[i] && dest->unknown_chunks_size[i]) return 83; /*alloc fail*/ + for(j = 0; j < src->unknown_chunks_size[i]; ++j) + { + dest->unknown_chunks_data[i][j] = src->unknown_chunks_data[i][j]; + } + } + + return 0; +} + +/******************************************************************************/ + +static void LodePNGText_init(LodePNGInfo* info) +{ + info->text_num = 0; + info->text_keys = NULL; + info->text_strings = NULL; +} + +static void LodePNGText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i != info->text_num; ++i) + { + string_cleanup(&info->text_keys[i]); + string_cleanup(&info->text_strings[i]); + } + lodepng_free(info->text_keys); + lodepng_free(info->text_strings); +} + +static unsigned LodePNGText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->text_keys = 0; + dest->text_strings = 0; + dest->text_num = 0; + for(i = 0; i != source->text_num; ++i) + { + CERROR_TRY_RETURN(lodepng_add_text(dest, source->text_keys[i], source->text_strings[i])); + } + return 0; +} + +void lodepng_clear_text(LodePNGInfo* info) +{ + LodePNGText_cleanup(info); +} + +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->text_keys, sizeof(char*) * (info->text_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->text_strings, sizeof(char*) * (info->text_num + 1))); + if(!new_keys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + ++info->text_num; + info->text_keys = new_keys; + info->text_strings = new_strings; + + string_init(&info->text_keys[info->text_num - 1]); + string_set(&info->text_keys[info->text_num - 1], key); + + string_init(&info->text_strings[info->text_num - 1]); + string_set(&info->text_strings[info->text_num - 1], str); + + return 0; +} + +/******************************************************************************/ + +static void LodePNGIText_init(LodePNGInfo* info) +{ + info->itext_num = 0; + info->itext_keys = NULL; + info->itext_langtags = NULL; + info->itext_transkeys = NULL; + info->itext_strings = NULL; +} + +static void LodePNGIText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i != info->itext_num; ++i) + { + string_cleanup(&info->itext_keys[i]); + string_cleanup(&info->itext_langtags[i]); + string_cleanup(&info->itext_transkeys[i]); + string_cleanup(&info->itext_strings[i]); + } + lodepng_free(info->itext_keys); + lodepng_free(info->itext_langtags); + lodepng_free(info->itext_transkeys); + lodepng_free(info->itext_strings); +} + +static unsigned LodePNGIText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->itext_keys = 0; + dest->itext_langtags = 0; + dest->itext_transkeys = 0; + dest->itext_strings = 0; + dest->itext_num = 0; + for(i = 0; i != source->itext_num; ++i) + { + CERROR_TRY_RETURN(lodepng_add_itext(dest, source->itext_keys[i], source->itext_langtags[i], + source->itext_transkeys[i], source->itext_strings[i])); + } + return 0; +} + +void lodepng_clear_itext(LodePNGInfo* info) +{ + LodePNGIText_cleanup(info); +} + +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->itext_keys, sizeof(char*) * (info->itext_num + 1))); + char** new_langtags = (char**)(lodepng_realloc(info->itext_langtags, sizeof(char*) * (info->itext_num + 1))); + char** new_transkeys = (char**)(lodepng_realloc(info->itext_transkeys, sizeof(char*) * (info->itext_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->itext_strings, sizeof(char*) * (info->itext_num + 1))); + if(!new_keys || !new_langtags || !new_transkeys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_langtags); + lodepng_free(new_transkeys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + ++info->itext_num; + info->itext_keys = new_keys; + info->itext_langtags = new_langtags; + info->itext_transkeys = new_transkeys; + info->itext_strings = new_strings; + + string_init(&info->itext_keys[info->itext_num - 1]); + string_set(&info->itext_keys[info->itext_num - 1], key); + + string_init(&info->itext_langtags[info->itext_num - 1]); + string_set(&info->itext_langtags[info->itext_num - 1], langtag); + + string_init(&info->itext_transkeys[info->itext_num - 1]); + string_set(&info->itext_transkeys[info->itext_num - 1], transkey); + + string_init(&info->itext_strings[info->itext_num - 1]); + string_set(&info->itext_strings[info->itext_num - 1], str); + + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +void lodepng_info_init(LodePNGInfo* info) +{ + lodepng_color_mode_init(&info->color); + info->interlace_method = 0; + info->compression_method = 0; + info->filter_method = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + info->background_defined = 0; + info->background_r = info->background_g = info->background_b = 0; + + LodePNGText_init(info); + LodePNGIText_init(info); + + info->time_defined = 0; + info->phys_defined = 0; + + LodePNGUnknownChunks_init(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +void lodepng_info_cleanup(LodePNGInfo* info) +{ + lodepng_color_mode_cleanup(&info->color); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + LodePNGText_cleanup(info); + LodePNGIText_cleanup(info); + + LodePNGUnknownChunks_cleanup(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + lodepng_info_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->color); + CERROR_TRY_RETURN(lodepng_color_mode_copy(&dest->color, &source->color)); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + CERROR_TRY_RETURN(LodePNGText_copy(dest, source)); + CERROR_TRY_RETURN(LodePNGIText_copy(dest, source)); + + LodePNGUnknownChunks_init(dest); + CERROR_TRY_RETURN(LodePNGUnknownChunks_copy(dest, source)); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + return 0; +} + +void lodepng_info_swap(LodePNGInfo* a, LodePNGInfo* b) +{ + LodePNGInfo temp = *a; + *a = *b; + *b = temp; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +/*index: bitgroup index, bits: bitgroup size(1, 2 or 4), in: bitgroup value, out: octet array to add bits to*/ +static void addColorBits(unsigned char* out, size_t index, unsigned bits, unsigned in) +{ + unsigned m = bits == 1 ? 7 : bits == 2 ? 3 : 1; /*8 / bits - 1*/ + /*p = the partial index in the byte, e.g. with 4 palettebits it is 0 for first half or 1 for second half*/ + unsigned p = index & m; + in &= (1u << bits) - 1u; /*filter out any other bits of the input value*/ + in = in << (bits * (m - p)); + if(p == 0) out[index * bits / 8] = in; + else out[index * bits / 8] |= in; +} + +typedef struct ColorTree ColorTree; + +/* +One node of a color tree +This is the data structure used to count the number of unique colors and to get a palette +index for a color. It's like an octree, but because the alpha channel is used too, each +node has 16 instead of 8 children. +*/ +struct ColorTree +{ + ColorTree* children[16]; /*up to 16 pointers to ColorTree of next level*/ + int index; /*the payload. Only has a meaningful value if this is in the last level*/ +}; + +static void color_tree_init(ColorTree* tree) +{ + int i; + for(i = 0; i != 16; ++i) tree->children[i] = 0; + tree->index = -1; +} + +static void color_tree_cleanup(ColorTree* tree) +{ + int i; + for(i = 0; i != 16; ++i) + { + if(tree->children[i]) + { + color_tree_cleanup(tree->children[i]); + lodepng_free(tree->children[i]); + } + } +} + +/*returns -1 if color not present, its index otherwise*/ +static int color_tree_get(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + int bit = 0; + for(bit = 0; bit < 8; ++bit) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) return -1; + else tree = tree->children[i]; + } + return tree ? tree->index : -1; +} + +#ifdef LODEPNG_COMPILE_ENCODER +static int color_tree_has(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + return color_tree_get(tree, r, g, b, a) >= 0; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*color is not allowed to already exist. +Index should be >= 0 (it's signed to be compatible with using -1 for "doesn't exist")*/ +static void color_tree_add(ColorTree* tree, + unsigned char r, unsigned char g, unsigned char b, unsigned char a, unsigned index) +{ + int bit; + for(bit = 0; bit < 8; ++bit) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) + { + tree->children[i] = (ColorTree*)lodepng_malloc(sizeof(ColorTree)); + color_tree_init(tree->children[i]); + } + tree = tree->children[i]; + } + tree->index = (int)index; +} + +/*put a pixel, given its RGBA color, into image of any color type*/ +static unsigned rgba8ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, ColorTree* tree /*for palette*/, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) out[i] = grey; + else if(mode->bitdepth == 16) out[i * 2 + 0] = out[i * 2 + 1] = grey; + else + { + /*take the most significant bits of grey*/ + grey = (grey >> (8 - mode->bitdepth)) & ((1 << mode->bitdepth) - 1); + addColorBits(out, i, mode->bitdepth, grey); + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + out[i * 3 + 0] = r; + out[i * 3 + 1] = g; + out[i * 3 + 2] = b; + } + else + { + out[i * 6 + 0] = out[i * 6 + 1] = r; + out[i * 6 + 2] = out[i * 6 + 3] = g; + out[i * 6 + 4] = out[i * 6 + 5] = b; + } + } + else if(mode->colortype == LCT_PALETTE) + { + int index = color_tree_get(tree, r, g, b, a); + if(index < 0) return 82; /*color not in palette*/ + if(mode->bitdepth == 8) out[i] = index; + else addColorBits(out, i, mode->bitdepth, (unsigned)index); + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) + { + out[i * 2 + 0] = grey; + out[i * 2 + 1] = a; + } + else if(mode->bitdepth == 16) + { + out[i * 4 + 0] = out[i * 4 + 1] = grey; + out[i * 4 + 2] = out[i * 4 + 3] = a; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + out[i * 4 + 0] = r; + out[i * 4 + 1] = g; + out[i * 4 + 2] = b; + out[i * 4 + 3] = a; + } + else + { + out[i * 8 + 0] = out[i * 8 + 1] = r; + out[i * 8 + 2] = out[i * 8 + 3] = g; + out[i * 8 + 4] = out[i * 8 + 5] = b; + out[i * 8 + 6] = out[i * 8 + 7] = a; + } + } + + return 0; /*no error*/ +} + +/*put a pixel, given its RGBA16 color, into image of any color 16-bitdepth type*/ +static void rgba16ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, + unsigned short r, unsigned short g, unsigned short b, unsigned short a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 2 + 0] = (grey >> 8) & 255; + out[i * 2 + 1] = grey & 255; + } + else if(mode->colortype == LCT_RGB) + { + out[i * 6 + 0] = (r >> 8) & 255; + out[i * 6 + 1] = r & 255; + out[i * 6 + 2] = (g >> 8) & 255; + out[i * 6 + 3] = g & 255; + out[i * 6 + 4] = (b >> 8) & 255; + out[i * 6 + 5] = b & 255; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 4 + 0] = (grey >> 8) & 255; + out[i * 4 + 1] = grey & 255; + out[i * 4 + 2] = (a >> 8) & 255; + out[i * 4 + 3] = a & 255; + } + else if(mode->colortype == LCT_RGBA) + { + out[i * 8 + 0] = (r >> 8) & 255; + out[i * 8 + 1] = r & 255; + out[i * 8 + 2] = (g >> 8) & 255; + out[i * 8 + 3] = g & 255; + out[i * 8 + 4] = (b >> 8) & 255; + out[i * 8 + 5] = b & 255; + out[i * 8 + 6] = (a >> 8) & 255; + out[i * 8 + 7] = a & 255; + } +} + +/*Get RGBA8 color of pixel with index i (y * width + x) from the raw image with given color type.*/ +static void getPixelColorRGBA8(unsigned char* r, unsigned char* g, + unsigned char* b, unsigned char* a, + const unsigned char* in, size_t i, + const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i]; + if(mode->key_defined && *r == mode->key_r) *a = 0; + else *a = 255; + } + else if(mode->bitdepth == 16) + { + *r = *g = *b = in[i * 2 + 0]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 255; + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = i * mode->bitdepth; + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + *r = *g = *b = (value * 255) / highest; + if(mode->key_defined && value == mode->key_r) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + *r = in[i * 3 + 0]; *g = in[i * 3 + 1]; *b = in[i * 3 + 2]; + if(mode->key_defined && *r == mode->key_r && *g == mode->key_g && *b == mode->key_b) *a = 0; + else *a = 255; + } + else + { + *r = in[i * 6 + 0]; + *g = in[i * 6 + 2]; + *b = in[i * 6 + 4]; + if(mode->key_defined && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + if(mode->bitdepth == 8) index = in[i]; + else + { + size_t j = i * mode->bitdepth; + index = readBitsFromReversedStream(&j, in, mode->bitdepth); + } + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but common PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + *r = *g = *b = 0; + *a = 255; + } + else + { + *r = mode->palette[index * 4 + 0]; + *g = mode->palette[index * 4 + 1]; + *b = mode->palette[index * 4 + 2]; + *a = mode->palette[index * 4 + 3]; + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i * 2 + 0]; + *a = in[i * 2 + 1]; + } + else + { + *r = *g = *b = in[i * 4 + 0]; + *a = in[i * 4 + 2]; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + *r = in[i * 4 + 0]; + *g = in[i * 4 + 1]; + *b = in[i * 4 + 2]; + *a = in[i * 4 + 3]; + } + else + { + *r = in[i * 8 + 0]; + *g = in[i * 8 + 2]; + *b = in[i * 8 + 4]; + *a = in[i * 8 + 6]; + } + } +} + +/*Similar to getPixelColorRGBA8, but with all the for loops inside of the color +mode test cases, optimized to convert the colors much faster, when converting +to RGBA or RGB with 8 bit per cannel. buffer must be RGBA or RGB output with +enough memory, if has_alpha is true the output is RGBA. mode has the color mode +of the input buffer.*/ +static void getPixelColorsRGBA8(unsigned char* buffer, size_t numpixels, + unsigned has_alpha, const unsigned char* in, + const LodePNGColorMode* mode) +{ + unsigned num_channels = has_alpha ? 4 : 3; + size_t i; + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i]; + if(has_alpha) buffer[3] = mode->key_defined && in[i] == mode->key_r ? 0 : 255; + } + } + else if(mode->bitdepth == 16) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2]; + if(has_alpha) buffer[3] = mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r ? 0 : 255; + } + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = 0; + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + buffer[0] = buffer[1] = buffer[2] = (value * 255) / highest; + if(has_alpha) buffer[3] = mode->key_defined && value == mode->key_r ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 3 + 0]; + buffer[1] = in[i * 3 + 1]; + buffer[2] = in[i * 3 + 2]; + if(has_alpha) buffer[3] = mode->key_defined && buffer[0] == mode->key_r + && buffer[1]== mode->key_g && buffer[2] == mode->key_b ? 0 : 255; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 6 + 0]; + buffer[1] = in[i * 6 + 2]; + buffer[2] = in[i * 6 + 4]; + if(has_alpha) buffer[3] = mode->key_defined + && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + size_t j = 0; + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + if(mode->bitdepth == 8) index = in[i]; + else index = readBitsFromReversedStream(&j, in, mode->bitdepth); + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but most PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + buffer[0] = buffer[1] = buffer[2] = 0; + if(has_alpha) buffer[3] = 255; + } + else + { + buffer[0] = mode->palette[index * 4 + 0]; + buffer[1] = mode->palette[index * 4 + 1]; + buffer[2] = mode->palette[index * 4 + 2]; + if(has_alpha) buffer[3] = mode->palette[index * 4 + 3]; + } + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2 + 0]; + if(has_alpha) buffer[3] = in[i * 2 + 1]; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 4 + 0]; + if(has_alpha) buffer[3] = in[i * 4 + 2]; + } + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 4 + 0]; + buffer[1] = in[i * 4 + 1]; + buffer[2] = in[i * 4 + 2]; + if(has_alpha) buffer[3] = in[i * 4 + 3]; + } + } + else + { + for(i = 0; i != numpixels; ++i, buffer += num_channels) + { + buffer[0] = in[i * 8 + 0]; + buffer[1] = in[i * 8 + 2]; + buffer[2] = in[i * 8 + 4]; + if(has_alpha) buffer[3] = in[i * 8 + 6]; + } + } + } +} + +/*Get RGBA16 color of pixel with index i (y * width + x) from the raw image with +given color type, but the given color type must be 16-bit itself.*/ +static void getPixelColorRGBA16(unsigned short* r, unsigned short* g, unsigned short* b, unsigned short* a, + const unsigned char* in, size_t i, const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + *r = *g = *b = 256 * in[i * 2 + 0] + in[i * 2 + 1]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_RGB) + { + *r = 256 * in[i * 6 + 0] + in[i * 6 + 1]; + *g = 256 * in[i * 6 + 2] + in[i * 6 + 3]; + *b = 256 * in[i * 6 + 4] + in[i * 6 + 5]; + if(mode->key_defined && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + *r = *g = *b = 256 * in[i * 4 + 0] + in[i * 4 + 1]; + *a = 256 * in[i * 4 + 2] + in[i * 4 + 3]; + } + else if(mode->colortype == LCT_RGBA) + { + *r = 256 * in[i * 8 + 0] + in[i * 8 + 1]; + *g = 256 * in[i * 8 + 2] + in[i * 8 + 3]; + *b = 256 * in[i * 8 + 4] + in[i * 8 + 5]; + *a = 256 * in[i * 8 + 6] + in[i * 8 + 7]; + } +} + +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h) +{ + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + if(lodepng_color_mode_equal(mode_out, mode_in)) + { + size_t numbytes = lodepng_get_raw_size(w, h, mode_in); + for(i = 0; i != numbytes; ++i) out[i] = in[i]; + return 0; + } + + if(mode_out->colortype == LCT_PALETTE) + { + size_t palsize = 1u << mode_out->bitdepth; + if(mode_out->palettesize < palsize) palsize = mode_out->palettesize; + color_tree_init(&tree); + for(i = 0; i != palsize; ++i) + { + unsigned char* p = &mode_out->palette[i * 4]; + color_tree_add(&tree, p[0], p[1], p[2], p[3], i); + } + } + + if(mode_in->bitdepth == 16 && mode_out->bitdepth == 16) + { + for(i = 0; i != numpixels; ++i) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode_in); + rgba16ToPixel(out, i, mode_out, r, g, b, a); + } + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGBA) + { + getPixelColorsRGBA8(out, numpixels, 1, in, mode_in); + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGB) + { + getPixelColorsRGBA8(out, numpixels, 0, in, mode_in); + } + else + { + unsigned char r = 0, g = 0, b = 0, a = 0; + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode_in); + rgba8ToPixel(out, i, mode_out, &tree, r, g, b, a); + } + } + + if(mode_out->colortype == LCT_PALETTE) + { + color_tree_cleanup(&tree); + } + + return 0; /*no error (this function currently never has one, but maybe OOM detection added later.)*/ +} + +#ifdef LODEPNG_COMPILE_ENCODER + +void lodepng_color_profile_init(LodePNGColorProfile* profile) +{ + profile->colored = 0; + profile->key = 0; + profile->alpha = 0; + profile->key_r = profile->key_g = profile->key_b = 0; + profile->numcolors = 0; + profile->bits = 1; +} + +/*function used for debug purposes with C++*/ +/*void printColorProfile(LodePNGColorProfile* p) +{ + std::cout << "colored: " << (int)p->colored << ", "; + std::cout << "key: " << (int)p->key << ", "; + std::cout << "key_r: " << (int)p->key_r << ", "; + std::cout << "key_g: " << (int)p->key_g << ", "; + std::cout << "key_b: " << (int)p->key_b << ", "; + std::cout << "alpha: " << (int)p->alpha << ", "; + std::cout << "numcolors: " << (int)p->numcolors << ", "; + std::cout << "bits: " << (int)p->bits << std::endl; +}*/ + +/*Returns how many bits needed to represent given value (max 8 bit)*/ +static unsigned getValueRequiredBits(unsigned char value) +{ + if(value == 0 || value == 255) return 1; + /*The scaling of 2-bit and 4-bit values uses multiples of 85 and 17*/ + if(value % 17 == 0) return value % 85 == 0 ? 2 : 4; + return 8; +} + +/*profile must already have been inited with mode. +It's ok to set some parameters of profile to done already.*/ +unsigned lodepng_get_color_profile(LodePNGColorProfile* profile, + const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* mode) +{ + unsigned error = 0; + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + unsigned colored_done = lodepng_is_greyscale_type(mode) ? 1 : 0; + unsigned alpha_done = lodepng_can_have_alpha(mode) ? 0 : 1; + unsigned numcolors_done = 0; + unsigned bpp = lodepng_get_bpp(mode); + unsigned bits_done = bpp == 1 ? 1 : 0; + unsigned maxnumcolors = 257; + unsigned sixteen = 0; + if(bpp <= 8) maxnumcolors = bpp == 1 ? 2 : (bpp == 2 ? 4 : (bpp == 4 ? 16 : 256)); + + color_tree_init(&tree); + + /*Check if the 16-bit input is truly 16-bit*/ + if(mode->bitdepth == 16) + { + unsigned short r, g, b, a; + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + if((r & 255) != ((r >> 8) & 255) || (g & 255) != ((g >> 8) & 255) || + (b & 255) != ((b >> 8) & 255) || (a & 255) != ((a >> 8) & 255)) /*first and second byte differ*/ + { + sixteen = 1; + break; + } + } + } + + if(sixteen) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + profile->bits = 16; + bits_done = numcolors_done = 1; /*counting colors no longer useful, palette doesn't support 16-bit*/ + + for(i = 0; i != numpixels; ++i) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 65535 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 65535 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + alpha_done = 1; + } + } + + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + } + else /* < 16-bit */ + { + for(i = 0; i != numpixels; ++i) + { + unsigned char r = 0, g = 0, b = 0, a = 0; + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode); + + if(!bits_done && profile->bits < 8) + { + /*only r is checked, < 8 bits is only relevant for greyscale*/ + unsigned bits = getValueRequiredBits(r); + if(bits > profile->bits) profile->bits = bits; + } + bits_done = (profile->bits >= bpp); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no colored modes with less than 8-bit per channel*/ + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 255 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 255 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + } + + if(!numcolors_done) + { + if(!color_tree_has(&tree, r, g, b, a)) + { + color_tree_add(&tree, r, g, b, a, profile->numcolors); + if(profile->numcolors < 256) + { + unsigned char* p = profile->palette; + unsigned n = profile->numcolors; + p[n * 4 + 0] = r; + p[n * 4 + 1] = g; + p[n * 4 + 2] = b; + p[n * 4 + 3] = a; + } + ++profile->numcolors; + numcolors_done = profile->numcolors >= maxnumcolors; + } + } + + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + + /*make the profile's key always 16-bit for consistency - repeat each byte twice*/ + profile->key_r += (profile->key_r << 8); + profile->key_g += (profile->key_g << 8); + profile->key_b += (profile->key_b << 8); + } + + color_tree_cleanup(&tree); + return error; +} + +/*Automatically chooses color type that gives smallest amount of bits in the +output image, e.g. grey if there are only greyscale pixels, palette if there +are less than 256 colors, ... +Updates values of mode with a potentially smaller color model. mode_out should +contain the user chosen color model, but will be overwritten with the new chosen one.*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in) +{ + LodePNGColorProfile prof; + unsigned error = 0; + unsigned i, n, palettebits, grey_ok, palette_ok; + + lodepng_color_profile_init(&prof); + error = lodepng_get_color_profile(&prof, image, w, h, mode_in); + if(error) return error; + mode_out->key_defined = 0; + + if(prof.key && w * h <= 16) { + prof.alpha = 1; /*too few pixels to justify tRNS chunk overhead*/ + if(prof.bits < 8) prof.bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + grey_ok = !prof.colored && !prof.alpha; /*grey without alpha, with potentially low bits*/ + n = prof.numcolors; + palettebits = n <= 2 ? 1 : (n <= 4 ? 2 : (n <= 16 ? 4 : 8)); + palette_ok = n <= 256 && (n * 2 < w * h) && prof.bits <= 8; + if(w * h < n * 2) palette_ok = 0; /*don't add palette overhead if image has only a few pixels*/ + if(grey_ok && prof.bits <= palettebits) palette_ok = 0; /*grey is less overhead*/ + + if(palette_ok) + { + unsigned char* p = prof.palette; + lodepng_palette_clear(mode_out); /*remove potential earlier palette*/ + for(i = 0; i != prof.numcolors; ++i) + { + error = lodepng_palette_add(mode_out, p[i * 4 + 0], p[i * 4 + 1], p[i * 4 + 2], p[i * 4 + 3]); + if(error) break; + } + + mode_out->colortype = LCT_PALETTE; + mode_out->bitdepth = palettebits; + + if(mode_in->colortype == LCT_PALETTE && mode_in->palettesize >= mode_out->palettesize + && mode_in->bitdepth == mode_out->bitdepth) + { + /*If input should have same palette colors, keep original to preserve its order and prevent conversion*/ + lodepng_color_mode_cleanup(mode_out); + lodepng_color_mode_copy(mode_out, mode_in); + } + } + else /*8-bit or 16-bit per channel*/ + { + mode_out->bitdepth = prof.bits; + mode_out->colortype = prof.alpha ? (prof.colored ? LCT_RGBA : LCT_GREY_ALPHA) + : (prof.colored ? LCT_RGB : LCT_GREY); + + if(prof.key && !prof.alpha) + { + unsigned mask = (1u << mode_out->bitdepth) - 1u; /*profile always uses 16-bit, mask converts it*/ + mode_out->key_r = prof.key_r & mask; + mode_out->key_g = prof.key_g & mask; + mode_out->key_b = prof.key_b & mask; + mode_out->key_defined = 1; + } + } + + return error; +} + +#endif /* #ifdef LODEPNG_COMPILE_ENCODER */ + +/* +Paeth predicter, used by PNG filter type 4 +The parameters are of type short, but should come from unsigned chars, the shorts +are only needed to make the paeth calculation correct. +*/ +static unsigned char paethPredictor(short a, short b, short c) +{ + short pa = abs(b - c); + short pb = abs(a - c); + short pc = abs(a + b - c - c); + + if(pc < pa && pc < pb) return (unsigned char)c; + else if(pb < pa) return (unsigned char)b; + else return (unsigned char)a; +} + +/*shared values used by multiple Adam7 related functions*/ + +static const unsigned ADAM7_IX[7] = { 0, 4, 0, 2, 0, 1, 0 }; /*x start values*/ +static const unsigned ADAM7_IY[7] = { 0, 0, 4, 0, 2, 0, 1 }; /*y start values*/ +static const unsigned ADAM7_DX[7] = { 8, 8, 4, 4, 2, 2, 1 }; /*x delta values*/ +static const unsigned ADAM7_DY[7] = { 8, 8, 8, 4, 4, 2, 2 }; /*y delta values*/ + +/* +Outputs various dimensions and positions in the image related to the Adam7 reduced images. +passw: output containing the width of the 7 passes +passh: output containing the height of the 7 passes +filter_passstart: output containing the index of the start and end of each + reduced image with filter bytes +padded_passstart output containing the index of the start and end of each + reduced image when without filter bytes but with padded scanlines +passstart: output containing the index of the start and end of each reduced + image without padding between scanlines, but still padding between the images +w, h: width and height of non-interlaced image +bpp: bits per pixel +"padded" is only relevant if bpp is less than 8 and a scanline or image does not + end at a full byte +*/ +static void Adam7_getpassvalues(unsigned passw[7], unsigned passh[7], size_t filter_passstart[8], + size_t padded_passstart[8], size_t passstart[8], unsigned w, unsigned h, unsigned bpp) +{ + /*the passstart values have 8 values: the 8th one indicates the byte after the end of the 7th (= last) pass*/ + unsigned i; + + /*calculate width and height in pixels of each pass*/ + for(i = 0; i != 7; ++i) + { + passw[i] = (w + ADAM7_DX[i] - ADAM7_IX[i] - 1) / ADAM7_DX[i]; + passh[i] = (h + ADAM7_DY[i] - ADAM7_IY[i] - 1) / ADAM7_DY[i]; + if(passw[i] == 0) passh[i] = 0; + if(passh[i] == 0) passw[i] = 0; + } + + filter_passstart[0] = padded_passstart[0] = passstart[0] = 0; + for(i = 0; i != 7; ++i) + { + /*if passw[i] is 0, it's 0 bytes, not 1 (no filtertype-byte)*/ + filter_passstart[i + 1] = filter_passstart[i] + + ((passw[i] && passh[i]) ? passh[i] * (1 + (passw[i] * bpp + 7) / 8) : 0); + /*bits padded if needed to fill full byte at end of each scanline*/ + padded_passstart[i + 1] = padded_passstart[i] + passh[i] * ((passw[i] * bpp + 7) / 8); + /*only padded at end of reduced image*/ + passstart[i + 1] = passstart[i] + (passh[i] * passw[i] * bpp + 7) / 8; + } +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Decoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*read the information from the header and store it in the LodePNGInfo. return value is error*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, LodePNGState* state, + const unsigned char* in, size_t insize) +{ + LodePNGInfo* info = &state->info_png; + if(insize == 0 || in == 0) + { + CERROR_RETURN_ERROR(state->error, 48); /*error: the given data is empty*/ + } + if(insize < 33) + { + CERROR_RETURN_ERROR(state->error, 27); /*error: the data length is smaller than the length of a PNG header*/ + } + + /*when decoding a new PNG image, make sure all parameters created after previous decoding are reset*/ + lodepng_info_cleanup(info); + lodepng_info_init(info); + + if(in[0] != 137 || in[1] != 80 || in[2] != 78 || in[3] != 71 + || in[4] != 13 || in[5] != 10 || in[6] != 26 || in[7] != 10) + { + CERROR_RETURN_ERROR(state->error, 28); /*error: the first 8 bytes are not the correct PNG signature*/ + } + if(in[12] != 'I' || in[13] != 'H' || in[14] != 'D' || in[15] != 'R') + { + CERROR_RETURN_ERROR(state->error, 29); /*error: it doesn't start with a IHDR chunk!*/ + } + + /*read the values given in the header*/ + *w = lodepng_read32bitInt(&in[16]); + *h = lodepng_read32bitInt(&in[20]); + info->color.bitdepth = in[24]; + info->color.colortype = (LodePNGColorType)in[25]; + info->compression_method = in[26]; + info->filter_method = in[27]; + info->interlace_method = in[28]; + + if(*w == 0 || *h == 0) + { + CERROR_RETURN_ERROR(state->error, 93); + } + + if(!state->decoder.ignore_crc) + { + unsigned CRC = lodepng_read32bitInt(&in[29]); + unsigned checksum = lodepng_crc32(&in[12], 17); + if(CRC != checksum) + { + CERROR_RETURN_ERROR(state->error, 57); /*invalid CRC*/ + } + } + + /*error: only compression method 0 is allowed in the specification*/ + if(info->compression_method != 0) CERROR_RETURN_ERROR(state->error, 32); + /*error: only filter method 0 is allowed in the specification*/ + if(info->filter_method != 0) CERROR_RETURN_ERROR(state->error, 33); + /*error: only interlace methods 0 and 1 exist in the specification*/ + if(info->interlace_method > 1) CERROR_RETURN_ERROR(state->error, 34); + + state->error = checkColorValidity(info->color.colortype, info->color.bitdepth); + return state->error; +} + +static unsigned unfilterScanline(unsigned char* recon, const unsigned char* scanline, const unsigned char* precon, + size_t bytewidth, unsigned char filterType, size_t length) +{ + /* + For PNG filter method 0 + unfilter a PNG image scanline by scanline. when the pixels are smaller than 1 byte, + the filter works byte per byte (bytewidth = 1) + precon is the previous unfiltered scanline, recon the result, scanline the current one + the incoming scanlines do NOT include the filtertype byte, that one is given in the parameter filterType instead + recon and scanline MAY be the same memory address! precon must be disjoint. + */ + + size_t i; + switch(filterType) + { + case 0: + for(i = 0; i != length; ++i) recon[i] = scanline[i]; + break; + case 1: + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + recon[i - bytewidth]; + break; + case 2: + if(precon) + { + for(i = 0; i != length; ++i) recon[i] = scanline[i] + precon[i]; + } + else + { + for(i = 0; i != length; ++i) recon[i] = scanline[i]; + } + break; + case 3: + if(precon) + { + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i] + precon[i] / 2; + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + ((recon[i - bytewidth] + precon[i]) / 2); + } + else + { + for(i = 0; i != bytewidth; ++i) recon[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) recon[i] = scanline[i] + recon[i - bytewidth] / 2; + } + break; + case 4: + if(precon) + { + for(i = 0; i != bytewidth; ++i) + { + recon[i] = (scanline[i] + precon[i]); /*paethPredictor(0, precon[i], 0) is always precon[i]*/ + } + for(i = bytewidth; i < length; ++i) + { + recon[i] = (scanline[i] + paethPredictor(recon[i - bytewidth], precon[i], precon[i - bytewidth])); + } + } + else + { + for(i = 0; i != bytewidth; ++i) + { + recon[i] = scanline[i]; + } + for(i = bytewidth; i < length; ++i) + { + /*paethPredictor(recon[i - bytewidth], 0, 0) is always recon[i - bytewidth]*/ + recon[i] = (scanline[i] + recon[i - bytewidth]); + } + } + break; + default: return 36; /*error: unexisting filter type given*/ + } + return 0; +} + +static unsigned unfilter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + /* + For PNG filter method 0 + this function unfilters a single image (e.g. without interlacing this is called once, with Adam7 seven times) + out must have enough bytes allocated already, in must have the scanlines + 1 filtertype byte per scanline + w and h are image dimensions or dimensions of reduced image, bpp is bits per pixel + in and out are allowed to be the same memory address (but aren't the same size since in has the extra filter bytes) + */ + + unsigned y; + unsigned char* prevline = 0; + + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + size_t linebytes = (w * bpp + 7) / 8; + + for(y = 0; y < h; ++y) + { + size_t outindex = linebytes * y; + size_t inindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + unsigned char filterType = in[inindex]; + + CERROR_TRY_RETURN(unfilterScanline(&out[outindex], &in[inindex + 1], prevline, bytewidth, filterType, linebytes)); + + prevline = &out[outindex]; + } + + return 0; +} + +/* +in: Adam7 interlaced image, with no padding bits between scanlines, but between + reduced images so that each reduced image starts at a byte. +out: the same pixels, but re-ordered so that they're now a non-interlaced image with size w*h +bpp: bits per pixel +out has the following size in bits: w * h * bpp. +in is possibly bigger due to padding bits between reduced images. +out must be big enough AND must be 0 everywhere if bpp < 8 in the current implementation +(because that's likely a little bit faster) +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_deinterlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + size_t pixelinstart = passstart[i] + (y * passw[i] + x) * bytewidth; + size_t pixeloutstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + for(b = 0; b < bytewidth; ++b) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + ibp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + obp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + for(b = 0; b < bpp; ++b) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + /*note that this function assumes the out buffer is completely 0, use setBitOfReversedStream otherwise*/ + setBitOfReversedStream0(&obp, out, bit); + } + } + } + } +} + +static void removePaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /* + After filtering there are still padding bits if scanlines have non multiple of 8 bit amounts. They need + to be removed (except at last scanline of (Adam7-reduced) image) before working with pure image buffers + for the Adam7 code, the color convert code and the output to the user. + in and out are allowed to be the same buffer, in may also be higher but still overlapping; in must + have >= ilinebits*h bits, out must have >= olinebits*h bits, olinebits must be <= ilinebits + also used to move bits after earlier such operations happened, e.g. in a sequence of reduced images from Adam7 + only useful if (ilinebits - olinebits) is a value in the range 1..7 + */ + unsigned y; + size_t diff = ilinebits - olinebits; + size_t ibp = 0, obp = 0; /*input and output bit pointers*/ + for(y = 0; y < h; ++y) + { + size_t x; + for(x = 0; x < olinebits; ++x) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + ibp += diff; + } +} + +/*out must be buffer big enough to contain full image, and in must contain the full decompressed data from +the IDAT chunks (with filter index bytes and possible padding bits) +return value is error*/ +static unsigned postProcessScanlines(unsigned char* out, unsigned char* in, + unsigned w, unsigned h, const LodePNGInfo* info_png) +{ + /* + This function converts the filtered-padded-interlaced data into pure 2D image buffer with the PNG's colortype. + Steps: + *) if no Adam7: 1) unfilter 2) remove padding bits (= posible extra bits per scanline if bpp < 8) + *) if adam7: 1) 7x unfilter 2) 7x remove padding bits 3) Adam7_deinterlace + NOTE: the in buffer will be overwritten with intermediate data! + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + if(bpp == 0) return 31; /*error: invalid colortype*/ + + if(info_png->interlace_method == 0) + { + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + CERROR_TRY_RETURN(unfilter(in, in, w, h, bpp)); + removePaddingBits(out, in, w * bpp, ((w * bpp + 7) / 8) * 8, h); + } + /*we can immediatly filter into the out buffer, no other steps needed*/ + else CERROR_TRY_RETURN(unfilter(out, in, w, h, bpp)); + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + for(i = 0; i != 7; ++i) + { + CERROR_TRY_RETURN(unfilter(&in[padded_passstart[i]], &in[filter_passstart[i]], passw[i], passh[i], bpp)); + /*TODO: possible efficiency improvement: if in this reduced image the bits fit nicely in 1 scanline, + move bytes instead of bits or move not at all*/ + if(bpp < 8) + { + /*remove padding bits in scanlines; after this there still may be padding + bits between the different reduced images: each reduced image still starts nicely at a byte*/ + removePaddingBits(&in[passstart[i]], &in[padded_passstart[i]], passw[i] * bpp, + ((passw[i] * bpp + 7) / 8) * 8, passh[i]); + } + } + + Adam7_deinterlace(out, in, w, h, bpp); + } + + return 0; +} + +static unsigned readChunk_PLTE(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned pos = 0, i; + if(color->palette) lodepng_free(color->palette); + color->palettesize = chunkLength / 3; + color->palette = (unsigned char*)lodepng_malloc(4 * color->palettesize); + if(!color->palette && color->palettesize) + { + color->palettesize = 0; + return 83; /*alloc fail*/ + } + if(color->palettesize > 256) return 38; /*error: palette too big*/ + + for(i = 0; i != color->palettesize; ++i) + { + color->palette[4 * i + 0] = data[pos++]; /*R*/ + color->palette[4 * i + 1] = data[pos++]; /*G*/ + color->palette[4 * i + 2] = data[pos++]; /*B*/ + color->palette[4 * i + 3] = 255; /*alpha*/ + } + + return 0; /* OK */ +} + +static unsigned readChunk_tRNS(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned i; + if(color->colortype == LCT_PALETTE) + { + /*error: more alpha values given than there are palette entries*/ + if(chunkLength > color->palettesize) return 38; + + for(i = 0; i != chunkLength; ++i) color->palette[4 * i + 3] = data[i]; + } + else if(color->colortype == LCT_GREY) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 30; + + color->key_defined = 1; + color->key_r = color->key_g = color->key_b = 256u * data[0] + data[1]; + } + else if(color->colortype == LCT_RGB) + { + /*error: this chunk must be 6 bytes for RGB image*/ + if(chunkLength != 6) return 41; + + color->key_defined = 1; + color->key_r = 256u * data[0] + data[1]; + color->key_g = 256u * data[2] + data[3]; + color->key_b = 256u * data[4] + data[5]; + } + else return 42; /*error: tRNS chunk not allowed for other color models*/ + + return 0; /* OK */ +} + + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*background color chunk (bKGD)*/ +static unsigned readChunk_bKGD(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(info->color.colortype == LCT_PALETTE) + { + /*error: this chunk must be 1 byte for indexed color image*/ + if(chunkLength != 1) return 43; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = data[0]; + } + else if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 44; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = 256u * data[0] + data[1]; + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + /*error: this chunk must be 6 bytes for greyscale image*/ + if(chunkLength != 6) return 45; + + info->background_defined = 1; + info->background_r = 256u * data[0] + data[1]; + info->background_g = 256u * data[2] + data[3]; + info->background_b = 256u * data[4] + data[5]; + } + + return 0; /* OK */ +} + +/*text chunk (tEXt)*/ +static unsigned readChunk_tEXt(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + char *key = 0, *str = 0; + unsigned i; + + while(!error) /*not really a while loop, only used to break on error*/ + { + unsigned length, string2_begin; + + length = 0; + while(length < chunkLength && data[length] != 0) ++length; + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + string2_begin = length + 1; /*skip keyword null terminator*/ + + length = chunkLength < string2_begin ? 0 : chunkLength - string2_begin; + str = (char*)lodepng_malloc(length + 1); + if(!str) CERROR_BREAK(error, 83); /*alloc fail*/ + + str[length] = 0; + for(i = 0; i != length; ++i) str[i] = (char)data[string2_begin + i]; + + error = lodepng_add_text(info, key, str); + + break; + } + + lodepng_free(key); + lodepng_free(str); + + return error; +} + +/*compressed text chunk (zTXt)*/ +static unsigned readChunk_zTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, string2_begin; + char *key = 0; + ucvector decoded; + + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + for(length = 0; length < chunkLength && data[length] != 0; ++length) ; + if(length + 2 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + if(data[length + 1] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + string2_begin = length + 2; + if(string2_begin > chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + + length = chunkLength - string2_begin; + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[string2_begin]), + length, zlibsettings); + if(error) break; + ucvector_push_back(&decoded, 0); + + error = lodepng_add_text(info, key, (char*)decoded.data); + + break; + } + + lodepng_free(key); + ucvector_cleanup(&decoded); + + return error; +} + +/*international text chunk (iTXt)*/ +static unsigned readChunk_iTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, begin, compressed; + char *key = 0, *langtag = 0, *transkey = 0; + ucvector decoded; + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + /*Quick check if the chunk length isn't too small. Even without check + it'd still fail with other error checks below if it's too short. This just gives a different error code.*/ + if(chunkLength < 5) CERROR_BREAK(error, 30); /*iTXt chunk too short*/ + + /*read the key*/ + for(length = 0; length < chunkLength && data[length] != 0; ++length) ; + if(length + 3 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination char, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i != length; ++i) key[i] = (char)data[i]; + + /*read the compression method*/ + compressed = data[length + 1]; + if(data[length + 2] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty for the next 3 texts*/ + + /*read the langtag*/ + begin = length + 3; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; ++i) ++length; + + langtag = (char*)lodepng_malloc(length + 1); + if(!langtag) CERROR_BREAK(error, 83); /*alloc fail*/ + + langtag[length] = 0; + for(i = 0; i != length; ++i) langtag[i] = (char)data[begin + i]; + + /*read the transkey*/ + begin += length + 1; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; ++i) ++length; + + transkey = (char*)lodepng_malloc(length + 1); + if(!transkey) CERROR_BREAK(error, 83); /*alloc fail*/ + + transkey[length] = 0; + for(i = 0; i != length; ++i) transkey[i] = (char)data[begin + i]; + + /*read the actual text*/ + begin += length + 1; + + length = chunkLength < begin ? 0 : chunkLength - begin; + + if(compressed) + { + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[begin]), + length, zlibsettings); + if(error) break; + if(decoded.allocsize < decoded.size) decoded.allocsize = decoded.size; + ucvector_push_back(&decoded, 0); + } + else + { + if(!ucvector_resize(&decoded, length + 1)) CERROR_BREAK(error, 83 /*alloc fail*/); + + decoded.data[length] = 0; + for(i = 0; i != length; ++i) decoded.data[i] = data[begin + i]; + } + + error = lodepng_add_itext(info, key, langtag, transkey, (char*)decoded.data); + + break; + } + + lodepng_free(key); + lodepng_free(langtag); + lodepng_free(transkey); + ucvector_cleanup(&decoded); + + return error; +} + +static unsigned readChunk_tIME(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 7) return 73; /*invalid tIME chunk size*/ + + info->time_defined = 1; + info->time.year = 256u * data[0] + data[1]; + info->time.month = data[2]; + info->time.day = data[3]; + info->time.hour = data[4]; + info->time.minute = data[5]; + info->time.second = data[6]; + + return 0; /* OK */ +} + +static unsigned readChunk_pHYs(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 9) return 74; /*invalid pHYs chunk size*/ + + info->phys_defined = 1; + info->phys_x = 16777216u * data[0] + 65536u * data[1] + 256u * data[2] + data[3]; + info->phys_y = 16777216u * data[4] + 65536u * data[5] + 256u * data[6] + data[7]; + info->phys_unit = data[8]; + + return 0; /* OK */ +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*read a PNG, the result will be in the same color type as the PNG (hence "generic")*/ +static void decodeGeneric(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + unsigned char IEND = 0; + const unsigned char* chunk; + size_t i; + ucvector idat; /*the data from idat chunks*/ + ucvector scanlines; + size_t predict; + size_t numpixels; + + /*for unknown chunk order*/ + unsigned unknown = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned critical_pos = 1; /*1 = after IHDR, 2 = after PLTE, 3 = after IDAT*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + + /*provide some proper output values if error will happen*/ + *out = 0; + + state->error = lodepng_inspect(w, h, state, in, insize); /*reads header and resets other parameters in state->info_png*/ + if(state->error) return; + + numpixels = *w * *h; + + /*multiplication overflow*/ + if(*h != 0 && numpixels / *h != *w) CERROR_RETURN(state->error, 92); + /*multiplication overflow possible further below. Allows up to 2^31-1 pixel + bytes with 16-bit RGBA, the rest is room for filter bytes.*/ + if(numpixels > 268435455) CERROR_RETURN(state->error, 92); + + ucvector_init(&idat); + chunk = &in[33]; /*first byte of the first chunk after the header*/ + + /*loop through the chunks, ignoring unknown chunks and stopping at IEND chunk. + IDAT data is put at the start of the in buffer*/ + while(!IEND && !state->error) + { + unsigned chunkLength; + const unsigned char* data; /*the data in the chunk*/ + + /*error: size of the in buffer too small to contain next chunk*/ + if((size_t)((chunk - in) + 12) > insize || chunk < in) CERROR_BREAK(state->error, 30); + + /*length of the data of the chunk, excluding the length bytes, chunk type and CRC bytes*/ + chunkLength = lodepng_chunk_length(chunk); + /*error: chunk length larger than the max PNG chunk size*/ + if(chunkLength > 2147483647) CERROR_BREAK(state->error, 63); + + if((size_t)((chunk - in) + chunkLength + 12) > insize || (chunk + chunkLength + 12) < in) + { + CERROR_BREAK(state->error, 64); /*error: size of the in buffer too small to contain next chunk*/ + } + + data = lodepng_chunk_data_const(chunk); + + /*IDAT chunk, containing compressed image data*/ + if(lodepng_chunk_type_equals(chunk, "IDAT")) + { + size_t oldsize = idat.size; + if(!ucvector_resize(&idat, oldsize + chunkLength)) CERROR_BREAK(state->error, 83 /*alloc fail*/); + for(i = 0; i != chunkLength; ++i) idat.data[oldsize + i] = data[i]; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 3; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*IEND chunk*/ + else if(lodepng_chunk_type_equals(chunk, "IEND")) + { + IEND = 1; + } + /*palette chunk (PLTE)*/ + else if(lodepng_chunk_type_equals(chunk, "PLTE")) + { + state->error = readChunk_PLTE(&state->info_png.color, data, chunkLength); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 2; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*palette transparency chunk (tRNS)*/ + else if(lodepng_chunk_type_equals(chunk, "tRNS")) + { + state->error = readChunk_tRNS(&state->info_png.color, data, chunkLength); + if(state->error) break; + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*background color chunk (bKGD)*/ + else if(lodepng_chunk_type_equals(chunk, "bKGD")) + { + state->error = readChunk_bKGD(&state->info_png, data, chunkLength); + if(state->error) break; + } + /*text chunk (tEXt)*/ + else if(lodepng_chunk_type_equals(chunk, "tEXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_tEXt(&state->info_png, data, chunkLength); + if(state->error) break; + } + } + /*compressed text chunk (zTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "zTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_zTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + /*international text chunk (iTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "iTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_iTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + else if(lodepng_chunk_type_equals(chunk, "tIME")) + { + state->error = readChunk_tIME(&state->info_png, data, chunkLength); + if(state->error) break; + } + else if(lodepng_chunk_type_equals(chunk, "pHYs")) + { + state->error = readChunk_pHYs(&state->info_png, data, chunkLength); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + else /*it's not an implemented chunk type, so ignore it: skip over the data*/ + { + /*error: unknown critical chunk (5th bit of first byte of chunk type is 0)*/ + if(!lodepng_chunk_ancillary(chunk)) CERROR_BREAK(state->error, 69); + + unknown = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + if(state->decoder.remember_unknown_chunks) + { + state->error = lodepng_chunk_append(&state->info_png.unknown_chunks_data[critical_pos - 1], + &state->info_png.unknown_chunks_size[critical_pos - 1], chunk); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + + if(!state->decoder.ignore_crc && !unknown) /*check CRC if wanted, only on known chunk types*/ + { + if(lodepng_chunk_check_crc(chunk)) CERROR_BREAK(state->error, 57); /*invalid CRC*/ + } + + if(!IEND) chunk = lodepng_chunk_next_const(chunk); + } + + ucvector_init(&scanlines); + /*predict output size, to allocate exact size for output buffer to avoid more dynamic allocation. + If the decompressed size does not match the prediction, the image must be corrupt.*/ + if(state->info_png.interlace_method == 0) + { + /*The extra *h is added because this are the filter bytes every scanline starts with*/ + predict = lodepng_get_raw_size_idat(*w, *h, &state->info_png.color) + *h; + } + else + { + /*Adam-7 interlaced: predicted size is the sum of the 7 sub-images sizes*/ + const LodePNGColorMode* color = &state->info_png.color; + predict = 0; + predict += lodepng_get_raw_size_idat((*w + 7) / 8, (*h + 7) / 8, color) + (*h + 7) / 8; + if(*w > 4) predict += lodepng_get_raw_size_idat((*w + 3) / 8, (*h + 7) / 8, color) + (*h + 7) / 8; + predict += lodepng_get_raw_size_idat((*w + 3) / 4, (*h + 3) / 8, color) + (*h + 3) / 8; + if(*w > 2) predict += lodepng_get_raw_size_idat((*w + 1) / 4, (*h + 3) / 4, color) + (*h + 3) / 4; + predict += lodepng_get_raw_size_idat((*w + 1) / 2, (*h + 1) / 4, color) + (*h + 1) / 4; + if(*w > 1) predict += lodepng_get_raw_size_idat((*w + 0) / 2, (*h + 1) / 2, color) + (*h + 1) / 2; + predict += lodepng_get_raw_size_idat((*w + 0) / 1, (*h + 0) / 2, color) + (*h + 0) / 2; + } + if(!state->error && !ucvector_reserve(&scanlines, predict)) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = zlib_decompress(&scanlines.data, &scanlines.size, idat.data, + idat.size, &state->decoder.zlibsettings); + if(!state->error && scanlines.size != predict) state->error = 91; /*decompressed size doesn't match prediction*/ + } + ucvector_cleanup(&idat); + + if(!state->error) + { + size_t outsize = lodepng_get_raw_size(*w, *h, &state->info_png.color); + ucvector outv; + ucvector_init(&outv); + if(!ucvector_resizev(&outv, outsize, 0)) state->error = 83; /*alloc fail*/ + if(!state->error) state->error = postProcessScanlines(outv.data, scanlines.data, *w, *h, &state->info_png); + *out = outv.data; + } + ucvector_cleanup(&scanlines); +} + +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + *out = 0; + decodeGeneric(out, w, h, state, in, insize); + if(state->error) return state->error; + if(!state->decoder.color_convert || lodepng_color_mode_equal(&state->info_raw, &state->info_png.color)) + { + /*same color type, no copying or converting of data needed*/ + /*store the info_png color settings on the info_raw so that the info_raw still reflects what colortype + the raw image has to the end user*/ + if(!state->decoder.color_convert) + { + state->error = lodepng_color_mode_copy(&state->info_raw, &state->info_png.color); + if(state->error) return state->error; + } + } + else + { + /*color conversion needed; sort of copy of the data*/ + unsigned char* data = *out; + size_t outsize; + + /*TODO: check if this works according to the statement in the documentation: "The converter can convert + from greyscale input color type, to 8-bit greyscale or greyscale with alpha"*/ + if(!(state->info_raw.colortype == LCT_RGB || state->info_raw.colortype == LCT_RGBA) + && !(state->info_raw.bitdepth == 8)) + { + return 56; /*unsupported color mode conversion*/ + } + + outsize = lodepng_get_raw_size(*w, *h, &state->info_raw); + *out = (unsigned char*)lodepng_malloc(outsize); + if(!(*out)) + { + state->error = 83; /*alloc fail*/ + } + else state->error = lodepng_convert(*out, data, &state->info_raw, + &state->info_png.color, *w, *h); + lodepng_free(data); + } + return state->error; +} + +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + error = lodepng_decode(out, w, h, &state, in, insize); + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGBA, 8); +} + +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error; + error = lodepng_load_file(&buffer, &buffersize, filename); + if(!error) error = lodepng_decode_memory(out, w, h, buffer, buffersize, colortype, bitdepth); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGBA, 8); +} + +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings) +{ + settings->color_convert = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->read_text_chunks = 1; + settings->remember_unknown_chunks = 0; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + settings->ignore_crc = 0; + lodepng_decompress_settings_init(&settings->zlibsettings); +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) + +void lodepng_state_init(LodePNGState* state) +{ +#ifdef LODEPNG_COMPILE_DECODER + lodepng_decoder_settings_init(&state->decoder); +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + lodepng_encoder_settings_init(&state->encoder); +#endif /*LODEPNG_COMPILE_ENCODER*/ + lodepng_color_mode_init(&state->info_raw); + lodepng_info_init(&state->info_png); + state->error = 1; +} + +void lodepng_state_cleanup(LodePNGState* state) +{ + lodepng_color_mode_cleanup(&state->info_raw); + lodepng_info_cleanup(&state->info_png); +} + +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source) +{ + lodepng_state_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->info_raw); + lodepng_info_init(&dest->info_png); + dest->error = lodepng_color_mode_copy(&dest->info_raw, &source->info_raw); if(dest->error) return; + dest->error = lodepng_info_copy(&dest->info_png, &source->info_png); if(dest->error) return; +} + +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Encoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*chunkName must be string of 4 characters*/ +static unsigned addChunk(ucvector* out, const char* chunkName, const unsigned char* data, size_t length) +{ + CERROR_TRY_RETURN(lodepng_chunk_create(&out->data, &out->size, (unsigned)length, chunkName, data)); + out->allocsize = out->size; /*fix the allocsize again*/ + return 0; +} + +static void writeSignature(ucvector* out) +{ + /*8 bytes PNG signature, aka the magic bytes*/ + ucvector_push_back(out, 137); + ucvector_push_back(out, 80); + ucvector_push_back(out, 78); + ucvector_push_back(out, 71); + ucvector_push_back(out, 13); + ucvector_push_back(out, 10); + ucvector_push_back(out, 26); + ucvector_push_back(out, 10); +} + +static unsigned addChunk_IHDR(ucvector* out, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth, unsigned interlace_method) +{ + unsigned error = 0; + ucvector header; + ucvector_init(&header); + + lodepng_add32bitInt(&header, w); /*width*/ + lodepng_add32bitInt(&header, h); /*height*/ + ucvector_push_back(&header, (unsigned char)bitdepth); /*bit depth*/ + ucvector_push_back(&header, (unsigned char)colortype); /*color type*/ + ucvector_push_back(&header, 0); /*compression method*/ + ucvector_push_back(&header, 0); /*filter method*/ + ucvector_push_back(&header, interlace_method); /*interlace method*/ + + error = addChunk(out, "IHDR", header.data, header.size); + ucvector_cleanup(&header); + + return error; +} + +static unsigned addChunk_PLTE(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector PLTE; + ucvector_init(&PLTE); + for(i = 0; i != info->palettesize * 4; ++i) + { + /*add all channels except alpha channel*/ + if(i % 4 != 3) ucvector_push_back(&PLTE, info->palette[i]); + } + error = addChunk(out, "PLTE", PLTE.data, PLTE.size); + ucvector_cleanup(&PLTE); + + return error; +} + +static unsigned addChunk_tRNS(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector tRNS; + ucvector_init(&tRNS); + if(info->colortype == LCT_PALETTE) + { + size_t amount = info->palettesize; + /*the tail of palette values that all have 255 as alpha, does not have to be encoded*/ + for(i = info->palettesize; i != 0; --i) + { + if(info->palette[4 * (i - 1) + 3] == 255) --amount; + else break; + } + /*add only alpha channel*/ + for(i = 0; i != amount; ++i) ucvector_push_back(&tRNS, info->palette[4 * i + 3]); + } + else if(info->colortype == LCT_GREY) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r % 256)); + } + } + else if(info->colortype == LCT_RGB) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r % 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g % 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b % 256)); + } + } + + error = addChunk(out, "tRNS", tRNS.data, tRNS.size); + ucvector_cleanup(&tRNS); + + return error; +} + +static unsigned addChunk_IDAT(ucvector* out, const unsigned char* data, size_t datasize, + LodePNGCompressSettings* zlibsettings) +{ + ucvector zlibdata; + unsigned error = 0; + + /*compress with the Zlib compressor*/ + ucvector_init(&zlibdata); + error = zlib_compress(&zlibdata.data, &zlibdata.size, data, datasize, zlibsettings); + if(!error) error = addChunk(out, "IDAT", zlibdata.data, zlibdata.size); + ucvector_cleanup(&zlibdata); + + return error; +} + +static unsigned addChunk_IEND(ucvector* out) +{ + unsigned error = 0; + error = addChunk(out, "IEND", 0, 0); + return error; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static unsigned addChunk_tEXt(ucvector* out, const char* keyword, const char* textstring) +{ + unsigned error = 0; + size_t i; + ucvector text; + ucvector_init(&text); + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&text, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&text, 0); /*0 termination char*/ + for(i = 0; textstring[i] != 0; ++i) ucvector_push_back(&text, (unsigned char)textstring[i]); + error = addChunk(out, "tEXt", text.data, text.size); + ucvector_cleanup(&text); + + return error; +} + +static unsigned addChunk_zTXt(ucvector* out, const char* keyword, const char* textstring, + LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data, compressed; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + ucvector_init(&compressed); + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*0 termination char*/ + ucvector_push_back(&data, 0); /*compression method: 0*/ + + error = zlib_compress(&compressed.data, &compressed.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i != compressed.size; ++i) ucvector_push_back(&data, compressed.data[i]); + error = addChunk(out, "zTXt", data.data, data.size); + } + + ucvector_cleanup(&compressed); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_iTXt(ucvector* out, unsigned compressed, const char* keyword, const char* langtag, + const char* transkey, const char* textstring, LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + + for(i = 0; keyword[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*null termination char*/ + ucvector_push_back(&data, compressed ? 1 : 0); /*compression flag*/ + ucvector_push_back(&data, 0); /*compression method*/ + for(i = 0; langtag[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)langtag[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + for(i = 0; transkey[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)transkey[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + + if(compressed) + { + ucvector compressed_data; + ucvector_init(&compressed_data); + error = zlib_compress(&compressed_data.data, &compressed_data.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i != compressed_data.size; ++i) ucvector_push_back(&data, compressed_data.data[i]); + } + ucvector_cleanup(&compressed_data); + } + else /*not compressed*/ + { + for(i = 0; textstring[i] != 0; ++i) ucvector_push_back(&data, (unsigned char)textstring[i]); + } + + if(!error) error = addChunk(out, "iTXt", data.data, data.size); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_bKGD(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector bKGD; + ucvector_init(&bKGD); + if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g % 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b % 256)); + } + else if(info->color.colortype == LCT_PALETTE) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); /*palette index*/ + } + + error = addChunk(out, "bKGD", bKGD.data, bKGD.size); + ucvector_cleanup(&bKGD); + + return error; +} + +static unsigned addChunk_tIME(ucvector* out, const LodePNGTime* time) +{ + unsigned error = 0; + unsigned char* data = (unsigned char*)lodepng_malloc(7); + if(!data) return 83; /*alloc fail*/ + data[0] = (unsigned char)(time->year / 256); + data[1] = (unsigned char)(time->year % 256); + data[2] = (unsigned char)time->month; + data[3] = (unsigned char)time->day; + data[4] = (unsigned char)time->hour; + data[5] = (unsigned char)time->minute; + data[6] = (unsigned char)time->second; + error = addChunk(out, "tIME", data, 7); + lodepng_free(data); + return error; +} + +static unsigned addChunk_pHYs(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector data; + ucvector_init(&data); + + lodepng_add32bitInt(&data, info->phys_x); + lodepng_add32bitInt(&data, info->phys_y); + ucvector_push_back(&data, info->phys_unit); + + error = addChunk(out, "pHYs", data.data, data.size); + ucvector_cleanup(&data); + + return error; +} + +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +static void filterScanline(unsigned char* out, const unsigned char* scanline, const unsigned char* prevline, + size_t length, size_t bytewidth, unsigned char filterType) +{ + size_t i; + switch(filterType) + { + case 0: /*None*/ + for(i = 0; i != length; ++i) out[i] = scanline[i]; + break; + case 1: /*Sub*/ + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - scanline[i - bytewidth]; + break; + case 2: /*Up*/ + if(prevline) + { + for(i = 0; i != length; ++i) out[i] = scanline[i] - prevline[i]; + } + else + { + for(i = 0; i != length; ++i) out[i] = scanline[i]; + } + break; + case 3: /*Average*/ + if(prevline) + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i] - prevline[i] / 2; + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - ((scanline[i - bytewidth] + prevline[i]) / 2); + } + else + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + for(i = bytewidth; i < length; ++i) out[i] = scanline[i] - scanline[i - bytewidth] / 2; + } + break; + case 4: /*Paeth*/ + if(prevline) + { + /*paethPredictor(0, prevline[i], 0) is always prevline[i]*/ + for(i = 0; i != bytewidth; ++i) out[i] = (scanline[i] - prevline[i]); + for(i = bytewidth; i < length; ++i) + { + out[i] = (scanline[i] - paethPredictor(scanline[i - bytewidth], prevline[i], prevline[i - bytewidth])); + } + } + else + { + for(i = 0; i != bytewidth; ++i) out[i] = scanline[i]; + /*paethPredictor(scanline[i - bytewidth], 0, 0) is always scanline[i - bytewidth]*/ + for(i = bytewidth; i < length; ++i) out[i] = (scanline[i] - scanline[i - bytewidth]); + } + break; + default: return; /*unexisting filter type given*/ + } +} + +/* log2 approximation. A slight bit faster than std::log. */ +static float flog2(float f) +{ + float result = 0; + while(f > 32) { result += 4; f /= 16; } + while(f > 2) { ++result; f /= 2; } + return result + 1.442695f * (f * f * f / 3 - 3 * f * f / 2 + 3 * f - 1.83333f); +} + +static unsigned filter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* info, const LodePNGEncoderSettings* settings) +{ + /* + For PNG filter method 0 + out must be a buffer with as size: h + (w * h * bpp + 7) / 8, because there are + the scanlines with 1 extra byte per scanline + */ + + unsigned bpp = lodepng_get_bpp(info); + /*the width of a scanline in bytes, not including the filter type*/ + size_t linebytes = (w * bpp + 7) / 8; + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + const unsigned char* prevline = 0; + unsigned x, y; + unsigned error = 0; + LodePNGFilterStrategy strategy = settings->filter_strategy; + + /* + There is a heuristic called the minimum sum of absolute differences heuristic, suggested by the PNG standard: + * If the image type is Palette, or the bit depth is smaller than 8, then do not filter the image (i.e. + use fixed filtering, with the filter None). + * (The other case) If the image type is Grayscale or RGB (with or without Alpha), and the bit depth is + not smaller than 8, then use adaptive filtering heuristic as follows: independently for each row, apply + all five filters and select the filter that produces the smallest sum of absolute values per row. + This heuristic is used if filter strategy is LFS_MINSUM and filter_palette_zero is true. + + If filter_palette_zero is true and filter_strategy is not LFS_MINSUM, the above heuristic is followed, + but for "the other case", whatever strategy filter_strategy is set to instead of the minimum sum + heuristic is used. + */ + if(settings->filter_palette_zero && + (info->colortype == LCT_PALETTE || info->bitdepth < 8)) strategy = LFS_ZERO; + + if(bpp == 0) return 31; /*error: invalid color type*/ + + if(strategy == LFS_ZERO) + { + for(y = 0; y != h; ++y) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + out[outindex] = 0; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, 0); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_MINSUM) + { + /*adaptive filtering*/ + size_t sum[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned char type, bestType = 0; + + for(type = 0; type != 5; ++type) + { + ucvector_init(&attempt[type]); + if(!ucvector_resize(&attempt[type], linebytes)) return 83; /*alloc fail*/ + } + + if(!error) + { + for(y = 0; y != h; ++y) + { + /*try the 5 filter types*/ + for(type = 0; type != 5; ++type) + { + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + + /*calculate the sum of the result*/ + sum[type] = 0; + if(type == 0) + { + for(x = 0; x != linebytes; ++x) sum[type] += (unsigned char)(attempt[type].data[x]); + } + else + { + for(x = 0; x != linebytes; ++x) + { + /*For differences, each byte should be treated as signed, values above 127 are negative + (converted to signed char). Filtertype 0 isn't a difference though, so use unsigned there. + This means filtertype 0 is almost never chosen, but that is justified.*/ + unsigned char s = attempt[type].data[x]; + sum[type] += s < 128 ? s : (255U - s); + } + } + + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + } + + for(type = 0; type != 5; ++type) ucvector_cleanup(&attempt[type]); + } + else if(strategy == LFS_ENTROPY) + { + float sum[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + float smallest = 0; + unsigned type, bestType = 0; + unsigned count[256]; + + for(type = 0; type != 5; ++type) + { + ucvector_init(&attempt[type]); + if(!ucvector_resize(&attempt[type], linebytes)) return 83; /*alloc fail*/ + } + + for(y = 0; y != h; ++y) + { + /*try the 5 filter types*/ + for(type = 0; type != 5; ++type) + { + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + for(x = 0; x != 256; ++x) count[x] = 0; + for(x = 0; x != linebytes; ++x) ++count[attempt[type].data[x]]; + ++count[type]; /*the filter type itself is part of the scanline*/ + sum[type] = 0; + for(x = 0; x != 256; ++x) + { + float p = count[x] / (float)(linebytes + 1); + sum[type] += count[x] == 0 ? 0 : flog2(1 / p) * p; + } + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + + for(type = 0; type != 5; ++type) ucvector_cleanup(&attempt[type]); + } + else if(strategy == LFS_PREDEFINED) + { + for(y = 0; y != h; ++y) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + unsigned char type = settings->predefined_filters[y]; + out[outindex] = type; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, type); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_BRUTE_FORCE) + { + /*brute force filter chooser. + deflate the scanline after every filter attempt to see which one deflates best. + This is very slow and gives only slightly smaller, sometimes even larger, result*/ + size_t size[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned type = 0, bestType = 0; + unsigned char* dummy; + LodePNGCompressSettings zlibsettings = settings->zlibsettings; + /*use fixed tree on the attempts so that the tree is not adapted to the filtertype on purpose, + to simulate the true case where the tree is the same for the whole image. Sometimes it gives + better result with dynamic tree anyway. Using the fixed tree sometimes gives worse, but in rare + cases better compression. It does make this a bit less slow, so it's worth doing this.*/ + zlibsettings.btype = 1; + /*a custom encoder likely doesn't read the btype setting and is optimized for complete PNG + images only, so disable it*/ + zlibsettings.custom_zlib = 0; + zlibsettings.custom_deflate = 0; + for(type = 0; type != 5; ++type) + { + ucvector_init(&attempt[type]); + ucvector_resize(&attempt[type], linebytes); /*todo: give error if resize failed*/ + } + for(y = 0; y != h; ++y) /*try the 5 filter types*/ + { + for(type = 0; type != 5; ++type) + { + unsigned testsize = attempt[type].size; + /*if(testsize > 8) testsize /= 8;*/ /*it already works good enough by testing a part of the row*/ + + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + size[type] = 0; + dummy = 0; + zlib_compress(&dummy, &size[type], attempt[type].data, testsize, &zlibsettings); + lodepng_free(dummy); + /*check if this is smallest size (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || size[type] < smallest) + { + bestType = type; + smallest = size[type]; + } + } + prevline = &in[y * linebytes]; + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x != linebytes; ++x) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + for(type = 0; type != 5; ++type) ucvector_cleanup(&attempt[type]); + } + else return 88; /* unknown filter strategy */ + + return error; +} + +static void addPaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /*The opposite of the removePaddingBits function + olinebits must be >= ilinebits*/ + unsigned y; + size_t diff = olinebits - ilinebits; + size_t obp = 0, ibp = 0; /*bit pointers*/ + for(y = 0; y != h; ++y) + { + size_t x; + for(x = 0; x < ilinebits; ++x) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + /*obp += diff; --> no, fill in some value in the padding bits too, to avoid + "Use of uninitialised value of size ###" warning from valgrind*/ + for(x = 0; x != diff; ++x) setBitOfReversedStream(&obp, out, 0); + } +} + +/* +in: non-interlaced image with size w*h +out: the same pixels, but re-ordered according to PNG's Adam7 interlacing, with + no padding bits between scanlines, but between reduced images so that each + reduced image starts at a byte. +bpp: bits per pixel +there are no padding bits, not between scanlines, not between reduced images +in has the following size in bits: w * h * bpp. +out is possibly bigger due to padding bits between reduced images +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_interlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + size_t pixelinstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + size_t pixeloutstart = passstart[i] + (y * passw[i] + x) * bytewidth; + for(b = 0; b < bytewidth; ++b) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i != 7; ++i) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; ++y) + for(x = 0; x < passw[i]; ++x) + { + ibp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + obp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + for(b = 0; b < bpp; ++b) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + } + } + } +} + +/*out must be buffer big enough to contain uncompressed IDAT chunk data, and in must contain the full image. +return value is error**/ +static unsigned preProcessScanlines(unsigned char** out, size_t* outsize, const unsigned char* in, + unsigned w, unsigned h, + const LodePNGInfo* info_png, const LodePNGEncoderSettings* settings) +{ + /* + This function converts the pure 2D image with the PNG's colortype, into filtered-padded-interlaced data. Steps: + *) if no Adam7: 1) add padding bits (= posible extra bits per scanline if bpp < 8) 2) filter + *) if adam7: 1) Adam7_interlace 2) 7x add padding bits 3) 7x filter + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + unsigned error = 0; + + if(info_png->interlace_method == 0) + { + *outsize = h + (h * ((w * bpp + 7) / 8)); /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out) && (*outsize)) error = 83; /*alloc fail*/ + + if(!error) + { + /*non multiple of 8 bits per scanline, padding bits needed per scanline*/ + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(h * ((w * bpp + 7) / 8)); + if(!padded) error = 83; /*alloc fail*/ + if(!error) + { + addPaddingBits(padded, in, ((w * bpp + 7) / 8) * 8, w * bpp, h); + error = filter(*out, padded, w, h, &info_png->color, settings); + } + lodepng_free(padded); + } + else + { + /*we can immediatly filter into the out buffer, no other steps needed*/ + error = filter(*out, in, w, h, &info_png->color, settings); + } + } + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned char* adam7; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + *outsize = filter_passstart[7]; /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out)) error = 83; /*alloc fail*/ + + adam7 = (unsigned char*)lodepng_malloc(passstart[7]); + if(!adam7 && passstart[7]) error = 83; /*alloc fail*/ + + if(!error) + { + unsigned i; + + Adam7_interlace(adam7, in, w, h, bpp); + for(i = 0; i != 7; ++i) + { + if(bpp < 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(padded_passstart[i + 1] - padded_passstart[i]); + if(!padded) ERROR_BREAK(83); /*alloc fail*/ + addPaddingBits(padded, &adam7[passstart[i]], + ((passw[i] * bpp + 7) / 8) * 8, passw[i] * bpp, passh[i]); + error = filter(&(*out)[filter_passstart[i]], padded, + passw[i], passh[i], &info_png->color, settings); + lodepng_free(padded); + } + else + { + error = filter(&(*out)[filter_passstart[i]], &adam7[padded_passstart[i]], + passw[i], passh[i], &info_png->color, settings); + } + + if(error) break; + } + } + + lodepng_free(adam7); + } + + return error; +} + +/* +palette must have 4 * palettesize bytes allocated, and given in format RGBARGBARGBARGBA... +returns 0 if the palette is opaque, +returns 1 if the palette has a single color with alpha 0 ==> color key +returns 2 if the palette is semi-translucent. +*/ +static unsigned getPaletteTranslucency(const unsigned char* palette, size_t palettesize) +{ + size_t i; + unsigned key = 0; + unsigned r = 0, g = 0, b = 0; /*the value of the color with alpha 0, so long as color keying is possible*/ + for(i = 0; i != palettesize; ++i) + { + if(!key && palette[4 * i + 3] == 0) + { + r = palette[4 * i + 0]; g = palette[4 * i + 1]; b = palette[4 * i + 2]; + key = 1; + i = (size_t)(-1); /*restart from beginning, to detect earlier opaque colors with key's value*/ + } + else if(palette[4 * i + 3] != 255) return 2; + /*when key, no opaque RGB may have key's RGB*/ + else if(key && r == palette[i * 4 + 0] && g == palette[i * 4 + 1] && b == palette[i * 4 + 2]) return 2; + } + return key; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +static unsigned addUnknownChunks(ucvector* out, unsigned char* data, size_t datasize) +{ + unsigned char* inchunk = data; + while((size_t)(inchunk - data) < datasize) + { + CERROR_TRY_RETURN(lodepng_chunk_append(&out->data, &out->size, inchunk)); + out->allocsize = out->size; /*fix the allocsize again*/ + inchunk = lodepng_chunk_next(inchunk); + } + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state) +{ + LodePNGInfo info; + ucvector outv; + unsigned char* data = 0; /*uncompressed version of the IDAT chunk data*/ + size_t datasize = 0; + + /*provide some proper output values if error will happen*/ + *out = 0; + *outsize = 0; + state->error = 0; + + lodepng_info_init(&info); + lodepng_info_copy(&info, &state->info_png); + + if((info.color.colortype == LCT_PALETTE || state->encoder.force_palette) + && (info.color.palettesize == 0 || info.color.palettesize > 256)) + { + state->error = 68; /*invalid palette size, it is only allowed to be 1-256*/ + return state->error; + } + + if(state->encoder.auto_convert) + { + state->error = lodepng_auto_choose_color(&info.color, image, w, h, &state->info_raw); + } + if(state->error) return state->error; + + if(state->encoder.zlibsettings.btype > 2) + { + CERROR_RETURN_ERROR(state->error, 61); /*error: unexisting btype*/ + } + if(state->info_png.interlace_method > 1) + { + CERROR_RETURN_ERROR(state->error, 71); /*error: unexisting interlace mode*/ + } + + state->error = checkColorValidity(info.color.colortype, info.color.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + state->error = checkColorValidity(state->info_raw.colortype, state->info_raw.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + + if(!lodepng_color_mode_equal(&state->info_raw, &info.color)) + { + unsigned char* converted; + size_t size = (w * h * lodepng_get_bpp(&info.color) + 7) / 8; + + converted = (unsigned char*)lodepng_malloc(size); + if(!converted && size) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = lodepng_convert(converted, image, &info.color, &state->info_raw, w, h); + } + if(!state->error) preProcessScanlines(&data, &datasize, converted, w, h, &info, &state->encoder); + lodepng_free(converted); + } + else preProcessScanlines(&data, &datasize, image, w, h, &info, &state->encoder); + + ucvector_init(&outv); + while(!state->error) /*while only executed once, to break on error*/ + { +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + size_t i; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*write signature and chunks*/ + writeSignature(&outv); + /*IHDR*/ + addChunk_IHDR(&outv, w, h, info.color.colortype, info.color.bitdepth, info.interlace_method); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*unknown chunks between IHDR and PLTE*/ + if(info.unknown_chunks_data[0]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[0], info.unknown_chunks_size[0]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*PLTE*/ + if(info.color.colortype == LCT_PALETTE) + { + addChunk_PLTE(&outv, &info.color); + } + if(state->encoder.force_palette && (info.color.colortype == LCT_RGB || info.color.colortype == LCT_RGBA)) + { + addChunk_PLTE(&outv, &info.color); + } + /*tRNS*/ + if(info.color.colortype == LCT_PALETTE && getPaletteTranslucency(info.color.palette, info.color.palettesize) != 0) + { + addChunk_tRNS(&outv, &info.color); + } + if((info.color.colortype == LCT_GREY || info.color.colortype == LCT_RGB) && info.color.key_defined) + { + addChunk_tRNS(&outv, &info.color); + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*bKGD (must come between PLTE and the IDAt chunks*/ + if(info.background_defined) addChunk_bKGD(&outv, &info); + /*pHYs (must come before the IDAT chunks)*/ + if(info.phys_defined) addChunk_pHYs(&outv, &info); + + /*unknown chunks between PLTE and IDAT*/ + if(info.unknown_chunks_data[1]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[1], info.unknown_chunks_size[1]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*IDAT (multiple IDAT chunks must be consecutive)*/ + state->error = addChunk_IDAT(&outv, data, datasize, &state->encoder.zlibsettings); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*tIME*/ + if(info.time_defined) addChunk_tIME(&outv, &info.time); + /*tEXt and/or zTXt*/ + for(i = 0; i != info.text_num; ++i) + { + if(strlen(info.text_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.text_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + if(state->encoder.text_compression) + { + addChunk_zTXt(&outv, info.text_keys[i], info.text_strings[i], &state->encoder.zlibsettings); + } + else + { + addChunk_tEXt(&outv, info.text_keys[i], info.text_strings[i]); + } + } + /*LodePNG version id in text chunk*/ + if(state->encoder.add_id) + { + unsigned alread_added_id_text = 0; + for(i = 0; i != info.text_num; ++i) + { + if(!strcmp(info.text_keys[i], "LodePNG")) + { + alread_added_id_text = 1; + break; + } + } + if(alread_added_id_text == 0) + { + addChunk_tEXt(&outv, "LodePNG", LODEPNG_VERSION_STRING); /*it's shorter as tEXt than as zTXt chunk*/ + } + } + /*iTXt*/ + for(i = 0; i != info.itext_num; ++i) + { + if(strlen(info.itext_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.itext_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + addChunk_iTXt(&outv, state->encoder.text_compression, + info.itext_keys[i], info.itext_langtags[i], info.itext_transkeys[i], info.itext_strings[i], + &state->encoder.zlibsettings); + } + + /*unknown chunks between IDAT and IEND*/ + if(info.unknown_chunks_data[2]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[2], info.unknown_chunks_size[2]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + addChunk_IEND(&outv); + + break; /*this isn't really a while loop; no error happened so break out now!*/ + } + + lodepng_info_cleanup(&info); + lodepng_free(data); + /*instead of cleaning the vector up, give it to the output*/ + *out = outv.data; + *outsize = outv.size; + + return state->error; +} + +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, const unsigned char* image, + unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + state.info_png.color.colortype = colortype; + state.info_png.color.bitdepth = bitdepth; + lodepng_encode(out, outsize, image, w, h, &state); + error = state.error; + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_encode_file(const char* filename, const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, image, w, h, colortype, bitdepth); + if(!error) error = lodepng_save_file(buffer, buffersize, filename); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_encode32_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings) +{ + lodepng_compress_settings_init(&settings->zlibsettings); + settings->filter_palette_zero = 1; + settings->filter_strategy = LFS_MINSUM; + settings->auto_convert = 1; + settings->force_palette = 0; + settings->predefined_filters = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->add_id = 0; + settings->text_compression = 1; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/* +This returns the description of a numerical error code in English. This is also +the documentation of all the error codes. +*/ +const char* lodepng_error_text(unsigned code) +{ + switch(code) + { + case 0: return "no error, everything went ok"; + case 1: return "nothing done yet"; /*the Encoder/Decoder has done nothing yet, error checking makes no sense yet*/ + case 10: return "end of input memory reached without huffman end code"; /*while huffman decoding*/ + case 11: return "error in code tree made it jump outside of huffman tree"; /*while huffman decoding*/ + case 13: return "problem while processing dynamic deflate block"; + case 14: return "problem while processing dynamic deflate block"; + case 15: return "problem while processing dynamic deflate block"; + case 16: return "unexisting code while processing dynamic deflate block"; + case 17: return "end of out buffer memory reached while inflating"; + case 18: return "invalid distance code while inflating"; + case 19: return "end of out buffer memory reached while inflating"; + case 20: return "invalid deflate block BTYPE encountered while decoding"; + case 21: return "NLEN is not ones complement of LEN in a deflate block"; + /*end of out buffer memory reached while inflating: + This can happen if the inflated deflate data is longer than the amount of bytes required to fill up + all the pixels of the image, given the color depth and image dimensions. Something that doesn't + happen in a normal, well encoded, PNG image.*/ + case 22: return "end of out buffer memory reached while inflating"; + case 23: return "end of in buffer memory reached while inflating"; + case 24: return "invalid FCHECK in zlib header"; + case 25: return "invalid compression method in zlib header"; + case 26: return "FDICT encountered in zlib header while it's not used for PNG"; + case 27: return "PNG file is smaller than a PNG header"; + /*Checks the magic file header, the first 8 bytes of the PNG file*/ + case 28: return "incorrect PNG signature, it's no PNG or corrupted"; + case 29: return "first chunk is not the header chunk"; + case 30: return "chunk length too large, chunk broken off at end of file"; + case 31: return "illegal PNG color type or bpp"; + case 32: return "illegal PNG compression method"; + case 33: return "illegal PNG filter method"; + case 34: return "illegal PNG interlace method"; + case 35: return "chunk length of a chunk is too large or the chunk too small"; + case 36: return "illegal PNG filter type encountered"; + case 37: return "illegal bit depth for this color type given"; + case 38: return "the palette is too big"; /*more than 256 colors*/ + case 39: return "more palette alpha values given in tRNS chunk than there are colors in the palette"; + case 40: return "tRNS chunk has wrong size for greyscale image"; + case 41: return "tRNS chunk has wrong size for RGB image"; + case 42: return "tRNS chunk appeared while it was not allowed for this color type"; + case 43: return "bKGD chunk has wrong size for palette image"; + case 44: return "bKGD chunk has wrong size for greyscale image"; + case 45: return "bKGD chunk has wrong size for RGB image"; + /*the input data is empty, maybe a PNG file doesn't exist or is in the wrong path*/ + case 48: return "empty input or file doesn't exist"; + case 49: return "jumped past memory while generating dynamic huffman tree"; + case 50: return "jumped past memory while generating dynamic huffman tree"; + case 51: return "jumped past memory while inflating huffman block"; + case 52: return "jumped past memory while inflating"; + case 53: return "size of zlib data too small"; + case 54: return "repeat symbol in tree while there was no value symbol yet"; + /*jumped past tree while generating huffman tree, this could be when the + tree will have more leaves than symbols after generating it out of the + given lenghts. They call this an oversubscribed dynamic bit lengths tree in zlib.*/ + case 55: return "jumped past tree while generating huffman tree"; + case 56: return "given output image colortype or bitdepth not supported for color conversion"; + case 57: return "invalid CRC encountered (checking CRC can be disabled)"; + case 58: return "invalid ADLER32 encountered (checking ADLER32 can be disabled)"; + case 59: return "requested color conversion not supported"; + case 60: return "invalid window size given in the settings of the encoder (must be 0-32768)"; + case 61: return "invalid BTYPE given in the settings of the encoder (only 0, 1 and 2 are allowed)"; + /*LodePNG leaves the choice of RGB to greyscale conversion formula to the user.*/ + case 62: return "conversion from color to greyscale not supported"; + case 63: return "length of a chunk too long, max allowed for PNG is 2147483647 bytes per chunk"; /*(2^31-1)*/ + /*this would result in the inability of a deflated block to ever contain an end code. It must be at least 1.*/ + case 64: return "the length of the END symbol 256 in the Huffman tree is 0"; + case 66: return "the length of a text chunk keyword given to the encoder is longer than the maximum of 79 bytes"; + case 67: return "the length of a text chunk keyword given to the encoder is smaller than the minimum of 1 byte"; + case 68: return "tried to encode a PLTE chunk with a palette that has less than 1 or more than 256 colors"; + case 69: return "unknown chunk type with 'critical' flag encountered by the decoder"; + case 71: return "unexisting interlace mode given to encoder (must be 0 or 1)"; + case 72: return "while decoding, unexisting compression method encountering in zTXt or iTXt chunk (it must be 0)"; + case 73: return "invalid tIME chunk size"; + case 74: return "invalid pHYs chunk size"; + /*length could be wrong, or data chopped off*/ + case 75: return "no null termination char found while decoding text chunk"; + case 76: return "iTXt chunk too short to contain required bytes"; + case 77: return "integer overflow in buffer size"; + case 78: return "failed to open file for reading"; /*file doesn't exist or couldn't be opened for reading*/ + case 79: return "failed to open file for writing"; + case 80: return "tried creating a tree of 0 symbols"; + case 81: return "lazy matching at pos 0 is impossible"; + case 82: return "color conversion to palette requested while a color isn't in palette"; + case 83: return "memory allocation failed"; + case 84: return "given image too small to contain all pixels to be encoded"; + case 86: return "impossible offset in lz77 encoding (internal bug)"; + case 87: return "must provide custom zlib function pointer if LODEPNG_COMPILE_ZLIB is not defined"; + case 88: return "invalid filter strategy given for LodePNGEncoderSettings.filter_strategy"; + case 89: return "text chunk keyword too short or long: must have size 1-79"; + /*the windowsize in the LodePNGCompressSettings. Requiring POT(==> & instead of %) makes encoding 12% faster.*/ + case 90: return "windowsize must be a power of two"; + case 91: return "invalid decompressed idat size"; + case 92: return "too many pixels, not supported"; + case 93: return "zero width or height is invalid"; + } + return "unknown error code"; +} +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // C++ Wrapper // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ + +#ifdef LODEPNG_COMPILE_DISK +void load_file(std::vector& buffer, const std::string& filename) +{ + std::ifstream file(filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate); + + /*get filesize*/ + std::streamsize size = 0; + if(file.seekg(0, std::ios::end).good()) size = file.tellg(); + if(file.seekg(0, std::ios::beg).good()) size -= file.tellg(); + + /*read contents of the file into the vector*/ + buffer.resize(size_t(size)); + if(size > 0) file.read((char*)(&buffer[0]), size); +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +void save_file(const std::vector& buffer, const std::string& filename) +{ + std::ofstream file(filename.c_str(), std::ios::out|std::ios::binary); + file.write(buffer.empty() ? 0 : (char*)&buffer[0], std::streamsize(buffer.size())); +} +#endif //LODEPNG_COMPILE_DISK + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +unsigned decompress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_decompress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decompress(std::vector& out, const std::vector& in, + const LodePNGDecompressSettings& settings) +{ + return decompress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned compress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_compress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned compress(std::vector& out, const std::vector& in, + const LodePNGCompressSettings& settings) +{ + return compress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_ZLIB + + +#ifdef LODEPNG_COMPILE_PNG + +State::State() +{ + lodepng_state_init(this); +} + +State::State(const State& other) +{ + lodepng_state_init(this); + lodepng_state_copy(this, &other); +} + +State::~State() +{ + lodepng_state_cleanup(this); +} + +State& State::operator=(const State& other) +{ + lodepng_state_copy(this, &other); + return *this; +} + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + unsigned error = lodepng_decode_memory(&buffer, &w, &h, in, insize, colortype, bitdepth); + if(buffer && !error) + { + State state; + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::vector& in, LodePNGColorType colortype, unsigned bitdepth) +{ + return decode(out, w, h, in.empty() ? 0 : &in[0], (unsigned)in.size(), colortype, bitdepth); +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize) +{ + unsigned char* buffer = NULL; + unsigned error = lodepng_decode(&buffer, &w, &h, &state, in, insize); + if(buffer && !error) + { + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + } + lodepng_free(buffer); + return error; +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const std::vector& in) +{ + return decode(out, w, h, state, in.empty() ? 0 : &in[0], in.size()); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned decode(std::vector& out, unsigned& w, unsigned& h, const std::string& filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector buffer; + load_file(buffer, filename); + return decode(out, w, h, buffer, colortype, bitdepth); +} +#endif //LODEPNG_COMPILE_DECODER +#endif //LODEPNG_COMPILE_DISK + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned encode(std::vector& out, const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, in, w, h, colortype, bitdepth); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} + +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + State& state) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode(&buffer, &buffersize, in, w, h, &state); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + State& state) +{ + if(lodepng_get_raw_size(w, h, &state.info_raw) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, state); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector buffer; + unsigned error = encode(buffer, in, w, h, colortype, bitdepth); + if(!error) save_file(buffer, filename); + return error; +} + +unsigned encode(const std::string& filename, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(filename, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_PNG +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ diff --git a/src/libraries/lodepng/lodepng.h b/src/libraries/lodepng/lodepng.h new file mode 100644 index 000000000..1c70e9396 --- /dev/null +++ b/src/libraries/lodepng/lodepng.h @@ -0,0 +1,1708 @@ +/* +LodePNG version 20141130 + +Copyright (c) 2005-2014 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +#ifndef LODEPNG_H +#define LODEPNG_H + +#include /*for size_t*/ + +#ifdef __cplusplus +#include +#include +#endif /*__cplusplus*/ + +#define LODEPNG_VERSION_STRING "20141130" + +/* +The following #defines are used to create code sections. They can be disabled +to disable code sections, which can give faster compile time and smaller binary. +The "NO_COMPILE" defines are designed to be used to pass as defines to the +compiler command to disable them without modifying this header, e.g. +-DLODEPNG_NO_COMPILE_ZLIB for gcc. +*/ +/*deflate & zlib. If disabled, you must specify alternative zlib functions in +the custom_zlib field of the compress and decompress settings*/ +#ifndef LODEPNG_NO_COMPILE_ZLIB +#define LODEPNG_COMPILE_ZLIB +#endif +/*png encoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_PNG +#define LODEPNG_COMPILE_PNG +#endif +/*deflate&zlib decoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_DECODER +#define LODEPNG_COMPILE_DECODER +#endif +/*deflate&zlib encoder and png encoder*/ +#ifndef LODEPNG_NO_COMPILE_ENCODER +#define LODEPNG_COMPILE_ENCODER +#endif +/*the optional built in harddisk file loading and saving functions*/ +#ifndef LODEPNG_NO_COMPILE_DISK +//#define LODEPNG_COMPILE_DISK +#endif +/*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/ +#ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +#define LODEPNG_COMPILE_ANCILLARY_CHUNKS +#endif +/*ability to convert error numerical codes to English text string*/ +#ifndef LODEPNG_NO_COMPILE_ERROR_TEXT +#define LODEPNG_COMPILE_ERROR_TEXT +#endif +/*Compile the default allocators (C's free, malloc and realloc). If you disable this, +you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your +source files with custom allocators.*/ +#ifndef LODEPNG_NO_COMPILE_ALLOCATORS +#define LODEPNG_COMPILE_ALLOCATORS +#endif +/*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ +#ifdef __cplusplus +#ifndef LODEPNG_NO_COMPILE_CPP +#define LODEPNG_COMPILE_CPP +#endif +#endif + +#ifdef LODEPNG_COMPILE_PNG +/*The PNG color types (also used for raw).*/ +typedef enum LodePNGColorType +{ + LCT_GREY = 0, /*greyscale: 1,2,4,8,16 bit*/ + LCT_RGB = 2, /*RGB: 8,16 bit*/ + LCT_PALETTE = 3, /*palette: 1,2,4,8 bit*/ + LCT_GREY_ALPHA = 4, /*greyscale with alpha: 8,16 bit*/ + LCT_RGBA = 6 /*RGB with alpha: 8,16 bit*/ +} LodePNGColorType; + +#ifdef LODEPNG_COMPILE_DECODER +/* +Converts PNG data in memory to raw pixel data. +out: Output parameter. Pointer to buffer that will contain the raw pixel data. + After decoding, its size is w * h * (bytes per pixel) bytes larger than + initially. Bytes per pixel depends on colortype and bitdepth. + Must be freed after usage with free(*out). + Note: for 16-bit per channel colors, uses big endian format like PNG does. +w: Output parameter. Pointer to width of pixel data. +h: Output parameter. Pointer to height of pixel data. +in: Memory buffer with the PNG file. +insize: size of the in buffer. +colortype: the desired color type for the raw output image. See explanation on PNG color types. +bitdepth: the desired bit depth for the raw output image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_memory, but always decodes to 32-bit RGBA raw image*/ +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +/*Same as lodepng_decode_memory, but always decodes to 24-bit RGB raw image*/ +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +#ifdef LODEPNG_COMPILE_DISK +/* +Load PNG from disk, from file with given name. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/ +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); + +/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/ +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Converts raw pixel data into a PNG image in memory. The colortype and bitdepth + of the output PNG image cannot be chosen, they are automatically determined + by the colortype, bitdepth and content of the input pixel data. + Note: for 16-bit per channel colors, needs big endian format like PNG does. +out: Output parameter. Pointer to buffer that will contain the PNG image data. + Must be freed after usage with free(*out). +outsize: Output parameter. Pointer to the size in bytes of the out buffer. +image: The raw pixel data to encode. The size of this buffer should be + w * h * (bytes per pixel), bytes per pixel depends on colortype and bitdepth. +w: width of the raw pixel data in pixels. +h: height of the raw pixel data in pixels. +colortype: the color type of the raw input image. See explanation on PNG color types. +bitdepth: the bit depth of the raw input image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_memory, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_memory, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DISK +/* +Converts raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned lodepng_encode_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_DECODER +/*Same as lodepng_decode_memory, but decodes to an std::vector. The colortype +is the format to output the pixels to. Default is RGBA 8-bit per channel.*/ +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::vector& in, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts PNG file from disk to raw pixel data in memory. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::string& filename, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +/*Same as lodepng_encode_memory, but encodes to an std::vector. colortype +is that of the raw input data. The output PNG color type will be auto chosen.*/ +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts 32-bit RGBA raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(const std::string& filename, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_ENCODER +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/*Returns an English description of the numerical error code.*/ +const char* lodepng_error_text(unsigned code); +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Settings for zlib decompression*/ +typedef struct LodePNGDecompressSettings LodePNGDecompressSettings; +struct LodePNGDecompressSettings +{ + unsigned ignore_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ + + /*use custom zlib decoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + /*use custom deflate decoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_inflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGDecompressSettings lodepng_default_decompress_settings; +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Settings for zlib compression. Tweaking these settings tweaks the balance +between speed and compression ratio. +*/ +typedef struct LodePNGCompressSettings LodePNGCompressSettings; +struct LodePNGCompressSettings /*deflate = compress*/ +{ + /*LZ77 related settings*/ + unsigned btype; /*the block type for LZ (0, 1, 2 or 3, see zlib standard). Should be 2 for proper compression.*/ + unsigned use_lz77; /*whether or not to use LZ77. Should be 1 for proper compression.*/ + unsigned windowsize; /*must be a power of two <= 32768. higher compresses more but is slower. Default value: 2048.*/ + unsigned minmatch; /*mininum lz77 length. 3 is normally best, 6 can be better for some PNGs. Default: 0*/ + unsigned nicematch; /*stop searching if >= this length found. Set to 258 for best compression. Default: 128*/ + unsigned lazymatching; /*use lazy matching: better compression but a bit slower. Default: true*/ + + /*use custom zlib encoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + /*use custom deflate encoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_deflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGCompressSettings lodepng_default_compress_settings; +void lodepng_compress_settings_init(LodePNGCompressSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_PNG +/* +Color mode of an image. Contains all information required to decode the pixel +bits to RGBA colors. This information is the same as used in the PNG file +format, and is used both for PNG and raw image data in LodePNG. +*/ +typedef struct LodePNGColorMode +{ + /*header (IHDR)*/ + LodePNGColorType colortype; /*color type, see PNG standard or documentation further in this header file*/ + unsigned bitdepth; /*bits per sample, see PNG standard or documentation further in this header file*/ + + /* + palette (PLTE and tRNS) + + Dynamically allocated with the colors of the palette, including alpha. + When encoding a PNG, to store your colors in the palette of the LodePNGColorMode, first use + lodepng_palette_clear, then for each color use lodepng_palette_add. + If you encode an image without alpha with palette, don't forget to put value 255 in each A byte of the palette. + + When decoding, by default you can ignore this palette, since LodePNG already + fills the palette colors in the pixels of the raw RGBA output. + + The palette is only supported for color type 3. + */ + unsigned char* palette; /*palette in RGBARGBA... order. When allocated, must be either 0, or have size 1024*/ + size_t palettesize; /*palette size in number of colors (amount of bytes is 4 * palettesize)*/ + + /* + transparent color key (tRNS) + + This color uses the same bit depth as the bitdepth value in this struct, which can be 1-bit to 16-bit. + For greyscale PNGs, r, g and b will all 3 be set to the same. + + When decoding, by default you can ignore this information, since LodePNG sets + pixels with this key to transparent already in the raw RGBA output. + + The color key is only supported for color types 0 and 2. + */ + unsigned key_defined; /*is a transparent color key given? 0 = false, 1 = true*/ + unsigned key_r; /*red/greyscale component of color key*/ + unsigned key_g; /*green component of color key*/ + unsigned key_b; /*blue component of color key*/ +} LodePNGColorMode; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_color_mode_init(LodePNGColorMode* info); +void lodepng_color_mode_cleanup(LodePNGColorMode* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source); + +void lodepng_palette_clear(LodePNGColorMode* info); +/*add 1 color to the palette*/ +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a); + +/*get the total amount of bits per pixel, based on colortype and bitdepth in the struct*/ +unsigned lodepng_get_bpp(const LodePNGColorMode* info); +/*get the amount of color channels used, based on colortype in the struct. +If a palette is used, it counts as 1 channel.*/ +unsigned lodepng_get_channels(const LodePNGColorMode* info); +/*is it a greyscale type? (only colortype 0 or 4)*/ +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info); +/*has it got an alpha channel? (only colortype 2 or 6)*/ +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info); +/*has it got a palette? (only colortype 3)*/ +unsigned lodepng_is_palette_type(const LodePNGColorMode* info); +/*only returns true if there is a palette and there is a value in the palette with alpha < 255. +Loops through the palette to check this.*/ +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info); +/* +Check if the given color info indicates the possibility of having non-opaque pixels in the PNG image. +Returns true if the image can have translucent or invisible pixels (it still be opaque if it doesn't use such pixels). +Returns false if the image can only have opaque pixels. +In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque values, +or if "key_defined" is true. +*/ +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info); +/*Returns the byte size of a raw image buffer with given width, height and color mode*/ +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*The information of a Time chunk in PNG.*/ +typedef struct LodePNGTime +{ + unsigned year; /*2 bytes used (0-65535)*/ + unsigned month; /*1-12*/ + unsigned day; /*1-31*/ + unsigned hour; /*0-23*/ + unsigned minute; /*0-59*/ + unsigned second; /*0-60 (to allow for leap seconds)*/ +} LodePNGTime; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*Information about the PNG image, except pixels, width and height.*/ +typedef struct LodePNGInfo +{ + /*header (IHDR), palette (PLTE) and transparency (tRNS) chunks*/ + unsigned compression_method;/*compression method of the original file. Always 0.*/ + unsigned filter_method; /*filter method of the original file*/ + unsigned interlace_method; /*interlace method of the original file*/ + LodePNGColorMode color; /*color type and bits, palette and transparency of the PNG file*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /* + suggested background color chunk (bKGD) + This color uses the same color mode as the PNG (except alpha channel), which can be 1-bit to 16-bit. + + For greyscale PNGs, r, g and b will all 3 be set to the same. When encoding + the encoder writes the red one. For palette PNGs: When decoding, the RGB value + will be stored, not a palette index. But when encoding, specify the index of + the palette in background_r, the other two are then ignored. + + The decoder does not use this background color to edit the color of pixels. + */ + unsigned background_defined; /*is a suggested background color given?*/ + unsigned background_r; /*red component of suggested background color*/ + unsigned background_g; /*green component of suggested background color*/ + unsigned background_b; /*blue component of suggested background color*/ + + /* + non-international text chunks (tEXt and zTXt) + + The char** arrays each contain num strings. The actual messages are in + text_strings, while text_keys are keywords that give a short description what + the actual text represents, e.g. Title, Author, Description, or anything else. + + A keyword is minimum 1 character and maximum 79 characters long. It's + discouraged to use a single line length longer than 79 characters for texts. + + Don't allocate these text buffers yourself. Use the init/cleanup functions + correctly and use lodepng_add_text and lodepng_clear_text. + */ + size_t text_num; /*the amount of texts in these char** buffers (there may be more texts in itext)*/ + char** text_keys; /*the keyword of a text chunk (e.g. "Comment")*/ + char** text_strings; /*the actual text*/ + + /* + international text chunks (iTXt) + Similar to the non-international text chunks, but with additional strings + "langtags" and "transkeys". + */ + size_t itext_num; /*the amount of international texts in this PNG*/ + char** itext_keys; /*the English keyword of the text chunk (e.g. "Comment")*/ + char** itext_langtags; /*language tag for this text's language, ISO/IEC 646 string, e.g. ISO 639 language tag*/ + char** itext_transkeys; /*keyword translated to the international language - UTF-8 string*/ + char** itext_strings; /*the actual international text - UTF-8 string*/ + + /*time chunk (tIME)*/ + unsigned time_defined; /*set to 1 to make the encoder generate a tIME chunk*/ + LodePNGTime time; + + /*phys chunk (pHYs)*/ + unsigned phys_defined; /*if 0, there is no pHYs chunk and the values below are undefined, if 1 else there is one*/ + unsigned phys_x; /*pixels per unit in x direction*/ + unsigned phys_y; /*pixels per unit in y direction*/ + unsigned phys_unit; /*may be 0 (unknown unit) or 1 (metre)*/ + + /* + unknown chunks + There are 3 buffers, one for each position in the PNG where unknown chunks can appear + each buffer contains all unknown chunks for that position consecutively + The 3 buffers are the unknown chunks between certain critical chunks: + 0: IHDR-PLTE, 1: PLTE-IDAT, 2: IDAT-IEND + Do not allocate or traverse this data yourself. Use the chunk traversing functions declared + later, such as lodepng_chunk_next and lodepng_chunk_append, to read/write this struct. + */ + unsigned char* unknown_chunks_data[3]; + size_t unknown_chunks_size[3]; /*size in bytes of the unknown chunks, given for protection*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGInfo; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_info_init(LodePNGInfo* info); +void lodepng_info_cleanup(LodePNGInfo* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +void lodepng_clear_text(LodePNGInfo* info); /*use this to clear the texts again after you filled them in*/ +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str); /*push back both texts at once*/ + +void lodepng_clear_itext(LodePNGInfo* info); /*use this to clear the itexts again after you filled them in*/ +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str); /*push back the 4 texts of 1 chunk at once*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/* +Converts raw buffer from one color type to another color type, based on +LodePNGColorMode structs to describe the input and output color type. +See the reference manual at the end of this header file to see which color conversions are supported. +return value = LodePNG error code (0 if all went ok, an error if the conversion isn't supported) +The out buffer must have size (w * h * bpp + 7) / 8, where bpp is the bits per pixel +of the output color type (lodepng_get_bpp). +For < 8 bpp images, there should not be padding bits at the end of scanlines. +For 16-bit per channel colors, uses big endian format like PNG does. +Return value is LodePNG error code +*/ +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DECODER +/* +Settings for the decoder. This contains settings for the PNG and the Zlib +decoder, but not the Info settings from the Info structs. +*/ +typedef struct LodePNGDecoderSettings +{ + LodePNGDecompressSettings zlibsettings; /*in here is the setting to ignore Adler32 checksums*/ + + unsigned ignore_crc; /*ignore CRC checksums*/ + + unsigned color_convert; /*whether to convert the PNG to the color type you want. Default: yes*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/ + /*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/ + unsigned remember_unknown_chunks; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGDecoderSettings; + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/*automatically use color type with less bits per pixel if losslessly possible. Default: AUTO*/ +typedef enum LodePNGFilterStrategy +{ + /*every filter at zero*/ + LFS_ZERO, + /*Use filter that gives minumum sum, as described in the official PNG filter heuristic.*/ + LFS_MINSUM, + /*Use the filter type that gives smallest Shannon entropy for this scanline. Depending + on the image, this is better or worse than minsum.*/ + LFS_ENTROPY, + /* + Brute-force-search PNG filters by compressing each filter for each scanline. + Experimental, very slow, and only rarely gives better compression than MINSUM. + */ + LFS_BRUTE_FORCE, + /*use predefined_filters buffer: you specify the filter type for each scanline*/ + LFS_PREDEFINED +} LodePNGFilterStrategy; + +/*Gives characteristics about the colors of the image, which helps decide which color model to use for encoding. +Used internally by default if "auto_convert" is enabled. Public because it's useful for custom algorithms.*/ +typedef struct LodePNGColorProfile +{ + unsigned colored; /*not greyscale*/ + unsigned key; /*if true, image is not opaque. Only if true and alpha is false, color key is possible.*/ + unsigned short key_r; /*these values are always in 16-bit bitdepth in the profile*/ + unsigned short key_g; + unsigned short key_b; + unsigned alpha; /*alpha channel or alpha palette required*/ + unsigned numcolors; /*amount of colors, up to 257. Not valid if bits == 16.*/ + unsigned char palette[1024]; /*Remembers up to the first 256 RGBA colors, in no particular order*/ + unsigned bits; /*bits per channel (not for palette). 1,2 or 4 for greyscale only. 16 if 16-bit per channel required.*/ +} LodePNGColorProfile; + +void lodepng_color_profile_init(LodePNGColorProfile* profile); + +/*Get a LodePNGColorProfile of the image.*/ +unsigned lodepng_get_color_profile(LodePNGColorProfile* profile, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); +/*The function LodePNG uses internally to decide the PNG color with auto_convert. +Chooses an optimal color model, e.g. grey if only grey pixels, palette if < 256 colors, ...*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); + +/*Settings for the encoder.*/ +typedef struct LodePNGEncoderSettings +{ + LodePNGCompressSettings zlibsettings; /*settings for the zlib encoder, such as window size, ...*/ + + unsigned auto_convert; /*automatically choose output PNG color type. Default: true*/ + + /*If true, follows the official PNG heuristic: if the PNG uses a palette or lower than + 8 bit depth, set all filters to zero. Otherwise use the filter_strategy. Note that to + completely follow the official PNG heuristic, filter_palette_zero must be true and + filter_strategy must be LFS_MINSUM*/ + unsigned filter_palette_zero; + /*Which filter strategy to use when not using zeroes due to filter_palette_zero. + Set filter_palette_zero to 0 to ensure always using your chosen strategy. Default: LFS_MINSUM*/ + LodePNGFilterStrategy filter_strategy; + /*used if filter_strategy is LFS_PREDEFINED. In that case, this must point to a buffer with + the same length as the amount of scanlines in the image, and each value must <= 5. You + have to cleanup this buffer, LodePNG will never free it. Don't forget that filter_palette_zero + must be set to 0 to ensure this is also used on palette or low bitdepth images.*/ + const unsigned char* predefined_filters; + + /*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette). + If colortype is 3, PLTE is _always_ created.*/ + unsigned force_palette; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*add LodePNG identifier and version as a text chunk, for debugging*/ + unsigned add_id; + /*encode text chunks as zTXt chunks instead of tEXt chunks, and use compression in iTXt chunks*/ + unsigned text_compression; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGEncoderSettings; + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) +/*The settings, state and information for extended encoding and decoding.*/ +typedef struct LodePNGState +{ +#ifdef LODEPNG_COMPILE_DECODER + LodePNGDecoderSettings decoder; /*the decoding settings*/ +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + LodePNGEncoderSettings encoder; /*the encoding settings*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + LodePNGColorMode info_raw; /*specifies the format in which you would like to get the raw pixel buffer*/ + LodePNGInfo info_png; /*info of the PNG image obtained after decoding*/ + unsigned error; +#ifdef LODEPNG_COMPILE_CPP + //For the lodepng::State subclass. + virtual ~LodePNGState(){} +#endif +} LodePNGState; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_state_init(LodePNGState* state); +void lodepng_state_cleanup(LodePNGState* state); +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source); +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_DECODER +/* +Same as lodepng_decode_memory, but uses a LodePNGState to allow custom settings and +getting much more information about the PNG image and color mode. +*/ +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); + +/* +Read the PNG header, but not the actual data. This returns only the information +that is in the header chunk of the PNG, such as width, height and color type. The +information is placed in the info_png field of the LodePNGState. +*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/*This function allocates the out buffer with standard malloc and stores the size in *outsize.*/ +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* +The lodepng_chunk functions are normally not needed, except to traverse the +unknown chunks stored in the LodePNGInfo struct, or add new ones to it. +It also allows traversing the chunks of an encoded PNG file yourself. + +PNG standard chunk naming conventions: +First byte: uppercase = critical, lowercase = ancillary +Second byte: uppercase = public, lowercase = private +Third byte: must be uppercase +Fourth byte: uppercase = unsafe to copy, lowercase = safe to copy +*/ + +/* +Gets the length of the data of the chunk. Total chunk length has 12 bytes more. +There must be at least 4 bytes to read from. If the result value is too large, +it may be corrupt data. +*/ +unsigned lodepng_chunk_length(const unsigned char* chunk); + +/*puts the 4-byte type in null terminated string*/ +void lodepng_chunk_type(char type[5], const unsigned char* chunk); + +/*check if the type is the given type*/ +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type); + +/*0: it's one of the critical chunk types, 1: it's an ancillary chunk (see PNG standard)*/ +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk); + +/*0: public, 1: private (see PNG standard)*/ +unsigned char lodepng_chunk_private(const unsigned char* chunk); + +/*0: the chunk is unsafe to copy, 1: the chunk is safe to copy (see PNG standard)*/ +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk); + +/*get pointer to the data of the chunk, where the input points to the header of the chunk*/ +unsigned char* lodepng_chunk_data(unsigned char* chunk); +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk); + +/*returns 0 if the crc is correct, 1 if it's incorrect (0 for OK as usual!)*/ +unsigned lodepng_chunk_check_crc(const unsigned char* chunk); + +/*generates the correct CRC from the data and puts it in the last 4 bytes of the chunk*/ +void lodepng_chunk_generate_crc(unsigned char* chunk); + +/*iterate to next chunks. don't use on IEND chunk, as there is no next chunk then*/ +unsigned char* lodepng_chunk_next(unsigned char* chunk); +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk); + +/* +Appends chunk to the data in out. The given chunk should already have its chunk header. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returns error code (0 if it went ok) +*/ +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk); + +/* +Appends new chunk to out. The chunk to append is given by giving its length, type +and data separately. The type is a 4-letter string. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returne error code (0 if it went ok) +*/ +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data); + + +/*Calculate CRC32 of buffer*/ +unsigned lodepng_crc32(const unsigned char* buf, size_t len); +#endif /*LODEPNG_COMPILE_PNG*/ + + +#ifdef LODEPNG_COMPILE_ZLIB +/* +This zlib part can be used independently to zlib compress and decompress a +buffer. It cannot be used to create gzip files however, and it only supports the +part of zlib that is required for PNG, it does not support dictionaries. +*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Inflate a buffer. Inflate is the decompression step of deflate. Out buffer must be freed after use.*/ +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); + +/* +Decompresses Zlib data. Reallocates the out buffer and appends the data. The +data must be according to the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Compresses data with Zlib. Reallocates the out buffer and appends the data. +Zlib adds a small header and trailer around the deflate data. +The data is output in the format of the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +/* +Find length-limited Huffman code for given frequencies. This function is in the +public interface only for tests, it's used internally by lodepng_deflate. +*/ +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen); + +/*Compress a buffer with deflate. See RFC 1951. Out buffer must be freed after use.*/ +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into buffer. The function allocates the out buffer, and +after usage you should free it. +out: output parameter, contains pointer to loaded buffer. +outsize: output parameter, size of the allocated out buffer +filename: the path to the file to load +return value: error code (0 means ok) +*/ +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename); + +/* +Save a file from buffer to disk. Warning, if it exists, this function overwrites +the file without warning! +buffer: the buffer to write +buffersize: size of the buffer to write +filename: the path to the file to save to +return value: error code (0 means ok) +*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ + +#ifdef LODEPNG_COMPILE_CPP +//The LodePNG C++ wrapper uses std::vectors instead of manually allocated memory buffers. +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_PNG +class State : public LodePNGState +{ + public: + State(); + State(const State& other); + virtual ~State(); + State& operator=(const State& other); +}; + +#ifdef LODEPNG_COMPILE_DECODER +//Same as other lodepng::decode, but using a State for more settings and information. +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize); +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const std::vector& in); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +//Same as other lodepng::encode, but using a State for more settings and information. +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + State& state); +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + State& state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into an std::vector. If the vector is empty, then either +the file doesn't exist or is an empty file. +*/ +void load_file(std::vector& buffer, const std::string& filename); + +/* +Save the binary data in an std::vector to a file on disk. The file is overwritten +without warning. +*/ +void save_file(const std::vector& buffer, const std::string& filename); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_PNG + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +//Zlib-decompress an unsigned char buffer +unsigned decompress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); + +//Zlib-decompress an std::vector +unsigned decompress(std::vector& out, const std::vector& in, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +//Zlib-compress an unsigned char buffer +unsigned compress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); + +//Zlib-compress an std::vector +unsigned compress(std::vector& out, const std::vector& in, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_ZLIB +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ + +/* +TODO: +[.] test if there are no memory leaks or security exploits - done a lot but needs to be checked often +[.] check compatibility with vareous compilers - done but needs to be redone for every newer version +[X] converting color to 16-bit per channel types +[ ] read all public PNG chunk types (but never let the color profile and gamma ones touch RGB values) +[ ] make sure encoder generates no chunks with size > (2^31)-1 +[ ] partial decoding (stream processing) +[X] let the "isFullyOpaque" function check color keys and transparent palettes too +[X] better name for the variables "codes", "codesD", "codelengthcodes", "clcl" and "lldl" +[ ] don't stop decoding on errors like 69, 57, 58 (make warnings) +[ ] let the C++ wrapper catch exceptions coming from the standard library and return LodePNG error codes +[ ] allow user to provide custom color conversion functions, e.g. for premultiplied alpha, padding bits or not, ... +*/ + +#endif /*LODEPNG_H inclusion guard*/ + +/* +LodePNG Documentation +--------------------- + +0. table of contents +-------------------- + + 1. about + 1.1. supported features + 1.2. features not supported + 2. C and C++ version + 3. security + 4. decoding + 5. encoding + 6. color conversions + 6.1. PNG color types + 6.2. color conversions + 6.3. padding bits + 6.4. A note about 16-bits per channel and endianness + 7. error values + 8. chunks and PNG editing + 9. compiler support + 10. examples + 10.1. decoder C++ example + 10.2. decoder C example + 11. changes + 12. contact information + + +1. about +-------- + +PNG is a file format to store raster images losslessly with good compression, +supporting different color types and alpha channel. + +LodePNG is a PNG codec according to the Portable Network Graphics (PNG) +Specification (Second Edition) - W3C Recommendation 10 November 2003. + +The specifications used are: + +*) Portable Network Graphics (PNG) Specification (Second Edition): + http://www.w3.org/TR/2003/REC-PNG-20031110 +*) RFC 1950 ZLIB Compressed Data Format version 3.3: + http://www.gzip.org/zlib/rfc-zlib.html +*) RFC 1951 DEFLATE Compressed Data Format Specification ver 1.3: + http://www.gzip.org/zlib/rfc-deflate.html + +The most recent version of LodePNG can currently be found at +http://lodev.org/lodepng/ + +LodePNG works both in C (ISO C90) and C++, with a C++ wrapper that adds +extra functionality. + +LodePNG exists out of two files: +-lodepng.h: the header file for both C and C++ +-lodepng.c(pp): give it the name lodepng.c or lodepng.cpp (or .cc) depending on your usage + +If you want to start using LodePNG right away without reading this doc, get the +examples from the LodePNG website to see how to use it in code, or check the +smaller examples in chapter 13 here. + +LodePNG is simple but only supports the basic requirements. To achieve +simplicity, the following design choices were made: There are no dependencies +on any external library. There are functions to decode and encode a PNG with +a single function call, and extended versions of these functions taking a +LodePNGState struct allowing to specify or get more information. By default +the colors of the raw image are always RGB or RGBA, no matter what color type +the PNG file uses. To read and write files, there are simple functions to +convert the files to/from buffers in memory. + +This all makes LodePNG suitable for loading textures in games, demos and small +programs, ... It's less suitable for full fledged image editors, loading PNGs +over network (it requires all the image data to be available before decoding can +begin), life-critical systems, ... + +1.1. supported features +----------------------- + +The following features are supported by the decoder: + +*) decoding of PNGs with any color type, bit depth and interlace mode, to a 24- or 32-bit color raw image, + or the same color type as the PNG +*) encoding of PNGs, from any raw image to 24- or 32-bit color, or the same color type as the raw image +*) Adam7 interlace and deinterlace for any color type +*) loading the image from harddisk or decoding it from a buffer from other sources than harddisk +*) support for alpha channels, including RGBA color model, translucent palettes and color keying +*) zlib decompression (inflate) +*) zlib compression (deflate) +*) CRC32 and ADLER32 checksums +*) handling of unknown chunks, allowing making a PNG editor that stores custom and unknown chunks. +*) the following chunks are supported (generated/interpreted) by both encoder and decoder: + IHDR: header information + PLTE: color palette + IDAT: pixel data + IEND: the final chunk + tRNS: transparency for palettized images + tEXt: textual information + zTXt: compressed textual information + iTXt: international textual information + bKGD: suggested background color + pHYs: physical dimensions + tIME: modification time + +1.2. features not supported +--------------------------- + +The following features are _not_ supported: + +*) some features needed to make a conformant PNG-Editor might be still missing. +*) partial loading/stream processing. All data must be available and is processed in one call. +*) The following public chunks are not supported but treated as unknown chunks by LodePNG + cHRM, gAMA, iCCP, sRGB, sBIT, hIST, sPLT + Some of these are not supported on purpose: LodePNG wants to provide the RGB values + stored in the pixels, not values modified by system dependent gamma or color models. + + +2. C and C++ version +-------------------- + +The C version uses buffers allocated with alloc that you need to free() +yourself. You need to use init and cleanup functions for each struct whenever +using a struct from the C version to avoid exploits and memory leaks. + +The C++ version has extra functions with std::vectors in the interface and the +lodepng::State class which is a LodePNGState with constructor and destructor. + +These files work without modification for both C and C++ compilers because all +the additional C++ code is in "#ifdef __cplusplus" blocks that make C-compilers +ignore it, and the C code is made to compile both with strict ISO C90 and C++. + +To use the C++ version, you need to rename the source file to lodepng.cpp +(instead of lodepng.c), and compile it with a C++ compiler. + +To use the C version, you need to rename the source file to lodepng.c (instead +of lodepng.cpp), and compile it with a C compiler. + + +3. Security +----------- + +Even if carefully designed, it's always possible that LodePNG contains possible +exploits. If you discover one, please let me know, and it will be fixed. + +When using LodePNG, care has to be taken with the C version of LodePNG, as well +as the C-style structs when working with C++. The following conventions are used +for all C-style structs: + +-if a struct has a corresponding init function, always call the init function when making a new one +-if a struct has a corresponding cleanup function, call it before the struct disappears to avoid memory leaks +-if a struct has a corresponding copy function, use the copy function instead of "=". + The destination must also be inited already. + + +4. Decoding +----------- + +Decoding converts a PNG compressed image to a raw pixel buffer. + +Most documentation on using the decoder is at its declarations in the header +above. For C, simple decoding can be done with functions such as +lodepng_decode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_decode. For C++, all decoding can be done with the +various lodepng::decode functions, and lodepng::State can be used for advanced +features. + +When using the LodePNGState, it uses the following fields for decoding: +*) LodePNGInfo info_png: it stores extra information about the PNG (the input) in here +*) LodePNGColorMode info_raw: here you can say what color mode of the raw image (the output) you want to get +*) LodePNGDecoderSettings decoder: you can specify a few extra settings for the decoder to use + +LodePNGInfo info_png +-------------------- + +After decoding, this contains extra information of the PNG image, except the actual +pixels, width and height because these are already gotten directly from the decoder +functions. + +It contains for example the original color type of the PNG image, text comments, +suggested background color, etc... More details about the LodePNGInfo struct are +at its declaration documentation. + +LodePNGColorMode info_raw +------------------------- + +When decoding, here you can specify which color type you want +the resulting raw image to be. If this is different from the colortype of the +PNG, then the decoder will automatically convert the result. This conversion +always works, except if you want it to convert a color PNG to greyscale or to +a palette with missing colors. + +By default, 32-bit color is used for the result. + +LodePNGDecoderSettings decoder +------------------------------ + +The settings can be used to ignore the errors created by invalid CRC and Adler32 +chunks, and to disable the decoding of tEXt chunks. + +There's also a setting color_convert, true by default. If false, no conversion +is done, the resulting data will be as it was in the PNG (after decompression) +and you'll have to puzzle the colors of the pixels together yourself using the +color type information in the LodePNGInfo. + + +5. Encoding +----------- + +Encoding converts a raw pixel buffer to a PNG compressed image. + +Most documentation on using the encoder is at its declarations in the header +above. For C, simple encoding can be done with functions such as +lodepng_encode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_encode. For C++, all encoding can be done with the +various lodepng::encode functions, and lodepng::State can be used for advanced +features. + +Like the decoder, the encoder can also give errors. However it gives less errors +since the encoder input is trusted, the decoder input (a PNG image that could +be forged by anyone) is not trusted. + +When using the LodePNGState, it uses the following fields for encoding: +*) LodePNGInfo info_png: here you specify how you want the PNG (the output) to be. +*) LodePNGColorMode info_raw: here you say what color type of the raw image (the input) has +*) LodePNGEncoderSettings encoder: you can specify a few settings for the encoder to use + +LodePNGInfo info_png +-------------------- + +When encoding, you use this the opposite way as when decoding: for encoding, +you fill in the values you want the PNG to have before encoding. By default it's +not needed to specify a color type for the PNG since it's automatically chosen, +but it's possible to choose it yourself given the right settings. + +The encoder will not always exactly match the LodePNGInfo struct you give, +it tries as close as possible. Some things are ignored by the encoder. The +encoder uses, for example, the following settings from it when applicable: +colortype and bitdepth, text chunks, time chunk, the color key, the palette, the +background color, the interlace method, unknown chunks, ... + +When encoding to a PNG with colortype 3, the encoder will generate a PLTE chunk. +If the palette contains any colors for which the alpha channel is not 255 (so +there are translucent colors in the palette), it'll add a tRNS chunk. + +LodePNGColorMode info_raw +------------------------- + +You specify the color type of the raw image that you give to the input here, +including a possible transparent color key and palette you happen to be using in +your raw image data. + +By default, 32-bit color is assumed, meaning your input has to be in RGBA +format with 4 bytes (unsigned chars) per pixel. + +LodePNGEncoderSettings encoder +------------------------------ + +The following settings are supported (some are in sub-structs): +*) auto_convert: when this option is enabled, the encoder will +automatically choose the smallest possible color mode (including color key) that +can encode the colors of all pixels without information loss. +*) btype: the block type for LZ77. 0 = uncompressed, 1 = fixed huffman tree, + 2 = dynamic huffman tree (best compression). Should be 2 for proper + compression. +*) use_lz77: whether or not to use LZ77 for compressed block types. Should be + true for proper compression. +*) windowsize: the window size used by the LZ77 encoder (1 - 32768). Has value + 2048 by default, but can be set to 32768 for better, but slow, compression. +*) force_palette: if colortype is 2 or 6, you can make the encoder write a PLTE + chunk if force_palette is true. This can used as suggested palette to convert + to by viewers that don't support more than 256 colors (if those still exist) +*) add_id: add text chunk "Encoder: LodePNG " to the image. +*) text_compression: default 1. If 1, it'll store texts as zTXt instead of tEXt chunks. + zTXt chunks use zlib compression on the text. This gives a smaller result on + large texts but a larger result on small texts (such as a single program name). + It's all tEXt or all zTXt though, there's no separate setting per text yet. + + +6. color conversions +-------------------- + +An important thing to note about LodePNG, is that the color type of the PNG, and +the color type of the raw image, are completely independent. By default, when +you decode a PNG, you get the result as a raw image in the color type you want, +no matter whether the PNG was encoded with a palette, greyscale or RGBA color. +And if you encode an image, by default LodePNG will automatically choose the PNG +color type that gives good compression based on the values of colors and amount +of colors in the image. It can be configured to let you control it instead as +well, though. + +To be able to do this, LodePNG does conversions from one color mode to another. +It can convert from almost any color type to any other color type, except the +following conversions: RGB to greyscale is not supported, and converting to a +palette when the palette doesn't have a required color is not supported. This is +not supported on purpose: this is information loss which requires a color +reduction algorithm that is beyong the scope of a PNG encoder (yes, RGB to grey +is easy, but there are multiple ways if you want to give some channels more +weight). + +By default, when decoding, you get the raw image in 32-bit RGBA or 24-bit RGB +color, no matter what color type the PNG has. And by default when encoding, +LodePNG automatically picks the best color model for the output PNG, and expects +the input image to be 32-bit RGBA or 24-bit RGB. So, unless you want to control +the color format of the images yourself, you can skip this chapter. + +6.1. PNG color types +-------------------- + +A PNG image can have many color types, ranging from 1-bit color to 64-bit color, +as well as palettized color modes. After the zlib decompression and unfiltering +in the PNG image is done, the raw pixel data will have that color type and thus +a certain amount of bits per pixel. If you want the output raw image after +decoding to have another color type, a conversion is done by LodePNG. + +The PNG specification gives the following color types: + +0: greyscale, bit depths 1, 2, 4, 8, 16 +2: RGB, bit depths 8 and 16 +3: palette, bit depths 1, 2, 4 and 8 +4: greyscale with alpha, bit depths 8 and 16 +6: RGBA, bit depths 8 and 16 + +Bit depth is the amount of bits per pixel per color channel. So the total amount +of bits per pixel is: amount of channels * bitdepth. + +6.2. color conversions +---------------------- + +As explained in the sections about the encoder and decoder, you can specify +color types and bit depths in info_png and info_raw to change the default +behaviour. + +If, when decoding, you want the raw image to be something else than the default, +you need to set the color type and bit depth you want in the LodePNGColorMode, +or the parameters colortype and bitdepth of the simple decoding function. + +If, when encoding, you use another color type than the default in the raw input +image, you need to specify its color type and bit depth in the LodePNGColorMode +of the raw image, or use the parameters colortype and bitdepth of the simple +encoding function. + +If, when encoding, you don't want LodePNG to choose the output PNG color type +but control it yourself, you need to set auto_convert in the encoder settings +to false, and specify the color type you want in the LodePNGInfo of the +encoder (including palette: it can generate a palette if auto_convert is true, +otherwise not). + +If the input and output color type differ (whether user chosen or auto chosen), +LodePNG will do a color conversion, which follows the rules below, and may +sometimes result in an error. + +To avoid some confusion: +-the decoder converts from PNG to raw image +-the encoder converts from raw image to PNG +-the colortype and bitdepth in LodePNGColorMode info_raw, are those of the raw image +-the colortype and bitdepth in the color field of LodePNGInfo info_png, are those of the PNG +-when encoding, the color type in LodePNGInfo is ignored if auto_convert + is enabled, it is automatically generated instead +-when decoding, the color type in LodePNGInfo is set by the decoder to that of the original + PNG image, but it can be ignored since the raw image has the color type you requested instead +-if the color type of the LodePNGColorMode and PNG image aren't the same, a conversion + between the color types is done if the color types are supported. If it is not + supported, an error is returned. If the types are the same, no conversion is done. +-even though some conversions aren't supported, LodePNG supports loading PNGs from any + colortype and saving PNGs to any colortype, sometimes it just requires preparing + the raw image correctly before encoding. +-both encoder and decoder use the same color converter. + +Non supported color conversions: +-color to greyscale: no error is thrown, but the result will look ugly because +only the red channel is taken +-anything to palette when that palette does not have that color in it: in this +case an error is thrown + +Supported color conversions: +-anything to 8-bit RGB, 8-bit RGBA, 16-bit RGB, 16-bit RGBA +-any grey or grey+alpha, to grey or grey+alpha +-anything to a palette, as long as the palette has the requested colors in it +-removing alpha channel +-higher to smaller bitdepth, and vice versa + +If you want no color conversion to be done (e.g. for speed or control): +-In the encoder, you can make it save a PNG with any color type by giving the +raw color mode and LodePNGInfo the same color mode, and setting auto_convert to +false. +-In the decoder, you can make it store the pixel data in the same color type +as the PNG has, by setting the color_convert setting to false. Settings in +info_raw are then ignored. + +The function lodepng_convert does the color conversion. It is available in the +interface but normally isn't needed since the encoder and decoder already call +it. + +6.3. padding bits +----------------- + +In the PNG file format, if a less than 8-bit per pixel color type is used and the scanlines +have a bit amount that isn't a multiple of 8, then padding bits are used so that each +scanline starts at a fresh byte. But that is NOT true for the LodePNG raw input and output. +The raw input image you give to the encoder, and the raw output image you get from the decoder +will NOT have these padding bits, e.g. in the case of a 1-bit image with a width +of 7 pixels, the first pixel of the second scanline will the the 8th bit of the first byte, +not the first bit of a new byte. + +6.4. A note about 16-bits per channel and endianness +---------------------------------------------------- + +LodePNG uses unsigned char arrays for 16-bit per channel colors too, just like +for any other color format. The 16-bit values are stored in big endian (most +significant byte first) in these arrays. This is the opposite order of the +little endian used by x86 CPU's. + +LodePNG always uses big endian because the PNG file format does so internally. +Conversions to other formats than PNG uses internally are not supported by +LodePNG on purpose, there are myriads of formats, including endianness of 16-bit +colors, the order in which you store R, G, B and A, and so on. Supporting and +converting to/from all that is outside the scope of LodePNG. + +This may mean that, depending on your use case, you may want to convert the big +endian output of LodePNG to little endian with a for loop. This is certainly not +always needed, many applications and libraries support big endian 16-bit colors +anyway, but it means you cannot simply cast the unsigned char* buffer to an +unsigned short* buffer on x86 CPUs. + + +7. error values +--------------- + +All functions in LodePNG that return an error code, return 0 if everything went +OK, or a non-zero code if there was an error. + +The meaning of the LodePNG error values can be retrieved with the function +lodepng_error_text: given the numerical error code, it returns a description +of the error in English as a string. + +Check the implementation of lodepng_error_text to see the meaning of each code. + + +8. chunks and PNG editing +------------------------- + +If you want to add extra chunks to a PNG you encode, or use LodePNG for a PNG +editor that should follow the rules about handling of unknown chunks, or if your +program is able to read other types of chunks than the ones handled by LodePNG, +then that's possible with the chunk functions of LodePNG. + +A PNG chunk has the following layout: + +4 bytes length +4 bytes type name +length bytes data +4 bytes CRC + +8.1. iterating through chunks +----------------------------- + +If you have a buffer containing the PNG image data, then the first chunk (the +IHDR chunk) starts at byte number 8 of that buffer. The first 8 bytes are the +signature of the PNG and are not part of a chunk. But if you start at byte 8 +then you have a chunk, and can check the following things of it. + +NOTE: none of these functions check for memory buffer boundaries. To avoid +exploits, always make sure the buffer contains all the data of the chunks. +When using lodepng_chunk_next, make sure the returned value is within the +allocated memory. + +unsigned lodepng_chunk_length(const unsigned char* chunk): + +Get the length of the chunk's data. The total chunk length is this length + 12. + +void lodepng_chunk_type(char type[5], const unsigned char* chunk): +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type): + +Get the type of the chunk or compare if it's a certain type + +unsigned char lodepng_chunk_critical(const unsigned char* chunk): +unsigned char lodepng_chunk_private(const unsigned char* chunk): +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk): + +Check if the chunk is critical in the PNG standard (only IHDR, PLTE, IDAT and IEND are). +Check if the chunk is private (public chunks are part of the standard, private ones not). +Check if the chunk is safe to copy. If it's not, then, when modifying data in a critical +chunk, unsafe to copy chunks of the old image may NOT be saved in the new one if your +program doesn't handle that type of unknown chunk. + +unsigned char* lodepng_chunk_data(unsigned char* chunk): +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk): + +Get a pointer to the start of the data of the chunk. + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk): +void lodepng_chunk_generate_crc(unsigned char* chunk): + +Check if the crc is correct or generate a correct one. + +unsigned char* lodepng_chunk_next(unsigned char* chunk): +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk): + +Iterate to the next chunk. This works if you have a buffer with consecutive chunks. Note that these +functions do no boundary checking of the allocated data whatsoever, so make sure there is enough +data available in the buffer to be able to go to the next chunk. + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk): +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data): + +These functions are used to create new chunks that are appended to the data in *out that has +length *outlength. The append function appends an existing chunk to the new data. The create +function creates a new chunk with the given parameters and appends it. Type is the 4-letter +name of the chunk. + +8.2. chunks in info_png +----------------------- + +The LodePNGInfo struct contains fields with the unknown chunk in it. It has 3 +buffers (each with size) to contain 3 types of unknown chunks: +the ones that come before the PLTE chunk, the ones that come between the PLTE +and the IDAT chunks, and the ones that come after the IDAT chunks. +It's necessary to make the distionction between these 3 cases because the PNG +standard forces to keep the ordering of unknown chunks compared to the critical +chunks, but does not force any other ordering rules. + +info_png.unknown_chunks_data[0] is the chunks before PLTE +info_png.unknown_chunks_data[1] is the chunks after PLTE, before IDAT +info_png.unknown_chunks_data[2] is the chunks after IDAT + +The chunks in these 3 buffers can be iterated through and read by using the same +way described in the previous subchapter. + +When using the decoder to decode a PNG, you can make it store all unknown chunks +if you set the option settings.remember_unknown_chunks to 1. By default, this +option is off (0). + +The encoder will always encode unknown chunks that are stored in the info_png. +If you need it to add a particular chunk that isn't known by LodePNG, you can +use lodepng_chunk_append or lodepng_chunk_create to the chunk data in +info_png.unknown_chunks_data[x]. + +Chunks that are known by LodePNG should not be added in that way. E.g. to make +LodePNG add a bKGD chunk, set background_defined to true and add the correct +parameters there instead. + + +9. compiler support +------------------- + +No libraries other than the current standard C library are needed to compile +LodePNG. For the C++ version, only the standard C++ library is needed on top. +Add the files lodepng.c(pp) and lodepng.h to your project, include +lodepng.h where needed, and your program can read/write PNG files. + +It is compatible with C90 and up, and C++03 and up. + +If performance is important, use optimization when compiling! For both the +encoder and decoder, this makes a large difference. + +Make sure that LodePNG is compiled with the same compiler of the same version +and with the same settings as the rest of the program, or the interfaces with +std::vectors and std::strings in C++ can be incompatible. + +CHAR_BITS must be 8 or higher, because LodePNG uses unsigned chars for octets. + +*) gcc and g++ + +LodePNG is developed in gcc so this compiler is natively supported. It gives no +warnings with compiler options "-Wall -Wextra -pedantic -ansi", with gcc and g++ +version 4.7.1 on Linux, 32-bit and 64-bit. + +*) Clang + +Fully supported and warning-free. + +*) Mingw + +The Mingw compiler (a port of gcc for Windows) should be fully supported by +LodePNG. + +*) Visual Studio and Visual C++ Express Edition + +LodePNG should be warning-free with warning level W4. Two warnings were disabled +with pragmas though: warning 4244 about implicit conversions, and warning 4996 +where it wants to use a non-standard function fopen_s instead of the standard C +fopen. + +Visual Studio may want "stdafx.h" files to be included in each source file and +give an error "unexpected end of file while looking for precompiled header". +This is not standard C++ and will not be added to the stock LodePNG. You can +disable it for lodepng.cpp only by right clicking it, Properties, C/C++, +Precompiled Headers, and set it to Not Using Precompiled Headers there. + +NOTE: Modern versions of VS should be fully supported, but old versions, e.g. +VS6, are not guaranteed to work. + +*) Compilers on Macintosh + +LodePNG has been reported to work both with gcc and LLVM for Macintosh, both for +C and C++. + +*) Other Compilers + +If you encounter problems on any compilers, feel free to let me know and I may +try to fix it if the compiler is modern and standards complient. + + +10. examples +------------ + +This decoder example shows the most basic usage of LodePNG. More complex +examples can be found on the LodePNG website. + +10.1. decoder C++ example +------------------------- + +#include "lodepng.h" +#include + +int main(int argc, char *argv[]) +{ + const char* filename = argc > 1 ? argv[1] : "test.png"; + + //load and decode + std::vector image; + unsigned width, height; + unsigned error = lodepng::decode(image, width, height, filename); + + //if there's an error, display it + if(error) std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl; + + //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ... +} + +10.2. decoder C example +----------------------- + +#include "lodepng.h" + +int main(int argc, char *argv[]) +{ + unsigned error; + unsigned char* image; + size_t width, height; + const char* filename = argc > 1 ? argv[1] : "test.png"; + + error = lodepng_decode32_file(&image, &width, &height, filename); + + if(error) printf("decoder error %u: %s\n", error, lodepng_error_text(error)); + + / * use image here * / + + free(image); + return 0; +} + + +11. changes +----------- + +The version number of LodePNG is the date of the change given in the format +yyyymmdd. + +Some changes aren't backwards compatible. Those are indicated with a (!) +symbol. + +*) 23 aug 2014: Reduced needless memory usage of decoder. +*) 28 jun 2014: Removed fix_png setting, always support palette OOB for + simplicity. Made ColorProfile public. +*) 09 jun 2014: Faster encoder by fixing hash bug and more zeros optimization. +*) 22 dec 2013: Power of two windowsize required for optimization. +*) 15 apr 2013: Fixed bug with LAC_ALPHA and color key. +*) 25 mar 2013: Added an optional feature to ignore some PNG errors (fix_png). +*) 11 mar 2013 (!): Bugfix with custom free. Changed from "my" to "lodepng_" + prefix for the custom allocators and made it possible with a new #define to + use custom ones in your project without needing to change lodepng's code. +*) 28 jan 2013: Bugfix with color key. +*) 27 okt 2012: Tweaks in text chunk keyword length error handling. +*) 8 okt 2012 (!): Added new filter strategy (entropy) and new auto color mode. + (no palette). Better deflate tree encoding. New compression tweak settings. + Faster color conversions while decoding. Some internal cleanups. +*) 23 sep 2012: Reduced warnings in Visual Studio a little bit. +*) 1 sep 2012 (!): Removed #define's for giving custom (de)compression functions + and made it work with function pointers instead. +*) 23 jun 2012: Added more filter strategies. Made it easier to use custom alloc + and free functions and toggle #defines from compiler flags. Small fixes. +*) 6 may 2012 (!): Made plugging in custom zlib/deflate functions more flexible. +*) 22 apr 2012 (!): Made interface more consistent, renaming a lot. Removed + redundant C++ codec classes. Reduced amount of structs. Everything changed, + but it is cleaner now imho and functionality remains the same. Also fixed + several bugs and shrinked the implementation code. Made new samples. +*) 6 nov 2011 (!): By default, the encoder now automatically chooses the best + PNG color model and bit depth, based on the amount and type of colors of the + raw image. For this, autoLeaveOutAlphaChannel replaced by auto_choose_color. +*) 9 okt 2011: simpler hash chain implementation for the encoder. +*) 8 sep 2011: lz77 encoder lazy matching instead of greedy matching. +*) 23 aug 2011: tweaked the zlib compression parameters after benchmarking. + A bug with the PNG filtertype heuristic was fixed, so that it chooses much + better ones (it's quite significant). A setting to do an experimental, slow, + brute force search for PNG filter types is added. +*) 17 aug 2011 (!): changed some C zlib related function names. +*) 16 aug 2011: made the code less wide (max 120 characters per line). +*) 17 apr 2011: code cleanup. Bugfixes. Convert low to 16-bit per sample colors. +*) 21 feb 2011: fixed compiling for C90. Fixed compiling with sections disabled. +*) 11 dec 2010: encoding is made faster, based on suggestion by Peter Eastman + to optimize long sequences of zeros. +*) 13 nov 2010: added LodePNG_InfoColor_hasPaletteAlpha and + LodePNG_InfoColor_canHaveAlpha functions for convenience. +*) 7 nov 2010: added LodePNG_error_text function to get error code description. +*) 30 okt 2010: made decoding slightly faster +*) 26 okt 2010: (!) changed some C function and struct names (more consistent). + Reorganized the documentation and the declaration order in the header. +*) 08 aug 2010: only changed some comments and external samples. +*) 05 jul 2010: fixed bug thanks to warnings in the new gcc version. +*) 14 mar 2010: fixed bug where too much memory was allocated for char buffers. +*) 02 sep 2008: fixed bug where it could create empty tree that linux apps could + read by ignoring the problem but windows apps couldn't. +*) 06 jun 2008: added more error checks for out of memory cases. +*) 26 apr 2008: added a few more checks here and there to ensure more safety. +*) 06 mar 2008: crash with encoding of strings fixed +*) 02 feb 2008: support for international text chunks added (iTXt) +*) 23 jan 2008: small cleanups, and #defines to divide code in sections +*) 20 jan 2008: support for unknown chunks allowing using LodePNG for an editor. +*) 18 jan 2008: support for tIME and pHYs chunks added to encoder and decoder. +*) 17 jan 2008: ability to encode and decode compressed zTXt chunks added + Also vareous fixes, such as in the deflate and the padding bits code. +*) 13 jan 2008: Added ability to encode Adam7-interlaced images. Improved + filtering code of encoder. +*) 07 jan 2008: (!) changed LodePNG to use ISO C90 instead of C++. A + C++ wrapper around this provides an interface almost identical to before. + Having LodePNG be pure ISO C90 makes it more portable. The C and C++ code + are together in these files but it works both for C and C++ compilers. +*) 29 dec 2007: (!) changed most integer types to unsigned int + other tweaks +*) 30 aug 2007: bug fixed which makes this Borland C++ compatible +*) 09 aug 2007: some VS2005 warnings removed again +*) 21 jul 2007: deflate code placed in new namespace separate from zlib code +*) 08 jun 2007: fixed bug with 2- and 4-bit color, and small interlaced images +*) 04 jun 2007: improved support for Visual Studio 2005: crash with accessing + invalid std::vector element [0] fixed, and level 3 and 4 warnings removed +*) 02 jun 2007: made the encoder add a tag with version by default +*) 27 may 2007: zlib and png code separated (but still in the same file), + simple encoder/decoder functions added for more simple usage cases +*) 19 may 2007: minor fixes, some code cleaning, new error added (error 69), + moved some examples from here to lodepng_examples.cpp +*) 12 may 2007: palette decoding bug fixed +*) 24 apr 2007: changed the license from BSD to the zlib license +*) 11 mar 2007: very simple addition: ability to encode bKGD chunks. +*) 04 mar 2007: (!) tEXt chunk related fixes, and support for encoding + palettized PNG images. Plus little interface change with palette and texts. +*) 03 mar 2007: Made it encode dynamic Huffman shorter with repeat codes. + Fixed a bug where the end code of a block had length 0 in the Huffman tree. +*) 26 feb 2007: Huffman compression with dynamic trees (BTYPE 2) now implemented + and supported by the encoder, resulting in smaller PNGs at the output. +*) 27 jan 2007: Made the Adler-32 test faster so that a timewaste is gone. +*) 24 jan 2007: gave encoder an error interface. Added color conversion from any + greyscale type to 8-bit greyscale with or without alpha. +*) 21 jan 2007: (!) Totally changed the interface. It allows more color types + to convert to and is more uniform. See the manual for how it works now. +*) 07 jan 2007: Some cleanup & fixes, and a few changes over the last days: + encode/decode custom tEXt chunks, separate classes for zlib & deflate, and + at last made the decoder give errors for incorrect Adler32 or Crc. +*) 01 jan 2007: Fixed bug with encoding PNGs with less than 8 bits per channel. +*) 29 dec 2006: Added support for encoding images without alpha channel, and + cleaned out code as well as making certain parts faster. +*) 28 dec 2006: Added "Settings" to the encoder. +*) 26 dec 2006: The encoder now does LZ77 encoding and produces much smaller files now. + Removed some code duplication in the decoder. Fixed little bug in an example. +*) 09 dec 2006: (!) Placed output parameters of public functions as first parameter. + Fixed a bug of the decoder with 16-bit per color. +*) 15 okt 2006: Changed documentation structure +*) 09 okt 2006: Encoder class added. It encodes a valid PNG image from the + given image buffer, however for now it's not compressed. +*) 08 sep 2006: (!) Changed to interface with a Decoder class +*) 30 jul 2006: (!) LodePNG_InfoPng , width and height are now retrieved in different + way. Renamed decodePNG to decodePNGGeneric. +*) 29 jul 2006: (!) Changed the interface: image info is now returned as a + struct of type LodePNG::LodePNG_Info, instead of a vector, which was a bit clumsy. +*) 28 jul 2006: Cleaned the code and added new error checks. + Corrected terminology "deflate" into "inflate". +*) 23 jun 2006: Added SDL example in the documentation in the header, this + example allows easy debugging by displaying the PNG and its transparency. +*) 22 jun 2006: (!) Changed way to obtain error value. Added + loadFile function for convenience. Made decodePNG32 faster. +*) 21 jun 2006: (!) Changed type of info vector to unsigned. + Changed position of palette in info vector. Fixed an important bug that + happened on PNGs with an uncompressed block. +*) 16 jun 2006: Internally changed unsigned into unsigned where + needed, and performed some optimizations. +*) 07 jun 2006: (!) Renamed functions to decodePNG and placed them + in LodePNG namespace. Changed the order of the parameters. Rewrote the + documentation in the header. Renamed files to lodepng.cpp and lodepng.h +*) 22 apr 2006: Optimized and improved some code +*) 07 sep 2005: (!) Changed to std::vector interface +*) 12 aug 2005: Initial release (C++, decoder only) + + +12. contact information +----------------------- + +Feel free to contact me with suggestions, problems, comments, ... concerning +LodePNG. If you encounter a PNG image that doesn't work properly with this +decoder, feel free to send it and I'll use it to find and fix the problem. + +My email address is (puzzle the account and domain together with an @ symbol): +Domain: gmail dot com. +Account: lode dot vandevenne. + + +Copyright (c) 2005-2014 Lode Vandevenne +*/ diff --git a/src/libraries/stb/stb_image.h b/src/libraries/stb/stb_image.h new file mode 100644 index 000000000..8bdeec461 --- /dev/null +++ b/src/libraries/stb/stb_image.h @@ -0,0 +1,6329 @@ +/* stb_image - v2.02 - public domain image loader - http://nothings.org/stb_image.h + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8-bit-per-channel (16 bpc not supported) + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + + Revision 2.00 release notes: + + - Progressive JPEG is now supported. + + - PPM and PGM binary formats are now supported, thanks to Ken Miller. + + - x86 platforms now make use of SSE2 SIMD instructions for + JPEG decoding, and ARM platforms can use NEON SIMD if requested. + This work was done by Fabian "ryg" Giesen. SSE2 is used by + default, but NEON must be enabled explicitly; see docs. + + With other JPEG optimizations included in this version, we see + 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup + on a JPEG on an ARM machine, relative to previous versions of this + library. The same results will not obtain for all JPGs and for all + x86/ARM machines. (Note that progressive JPEGs are significantly + slower to decode than regular JPEGs.) This doesn't mean that this + is the fastest JPEG decoder in the land; rather, it brings it + closer to parity with standard libraries. If you want the fastest + decode, look elsewhere. (See "Philosophy" section of docs below.) + + See final bullet items below for more info on SIMD. + + - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing + the memory allocator. Unlike other STBI libraries, these macros don't + support a context parameter, so if you need to pass a context in to + the allocator, you'll have to store it in a global or a thread-local + variable. + + - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and + STBI_NO_LINEAR. + STBI_NO_HDR: suppress implementation of .hdr reader format + STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API + + - You can suppress implementation of any of the decoders to reduce + your code footprint by #defining one or more of the following + symbols before creating the implementation. + + STBI_NO_JPEG + STBI_NO_PNG + STBI_NO_BMP + STBI_NO_PSD + STBI_NO_TGA + STBI_NO_GIF + STBI_NO_HDR + STBI_NO_PIC + STBI_NO_PNM (.ppm and .pgm) + + - You can request *only* certain decoders and suppress all other ones + (this will be more forward-compatible, as addition of new decoders + doesn't require you to disable them explicitly): + + STBI_ONLY_JPEG + STBI_ONLY_PNG + STBI_ONLY_BMP + STBI_ONLY_PSD + STBI_ONLY_TGA + STBI_ONLY_GIF + STBI_ONLY_HDR + STBI_ONLY_PIC + STBI_ONLY_PNM (.ppm and .pgm) + + Note that you can define multiples of these, and you will get all + of them ("only x" and "only y" is interpreted to mean "only x&y"). + + - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still + want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB + + - Compilation of all SIMD code can be suppressed with + #define STBI_NO_SIMD + It should not be necessary to disable SIMD unless you have issues + compiling (e.g. using an x86 compiler which doesn't support SSE + intrinsics or that doesn't support the method used to detect + SSE2 support at run-time), and even those can be reported as + bugs so I can refine the built-in compile-time checking to be + smarter. + + - The old STBI_SIMD system which allowed installing a user-defined + IDCT etc. has been removed. If you need this, don't upgrade. My + assumption is that almost nobody was doing this, and those who + were will find the built-in SIMD more satisfactory anyway. + + - RGB values computed for JPEG images are slightly different from + previous versions of stb_image. (This is due to using less + integer precision in SIMD.) The C code has been adjusted so + that the same RGB values will be computed regardless of whether + SIMD support is available, so your app should always produce + consistent results. But these results are slightly different from + previous versions. (Specifically, about 3% of available YCbCr values + will compute different RGB results from pre-1.49 versions by +-1; + most of the deviating values are one smaller in the G channel.) + + - If you must produce consistent results with previous versions of + stb_image, #define STBI_JPEG_OLD and you will get the same results + you used to; however, you will not get the SIMD speedups for + the YCbCr-to-RGB conversion step (although you should still see + significant JPEG speedup from the other changes). + + Please note that STBI_JPEG_OLD is a temporary feature; it will be + removed in future versions of the library. It is only intended for + near-term back-compatibility use. + + + Latest revision history: + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPEG, including x86 SSE2 & ARM NEON SIMD + progressive JPEG + PGM/PPM support + STBI_MALLOC,STBI_REALLOC,STBI_FREE + STBI_NO_*, STBI_ONLY_* + GIF bugfix + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support (both grayscale and paletted) + optimize PNG + fix bug in interlaced PNG with user-specified channel count + 1.46 (2014-08-26) fix broken tRNS chunk in non-paletted PNG + 1.45 (2014-08-16) workaround MSVC-ARM internal compiler error by wrapping malloc + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Bug fixes & warning fixes + Sean Barrett (jpeg, png, bmp) Marc LeBlanc + Nicolas Schulz (hdr, psd) Christpher Lloyd + Jonathan Dummer (tga) Dave Moore + Jean-Marc Lienher (gif) Won Chun + Tom Seddon (pic) the Horde3D community + Thatcher Ulrich (psd) Janez Zemva + Ken Miller (pgm, ppm) Jonathan Blow + Laurent Gomila + Aruelien Pocheville + Extensions, features Ryamond Barbiero + Jetro Lauha (stbi_info) David Woo + Martin "SpartanJ" Golini (stbi_info) Martin Golini + James "moose2000" Brown (iPhone PNG) Roy Eltham + Ben "Disch" Wenger (io callbacks) Luke Graham + Omar Cornut (1/2/4-bit PNG) Thomas Ruf + John Bartholomew + Ken Hamada + Optimizations & bugfixes Cort Stratton + Fabian "ryg" Giesen Blazej Dariusz Roszkowski + Arseny Kapoulkine Thibault Reuille + Paul Du Bois + Guillaume George + If your name should be here but Jerry Jansson + isn't, let Sean know. Hayaki Saito + Johan Duparc + Ronny Chevalier + Michal Cichon + Tero Hanninen + Sergio Gonzalez + Cass Everitt + Engin Manap + +License: + This software is in the public domain. Where that dedication is not + recognized, you are granted a perpetual, irrevocable license to copy + and modify this file however you want. + +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 16-bit-per-channel PNG +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - no 1-bit BMP +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data) +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *comp -- outputs # of image components in image file +// int req_comp -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'req_comp' if req_comp is non-zero, or *comp otherwise. +// If req_comp is non-zero, *comp has the number of components that _would_ +// have been output otherwise. E.g. if you set req_comp to 4, you will always +// get RGBA output, but you can check *comp to see if it's trivially opaque +// because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *comp will be unchanged. The function stbi_failure_reason() +// can be queried for an extremely brief, end-user unfriendly explanation +// of why the load failed. Define STBI_NO_FAILURE_STRINGS to avoid +// compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy to use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// make more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// The output of the JPEG decoder is slightly different from versions where +// SIMD support was introduced (that is, for versions before 1.49). The +// difference is only +-1 in the 8-bit RGB channels, and only on a small +// fraction of pixels. You can force the pre-1.49 behavior by defining +// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path +// and hence cost some performance. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image now supports loading HDR images in general, and currently +// the Radiance .HDR file format, although the support is provided +// generically. You can still load any file through the existing interface; +// if you attempt to load an HDR file, it will be automatically remapped to +// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// By default we convert iphone-formatted PNGs back to RGB, even though +// they are internally encoded differently. You can disable this conversion +// by by calling stbi_convert_iphone_png_to_rgb(0), in which case +// you will always just get the native iphone "format" through (which +// is BGR stored in RGB). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// + + +#ifndef STBI_NO_STDIO +#include +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for req_comp + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +typedef unsigned char stbi_uc; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *comp, int req_comp); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_HDR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// NOT THREADSAFE +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); + +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include +#include // ptrdiff_t on osx +#include +#include + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include // ldexp +#endif + +#ifndef STBI_NO_STDIO +#include +#endif + +#ifndef STBI_ASSERT +#include +#define STBI_ASSERT(x) assert(x) +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + + +#ifdef _MSC_VER +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && defined(STBI_REALLOC) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,sz) realloc(p,sz) +#define STBI_FREE(p) free(p) +#endif + +#if defined(__GNUC__) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; +// this is just broken and gcc are jerks for not fixing it properly +// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && (defined(__x86_64__) || defined(_M_X64) || defined(__i386) || defined(_M_IX86)) +#define STBI_SSE2 +#include + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +static int stbi__sse2_available() +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +static int stbi__sse2_available() +{ +#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later + // GCC 4.8+ has a nice way to do this + return __builtin_cpu_supports("sse2"); +#else + // portable way to do this, preferably without using GCC inline ASM? + // just bail for now. + return 0; +#endif +} +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +// assume GCC or Clang on ARM targets +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + fseek((FILE*) user, n, SEEK_CUR); +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; +} + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static stbi_uc *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static stbi_uc *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static stbi_uc *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +// this is not threadsafe +static const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static unsigned char *stbi_load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp); + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +#ifndef STBI_NO_STDIO + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi_load_main(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} +#endif //!STBI_NO_STDIO + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi_load_main(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi_load_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_LINEAR +static float *stbi_loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) + return stbi__hdr_load(s,x,y,comp,req_comp); + #endif + data = stbi_load_main(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi_loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi_loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi_loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_file(&s,f); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(f); + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(clbk); + STBI_NOTUSED(user); + return 0; + #endif +} + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +#ifndef STBI_NO_LINEAR +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} + +static void stbi__skip(stbi__context *s, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} + +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} + +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} + +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} + +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} + +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + return z + (stbi__get16le(s) << 16); +} + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + + +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} + +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc(req_comp * x * y); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define COMBO(a,b) ((a)*8+(b)) + #define CASE(a,b) case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (COMBO(img_n, req_comp)) { + CASE(1,2) dest[0]=src[0], dest[1]=255; break; + CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break; + CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break; + CASE(2,1) dest[0]=src[0]; break; + CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break; + CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break; + CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break; + CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; + CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break; + CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; + CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break; + CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break; + default: STBI_ASSERT(0); + } + #undef CASE + } + + STBI_FREE(data); + return good; +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output = (float *) stbi__malloc(x * y * comp * sizeof(float)); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output = (stbi_uc *) stbi__malloc(x * y * comp); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi_uc dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0,code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) + for (j=0; j < count[i]; ++j) + h->size[k++] = (stbi_uc) (i+1); + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (-1 << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + + sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & ~sgn); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + diff = t ? stbi__extend_receive(j, t) : 0; + + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + data[0] = (short) (dc << j->succ_low); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) << shift); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) << shift); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else + r = 16; // r=15 is the code for 16 0s + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + ++k; + } else { + if (r == 0) { + if (s) + data[stbi__jpeg_dezigzag[k++]] = (short) s; + break; + } + --r; + ++k; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) << 12) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0] << 2; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4; + int t = q & 15,i; + if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); + L -= 65; + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + stbi__skip(z->s, stbi__get16be(z->s)-2); + return 1; + } + return 0; +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + c = stbi__get8(s); + if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + for (i=0; i < s->img_n; ++i) { + z->img_comp[i].id = stbi__get8(s); + if (z->img_comp[i].id != i+1) // JFIF requires + if (z->img_comp[i].id != i) // some version of jpegtran outputs non-JFIF-compliant files! + return stbi__err("bad component ID","Corrupt JPEG"); + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].raw_data = stbi__malloc(z->img_comp[i].w2 * z->img_comp[i].h2+15); + + if (z->img_comp[i].raw_data == NULL) { + for(--i; i >= 0; --i) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].data = NULL; + } + return stbi__err("outofmem", "Out of memory"); + } + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + z->img_comp[i].linebuf = NULL; + if (z->progressive) { + z->img_comp[i].coeff_w = (z->img_comp[i].w2 + 7) >> 3; + z->img_comp[i].coeff_h = (z->img_comp[i].h2 + 7) >> 3; + z->img_comp[i].raw_coeff = STBI_MALLOC(z->img_comp[i].coeff_w * z->img_comp[i].coeff_h * 64 * sizeof(short) + 15); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } else { + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + // handle 0s at the end of image data from IP Kamera 9060 + while (!stbi__at_eof(j->s)) { + int x = stbi__get8(j->s); + if (x == 255) { + j->marker = stbi__get8(j->s); + break; + } else if (x != 0) { + return stbi__err("junk before marker", "Corrupt JPEG"); + } + } + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + } else { + if (!stbi__process_marker(j, m)) return 0; + } + m = stbi__get_marker(j); + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +#ifdef STBI_JPEG_OLD +// this is the same YCbCr-to-RGB calculation that stb_image has used +// historically before the algorithm changes in 1.49 +#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 16) + 32768; // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr*float2fixed(1.40200f); + g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); + b = y_fixed + cb*float2fixed(1.77200f); + r >>= 16; + g >>= 16; + b >>= 16; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#else +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* float2fixed(1.40200f); + g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + #ifndef STBI_JPEG_OLD + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + #endif + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + int i; + for (i=0; i < j->s->img_n; ++i) { + if (j->img_comp[i].raw_data) { + STBI_FREE(j->img_comp[i].raw_data); + j->img_comp[i].raw_data = NULL; + j->img_comp[i].data = NULL; + } + if (j->img_comp[i].raw_coeff) { + STBI_FREE(j->img_comp[i].raw_coeff); + j->img_comp[i].raw_coeff = 0; + j->img_comp[i].coeff = 0; + } + if (j->img_comp[i].linebuf) { + STBI_FREE(j->img_comp[i].linebuf); + j->img_comp[i].linebuf = NULL; + } + } +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n; + + if (z->s->img_n == 3 && n < 3) + decode_n = 1; + else + decode_n = z->s->img_n; + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4]; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc(n * z->s->img_x * z->s->img_y + 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n; // report original components, not output + return output; + } +} + +static unsigned char *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + return load_jpeg_image(&j, x,y,comp,req_comp); +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg j; + j.s = s; + stbi__setup_jpeg(&j); + r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); + stbi__rewind(s); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__jpeg j; + j.s = s; + return stbi__jpeg_info_raw(&j, x, y, comp); +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[288]; + stbi__uint16 value[288]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + STBI_ASSERT(sizes[i] <= (1 << i)); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt JPEG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int k = stbi__bit_reverse(next_code[s],s); + while (k < (1 << STBI__ZFAST_BITS)) { + z->fast[k] = fastv; + k += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + if (z->zbuffer >= z->zbuffer_end) return 0; + return *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); + z->code_buffer |= stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s == 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + STBI_ASSERT(z->size[b] == s); + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) stbi__fill_bits(a); + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + int cur, limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (int) (z->zout - z->zout_start); + limit = (int) (z->zout_end - z->zout_start); + while (cur + n > limit) + limit *= 2; + q = (char *) STBI_REALLOC(z->zout_start, limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + return 1; + } + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (zout + len > a->zout_end) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + do *zout++ = v; while (--len); + } else { + do *zout++ = *p++; while (--len); + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < hlit + hdist) { + int c = stbi__zhuffman_decode(a, &z_codelength); + STBI_ASSERT(c >= 0 && c < 19); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else if (c == 16) { + c = stbi__zreceive(a,2)+3; + memset(lencodes+n, lencodes[n-1], c); + n += c; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + memset(lencodes+n, 0, c); + n += c; + } else { + STBI_ASSERT(c == 18); + c = stbi__zreceive(a,7)+11; + memset(lencodes+n, 0, c); + n += c; + } + } + if (n != hlit+hdist) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncomperssed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + STBI_ASSERT(a->num_bits == 0); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +// @TODO: should statically initialize these for optimal thread safety +static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; +static void stbi__init_zdefaults(void) +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncomperssed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + if (s->img_x == x && s->img_y == y) { + if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } else { // interlaced: + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + } + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior = cur - stride; + int filter = *raw++; + int filter_bytes = img_n; + int width = x; + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + STBI_ASSERT(img_width_bytes <= x); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*img_n; + #define CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break; + } + #undef CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ + for (k=0; k < img_n; ++k) + switch (filter) { + CASE(STBI__F_none) cur[k] = raw[k]; break; + CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break; + CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break; + CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; + CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break; + CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break; + } + #undef CASE + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + // insert alpha = 255 + stbi_uc *cur = a->out + stride*j; + int i; + if (img_n == 1) { + for (i=x-1; i >= 0; --i) { + cur[i*2+1] = 255; + cur[i*2+0] = cur[i]; + } + } else { + STBI_ASSERT(img_n == 3); + for (i=x-1; i >= 0; --i) { + cur[i*4+3] = 255; + cur[i*4+2] = cur[i*3+2]; + cur[i*4+1] = cur[i*3+1]; + cur[i*4+0] = cur[i*3+0]; + } + } + } + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc(a->s->img_x * a->s->img_y * out_n); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_n + out_x*out_n, + a->out + (j*x+i)*out_n, out_n); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc(pixel_count * pal_img_n); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load = 0; +static int stbi__de_iphone_flag = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag = flag_true_if_should_convert; +} + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + p[0] = p[2] * 255 / a; + p[1] = p[1] * 255 / a; + p[2] = t * 255 / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, depth=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); + depth = stbi__get8(s); if (depth != 1 && depth != 2 && depth != 4 && depth != 8) return stbi__err("1/2/4/8-bit only","PNG not supported: 1/2/4/8-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + if (scan == STBI__SCAN_header) return 1; + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + // if SCAN_header, have to scan to see if we have a tRNS + } + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + for (k=0; k < s->img_n; ++k) + tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } + if (ioff + c.length > idata_limit) { + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + p = (stbi_uc *) STBI_REALLOC(z->idata, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, depth, color, interlace)) return 0; + if (has_trans) + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } + STBI_FREE(z->expanded); z->expanded = NULL; + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp) +{ + unsigned char *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + result = stbi__convert_format(result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_out_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static unsigned char *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) n += 16, z >>= 16; + if (z >= 0x00100) n += 8, z >>= 8; + if (z >= 0x00010) n += 4, z >>= 4; + if (z >= 0x00004) n += 2, z >>= 2; + if (z >= 0x00002) n += 1, z >>= 1; + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +static int stbi__shiftsigned(int v, int shift, int bits) +{ + int result; + int z=0; + + if (shift < 0) v <<= -shift; + else v >>= shift; + result = v; + + z = bits; + while (z < 8) { + result += v >> z; + z += bits; + } + return result; +} + +static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, fake_a=0; + stbi_uc pal[256][4]; + int psize=0,i,j,compress=0,width; + int bpp, flip_vertically, pad, target, offset, hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + offset = stbi__get32le(s); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + bpp = stbi__get16le(s); + if (bpp == 1) return stbi__errpuc("monochrome", "BMP type not supported: 1-bit"); + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + if (hsz == 12) { + if (bpp < 24) + psize = (offset - 14 - 24) / 3; + } else { + compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (bpp == 16 || bpp == 32) { + mr = mg = mb = 0; + if (compress == 0) { + if (bpp == 32) { + mr = 0xffu << 16; + mg = 0xffu << 8; + mb = 0xffu << 0; + ma = 0xffu << 24; + fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255 + STBI_NOTUSED(fake_a); + } else { + mr = 31u << 10; + mg = 31u << 5; + mb = 31u << 0; + } + } else if (compress == 3) { + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + // not documented, but generated by photoshop and handled by mspaint + if (mr == mg && mg == mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + STBI_ASSERT(hsz == 108 || hsz == 124); + mr = stbi__get32le(s); + mg = stbi__get32le(s); + mb = stbi__get32le(s); + ma = stbi__get32le(s); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + if (bpp < 16) + psize = (offset - 14 - hsz) >> 2; + } + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + out = (stbi_uc *) stbi__malloc(target * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, offset - 14 - hsz - psize * (hsz == 12 ? 3 : 4)); + if (bpp == 4) width = (s->img_x + 1) >> 1; + else if (bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, offset - 14 - hsz); + if (bpp == 24) width = 3 * s->img_x; + else if (bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (bpp == 24) { + easy = 1; + } else if (bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + if (target == 4) out[z++] = a; + } + } else { + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (stbi__uint32) (bpp == 16 ? stbi__get16le(s) : stbi__get32le(s)); + int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i], p1[i] = p2[i], p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if( sz > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + sz = stbi__get8(s); // image type + // only RGB or grey allowed, +/- RLE + if ((sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11)) return 0; + stbi__skip(s,9); + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + sz = stbi__get8(s); // bits per pixel + // only RGB or RGBA or grey allowed + if ((sz != 8) && (sz != 16) && (sz != 24) && (sz != 32)) { + stbi__rewind(s); + return 0; + } + tga_comp = sz; + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp / 8; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res; + int sz; + stbi__get8(s); // discard Offset + sz = stbi__get8(s); // color type + if ( sz > 1 ) return 0; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0; // only RGB or grey allowed, +/- RLE + stbi__get16be(s); // discard palette start + stbi__get16be(s); // discard palette length + stbi__get8(s); // discard bits per palette color entry + stbi__get16be(s); // discard x origin + stbi__get16be(s); // discard y origin + if ( stbi__get16be(s) < 1 ) return 0; // test width + if ( stbi__get16be(s) < 1 ) return 0; // test height + sz = stbi__get8(s); // bits per pixel + if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) ) + res = 0; + else + res = 1; + stbi__rewind(s); + return res; +} + +static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp = tga_bits_per_pixel / 8; + int tga_inverted = stbi__get8(s); + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4]; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + /* int tga_alpha_bits = tga_inverted & 15; */ + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // error check + if ( //(tga_indexed) || + (tga_width < 1) || (tga_height < 1) || + (tga_image_type < 1) || (tga_image_type > 3) || + ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16) && + (tga_bits_per_pixel != 24) && (tga_bits_per_pixel != 32)) + ) + { + return NULL; // we don't report this as a bad TGA because we don't even know if it's TGA + } + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) + { + tga_comp = tga_palette_bits / 8; + } + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + tga_data = (unsigned char*)stbi__malloc( tga_width * tga_height * tga_comp ); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE) { + for (i=0; i < tga_height; ++i) { + int y = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + y*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc( tga_palette_len * tga_palette_bits / 8 ); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (!stbi__getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in 1 byte, then perform the lookup + int pal_idx = stbi__get8(s); + if ( pal_idx >= tga_palette_len ) + { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_bits_per_pixel / 8; + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else + { + // read in the data raw + for (j = 0; j*8 < tga_bits_per_pixel; ++j) + { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB + if (tga_comp >= 3) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + int pixelCount; + int channelCount, compression; + int channel, i, count, len; + int w,h; + stbi_uc *out; + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + // Make sure the depth is 8 bits. + if (stbi__get16be(s) != 8) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Create the destination image. + out = (stbi_uc *) stbi__malloc(4 * w*h); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++) *p = (channel == 3 ? 255 : 0), p += 4; + } else { + // Read the RLE data. + count = 0; + while (count < pixelCount) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len ^= 0x0FF; + len += 2; + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out + channel; + if (channel > channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++) *p = channel == 3 ? 255 : 0, p += 4; + } else { + // Read the data. + for (i = 0; i < pixelCount; i++) + *p = stbi__get8(s), p += 4; + } + } + } + + if (req_comp && req_comp != 4) { + out = stbi__convert_format(out, 4, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = channelCount; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; ytype) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;xchannel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; ichannel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + int i; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;ichannel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;ichannel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static stbi_uc *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp) +{ + stbi_uc *result; + int i, x,y; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if ((1 << 28) / x < y) return stbi__errpuc("too large", "Image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc(x*y*4); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + result=0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[4096]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif g; + if (!stbi__gif_header(s, &g, comp, 1)) { + stbi__rewind( s ); + return 0; + } + if (x) *x = g.w; + if (y) *y = g.h; + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + p = &g->out[g->cur_x + g->cur_y]; + c = &g->color_table[g->codes[code].suffix * 4]; + + if (c[3] >= 128) { + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (code = 0; code < clear; code++) { + g->codes[code].prefix = -1; + g->codes[code].first = (stbi_uc) code; + g->codes[code].suffix = (stbi_uc) code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code <= avail) { + if (first) return stbi__errpuc("no clear code", "Corrupt GIF"); + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 4096) return stbi__errpuc("too many codes", "Corrupt GIF"); + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code == avail) ? p->first : g->codes[code].first; + } else if (code == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +static void stbi__fill_gif_background(stbi__gif *g) +{ + int i; + stbi_uc *c = g->pal[g->bgindex]; + // @OPTIMIZE: write a dword at a time + for (i = 0; i < g->w * g->h * 4; i += 4) { + stbi_uc *p = &g->out[i]; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp) +{ + int i; + stbi_uc *old_out = 0; + + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + stbi__fill_gif_background(g); + } else { + // animated-gif-only path + if (((g->eflags & 0x1C) >> 2) == 3) { + old_out = g->out; + g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); + if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); + memcpy(g->out, old_out, g->w*g->h*4); + } + } + + for (;;) { + switch (stbi__get8(s)) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + for (i=0; i < 256; ++i) // @OPTIMIZE: stbi__jpeg_reset only the previous transparent + g->pal[i][3] = 255; + if (g->transparent >= 0 && (g->eflags & 0x01)) + g->pal[g->transparent][3] = 0; + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (o == NULL) return NULL; + + if (req_comp && req_comp != 4) + o = stbi__convert_format(o, 4, req_comp, g->w, g->h); + return o; + } + + case 0x21: // Comment Extension. + { + int len; + if (stbi__get8(s) == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + stbi__get16le(s); // delay + g->transparent = stbi__get8(s); + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) + stbi__skip(s, len); + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + + u = stbi__gif_load_next(s, &g, comp, req_comp); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + } + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s) +{ + const char *signature = "#?RADIANCE\n"; + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s); + stbi__rewind(s); + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + + + // Check identifier + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + // Read data + hdr_data = (float *) stbi__malloc(height * width * req_comp * sizeof(float)); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) scanline = (stbi_uc *) stbi__malloc(width * 4); + + for (k = 0; k < 4; ++k) { + i = 0; + while (i < width) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + + if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') { + stbi__rewind( s ); + return 0; + } + stbi__skip(s,12); + hsz = stbi__get32le(s); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) { + stbi__rewind( s ); + return 0; + } + if (hsz == 12) { + *x = stbi__get16le(s); + *y = stbi__get16le(s); + } else { + *x = stbi__get32le(s); + *y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) { + stbi__rewind( s ); + return 0; + } + *comp = stbi__get16le(s) / 8; + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + if (stbi__get16be(s) != 8) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained; + stbi__pic_packet packets[10]; + + stbi__skip(s, 92); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) return 0; + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) +// Does not support 16-bit-per-channel + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi_uc *out; + if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) + return 0; + *x = s->img_x; + *y = s->img_y; + *comp = s->img_n; + + out = (stbi_uc *) stbi__malloc(s->img_n * s->img_x * s->img_y); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + stbi__getn(s, out, s->img_n * s->img_x * s->img_y); + + if (req_comp && req_comp != s->img_n) { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv; + char c, p, t; + + stbi__rewind( s ); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + + if (maxv > 255) + return stbi__err("max value > 255", "PPM image not 8-bit"); + else + return 1; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 2008-08-02 + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 first released version +*/ diff --git a/src/love.cpp b/src/love.cpp index 53b66a0dc..69b32aa10 100644 --- a/src/love.cpp +++ b/src/love.cpp @@ -36,9 +36,13 @@ extern "C" { #endif // LOVE_WINDOWS #ifdef LOVE_MACOSX -#include "OSX.h" +#include "common/OSX.h" #endif // LOVE_MACOSX +#ifdef LOVE_IOS +#include "common/iOS.h" +#endif + #ifdef LOVE_WINDOWS extern "C" { @@ -101,6 +105,7 @@ static void get_app_arguments(int argc, char **argv, int &new_argc, char **&new_ temp_argv.push_back(std::string(argv[i])); } +#ifdef LOVE_MACOSX // Check for a drop file string. std::string dropfilestr = love::osx::checkDropEvents(); if (!dropfilestr.empty()) @@ -108,15 +113,24 @@ static void get_app_arguments(int argc, char **argv, int &new_argc, char **&new_ temp_argv.insert(temp_argv.begin() + 1, dropfilestr); } else +#endif { // If it exists, add the love file in love.app/Contents/Resources/ to argv. - std::string loveResourcesPath = love::osx::getLoveInResources(); + std::string loveResourcesPath; + bool fused = true; +#if defined(LOVE_MACOSX) + loveResourcesPath = love::osx::getLoveInResources(); +#elif defined(LOVE_IOS) + loveResourcesPath = love::ios::getLoveInResources(fused); +#endif if (!loveResourcesPath.empty()) { - // Run in pseudo-fused mode. std::vector::iterator it = temp_argv.begin(); it = temp_argv.insert(it + 1, loveResourcesPath); - temp_argv.insert(it + 1, std::string("--fused")); + + // Run in pseudo-fused mode. + if (fused) + temp_argv.insert(it + 1, std::string("--fused")); } } @@ -147,6 +161,21 @@ static int love_preload(lua_State *L, lua_CFunction f, const char *name) int main(int argc, char **argv) { + int retval = 0; + +#ifdef LOVE_IOS + int orig_argc = argc; + char **orig_argv = argv; + + // on iOS we should never programmatically exit the app, so we'll just + // "restart" when that is attempted. Games which use threads might cause + // some issues if the threads aren't cleaned up properly... + while (true) + { + argc = orig_argc; + argv = orig_argv; +#endif + #ifdef LOVE_LEGENDARY_UTF8_ARGV_HACK int hack_argc = 0; char **hack_argv = 0; get_utf8_arguments(hack_argc, hack_argv); @@ -229,7 +258,6 @@ int main(int argc, char **argv) // Call the returned boot function. lua_call(L, 0, 1); - int retval = 0; if (lua_isnumber(L, -1)) retval = (int) lua_tonumber(L, -1); @@ -243,6 +271,11 @@ int main(int argc, char **argv) delete [] hack_argv; } #endif // LOVE_LEGENDARY_UTF8_ARGV_HACK || LOVE_LEGENDARY_APP_ARGV_HACK + +#ifdef LOVE_IOS + } // while (true) +#endif + return retval; } diff --git a/src/modules/audio/Audio.cpp b/src/modules/audio/Audio.cpp index 398cc7879..070aa9d34 100644 --- a/src/modules/audio/Audio.cpp +++ b/src/modules/audio/Audio.cpp @@ -29,11 +29,11 @@ StringMap::Entry Audio::distance { {"none", Audio::DISTANCE_NONE}, {"inverse", Audio::DISTANCE_INVERSE}, - {"inverse clamped", Audio::DISTANCE_INVERSE_CLAMPED}, + {"inverseclamped", Audio::DISTANCE_INVERSE_CLAMPED}, {"linear", Audio::DISTANCE_LINEAR}, - {"linear clamped", Audio::DISTANCE_LINEAR_CLAMPED}, + {"linearclamped", Audio::DISTANCE_LINEAR_CLAMPED}, {"exponent", Audio::DISTANCE_EXPONENT}, - {"exponent clamped", Audio::DISTANCE_EXPONENT_CLAMPED} + {"exponentclamped", Audio::DISTANCE_EXPONENT_CLAMPED} }; StringMap Audio::distanceModels(Audio::distanceModelEntries, sizeof(Audio::distanceModelEntries)); diff --git a/src/modules/audio/Source.cpp b/src/modules/audio/Source.cpp index bc81f5f07..a0ac55650 100644 --- a/src/modules/audio/Source.cpp +++ b/src/modules/audio/Source.cpp @@ -34,6 +34,11 @@ Source::~Source() { } +Source::Type Source::getType() const +{ + return type; +} + bool Source::getConstant(const char *in, Type &out) { return types.find(in, out); diff --git a/src/modules/audio/Source.h b/src/modules/audio/Source.h index 1aab73631..4c0fef64e 100644 --- a/src/modules/audio/Source.h +++ b/src/modules/audio/Source.h @@ -88,7 +88,6 @@ public: virtual void setLooping(bool looping) = 0; virtual bool isLooping() const = 0; - virtual bool isStatic() const = 0; virtual void setMinVolume(float volume) = 0; virtual float getMinVolume() const = 0; @@ -103,6 +102,7 @@ public: virtual float getMaxDistance() const = 0; virtual int getChannels() const = 0; + virtual Type getType() const; static bool getConstant(const char *in, Type &out); static bool getConstant(Type in, const char *&out); @@ -110,6 +110,7 @@ public: static bool getConstant(Unit in, const char *&out); protected: + Type type; private: diff --git a/src/modules/audio/null/Source.cpp b/src/modules/audio/null/Source.cpp index 0db595509..aa682a627 100644 --- a/src/modules/audio/null/Source.cpp +++ b/src/modules/audio/null/Source.cpp @@ -170,11 +170,6 @@ bool Source::isLooping() const return looping; } -bool Source::isStatic() const -{ - return (type == TYPE_STATIC); -} - void Source::setMinVolume(float volume) { this->minVolume = volume; diff --git a/src/modules/audio/null/Source.h b/src/modules/audio/null/Source.h index dcbe47144..bbab20a40 100644 --- a/src/modules/audio/null/Source.h +++ b/src/modules/audio/null/Source.h @@ -66,7 +66,6 @@ public: virtual bool isRelative() const; void setLooping(bool looping); bool isLooping() const; - bool isStatic() const; virtual void setMinVolume(float volume); virtual float getMinVolume() const; virtual void setMaxVolume(float volume); diff --git a/src/modules/audio/openal/Audio.h b/src/modules/audio/openal/Audio.h index 6a7c9f779..4cd2b48f9 100644 --- a/src/modules/audio/openal/Audio.h +++ b/src/modules/audio/openal/Audio.h @@ -36,9 +36,14 @@ #include "thread/threads.h" // OpenAL -#ifdef LOVE_MACOSX_USE_FRAMEWORKS // Frameworks have different include paths. +#ifdef LOVE_APPLE_USE_FRAMEWORKS // Frameworks have different include paths. +#ifdef LOVE_IOS +#include +#include +#else #include #include +#endif #else #include #include diff --git a/src/modules/audio/openal/Pool.cpp b/src/modules/audio/openal/Pool.cpp index 7491c189b..858e6079b 100644 --- a/src/modules/audio/openal/Pool.cpp +++ b/src/modules/audio/openal/Pool.cpp @@ -56,7 +56,9 @@ Pool::Pool() // Create the mutex. mutex = thread::newMutex(); +#ifdef AL_SOFT_direct_channels ALboolean hasext = alIsExtensionPresent("AL_SOFT_direct_channels"); +#endif // Make all sources available initially. for (int i = 0; i < totalSources; i++) @@ -126,7 +128,7 @@ void Pool::update() int Pool::getSourceCount() const { - return playing.size(); + return (int) playing.size(); } int Pool::getMaxSources() const diff --git a/src/modules/audio/openal/Pool.h b/src/modules/audio/openal/Pool.h index dc596012b..eccf59c79 100644 --- a/src/modules/audio/openal/Pool.h +++ b/src/modules/audio/openal/Pool.h @@ -32,10 +32,17 @@ #include "thread/threads.h" // OpenAL -#ifdef LOVE_MACOSX_USE_FRAMEWORKS +#ifdef LOVE_APPLE_USE_FRAMEWORKS +#ifdef LOVE_IOS +#include +#include +#include +#include +#else #include #include #include +#endif #else #include #include diff --git a/src/modules/audio/openal/Source.cpp b/src/modules/audio/openal/Source.cpp index a1a891232..7132ad8f4 100644 --- a/src/modules/audio/openal/Source.cpp +++ b/src/modules/audio/openal/Source.cpp @@ -25,6 +25,7 @@ // STD #include #include +#include namespace love { @@ -33,6 +34,13 @@ namespace audio namespace openal { +#ifdef LOVE_IOS +// OpenAL on iOS barfs if the max distance is +inf. +static const float MAX_ATTENUATION_DISTANCE = 1000000.0f; +#else +static const float MAX_ATTENUATION_DISTANCE = FLT_MAX; +#endif + class InvalidFormatException : public love::Exception { public: @@ -44,6 +52,18 @@ public: }; +class SpatialSupportException : public love::Exception +{ +public: + + SpatialSupportException() + : Exception("This spatial audio functionality is only available for mono Sources. \ +Ensure the Source is not multi-channel before calling this function.") + { + } + +}; + StaticDataBuffer::StaticDataBuffer(ALenum format, const ALvoid *data, ALsizei size, ALsizei freq) { alGenBuffers(1, &buffer); @@ -69,7 +89,7 @@ Source::Source(Pool *pool, love::sound::SoundData *soundData) , maxVolume(1.0f) , referenceDistance(1.0f) , rolloffFactor(1.0f) - , maxDistance(FLT_MAX) + , maxDistance(MAX_ATTENUATION_DISTANCE) , cone() , offsetSamples(0) , offsetSeconds(0) @@ -82,7 +102,7 @@ Source::Source(Pool *pool, love::sound::SoundData *soundData) if (fmt == 0) throw InvalidFormatException(soundData->getChannels(), soundData->getBitDepth()); - staticBuffer.set(new StaticDataBuffer(fmt, soundData->getData(), soundData->getSize(), soundData->getSampleRate())); + staticBuffer.set(new StaticDataBuffer(fmt, soundData->getData(), (ALsizei) soundData->getSize(), soundData->getSampleRate())); // The buffer has a +2 retain count right now, but we want it to have +1. staticBuffer->release(); @@ -108,7 +128,7 @@ Source::Source(Pool *pool, love::sound::Decoder *decoder) , maxVolume(1.0f) , referenceDistance(1.0f) , rolloffFactor(1.0f) - , maxDistance(FLT_MAX) + , maxDistance(MAX_ATTENUATION_DISTANCE) , cone() , offsetSamples(0) , offsetSeconds(0) @@ -245,13 +265,14 @@ bool Source::isPaused() const bool Source::isFinished() const { - return type == TYPE_STATIC ? isStopped() : isStopped() && !isLooping() && decoder->isFinished(); + return type == TYPE_STATIC ? isStopped() : (isStopped() && !isLooping() && decoder->isFinished()); } bool Source::update() { if (!valid) return false; + if (type == TYPE_STATIC) { // Looping mode could have changed. @@ -290,8 +311,10 @@ bool Source::update() streamAtomic(buffer, decoder.get()); alSourceQueueBuffers(source, 1, &buffer); } + return true; } + return false; } @@ -319,9 +342,7 @@ float Source::getPitch() const void Source::setVolume(float volume) { if (valid) - { alSourcef(source, AL_GAIN, volume); - } this->volume = volume; } @@ -354,9 +375,7 @@ void Source::seekAtomic(float offset, void *unit) decoder->seek(offset); } else - { alSourcef(source, AL_SAMPLE_OFFSET, offset); - } break; case Source::UNIT_SECONDS: default: @@ -367,9 +386,7 @@ void Source::seekAtomic(float offset, void *unit) offsetSamples = offset * decoder->getSampleRate(); } else - { alSourcef(source, AL_SEC_OFFSET, offset); - } break; } if (type == TYPE_STREAM) @@ -423,6 +440,9 @@ float Source::tell(Source::Unit unit) void Source::setPosition(float *v) { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alSourcefv(source, AL_POSITION, v); @@ -431,6 +451,9 @@ void Source::setPosition(float *v) void Source::getPosition(float *v) const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alGetSourcefv(source, AL_POSITION, v); else @@ -439,6 +462,9 @@ void Source::getPosition(float *v) const void Source::setVelocity(float *v) { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alSourcefv(source, AL_VELOCITY, v); @@ -447,6 +473,9 @@ void Source::setVelocity(float *v) void Source::getVelocity(float *v) const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alGetSourcefv(source, AL_VELOCITY, v); else @@ -455,6 +484,9 @@ void Source::getVelocity(float *v) const void Source::setDirection(float *v) { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alSourcefv(source, AL_DIRECTION, v); else @@ -463,6 +495,9 @@ void Source::setDirection(float *v) void Source::getDirection(float *v) const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alGetSourcefv(source, AL_DIRECTION, v); else @@ -471,8 +506,11 @@ void Source::getDirection(float *v) const void Source::setCone(float innerAngle, float outerAngle, float outerVolume) { - cone.innerAngle = (int) LOVE_TODEG(innerAngle); - cone.outerAngle = (int) LOVE_TODEG(outerAngle); + if (channels > 1) + throw SpatialSupportException(); + + cone.innerAngle = (int) LOVE_TODEG(innerAngle); + cone.outerAngle = (int) LOVE_TODEG(outerAngle); cone.outerVolume = outerVolume; if (valid) @@ -485,13 +523,19 @@ void Source::setCone(float innerAngle, float outerAngle, float outerVolume) void Source::getCone(float &innerAngle, float &outerAngle, float &outerVolume) const { - innerAngle = LOVE_TORAD(cone.innerAngle); - outerAngle = LOVE_TORAD(cone.outerAngle); + if (channels > 1) + throw SpatialSupportException(); + + innerAngle = LOVE_TORAD(cone.innerAngle); + outerAngle = LOVE_TORAD(cone.outerAngle); outerVolume = cone.outerVolume; } void Source::setRelative(bool enable) { + if (channels > 1) + throw SpatialSupportException(); + if (valid) alSourcei(source, AL_SOURCE_RELATIVE, relative ? AL_TRUE : AL_FALSE); @@ -500,15 +544,18 @@ void Source::setRelative(bool enable) bool Source::isRelative() const { + if (channels > 1) + throw SpatialSupportException(); + return relative; } -void Source::setLooping(bool looping) +void Source::setLooping(bool enable) { if (valid && type == TYPE_STATIC) - alSourcei(source, AL_LOOPING, looping ? AL_TRUE : AL_FALSE); + alSourcei(source, AL_LOOPING, enable ? AL_TRUE : AL_FALSE); - this->looping = looping; + looping = enable; } bool Source::isLooping() const @@ -563,9 +610,7 @@ void Source::stopAtomic() if (valid) { if (type == TYPE_STATIC) - { alSourceStop(source); - } else if (type == TYPE_STREAM) { alSourceStop(source); @@ -578,8 +623,10 @@ void Source::stopAtomic() alSourceUnqueueBuffers(source, 1, &buffer); } } + alSourcei(source, AL_BUFFER, AL_NONE); } + toLoop = 0; valid = false; } @@ -644,7 +691,7 @@ void Source::reset() alSourcef(source, AL_REFERENCE_DISTANCE, referenceDistance); alSourcef(source, AL_ROLLOFF_FACTOR, rolloffFactor); alSourcef(source, AL_MAX_DISTANCE, maxDistance); - alSourcei(source, AL_LOOPING, isStatic() && isLooping() ? AL_TRUE : AL_FALSE); + alSourcei(source, AL_LOOPING, (type == TYPE_STATIC) && isLooping() ? AL_TRUE : AL_FALSE); alSourcei(source, AL_SOURCE_RELATIVE, relative ? AL_TRUE : AL_FALSE); alSourcei(source, AL_CONE_INNER_ANGLE, cone.innerAngle); alSourcei(source, AL_CONE_OUTER_ANGLE, cone.outerAngle); @@ -721,19 +768,12 @@ int Source::streamAtomic(ALuint buffer, love::sound::Decoder *d) return decoded; } -bool Source::isStatic() const -{ - return (type == TYPE_STATIC); -} - void Source::setMinVolume(float volume) { if (valid) - { alSourcef(source, AL_MIN_GAIN, volume); - } - this->minVolume = volume; + minVolume = volume; } float Source::getMinVolume() const @@ -752,11 +792,9 @@ float Source::getMinVolume() const void Source::setMaxVolume(float volume) { if (valid) - { alSourcef(source, AL_MAX_GAIN, volume); - } - this->maxVolume = volume; + maxVolume = volume; } float Source::getMaxVolume() const @@ -769,21 +807,25 @@ float Source::getMaxVolume() const } // In case the Source isn't playing. - return this->maxVolume; + return maxVolume; } void Source::setReferenceDistance(float distance) { - if (valid) - { - alSourcef(source, AL_REFERENCE_DISTANCE, distance); - } + if (channels > 1) + throw SpatialSupportException(); - this->referenceDistance = distance; + if (valid) + alSourcef(source, AL_REFERENCE_DISTANCE, distance); + + referenceDistance = distance; } float Source::getReferenceDistance() const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) { ALfloat f; @@ -792,21 +834,25 @@ float Source::getReferenceDistance() const } // In case the Source isn't playing. - return this->referenceDistance; + return referenceDistance; } void Source::setRolloffFactor(float factor) { - if (valid) - { - alSourcef(source, AL_ROLLOFF_FACTOR, factor); - } + if (channels > 1) + throw SpatialSupportException(); - this->rolloffFactor = factor; + if (valid) + alSourcef(source, AL_ROLLOFF_FACTOR, factor); + + rolloffFactor = factor; } float Source::getRolloffFactor() const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) { ALfloat f; @@ -815,21 +861,27 @@ float Source::getRolloffFactor() const } // In case the Source isn't playing. - return this->rolloffFactor; + return rolloffFactor; } void Source::setMaxDistance(float distance) { - if (valid) - { - alSourcef(source, AL_MAX_DISTANCE, distance); - } + if (channels > 1) + throw SpatialSupportException(); - this->maxDistance = distance; + distance = std::min(distance, MAX_ATTENUATION_DISTANCE); + + if (valid) + alSourcef(source, AL_MAX_DISTANCE, distance); + + maxDistance = distance; } float Source::getMaxDistance() const { + if (channels > 1) + throw SpatialSupportException(); + if (valid) { ALfloat f; @@ -838,7 +890,7 @@ float Source::getMaxDistance() const } // In case the Source isn't playing. - return this->maxDistance; + return maxDistance; } int Source::getChannels() const diff --git a/src/modules/audio/openal/Source.h b/src/modules/audio/openal/Source.h index b6dfd4ff4..28937243b 100644 --- a/src/modules/audio/openal/Source.h +++ b/src/modules/audio/openal/Source.h @@ -29,9 +29,14 @@ #include "sound/Decoder.h" // OpenAL -#ifdef LOVE_MACOSX_USE_FRAMEWORKS +#ifdef LOVE_APPLE_USE_FRAMEWORKS +#ifdef LOVE_IOS +#include +#include +#else #include #include +#endif #else #include #include @@ -105,7 +110,6 @@ public: virtual bool isRelative() const; void setLooping(bool looping); bool isLooping() const; - bool isStatic() const; virtual void setMinVolume(float volume); virtual float getMinVolume() const; virtual void setMaxVolume(float volume); @@ -166,15 +170,9 @@ private: struct Cone { - int innerAngle; // degrees - int outerAngle; // degrees - float outerVolume; - - Cone() - : innerAngle(360) - , outerAngle(360) - , outerVolume(0.0f) - {} + int innerAngle = 360; // degrees + int outerAngle = 360; // degrees + float outerVolume = 0.0f; } cone; float offsetSamples; diff --git a/src/modules/audio/wrap_Audio.cpp b/src/modules/audio/wrap_Audio.cpp index 3acbc08d1..d3ca60838 100644 --- a/src/modules/audio/wrap_Audio.cpp +++ b/src/modules/audio/wrap_Audio.cpp @@ -44,7 +44,7 @@ int w_getSourceCount(lua_State *L) int w_newSource(lua_State *L) { - if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) + if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_ID) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_ID)) luax_convobj(L, 1, "sound", "newDecoder"); Source::Type stype = Source::TYPE_STREAM; @@ -53,21 +53,21 @@ int w_newSource(lua_State *L) if (stypestr && !Source::getConstant(stypestr, stype)) return luaL_error(L, "Invalid source type: %s", stypestr); - if (stype == Source::TYPE_STATIC && luax_istype(L, 1, SOUND_DECODER_T)) + if (stype == Source::TYPE_STATIC && luax_istype(L, 1, SOUND_DECODER_ID)) luax_convobj(L, 1, "sound", "newSoundData"); Source *t = 0; luax_catchexcept(L, [&]() { - if (luax_istype(L, 1, SOUND_SOUND_DATA_T)) - t = instance()->newSource(luax_totype(L, 1, "SoundData", SOUND_SOUND_DATA_T)); - else if (luax_istype(L, 1, SOUND_DECODER_T)) - t = instance()->newSource(luax_totype(L, 1, "Decoder", SOUND_DECODER_T)); + if (luax_istype(L, 1, SOUND_SOUND_DATA_ID)) + t = instance()->newSource(luax_totype(L, 1, SOUND_SOUND_DATA_ID)); + else if (luax_istype(L, 1, SOUND_DECODER_ID)) + t = instance()->newSource(luax_totype(L, 1, SOUND_DECODER_ID)); }); if (t) { - luax_pushtype(L, "Source", AUDIO_SOURCE_T, t); + luax_pushtype(L, AUDIO_SOURCE_ID, t); t->release(); return 1; } @@ -243,7 +243,7 @@ int w_getRecordedData(lua_State *L) lua_pushnil(L); else { - luax_pushtype(L, "SoundData", SOUND_SOUND_DATA_T, sd); + luax_pushtype(L, SOUND_SOUND_DATA_ID, sd); sd->release(); } return 1; @@ -258,7 +258,7 @@ int w_stopRecording(lua_State *L) lua_pushnil(L); else { - luax_pushtype(L, "SoundData", SOUND_SOUND_DATA_T, sd); + luax_pushtype(L, SOUND_SOUND_DATA_ID, sd); sd->release(); } return 1; @@ -369,7 +369,7 @@ extern "C" int luaopen_love_audio(lua_State *L) WrappedModule w; w.module = instance; w.name = "audio"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/audio/wrap_Source.cpp b/src/modules/audio/wrap_Source.cpp index ba5d64e59..c4fe17007 100644 --- a/src/modules/audio/wrap_Source.cpp +++ b/src/modules/audio/wrap_Source.cpp @@ -29,7 +29,7 @@ namespace audio Source *luax_checksource(lua_State *L, int idx) { - return luax_checktype(L, idx, "Source", AUDIO_SOURCE_T); + return luax_checktype(L, idx, AUDIO_SOURCE_ID); } int w_Source_clone(lua_State *L) @@ -37,7 +37,7 @@ int w_Source_clone(lua_State *L) Source *t = luax_checksource(L, 1); Source *clone = nullptr; luax_catchexcept(L, [&](){ clone = t->clone(); }); - luax_pushtype(L, "Source", AUDIO_SOURCE_T, clone); + luax_pushtype(L, AUDIO_SOURCE_ID, clone); clone->release(); return 1; } @@ -147,7 +147,7 @@ int w_Source_setPosition(lua_State *L) v[0] = (float)luaL_checknumber(L, 2); v[1] = (float)luaL_checknumber(L, 3); v[2] = (float)luaL_optnumber(L, 4, 0); - t->setPosition(v); + luax_catchexcept(L, [&](){ t->setPosition(v); }); return 0; } @@ -155,7 +155,7 @@ int w_Source_getPosition(lua_State *L) { Source *t = luax_checksource(L, 1); float v[3]; - t->getPosition(v); + luax_catchexcept(L, [&](){ t->getPosition(v); }); lua_pushnumber(L, v[0]); lua_pushnumber(L, v[1]); lua_pushnumber(L, v[2]); @@ -169,7 +169,7 @@ int w_Source_setVelocity(lua_State *L) v[0] = (float)luaL_checknumber(L, 2); v[1] = (float)luaL_checknumber(L, 3); v[2] = (float)luaL_optnumber(L, 4, 0); - t->setVelocity(v); + luax_catchexcept(L, [&](){ t->setVelocity(v); }); return 0; } @@ -177,7 +177,7 @@ int w_Source_getVelocity(lua_State *L) { Source *t = luax_checksource(L, 1); float v[3]; - t->getVelocity(v); + luax_catchexcept(L, [&](){ t->getVelocity(v); }); lua_pushnumber(L, v[0]); lua_pushnumber(L, v[1]); lua_pushnumber(L, v[2]); @@ -191,7 +191,7 @@ int w_Source_setDirection(lua_State *L) v[0] = (float)luaL_checknumber(L, 2); v[1] = (float)luaL_checknumber(L, 3); v[2] = (float)luaL_optnumber(L, 4, 0); - t->setDirection(v); + luax_catchexcept(L, [&](){ t->setDirection(v); }); return 0; } @@ -199,7 +199,7 @@ int w_Source_getDirection(lua_State *L) { Source *t = luax_checksource(L, 1); float v[3]; - t->getDirection(v); + luax_catchexcept(L, [&](){ t->getDirection(v); }); lua_pushnumber(L, v[0]); lua_pushnumber(L, v[1]); lua_pushnumber(L, v[2]); @@ -212,7 +212,7 @@ int w_Source_setCone(lua_State *L) float innerAngle = (float) luaL_checknumber(L, 2); float outerAngle = (float) luaL_checknumber(L, 3); float outerVolume = (float) luaL_optnumber(L, 4, 0.0); - t->setCone(innerAngle, outerAngle, outerVolume); + luax_catchexcept(L, [&](){ t->setCone(innerAngle, outerAngle, outerVolume); }); return 0; } @@ -220,7 +220,7 @@ int w_Source_getCone(lua_State *L) { Source *t = luax_checksource(L, 1); float innerAngle, outerAngle, outerVolume; - t->getCone(innerAngle, outerAngle, outerVolume); + luax_catchexcept(L, [&](){ t->getCone(innerAngle, outerAngle, outerVolume); }); lua_pushnumber(L, innerAngle); lua_pushnumber(L, outerAngle); lua_pushnumber(L, outerVolume); @@ -230,14 +230,14 @@ int w_Source_getCone(lua_State *L) int w_Source_setRelative(lua_State *L) { Source *t = luax_checksource(L, 1); - t->setRelative(luax_toboolean(L, 2)); + luax_catchexcept(L, [&](){ t->setRelative(luax_toboolean(L, 2)); }); return 0; } int w_Source_isRelative(lua_State *L) { Source *t = luax_checksource(L, 1); - luax_pushboolean(L, t->isRelative()); + luax_catchexcept(L, [&](){ luax_pushboolean(L, t->isRelative()); }); return 1; } @@ -276,13 +276,6 @@ int w_Source_isPlaying(lua_State *L) return 1; } -int w_Source_isStatic(lua_State *L) -{ - Source *t = luax_checksource(L, 1); - luax_pushboolean(L, t->isStatic()); - return 1; -} - int w_Source_setVolumeLimits(lua_State *L) { Source *t = luax_checksource(L, 1); @@ -310,16 +303,20 @@ int w_Source_setAttenuationDistances(lua_State *L) float dmax = (float)luaL_checknumber(L, 3); if (dref < .0f || dmax < .0f) return luaL_error(L, "Invalid distances: %f, %f. Must be > 0", dref, dmax); - t->setReferenceDistance(dref); - t->setMaxDistance(dmax); + luax_catchexcept(L, [&]() { + t->setReferenceDistance(dref); + t->setMaxDistance(dmax); + }); return 0; } int w_Source_getAttenuationDistances(lua_State *L) { Source *t = luax_checksource(L, 1); - lua_pushnumber(L, t->getReferenceDistance()); - lua_pushnumber(L, t->getMaxDistance()); + luax_catchexcept(L, [&]() { + lua_pushnumber(L, t->getReferenceDistance()); + lua_pushnumber(L, t->getMaxDistance()); + }); return 2; } @@ -329,14 +326,14 @@ int w_Source_setRolloff(lua_State *L) float rolloff = (float)luaL_checknumber(L, 2); if (rolloff < .0f) return luaL_error(L, "Invalid rolloff: %f. Must be > 0.", rolloff); - t->setRolloffFactor(rolloff); + luax_catchexcept(L, [&](){ t->setRolloffFactor(rolloff); }); return 0; } int w_Source_getRolloff(lua_State *L) { Source *t = luax_checksource(L, 1); - lua_pushnumber(L, t->getRolloffFactor()); + luax_catchexcept(L, [&](){ lua_pushnumber(L, t->getRolloffFactor()); }); return 1; } @@ -347,6 +344,19 @@ int w_Source_getChannels(lua_State *L) return 1; } +int w_Source_getType(lua_State *L) +{ + Source *t = luax_checksource(L, 1); + Source::Type type = t->getType(); + const char *str = nullptr; + + if (!Source::getConstant(type, str)) + return luaL_error(L, "Unknown Source type."); + + lua_pushstring(L, str); + return 1; +} + static const luaL_Reg functions[] = { { "clone", w_Source_clone }, @@ -380,7 +390,6 @@ static const luaL_Reg functions[] = { "isStopped", w_Source_isStopped }, { "isPaused", w_Source_isPaused }, { "isPlaying", w_Source_isPlaying }, - { "isStatic", w_Source_isStatic }, { "setVolumeLimits", w_Source_setVolumeLimits }, { "getVolumeLimits", w_Source_getVolumeLimits }, @@ -390,13 +399,14 @@ static const luaL_Reg functions[] = { "getRolloff", w_Source_getRolloff}, { "getChannels", w_Source_getChannels }, + { "getType", w_Source_getType }, { 0, 0 } }; extern "C" int luaopen_source(lua_State *L) { - return luax_register_type(L, "Source", functions); + return luax_register_type(L, AUDIO_SOURCE_ID, functions); } } // audio diff --git a/src/modules/audio/wrap_Source.h b/src/modules/audio/wrap_Source.h index 008ceae19..93dc52e2c 100644 --- a/src/modules/audio/wrap_Source.h +++ b/src/modules/audio/wrap_Source.h @@ -57,7 +57,6 @@ int w_Source_isLooping(lua_State *L); int w_Source_isStopped(lua_State *L); int w_Source_isPaused(lua_State *L); int w_Source_isPlaying(lua_State *L); -int w_Source_isStatic(lua_State *L); int w_Source_setVolumeLimits(lua_State *L); int w_Source_getVolumeLimits(lua_State *L); int w_Source_setAttenuationDistances(lua_State *L); @@ -65,6 +64,7 @@ int w_Source_getAttenuationDistances(lua_State *L); int w_Source_setRolloff(lua_State *L); int w_Source_getRolloff(lua_State *L); int w_Source_getChannels(lua_State *L); +int w_Source_getType(lua_State *L); extern "C" int luaopen_source(lua_State *L); } // audio diff --git a/src/modules/event/Event.cpp b/src/modules/event/Event.cpp index a24c92405..518f1f82f 100644 --- a/src/modules/event/Event.cpp +++ b/src/modules/event/Event.cpp @@ -28,56 +28,57 @@ namespace love namespace event { -Message::Message(const std::string &name, Variant *a, Variant *b, Variant *c, Variant *d) +Message::Message(const std::string &name, const std::vector> &vargs) : name(name) - , nargs(0) + , args(vargs) { - args[0] = a; - args[1] = b; - args[2] = c; - args[3] = d; - for (int i = 0; i < 4; i++) - { - if (!args[i]) - break; - args[i]->retain(); - nargs++; - } } Message::~Message() { - for (int i = 0; i < nargs; i++) - args[i]->release(); } int Message::toLua(lua_State *L) { luax_pushstring(L, name); - for (int i = 0; i < nargs; i++) - args[i]->toLua(L); - return nargs+1; + + for (const StrongRef &v : args) + { + if (v.get() != nullptr) + v->toLua(L); + else + lua_pushnil(L); + } + + return (int) args.size() + 1; } Message *Message::fromLua(lua_State *L, int n) { std::string name = luax_checkstring(L, n); + std::vector> vargs; + + int count = lua_gettop(L) - n; n++; - Message *m = new Message(name); - for (int i = 0; i < 4; i++) + + for (int i = 0; i < count; i++) { if (lua_isnoneornil(L, n+i)) break; - m->args[i] = Variant::fromLua(L, n+i); - if (!m->args[i]) + + vargs.push_back(Variant::fromLua(L, n+i)); + + if (!vargs.back().get()) { - delete m; + vargs.clear(); luaL_error(L, "Argument %d can't be stored safely\nExpected boolean, number, string or userdata.", n+i); - return NULL; + return nullptr; } - m->nargs++; + + vargs.back()->release(); // fromLua gave a +1 ref. } - return m; + + return new Message(name, vargs); } Event::Event() diff --git a/src/modules/event/Event.h b/src/modules/event/Event.h index a42a0e490..47b539b7a 100644 --- a/src/modules/event/Event.h +++ b/src/modules/event/Event.h @@ -30,27 +30,31 @@ #include "joystick/Joystick.h" #include "thread/threads.h" -// STL +// C++ #include +#include namespace love { namespace event { + class Message : public Object { -private: - std::string name; - Variant *args[4]; - int nargs; - public: - Message(const std::string &name, Variant *a = NULL, Variant *b = NULL, Variant *c = NULL, Variant *d = NULL); + + Message(const std::string &name, const std::vector> &vargs = {}); ~Message(); int toLua(lua_State *L); static Message *fromLua(lua_State *L, int n); -}; + +private: + + std::string name; + std::vector> args; + +}; // Message class Event : public Module { @@ -66,6 +70,7 @@ public: virtual void clear(); virtual void pump() = 0; + virtual Message *wait() = 0; protected: thread::Mutex *mutex; diff --git a/src/modules/event/sdl/Event.cpp b/src/modules/event/sdl/Event.cpp index 1f3b882a3..701fbcb09 100644 --- a/src/modules/event/sdl/Event.cpp +++ b/src/modules/event/sdl/Event.cpp @@ -20,10 +20,13 @@ #include "Event.h" -#include "keyboard/Keyboard.h" +#include "filesystem/DroppedFile.h" +#include "filesystem/Filesystem.h" +#include "keyboard/sdl/Keyboard.h" #include "mouse/Mouse.h" #include "joystick/JoystickModule.h" #include "joystick/sdl/Joystick.h" +#include "touch/sdl/Touch.h" #include "graphics/Graphics.h" #include "window/Window.h" #include "common/Exception.h" @@ -43,13 +46,49 @@ namespace sdl static void windowToPixelCoords(double *x, double *y) { window::Window *window = Module::getInstance(Module::M_WINDOW); - - if (window && x) - *x = window->toPixels(*x); - if (window && y) - *y = window->toPixels(*y); + if (window) + window->windowToPixelCoords(x, y); } +#ifndef LOVE_MACOSX +static void normalizedToPixelCoords(double *x, double *y) +{ + window::Window *window = Module::getInstance(Module::M_WINDOW); + int w = 1, h = 1; + + if (window) + window->getPixelDimensions(w, h); + + if (x) + *x = ((*x) * (double) w); + if (y) + *y = ((*y) * (double) h); +} +#endif + +// SDL's event watch callbacks trigger when the event is actually posted inside +// SDL, unlike with SDL_PollEvents. This is useful for some events which require +// handling inside the function which triggered them on some backends. +static int SDLCALL watchAppEvents(void * /*udata*/, SDL_Event *event) +{ + graphics::Graphics *gfx = Module::getInstance(Module::M_GRAPHICS); + + switch (event->type) + { + // On iOS, calling any OpenGL ES function after the function which triggers + // SDL_APP_DIDENTERBACKGROUND is called will kill the app, so we handle it + // with an event watch callback, which will be called inside that function. + case SDL_APP_DIDENTERBACKGROUND: + case SDL_APP_WILLENTERFOREGROUND: + if (gfx) + gfx->setActive(event->type == SDL_APP_WILLENTERFOREGROUND); + break; + default: + break; + } + + return 1; +} const char *Event::getName() const { @@ -60,10 +99,13 @@ Event::Event() { if (SDL_InitSubSystem(SDL_INIT_EVENTS) < 0) throw love::Exception("%s", SDL_GetError()); + + SDL_AddEventWatch(watchAppEvents, this); } Event::~Event() { + SDL_DelEventWatch(watchAppEvents, this); SDL_QuitSubSystem(SDL_INIT_EVENTS); } @@ -106,16 +148,31 @@ void Event::clear() Message *Event::convert(const SDL_Event &e) const { - Message *msg = NULL; + Message *msg = nullptr; - love::keyboard::Keyboard *kb = 0; + std::vector> vargs; + vargs.reserve(4); - love::keyboard::Keyboard::Key key; + love::keyboard::Keyboard *kb = nullptr; + love::filesystem::Filesystem *filesystem = nullptr; + + love::keyboard::Keyboard::Key key = love::keyboard::Keyboard::KEY_UNKNOWN; + love::keyboard::Keyboard::Scancode scancode = love::keyboard::Keyboard::SCANCODE_UNKNOWN; love::mouse::Mouse::Button button; - Variant *arg1, *arg2, *arg3, *arg4; + const char *txt; + const char *txt2; std::map::const_iterator keyit; +#ifndef LOVE_MACOSX + love::touch::sdl::Touch *touchmodule = nullptr; + love::touch::Touch::TouchInfo touchinfo; +#endif + +#ifdef LOVE_LINUX + static bool touchNormalizationBug = false; +#endif + switch (e.type) { case SDL_KEYDOWN: @@ -129,45 +186,46 @@ Message *Event::convert(const SDL_Event &e) const keyit = keys.find(e.key.keysym.sym); if (keyit != keys.end()) key = keyit->second; - else - key = love::keyboard::Keyboard::KEY_UNKNOWN; if (!love::keyboard::Keyboard::getConstant(key, txt)) txt = "unknown"; - arg1 = new Variant(txt, strlen(txt)); - arg2 = new Variant(e.key.repeat != 0); - msg = new Message("keypressed", arg1, arg2); - arg1->release(); - arg2->release(); + + love::keyboard::sdl::Keyboard::getConstant(e.key.keysym.scancode, scancode); + if (!love::keyboard::Keyboard::getConstant(scancode, txt2)) + txt2 = "unknown"; + + vargs.push_back(new Variant(txt, strlen(txt))); + vargs.push_back(new Variant(txt2, strlen(txt2))); + vargs.push_back(new Variant(e.key.repeat != 0)); + msg = new Message("keypressed", vargs); break; case SDL_KEYUP: keyit = keys.find(e.key.keysym.sym); if (keyit != keys.end()) key = keyit->second; - else - key = love::keyboard::Keyboard::KEY_UNKNOWN; if (!love::keyboard::Keyboard::getConstant(key, txt)) txt = "unknown"; - arg1 = new Variant(txt, strlen(txt)); - msg = new Message("keyreleased", arg1); - arg1->release(); + + love::keyboard::sdl::Keyboard::getConstant(e.key.keysym.scancode, scancode); + if (!love::keyboard::Keyboard::getConstant(scancode, txt2)) + txt2 = "unknown"; + + vargs.push_back(new Variant(txt, strlen(txt))); + vargs.push_back(new Variant(txt2, strlen(txt2))); + msg = new Message("keyreleased", vargs); break; case SDL_TEXTINPUT: txt = e.text.text; - arg1 = new Variant(txt, strlen(txt)); - msg = new Message("textinput", arg1); - arg1->release(); + vargs.push_back(new Variant(txt, strlen(txt))); + msg = new Message("textinput", vargs); break; case SDL_TEXTEDITING: txt = e.edit.text; - arg1 = new Variant(txt, strlen(txt)); - arg2 = new Variant((double) e.edit.start); - arg3 = new Variant((double) e.edit.length); - msg = new Message("textedit", arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + vargs.push_back(new Variant(txt, strlen(txt))); + vargs.push_back(new Variant((double) e.edit.start)); + vargs.push_back(new Variant((double) e.edit.length)); + msg = new Message("textedit", vargs); break; case SDL_MOUSEMOTION: { @@ -177,15 +235,11 @@ Message *Event::convert(const SDL_Event &e) const double yrel = (double) e.motion.yrel; windowToPixelCoords(&x, &y); windowToPixelCoords(&xrel, &yrel); - arg1 = new Variant(x); - arg2 = new Variant(y); - arg3 = new Variant(xrel); - arg4 = new Variant(yrel); - msg = new Message("mousemoved", arg1, arg2, arg3, arg4); - arg1->release(); - arg2->release(); - arg3->release(); - arg4->release(); + vargs.push_back(new Variant(x)); + vargs.push_back(new Variant(y)); + vargs.push_back(new Variant(xrel)); + vargs.push_back(new Variant(yrel)); + msg = new Message("mousemoved", vargs); } break; case SDL_MOUSEBUTTONDOWN: @@ -195,39 +249,75 @@ Message *Event::convert(const SDL_Event &e) const double x = (double) e.button.x; double y = (double) e.button.y; windowToPixelCoords(&x, &y); - arg1 = new Variant(x); - arg2 = new Variant(y); - arg3 = new Variant(txt, strlen(txt)); + vargs.push_back(new Variant(x)); + vargs.push_back(new Variant(y)); + vargs.push_back(new Variant(txt, strlen(txt))); + vargs.push_back(new Variant(e.button.which == SDL_TOUCH_MOUSEID)); msg = new Message((e.type == SDL_MOUSEBUTTONDOWN) ? "mousepressed" : "mousereleased", - arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + vargs); } break; case SDL_MOUSEWHEEL: - if (e.wheel.y != 0) + vargs.push_back(new Variant((double) e.wheel.x)); + vargs.push_back(new Variant((double) e.wheel.y)); + msg = new Message("wheelmoved", vargs); + break; + case SDL_FINGERDOWN: + case SDL_FINGERUP: + case SDL_FINGERMOTION: + // Touch events are disabled in OS X because we only actually want touch + // screen events, but most touch devices in OS X aren't touch screens + // (and SDL doesn't differentiate.) Non-screen touch devices like Mac + // trackpads won't give touch coords in the window's coordinate-space. +#ifndef LOVE_MACOSX + touchinfo.id = (int64) e.tfinger.fingerId; + touchinfo.x = e.tfinger.x; + touchinfo.y = e.tfinger.y; + touchinfo.dx = e.tfinger.dx; + touchinfo.dy = e.tfinger.dy; + +#ifdef LOVE_LINUX + // FIXME: hacky workaround for SDL not normalizing touch coordinates in + // its X11 backend: https://bugzilla.libsdl.org/show_bug.cgi?id=2307 + if (touchNormalizationBug || fabs(touchinfo.x) >= 1.5 || fabs(touchinfo.y) >= 1.5 || fabs(touchinfo.dx) >= 1.5 || fabs(touchinfo.dy) >= 1.5) { - button = (e.wheel.y > 0) ? mouse::Mouse::BUTTON_WHEELUP : mouse::Mouse::BUTTON_WHEELDOWN; - if (!love::mouse::Mouse::getConstant(button, txt)) - break; - - int mx, my; - double dmx, dmy; - SDL_GetMouseState(&mx, &my); - dmx = (double) mx; - dmy = (double) my; - windowToPixelCoords(&dmx, &dmy); - - arg1 = new Variant(dmx); - arg2 = new Variant(dmy); - arg3 = new Variant(txt, strlen(txt)); - msg = new Message("mousepressed", arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + touchNormalizationBug = true; + windowToPixelCoords(&touchinfo.x, &touchinfo.y); + windowToPixelCoords(&touchinfo.dx, &touchinfo.dy); } + else +#endif + { + // SDL's coords are normalized to [0, 1], but we want them in pixels. + normalizedToPixelCoords(&touchinfo.x, &touchinfo.y); + normalizedToPixelCoords(&touchinfo.dx, &touchinfo.dy); + } + + // We need to update the love.touch.sdl internal state from here. + touchmodule = (touch::sdl::Touch *) Module::getInstance("love.touch.sdl"); + if (touchmodule) + touchmodule->onEvent(e.type, touchinfo); + + // This is a bit hackish and we lose the higher 32 bits of the id on + // 32-bit systems, but SDL only ever gives id's that at most use as many + // bits as can fit in a pointer (for now.) + // We use lightuserdata instead of a lua_Number (double) because doubles + // can't represent all possible id values on 64-bit systems. + vargs.push_back(new Variant((void *) (intptr_t) touchinfo.id)); + vargs.push_back(new Variant(touchinfo.x)); + vargs.push_back(new Variant(touchinfo.y)); + vargs.push_back(new Variant(touchinfo.dx)); + vargs.push_back(new Variant(touchinfo.dy)); + + if (e.type == SDL_FINGERDOWN) + txt = "touchpressed"; + else if (e.type == SDL_FINGERUP) + txt = "touchreleased"; + else + txt = "touchmoved"; + msg = new Message(txt, vargs); +#endif break; case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: @@ -245,15 +335,47 @@ Message *Event::convert(const SDL_Event &e) const msg = convertWindowEvent(e); break; case SDL_DROPFILE: + filesystem = Module::getInstance(Module::M_FILESYSTEM); + if (filesystem != nullptr) + { + // Allow mounting any dropped path, so zips or dirs can be mounted. + filesystem->allowMountingForPath(e.drop.file); + + if (filesystem->isRealDirectory(e.drop.file)) + { + vargs.push_back(new Variant(e.drop.file, strlen(e.drop.file))); + msg = new Message("directorydropped", vargs); + } + else + { + Proxy proxy; + proxy.object = new love::filesystem::DroppedFile(e.drop.file); + proxy.type = FILESYSTEM_DROPPED_FILE_ID; + vargs.push_back(new Variant(FILESYSTEM_DROPPED_FILE_ID, &proxy)); + msg = new Message("filedropped", vargs); + proxy.object->release(); + } + } SDL_free(e.drop.file); break; case SDL_QUIT: + case SDL_APP_TERMINATING: msg = new Message("quit"); break; + case SDL_APP_LOWMEMORY: + msg = new Message("lowmemory"); + break; default: break; } + // We gave +1 refs to the StrongRef list, so we should release them. + for (const StrongRef &v : vargs) + { + if (v.get() != nullptr) + v->release(); + } + return msg; } @@ -261,66 +383,61 @@ Message *Event::convertJoystickEvent(const SDL_Event &e) const { joystick::JoystickModule *joymodule = Module::getInstance(Module::M_JOYSTICK); if (!joymodule) - return 0; + return nullptr; + + Message *msg = nullptr; + + std::vector> vargs; + vargs.reserve(4); - Message *msg = 0; Proxy proxy; love::joystick::Joystick::Hat hat; love::joystick::Joystick::GamepadButton padbutton; love::joystick::Joystick::GamepadAxis padaxis; - Variant *arg1, *arg2, *arg3; const char *txt; switch (e.type) { case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: - proxy.flags = JOYSTICK_JOYSTICK_T; - proxy.data = joymodule->getJoystickFromID(e.jbutton.which); - if (!proxy.data) + proxy.type = JOYSTICK_JOYSTICK_ID; + proxy.object = joymodule->getJoystickFromID(e.jbutton.which); + if (!proxy.object) break; - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - arg2 = new Variant((double)(e.jbutton.button+1)); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + vargs.push_back(new Variant((double)(e.jbutton.button+1))); msg = new Message((e.type == SDL_JOYBUTTONDOWN) ? "joystickpressed" : "joystickreleased", - arg1, arg2); - arg1->release(); - arg2->release(); + vargs); break; case SDL_JOYAXISMOTION: { - proxy.flags = JOYSTICK_JOYSTICK_T; - proxy.data = joymodule->getJoystickFromID(e.jaxis.which); - if (!proxy.data) + proxy.type = JOYSTICK_JOYSTICK_ID; + proxy.object = joymodule->getJoystickFromID(e.jaxis.which); + if (!proxy.object) break; - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - arg2 = new Variant((double)(e.jaxis.axis+1)); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + vargs.push_back(new Variant((double)(e.jaxis.axis+1))); float value = joystick::Joystick::clampval(e.jaxis.value / 32768.0f); - arg3 = new Variant((double) value); - msg = new Message("joystickaxis", arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + vargs.push_back(new Variant((double) value)); + msg = new Message("joystickaxis", vargs); } break; case SDL_JOYHATMOTION: if (!joystick::sdl::Joystick::getConstant(e.jhat.value, hat) || !joystick::Joystick::getConstant(hat, txt)) break; - proxy.flags = JOYSTICK_JOYSTICK_T; - proxy.data = joymodule->getJoystickFromID(e.jhat.which); - if (!proxy.data) + proxy.type = JOYSTICK_JOYSTICK_ID; + proxy.object = joymodule->getJoystickFromID(e.jhat.which); + if (!proxy.object) break; - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - arg2 = new Variant((double)(e.jhat.hat+1)); - arg3 = new Variant(txt, strlen(txt)); - msg = new Message("joystickhat", arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + vargs.push_back(new Variant((double)(e.jhat.hat+1))); + vargs.push_back(new Variant(txt, strlen(txt))); + msg = new Message("joystickhat", vargs); break; case SDL_CONTROLLERBUTTONDOWN: case SDL_CONTROLLERBUTTONUP: @@ -330,17 +447,15 @@ Message *Event::convertJoystickEvent(const SDL_Event &e) const if (!joystick::Joystick::getConstant(padbutton, txt)) break; - proxy.flags = JOYSTICK_JOYSTICK_T; - proxy.data = joymodule->getJoystickFromID(e.cbutton.which); - if (!proxy.data) + proxy.type = JOYSTICK_JOYSTICK_ID; + proxy.object = joymodule->getJoystickFromID(e.cbutton.which); + if (!proxy.object) break; - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - arg2 = new Variant(txt, strlen(txt)); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + vargs.push_back(new Variant(txt, strlen(txt))); msg = new Message(e.type == SDL_CONTROLLERBUTTONDOWN ? - "gamepadpressed" : "gamepadreleased", arg1, arg2); - arg1->release(); - arg2->release(); + "gamepadpressed" : "gamepadreleased", vargs); break; case SDL_CONTROLLERAXISMOTION: if (joystick::sdl::Joystick::getConstant((SDL_GameControllerAxis) e.caxis.axis, padaxis)) @@ -348,60 +463,65 @@ Message *Event::convertJoystickEvent(const SDL_Event &e) const if (!joystick::Joystick::getConstant(padaxis, txt)) break; - proxy.flags = JOYSTICK_JOYSTICK_T; - proxy.data = joymodule->getJoystickFromID(e.caxis.which); - if (!proxy.data) + proxy.type = JOYSTICK_JOYSTICK_ID; + proxy.object = joymodule->getJoystickFromID(e.caxis.which); + if (!proxy.object) break; - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); - arg2 = new Variant(txt, strlen(txt)); + vargs.push_back(new Variant(txt, strlen(txt))); float value = joystick::Joystick::clampval(e.caxis.value / 32768.0f); - arg3 = new Variant((double) value); - msg = new Message("gamepadaxis", arg1, arg2, arg3); - arg1->release(); - arg2->release(); - arg3->release(); + vargs.push_back(new Variant((double) value)); + msg = new Message("gamepadaxis", vargs); } break; case SDL_JOYDEVICEADDED: // jdevice.which is the joystick device index. - proxy.data = joymodule->addJoystick(e.jdevice.which); - proxy.flags = JOYSTICK_JOYSTICK_T; - if (proxy.data) + proxy.object = joymodule->addJoystick(e.jdevice.which); + proxy.type = JOYSTICK_JOYSTICK_ID; + if (proxy.object) { - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - msg = new Message("joystickadded", arg1); - arg1->release(); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + msg = new Message("joystickadded", vargs); } break; case SDL_JOYDEVICEREMOVED: // jdevice.which is the joystick instance ID now. - proxy.data = joymodule->getJoystickFromID(e.jdevice.which); - proxy.flags = JOYSTICK_JOYSTICK_T; - if (proxy.data) + proxy.object = joymodule->getJoystickFromID(e.jdevice.which); + proxy.type = JOYSTICK_JOYSTICK_ID; + if (proxy.object) { - joymodule->removeJoystick((joystick::Joystick *) proxy.data); - arg1 = new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy); - msg = new Message("joystickremoved", arg1); - arg1->release(); + joymodule->removeJoystick((joystick::Joystick *) proxy.object); + vargs.push_back(new Variant(JOYSTICK_JOYSTICK_ID, (void *) &proxy)); + msg = new Message("joystickremoved", vargs); } break; default: break; } + // We gave +1 refs to the StrongRef list, so we should release them. + for (const StrongRef &v : vargs) + { + if (v.get() != nullptr) + v->release(); + } + return msg; } Message *Event::convertWindowEvent(const SDL_Event &e) const { - Message *msg = 0; - Variant *arg1, *arg2, *arg3, *arg4; - window::Window *win = 0; + Message *msg = nullptr; + + std::vector> vargs; + vargs.reserve(4); + + window::Window *win = nullptr; if (e.type != SDL_WINDOWEVENT) - return 0; + return nullptr; switch (e.window.event) { @@ -413,53 +533,47 @@ Message *Event::convertWindowEvent(const SDL_Event &e) const SDL_DisableScreenSaver(); else SDL_EnableScreenSaver(); - arg1 = new Variant(e.window.event == SDL_WINDOWEVENT_FOCUS_GAINED); - msg = new Message("focus", arg1); - arg1->release(); + vargs.push_back(new Variant(e.window.event == SDL_WINDOWEVENT_FOCUS_GAINED)); + msg = new Message("focus", vargs); break; case SDL_WINDOWEVENT_ENTER: case SDL_WINDOWEVENT_LEAVE: - arg1 = new Variant(e.window.event == SDL_WINDOWEVENT_ENTER); - msg = new Message("mousefocus", arg1); - arg1->release(); + vargs.push_back(new Variant(e.window.event == SDL_WINDOWEVENT_ENTER)); + msg = new Message("mousefocus", vargs); break; case SDL_WINDOWEVENT_SHOWN: case SDL_WINDOWEVENT_HIDDEN: - arg1 = new Variant(e.window.event == SDL_WINDOWEVENT_SHOWN); - msg = new Message("visible", arg1); - arg1->release(); + vargs.push_back(new Variant(e.window.event == SDL_WINDOWEVENT_SHOWN)); + msg = new Message("visible", vargs); break; case SDL_WINDOWEVENT_RESIZED: - win = Module::getInstance(Module::M_WINDOW); - if (win) { int px_w = e.window.data1; int px_h = e.window.data2; - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) SDL_Window *sdlwin = SDL_GetWindowFromID(e.window.windowID); if (sdlwin) SDL_GL_GetDrawableSize(sdlwin, &px_w, &px_h); -#endif - win->onWindowResize(e.window.data1, e.window.data2); - - graphics::Graphics *gfx = Module::getInstance(Module::M_GRAPHICS); - if (gfx) - gfx->setViewportSize(px_w, px_h); - - arg1 = new Variant((double) px_w); - arg2 = new Variant((double) px_h); - arg3 = new Variant((double) e.window.data1); - arg4 = new Variant((double) e.window.data2); - msg = new Message("resize", arg1, arg2, arg3, arg4); - arg1->release(); - arg2->release(); - arg3->release(); - arg4->release(); + vargs.push_back(new Variant((double) px_w)); + vargs.push_back(new Variant((double) px_h)); + vargs.push_back(new Variant((double) e.window.data1)); + vargs.push_back(new Variant((double) e.window.data2)); + msg = new Message("resize", vargs); } break; + case SDL_WINDOWEVENT_SIZE_CHANGED: + win = Module::getInstance(Module::M_WINDOW); + if (win) + win->onSizeChanged(e.window.data1, e.window.data2); + break; + } + + // We gave +1 refs to the StrongRef list, so we should release them. + for (const StrongRef &v : vargs) + { + if (v.get() != nullptr) + v->release(); } return msg; @@ -481,6 +595,7 @@ std::map Event::createKeyMap() k[SDLK_EXCLAIM] = Keyboard::KEY_EXCLAIM; k[SDLK_QUOTEDBL] = Keyboard::KEY_QUOTEDBL; k[SDLK_HASH] = Keyboard::KEY_HASH; + k[SDLK_PERCENT] = Keyboard::KEY_PERCENT; k[SDLK_DOLLAR] = Keyboard::KEY_DOLLAR; k[SDLK_AMPERSAND] = Keyboard::KEY_AMPERSAND; k[SDLK_QUOTE] = Keyboard::KEY_QUOTE; diff --git a/src/modules/event/sdl/wrap_Event.cpp b/src/modules/event/wrap_Event.cpp similarity index 94% rename from src/modules/event/sdl/wrap_Event.cpp rename to src/modules/event/wrap_Event.cpp index 435cf98d5..718ea5dc7 100644 --- a/src/modules/event/sdl/wrap_Event.cpp +++ b/src/modules/event/wrap_Event.cpp @@ -23,15 +23,12 @@ // LOVE #include "common/runtime.h" -// sdlevent -#include "Event.h" +#include "sdl/Event.h" namespace love { namespace event { -namespace sdl -{ #define instance() (Module::getInstance(Module::M_EVENT)) @@ -124,7 +121,7 @@ extern "C" int luaopen_love_event(lua_State *L) Event *instance = instance(); if (instance == nullptr) { - luax_catchexcept(L, [&](){ instance = new Event(); }); + luax_catchexcept(L, [&](){ instance = new love::event::sdl::Event(); }); } else instance->retain(); @@ -132,13 +129,12 @@ extern "C" int luaopen_love_event(lua_State *L) WrappedModule w; w.module = instance; w.name = "event"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = 0; return luax_register_module(L, w); } -} // sdl } // event } // love diff --git a/src/modules/event/sdl/wrap_Event.h b/src/modules/event/wrap_Event.h similarity index 90% rename from src/modules/event/sdl/wrap_Event.h rename to src/modules/event/wrap_Event.h index b99b433ec..05a25f7c1 100644 --- a/src/modules/event/sdl/wrap_Event.h +++ b/src/modules/event/wrap_Event.h @@ -18,8 +18,8 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_EVENT_SDL_WRAP_EVENT_H -#define LOVE_EVENT_SDL_WRAP_EVENT_H +#ifndef LOVE_EVENT_WRAP_EVENT_H +#define LOVE_EVENT_WRAP_EVENT_H // LOVE #include "common/config.h" @@ -29,8 +29,6 @@ namespace love { namespace event { -namespace sdl -{ int w_pump(lua_State *L); int w_poll(lua_State *L); @@ -41,8 +39,7 @@ int w_quit(lua_State *L); extern "C" LOVE_EXPORT int luaopen_love_event(lua_State *L); -} // sdl } // event } // love -#endif // LOVE_EVENT_SDL_WRAP_EVENT_H +#endif // LOVE_EVENT_WRAP_EVENT_H diff --git a/src/modules/filesystem/DroppedFile.cpp b/src/modules/filesystem/DroppedFile.cpp new file mode 100644 index 000000000..b51cd510b --- /dev/null +++ b/src/modules/filesystem/DroppedFile.cpp @@ -0,0 +1,252 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "DroppedFile.h" +#include "common/utf8.h" + +// Assume POSIX or Visual Studio. +#include +#include + +#ifdef LOVE_WINDOWS +#include +#else +#include // POSIX. +#endif + +namespace love +{ +namespace filesystem +{ + +DroppedFile::DroppedFile(const std::string &filename) + : filename(filename) + , file(nullptr) + , mode(MODE_CLOSED) + , bufferMode(BUFFER_NONE) + , bufferSize(0) +{ +} + +DroppedFile::~DroppedFile() +{ + if (mode != MODE_CLOSED) + close(); +} + +bool DroppedFile::open(Mode newmode) +{ + if (newmode == MODE_CLOSED) + return true; + + // File already open? + if (file != nullptr) + return false; + +#ifdef LOVE_WINDOWS + // make sure non-ASCII filenames work. + std::wstring modestr = to_widestr(getModeString(newmode)); + file = _wfopen(to_widestr(filename).c_str(), modestr.c_str()); +#else + file = fopen(filename.c_str(), getModeString(newmode)); +#endif + + if (newmode == MODE_READ && file == nullptr) + throw love::Exception("Could not open file %s. Does not exist.", filename.c_str()); + + mode = newmode; + + if (file != nullptr && !setBuffer(bufferMode, bufferSize)) + { + // Revert to buffer defaults if we don't successfully set the buffer. + bufferMode = BUFFER_NONE; + bufferSize = 0; + } + + return file != nullptr; +} + +bool DroppedFile::close() +{ + if (file == nullptr || fclose(file) != 0) + return false; + + mode = MODE_CLOSED; + file = nullptr; + + return true; +} + +bool DroppedFile::isOpen() const +{ + return mode != MODE_CLOSED && file != nullptr; +} + +int64 DroppedFile::getSize() +{ +#ifdef LOVE_WINDOWS + + // make sure non-ASCII filenames work. + struct _stat buf; + if (_wstat(to_widestr(filename).c_str(), &buf) != 0) + return -1; + + return (int64) buf.st_size; + +#else + + // Assume POSIX support... + struct stat buf; + if (stat(filename.c_str(), &buf) != 0) + return -1; + + return (int64) buf.st_size; + +#endif +} + +int64 DroppedFile::read(void *dst, int64 size) +{ + if (!file || mode != MODE_READ) + throw love::Exception("File is not opened for reading."); + + if (size < 0) + throw love::Exception("Invalid read size."); + + size_t read = fread(dst, 1, (size_t) size, file); + + return (int64) read; +} + +bool DroppedFile::write(const void *data, int64 size) +{ + if (!file || (mode != MODE_WRITE && mode != MODE_APPEND)) + throw love::Exception("File is not opened for writing."); + + if (size < 0) + throw love::Exception("Invalid write size."); + + int64 written = (int64) fwrite(data, 1, (size_t) size, file); + + return written == size; +} + +bool DroppedFile::flush() +{ + if (!file || (mode != MODE_WRITE && mode != MODE_APPEND)) + throw love::Exception("File is not opened for writing."); + + return fflush(file) == 0; +} + +bool DroppedFile::eof() +{ + return file == nullptr || feof(file) != 0; +} + +int64 DroppedFile::tell() +{ + if (file == nullptr) + return -1; + + return (int64) ftell(file); +} + +bool DroppedFile::seek(uint64 pos) +{ + return file != nullptr && fseek(file, (long) pos, SEEK_SET) == 0; +} + +bool DroppedFile::setBuffer(BufferMode bufmode, int64 size) +{ + if (size < 0) + return false; + + if (bufmode == BUFFER_NONE) + size = 0; + + // If the file isn't open, we'll make sure the buffer values are set in + // DroppedFile::open. + if (!isOpen()) + { + bufferMode = bufmode; + bufferSize = size; + return true; + } + + int vbufmode; + switch (bufmode) + { + case File::BUFFER_NONE: + default: + vbufmode = _IONBF; + break; + case File::BUFFER_LINE: + vbufmode = _IOLBF; + break; + case File::BUFFER_FULL: + vbufmode = _IOFBF; + break; + } + + if (setvbuf(file, nullptr, vbufmode, (size_t) size) != 0) + return false; + + bufferMode = bufmode; + bufferSize = size; + + return true; +} + +File::BufferMode DroppedFile::getBuffer(int64 &size) const +{ + size = bufferSize; + return bufferMode; +} + +const std::string &DroppedFile::getFilename() const +{ + return filename; +} + +File::Mode DroppedFile::getMode() const +{ + return mode; +} + +const char *DroppedFile::getModeString(Mode mode) +{ + switch (mode) + { + case File::MODE_CLOSED: + default: + return "c"; + case File::MODE_READ: + return "rb"; + case File::MODE_WRITE: + return "wb"; + case File::MODE_APPEND: + return "ab"; + } +} + +} // filesystem +} // love diff --git a/src/modules/filesystem/DroppedFile.h b/src/modules/filesystem/DroppedFile.h new file mode 100644 index 000000000..d5256fcc4 --- /dev/null +++ b/src/modules/filesystem/DroppedFile.h @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_FILESYSTEM_DROPPED_FILE_H +#define LOVE_FILESYSTEM_DROPPED_FILE_H + +// LOVE +#include "common/config.h" +#include "File.h" + +// C +#include + +namespace love +{ +namespace filesystem +{ + +/** + * File which is created when a user drags and drops an actual file onto the + * LOVE game. Uses C's stdio. Filenames are system-dependent full paths. + **/ +class DroppedFile : public File +{ +public: + + DroppedFile(const std::string &filename); + virtual ~DroppedFile(); + + // Implements File. + using File::read; + using File::write; + bool open(Mode mode); + bool close(); + bool isOpen() const; + int64 getSize(); + int64 read(void *dst, int64 size); + bool write(const void *data, int64 size); + bool flush(); + bool eof(); + int64 tell(); + bool seek(uint64 pos); + bool setBuffer(BufferMode bufmode, int64 size); + BufferMode getBuffer(int64 &size) const; + Mode getMode() const; + const std::string &getFilename() const; + +private: + + static const char *getModeString(Mode mode); + + std::string filename; + + FILE *file; + + Mode mode; + + BufferMode bufferMode; + int64 bufferSize; + +}; // DroppedFile + +} // filesystem +} // love + +#endif // LOVE_FILESYSTEM_DROPPED_FILE_H diff --git a/src/modules/filesystem/File.cpp b/src/modules/filesystem/File.cpp index ffc301b76..578bacf33 100644 --- a/src/modules/filesystem/File.cpp +++ b/src/modules/filesystem/File.cpp @@ -29,6 +29,68 @@ File::~File() { } +FileData *File::read(int64 size) +{ + bool isopen = isOpen(); + + if (!isopen && !open(MODE_READ)) + throw love::Exception("Could not read file %s.", getFilename().c_str()); + + int64 max = getSize(); + int64 cur = tell(); + size = (size == ALL) ? max : size; + + if (size < 0) + throw love::Exception("Invalid read size."); + + // Clamping because the file offset may be in a weird position. + if (cur < 0) + cur = 0; + else if (cur > max) + cur = max; + + if (cur + size > max) + size = max - cur; + + FileData *fileData = new FileData(size, getFilename()); + int64 bytesRead = read(fileData->getData(), size); + + if (bytesRead < 0 || (bytesRead == 0 && bytesRead != size)) + { + delete fileData; + throw love::Exception("Could not read from file."); + } + + if (bytesRead < size) + { + FileData *tmpFileData = new FileData(bytesRead, getFilename()); + memcpy(tmpFileData->getData(), fileData->getData(), (size_t) bytesRead); + fileData->release(); + fileData = tmpFileData; + } + + if (!isopen) + close(); + + return fileData; +} + +bool File::write(const Data *data, int64 size) +{ + return write(data->getData(), (size == ALL) ? data->getSize() : size); +} + +std::string File::getExtension() const +{ + const std::string &filename = getFilename(); + std::string::size_type idx = filename.rfind('.'); + + if (idx != std::string::npos) + return filename.substr(idx+1); + else + return std::string(); +} + bool File::getConstant(const char *in, Mode &out) { return modes.find(in, out); @@ -51,10 +113,10 @@ bool File::getConstant(BufferMode in, const char *&out) StringMap::Entry File::modeEntries[] = { - {"c", File::CLOSED}, - {"r", File::READ}, - {"w", File::WRITE}, - {"a", File::APPEND}, + {"c", File::MODE_CLOSED}, + {"r", File::MODE_READ}, + {"w", File::MODE_WRITE}, + {"a", File::MODE_APPEND}, }; StringMap File::modes(File::modeEntries, sizeof(File::modeEntries)); diff --git a/src/modules/filesystem/File.h b/src/modules/filesystem/File.h index f7a161f1d..4b83fb2cb 100644 --- a/src/modules/filesystem/File.h +++ b/src/modules/filesystem/File.h @@ -49,10 +49,10 @@ public: **/ enum Mode { - CLOSED, - READ, - WRITE, - APPEND, + MODE_CLOSED, + MODE_READ, + MODE_WRITE, + MODE_APPEND, MODE_MAX_ENUM }; @@ -77,7 +77,7 @@ public: /** * Opens the file in a certain mode. * - * @param mode READ, WRITE, APPEND. + * @param mode MODE_READ, MODE_WRITE, MODE_APPEND. * @return True if successful, false otherwise. **/ virtual bool open(Mode mode) = 0; @@ -107,7 +107,7 @@ public: * @param size The number of bytes to attempt reading, or -1 for EOF. * @return A newly allocated Data object. **/ - virtual FileData *read(int64 size = ALL) = 0; + virtual FileData *read(int64 size = ALL); /** * Reads data into the destination buffer. @@ -134,7 +134,7 @@ public: * @param size The number of bytes to attempt writing, or -1 for everything. * @return True of success, false otherwise. **/ - virtual bool write(const Data *data, int64 size = ALL) = 0; + virtual bool write(const Data *data, int64 size = ALL); /** * Flushes the currently buffered file data to disk. Only applicable in @@ -192,13 +192,13 @@ public: * Gets the filename for this File, or empty string if none. * @return The filename for this File. **/ - virtual std::string getFilename() const = 0; + virtual const std::string &getFilename() const = 0; /** * Gets the file extension for this File, or empty string if none. * @return The file extension for this File (without the dot). **/ - virtual std::string getExtension() const = 0; + virtual std::string getExtension() const; static bool getConstant(const char *in, Mode &out); static bool getConstant(Mode in, const char *&out); diff --git a/src/modules/filesystem/Filesystem.cpp b/src/modules/filesystem/Filesystem.cpp new file mode 100644 index 000000000..b2dc8d147 --- /dev/null +++ b/src/modules/filesystem/Filesystem.cpp @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "Filesystem.h" +#include "common/utf8.h" + +// Assume POSIX or Visual Studio. +#include +#include + +namespace love +{ +namespace filesystem +{ + +Filesystem::Filesystem() +{ +} + +Filesystem::~Filesystem() +{ +} + +bool Filesystem::isRealDirectory(const std::string &path) const +{ +#ifdef LOVE_WINDOWS + // make sure non-ASCII paths work. + struct _stat buf; + if (_wstat(to_widestr(path).c_str(), &buf) != 0) + return false; + + return (buf.st_mode & _S_IFDIR) == _S_IFDIR; +#else + // Assume POSIX support... + struct stat buf; + if (stat(path.c_str(), &buf) != 0) + return false; + + return S_ISDIR(buf.st_mode) != 0; +#endif +} + +} // filesystem +} // love diff --git a/src/modules/filesystem/Filesystem.h b/src/modules/filesystem/Filesystem.h new file mode 100644 index 000000000..a58f8300b --- /dev/null +++ b/src/modules/filesystem/Filesystem.h @@ -0,0 +1,261 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_FILESYSTEM_FILESYSTEM_H +#define LOVE_FILESYSTEM_FILESYSTEM_H + +// LOVE +#include "common/config.h" +#include "common/runtime.h" +#include "common/Module.h" +#include "common/int.h" +#include "FileData.h" +#include "File.h" + +// C++ +#include +#include + +// In Windows, we would like to use "LOVE" as the +// application folder, but in Linux, we like .love. +#define LOVE_APPDATA_PREFIX "" +#ifdef LOVE_WINDOWS +# define LOVE_APPDATA_FOLDER "LOVE" +# define LOVE_PATH_SEPARATOR "/" +# define LOVE_MAX_PATH _MAX_PATH +#else +# if defined(LOVE_MACOSX) || defined(LOVE_IOS) +# define LOVE_APPDATA_FOLDER "LOVE" +# elif defined(LOVE_LINUX) +# define LOVE_APPDATA_FOLDER "love" +# else +# define LOVE_APPDATA_PREFIX "." +# define LOVE_APPDATA_FOLDER "love" +# endif +# define LOVE_PATH_SEPARATOR "/" +# define LOVE_MAX_PATH MAXPATHLEN +#endif + +namespace love +{ +namespace filesystem +{ + +class Filesystem : public Module +{ +public: + + Filesystem(); + virtual ~Filesystem(); + + // Implements Module. + virtual ModuleType getModuleType() const { return M_FILESYSTEM; } + + virtual void init(const char *arg0) = 0; + + virtual void setFused(bool fused) = 0; + virtual bool isFused() const = 0; + + /** + * This sets up the save directory. If the + * it is already set up, nothing happens. + * @return True on success, false otherwise. + **/ + virtual bool setupWriteDirectory() = 0; + + /** + * Sets the name of the save folder. + * @param ident The name of the game. Will be used to + * to create the folder in the LOVE data folder. + **/ + virtual bool setIdentity(const char *ident, bool appendToPath = false) = 0; + virtual const char *getIdentity() const = 0; + + /** + * Sets the path to the game source. + * This can only be set once. + * @param source Path to a directory or a .love-file. + **/ + virtual bool setSource(const char *source) = 0; + + /** + * Gets the path to the game source. + * Returns a 0-length string if the source has not been set. + **/ + virtual const char *getSource() const = 0; + + virtual bool mount(const char *archive, const char *mountpoint, bool appendToPath = false) = 0; + virtual bool unmount(const char *archive) = 0; + + /** + * Creates a new file. + **/ + virtual File *newFile(const char *filename) const = 0; + + /** + * Creates a new FileData object. Data will be copied. + * @param data Pointer to the data. + * @param size The size of the data. + * @param filename The full filename used to file type identification. + **/ + virtual FileData *newFileData(void *data, unsigned int size, const char *filename) const = 0; + + /** + * Creates a new FileData object from base64 data. + * @param b64 The base64 data. + **/ + virtual FileData *newFileData(const char *b64, const char *filename) const = 0; + + /** + * Gets the current working directory. + **/ + virtual const char *getWorkingDirectory() = 0; + + /** + * Gets the user home directory. + **/ + virtual std::string getUserDirectory() = 0; + + /** + * Gets the APPDATA directory. On Windows, this is the folder + * in the %APPDATA% enviroment variable. On Linux, this is the + * user home folder. + **/ + virtual std::string getAppdataDirectory() = 0; + + /** + * Gets the full path of the save folder. + **/ + virtual const char *getSaveDirectory() = 0; + + /** + * Gets the full path to the directory containing the game source. + * For example if the game source is C:\Games\mygame.love, this will return + * C:\Games. + **/ + virtual std::string getSourceBaseDirectory() const = 0; + + /** + * Gets the real directory path containing the file. + **/ + virtual std::string getRealDirectory(const char *filename) const = 0; + + /** + * Checks if a path is a directory. + * @param dir The directory name to check. + **/ + virtual bool isDirectory(const char *dir) const = 0; + + /** + * Checks if a filename exists. + * @param file The filename to check. + **/ + virtual bool isFile(const char *file) const = 0; + + /** + * Creates a directory. Write dir must be set. + * @param dir The directory to create. + **/ + virtual bool createDirectory(const char *dir) = 0; + + /** + * Removes a file (or directory). + * @param file The file or directory to remove. + **/ + virtual bool remove(const char *file) = 0; + + /** + * Reads data from a file. + * @param filename The name of the file to read from. + * @param size The size in bytes of the data to read. + **/ + virtual FileData *read(const char *filename, int64 size = File::ALL) const = 0; + + /** + * Write data to a file. + * @param filename The name of the file to write to. + * @param data The data to write. + * @param size The size in bytes of the data to write. + **/ + virtual void write(const char *filename, const void *data, int64 size) const = 0; + + /** + * Append data to a file, creating it if it doesn't exist. + * @param filename The name of the file to write to. + * @param data The data to append. + * @param size The size in bytes of the data to append. + **/ + virtual void append(const char *filename, const void *data, int64 size) const = 0; + + /** + * This "native" method returns a table of all + * files in a given directory. + **/ + virtual int getDirectoryItems(lua_State *L) = 0; + + /** + * Gets the last modification time of a file, in seconds + * since the Unix epoch. + * @param filename The name of the file. + **/ + virtual int64 getLastModified(const char *filename) const = 0; + + /** + * Gets the size of a file in bytes. + * @param filename The name of the file. + **/ + virtual int64 getSize(const char *filename) const = 0; + + /** + * Enable or disable symbolic link support in love.filesystem. + **/ + virtual void setSymlinksEnabled(bool enable) = 0; + + /** + * Gets whether symbolic link support is enabled. + **/ + virtual bool areSymlinksEnabled() const = 0; + + /** + * Gets whether a filepath is actually a symlink. + * Always returns false if symlinks are not enabled. + **/ + virtual bool isSymlink(const char *filename) const = 0; + + // Require path accessors + // Not const because it's R/W + virtual std::vector &getRequirePath() = 0; + + /** + * Allows a full (OS-dependent) path to be used with Filesystem::mount. + **/ + virtual void allowMountingForPath(const std::string &path) = 0; + + /** + * Gets whether the given full (OS-dependent) path is a directory. + **/ + virtual bool isRealDirectory(const std::string &path) const; + +}; // Filesystem + +} // filesystem +} // love + +#endif // LOVE_FILESYSTEM_FILESYSTEM_H diff --git a/src/modules/filesystem/physfs/File.cpp b/src/modules/filesystem/physfs/File.cpp index 790398b9b..50c3ec768 100644 --- a/src/modules/filesystem/physfs/File.cpp +++ b/src/modules/filesystem/physfs/File.cpp @@ -39,8 +39,8 @@ namespace physfs File::File(const std::string &filename) : filename(filename) - , file(0) - , mode(CLOSED) + , file(nullptr) + , mode(MODE_CLOSED) , bufferMode(BUFFER_NONE) , bufferSize(0) { @@ -48,25 +48,25 @@ File::File(const std::string &filename) File::~File() { - if (mode != CLOSED) + if (mode != MODE_CLOSED) close(); } bool File::open(Mode mode) { - if (mode == CLOSED) + if (mode == MODE_CLOSED) return true; // File must exist if read mode. - if ((mode == READ) && !PHYSFS_exists(filename.c_str())) + if ((mode == MODE_READ) && !PHYSFS_exists(filename.c_str())) throw love::Exception("Could not open file %s. Does not exist.", filename.c_str()); // Check whether the write directory is set. - if ((mode == APPEND || mode == WRITE) && (PHYSFS_getWriteDir() == 0) && !hack_setupWriteDirectory()) + if ((mode == MODE_APPEND || mode == MODE_WRITE) && (PHYSFS_getWriteDir() == 0) && !hack_setupWriteDirectory()) throw love::Exception("Could not set write directory."); // File already open? - if (file != 0) + if (file != nullptr) return false; PHYSFS_getLastError(); // Clear the error buffer. @@ -74,13 +74,13 @@ bool File::open(Mode mode) switch (mode) { - case READ: + case MODE_READ: handle = PHYSFS_openRead(filename.c_str()); break; - case APPEND: + case MODE_APPEND: handle = PHYSFS_openAppend(filename.c_str()); break; - case WRITE: + case MODE_WRITE: handle = PHYSFS_openWrite(filename.c_str()); break; default: @@ -99,94 +99,50 @@ bool File::open(Mode mode) this->mode = mode; - if (file != 0 && !setBuffer(bufferMode, bufferSize)) + if (file != nullptr && !setBuffer(bufferMode, bufferSize)) { // Revert to buffer defaults if we don't successfully set the buffer. bufferMode = BUFFER_NONE; bufferSize = 0; } - return (file != 0); + return (file != nullptr); } bool File::close() { - if (!PHYSFS_close(file)) + if (file == nullptr || !PHYSFS_close(file)) return false; - mode = CLOSED; - file = 0; + + mode = MODE_CLOSED; + file = nullptr; + return true; } bool File::isOpen() const { - return mode != CLOSED && file != 0; + return mode != MODE_CLOSED && file != nullptr; } int64 File::getSize() { // If the file is closed, open it to // check the size. - if (file == 0) + if (file == nullptr) { - open(READ); - int64 size = (int64)PHYSFS_fileLength(file); + open(MODE_READ); + int64 size = (int64) PHYSFS_fileLength(file); close(); return size; } - return (int64)PHYSFS_fileLength(file); -} - - -FileData *File::read(int64 size) -{ - bool isOpen = (file != 0); - - if (!isOpen && !open(READ)) - throw love::Exception("Could not read file %s.", filename.c_str()); - - int64 max = getSize(); - int64 cur = tell(); - size = (size == ALL) ? max : size; - - if (size < 0) - throw love::Exception("Invalid read size."); - - // Clamping because the file offset may be in a weird position. - if (cur < 0) - cur = 0; - else if (cur > max) - cur = max; - - if (cur + size > max) - size = max - cur; - - FileData *fileData = new FileData(size, getFilename()); - int64 bytesRead = read(fileData->getData(), size); - - if (bytesRead < 0 || (bytesRead == 0 && bytesRead != size)) - { - delete fileData; - throw love::Exception("Could not read from file."); - } - if (bytesRead < size) - { - FileData *tmpFileData = new FileData(bytesRead, getFilename()); - memcpy(tmpFileData->getData(), fileData->getData(), (size_t) bytesRead); - delete fileData; - fileData = tmpFileData; - } - - if (!isOpen) - close(); - - return fileData; + return (int64) PHYSFS_fileLength(file); } int64 File::read(void *dst, int64 size) { - if (!file || mode != READ) + if (!file || mode != MODE_READ) throw love::Exception("File is not opened for reading."); int64 max = (int64)PHYSFS_fileLength(file); @@ -205,7 +161,7 @@ int64 File::read(void *dst, int64 size) bool File::write(const void *data, int64 size) { - if (!file || (mode != WRITE && mode != APPEND)) + if (!file || (mode != MODE_WRITE && mode != MODE_APPEND)) throw love::Exception("File is not opened for writing."); // Another clamp, for the time being. @@ -215,7 +171,7 @@ bool File::write(const void *data, int64 size) throw love::Exception("Invalid write size."); // Try to write. - int64 written = static_cast(PHYSFS_write(file, data, 1, (PHYSFS_uint32) size)); + int64 written = (int64) PHYSFS_write(file, data, 1, (PHYSFS_uint32) size); // Check that correct amount of data was written. if (written != size) @@ -231,14 +187,9 @@ bool File::write(const void *data, int64 size) return true; } -bool File::write(const Data *data, int64 size) -{ - return write(data->getData(), (size == ALL) ? data->getSize() : size); -} - bool File::flush() { - if (!file || (mode != WRITE && mode != APPEND)) + if (!file || (mode != MODE_WRITE && mode != MODE_APPEND)) throw love::Exception("File is not opened for writing."); return PHYSFS_flush(file) != 0; @@ -263,14 +214,12 @@ inline bool test_eof(File *, PHYSFS_File *file) bool File::eof() { - if (file == 0 || test_eof(this, file)) - return true; - return false; + return file == nullptr || test_eof(this, file); } int64 File::tell() { - if (file == 0) + if (file == nullptr) return -1; return (int64) PHYSFS_tell(file); @@ -278,23 +227,17 @@ int64 File::tell() bool File::seek(uint64 pos) { - if (file == 0) - return false; - - if (!PHYSFS_seek(file, (PHYSFS_uint64) pos)) - return false; - return true; + return file != nullptr && PHYSFS_seek(file, (PHYSFS_uint64) pos) != 0; } bool File::setBuffer(BufferMode bufmode, int64 size) { - // No negativity allowed! if (size < 0) return false; // If the file isn't open, we'll make sure the buffer values are set in // File::open. - if (file == 0 || mode == CLOSED) + if (!isOpen()) { bufferMode = bufmode; bufferSize = size; @@ -331,21 +274,11 @@ File::BufferMode File::getBuffer(int64 &size) const return bufferMode; } -std::string File::getFilename() const +const std::string &File::getFilename() const { return filename; } -std::string File::getExtension() const -{ - std::string::size_type idx = filename.rfind('.'); - - if (idx != std::string::npos) - return filename.substr(idx+1); - else - return std::string(); -} - filesystem::File::Mode File::getMode() const { return mode; diff --git a/src/modules/filesystem/physfs/File.h b/src/modules/filesystem/physfs/File.h index 5738fbc36..01357ade8 100644 --- a/src/modules/filesystem/physfs/File.h +++ b/src/modules/filesystem/physfs/File.h @@ -25,7 +25,7 @@ #include "filesystem/File.h" // PhysFS -#ifdef LOVE_MACOSX_USE_FRAMEWORKS +#ifdef LOVE_APPLE_USE_FRAMEWORKS #include #else #include @@ -54,14 +54,14 @@ public: virtual ~File(); // Implements love::filesystem::File. + using love::filesystem::File::read; + using love::filesystem::File::write; bool open(Mode mode); bool close(); bool isOpen() const; int64 getSize(); - FileData *read(int64 size = ALL); - int64 read(void *dst, int64 size); + virtual int64 read(void *dst, int64 size); bool write(const void *data, int64 size); - bool write(const Data *data, int64 size = ALL); bool flush(); bool eof(); int64 tell(); @@ -69,8 +69,7 @@ public: bool setBuffer(BufferMode bufmode, int64 size); BufferMode getBuffer(int64 &size) const; Mode getMode() const; - std::string getFilename() const; - std::string getExtension() const; + const std::string &getFilename() const; private: diff --git a/src/modules/filesystem/physfs/Filesystem.cpp b/src/modules/filesystem/physfs/Filesystem.cpp index 919ff28ee..4fc42fbeb 100644 --- a/src/modules/filesystem/physfs/Filesystem.cpp +++ b/src/modules/filesystem/physfs/Filesystem.cpp @@ -18,15 +18,37 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#include "common/config.h" - #include #include +#include #include "common/utf8.h" #include "common/b64.h" #include "Filesystem.h" +#include "File.h" + +// PhysFS +#ifdef LOVE_APPLE_USE_FRAMEWORKS +#include +#else +#include +#endif + +// For great CWD. (Current Working Directory) +// Using this instead of boost::filesystem which totally +// cramped our style. +#ifdef LOVE_WINDOWS +# include +# include +#else +# include +# include +#endif + +#ifdef LOVE_IOS +# include "common/iOS.h" +#endif namespace { @@ -73,15 +95,15 @@ namespace physfs { Filesystem::Filesystem() - : initialized(false) - , fused(false) + : fused(false) , fusedSet(false) { + requirePath = {"?.lua", "?/init.lua"}; } Filesystem::~Filesystem() { - if (initialized) + if (PHYSFS_isInit()) PHYSFS_deinit(); } @@ -93,8 +115,14 @@ const char *Filesystem::getName() const void Filesystem::init(const char *arg0) { if (!PHYSFS_init(arg0)) - throw Exception(PHYSFS_getLastError()); - initialized = true; + throw love::Exception("%s", PHYSFS_getLastError()); + + PHYSFS_Version version = {}; + PHYSFS_getLinkedVersion(&version); + + // FIXME: This is a workaround for a bug in PHYSFS_enumerateFiles in 2.1-alpha. + if (version.major == 2 && version.minor == 1) + PHYSFS_permitSymbolicLinks(1); } void Filesystem::setFused(bool fused) @@ -114,7 +142,7 @@ bool Filesystem::isFused() const bool Filesystem::setIdentity(const char *ident, bool appendToPath) { - if (!initialized) + if (!PHYSFS_isInit()) return false; std::string old_save_path = save_path_full; @@ -146,7 +174,7 @@ bool Filesystem::setIdentity(const char *ident, bool appendToPath) // Try to add the save directory to the search path. // (No error on fail, it means that the path doesn't exist). - PHYSFS_addToSearchPath(save_path_full.c_str(), appendToPath); + PHYSFS_mount(save_path_full.c_str(), nullptr, appendToPath); // HACK: This forces setupWriteDirectory to be called the next time a file // is opened for writing - otherwise it won't be called at all if it was @@ -163,7 +191,7 @@ const char *Filesystem::getIdentity() const bool Filesystem::setSource(const char *source) { - if (!initialized) + if (!PHYSFS_isInit()) return false; // Check whether directory is already set. @@ -171,7 +199,7 @@ bool Filesystem::setSource(const char *source) return false; // Add the directory. - if (!PHYSFS_addToSearchPath(source, 1)) + if (!PHYSFS_mount(source, nullptr, 1)) return false; // Save the game source. @@ -187,7 +215,7 @@ const char *Filesystem::getSource() const bool Filesystem::setupWriteDirectory() { - if (!initialized) + if (!PHYSFS_isInit()) return false; // These must all be set. @@ -232,7 +260,7 @@ bool Filesystem::setupWriteDirectory() return false; // Add the directory. (Will not be readded if already present). - if (!PHYSFS_addToSearchPath(save_path_full.c_str(), 0)) + if (!PHYSFS_mount(save_path_full.c_str(), nullptr, 0)) { PHYSFS_setWriteDir(nullptr); // Clear the write directory in case of error. return false; @@ -243,13 +271,18 @@ bool Filesystem::setupWriteDirectory() bool Filesystem::mount(const char *archive, const char *mountpoint, bool appendToPath) { - if (!initialized || !archive) + if (!PHYSFS_isInit() || !archive) return false; std::string realPath; std::string sourceBase = getSourceBaseDirectory(); - if (isFused() && sourceBase.compare(archive) == 0) + // Check whether the given archive path is in the list of allowed full paths. + auto it = std::find(allowedMountPaths.begin(), allowedMountPaths.end(), archive); + + if (it != allowedMountPaths.end()) + realPath = *it; + else if (isFused() && sourceBase.compare(archive) == 0) { // Special case: if the game is fused and the archive is the source's // base directory, mount it even though it's outside of the save dir. @@ -284,13 +317,18 @@ bool Filesystem::mount(const char *archive, const char *mountpoint, bool appendT bool Filesystem::unmount(const char *archive) { - if (!initialized || !archive) + if (!PHYSFS_isInit() || !archive) return false; std::string realPath; std::string sourceBase = getSourceBaseDirectory(); - if (isFused() && sourceBase.compare(archive) == 0) + // Check whether the given archive path is in the list of allowed full paths. + auto it = std::find(allowedMountPaths.begin(), allowedMountPaths.end(), archive); + + if (it != allowedMountPaths.end()) + realPath = *it; + else if (isFused() && sourceBase.compare(archive) == 0) { // Special case: if the game is fused and the archive is the source's // base directory, unmount it even though it's outside of the save dir. @@ -318,7 +356,7 @@ bool Filesystem::unmount(const char *archive) return PHYSFS_removeFromSearchPath(realPath.c_str()); } -File *Filesystem::newFile(const char *filename) const +love::filesystem::File *Filesystem::newFile(const char *filename) const { return new File(filename); } @@ -335,7 +373,7 @@ FileData *Filesystem::newFileData(void *data, unsigned int size, const char *fil FileData *Filesystem::newFileData(const char *b64, const char *filename) const { - int size = strlen(b64); + int size = (int) strlen(b64); int outsize = 0; char *dst = b64_decode(b64, size, outsize); FileData *fd = new FileData(outsize, std::string(filename)); @@ -388,6 +426,8 @@ std::string Filesystem::getAppdataDirectory() std::string udir = getUserDirectory(); udir.append("/Library/Application Support"); appdata = normalize(udir); +#elif defined(LOVE_IOS) + appdata = normalize(love::ios::getAppdataDirectory()); #elif defined(LOVE_LINUX) char *xdgdatahome = getenv("XDG_DATA_HOME"); if (!xdgdatahome) @@ -443,19 +483,14 @@ std::string Filesystem::getRealDirectory(const char *filename) const return std::string(dir); } -bool Filesystem::exists(const char *file) const +bool Filesystem::isDirectory(const char *dir) const { - return PHYSFS_exists(file); -} - -bool Filesystem::isDirectory(const char *file) const -{ - return PHYSFS_isDirectory(file); + return PHYSFS_isDirectory(dir); } bool Filesystem::isFile(const char *file) const { - return exists(file) && !isDirectory(file); + return PHYSFS_exists(file) && !PHYSFS_isDirectory(file); } bool Filesystem::createDirectory(const char *dir) @@ -478,11 +513,11 @@ bool Filesystem::remove(const char *file) return true; } -Data *Filesystem::read(const char *filename, int64 size) const +FileData *Filesystem::read(const char *filename, int64 size) const { File file(filename); - file.open(File::READ); + file.open(File::MODE_READ); // close() is called in the File destructor. return file.read(size); @@ -492,7 +527,7 @@ void Filesystem::write(const char *filename, const void *data, int64 size) const { File file(filename); - file.open(File::WRITE); + file.open(File::MODE_WRITE); // close() is called in the File destructor. if (!file.write(data, size)) @@ -503,7 +538,7 @@ void Filesystem::append(const char *filename, const void *data, int64 size) cons { File file(filename); - file.open(File::APPEND); + file.open(File::MODE_APPEND); // close() is called in the File destructor. if (!file.write(data, size)) @@ -542,108 +577,6 @@ int Filesystem::getDirectoryItems(lua_State *L) return 1; } -int Filesystem::lines_i(lua_State *L) -{ - const int bufsize = 1024; - char buf[bufsize]; - int linesize = 0; - bool newline = false; - - File *file = luax_checktype(L, lua_upvalueindex(1), "File", FILESYSTEM_FILE_T); - - // Only accept read mode at this point. - if (file->getMode() != File::READ) - return luaL_error(L, "File needs to stay in read mode."); - - int64 pos = file->tell(); - int64 userpos = -1; - - if (lua_isnoneornil(L, lua_upvalueindex(2)) == 0) - { - // User may have changed the file position. - userpos = pos; - pos = (int64) lua_tonumber(L, lua_upvalueindex(2)); - if (userpos != pos) - file->seek(pos); - } - - while (!newline && !file->eof()) - { - // This 64-bit to 32-bit integer cast should be safe as it never exceeds bufsize. - int read = (int) file->read(buf, bufsize); - if (read < 0) - return luaL_error(L, "Could not read from file."); - - linesize += read; - - for (int i = 0; i < read; i++) - { - if (buf[i] == '\n') - { - linesize -= read - i; - newline = true; - break; - } - } - } - - if (newline || (file->eof() && linesize > 0)) - { - if (linesize < bufsize) - { - // We have the line in the buffer on the stack. No 'new' and 'read' needed. - lua_pushlstring(L, buf, linesize > 0 && buf[linesize - 1] == '\r' ? linesize - 1 : linesize); - if (userpos < 0) - file->seek(pos + linesize + 1); - } - else - { - char *str = 0; - try - { - str = new char[linesize + 1]; - } - catch(std::bad_alloc &) - { - // Can't lua_error (longjmp) in exception handlers. - } - - if (!str) - return luaL_error(L, "Out of memory."); - - file->seek(pos); - - // Read the \n anyway and save us a call to seek. - if (file->read(str, linesize + 1) == -1) - { - delete [] str; - return luaL_error(L, "Could not read from file."); - } - - lua_pushlstring(L, str, str[linesize - 1] == '\r' ? linesize - 1 : linesize); - delete [] str; - } - - if (userpos >= 0) - { - // Save new position in upvalue. - lua_pushnumber(L, (lua_Number)(pos + linesize + 1)); - lua_replace(L, lua_upvalueindex(2)); - file->seek(userpos); - } - - return 1; - } - - // EOF reached. - if (userpos >= 0 && luax_toboolean(L, lua_upvalueindex(3))) - file->seek(userpos); - else - file->close(); - - return 0; -} - int64 Filesystem::getLastModified(const char *filename) const { PHYSFS_sint64 time = PHYSFS_getLastModTime(filename); @@ -676,6 +609,17 @@ bool Filesystem::isSymlink(const char *filename) const return PHYSFS_isSymbolicLink(filename) != 0; } +std::vector &Filesystem::getRequirePath() +{ + return requirePath; +} + +void Filesystem::allowMountingForPath(const std::string &path) +{ + if (std::find(allowedMountPaths.begin(), allowedMountPaths.end(), path) == allowedMountPaths.end()) + allowedMountPaths.push_back(path); +} + } // physfs } // filesystem } // love diff --git a/src/modules/filesystem/physfs/Filesystem.h b/src/modules/filesystem/physfs/Filesystem.h index 23d7eb1fb..2ea2032ee 100644 --- a/src/modules/filesystem/physfs/Filesystem.h +++ b/src/modules/filesystem/physfs/Filesystem.h @@ -24,46 +24,9 @@ // STD #include #include -#include // LOVE -#include "common/Module.h" -#include "common/config.h" -#include "common/int.h" -#include "common/runtime.h" -#include "filesystem/FileData.h" -#include "File.h" - -// For great CWD. (Current Working Directory) -// Using this instead of boost::filesystem which totally -// cramped our style. -#ifdef LOVE_WINDOWS -# include -# include -#else -# include -# include -#endif - -// In Windows, we would like to use "LOVE" as the -// application folder, but in Linux, we like .love. -#define LOVE_APPDATA_PREFIX "" -#ifdef LOVE_WINDOWS -# define LOVE_APPDATA_FOLDER "LOVE" -# define LOVE_PATH_SEPARATOR "/" -# define LOVE_MAX_PATH _MAX_PATH -#else -# ifdef LOVE_MACOSX -# define LOVE_APPDATA_FOLDER "LOVE" -# elif defined(LOVE_LINUX) -# define LOVE_APPDATA_FOLDER "love" -# else -# define LOVE_APPDATA_PREFIX "." -# define LOVE_APPDATA_FOLDER "love" -# endif -# define LOVE_PATH_SEPARATOR "/" -# define LOVE_MAX_PATH MAXPATHLEN -#endif +#include "filesystem/Filesystem.h" namespace love { @@ -72,7 +35,7 @@ namespace filesystem namespace physfs { -class Filesystem : public Module +class Filesystem : public love::filesystem::Filesystem { public: @@ -80,7 +43,6 @@ public: virtual ~Filesystem(); // Implements Module. - virtual ModuleType getModuleType() const { return M_FILESYSTEM; } const char *getName() const; void init(const char *arg0); @@ -88,186 +50,54 @@ public: void setFused(bool fused); bool isFused() const; - /** - * This sets up the save directory. If the - * it is already set up, nothing happens. - * @return True on success, false otherwise. - **/ bool setupWriteDirectory(); - /** - * Sets the name of the save folder. - * @param ident The name of the game. Will be used to - * to create the folder in the LOVE data folder. - **/ bool setIdentity(const char *ident, bool appendToPath = false); const char *getIdentity() const; - /** - * Sets the path to the game source. - * This can only be set once. - * @param source Path to a directory or a .love-file. - **/ bool setSource(const char *source); - /** - * Gets the path to the game source. - * Returns a 0-length string if the source has not been set. - **/ const char *getSource() const; bool mount(const char *archive, const char *mountpoint, bool appendToPath = false); bool unmount(const char *archive); - /** - * Creates a new file. - **/ File *newFile(const char *filename) const; - /** - * Creates a new FileData object. Data will be copied. - * @param data Pointer to the data. - * @param size The size of the data. - * @param filename The full filename used to file type identification. - **/ FileData *newFileData(void *data, unsigned int size, const char *filename) const; - - /** - * Creates a new FileData object from base64 data. - * @param b64 The base64 data. - **/ FileData *newFileData(const char *b64, const char *filename) const; - /** - * Gets the current working directory. - **/ const char *getWorkingDirectory(); - - /** - * Gets the user home directory. - **/ std::string getUserDirectory(); - - /** - * Gets the APPDATA directory. On Windows, this is the folder - * in the %APPDATA% enviroment variable. On Linux, this is the - * user home folder. - **/ std::string getAppdataDirectory(); - - /** - * Gets the full path of the save folder. - **/ const char *getSaveDirectory(); - - /** - * Gets the full path to the directory containing the game source. - * For example if the game source is C:\Games\mygame.love, this will return - * C:\Games. - **/ std::string getSourceBaseDirectory() const; - /** - * Gets the real directory path containing the file. - **/ std::string getRealDirectory(const char *filename) const; - /** - * Checks whether a file exists in the current search path - * or not. - * @param file The filename to check. - **/ - bool exists(const char *file) const; - - /** - * Checks if an existing file really is a directory. - * @param file The filename to check. - **/ - bool isDirectory(const char *file) const; - - /** - * Checks if an existing file really is a file, - * and not a directory. - * @param file The filename to check. - **/ + bool isDirectory(const char *dir) const; bool isFile(const char *file) const; - /** - * Creates a directory. Write dir must be set. - * @param dir The directory to create. - **/ bool createDirectory(const char *dir); - /** - * Removes a file (or directory). - * @param file The file or directory to remove. - **/ bool remove(const char *file); - /** - * Reads data from a file. - * @param filename The name of the file to read from. - * @param size The size in bytes of the data to read. - **/ - Data *read(const char *filename, int64 size = File::ALL) const; - - /** - * Write data to a file. - * @param filename The name of the file to write to. - * @param data The data to write. - * @param size The size in bytes of the data to write. - **/ + FileData *read(const char *filename, int64 size = File::ALL) const; void write(const char *filename, const void *data, int64 size) const; - - /** - * Append data to a file, creating it if it doesn't exist. - * @param filename The name of the file to write to. - * @param data The data to append. - * @param size The size in bytes of the data to append. - **/ void append(const char *filename, const void *data, int64 size) const; - /** - * This "native" method returns a table of all - * files in a given directory. - **/ int getDirectoryItems(lua_State *L); - /** - * Gets the last modification time of a file, in seconds - * since the Unix epoch. - * @param filename The name of the file. - **/ int64 getLastModified(const char *filename) const; - - /** - * Gets the size of a file in bytes. - * @param filename The name of the file. - **/ int64 getSize(const char *filename) const; - /** - * Enable or disable symbolic link support in love.filesystem. - **/ void setSymlinksEnabled(bool enable); - - /** - * Gets whether symbolic link support is enabled. - **/ bool areSymlinksEnabled() const; - - /** - * Gets whether a filepath is actually a symlink. - * Always returns false if symlinks are not enabled. - **/ bool isSymlink(const char *filename) const; - /** - * Text file line-reading iterator function used and - * pushed on the Lua stack by love.filesystem.lines - * and File:lines. - **/ - static int lines_i(lua_State *L); + std::vector &getRequirePath(); + + void allowMountingForPath(const std::string &path); private: @@ -289,14 +119,16 @@ private: // The full path to the source of the game. std::string game_source; - // Workaround for machines without PhysFS 2.0 - bool initialized; - // Allow saving outside of the LOVE_APPDATA_FOLDER // for release 'builds' bool fused; bool fusedSet; + // Search path for require + std::vector requirePath; + + std::vector allowedMountPaths; + }; // Filesystem } // physfs diff --git a/src/modules/filesystem/wrap_DroppedFile.cpp b/src/modules/filesystem/wrap_DroppedFile.cpp new file mode 100644 index 000000000..b59502c0a --- /dev/null +++ b/src/modules/filesystem/wrap_DroppedFile.cpp @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "wrap_DroppedFile.h" +#include "wrap_File.h" + +namespace love +{ +namespace filesystem +{ + +DroppedFile *luax_checkdroppedfile(lua_State *L, int idx) +{ + return luax_checktype(L, idx, FILESYSTEM_DROPPED_FILE_ID); +} + +static const luaL_Reg functions[] = +{ + // Inherits from File. + { "getSize", w_File_getSize }, + { "open", w_File_open }, + { "close", w_File_close }, + { "isOpen", w_File_isOpen }, + { "read", w_File_read }, + { "write", w_File_write }, + { "flush", w_File_flush }, + { "eof", w_File_eof }, + { "tell", w_File_tell }, + { "seek", w_File_seek }, + { "lines", w_File_lines }, + { "setBuffer", w_File_setBuffer }, + { "getBuffer", w_File_getBuffer }, + { "getMode", w_File_getMode }, + { "getFilename", w_File_getFilename }, + { "getExtension", w_File_getExtension }, + { 0, 0 } +}; + +extern "C" int luaopen_droppedfile(lua_State *L) +{ + return luax_register_type(L, FILESYSTEM_DROPPED_FILE_ID, functions); +} + +} // filesystem +} // love diff --git a/src/modules/filesystem/wrap_DroppedFile.h b/src/modules/filesystem/wrap_DroppedFile.h new file mode 100644 index 000000000..a380a3e96 --- /dev/null +++ b/src/modules/filesystem/wrap_DroppedFile.h @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_FILESYSTEM_WRAP_DROPPED_FILE_H +#define LOVE_FILESYSTEM_WRAP_DROPPED_FILE_H + +// LOVE +#include "common/runtime.h" +#include "DroppedFile.h" + +namespace love +{ +namespace filesystem +{ + +DroppedFile *luax_checkdroppedfile(lua_State *L, int idx); +extern "C" int luaopen_droppedfile(lua_State *L); + +} // filesystem +} // love + +#endif // LOVE_FILESYSTEM_WRAP_DROPPED_FILE_H diff --git a/src/modules/filesystem/wrap_File.cpp b/src/modules/filesystem/wrap_File.cpp index f31a89325..ee06ce952 100644 --- a/src/modules/filesystem/wrap_File.cpp +++ b/src/modules/filesystem/wrap_File.cpp @@ -20,8 +20,6 @@ #include "wrap_File.h" -#include "physfs/Filesystem.h" - #include "common/Data.h" #include "common/Exception.h" #include "common/int.h" @@ -45,7 +43,7 @@ int luax_ioError(lua_State *L, const char *fmt, ...) File *luax_checkfile(lua_State *L, int idx) { - return luax_checktype(L, idx, "File", FILESYSTEM_FILE_T); + return luax_checktype(L, idx, FILESYSTEM_FILE_ID); } int w_File_getSize(lua_State *L) @@ -151,11 +149,11 @@ int w_File_write(lua_State *L) return luax_ioError(L, "%s", e.what()); } } - else if (luax_istype(L, 2, DATA_T)) + else if (luax_istype(L, 2, DATA_ID)) { try { - love::Data *data = luax_totype(L, 2, "Data", DATA_T); + love::Data *data = luax_totype(L, 2, DATA_ID); result = file->write(data, luaL_optinteger(L, 3, data->getSize())); } catch (love::Exception &e) @@ -223,26 +221,128 @@ int w_File_seek(lua_State *L) return 1; } +int w_File_lines_i(lua_State *L) +{ + const int bufsize = 1024; + char buf[bufsize]; + int linesize = 0; + bool newline = false; + + File *file = luax_checktype(L, lua_upvalueindex(1), FILESYSTEM_FILE_ID); + + // Only accept read mode at this point. + if (file->getMode() != File::MODE_READ) + return luaL_error(L, "File needs to stay in read mode."); + + int64 pos = file->tell(); + int64 userpos = -1; + + if (lua_isnoneornil(L, lua_upvalueindex(2)) == 0) + { + // User may have changed the file position. + userpos = pos; + pos = (int64) lua_tonumber(L, lua_upvalueindex(2)); + if (userpos != pos) + file->seek(pos); + } + + while (!newline && !file->eof()) + { + // This 64-bit to 32-bit integer cast should be safe as it never exceeds bufsize. + int read = (int) file->read(buf, bufsize); + if (read < 0) + return luaL_error(L, "Could not read from file."); + + linesize += read; + + for (int i = 0; i < read; i++) + { + if (buf[i] == '\n') + { + linesize -= read - i; + newline = true; + break; + } + } + } + + if (newline || (file->eof() && linesize > 0)) + { + if (linesize < bufsize) + { + // We have the line in the buffer on the stack. No 'new' and 'read' needed. + lua_pushlstring(L, buf, linesize > 0 && buf[linesize - 1] == '\r' ? linesize - 1 : linesize); + if (userpos < 0) + file->seek(pos + linesize + 1); + } + else + { + char *str = 0; + try + { + str = new char[linesize + 1]; + } + catch(std::bad_alloc &) + { + // Can't lua_error (longjmp) in exception handlers. + } + + if (!str) + return luaL_error(L, "Out of memory."); + + file->seek(pos); + + // Read the \n anyway and save us a call to seek. + if (file->read(str, linesize + 1) == -1) + { + delete [] str; + return luaL_error(L, "Could not read from file."); + } + + lua_pushlstring(L, str, str[linesize - 1] == '\r' ? linesize - 1 : linesize); + delete [] str; + } + + if (userpos >= 0) + { + // Save new position in upvalue. + lua_pushnumber(L, (lua_Number)(pos + linesize + 1)); + lua_replace(L, lua_upvalueindex(2)); + file->seek(userpos); + } + + return 1; + } + + // EOF reached. + if (userpos >= 0 && luax_toboolean(L, lua_upvalueindex(3))) + file->seek(userpos); + else + file->close(); + + return 0; +} + int w_File_lines(lua_State *L) { File *file = luax_checkfile(L, 1); lua_pushnumber(L, 0); // File position. - luax_pushboolean(L, file->getMode() != File::CLOSED); // Save current file mode. + luax_pushboolean(L, file->getMode() != File::MODE_CLOSED); // Save current file mode. - if (file->getMode() != File::READ) + if (file->getMode() != File::MODE_READ) { - if (file->getMode() != File::CLOSED) + if (file->getMode() != File::MODE_CLOSED) file->close(); bool success = false; - luax_catchexcept(L, [&](){ success = file->open(File::READ); }); + luax_catchexcept(L, [&](){ success = file->open(File::MODE_READ); }); if (!success) return luaL_error(L, "Could not open file."); } - lua_pushcclosure(L, physfs::Filesystem::lines_i, 3); + lua_pushcclosure(L, w_File_lines_i, 3); return 1; } @@ -299,6 +399,20 @@ int w_File_getMode(lua_State *L) return 1; } +int w_File_getFilename(lua_State *L) +{ + File *file = luax_checkfile(L, 1); + luax_pushstring(L, file->getFilename()); + return 1; +} + +int w_File_getExtension(lua_State *L) +{ + File *file = luax_checkfile(L, 1); + luax_pushstring(L, file->getExtension()); + return 1; +} + static const luaL_Reg functions[] = { { "getSize", w_File_getSize }, @@ -315,12 +429,14 @@ static const luaL_Reg functions[] = { "setBuffer", w_File_setBuffer }, { "getBuffer", w_File_getBuffer }, { "getMode", w_File_getMode }, + { "getFilename", w_File_getFilename }, + { "getExtension", w_File_getExtension }, { 0, 0 } }; extern "C" int luaopen_file(lua_State *L) { - return luax_register_type(L, "File", functions); + return luax_register_type(L, FILESYSTEM_FILE_ID, functions); } } // filesystem diff --git a/src/modules/filesystem/wrap_File.h b/src/modules/filesystem/wrap_File.h index 0f78074de..e0ae68152 100644 --- a/src/modules/filesystem/wrap_File.h +++ b/src/modules/filesystem/wrap_File.h @@ -44,10 +44,13 @@ int w_File_flush(lua_State *L); int w_File_eof(lua_State *L); int w_File_tell(lua_State *L); int w_File_seek(lua_State *L); +int w_File_lines_i(lua_State *L); int w_File_lines(lua_State *L); int w_File_setBuffer(lua_State *L); int w_File_getBuffer(lua_State *L); int w_File_getMode(lua_State *L); +int w_File_getFilename(lua_State *L); +int w_File_getExtension(lua_State *L); extern "C" int luaopen_file(lua_State *L); } // filesystem diff --git a/src/modules/filesystem/wrap_FileData.cpp b/src/modules/filesystem/wrap_FileData.cpp index fdf768f6b..83a2af9e9 100644 --- a/src/modules/filesystem/wrap_FileData.cpp +++ b/src/modules/filesystem/wrap_FileData.cpp @@ -29,7 +29,7 @@ namespace filesystem FileData *luax_checkfiledata(lua_State *L, int idx) { - return luax_checktype(L, idx, "FileData", FILESYSTEM_FILE_DATA_T); + return luax_checktype(L, idx, FILESYSTEM_FILE_DATA_ID); } int w_FileData_getFilename(lua_State *L) @@ -61,7 +61,7 @@ static const luaL_Reg w_FileData_functions[] = extern "C" int luaopen_filedata(lua_State *L) { - return luax_register_type(L, "FileData", w_FileData_functions); + return luax_register_type(L, FILESYSTEM_FILE_DATA_ID, w_FileData_functions); } } // filesystem diff --git a/src/modules/filesystem/wrap_Filesystem.cpp b/src/modules/filesystem/wrap_Filesystem.cpp index 29138e610..8752d8364 100644 --- a/src/modules/filesystem/wrap_Filesystem.cpp +++ b/src/modules/filesystem/wrap_Filesystem.cpp @@ -21,6 +21,7 @@ // LOVE #include "wrap_Filesystem.h" #include "wrap_File.h" +#include "wrap_DroppedFile.h" #include "wrap_FileData.h" #include "physfs/Filesystem.h" @@ -28,12 +29,17 @@ // SDL #include +// STL +#include +#include +#include + namespace love { namespace filesystem { -#define instance() (Module::getInstance(Module::M_FILESYSTEM)) +#define instance() (Module::getInstance(Module::M_FILESYSTEM)) bool hack_setupWriteDirectory() { @@ -119,7 +125,7 @@ int w_newFile(lua_State *L) const char *filename = luaL_checkstring(L, 1); const char *str = 0; - File::Mode mode = File::CLOSED; + File::Mode mode = File::MODE_CLOSED; if (lua_isstring(L, 2)) { @@ -130,7 +136,7 @@ int w_newFile(lua_State *L) File *t = instance()->newFile(filename); - if (mode != File::CLOSED) + if (mode != File::MODE_CLOSED) { try { @@ -144,7 +150,7 @@ int w_newFile(lua_State *L) } } - luax_pushtype(L, "File", FILESYSTEM_FILE_T, t); + luax_pushtype(L, FILESYSTEM_FILE_ID, t); t->release(); return 1; } @@ -159,12 +165,12 @@ FileData *luax_getfiledata(lua_State *L, int idx) const char *filename = luaL_checkstring(L, idx); file = instance()->newFile(filename); } - else if (luax_istype(L, idx, FILESYSTEM_FILE_T)) + else if (luax_istype(L, idx, FILESYSTEM_FILE_ID)) { file = luax_checkfile(L, idx); file->retain(); } - else if (luax_istype(L, idx, FILESYSTEM_FILE_DATA_T)) + else if (luax_istype(L, idx, FILESYSTEM_FILE_DATA_ID)) { data = luax_checkfiledata(L, idx); data->retain(); @@ -197,7 +203,7 @@ int w_newFileData(lua_State *L) luax_convobj(L, 1, "filesystem", "newFile"); // Get FileData from the File. - if (luax_istype(L, 1, FILESYSTEM_FILE_T)) + if (luax_istype(L, 1, FILESYSTEM_FILE_ID)) { File *file = luax_checkfile(L, 1); @@ -210,7 +216,7 @@ int w_newFileData(lua_State *L) { return luax_ioError(L, "%s", e.what()); } - luax_pushtype(L, "FileData", FILESYSTEM_FILE_DATA_T, data); + luax_pushtype(L, FILESYSTEM_FILE_DATA_ID, data); data->release(); return 1; } @@ -242,7 +248,7 @@ int w_newFileData(lua_State *L) return luaL_error(L, "Invalid FileData decoder: %s", decstr); } - luax_pushtype(L, "FileData", FILESYSTEM_FILE_DATA_T, t); + luax_pushtype(L, FILESYSTEM_FILE_DATA_ID, t); t->release(); return 1; } @@ -295,13 +301,6 @@ int w_getRealDirectory(lua_State *L) return 1; } -int w_exists(lua_State *L) -{ - const char *arg = luaL_checkstring(L, 1); - luax_pushboolean(L, instance()->exists(arg)); - return 1; -} - int w_isDirectory(lua_State *L) { const char *arg = luaL_checkstring(L, 1); @@ -367,9 +366,9 @@ static int w_write_or_append(lua_State *L, File::Mode mode) const char *input = 0; size_t len = 0; - if (luax_istype(L, 2, DATA_T)) + if (luax_istype(L, 2, DATA_ID)) { - love::Data *data = luax_totype(L, 2, "Data", DATA_T); + love::Data *data = luax_totype(L, 2, DATA_ID); input = (const char *) data->getData(); len = data->getSize(); } @@ -383,7 +382,7 @@ static int w_write_or_append(lua_State *L, File::Mode mode) try { - if (mode == File::APPEND) + if (mode == File::MODE_APPEND) instance()->append(filename, (const void *) input, len); else instance()->write(filename, (const void *) input, len); @@ -399,12 +398,12 @@ static int w_write_or_append(lua_State *L, File::Mode mode) int w_write(lua_State *L) { - return w_write_or_append(L, File::WRITE); + return w_write_or_append(L, File::MODE_WRITE); } int w_append(lua_State *L) { - return w_write_or_append(L, File::APPEND); + return w_write_or_append(L, File::MODE_APPEND); } int w_getDirectoryItems(lua_State *L) @@ -421,7 +420,7 @@ int w_lines(lua_State *L) file = instance()->newFile(lua_tostring(L, 1)); bool success = false; - luax_catchexcept(L, [&](){ success = file->open(File::READ); }); + luax_catchexcept(L, [&](){ success = file->open(File::MODE_READ); }); if (!success) { @@ -429,13 +428,13 @@ int w_lines(lua_State *L) return luaL_error(L, "Could not open file."); } - luax_pushtype(L, "File", FILESYSTEM_FILE_T, file); + luax_pushtype(L, FILESYSTEM_FILE_ID, file); file->release(); } else return luaL_argerror(L, 1, "expected filename."); - lua_pushcclosure(L, physfs::Filesystem::lines_i, 1); + lua_pushcclosure(L, w_File_lines_i, 1); return 1; } @@ -530,58 +529,67 @@ int w_isSymlink(lua_State *L) return 1; } +int w_getRequirePath(lua_State *L) +{ + std::stringstream path; + bool seperator = false; + for (auto &element : instance()->getRequirePath()) + { + if (seperator) + path << ";"; + else + seperator = true; + + path << element; + } + + luax_pushstring(L, path.str()); + return 1; +} + +int w_setRequirePath(lua_State *L) +{ + std::string element = luax_checkstring(L, 1); + auto &requirePath = instance()->getRequirePath(); + + requirePath.clear(); + std::stringstream path; + path << element; + + while(std::getline(path, element, ';')) + requirePath.push_back(element); + + return 0; +} + int loader(lua_State *L) { - const char *filename = lua_tostring(L, -1); + std::string modulename = luax_tostring(L, 1); - std::string tmp(filename); - tmp += ".lua"; - - int size = tmp.size(); - - for (int i=0; iexists(tmp.c_str())) + auto *inst = instance(); + for (std::string element : inst->getRequirePath()) { - lua_pop(L, 1); - lua_pushstring(L, tmp.c_str()); - // Ok, load it. - return w_load(L); - } + size_t pos = element.find('?'); + if (pos != std::string::npos) + element.replace(pos, 1, modulename); - tmp = filename; - size = tmp.size(); - for (int i=0; iisDirectory(tmp.c_str())) - { - tmp += "/init.lua"; - if (instance()->exists(tmp.c_str())) + if (inst->isFile(element.c_str())) { lua_pop(L, 1); - lua_pushstring(L, tmp.c_str()); - // Ok, load it. + lua_pushstring(L, element.c_str()); return w_load(L); } } - std::string errstr = "\n\tno file '%s' in LOVE game directories."; - errstr += errstr; + std::string errstr = "\n\tno '%s' in LOVE game directories."; - lua_pushfstring(L, errstr.c_str(), (tmp + ".lua").c_str(), (tmp + "/init.lua").c_str()); + lua_pushfstring(L, errstr.c_str(), modulename.c_str()); return 1; } @@ -677,7 +685,6 @@ static const luaL_Reg functions[] = { "getSaveDirectory", w_getSaveDirectory }, { "getSourceBaseDirectory", w_getSourceBaseDirectory }, { "getRealDirectory", w_getRealDirectory }, - { "exists", w_exists }, { "isDirectory", w_isDirectory }, { "isFile", w_isFile }, { "createDirectory", w_createDirectory }, @@ -694,19 +701,22 @@ static const luaL_Reg functions[] = { "areSymlinksEnabled", w_areSymlinksEnabled }, { "isSymlink", w_isSymlink }, { "newFileData", w_newFileData }, + { "getRequirePath", w_getRequirePath }, + { "setRequirePath", w_setRequirePath }, { 0, 0 } }; static const lua_CFunction types[] = { luaopen_file, + luaopen_droppedfile, luaopen_filedata, 0 }; extern "C" int luaopen_love_filesystem(lua_State *L) { - physfs::Filesystem *instance = instance(); + Filesystem *instance = instance(); if (instance == nullptr) { luax_catchexcept(L, [&](){ instance = new physfs::Filesystem(); }); @@ -721,7 +731,7 @@ extern "C" int luaopen_love_filesystem(lua_State *L) WrappedModule w; w.module = instance; w.name = "filesystem"; - w.flags = MODULE_FILESYSTEM_T; + w.type = MODULE_FILESYSTEM_ID; w.functions = functions; w.types = types; diff --git a/src/modules/filesystem/wrap_Filesystem.h b/src/modules/filesystem/wrap_Filesystem.h index 01c952523..d89455fb2 100644 --- a/src/modules/filesystem/wrap_Filesystem.h +++ b/src/modules/filesystem/wrap_Filesystem.h @@ -57,7 +57,6 @@ int w_getAppdataDirectory(lua_State *L); int w_getSaveDirectory(lua_State *L); int w_getSourceBaseDirectory(lua_State *L); int w_getRealDirectory(lua_State *L); -int w_exists(lua_State *L); int w_isDirectory(lua_State *L); int w_isFile(lua_State *L); int w_createDirectory(lua_State *L); diff --git a/src/modules/font/BMFontRasterizer.cpp b/src/modules/font/BMFontRasterizer.cpp new file mode 100644 index 000000000..3056017dd --- /dev/null +++ b/src/modules/font/BMFontRasterizer.cpp @@ -0,0 +1,322 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "BMFontRasterizer.h" +#include "filesystem/Filesystem.h" +#include "image/Image.h" + +// C++ +#include +#include +#include + +// C +#include +#include + +namespace love +{ +namespace font +{ + +namespace +{ + +/** + * Helper class for parsing lines in BMFont definition files. + * NOTE: Does not properly handle multi-value attributes (e.g. 'padding' or + * 'spacing'.) + **/ +class BMFontLine +{ +public: + + BMFontLine(const std::string &line); + + const std::string &getTag() const { return tag; } + + int getAttributeInt(const char *name) const; + std::string getAttributeString(const char *name) const; + +private: + + std::string tag; + std::map attributes; + +}; + +// This is not entirely robust... +BMFontLine::BMFontLine(const std::string &line) +{ + // The tag name should always be at the start of the line. + tag = line.substr(0, line.find(' ')); + + size_t startpos = 0; + + while (startpos < line.length()) + { + // Find the next '=', which indicates a key-value pair. + size_t fpos = line.find('=', startpos); + if (fpos == std::string::npos || fpos + 1 >= line.length()) + break; + + // The key should be between a space character and the '='. + size_t keystart = line.rfind(' ', fpos); + if (keystart == std::string::npos) + break; + + keystart++; + + std::string key = line.substr(keystart, fpos - keystart); + + size_t valstart = fpos + 1; + size_t valend = valstart + 1; + + if (line[valstart] == '"') + { + // Values can be surrounded by quotes (a literal string.) + valstart++; + valend = line.find('"', valstart) - 1; + } + else + { + // Otherwise look for the next space character after the '='. + valend = line.find(' ', valstart + 1) - 1; + } + + valend = std::min(valend, line.length() - 1); + + attributes[key] = line.substr(valstart, valend - valstart + 1); + + startpos = valend + 1; + } +} + +int BMFontLine::getAttributeInt(const char *name) const +{ + auto it = attributes.find(name); + if (it == attributes.end()) + return 0; + + return (int) strtol(it->second.c_str(), nullptr, 10); +} + +std::string BMFontLine::getAttributeString(const char *name) const +{ + auto it = attributes.find(name); + if (it == attributes.end()) + return ""; + + return it->second; +} + +} // anonymous namespace + + +BMFontRasterizer::BMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector &imagelist) + : fontSize(0) + , unicode(false) + , lineHeight(0) +{ + const std::string &filename = fontdef->getFilename(); + + size_t separatorpos = filename.rfind('/'); + if (separatorpos != std::string::npos) + fontFolder = filename.substr(0, separatorpos); + + // The parseConfig function will try to load any missing page images. + for (int i = 0; i < (int) imagelist.size(); i++) + images[i] = imagelist[i]; + + std::string configtext((const char *) fontdef->getData(), fontdef->getSize()); + + parseConfig(configtext); +} + +BMFontRasterizer::~BMFontRasterizer() +{ +} + +void BMFontRasterizer::parseConfig(const std::string &configtext) +{ + std::stringstream ss(configtext); + std::string line; + + while (std::getline(ss, line)) + { + BMFontLine cline(line); + + const std::string &tag = cline.getTag(); + + if (tag == "info") + { + fontSize = cline.getAttributeInt("size"); + unicode = cline.getAttributeInt("unicode") > 0; + } + else if (tag == "common") + { + lineHeight = cline.getAttributeInt("lineHeight"); + metrics.ascent = cline.getAttributeInt("base"); + } + else if (tag == "page") + { + int pageindex = cline.getAttributeInt("id"); + std::string filename = cline.getAttributeString("file"); + + // The file name is relative to the font file's folder. + if (!fontFolder.empty()) + filename = fontFolder + "/" + filename; + + // Load the page file from disk into an ImageData, if necessary. + if (images[pageindex].get() == nullptr) + { + using namespace love::filesystem; + + Filesystem *filesystem = Module::getInstance(Module::M_FILESYSTEM); + image::Image *imagemodule = Module::getInstance(Module::M_IMAGE); + + if (!filesystem) + throw love::Exception("Filesystem module not loaded!"); + if (!imagemodule) + throw love::Exception("Image module not loaded!"); + + // Release these variables right away since StrongRef retains. + StrongRef data = filesystem->read(filename.c_str()); + data->release(); + + images[pageindex].set(imagemodule->newImageData(data.get())); + images[pageindex]->release(); + } + } + else if (tag == "char") + { + BMFontCharacter c = {}; + + uint32 id = (uint32) cline.getAttributeInt("id"); + + c.x = cline.getAttributeInt("x"); + c.y = cline.getAttributeInt("y"); + c.page = cline.getAttributeInt("page"); + + c.metrics.width = cline.getAttributeInt("width"); + c.metrics.height = cline.getAttributeInt("height"); + c.metrics.bearingX = cline.getAttributeInt("xoffset"); + c.metrics.bearingY = -cline.getAttributeInt("yoffset"); + c.metrics.advance = cline.getAttributeInt("xadvance"); + + characters[id] = c; + } + else if (tag == "kerning") + { + // TODO + } + } + + if (characters.size() == 0) + throw love::Exception("Invalid BMFont file (no character definitions?)"); + + // Try to guess the line height if the lineheight attribute isn't found. + bool guessheight = lineHeight == 0; + + // Verify the glyph character attributes. + for (const auto &cpair : characters) + { + const BMFontCharacter &c = cpair.second; + + if (!unicode && cpair.first > 127) + throw love::Exception("Invalid BMFont character id (only unicode and ASCII are supported)"); + + if (c.page < 0 || images[c.page].get() == nullptr) + throw love::Exception("Invalid BMFont character page id: %d", c.page); + + const image::ImageData *id = images[c.page].get(); + + if (!id->inside(c.x, c.y) || !id->inside(c.x + c.metrics.width - 1, c.y + c.metrics.height - 1)) + throw love::Exception("Invalid BMFont character coordinates."); + + if (guessheight) + lineHeight = std::max(lineHeight, c.metrics.height); + } + + metrics.height = lineHeight; +} + +int BMFontRasterizer::getLineHeight() const +{ + return lineHeight; +} + +GlyphData *BMFontRasterizer::getGlyphData(uint32 glyph) const +{ + auto it = characters.find(glyph); + + // Return an empty GlyphData if we don't have the glyph character. + if (it == characters.end()) + return new GlyphData(glyph, GlyphMetrics(), GlyphData::FORMAT_RGBA); + + const BMFontCharacter &c = it->second; + GlyphData *g = new GlyphData(glyph, c.metrics, GlyphData::FORMAT_RGBA); + + const auto &imagepair = images.find(c.page); + + if (imagepair == images.end()) + { + g->release(); + return new GlyphData(glyph, GlyphMetrics(), GlyphData::FORMAT_RGBA); + } + + image::ImageData *imagedata = imagepair->second.get(); + image::pixel *pixels = (image::pixel *) g->getData(); + const image::pixel *ipixels = (const image::pixel *) imagedata->getData(); + + love::thread::Lock lock(imagedata->getMutex()); + + // Copy the subsection of the texture from the ImageData to the GlyphData. + for (int y = 0; y < c.metrics.height; y++) + { + size_t idindex = (c.y + y) * imagedata->getWidth() + c.x; + memcpy(&pixels[y * c.metrics.width], &ipixels[idindex], sizeof(image::pixel) * c.metrics.width); + } + + return g; +} + +int BMFontRasterizer::getGlyphCount() const +{ + return (int) characters.size(); +} + +bool BMFontRasterizer::hasGlyph(uint32 glyph) const +{ + return characters.find(glyph) != characters.end(); +} + +bool BMFontRasterizer::accepts(love::filesystem::FileData *fontdef) +{ + const char *data = (const char *) fontdef->getData(); + + // Check if the "info" tag is at the start of the file. This is a truly + // crappy test. Is the tag even guaranteed to be at the start? + return fontdef->getSize() > 4 && memcmp(data, "info", 4) == 0; +} + +} // font +} // love diff --git a/src/modules/font/BMFontRasterizer.h b/src/modules/font/BMFontRasterizer.h new file mode 100644 index 000000000..1901108be --- /dev/null +++ b/src/modules/font/BMFontRasterizer.h @@ -0,0 +1,86 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_FONT_BMFONT_RASTERIZER_H +#define LOVE_FONT_BMFONT_RASTERIZER_H + +// LOVE +#include "common/config.h" +#include "Rasterizer.h" +#include "image/ImageData.h" + +// C++ +#include +#include + +namespace love +{ +namespace font +{ + +/** + * Rasterizer for BMFont bitmap fonts. + **/ +class BMFontRasterizer : public Rasterizer +{ +public: + + BMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector &imagelist); + virtual ~BMFontRasterizer(); + + // Implements Rasterizer. + int getLineHeight() const override; + GlyphData *getGlyphData(uint32 glyph) const override; + int getGlyphCount() const override; + bool hasGlyph(uint32 glyph) const override; + + static bool accepts(love::filesystem::FileData *fontdef); + +private: + + struct BMFontCharacter + { + int x; + int y; + int page; + GlyphMetrics metrics; + }; + + void parseConfig(const std::string &config); + + std::string fontFolder; + + // Image pages, indexed by their page id. + std::map> images; + + // Glyph characters, indexed by their glyph id. + std::map characters; + + int fontSize; + bool unicode; + + int lineHeight; + +}; // BMFontRasterizer + +} // font +} // love + +#endif // LOVE_FONT_BMFONT_RASTERIZER_H diff --git a/src/modules/font/Font.cpp b/src/modules/font/Font.cpp new file mode 100644 index 000000000..fe22d903c --- /dev/null +++ b/src/modules/font/Font.cpp @@ -0,0 +1,106 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "Font.h" +#include "BMFontRasterizer.h" +#include "ImageRasterizer.h" + +#include "libraries/utf8/utf8.h" + +namespace love +{ +namespace font +{ + +// Default TrueType font. +#include "Vera.ttf.h" + +class DefaultFontData : public love::Data +{ +public: + + virtual void *getData() const { return Vera_ttf; } + virtual size_t getSize() const { return sizeof(Vera_ttf); } + +}; + +Rasterizer *Font::newTrueTypeRasterizer(int size) +{ + StrongRef data(new DefaultFontData); + data->release(); + + return newTrueTypeRasterizer(data.get(), size); +} + +Rasterizer *Font::newBMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector &images) +{ + return new BMFontRasterizer(fontdef, images); +} + +Rasterizer *Font::newImageRasterizer(love::image::ImageData *data, const std::string &text) +{ + std::vector glyphs; + glyphs.reserve(text.size()); + + try + { + utf8::iterator i(text.begin(), text.begin(), text.end()); + utf8::iterator end(text.end(), text.begin(), text.end()); + + while (i != end) + glyphs.push_back(*i++); + } + catch (utf8::exception &e) + { + throw love::Exception("UTF-8 decoding error: %s", e.what()); + } + + return newImageRasterizer(data, &glyphs[0], (int) glyphs.size()); +} + +Rasterizer *Font::newImageRasterizer(love::image::ImageData *data, uint32 *glyphs, int numglyphs) +{ + return new ImageRasterizer(data, glyphs, numglyphs); +} + +GlyphData *Font::newGlyphData(Rasterizer *r, const std::string &text) +{ + uint32 codepoint = 0; + + try + { + codepoint = utf8::peek_next(text.begin(), text.end()); + } + catch (utf8::exception &e) + { + throw love::Exception("UTF-8 decoding error: %s", e.what()); + } + + return r->getGlyphData(codepoint); +} + +GlyphData *Font::newGlyphData(Rasterizer *r, uint32 glyph) +{ + return r->getGlyphData(glyph); +} + +} // font +} // love diff --git a/src/modules/font/Font.h b/src/modules/font/Font.h index 7cfd474fc..cfbd135c2 100644 --- a/src/modules/font/Font.h +++ b/src/modules/font/Font.h @@ -24,11 +24,13 @@ // LOVE #include "Rasterizer.h" #include "image/ImageData.h" +#include "filesystem/FileData.h" #include "common/Module.h" #include "common/int.h" -// STD +// C++ #include +#include namespace love { @@ -42,17 +44,21 @@ public: virtual ~Font() {} - // Implements Module. + virtual Rasterizer *newRasterizer(love::filesystem::FileData *data) = 0; + + virtual Rasterizer *newTrueTypeRasterizer(int size); + virtual Rasterizer *newTrueTypeRasterizer(love::Data *data, int size) = 0; + + virtual Rasterizer *newBMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector &images); + + virtual Rasterizer *newImageRasterizer(love::image::ImageData *data, const std::string &glyphs); + virtual Rasterizer *newImageRasterizer(love::image::ImageData *data, uint32 *glyphs, int length); + + virtual GlyphData *newGlyphData(Rasterizer *r, const std::string &glyph); + virtual GlyphData *newGlyphData(Rasterizer *r, uint32 glyph); + + // Implement Module. virtual ModuleType getModuleType() const { return M_FONT; } - - virtual Rasterizer *newRasterizer(int size) = 0; - virtual Rasterizer *newRasterizer(Data *data, int size) = 0; - virtual Rasterizer *newRasterizer(love::image::ImageData *data, const std::string &glyphs) = 0; - virtual Rasterizer *newRasterizer(love::image::ImageData *data, uint32 *glyphs, int length) = 0; - virtual GlyphData *newGlyphData(Rasterizer *r, const std::string &glyph) = 0; - virtual GlyphData *newGlyphData(Rasterizer *r, uint32 glyph) = 0; - - // Implement Module virtual const char *getName() const = 0; }; // Font diff --git a/src/modules/font/GlyphData.cpp b/src/modules/font/GlyphData.cpp index b507e8405..809d0aee9 100644 --- a/src/modules/font/GlyphData.cpp +++ b/src/modules/font/GlyphData.cpp @@ -168,7 +168,7 @@ bool GlyphData::getConstant(GlyphData::Format in, const char *&out) StringMap::Entry GlyphData::formatEntries[] = { - {"luminance alpha", GlyphData::FORMAT_LUMINANCE_ALPHA}, + {"luminancealpha", GlyphData::FORMAT_LUMINANCE_ALPHA}, {"rgba", GlyphData::FORMAT_RGBA}, }; diff --git a/src/modules/font/ImageRasterizer.cpp b/src/modules/font/ImageRasterizer.cpp index 410218fda..99e43dcf7 100644 --- a/src/modules/font/ImageRasterizer.cpp +++ b/src/modules/font/ImageRasterizer.cpp @@ -53,15 +53,14 @@ int ImageRasterizer::getLineHeight() const GlyphData *ImageRasterizer::getGlyphData(uint32 glyph) const { - GlyphMetrics gm; - memset(&gm, 0, sizeof(GlyphMetrics)); + GlyphMetrics gm = {}; // Set relevant glyph metrics if the glyph is in this ImageFont std::map::const_iterator it = imageGlyphs.find(glyph); if (it != imageGlyphs.end()) { gm.width = it->second.width; - gm.advance = it->second.width + it->second.spacing; + gm.advance = it->second.width; } gm.height = metrics.height; @@ -119,10 +118,6 @@ void ImageRasterizer::load() while (start < imgw && equal(pixels[start], spacer)) ++start; - // set previous glyph's spacing - if (i > 0 && imageGlyphs.size() > 0) - imageGlyphs[glyphs[i - 1]].spacing = (start > end) ? (start - end) : 0; - end = start; // Find where glyph ends. @@ -138,16 +133,6 @@ void ImageRasterizer::load() imageGlyphs[glyphs[i]] = imageGlyph; } - - // Find spacing of last glyph - if (numglyphs > 0) - { - start = end; - while (start < imgw && equal(pixels[start], spacer)) - ++start; - - imageGlyphs[glyphs[numglyphs - 1]].spacing = (start > end) ? (start - end) : 0; - } } int ImageRasterizer::getGlyphCount() const diff --git a/src/modules/font/ImageRasterizer.h b/src/modules/font/ImageRasterizer.h index a3c2ef0b8..090efab75 100644 --- a/src/modules/font/ImageRasterizer.h +++ b/src/modules/font/ImageRasterizer.h @@ -66,7 +66,6 @@ private: { int x; int width; - int spacing; }; std::map imageGlyphs; diff --git a/src/modules/font/freetype/Font.cpp b/src/modules/font/freetype/Font.cpp index 25b49aae0..0498e3e51 100644 --- a/src/modules/font/freetype/Font.cpp +++ b/src/modules/font/freetype/Font.cpp @@ -21,9 +21,7 @@ #include "Font.h" #include "TrueTypeRasterizer.h" -#include "font/ImageRasterizer.h" - -#include "libraries/utf8/utf8.h" +#include "font/BMFontRasterizer.h" #include @@ -34,9 +32,6 @@ namespace font namespace freetype { -// Default TrueType font. -#include "font/Vera.ttf.h" - Font::Font() { if (FT_Init_FreeType(&library)) @@ -48,74 +43,21 @@ Font::~Font() FT_Done_FreeType(library); } -Rasterizer *Font::newRasterizer(int size) +Rasterizer *Font::newRasterizer(love::filesystem::FileData *data) { - StrongRef data(new filesystem::FileData(sizeof(Vera_ttf), "Vera.ttf")); - data->release(); + if (TrueTypeRasterizer::accepts(library, data)) + return newTrueTypeRasterizer(data, 12); + else if (BMFontRasterizer::accepts(data)) + return newBMFontRasterizer(data, {}); - memcpy(data->getData(), Vera_ttf, sizeof(Vera_ttf)); - - return new TrueTypeRasterizer(library, data.get(), size); + throw love::Exception("Invalid font file: %s", data->getFilename().c_str()); } -Rasterizer *Font::newRasterizer(Data *data, int size) +Rasterizer *Font::newTrueTypeRasterizer(love::Data *data, int size) { return new TrueTypeRasterizer(library, data, size); } -Rasterizer *Font::newRasterizer(love::image::ImageData *data, const std::string &text) -{ - size_t strlen = text.size(); - size_t numglyphs = 0; - - uint32 *glyphs = new uint32[strlen]; - - try - { - utf8::iterator i(text.begin(), text.begin(), text.end()); - utf8::iterator end(text.end(), text.begin(), text.end()); - - while (i != end) - glyphs[numglyphs++] = *i++; - } - catch (utf8::exception &e) - { - delete [] glyphs; - throw love::Exception("UTF-8 decoding error: %s", e.what()); - } - - Rasterizer *r = newRasterizer(data, glyphs, numglyphs); - delete [] glyphs; - - return r; -} - -Rasterizer *Font::newRasterizer(love::image::ImageData *data, uint32 *glyphs, int numglyphs) -{ - return new ImageRasterizer(data, glyphs, numglyphs); -} - -GlyphData *Font::newGlyphData(Rasterizer *r, const std::string &text) -{ - uint32 codepoint = 0; - - try - { - codepoint = utf8::peek_next(text.begin(), text.end()); - } - catch (utf8::exception &e) - { - throw love::Exception("UTF-8 decoding error: %s", e.what()); - } - - return r->getGlyphData(codepoint); -} - -GlyphData *Font::newGlyphData(Rasterizer *r, uint32 glyph) -{ - return r->getGlyphData(glyph); -} - const char *Font::getName() const { return "love.font.freetype"; diff --git a/src/modules/font/freetype/Font.h b/src/modules/font/freetype/Font.h index 6b2140287..097ef4176 100644 --- a/src/modules/font/freetype/Font.h +++ b/src/modules/font/freetype/Font.h @@ -25,11 +25,7 @@ #include "font/Font.h" // FreeType2 -#ifdef LOVE_MACOSX_USE_FRAMEWORKS -#include -#else #include -#endif #include FT_FREETYPE_H #include FT_GLYPH_H @@ -45,19 +41,11 @@ class Font : public love::font::Font public: Font(); - - /** - * Destructor. - **/ virtual ~Font(); // Implements Font - Rasterizer *newRasterizer(int size); - Rasterizer *newRasterizer(Data *data, int size); - Rasterizer *newRasterizer(love::image::ImageData *data, const std::string &text); - Rasterizer *newRasterizer(love::image::ImageData *data, uint32 *glyphs, int numglyphs); - GlyphData *newGlyphData(Rasterizer *r, const std::string &glyph); - GlyphData *newGlyphData(Rasterizer *r, uint32 glyph); + Rasterizer *newRasterizer(love::filesystem::FileData *data); + Rasterizer *newTrueTypeRasterizer(love::Data *data, int size); // Implement Module const char *getName() const; @@ -66,6 +54,7 @@ private: // FreeType library FT_Library library; + }; // Font } // freetype diff --git a/src/modules/font/freetype/TrueTypeRasterizer.cpp b/src/modules/font/freetype/TrueTypeRasterizer.cpp index 81c21699b..6bd1abeb6 100644 --- a/src/modules/font/freetype/TrueTypeRasterizer.cpp +++ b/src/modules/font/freetype/TrueTypeRasterizer.cpp @@ -30,7 +30,7 @@ namespace font namespace freetype { -TrueTypeRasterizer::TrueTypeRasterizer(FT_Library library, Data *data, int size) +TrueTypeRasterizer::TrueTypeRasterizer(FT_Library library, love::Data *data, int size) : data(data) { if (size <= 0) @@ -53,10 +53,10 @@ TrueTypeRasterizer::TrueTypeRasterizer(FT_Library library, Data *data, int size) // Set global metrics FT_Size_Metrics s = face->size->metrics; - metrics.advance = s.max_advance >> 6; - metrics.ascent = s.ascender >> 6; - metrics.descent = s.descender >> 6; - metrics.height = s.height >> 6; + metrics.advance = (int) (s.max_advance >> 6); + metrics.ascent = (int) (s.ascender >> 6); + metrics.descent = (int) (s.descender >> 6); + metrics.height = (int) (s.height >> 6); } TrueTypeRasterizer::~TrueTypeRasterizer() @@ -100,7 +100,7 @@ GlyphData *TrueTypeRasterizer::getGlyphData(uint32 glyph) const glyphMetrics.bearingY = bitmap_glyph->top; glyphMetrics.height = bitmap.rows; glyphMetrics.width = bitmap.width; - glyphMetrics.advance = ftglyph->advance.x >> 16; + glyphMetrics.advance = (int) (ftglyph->advance.x >> 16); GlyphData *glyphData = new GlyphData(glyph, glyphMetrics, GlyphData::FORMAT_LUMINANCE_ALPHA); @@ -151,7 +151,7 @@ GlyphData *TrueTypeRasterizer::getGlyphData(uint32 glyph) const int TrueTypeRasterizer::getGlyphCount() const { - return face->num_glyphs; + return (int) face->num_glyphs; } bool TrueTypeRasterizer::hasGlyph(uint32 glyph) const @@ -159,6 +159,15 @@ bool TrueTypeRasterizer::hasGlyph(uint32 glyph) const return FT_Get_Char_Index(face, glyph) != 0; } +bool TrueTypeRasterizer::accepts(FT_Library library, love::Data *data) +{ + const FT_Byte *fbase = (const FT_Byte *) data->getData(); + FT_Long fsize = (FT_Long) data->getSize(); + + // Pasing in -1 for the face index lets us test if the data is valid. + return FT_New_Memory_Face(library, fbase, fsize, -1, nullptr) == 0; +} + } // freetype } // font } // love diff --git a/src/modules/font/freetype/TrueTypeRasterizer.h b/src/modules/font/freetype/TrueTypeRasterizer.h index be545702b..8f1668784 100644 --- a/src/modules/font/freetype/TrueTypeRasterizer.h +++ b/src/modules/font/freetype/TrueTypeRasterizer.h @@ -22,10 +22,10 @@ #define LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H // LOVE -#include "filesystem/File.h" +#include "filesystem/FileData.h" #include "font/Rasterizer.h" -// TrueType2 +// FreeType2 #include #include FT_FREETYPE_H #include FT_GLYPH_H @@ -43,7 +43,8 @@ namespace freetype class TrueTypeRasterizer : public Rasterizer { public: - TrueTypeRasterizer(FT_Library library, Data *data, int size); + + TrueTypeRasterizer(FT_Library library, love::Data *data, int size); virtual ~TrueTypeRasterizer(); // Implement Rasterizer @@ -52,14 +53,17 @@ public: virtual int getGlyphCount() const; virtual bool hasGlyph(uint32 glyph) const; + static bool accepts(FT_Library library, love::Data *data); + private: // TrueType face FT_Face face; - // File data - StrongRef data; -}; // FreetypeRasterizer + // Font data + StrongRef data; + +}; // TrueTypeRasterizer } // freetype } // font diff --git a/src/modules/font/freetype/wrap_Font.cpp b/src/modules/font/freetype/wrap_Font.cpp deleted file mode 100644 index 2d88cb2c8..000000000 --- a/src/modules/font/freetype/wrap_Font.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/** - * Copyright (c) 2006-2015 LOVE Development Team - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - **/ - -#include "wrap_Font.h" - -#include "Font.h" - -#include "font/wrap_GlyphData.h" -#include "font/wrap_Rasterizer.h" - -#include "filesystem/wrap_Filesystem.h" - -#include "TrueTypeRasterizer.h" - -namespace love -{ -namespace font -{ -namespace freetype -{ - -#define instance() (Module::getInstance(Module::M_FONT)) - -int w_newRasterizer(lua_State *L) -{ - Rasterizer *t = nullptr; - - if (luax_istype(L, 1, IMAGE_IMAGE_DATA_T)) - { - love::image::ImageData *d = luax_checktype(L, 1, "ImageData", IMAGE_IMAGE_DATA_T); - const char *g = luaL_checkstring(L, 2); - std::string glyphs(g); - luax_catchexcept(L, [&](){ t = instance()->newRasterizer(d, glyphs); }); - } - else if (lua_type(L, 1) == LUA_TSTRING || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) - { - love::filesystem::FileData *d = love::filesystem::luax_getfiledata(L, 1); - int size = luaL_optint(L, 2, 12); - luax_catchexcept(L, - [&]() { t = instance()->newRasterizer(d, size); }, - [&]() { d->release(); } - ); - } - else - { - // Default font (Vera.) - int size = luaL_optint(L, 1, 12); - luax_catchexcept(L, [&]() { t = instance()->newRasterizer(size); }); - } - - luax_pushtype(L, "Rasterizer", FONT_RASTERIZER_T, t); - t->release(); - return 1; -} - -int w_newGlyphData(lua_State *L) -{ - Rasterizer *r = luax_checkrasterizer(L, 1); - GlyphData *t = nullptr; - - // newGlyphData accepts a unicode character or a codepoint number. - if (lua_type(L, 2) == LUA_TSTRING) - { - std::string glyph = luax_checkstring(L, 2); - luax_catchexcept(L, [&](){ t = instance()->newGlyphData(r, glyph); }); - } - else - { - uint32 g = (uint32) luaL_checknumber(L, 2); - t = instance()->newGlyphData(r, g); - } - - luax_pushtype(L, "GlyphData", FONT_GLYPH_DATA_T, t); - t->release(); - return 1; -} - -// List of functions to wrap. -static const luaL_Reg functions[] = -{ - { "newRasterizer", w_newRasterizer }, - { "newGlyphData", w_newGlyphData }, - { 0, 0 } -}; - -static const lua_CFunction types[] = -{ - luaopen_glyphdata, - luaopen_rasterizer, - 0 -}; - -extern "C" int luaopen_love_font(lua_State *L) -{ - Font *instance = instance(); - if (instance == nullptr) - { - luax_catchexcept(L, [&](){ instance = new Font(); }); - } - else - instance->retain(); - - WrappedModule w; - w.module = instance; - w.name = "font"; - w.flags = MODULE_T; - w.functions = functions; - w.types = types; - - return luax_register_module(L, w); -} - -} // freetype -} // font -} // love diff --git a/src/modules/font/wrap_Font.cpp b/src/modules/font/wrap_Font.cpp new file mode 100644 index 000000000..25c398444 --- /dev/null +++ b/src/modules/font/wrap_Font.cpp @@ -0,0 +1,228 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "wrap_Font.h" + +#include "Font.h" +#include "freetype/Font.h" + +#include "wrap_GlyphData.h" +#include "wrap_Rasterizer.h" + +#include "filesystem/wrap_Filesystem.h" + +namespace love +{ +namespace font +{ + +#define instance() (Module::getInstance(Module::M_FONT)) + +int w_newRasterizer(lua_State *L) +{ + if (lua_isnoneornil(L, 2)) + { + // Single number argument: use the default TrueType font. + if (lua_type(L, 1) == LUA_TNUMBER) + return w_newTrueTypeRasterizer(L); + + // Single argument of another type: call Font::newRasterizer. + Rasterizer *t = nullptr; + filesystem::FileData *d = filesystem::luax_getfiledata(L, 1); + + luax_catchexcept(L, + [&]() { t = instance()->newRasterizer(d); }, + [&]() { d->release(); } + ); + + luax_pushtype(L, FONT_RASTERIZER_ID, t); + t->release(); + return 1; + } + else if (lua_type(L, 2) == LUA_TNUMBER) + { + // Second argument is a number: call newTrueTypeRasterizer. + return w_newTrueTypeRasterizer(L); + } + else + { + // Otherwise call newBMFontRasterizer. + return w_newBMFontRasterizer(L); + } +} + +int w_newTrueTypeRasterizer(lua_State *L) +{ + Rasterizer *t = nullptr; + + if (lua_type(L, 1) == LUA_TNUMBER) + { + // First argument is a number: use the default TrueType font. + int size = luaL_checkint(L, 1); + luax_catchexcept(L, [&](){ t = instance()->newTrueTypeRasterizer(size); }); + } + else + { + love::Data *d = nullptr; + + if (luax_istype(L, 1, DATA_ID)) + d = luax_checkdata(L, 1); + else + d = filesystem::luax_getfiledata(L, 1); + + int size = luaL_optint(L, 2, 12); + + luax_catchexcept(L, + [&]() { t = instance()->newTrueTypeRasterizer(d, size); }, + [&]() { d->release(); } + ); + } + + luax_pushtype(L, FONT_RASTERIZER_ID, t); + t->release(); + return 1; +} + +static void convimagedata(lua_State *L, int idx) +{ + if (lua_isstring(L, idx) || luax_istype(L, idx, FILESYSTEM_FILE_ID) || luax_istype(L, idx, FILESYSTEM_FILE_DATA_ID)) + luax_convobj(L, idx, "image", "newImageData"); +} + +int w_newBMFontRasterizer(lua_State *L) +{ + Rasterizer *t = nullptr; + + filesystem::FileData *d = filesystem::luax_getfiledata(L, 1); + std::vector images; + + if (lua_istable(L, 2)) + { + for (int i = 1; i <= (int) lua_objlen(L, 2); i++) + { + lua_rawgeti(L, 2, i); + + convimagedata(L, -1); + image::ImageData *id = luax_checktype(L, -1, IMAGE_IMAGE_DATA_ID); + images.push_back(id); + id->retain(); + + lua_pop(L, 1); + } + } + else + { + for (int i = 2; i <= lua_gettop(L); i++) + { + convimagedata(L, i); + image::ImageData *id = luax_checktype(L, i, IMAGE_IMAGE_DATA_ID); + images.push_back(id); + id->retain(); + } + } + + luax_catchexcept(L, + [&]() { t = instance()->newBMFontRasterizer(d, images); }, + [&]() { d->release(); for (auto id : images) id->release(); } + ); + + luax_pushtype(L, FONT_RASTERIZER_ID, t); + t->release(); + return 1; +} + +int w_newImageRasterizer(lua_State *L) +{ + Rasterizer *t = nullptr; + + convimagedata(L, 1); + + image::ImageData *d = luax_checktype(L, 1, IMAGE_IMAGE_DATA_ID); + std::string glyphs = luax_checkstring(L, 2); + + luax_catchexcept(L, [&](){ t = instance()->newImageRasterizer(d, glyphs); }); + + luax_pushtype(L, FONT_RASTERIZER_ID, t); + t->release(); + return 1; +} + +int w_newGlyphData(lua_State *L) +{ + Rasterizer *r = luax_checkrasterizer(L, 1); + GlyphData *t = nullptr; + + // newGlyphData accepts a unicode character or a codepoint number. + if (lua_type(L, 2) == LUA_TSTRING) + { + std::string glyph = luax_checkstring(L, 2); + luax_catchexcept(L, [&](){ t = instance()->newGlyphData(r, glyph); }); + } + else + { + uint32 g = (uint32) luaL_checknumber(L, 2); + t = instance()->newGlyphData(r, g); + } + + luax_pushtype(L, FONT_GLYPH_DATA_ID, t); + t->release(); + return 1; +} + +// List of functions to wrap. +static const luaL_Reg functions[] = +{ + { "newRasterizer", w_newRasterizer }, + { "newTrueTypeRasterizer", w_newTrueTypeRasterizer }, + { "newBMFontRasterizer", w_newBMFontRasterizer }, + { "newImageRasterizer", w_newImageRasterizer }, + { "newGlyphData", w_newGlyphData }, + { 0, 0 } +}; + +static const lua_CFunction types[] = +{ + luaopen_glyphdata, + luaopen_rasterizer, + 0 +}; + +extern "C" int luaopen_love_font(lua_State *L) +{ + Font *instance = instance(); + if (instance == nullptr) + { + luax_catchexcept(L, [&](){ instance = new freetype::Font(); }); + } + else + instance->retain(); + + WrappedModule w; + w.module = instance; + w.name = "font"; + w.type = MODULE_ID; + w.functions = functions; + w.types = types; + + return luax_register_module(L, w); +} + +} // font +} // love diff --git a/src/modules/font/freetype/wrap_Font.h b/src/modules/font/wrap_Font.h similarity index 84% rename from src/modules/font/freetype/wrap_Font.h rename to src/modules/font/wrap_Font.h index d5af7efb8..34b64e5fd 100644 --- a/src/modules/font/freetype/wrap_Font.h +++ b/src/modules/font/wrap_Font.h @@ -18,8 +18,8 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_FONT_FREETYPE_WRAP_FONT_H -#define LOVE_FONT_FREETYPE_WRAP_FONT_H +#ifndef LOVE_FONT_WRAP_FONT_H +#define LOVE_FONT_WRAP_FONT_H // LOVE #include "common/config.h" @@ -29,15 +29,15 @@ namespace love { namespace font { -namespace freetype -{ int w_newRasterizer(lua_State *L); +int w_newTrueTypeRasterizer(lua_State *L); +int w_newBMFontRasterizer(lua_State *L); +int w_newImageRasterizer(lua_State *L); int w_newGlyphData(lua_State *L); extern "C" LOVE_EXPORT int luaopen_love_font(lua_State *L); -} // freetype } // font } // love -#endif // LOVE_FONT_FREETYPE_WRAP_FONT_H +#endif // LOVE_FONT_WRAP_FONT_H diff --git a/src/modules/font/wrap_GlyphData.cpp b/src/modules/font/wrap_GlyphData.cpp index d38e5d967..a1a48d603 100644 --- a/src/modules/font/wrap_GlyphData.cpp +++ b/src/modules/font/wrap_GlyphData.cpp @@ -27,7 +27,7 @@ namespace font GlyphData *luax_checkglyphdata(lua_State *L, int idx) { - return luax_checktype(L, idx, "GlyphData", FONT_GLYPH_DATA_T); + return luax_checktype(L, idx, FONT_GLYPH_DATA_ID); } int w_GlyphData_getWidth(lua_State *L) @@ -136,7 +136,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_glyphdata(lua_State *L) { - return luax_register_type(L, "GlyphData", functions); + return luax_register_type(L, FONT_GLYPH_DATA_ID, functions); } } // font diff --git a/src/modules/font/wrap_Rasterizer.cpp b/src/modules/font/wrap_Rasterizer.cpp index 0ba4285a7..59a934954 100644 --- a/src/modules/font/wrap_Rasterizer.cpp +++ b/src/modules/font/wrap_Rasterizer.cpp @@ -29,7 +29,7 @@ namespace font Rasterizer *luax_checkrasterizer(lua_State *L, int idx) { - return luax_checktype(L, idx, "Rasterizer", FONT_RASTERIZER_T); + return luax_checktype(L, idx, FONT_RASTERIZER_ID); } int w_Rasterizer_getHeight(lua_State *L) @@ -86,7 +86,7 @@ int w_Rasterizer_getGlyphData(lua_State *L) } }); - luax_pushtype(L, "GlyphData", FONT_GLYPH_DATA_T, g); + luax_pushtype(L, FONT_GLYPH_DATA_ID, g); g->release(); return 1; } @@ -139,7 +139,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_rasterizer(lua_State *L) { - return luax_register_type(L, "Rasterizer", functions); + return luax_register_type(L, FONT_RASTERIZER_ID, functions); } } // font diff --git a/src/modules/graphics/Graphics.cpp b/src/modules/graphics/Graphics.cpp index 3335f16de..7a4f9f738 100644 --- a/src/modules/graphics/Graphics.cpp +++ b/src/modules/graphics/Graphics.cpp @@ -34,27 +34,17 @@ bool Graphics::getConstant(const char *in, DrawMode &out) return drawModes.find(in, out); } -bool Graphics::getConstant(DrawMode in, const char *&out) +bool Graphics::getConstant(DrawMode in, const char *&out) { return drawModes.find(in, out); } -bool Graphics::getConstant(const char *in, AlignMode &out) -{ - return alignModes.find(in, out); -} - -bool Graphics::getConstant(AlignMode in, const char *&out) -{ - return alignModes.find(in, out); -} - bool Graphics::getConstant(const char *in, BlendMode &out) { return blendModes.find(in, out); } -bool Graphics::getConstant(BlendMode in, const char *&out) +bool Graphics::getConstant(BlendMode in, const char *&out) { return blendModes.find(in, out); } @@ -64,7 +54,7 @@ bool Graphics::getConstant(const char *in, LineStyle &out) return lineStyles.find(in, out); } -bool Graphics::getConstant(LineStyle in, const char *&out) +bool Graphics::getConstant(LineStyle in, const char *&out) { return lineStyles.find(in, out); } @@ -74,27 +64,17 @@ bool Graphics::getConstant(const char *in, LineJoin &out) return lineJoins.find(in, out); } -bool Graphics::getConstant(LineJoin in, const char *&out) +bool Graphics::getConstant(LineJoin in, const char *&out) { return lineJoins.find(in, out); } -bool Graphics::getConstant(const char *in, PointStyle &out) -{ - return pointStyles.find(in, out); -} - -bool Graphics::getConstant(PointStyle in, const char *&out) -{ - return pointStyles.find(in, out); -} - bool Graphics::getConstant(const char *in, Support &out) { return support.find(in, out); } -bool Graphics::getConstant(Support in, const char *&out) +bool Graphics::getConstant(Support in, const char *&out) { return support.find(in, out); } @@ -131,103 +111,77 @@ bool Graphics::getConstant(StatType in, const char *&out) StringMap::Entry Graphics::drawModeEntries[] = { - { "line", Graphics::DRAW_LINE }, - { "fill", Graphics::DRAW_FILL }, + { "line", DRAW_LINE }, + { "fill", DRAW_FILL }, }; StringMap Graphics::drawModes(Graphics::drawModeEntries, sizeof(Graphics::drawModeEntries)); -StringMap::Entry Graphics::alignModeEntries[] = -{ - { "left", Graphics::ALIGN_LEFT }, - { "right", Graphics::ALIGN_RIGHT }, - { "center", Graphics::ALIGN_CENTER }, - { "justify", Graphics::ALIGN_JUSTIFY }, -}; - -StringMap Graphics::alignModes(Graphics::alignModeEntries, sizeof(Graphics::alignModeEntries)); - StringMap::Entry Graphics::blendModeEntries[] = { - { "alpha", Graphics::BLEND_ALPHA }, - { "additive", Graphics::BLEND_ADDITIVE }, - { "subtractive", Graphics::BLEND_SUBTRACTIVE }, - { "multiplicative", Graphics::BLEND_MULTIPLICATIVE }, - { "premultiplied", Graphics::BLEND_PREMULTIPLIED }, - { "screen", Graphics::BLEND_SCREEN }, - { "replace", Graphics::BLEND_REPLACE }, + { "alpha", BLEND_ALPHA }, + { "add", BLEND_ADD }, + { "subtract", BLEND_SUBTRACT }, + { "multiply", BLEND_MULTIPLY }, + { "premultiplied", BLEND_PREMULTIPLIED }, + { "screen", BLEND_SCREEN }, + { "replace", BLEND_REPLACE }, }; StringMap Graphics::blendModes(Graphics::blendModeEntries, sizeof(Graphics::blendModeEntries)); StringMap::Entry Graphics::lineStyleEntries[] = { - { "smooth", Graphics::LINE_SMOOTH }, - { "rough", Graphics::LINE_ROUGH } + { "smooth", LINE_SMOOTH }, + { "rough", LINE_ROUGH } }; StringMap Graphics::lineStyles(Graphics::lineStyleEntries, sizeof(Graphics::lineStyleEntries)); StringMap::Entry Graphics::lineJoinEntries[] = { - { "none", Graphics::LINE_JOIN_NONE }, - { "miter", Graphics::LINE_JOIN_MITER }, - { "bevel", Graphics::LINE_JOIN_BEVEL } + { "none", LINE_JOIN_NONE }, + { "miter", LINE_JOIN_MITER }, + { "bevel", LINE_JOIN_BEVEL } }; StringMap Graphics::lineJoins(Graphics::lineJoinEntries, sizeof(Graphics::lineJoinEntries)); -StringMap::Entry Graphics::pointStyleEntries[] = -{ - { "smooth", Graphics::POINT_SMOOTH }, - { "rough", Graphics::POINT_ROUGH } -}; - -StringMap Graphics::pointStyles(Graphics::pointStyleEntries, sizeof(Graphics::pointStyleEntries)); - StringMap::Entry Graphics::supportEntries[] = { - { "canvas", Graphics::SUPPORT_CANVAS }, - { "hdrcanvas", Graphics::SUPPORT_HDR_CANVAS }, - { "multicanvas", Graphics::SUPPORT_MULTI_CANVAS }, - { "shader", Graphics::SUPPORT_SHADER }, - { "npot", Graphics::SUPPORT_NPOT }, - { "subtractive", Graphics::SUPPORT_SUBTRACTIVE }, - { "mipmap", Graphics::SUPPORT_MIPMAP }, - { "dxt", Graphics::SUPPORT_DXT }, - { "bc5", Graphics::SUPPORT_BC5 }, - { "srgb", Graphics::SUPPORT_SRGB }, + { "multicanvas", SUPPORT_MULTI_CANVAS }, + { "multicanvasformats", SUPPORT_MULTI_CANVAS_FORMATS }, + { "srgb", SUPPORT_SRGB }, }; StringMap Graphics::support(Graphics::supportEntries, sizeof(Graphics::supportEntries)); StringMap::Entry Graphics::systemLimitEntries[] = { - {"pointsize", Graphics::LIMIT_POINT_SIZE}, - {"texturesize", Graphics::LIMIT_TEXTURE_SIZE}, - {"multicanvas", Graphics::LIMIT_MULTI_CANVAS}, - {"canvasfsaa", Graphics::LIMIT_CANVAS_FSAA}, - {"canvasmsaa", Graphics::LIMIT_CANVAS_MSAA}, + { "pointsize", LIMIT_POINT_SIZE }, + { "texturesize", LIMIT_TEXTURE_SIZE }, + { "multicanvas", LIMIT_MULTI_CANVAS }, + { "canvasmsaa", LIMIT_CANVAS_MSAA }, }; StringMap Graphics::systemLimits(Graphics::systemLimitEntries, sizeof(Graphics::systemLimitEntries)); StringMap::Entry Graphics::stackTypeEntries[] = { - {"all", Graphics::STACK_ALL}, - {"transform", Graphics::STACK_TRANSFORM}, + { "all", STACK_ALL }, + { "transform", STACK_TRANSFORM }, }; StringMap Graphics::stackTypes(Graphics::stackTypeEntries, sizeof(Graphics::stackTypeEntries)); StringMap::Entry Graphics::statTypeEntries[] = { - {"drawcalls", Graphics::STAT_DRAW_CALLS}, - {"canvasswitches", Graphics::STAT_CANVAS_SWITCHES}, - {"canvases", Graphics::STAT_CANVASES}, - {"images", Graphics::STAT_IMAGES}, - {"fonts", Graphics::STAT_FONTS}, - {"texturememory", Graphics::STAT_TEXTURE_MEMORY}, + { "drawcalls", STAT_DRAW_CALLS }, + { "canvasswitches", STAT_CANVAS_SWITCHES }, + { "canvases", STAT_CANVASES }, + { "images", STAT_IMAGES }, + { "fonts", STAT_FONTS }, + { "texturememory", STAT_TEXTURE_MEMORY }, }; StringMap Graphics::statTypes(Graphics::statTypeEntries, sizeof(Graphics::statTypeEntries)); diff --git a/src/modules/graphics/Graphics.h b/src/modules/graphics/Graphics.h index a40bba16d..7777d06f8 100644 --- a/src/modules/graphics/Graphics.h +++ b/src/modules/graphics/Graphics.h @@ -44,21 +44,12 @@ public: DRAW_MAX_ENUM }; - enum AlignMode - { - ALIGN_LEFT, - ALIGN_CENTER, - ALIGN_RIGHT, - ALIGN_JUSTIFY, - ALIGN_MAX_ENUM - }; - enum BlendMode { BLEND_ALPHA, - BLEND_ADDITIVE, - BLEND_SUBTRACTIVE, - BLEND_MULTIPLICATIVE, + BLEND_ADD, + BLEND_SUBTRACT, + BLEND_MULTIPLY, BLEND_PREMULTIPLIED, BLEND_SCREEN, BLEND_REPLACE, @@ -80,34 +71,26 @@ public: LINE_JOIN_MAX_ENUM }; - enum PointStyle - { - POINT_ROUGH, - POINT_SMOOTH, - POINT_MAX_ENUM - }; - enum Support { - SUPPORT_CANVAS, - SUPPORT_HDR_CANVAS, SUPPORT_MULTI_CANVAS, - SUPPORT_SHADER, - SUPPORT_NPOT, - SUPPORT_SUBTRACTIVE, - SUPPORT_MIPMAP, - SUPPORT_DXT, - SUPPORT_BC5, + SUPPORT_MULTI_CANVAS_FORMATS, SUPPORT_SRGB, SUPPORT_MAX_ENUM }; + enum Renderer + { + RENDERER_OPENGL = 0, + RENDERER_OPENGLES, + RENDERER_MAX_ENUM + }; + enum SystemLimit { LIMIT_POINT_SIZE, LIMIT_TEXTURE_SIZE, LIMIT_MULTI_CANVAS, - LIMIT_CANVAS_FSAA, // For backward-compatibility. TODO: remove! LIMIT_CANVAS_MSAA, LIMIT_MAX_ENUM }; @@ -150,10 +133,7 @@ public: struct ColorMask { - bool r; - bool g; - bool b; - bool a; + bool r, g, b, a; bool operator == (const ColorMask &m) const { @@ -189,26 +169,34 @@ public: **/ virtual void unSetMode() = 0; - static bool getConstant(const char *in, DrawMode &out); - static bool getConstant(DrawMode in, const char *&out); + /** + * Sets whether the module is active (internal use only.) + **/ + virtual void setActive(bool active) = 0; - static bool getConstant(const char *in, AlignMode &out); - static bool getConstant(AlignMode in, const char *&out); + /** + * Gets whether the module is active. Graphics module methods are only + * guaranteed to work when it is active. Calling them otherwise may cause + * the program to crash (or worse.) + * Normally the module will always be active as long as a window exists, it + * may be different on some platforms (especially mobile ones.) + **/ + virtual bool isActive() const = 0; + + static bool getConstant(const char *in, DrawMode &out); + static bool getConstant(DrawMode in, const char *&out); static bool getConstant(const char *in, BlendMode &out); - static bool getConstant(BlendMode in, const char *&out); + static bool getConstant(BlendMode in, const char *&out); static bool getConstant(const char *in, LineStyle &out); - static bool getConstant(LineStyle in, const char *&out); + static bool getConstant(LineStyle in, const char *&out); static bool getConstant(const char *in, LineJoin &out); - static bool getConstant(LineJoin in, const char *&out); - - static bool getConstant(const char *in, PointStyle &out); - static bool getConstant(PointStyle in, const char *&out); + static bool getConstant(LineJoin in, const char *&out); static bool getConstant(const char *in, Support &out); - static bool getConstant(Support in, const char *&out); + static bool getConstant(Support in, const char *&out); static bool getConstant(const char *in, SystemLimit &out); static bool getConstant(SystemLimit in, const char *&out); @@ -224,9 +212,6 @@ private: static StringMap::Entry drawModeEntries[]; static StringMap drawModes; - static StringMap::Entry alignModeEntries[]; - static StringMap alignModes; - static StringMap::Entry blendModeEntries[]; static StringMap blendModes; @@ -236,9 +221,6 @@ private: static StringMap::Entry lineJoinEntries[]; static StringMap lineJoins; - static StringMap::Entry pointStyleEntries[]; - static StringMap pointStyles; - static StringMap::Entry supportEntries[]; static StringMap support; diff --git a/src/modules/graphics/Quad.cpp b/src/modules/graphics/Quad.cpp index 0eb60d1cc..d4aa80b2b 100644 --- a/src/modules/graphics/Quad.cpp +++ b/src/modules/graphics/Quad.cpp @@ -33,7 +33,7 @@ Quad::Quad(const Quad::Viewport &v, float sw, float sh) : sw(sw) , sh(sh) { - memset(vertices, 255, sizeof(Vertex) * NUM_VERTICES); + memset(vertices, 255, sizeof(Vertex) * 4); refresh(v, sw, sh); } @@ -45,23 +45,28 @@ void Quad::refresh(const Quad::Viewport &v, float sw, float sh) { viewport = v; - vertices[0].x = 0; - vertices[0].y = 0; - vertices[1].x = 0; + // Vertices are ordered for use with triangle strips: + // 0----2 + // | / | + // | / | + // 1----3 + vertices[0].x = 0.0f; + vertices[0].y = 0.0f; + vertices[1].x = 0.0f; vertices[1].y = v.h; vertices[2].x = v.w; - vertices[2].y = v.h; + vertices[2].y = 0.0f; vertices[3].x = v.w; - vertices[3].y = 0; + vertices[3].y = v.h; vertices[0].s = v.x/sw; vertices[0].t = v.y/sh; vertices[1].s = v.x/sw; vertices[1].t = (v.y+v.h)/sh; vertices[2].s = (v.x+v.w)/sw; - vertices[2].t = (v.y+v.h)/sh; + vertices[2].t = v.y/sh; vertices[3].s = (v.x+v.w)/sw; - vertices[3].t = v.y/sh; + vertices[3].t = (v.y+v.h)/sh; } void Quad::setViewport(const Quad::Viewport &v) diff --git a/src/modules/graphics/Quad.h b/src/modules/graphics/Quad.h index 99047513b..c146c97ec 100644 --- a/src/modules/graphics/Quad.h +++ b/src/modules/graphics/Quad.h @@ -40,8 +40,6 @@ public: float w, h; }; - static const size_t NUM_VERTICES = 4; - Quad(const Viewport &v, float sw, float sh); virtual ~Quad(); @@ -53,7 +51,7 @@ public: private: - Vertex vertices[NUM_VERTICES]; + Vertex vertices[4]; Viewport viewport; float sw; diff --git a/src/modules/graphics/Texture.cpp b/src/modules/graphics/Texture.cpp index 891a38004..d1e268dd7 100644 --- a/src/modules/graphics/Texture.cpp +++ b/src/modules/graphics/Texture.cpp @@ -27,20 +27,6 @@ namespace graphics Texture::Filter Texture::defaultFilter; -Texture::Filter::Filter() - : min(FILTER_LINEAR) - , mag(FILTER_LINEAR) - , mipmap(FILTER_NONE) - , anisotropy(1.0f) -{ -} - -Texture::Wrap::Wrap() - : s(WRAP_CLAMP) - , t(WRAP_CLAMP) -{ -} - Texture::Texture() : width(0) , height(0) @@ -89,6 +75,23 @@ const Texture::Filter &Texture::getDefaultFilter() return defaultFilter; } +bool Texture::validateFilter(const Filter &f, bool mipmapsAllowed) +{ + if (!mipmapsAllowed && f.mipmap != FILTER_NONE) + return false; + + if (f.mag != FILTER_LINEAR && f.mag != FILTER_NEAREST) + return false; + + if (f.min != FILTER_LINEAR && f.min != FILTER_NEAREST) + return false; + + if (f.mipmap != FILTER_LINEAR && f.mipmap != FILTER_NEAREST && f.mipmap != FILTER_NONE) + return false; + + return true; +} + bool Texture::getConstant(const char *in, FilterMode &out) { return filterModes.find(in, out); @@ -113,6 +116,7 @@ StringMap::Entry Texture::filterM { { "linear", Texture::FILTER_LINEAR }, { "nearest", Texture::FILTER_NEAREST }, + { "none", Texture::FILTER_NONE }, }; StringMap Texture::filterModes(Texture::filterModeEntries, sizeof(Texture::filterModeEntries)); diff --git a/src/modules/graphics/Texture.h b/src/modules/graphics/Texture.h index 826f6e48d..fb6082a75 100644 --- a/src/modules/graphics/Texture.h +++ b/src/modules/graphics/Texture.h @@ -58,18 +58,16 @@ public: struct Filter { - Filter(); - FilterMode min; - FilterMode mag; - FilterMode mipmap; - float anisotropy; + FilterMode min = FILTER_LINEAR; + FilterMode mag = FILTER_LINEAR; + FilterMode mipmap = FILTER_NONE; + float anisotropy = 1.0f; }; struct Wrap { - Wrap(); - WrapMode s; - WrapMode t; + WrapMode s = WRAP_CLAMP; + WrapMode t = WRAP_CLAMP; }; Texture(); @@ -97,15 +95,19 @@ public: virtual void setFilter(const Filter &f) = 0; virtual const Filter &getFilter() const; - virtual void setWrap(const Wrap &w) = 0; + virtual bool setWrap(const Wrap &w) = 0; virtual const Wrap &getWrap() const; virtual const Vertex *getVertices() const; + virtual const void *getHandle() const = 0; + // The default filter. static void setDefaultFilter(const Filter &f); static const Filter &getDefaultFilter(); + static bool validateFilter(const Filter &f, bool mipmapsAllowed); + static bool getConstant(const char *in, FilterMode &out); static bool getConstant(FilterMode in, const char *&out); diff --git a/src/modules/graphics/opengl/Canvas.cpp b/src/modules/graphics/opengl/Canvas.cpp index df0d998b9..89775eefd 100644 --- a/src/modules/graphics/opengl/Canvas.cpp +++ b/src/modules/graphics/opengl/Canvas.cpp @@ -33,399 +33,66 @@ namespace graphics namespace opengl { -// strategy for fbo creation, interchangable at runtime: -// none, opengl >= 3.0, extensions -struct FramebufferStrategy +static GLenum createFBO(GLuint &framebuffer, GLuint texture) { - virtual ~FramebufferStrategy() {} + // get currently bound fbo to reset to it later + GLint current_fbo; + glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, ¤t_fbo); - /// create a new framebuffer and texture - /** - * @param[out] framebuffer Framebuffer name - * @param[in] texture Texture name - * @return Creation status - */ - virtual GLenum createFBO(GLuint &, GLuint) + glGenFramebuffers(1, &framebuffer); + gl.bindFramebuffer(GL_FRAMEBUFFER, framebuffer); + + if (texture != 0) { - return GL_FRAMEBUFFER_UNSUPPORTED; + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); + + // Initialize the texture to transparent black. + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT); } - /// Create a stencil buffer and attach it to the active framebuffer object - /** - * @param[in] width Width of the stencil buffer - * @param[in] height Height of the stencil buffer - * @param[in] samples Number of samples to use - * @param[out] stencil Name for stencil buffer - * @return Whether the stencil buffer was successfully created - **/ - virtual bool createStencil(int, int, int, GLuint &) - { - return false; - } + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - /// Create a MSAA renderbuffer and attach it to the active FBO. - /** - * @param[in] width Width of the MSAA buffer - * @param[in] height Height of the MSAA buffer - * @param[inout] samples Number of samples to use - * @param[in] internalformat The internal format to use for the buffer - * @param[out] buffer Name for the MSAA buffer - * @return Whether the MSAA buffer was successfully created and attached - **/ - virtual bool createMSAABuffer(int, int, int &, GLenum, GLuint &) - { - return false; - } + // unbind framebuffer + gl.bindFramebuffer(GL_FRAMEBUFFER, (GLuint) current_fbo); - /// remove objects - /** - * @param[in] framebuffer Framebuffer name - * @param[in] depth_stencil Name for packed depth and stencil buffer - */ - virtual void deleteFBO(GLuint, GLuint, GLuint) {} - virtual void bindFBO(GLuint) {} + return status; +} - /// attach additional canvases to the active framebuffer for rendering - /** - * @param[in] canvases List of canvases to attach - **/ - virtual void setAttachments(const std::vector &) {} - - /// stop using all additional attached canvases - virtual void setAttachments() {} -}; - -struct FramebufferStrategyGL3 : public FramebufferStrategy +static GLenum createMSAABuffer(int width, int height, int &samples, GLenum iformat, GLuint &buffer) { - virtual GLenum createFBO(GLuint &framebuffer, GLuint texture) + glGenRenderbuffers(1, &buffer); + glBindRenderbuffer(GL_RENDERBUFFER, buffer); + + glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, iformat, width, height); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, buffer); + + glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_SAMPLES, &samples); + + glBindRenderbuffer(GL_RENDERBUFFER, 0); + + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + + if (status == GL_FRAMEBUFFER_COMPLETE) { - // get currently bound fbo to reset to it later - GLint current_fbo; - glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, ¤t_fbo); - - // create framebuffer - glGenFramebuffers(1, &framebuffer); - glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); - - if (texture != 0) - { - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, - GL_TEXTURE_2D, texture, 0); - } - - // check status - GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - - // unbind framebuffer - glBindFramebuffer(GL_FRAMEBUFFER, (GLuint) current_fbo); - return status; + // Initialize the buffer to transparent black. + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT); + } + else + { + glDeleteRenderbuffers(1, &buffer); + buffer = 0; } - virtual bool createStencil(int width, int height, int samples, GLuint &stencil) - { - // create combined depth/stencil buffer - glDeleteRenderbuffers(1, &stencil); - glGenRenderbuffers(1, &stencil); - glBindRenderbuffer(GL_RENDERBUFFER, stencil); - - if (samples > 1) - glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, GL_DEPTH_STENCIL, width, height); - else - glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_STENCIL, width, height); - - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, - GL_RENDERBUFFER, stencil); - - glBindRenderbuffer(GL_RENDERBUFFER, 0); - - // check status - if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - { - glDeleteRenderbuffers(1, &stencil); - stencil = 0; - return false; - } - - return true; - } - - virtual bool createMSAABuffer(int width, int height, int &samples, GLenum internalformat, GLuint &buffer) - { - glGenRenderbuffers(1, &buffer); - glBindRenderbuffer(GL_RENDERBUFFER, buffer); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, internalformat, - width, height); - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, - GL_RENDERBUFFER, buffer); - glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_SAMPLES, &samples); - - glBindRenderbuffer(GL_RENDERBUFFER, 0); - - if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - { - glDeleteRenderbuffers(1, &buffer); - buffer = 0; - return false; - } - - return true; - } - - virtual void deleteFBO(GLuint framebuffer, GLuint depth_stencil, GLuint msaa_buffer) - { - if (depth_stencil != 0) - glDeleteRenderbuffers(1, &depth_stencil); - if (msaa_buffer != 0) - glDeleteRenderbuffers(1, &msaa_buffer); - if (framebuffer != 0) - glDeleteFramebuffers(1, &framebuffer); - } - - virtual void bindFBO(GLuint framebuffer) - { - glBindFramebuffer(GL_FRAMEBUFFER, framebuffer); - ++Canvas::switchCount; - } - - virtual void setAttachments() - { - // set a single render target - glDrawBuffer(GL_COLOR_ATTACHMENT0); - } - - virtual void setAttachments(const std::vector &canvases) - { - if (canvases.size() == 0) - { - setAttachments(); - return; - } - - std::vector drawbuffers; - drawbuffers.push_back(GL_COLOR_ATTACHMENT0); - - // Attach the canvas textures to the currently bound framebuffer. - for (size_t i = 0; i < canvases.size(); i++) - { - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1 + i, - GL_TEXTURE_2D, canvases[i]->getGLTexture(), 0); - drawbuffers.push_back(GL_COLOR_ATTACHMENT1 + i); - } - - // set up multiple render targets - if (GLEE_VERSION_2_0) - glDrawBuffers(drawbuffers.size(), &drawbuffers[0]); - else if (GLEE_ARB_draw_buffers) - glDrawBuffersARB(drawbuffers.size(), &drawbuffers[0]); - } -}; - -struct FramebufferStrategyPackedEXT : public FramebufferStrategy -{ - virtual GLenum createFBO(GLuint &framebuffer, GLuint texture) - { - GLint current_fbo; - glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING_EXT, ¤t_fbo); - - // create framebuffer - glGenFramebuffersEXT(1, &framebuffer); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebuffer); - - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, - GL_TEXTURE_2D, texture, 0); - - // check status - GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - - // unbind framebuffer - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, (GLuint) current_fbo); - return status; - } - - virtual bool createStencil(int width, int height, int samples, GLuint &stencil) - { - // create combined depth/stencil buffer - glDeleteRenderbuffersEXT(1, &stencil); - glGenRenderbuffersEXT(1, &stencil); - glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, stencil); - - if (samples > 1) - { - glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, samples, - GL_DEPTH_STENCIL, width, height); - } - else - { - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_STENCIL_EXT, - width, height); - } - - glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, stencil); - - glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0); - - // check status - if (glCheckFramebufferStatusEXT(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - { - glDeleteRenderbuffersEXT(1, &stencil); - stencil = 0; - return false; - } - - return true; - } - - virtual bool createMSAABuffer(int width, int height, int &samples, GLenum internalformat, GLuint &buffer) - { - if (!GLEE_EXT_framebuffer_multisample) - return false; - - glGenRenderbuffersEXT(1, &buffer); - glBindRenderbufferEXT(GL_RENDERBUFFER, buffer); - glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, samples, - internalformat, width, height); - glFramebufferRenderbufferEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, - GL_RENDERBUFFER, buffer); - glGetRenderbufferParameterivEXT(GL_RENDERBUFFER, GL_RENDERBUFFER_SAMPLES, &samples); - - glBindRenderbufferEXT(GL_RENDERBUFFER, 0); - - if (glCheckFramebufferStatusEXT(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - { - glDeleteRenderbuffersEXT(1, &buffer); - buffer = 0; - return false; - } - - return true; - } - - virtual void deleteFBO(GLuint framebuffer, GLuint depth_stencil, GLuint msaa_buffer) - { - if (depth_stencil != 0) - glDeleteRenderbuffersEXT(1, &depth_stencil); - if (msaa_buffer != 0) - glDeleteRenderbuffersEXT(1, &msaa_buffer); - if (framebuffer != 0) - glDeleteFramebuffersEXT(1, &framebuffer); - } - - virtual void bindFBO(GLuint framebuffer) - { - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebuffer); - ++Canvas::switchCount; - } - - virtual void setAttachments() - { - // set a single render target - glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT); - } - - virtual void setAttachments(const std::vector &canvases) - { - if (canvases.size() == 0) - { - setAttachments(); - return; - } - - std::vector drawbuffers; - drawbuffers.push_back(GL_COLOR_ATTACHMENT0_EXT); - - // Attach the canvas textures to the currently bound framebuffer. - for (size_t i = 0; i < canvases.size(); i++) - { - glFramebufferTexture2DEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1_EXT + i, - GL_TEXTURE_2D, canvases[i]->getGLTexture(), 0); - drawbuffers.push_back(GL_COLOR_ATTACHMENT1_EXT + i); - } - - // set up multiple render targets - if (GLEE_VERSION_2_0) - glDrawBuffers(drawbuffers.size(), &drawbuffers[0]); - else if (GLEE_ARB_draw_buffers) - glDrawBuffersARB(drawbuffers.size(), &drawbuffers[0]); - } -}; - -struct FramebufferStrategyEXT : public FramebufferStrategyPackedEXT -{ - virtual bool createStencil(int width, int height, int samples, GLuint &stencil) - { - // create stencil buffer - glDeleteRenderbuffersEXT(1, &stencil); - glGenRenderbuffersEXT(1, &stencil); - glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, stencil); - - if (samples > 1) - { - glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, samples, - GL_STENCIL_INDEX, width, height); - } - else - { - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_STENCIL_INDEX, - width, height); - } - - glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, stencil); - - glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0); - - // check status - if (glCheckFramebufferStatusEXT(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) - { - glDeleteRenderbuffersEXT(1, &stencil); - stencil = 0; - return false; - } - - return true; - } - - bool isSupported() - { - GLuint fb = 0, stencil = 0; - GLenum status = createFBO(fb, 0); - deleteFBO(fb, stencil, 0); - return status == GL_FRAMEBUFFER_COMPLETE; - } -}; - -FramebufferStrategy *strategy = nullptr; - -FramebufferStrategy strategyNone; - -FramebufferStrategyGL3 strategyGL3; - -FramebufferStrategyPackedEXT strategyPackedEXT; - -FramebufferStrategyEXT strategyEXT; + return status; +} Canvas *Canvas::current = nullptr; OpenGL::Viewport Canvas::systemViewport = OpenGL::Viewport(); bool Canvas::screenHasSRGB = false; -int Canvas::switchCount = 0; int Canvas::canvasCount = 0; -static void getStrategy() -{ - if (!strategy) - { - if (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object) - strategy = &strategyGL3; - else if (GLEE_EXT_framebuffer_object && GLEE_EXT_packed_depth_stencil) - strategy = &strategyPackedEXT; - else if (GLEE_EXT_framebuffer_object && strategyEXT.isSupported()) - strategy = &strategyEXT; - else - strategy = &strategyNone; - } -} - Canvas::Canvas(int width, int height, Format format, int msaa) : fbo(0) , resolve_fbo(0) @@ -435,7 +102,6 @@ Canvas::Canvas(int width, int height, Format format, int msaa) , format(format) , requested_samples(msaa) , actual_samples(0) - , msaa_dirty(false) , texture_memory(0) { this->width = width; @@ -444,15 +110,20 @@ Canvas::Canvas(int width, int height, Format format, int msaa) float w = static_cast(width); float h = static_cast(height); + // Vertices are ordered for use with triangle strips: + // 0----2 + // | / | + // | / | + // 1----3 // world coordinates vertices[0].x = 0; vertices[0].y = 0; vertices[1].x = 0; vertices[1].y = h; vertices[2].x = w; - vertices[2].y = h; + vertices[2].y = 0; vertices[3].x = w; - vertices[3].y = 0; + vertices[3].y = h; // texture coordinates vertices[0].s = 0; @@ -460,11 +131,9 @@ Canvas::Canvas(int width, int height, Format format, int msaa) vertices[1].s = 0; vertices[1].t = 1; vertices[2].s = 1; - vertices[2].t = 1; + vertices[2].t = 0; vertices[3].s = 1; - vertices[3].t = 0; - - getStrategy(); + vertices[3].t = 1; loadVolatile(); @@ -493,38 +162,36 @@ bool Canvas::createMSAAFBO(GLenum internalformat) } // Create our FBO without a texture. - status = strategy->createFBO(fbo, 0); + status = createFBO(fbo, 0); - GLuint previous = 0; + GLuint previous = gl.getDefaultFBO(); if (current != this) { if (current != nullptr) previous = current->fbo; - strategy->bindFBO(fbo); + gl.bindFramebuffer(GL_FRAMEBUFFER, fbo); } // Create and attach the MSAA buffer for our FBO. - if (strategy->createMSAABuffer(width, height, actual_samples, internalformat, msaa_buffer)) - status = GL_FRAMEBUFFER_COMPLETE; - else - status = GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT; + status = createMSAABuffer(width, height, actual_samples, internalformat, msaa_buffer); // Create the FBO used for the MSAA resolve, and attach the texture. if (status == GL_FRAMEBUFFER_COMPLETE) - status = strategy->createFBO(resolve_fbo, texture); + status = createFBO(resolve_fbo, texture); if (status != GL_FRAMEBUFFER_COMPLETE) { // Clean up. - strategy->deleteFBO(fbo, 0, msaa_buffer); - strategy->deleteFBO(resolve_fbo, 0, 0); + glDeleteFramebuffers(1, &fbo); + glDeleteFramebuffers(1, &resolve_fbo); + glDeleteRenderbuffers(1, &msaa_buffer); fbo = msaa_buffer = resolve_fbo = 0; actual_samples = 0; } if (current != this) - strategy->bindFBO(previous); + gl.bindFramebuffer(GL_FRAMEBUFFER, previous); return status == GL_FRAMEBUFFER_COMPLETE; } @@ -542,15 +209,17 @@ bool Canvas::loadVolatile() return false; } - int max_samples = 0; - if (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object || GLEE_EXT_framebuffer_multisample) - glGetIntegerv(GL_MAX_SAMPLES, &max_samples); - - requested_samples = std::max(std::min(requested_samples, max_samples), 0); + // getMaxRenderbufferSamples will be 0 on systems that don't support + // multisampled renderbuffers / don't export FBO multisample extensions. + requested_samples = std::min(requested_samples, gl.getMaxRenderbufferSamples()); + requested_samples = std::max(requested_samples, 0); glGenTextures(1, &texture); gl.bindTexture(texture); + if (GLAD_ANGLE_texture_usage) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE); + setFilter(filter); setWrap(wrap); @@ -560,17 +229,16 @@ bool Canvas::loadVolatile() convertFormat(format, internalformat, externalformat, textype); + // in GLES2, the internalformat and format params of TexImage have to match. + GLint iformat = (GLint) internalformat; + if (GLAD_ES_VERSION_2_0 && !GLAD_ES_VERSION_3_0) + iformat = (GLint) externalformat; + while (glGetError() != GL_NO_ERROR) /* Clear the error buffer. */; - glTexImage2D(GL_TEXTURE_2D, - 0, - (GLint) internalformat, - width, height, - 0, - externalformat, - textype, - nullptr); + glTexImage2D(GL_TEXTURE_2D, 0, iformat, width, height, 0, + externalformat, textype, nullptr); if (glGetError() != GL_NO_ERROR) { @@ -583,22 +251,18 @@ bool Canvas::loadVolatile() // Try to create a MSAA FBO if requested. On failure (or no requested MSAA), // fall back to a regular FBO. if (!createMSAAFBO(internalformat)) - status = strategy->createFBO(fbo, texture); + status = createFBO(fbo, texture); if (status != GL_FRAMEBUFFER_COMPLETE) { if (fbo != 0) { - strategy->deleteFBO(fbo, 0, 0); + glDeleteFramebuffers(1, &fbo); fbo = 0; } return false; } - clear(Color(0, 0, 0, 0)); - - msaa_dirty = (msaa_buffer != 0); - size_t prevmemsize = texture_memory; texture_memory = (getFormatBitsPerPixel(format) * width * height) / 8; @@ -612,13 +276,19 @@ bool Canvas::loadVolatile() void Canvas::unloadVolatile() { - strategy->deleteFBO(fbo, depth_stencil, msaa_buffer); - strategy->deleteFBO(resolve_fbo, 0, 0); + glDeleteFramebuffers(1, &fbo); + glDeleteFramebuffers(1, &resolve_fbo); + + glDeleteRenderbuffers(1, &depth_stencil); + glDeleteRenderbuffers(1, &msaa_buffer); gl.deleteTexture(texture); - fbo = depth_stencil = texture = 0; - resolve_fbo = msaa_buffer = 0; + fbo = 0; + resolve_fbo = 0; + depth_stencil = 0; + msaa_buffer = 0; + texture = 0; attachedCanvases.clear(); @@ -631,21 +301,19 @@ void Canvas::drawv(const Matrix &t, const Vertex *v) OpenGL::TempTransform transform(gl); transform.get() *= t; - predraw(); + gl.bindTexture(texture); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); - glVertexPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *)&v[0].x); - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *)&v[0].s); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &v[0].x); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &v[0].s); gl.prepareDraw(); - gl.drawArrays(GL_QUADS, 0, 4); + gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); - - postdraw(); + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); } void Canvas::draw(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) @@ -667,30 +335,38 @@ void Canvas::drawq(Quad *quad, float x, float y, float angle, float sx, float sy void Canvas::setFilter(const Texture::Filter &f) { + if (!validateFilter(f, false)) + throw love::Exception("Invalid texture filter."); + filter = f; gl.bindTexture(texture); gl.setTextureFilter(filter); } -void Canvas::setWrap(const Texture::Wrap &w) +bool Canvas::setWrap(const Texture::Wrap &w) { + bool success = true; wrap = w; + + if ((GLAD_ES_VERSION_2_0 && !(GLAD_ES_VERSION_3_0 || GLAD_OES_texture_npot)) + && (width != next_p2(width) || height != next_p2(height))) + { + if (wrap.s != WRAP_CLAMP || wrap.t != WRAP_CLAMP) + success = false; + + // If we only have limited NPOT support then the wrap mode must be CLAMP. + wrap.s = wrap.t = WRAP_CLAMP; + } + gl.bindTexture(texture); gl.setTextureWrap(wrap); + + return success; } -GLuint Canvas::getGLTexture() const +const void *Canvas::getHandle() const { - return texture; -} - -void Canvas::predraw() -{ - // We need to make sure the texture is up-to-date by resolving the MSAA - // buffer (which we render to when the canvas is active) to it. - resolveMSAA(); - - gl.bindTexture(texture); + return &texture; } void Canvas::setupGrab() @@ -712,20 +388,20 @@ void Canvas::setupGrab() current = this; // bind the framebuffer object. - strategy->bindFBO(fbo); - gl.setViewport(OpenGL::Viewport(0, 0, width, height)); + gl.bindFramebuffer(GL_FRAMEBUFFER, fbo); + gl.setViewport({0, 0, width, height}); // Set up the projection matrix gl.matrices.projection.push_back(Matrix::ortho(0.0, width, 0.0, height)); // Make sure the correct sRGB setting is used when drawing to the canvas. - if (format == FORMAT_SRGB) - glEnable(GL_FRAMEBUFFER_SRGB); - else if (screenHasSRGB) - glDisable(GL_FRAMEBUFFER_SRGB); - - if (msaa_buffer != 0) - msaa_dirty = true; + if (GLAD_VERSION_1_0 || GLAD_EXT_sRGB_write_control) + { + if (format == FORMAT_SRGB) + glEnable(GL_FRAMEBUFFER_SRGB); + else if (screenHasSRGB) + glDisable(GL_FRAMEBUFFER_SRGB); + } } void Canvas::startGrab(const std::vector &canvases) @@ -740,19 +416,21 @@ void Canvas::startGrab(const std::vector &canvases) throw love::Exception("Multi-canvas rendering is not supported on this system."); if ((int) canvases.size() + 1 > gl.getMaxRenderTargets()) - throw love::Exception("This system can't simultaniously render to %d canvases.", canvases.size()+1); + throw love::Exception("This system can't simultaneously render to %d canvases.", canvases.size()+1); if (actual_samples != 0) throw love::Exception("Multi-canvas rendering is not supported with MSAA."); } + bool multiformatsupported = isMultiFormatMultiCanvasSupported(); + for (size_t i = 0; i < canvases.size(); i++) { if (canvases[i]->getWidth() != width || canvases[i]->getHeight() != height) - throw love::Exception("All canvas arguments must have the same dimensions."); + throw love::Exception("All canvases must have the same dimensions."); - if (canvases[i]->getTextureFormat() != format) - throw love::Exception("All canvas arguments must have the same texture format."); + if (canvases[i]->getTextureFormat() != format && !multiformatsupported) + throw love::Exception("This system doesn't support multi-canvas rendering with different canvas formats."); if (canvases[i]->getMSAA() != 0) throw love::Exception("Multi-canvas rendering is not supported with MSAA."); @@ -768,7 +446,22 @@ void Canvas::startGrab(const std::vector &canvases) return; // Attach the canvas textures to the active FBO and set up MRTs. - strategy->setAttachments(canvases); + std::vector drawbuffers; + drawbuffers.reserve(canvases.size() + 1); + + drawbuffers.push_back(GL_COLOR_ATTACHMENT0); + + // Attach the canvas textures to the currently bound framebuffer. + for (int i = 0; i < (int) canvases.size(); i++) + { + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1 + i, + GL_TEXTURE_2D, *(GLuint *) canvases[i]->getHandle(), 0); + + drawbuffers.push_back(GL_COLOR_ATTACHMENT1 + i); + } + + // set up multiple render targets + glDrawBuffers((int) drawbuffers.size(), &drawbuffers[0]); // We want to avoid reference cycles, so we don't retain the attached // Canvases here. The code in Graphics::setCanvas retains them. @@ -783,8 +476,8 @@ void Canvas::startGrab() if (attachedCanvases.size() == 0) return; - // make sure the FBO is only using a single canvas - strategy->setAttachments(); + // make sure the FBO is only using a single draw buffer + glDrawBuffer(GL_COLOR_ATTACHMENT0); attachedCanvases.clear(); } @@ -795,80 +488,34 @@ void Canvas::stopGrab(bool switchingToOtherCanvas) if (current != this) return; + // Make sure the canvas texture is up to date if we're using MSAA. + resolveMSAA(false); + gl.matrices.projection.pop_back(); if (switchingToOtherCanvas) { - if (format == FORMAT_SRGB) - glDisable(GL_FRAMEBUFFER_SRGB); - } - else - { - // bind system framebuffer. - strategy->bindFBO(0); - current = nullptr; - gl.setViewport(systemViewport); - - if (format == FORMAT_SRGB && !screenHasSRGB) - glDisable(GL_FRAMEBUFFER_SRGB); - else if (format != FORMAT_SRGB && screenHasSRGB) - glEnable(GL_FRAMEBUFFER_SRGB); - } -} - -void Canvas::clear(Color c) -{ - if (strategy == &strategyNone) - return; - - GLuint previous = 0; - - if (current != this) - { - if (current != nullptr) - previous = current->fbo; - - strategy->bindFBO(fbo); - } - - GLfloat glcolor[] = {c.r/255.f, c.g/255.f, c.b/255.f, c.a/255.f}; - - // We don't need to worry about multiple FBO attachments or global clear - // color state when OpenGL 3.0+ is supported. - if (GLEE_VERSION_3_0) - { - glClearBufferfv(GL_COLOR, 0, glcolor); - - if (depth_stencil != 0) + if (GLAD_VERSION_1_0 || GLAD_EXT_sRGB_write_control) { - GLint stencilvalue = 0; - glClearBufferiv(GL_STENCIL, 0, &stencilvalue); + if (format == FORMAT_SRGB) + glDisable(GL_FRAMEBUFFER_SRGB); } } else { - // glClear will clear all active draw buffers, so we need to temporarily - // detach any other canvases (when MRT is being used.) - if (attachedCanvases.size() > 0) - strategy->setAttachments(); + // bind system framebuffer. + gl.bindFramebuffer(GL_FRAMEBUFFER, gl.getDefaultFBO()); + current = nullptr; + gl.setViewport(systemViewport); - // Don't use the state-shadowed gl.setClearColor because we want to save - // the previous clear color. - glClearColor(glcolor[0], glcolor[1], glcolor[2], glcolor[3]); - glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); - - if (attachedCanvases.size() > 0) - strategy->setAttachments(attachedCanvases); - - // Restore the global clear color. - gl.setClearColor(gl.getClearColor()); + if (GLAD_VERSION_1_0 || GLAD_EXT_sRGB_write_control) + { + if (format == FORMAT_SRGB && !screenHasSRGB) + glDisable(GL_FRAMEBUFFER_SRGB); + else if (format != FORMAT_SRGB && screenHasSRGB) + glEnable(GL_FRAMEBUFFER_SRGB); + } } - - if (current != this) - strategy->bindFBO(previous); - - if (msaa_buffer != 0) - msaa_dirty = true; } bool Canvas::checkCreateStencil() @@ -878,103 +525,112 @@ bool Canvas::checkCreateStencil() return true; if (current != this) - strategy->bindFBO(fbo); + gl.bindFramebuffer(GL_FRAMEBUFFER, fbo); - bool success = strategy->createStencil(width, height, requested_samples, depth_stencil); + GLenum format = GL_STENCIL_INDEX8; + GLenum attachment = GL_STENCIL_ATTACHMENT; + + // Prefer a combined depth/stencil buffer. + if (GLAD_ES_VERSION_3_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object + || GLAD_EXT_packed_depth_stencil || GLAD_OES_packed_depth_stencil) + { + format = GL_DEPTH_STENCIL; + attachment = GL_DEPTH_STENCIL_ATTACHMENT; + } + + glGenRenderbuffers(1, &depth_stencil); + glBindRenderbuffer(GL_RENDERBUFFER, depth_stencil); + + if (requested_samples > 1) + glRenderbufferStorageMultisample(GL_RENDERBUFFER, requested_samples, format, width, height); + else + glRenderbufferStorage(GL_RENDERBUFFER, format, width, height); + + // Attach the stencil buffer to the framebuffer object. + glFramebufferRenderbuffer(GL_FRAMEBUFFER, attachment, GL_RENDERBUFFER, depth_stencil); + + glBindRenderbuffer(GL_RENDERBUFFER, 0); + + bool success = glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE; + + // We don't want the stencil buffer filled with garbage. + if (success) + glClear(GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + else + { + glDeleteRenderbuffers(1, &depth_stencil); + depth_stencil = 0; + } if (current && current != this) - strategy->bindFBO(current->fbo); + gl.bindFramebuffer(GL_FRAMEBUFFER, current->fbo); else if (!current) - strategy->bindFBO(0); + gl.bindFramebuffer(GL_FRAMEBUFFER, gl.getDefaultFBO()); return success; } -love::image::ImageData *Canvas::getImageData(love::image::Image *image) +love::image::ImageData *Canvas::newImageData(love::image::Image *image, int x, int y, int w, int h) { - resolveMSAA(); + if (x < 0 || y < 0 || w <= 0 || h <= 0 || (x + w) > width || (y + h) > height) + throw love::Exception("Invalid ImageData rectangle dimensions."); - int row = 4 * width; - int size = row * height; - GLubyte *pixels = new GLubyte[size]; + int row = 4 * w; + int size = row * h; + GLubyte *pixels = nullptr; + try + { + pixels = new GLubyte[size]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + // Make sure the canvas texture is up to date if we're using MSAA. + if (current == this) + resolveMSAA(false); // Our texture is attached to 'resolve_fbo' when we use MSAA. - if (resolve_fbo != 0 && (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object)) - glBindFramebuffer(GL_READ_FRAMEBUFFER, resolve_fbo); - else if (resolve_fbo != 0 && GLEE_EXT_framebuffer_multisample) - glBindFramebufferEXT(GL_READ_FRAMEBUFFER, resolve_fbo); + if (resolve_fbo != 0) + gl.bindFramebuffer(GL_READ_FRAMEBUFFER, resolve_fbo); else - strategy->bindFBO(fbo); + gl.bindFramebuffer(GL_FRAMEBUFFER, fbo); - glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); + glReadPixels(x, y, w, h, GL_RGBA, GL_UNSIGNED_BYTE, pixels); - if (current) - strategy->bindFBO(current->fbo); - else - strategy->bindFBO(0); + GLuint prevfbo = current ? current->fbo : gl.getDefaultFBO(); + gl.bindFramebuffer(GL_FRAMEBUFFER, prevfbo); // The new ImageData now owns the pixel data, so we don't delete it here. - love::image::ImageData *img = image->newImageData(width, height, (void *)pixels, true); - return img; + return image->newImageData(w, h, pixels, true); } -void Canvas::getPixel(unsigned char* pixel_rgba, int x, int y) -{ - if (x < 0 || x >= width || y < 0 || y >= width) - throw love::Exception("Attempt to get out-of-range pixel (%d,%d)!", x, y); - - resolveMSAA(); - - // Our texture is attached to 'resolve_fbo' when we use MSAA. - if (resolve_fbo != 0 && (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object)) - glBindFramebuffer(GL_READ_FRAMEBUFFER, resolve_fbo); - else if (resolve_fbo != 0 && GLEE_EXT_framebuffer_multisample) - glBindFramebufferEXT(GL_READ_FRAMEBUFFER, resolve_fbo); - else if (current != this) - strategy->bindFBO(fbo); - - glReadPixels(x, y, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel_rgba); - - if (current && current != this) - strategy->bindFBO(current->fbo); - else if (!current) - strategy->bindFBO(0); -} - -bool Canvas::resolveMSAA() +bool Canvas::resolveMSAA(bool restoreprev) { if (resolve_fbo == 0 || msaa_buffer == 0) return false; - if (!msaa_dirty) - return true; - - GLuint previous = 0; - if (current != nullptr) - previous = current->fbo; + GLint w = width; + GLint h = height; // Do the MSAA resolve by blitting the MSAA renderbuffer to the texture. - if (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object) - { - glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo); - glBindFramebuffer(GL_DRAW_FRAMEBUFFER, resolve_fbo); - glBlitFramebuffer(0, 0, width, height, 0, 0, width, height, - GL_COLOR_BUFFER_BIT, GL_NEAREST); - } - else if (GLEE_EXT_framebuffer_multisample && GLEE_EXT_framebuffer_blit) - { - glBindFramebufferEXT(GL_READ_FRAMEBUFFER, fbo); - glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER, resolve_fbo); - glBlitFramebufferEXT(0, 0, width, height, 0, 0, width, height, - GL_COLOR_BUFFER_BIT, GL_NEAREST); - } + // For many of the MSAA extensions that add suffixes to the functions, we + // assign function pointers in OpenGL.cpp so we can call the core functions. + + gl.bindFramebuffer(GL_READ_FRAMEBUFFER, fbo); + gl.bindFramebuffer(GL_DRAW_FRAMEBUFFER, resolve_fbo); + + if (GLAD_APPLE_framebuffer_multisample) + glResolveMultisampleFramebufferAPPLE(); else - return false; + glBlitFramebuffer(0, 0, w, h, 0, 0, w, h, GL_COLOR_BUFFER_BIT, GL_NEAREST); - strategy->bindFBO(previous); - - if (current != this) - msaa_dirty = false; + if (restoreprev) + { + GLuint fbo = current ? current->fbo : gl.getDefaultFBO(); + gl.bindFramebuffer(GL_FRAMEBUFFER, fbo); + } return true; } @@ -984,7 +640,11 @@ Canvas::Format Canvas::getSizedFormat(Canvas::Format format) switch (format) { case FORMAT_NORMAL: - return FORMAT_RGBA8; + // 32-bit render targets don't have guaranteed support on OpenGL ES 2. + if (GLAD_ES_VERSION_2_0 && !(GLAD_ES_VERSION_3_0 || GLAD_OES_rgb8_rgba8 || GLAD_ARM_rgba8)) + return FORMAT_RGBA4; + else + return FORMAT_RGBA8; case FORMAT_HDR: return FORMAT_RGBA16F; default: @@ -999,11 +659,6 @@ void Canvas::convertFormat(Canvas::Format format, GLenum &internalformat, GLenum switch (format) { - case FORMAT_RGBA8: - default: - internalformat = GL_RGBA8; - type = GL_UNSIGNED_BYTE; - break; case FORMAT_RGBA4: internalformat = GL_RGBA4; type = GL_UNSIGNED_SHORT_4_4_4_4; @@ -1017,17 +672,67 @@ void Canvas::convertFormat(Canvas::Format format, GLenum &internalformat, GLenum externalformat = GL_RGB; type = GL_UNSIGNED_SHORT_5_6_5; break; + case FORMAT_R8: + internalformat = GL_R8; + externalformat = GL_RED; + type = GL_UNSIGNED_BYTE; + break; + case FORMAT_RG8: + internalformat = GL_RG8; + externalformat = GL_RG; + type = GL_UNSIGNED_BYTE; + break; + case FORMAT_RGBA8: + default: + internalformat = GL_RGBA8; + type = GL_UNSIGNED_BYTE; + break; case FORMAT_RGB10A2: internalformat = GL_RGB10_A2; - type = GL_UNSIGNED_INT_10_10_10_2; + type = GL_UNSIGNED_INT_2_10_10_10_REV; break; case FORMAT_RG11B10F: internalformat = GL_R11F_G11F_B10F; externalformat = GL_RGB; type = GL_UNSIGNED_INT_10F_11F_11F_REV; break; + case FORMAT_R16F: + internalformat = GL_R16F; + externalformat = GL_RED; + if (GLAD_OES_texture_half_float) + type = GL_HALF_FLOAT_OES; + else if (GLAD_VERSION_1_0) + type = GL_FLOAT; + else + type = GL_HALF_FLOAT; + break; + case FORMAT_RG16F: + internalformat = GL_RG16F; + externalformat = GL_RG; + if (GLAD_OES_texture_half_float) + type = GL_HALF_FLOAT_OES; + else if (GLAD_VERSION_1_0) + type = GL_FLOAT; + else + type = GL_HALF_FLOAT; + break; case FORMAT_RGBA16F: internalformat = GL_RGBA16F; + if (GLAD_OES_texture_half_float) + type = GL_HALF_FLOAT_OES; + else if (GLAD_VERSION_1_0) + type = GL_FLOAT; + else + type = GL_HALF_FLOAT; + break; + case FORMAT_R32F: + internalformat = GL_R32F; + externalformat = GL_RED; + type = GL_FLOAT; + break; + case FORMAT_RG32F: + internalformat = GL_RG32F; + externalformat = GL_RG; type = GL_FLOAT; break; case FORMAT_RGBA32F: @@ -1037,6 +742,8 @@ void Canvas::convertFormat(Canvas::Format format, GLenum &internalformat, GLenum case FORMAT_SRGB: internalformat = GL_SRGB8_ALPHA8; type = GL_UNSIGNED_BYTE; + if (GLAD_ES_VERSION_2_0 && !GLAD_ES_VERSION_3_0) + externalformat = GL_SRGB_ALPHA; break; } } @@ -1045,17 +752,24 @@ size_t Canvas::getFormatBitsPerPixel(Format format) { switch (getSizedFormat(format)) { - case FORMAT_RGBA8: - case FORMAT_RGB10A2: - case FORMAT_RG11B10F: - case FORMAT_SRGB: - default: - return 32; + case FORMAT_R8: + return 8; case FORMAT_RGBA4: case FORMAT_RGB5A1: case FORMAT_RGB565: + case FORMAT_RG8: + case FORMAT_R16F: return 16; + case FORMAT_RGBA8: + case FORMAT_RGB10A2: + case FORMAT_RG11B10F: + case FORMAT_RG16F: + case FORMAT_R32F: + case FORMAT_SRGB: + default: + return 32; case FORMAT_RGBA16F: + case FORMAT_RG32F: return 64; case FORMAT_RGBA32F: return 128; @@ -1064,16 +778,20 @@ size_t Canvas::getFormatBitsPerPixel(Format format) bool Canvas::isSupported() { - getStrategy(); - return (strategy != &strategyNone); + return GLAD_ES_VERSION_2_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object || GLAD_EXT_framebuffer_object; } bool Canvas::isMultiCanvasSupported() { - // system must support at least 4 simultanious active canvases. + // system must support at least 4 simultaneous active canvases. return gl.getMaxRenderTargets() >= 4; } +bool Canvas::isMultiFormatMultiCanvasSupported() +{ + return isMultiCanvasSupported() && (GLAD_ES_VERSION_3_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object); +} + bool Canvas::supportedFormats[] = {false}; bool Canvas::checkedFormats[] = {false}; @@ -1087,25 +805,57 @@ bool Canvas::isFormatSupported(Canvas::Format format) switch (format) { - case FORMAT_RGBA8: case FORMAT_RGBA4: case FORMAT_RGB5A1: - case FORMAT_RGB10A2: supported = true; break; case FORMAT_RGB565: - supported = GLEE_VERSION_4_2 || GLEE_ARB_ES2_compatibility; + supported = GLAD_ES_VERSION_2_0 || GLAD_VERSION_4_2 || GLAD_ARB_ES2_compatibility; + break; + case FORMAT_R8: + case FORMAT_RG8: + if (GLAD_VERSION_1_0) + supported = GLAD_VERSION_3_0 || GLAD_ARB_texture_rg; + else if (GLAD_ES_VERSION_2_0) + supported = GLAD_ES_VERSION_3_0 || GLAD_EXT_texture_rg; + break; + case FORMAT_RGBA8: + supported = GLAD_VERSION_1_0 || GLAD_ES_VERSION_3_0 || GLAD_OES_rgb8_rgba8 || GLAD_ARM_rgba8; + break; + case FORMAT_RGB10A2: + supported = GLAD_ES_VERSION_3_0 || GLAD_VERSION_1_0; break; case FORMAT_RG11B10F: - supported = GLEE_VERSION_3_0 || GLEE_EXT_packed_float; + supported = GLAD_VERSION_3_0 || GLAD_EXT_packed_float /*|| GLAD_APPLE_color_buffer_packed_float*/; + break; + case FORMAT_R16F: + case FORMAT_RG16F: + if (GLAD_VERSION_1_0) + supported = GLAD_VERSION_3_0 || (GLAD_ARB_texture_float && GLAD_ARB_texture_rg); + else + supported = GLAD_EXT_color_buffer_half_float && (GLAD_ES_VERSION_3_0 || (GLAD_OES_texture_half_float && GLAD_EXT_texture_rg)); break; case FORMAT_RGBA16F: + if (GLAD_VERSION_1_0) + supported = GLAD_VERSION_3_0 || GLAD_ARB_texture_float; + else if (GLAD_ES_VERSION_2_0) + supported = GLAD_EXT_color_buffer_half_float && (GLAD_ES_VERSION_3_0 || GLAD_OES_texture_half_float); + break; + case FORMAT_R32F: + case FORMAT_RG32F: + supported = GLAD_VERSION_3_0 || (GLAD_ARB_texture_float && GLAD_ARB_texture_rg); + break; case FORMAT_RGBA32F: - supported = GLEE_VERSION_3_0 || GLEE_ARB_texture_float; + supported = GLAD_VERSION_3_0 || GLAD_ARB_texture_float; break; case FORMAT_SRGB: - supported = GLEE_VERSION_3_0 || ((GLEE_ARB_framebuffer_sRGB || GLEE_EXT_framebuffer_sRGB) - && (GLEE_VERSION_2_1 || GLEE_EXT_texture_sRGB)); + if (GLAD_VERSION_1_0) + { + supported = GLAD_VERSION_3_0 || ((GLAD_ARB_framebuffer_sRGB || GLAD_EXT_framebuffer_sRGB) + && (GLAD_VERSION_2_1 || GLAD_EXT_texture_sRGB)); + } + else + supported = GLAD_ES_VERSION_3_0 || GLAD_EXT_sRGB; break; default: supported = false; @@ -1128,6 +878,10 @@ bool Canvas::isFormatSupported(Canvas::Format format) GLenum textype = GL_UNSIGNED_BYTE; convertFormat(format, internalformat, externalformat, textype); + // in GLES2, the internalformat and format params of TexImage have to match. + if (GLAD_ES_VERSION_2_0 && !GLAD_ES_VERSION_3_0) + internalformat = externalformat; + GLuint texture = 0; glGenTextures(1, &texture); gl.bindTexture(texture); @@ -1142,8 +896,8 @@ bool Canvas::isFormatSupported(Canvas::Format format) glTexImage2D(GL_TEXTURE_2D, 0, internalformat, 2, 2, 0, externalformat, textype, nullptr); GLuint fbo = 0; - supported = (strategy->createFBO(fbo, texture) == GL_FRAMEBUFFER_COMPLETE); - strategy->deleteFBO(fbo, 0, 0); + supported = (createFBO(fbo, texture) == GL_FRAMEBUFFER_COMPLETE); + glDeleteFramebuffers(1, &fbo); gl.deleteTexture(texture); @@ -1166,17 +920,23 @@ bool Canvas::getConstant(Format in, const char *&out) StringMap::Entry Canvas::formatEntries[] = { - {"normal", Canvas::FORMAT_NORMAL}, - {"hdr", Canvas::FORMAT_HDR}, - {"rgba8", Canvas::FORMAT_RGBA8}, - {"rgba4", Canvas::FORMAT_RGBA4}, - {"rgb5a1", Canvas::FORMAT_RGB5A1}, - {"rgb565", Canvas::FORMAT_RGB565}, - {"rgb10a2", Canvas::FORMAT_RGB10A2}, - {"rg11b10f", Canvas::FORMAT_RG11B10F}, - {"rgba16f", Canvas::FORMAT_RGBA16F}, - {"rgba32f", Canvas::FORMAT_RGBA32F}, - {"srgb", Canvas::FORMAT_SRGB}, + {"normal", FORMAT_NORMAL}, + {"hdr", FORMAT_HDR}, + {"rgba4", FORMAT_RGBA4}, + {"rgb5a1", FORMAT_RGB5A1}, + {"rgb565", FORMAT_RGB565}, + {"r8", FORMAT_R8}, + {"rg8", FORMAT_RG8}, + {"rgba8", FORMAT_RGBA8}, + {"rgb10a2", FORMAT_RGB10A2}, + {"rg11b10f", FORMAT_RG11B10F}, + {"r16f", FORMAT_R16F}, + {"rg16f", FORMAT_RG16F}, + {"rgba16f", FORMAT_RGBA16F}, + {"r32f", FORMAT_R32F}, + {"rg32f", FORMAT_RG32F}, + {"rgba32f", FORMAT_RGBA32F}, + {"srgb", FORMAT_SRGB}, }; StringMap Canvas::formats(Canvas::formatEntries, sizeof(Canvas::formatEntries)); diff --git a/src/modules/graphics/opengl/Canvas.h b/src/modules/graphics/opengl/Canvas.h index 75786b4be..90ac53eb1 100644 --- a/src/modules/graphics/opengl/Canvas.h +++ b/src/modules/graphics/opengl/Canvas.h @@ -28,7 +28,8 @@ #include "common/Matrix.h" #include "common/StringMap.h" #include "common/int.h" -#include "Texture.h" +#include "graphics/Texture.h" +#include "graphics/Volatile.h" #include "OpenGL.h" namespace love @@ -38,7 +39,7 @@ namespace graphics namespace opengl { -class Canvas : public Texture +class Canvas : public Texture, public Volatile { public: @@ -47,15 +48,21 @@ public: { FORMAT_NORMAL, // Usually RGBA8 or a similar fallback. Always supported. FORMAT_HDR, // Usually RGBA16F. Not always supported. - FORMAT_RGBA8, // RGBA with 8 bits per component. - FORMAT_RGBA4, // RGBA with 4 bits per component. - FORMAT_RGB5A1, // RGB with 5 bits per component, and A with 1 bit. + FORMAT_RGBA4, // RGBA with 4 bits per channel. + FORMAT_RGB5A1, // RGB with 5 bits per channel, and A with 1 bit. FORMAT_RGB565, // RGB with 5, 6, and 5 bits each, respectively. + FORMAT_R8, // Single (red) 8-bit channel. + FORMAT_RG8, // Two-channel (red and green) with 8 bits per channel. + FORMAT_RGBA8, // RGBA with 8 bits per channel. FORMAT_RGB10A2, // RGB with 10 bits each, and A with 2 bits. FORMAT_RG11B10F, // Floating point [0, +inf]. RG with 11 FP bits each, and B with 10 FP bits. - FORMAT_RGBA16F, // Floating point [-inf, +inf]. RGBA with 16 FP bits per component. - FORMAT_RGBA32F, // Floating point [-inf, +inf]. RGBA with 32 FP bits per component. - FORMAT_SRGB, // sRGB with 8 bits per component, plus 8 bit linear A. + FORMAT_R16F, // Floating point [-inf, +inf]. R with 16 FP bits. + FORMAT_RG16F, // Floating point [-inf, +inf]. RG with 16 FP bits per channel. + FORMAT_RGBA16F, // Floating point [-inf, +inf]. RGBA with 16 FP bits per channel. + FORMAT_R32F, // Floating point [-inf, +inf]. R with 32 FP bits. + FORMAT_RG32F, // Floating point [-inf, +inf]. RG with 32 FP bits per channel. + FORMAT_RGBA32F, // Floating point [-inf, +inf]. RGBA with 32 FP bits per channel. + FORMAT_SRGB, // sRGB with 8 bits per channel, plus 8 bit linear A. FORMAT_MAX_ENUM }; @@ -72,9 +79,8 @@ public: // Implements Texture. virtual void drawq(Quad *quad, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky); virtual void setFilter(const Texture::Filter &f); - virtual void setWrap(const Texture::Wrap &w); - virtual GLuint getGLTexture() const; - virtual void predraw(); + virtual bool setWrap(const Texture::Wrap &w); + virtual const void *getHandle() const; /** * @param canvases A list of other canvases to temporarily attach to this one, @@ -84,16 +90,12 @@ public: void startGrab(); void stopGrab(bool switchingToOtherCanvas = false); - void clear(Color c); - /** * Create and attach a stencil buffer to this Canvas' framebuffer, if necessary. **/ bool checkCreateStencil(); - love::image::ImageData *getImageData(love::image::Image *image); - - void getPixel(unsigned char* pixel_rgba, int x, int y); + love::image::ImageData *newImageData(love::image::Image *image, int x, int y, int w, int h); inline const std::vector &getAttachedCanvases() const { @@ -115,10 +117,9 @@ public: return actual_samples; } - bool resolveMSAA(); - static bool isSupported(); static bool isMultiCanvasSupported(); + static bool isMultiFormatMultiCanvasSupported(); static bool isFormatSupported(Format format); static Canvas *current; @@ -129,7 +130,6 @@ public: // Whether the main screen should have linear -> sRGB conversions enabled. static bool screenHasSRGB; - static int switchCount; static int canvasCount; static bool getConstant(const char *in, Format &out); @@ -137,7 +137,12 @@ public: private: + void setupGrab(); + bool createMSAAFBO(GLenum internalformat); + bool resolveMSAA(bool restoreprev); + + void drawv(const Matrix &t, const Vertex *v); static Format getSizedFormat(Format format); static void convertFormat(Format format, GLenum &internalformat, GLenum &externalformat, GLenum &type); @@ -158,13 +163,9 @@ private: int requested_samples; int actual_samples; - bool msaa_dirty; size_t texture_memory; - void setupGrab(); - void drawv(const Matrix &t, const Vertex *v); - static bool supportedFormats[FORMAT_MAX_ENUM]; static bool checkedFormats[FORMAT_MAX_ENUM]; diff --git a/src/modules/graphics/opengl/Font.cpp b/src/modules/graphics/opengl/Font.cpp index 111068c27..d5f00bd7b 100644 --- a/src/modules/graphics/opengl/Font.cpp +++ b/src/modules/graphics/opengl/Font.cpp @@ -29,6 +29,7 @@ #include #include #include // for max +#include namespace love { @@ -39,57 +40,44 @@ namespace opengl int Font::fontCount = 0; -const int Font::TEXTURE_WIDTHS[] = {128, 256, 256, 512, 512, 1024, 1024}; -const int Font::TEXTURE_HEIGHTS[] = {128, 128, 256, 256, 512, 512, 1024}; - Font::Font(love::font::Rasterizer *r, const Texture::Filter &filter) : rasterizer(r) , height(r->getHeight()) , lineHeight(1) - , mSpacing(1) + , textureWidth(128) + , textureHeight(128) , filter(filter) , useSpacesAsTab(false) + , indexBuffer(20) // We make this bigger at draw-time, if needed. + , textureCacheID(0) , textureMemorySize(0) { this->filter.mipmap = Texture::FILTER_NONE; // Try to find the best texture size match for the font size. default to the // largest texture size if no rough match is found. - textureSizeIndex = NUM_TEXTURE_SIZES - 1; - for (int i = 0; i < NUM_TEXTURE_SIZES; i++) + while (true) { - // Make a rough estimate of the total used texture size, based on glyph - // height. The estimated size is likely larger than the actual total - // size, which is good because texture switching is expensive. - if ((height * 0.8) * height * 95 <= TEXTURE_WIDTHS[i] * TEXTURE_HEIGHTS[i]) - { - textureSizeIndex = i; + if ((height * 0.8) * height * 30 <= textureWidth * textureHeight) break; - } + + TextureSize nextsize = getNextTextureSize(); + + if (nextsize.width <= textureWidth && nextsize.height <= textureHeight) + break; + + textureWidth = nextsize.width; + textureHeight = nextsize.height; } - textureWidth = TEXTURE_WIDTHS[textureSizeIndex]; - textureHeight = TEXTURE_HEIGHTS[textureSizeIndex]; + love::font::GlyphData *gd = r->getGlyphData(32); // Space character. + type = (gd->getFormat() == font::GlyphData::FORMAT_LUMINANCE_ALPHA) ? FONT_TRUETYPE : FONT_IMAGE; + gd->release(); - love::font::GlyphData *gd = nullptr; + if (!r->hasGlyph(9)) // No tab character in the Rasterizer. + useSpacesAsTab = true; - try - { - gd = r->getGlyphData(32); // Space character. - type = (gd->getFormat() == love::font::GlyphData::FORMAT_LUMINANCE_ALPHA) ? FONT_TRUETYPE : FONT_IMAGE; - - if (!r->hasGlyph(9)) // No tab character in the Rasterizer. - useSpacesAsTab = true; - - loadVolatile(); - } - catch (love::Exception &) - { - delete gd; - throw; - } - - delete gd; + loadVolatile(); ++fontCount; } @@ -101,109 +89,135 @@ Font::~Font() --fontCount; } -bool Font::initializeTexture(GLenum format) +Font::TextureSize Font::getNextTextureSize() const { - GLint internalformat = (format == GL_LUMINANCE_ALPHA) ? GL_LUMINANCE8_ALPHA8 : GL_RGBA8; + TextureSize size = {textureWidth, textureHeight}; - // clear errors before initializing - while (glGetError() != GL_NO_ERROR); + int maxsize = std::min(4096, gl.getMaxTextureSize()); - glTexImage2D(GL_TEXTURE_2D, - 0, - internalformat, - (GLsizei)textureWidth, - (GLsizei)textureHeight, - 0, - format, - GL_UNSIGNED_BYTE, - NULL); + if (size.width * 2 <= maxsize || size.height * 2 <= maxsize) + { + // {128, 128} -> {256, 128} -> {256, 256} -> {512, 256} -> etc. + if (size.width == size.height) + size.width *= 2; + else + size.height *= 2; + } - return glGetError() == GL_NO_ERROR; + return size; } void Font::createTexture() { - textureX = textureY = rowHeight = TEXTURE_PADDING; + GLenum format = type == FONT_TRUETYPE ? GL_LUMINANCE_ALPHA : GL_RGBA; + size_t bpp = format == GL_LUMINANCE_ALPHA ? 2 : 4; - GLuint t; - glGenTextures(1, &t); - textures.push_back(t); + size_t prevmemsize = textureMemorySize; + if (prevmemsize > 0) + { + textureMemorySize -= (textureWidth * textureHeight * bpp); + gl.updateTextureMemorySize(prevmemsize, textureMemorySize); + } + + GLuint t = 0; + TextureSize size = {textureWidth, textureHeight}; + TextureSize nextsize = getNextTextureSize(); + bool recreatetexture = false; + + // If we have an existing texture already, we'll try replacing it with a + // larger-sized one rather than creating a second one. Having a single + // texture reduces texture switches and draw calls when rendering. + if ((nextsize.width > size.width || nextsize.height > size.height) + && !textures.empty()) + { + recreatetexture = true; + size = nextsize; + t = textures.back(); + } + else + glGenTextures(1, &t); gl.bindTexture(t); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + gl.setTextureFilter(filter); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - GLenum format = (type == FONT_TRUETYPE ? GL_LUMINANCE_ALPHA : GL_RGBA); + GLenum internalformat = type == FONT_TRUETYPE ? GL_LUMINANCE8_ALPHA8 : GL_RGBA8; - // Initialize the texture, attempting smaller sizes if initialization fails. - bool initialized = false; - while (textureSizeIndex >= 0) + // in GLES2, the internalformat and format params of TexImage have to match. + if (GLAD_ES_VERSION_2_0 && !GLAD_ES_VERSION_3_0) + internalformat = format; + + // Initialize the texture with transparent black. + std::vector emptydata(size.width * size.height * bpp, 0); + + // Clear errors before initializing. + while (glGetError() != GL_NO_ERROR); + + glTexImage2D(GL_TEXTURE_2D, 0, internalformat, size.width, size.height, 0, + format, GL_UNSIGNED_BYTE, &emptydata[0]); + + if (glGetError() != GL_NO_ERROR) { - textureWidth = TEXTURE_WIDTHS[textureSizeIndex]; - textureHeight = TEXTURE_HEIGHTS[textureSizeIndex]; - - initialized = initializeTexture(format); - - if (initialized || textureSizeIndex <= 0) - break; - - --textureSizeIndex; - } - - if (!initialized) - { - // Clean up before throwing. - gl.deleteTexture(t); - gl.bindTexture(0); - textures.pop_back(); - + if (!recreatetexture) + gl.deleteTexture(t); throw love::Exception("Could not create font texture!"); } - // Fill the texture with transparent black. - std::vector emptyData(textureWidth * textureHeight * (type == FONT_TRUETYPE ? 2 : 4), 0); - glTexSubImage2D(GL_TEXTURE_2D, - 0, - 0, 0, - (GLsizei)textureWidth, - (GLsizei)textureHeight, - format, - GL_UNSIGNED_BYTE, - &emptyData[0]); + textureWidth = size.width; + textureHeight = size.height; - setFilter(filter); + rowHeight = textureX = textureY = TEXTURE_PADDING; - size_t prevmemsize = textureMemorySize; - - textureMemorySize += emptyData.size(); + prevmemsize = textureMemorySize; + textureMemorySize += emptydata.size(); gl.updateTextureMemorySize(prevmemsize, textureMemorySize); + + // Re-add the old glyphs if we re-created the existing texture object. + if (recreatetexture) + { + textureCacheID++; + + std::vector glyphstoadd; + + for (const auto &glyphpair : glyphs) + glyphstoadd.push_back(glyphpair.first); + + glyphs.clear(); + + for (uint32 g : glyphstoadd) + addGlyph(g); + } + else + textures.push_back(t); } -Font::Glyph *Font::addGlyph(uint32 glyph) +love::font::GlyphData *Font::getRasterizerGlyphData(uint32 glyph) { - love::font::GlyphData *gd = nullptr; - // Use spaces for the tab 'glyph'. if (glyph == 9 && useSpacesAsTab) { love::font::GlyphData *spacegd = rasterizer->getGlyphData(32); + love::font::GlyphData::Format fmt = spacegd->getFormat(); love::font::GlyphMetrics gm = {}; gm.advance = spacegd->getAdvance() * SPACES_PER_TAB; gm.bearingX = spacegd->getBearingX(); gm.bearingY = spacegd->getBearingY(); - love::font::GlyphData::Format f = spacegd->getFormat(); spacegd->release(); - gd = new love::font::GlyphData(glyph, gm, f); + return new love::font::GlyphData(glyph, gm, fmt); } - else - gd = rasterizer->getGlyphData(glyph); + + return rasterizer->getGlyphData(glyph); +} + +const Font::Glyph &Font::addGlyph(uint32 glyph) +{ + love::font::GlyphData *gd = getRasterizerGlyphData(glyph); int w = gd->getWidth(); int h = gd->getHeight(); @@ -229,89 +243,91 @@ Font::Glyph *Font::addGlyph(uint32 glyph) } } - Glyph *g = new Glyph; + Glyph g; - g->texture = 0; - g->spacing = gd->getAdvance(); + g.texture = 0; + g.spacing = gd->getAdvance(); - memset(g->vertices, 0, sizeof(GlyphVertex) * 4); + memset(g.vertices, 0, sizeof(GlyphVertex) * 4); - // don't waste space for empty glyphs. also fixes a division by zero bug with ati drivers + // don't waste space for empty glyphs. also fixes a divide by zero bug with ATI drivers if (w > 0 && h > 0) { const GLuint t = textures.back(); gl.bindTexture(t); - glTexSubImage2D(GL_TEXTURE_2D, - 0, - textureX, - textureY, - w, h, - (type == FONT_TRUETYPE ? GL_LUMINANCE_ALPHA : GL_RGBA), - GL_UNSIGNED_BYTE, - gd->getData()); + glTexSubImage2D(GL_TEXTURE_2D, 0, textureX, textureY, w, h, + (type == FONT_TRUETYPE ? GL_LUMINANCE_ALPHA : GL_RGBA), + GL_UNSIGNED_BYTE, gd->getData()); - g->texture = t; + g.texture = t; + float tX = (float) textureX, tY = (float) textureY; + float tWidth = (float) textureWidth, tHeight = (float) textureHeight; + + // 0----2 + // | / | + // | / | + // 1----3 const GlyphVertex verts[4] = { - { 0.0f, 0.0f, float(textureX)/float(textureWidth), float(textureY)/float(textureHeight)}, - { 0.0f, float(h), float(textureX)/float(textureWidth), float(textureY+h)/float(textureHeight)}, - {float(w), float(h), float(textureX+w)/float(textureWidth), float(textureY+h)/float(textureHeight)}, - {float(w), 0.0f, float(textureX+w)/float(textureWidth), float(textureY)/float(textureHeight)}, + { 0.0f, 0.0f, tX/tWidth, tY/tHeight}, + { 0.0f, float(h), tX/tWidth, (tY+h)/tHeight}, + {float(w), 0.0f, (tX+w)/tWidth, tY/tHeight}, + {float(w), float(h), (tX+w)/tWidth, (tY+h)/tHeight} }; - // copy vertex data to the glyph and set proper bearing + // Copy vertex data to the glyph and set proper bearing. for (int i = 0; i < 4; i++) { - g->vertices[i] = verts[i]; - g->vertices[i].x += gd->getBearingX(); - g->vertices[i].y -= gd->getBearingY(); + g.vertices[i] = verts[i]; + g.vertices[i].x += gd->getBearingX(); + g.vertices[i].y -= gd->getBearingY(); } } if (w > 0) textureX += (w + TEXTURE_PADDING); + if (h > 0) rowHeight = std::max(rowHeight, h + TEXTURE_PADDING); - delete gd; + gd->release(); - glyphs[glyph] = g; + const auto p = glyphs.insert(std::make_pair(glyph, g)); - return g; + return p.first->second; } -Font::Glyph *Font::findGlyph(uint32 glyph) +const Font::Glyph &Font::findGlyph(uint32 glyph) { - auto it = glyphs.find(glyph); + const auto it = glyphs.find(glyph); if (it != glyphs.end()) return it->second; - else - return addGlyph(glyph); + + return addGlyph(glyph); } float Font::getHeight() const { - return static_cast(height); + return (float) height; } -void Font::print(const std::string &text, float x, float y, float extra_spacing, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +std::vector Font::generateVertices(const std::string &text, std::vector &vertices, float extra_spacing, Vector offset, TextInfo *info) { // Spacing counter and newline handling. - float dx = 0.0f; - float dy = 0.0f; + float dx = offset.x; + float dy = offset.y; float lineheight = getBaseline(); + int maxwidth = 0; // Keeps track of when we need to switch textures in our vertex array. - std::vector glyphinfolist; + std::vector drawcommands; // Pre-allocate space for the maximum possible number of vertices. - std::vector glyphverts; - glyphverts.reserve(text.length() * 4); - - int vertexcount = 0; + size_t vertstartsize = vertices.size(); + vertices.reserve(vertstartsize + text.length() * 4); try { @@ -324,41 +340,57 @@ void Font::print(const std::string &text, float x, float y, float extra_spacing, if (g == '\n') { + if (dx > maxwidth) + maxwidth = (int) dx; + // Wrap newline, but do not print it. dy += floorf(getHeight() * getLineHeight() + 0.5f); - dx = 0.0f; + dx = offset.x; continue; } - Glyph *glyph = findGlyph(g); + uint32 cacheid = textureCacheID; - if (glyph->texture != 0) + const Glyph &glyph = findGlyph(g); + + // If findGlyph invalidates the texture cache, re-start the loop. + if (cacheid != textureCacheID) + { + i = utf8::iterator(text.begin(), text.begin(), text.end()); + maxwidth = 0; + dx = offset.x; + dy = offset.y; + drawcommands.clear(); + vertices.resize(vertstartsize); + continue; + } + + if (glyph.texture != 0) { // Copy the vertices and set their proper relative positions. for (int j = 0; j < 4; j++) { - glyphverts.push_back(glyph->vertices[j]); - glyphverts.back().x += dx; - glyphverts.back().y += dy + lineheight; + vertices.push_back(glyph.vertices[j]); + vertices.back().x += dx; + vertices.back().y += dy + lineheight; } // Check if glyph texture has changed since the last iteration. - if (glyphinfolist.size() == 0 || glyphinfolist.back().texture != glyph->texture) + if (drawcommands.empty() || drawcommands.back().texture != glyph.texture) { - // keep track of each sub-section of the string whose glyphs use different textures than the previous section - GlyphArrayDrawInfo gdrawinfo; - gdrawinfo.startvertex = vertexcount; - gdrawinfo.vertexcount = 0; - gdrawinfo.texture = glyph->texture; - glyphinfolist.push_back(gdrawinfo); + // Add a new draw command if the texture has changed. + DrawCommand cmd; + cmd.startvertex = (int) vertices.size() - 4; + cmd.vertexcount = 0; + cmd.texture = glyph.texture; + drawcommands.push_back(cmd); } - vertexcount += 4; - glyphinfolist.back().vertexcount += 4; + drawcommands.back().vertexcount += 4; } // Advance the x position for the next glyph. - dx += glyph->spacing; + dx += glyph.spacing; // Account for extra spacing given to space characters. if (g == ' ' && extra_spacing != 0.0f) @@ -370,38 +402,199 @@ void Font::print(const std::string &text, float x, float y, float extra_spacing, throw love::Exception("UTF-8 decoding error: %s", e.what()); } - if (vertexcount <= 0 || glyphinfolist.size() == 0) + // Sort draw commands by texture first, and quad position in memory second + // (using the struct's < operator). + std::sort(drawcommands.begin(), drawcommands.end()); + + if (dx > maxwidth) + maxwidth = (int) dx; + + if (info != nullptr) + { + info->width = maxwidth - offset.x;; + info->height = (int) dy + (dx > 0.0f ? floorf(getHeight() * getLineHeight() + 0.5f) : 0) - offset.y; + } + + return drawcommands; +} + +std::vector Font::generateVerticesFormatted(const std::string &text, float wrap, AlignMode align, std::vector &vertices, TextInfo *info) +{ + if (wrap < 0.0f) + wrap = std::numeric_limits::max(); + + uint32 cacheid = textureCacheID; + + std::vector drawcommands; + vertices.reserve(text.length() * 4); + + // wrappedlines indicates which lines were automatically wrapped. It + // has the same number of elements as lines_to_draw. + std::vector wrappedlines; + std::vector widths; + std::vector lines; + + // We only need the list of wrapped lines in 'justify' mode. + getWrap(text, wrap, lines, &widths, align == ALIGN_JUSTIFY ? &wrappedlines : nullptr); + + float extraspacing = 0.0f; + int numspaces = 0; + int i = 0; + float y = 0.0f; + float maxwidth = 0; + + for (const std::string &line : lines) + { + extraspacing = 0.0f; + float width = (float) widths[i]; + love::Vector offset(0.0f, floorf(y)); + + if (width > maxwidth) + maxwidth = width; + + switch (align) + { + case ALIGN_RIGHT: + offset.x = floorf(wrap - width); + break; + case ALIGN_CENTER: + offset.x = floorf((wrap - width) / 2.0f); + break; + case ALIGN_JUSTIFY: + numspaces = (int) std::count(line.begin(), line.end(), ' '); + if (wrappedlines[i] && numspaces >= 1) + extraspacing = (wrap - width) / float(numspaces); + else + extraspacing = 0.0f; + break; + case ALIGN_LEFT: + default: + break; + } + + std::vector commands = generateVertices(line, vertices, extraspacing, offset); + + if (!commands.empty()) + { + auto firstcmd = commands.begin(); + + // If the first draw command in the new list has the same texture + // as the last one in the existing list we're building and its + // vertices are in-order, we can combine them (saving a draw call.) + if (!drawcommands.empty()) + { + auto prevcmd = drawcommands.back(); + if (prevcmd.texture == firstcmd->texture && (prevcmd.startvertex + prevcmd.vertexcount) == firstcmd->startvertex) + { + drawcommands.back().vertexcount += firstcmd->vertexcount; + ++firstcmd; + } + } + + // Append the new draw commands to the list we're building. + drawcommands.insert(drawcommands.end(), firstcmd, commands.end()); + } + + y += getHeight() * getLineHeight(); + i++; + } + + if (info != nullptr) + { + info->width = (int) maxwidth; + info->height = (int) y; + } + + if (cacheid != textureCacheID) + { + vertices.clear(); + drawcommands = generateVerticesFormatted(text, wrap, align, vertices); + } + + return drawcommands; +} + +void Font::drawVertices(const std::vector &drawcommands) +{ + // Vertex attribute pointers need to be set before calling this function. + // This assumes that the attribute pointers are constant for all vertices. + + int totalverts = 0; + for (const DrawCommand &cmd : drawcommands) + totalverts = std::max(cmd.startvertex + cmd.vertexcount, totalverts); + + if ((size_t) totalverts / 4 > indexBuffer.getSize()) + indexBuffer = VertexIndex((size_t) totalverts / 4); + + gl.prepareDraw(); + + const GLenum gltype = indexBuffer.getType(); + const size_t elemsize = indexBuffer.getElementSize(); + + VertexBuffer::Bind bind(*indexBuffer.getVertexBuffer()); + + // We need a separate draw call for every section of the text which uses a + // different texture than the previous section. + for (const DrawCommand &cmd : drawcommands) + { + GLsizei count = (cmd.vertexcount / 4) * 6; + size_t offset = (cmd.startvertex / 4) * 6 * elemsize; + + // TODO: Use glDrawElementsBaseVertex when supported? + gl.bindTexture(cmd.texture); + gl.drawElements(GL_TRIANGLES, count, gltype, indexBuffer.getPointer(offset)); + } +} + +void Font::printv(const Matrix &t, const std::vector &drawcommands, const std::vector &vertices) +{ + if (vertices.empty() || drawcommands.empty()) return; - // Sort glyph draw info list by texture first, and quad position in memory - // second (using the struct's < operator). - std::sort(glyphinfolist.begin(), glyphinfolist.end()); - - Matrix t; - t.setTransformation(ceilf(x), ceilf(y), angle, sx, sy, ox, oy, kx, ky); - OpenGL::TempTransform transform(gl); transform.get() *= t; - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); - glVertexPointer(2, GL_FLOAT, sizeof(GlyphVertex), (GLvoid *)&glyphverts[0].x); - glTexCoordPointer(2, GL_FLOAT, sizeof(GlyphVertex), (GLvoid *)&glyphverts[0].s); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(GlyphVertex), &vertices[0].x); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(GlyphVertex), &vertices[0].s); - gl.prepareDraw(); - - // We need to draw a new vertex array for every section of the string which - // uses a different texture than the previous section. - std::vector::const_iterator it; - for (it = glyphinfolist.begin(); it != glyphinfolist.end(); ++it) + try { - gl.bindTexture(it->texture); - gl.drawArrays(GL_QUADS, it->startvertex, it->vertexcount); + drawVertices(drawcommands); + } + catch (love::Exception &) + { + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); + throw; } - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); +} + +void Font::print(const std::string &text, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +{ + std::vector vertices; + std::vector drawcommands = generateVertices(text, vertices); + + Matrix t; + t.setTransformation(ceilf(x), ceilf(y), angle, sx, sy, ox, oy, kx, ky); + + printv(t, drawcommands, vertices); +} + +void Font::printf(const std::string &text, float x, float y, float wrap, AlignMode align, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +{ + std::vector vertices; + std::vector drawcommands = generateVerticesFormatted(text, wrap, align, vertices); + + Matrix t; + t.setTransformation(ceilf(x), ceilf(y), angle, sx, sy, ox, oy, kx, ky); + + printv(t, drawcommands, vertices); } int Font::getWidth(const std::string &str) @@ -410,7 +603,6 @@ int Font::getWidth(const std::string &str) std::istringstream iss(str); std::string line; - Glyph *g; int max_width = 0; while (getline(iss, line, '\n')) @@ -423,8 +615,8 @@ int Font::getWidth(const std::string &str) while (i != end) { uint32 c = *i++; - g = findGlyph(c); - width += static_cast(g->spacing * mSpacing); + const Glyph &g = findGlyph(c); + width += g.spacing; } } catch(utf8::exception &e) @@ -441,16 +633,14 @@ int Font::getWidth(const std::string &str) int Font::getWidth(char character) { - Glyph *g = findGlyph(character); - return g->spacing; + const Glyph &g = findGlyph(character); + return g.spacing; } -std::vector Font::getWrap(const std::string &text, float wrap, int *max_width, std::vector *wrappedlines) +void Font::getWrap(const std::string &text, float wrap, std::vector &lines, std::vector *linewidths, std::vector *wrappedlines) { using namespace std; - const float width_space = static_cast(getWidth(' ')); - vector lines_to_draw; - int maxw = 0; + const float width_space = (float) getWidth(' '); //split text at newlines istringstream iss(text); @@ -481,12 +671,13 @@ std::vector Font::getWrap(const std::string &text, float wrap, int // remove trailing space string tmp = string_builder.str(); - lines_to_draw.push_back(tmp.substr(0,tmp.size()-1)); + lines.push_back(tmp.substr(0,tmp.size()-1)); string_builder.str(""); width = static_cast(getWidth(word)); realw -= (int) width; - if (realw > maxw) - maxw = realw; + + if (linewidths) + linewidths->push_back(realw); // Indicate that this line was automatically wrapped. if (wrappedlines) @@ -497,25 +688,21 @@ std::vector Font::getWrap(const std::string &text, float wrap, int oldwidth = width; } // push last line - if (width > maxw) - maxw = (int) width; + if (linewidths) + linewidths->push_back(width); + string tmp = string_builder.str(); - lines_to_draw.push_back(tmp.substr(0,tmp.size()-1)); + lines.push_back(tmp.substr(0,tmp.size()-1)); // Indicate that this line was not automatically wrapped. if (wrappedlines) wrappedlines->push_back(false); } - - if (max_width) - *max_width = maxw; - - return lines_to_draw; } void Font::setLineHeight(float height) { - this->lineHeight = height; + lineHeight = height; } float Font::getLineHeight() const @@ -523,23 +710,16 @@ float Font::getLineHeight() const return lineHeight; } -void Font::setSpacing(float amount) -{ - mSpacing = amount; -} - -float Font::getSpacing() const -{ - return mSpacing; -} - void Font::setFilter(const Texture::Filter &f) { + if (!Texture::validateFilter(f, false)) + throw love::Exception("Invalid texture filter."); + filter = f; - for (auto it = textures.begin(); it != textures.end(); ++it) + for (GLuint texture : textures) { - gl.bindTexture(*it); + gl.bindTexture(texture); gl.setTextureFilter(filter); } } @@ -552,26 +732,19 @@ const Texture::Filter &Font::getFilter() bool Font::loadVolatile() { createTexture(); + textureCacheID++; return true; } void Font::unloadVolatile() { // nuke everything from orbit - std::map::iterator it = glyphs.begin(); - Glyph *g; - while (it != glyphs.end()) - { - g = it->second; - delete g; - glyphs.erase(it++); - } - std::vector::iterator iter = textures.begin(); - while (iter != textures.end()) - { - gl.deleteTexture(*iter); - iter++; - } + + glyphs.clear(); + + for (GLuint texture : textures) + gl.deleteTexture(texture); + textures.clear(); gl.updateTextureMemorySize(textureMemorySize, 0); @@ -604,6 +777,31 @@ bool Font::hasGlyphs(const std::string &text) const return rasterizer->hasGlyphs(text); } +uint32 Font::getTextureCacheID() const +{ + return textureCacheID; +} + +bool Font::getConstant(const char *in, AlignMode &out) +{ + return alignModes.find(in, out); +} + +bool Font::getConstant(AlignMode in, const char *&out) +{ + return alignModes.find(in, out); +} + +StringMap::Entry Font::alignModeEntries[] = +{ + { "left", Font::ALIGN_LEFT }, + { "right", Font::ALIGN_RIGHT }, + { "center", Font::ALIGN_CENTER }, + { "justify", Font::ALIGN_JUSTIFY }, +}; + +StringMap Font::alignModes(Font::alignModeEntries, sizeof(Font::alignModeEntries)); + } // opengl } // graphics } // love diff --git a/src/modules/graphics/opengl/Font.h b/src/modules/graphics/opengl/Font.h index a7ac30b6f..ac31e6121 100644 --- a/src/modules/graphics/opengl/Font.h +++ b/src/modules/graphics/opengl/Font.h @@ -22,15 +22,20 @@ #define LOVE_GRAPHICS_OPENGL_FONT_H // STD -#include +#include #include #include // LOVE +#include "common/config.h" #include "common/Object.h" +#include "common/Matrix.h" +#include "common/Vector.h" + #include "font/Rasterizer.h" #include "graphics/Texture.h" #include "graphics/Volatile.h" +#include "VertexBuffer.h" #include "OpenGL.h" @@ -45,17 +50,60 @@ class Font : public Object, public Volatile { public: + enum AlignMode + { + ALIGN_LEFT, + ALIGN_CENTER, + ALIGN_RIGHT, + ALIGN_JUSTIFY, + ALIGN_MAX_ENUM + }; + + struct GlyphVertex + { + float x, y; + float s, t; + }; + + struct TextInfo + { + int width; + int height; + }; + + // Used to determine when to change textures in the generated vertex array. + struct DrawCommand + { + GLuint texture; + int startvertex; + int vertexcount; + + // used when sorting with std::sort. + bool operator < (const DrawCommand &other) const + { + // Texture binds are expensive, so we should sort by that first. + if (texture != other.texture) + return texture < other.texture; + else + return startvertex < other.startvertex; + } + }; + Font(love::font::Rasterizer *r, const Texture::Filter &filter = Texture::getDefaultFilter()); virtual ~Font(); + std::vector generateVertices(const std::string &text, std::vector &vertices, float extra_spacing = 0.0f, Vector offset = Vector(), TextInfo *info = nullptr); + std::vector generateVerticesFormatted(const std::string &text, float wrap, AlignMode align, std::vector &vertices, TextInfo *info = nullptr); + + void drawVertices(const std::vector &drawcommands); + /** * Prints the text at the designated position with rotation and scaling. * * @param text A string. * @param x The x-coordinate. * @param y The y-coordinate. - * @param extra_spacing Additional spacing added to spaces (" "). * @param angle The amount of rotation. * @param sx Scale along the x axis. * @param sy Scale along the y axis. @@ -64,7 +112,9 @@ public: * @param kx Shear along the x axis. * @param ky Shear along the y axis. **/ - void print(const std::string &text, float x, float y, float extra_spacing = 0.0f, float angle = 0.0f, float sx = 1.0f, float sy = 1.0f, float ox = 0.0f, float oy = 0.0f, float kx = 0.0f, float ky = 0.0f); + void print(const std::string &text, float x, float y, float angle = 0.0f, float sx = 1.0f, float sy = 1.0f, float ox = 0.0f, float oy = 0.0f, float kx = 0.0f, float ky = 0.0f); + + void printf(const std::string &text, float x, float y, float wrap, AlignMode align, float angle = 0.0f, float sx = 1.0f, float sy = 1.0f, float ox = 0.0f, float oy = 0.0f, float kx = 0.0f, float ky = 0.0f); /** * Returns the height of the font. @@ -96,7 +146,7 @@ public: * auto-wrapped. Indices correspond to indices of the returned value. * Returns a vector with the lines. **/ - std::vector getWrap(const std::string &text, float wrap, int *max_width = 0, std::vector *wrapped_lines = 0); + void getWrap(const std::string &text, float wrap, std::vector &lines, std::vector *line_widths = 0, std::vector *wrapped_lines = 0); /** * Sets the line height (which should be a number to multiply the font size by, @@ -110,19 +160,6 @@ public: **/ float getLineHeight() const; - /** - * Sets the spacing modifier (changes the spacing between the characters the - * same way that the line height does [multiplication]). - * Note: The spacing must be set BEFORE the font is loaded to have any effect. - * @param amount The amount of modification. - **/ - void setSpacing(float amount); - - /** - * Returns the spacing modifier. - **/ - float getSpacing() const; - void setFilter(const Texture::Filter &f); const Texture::Filter &getFilter(); @@ -138,6 +175,11 @@ public: bool hasGlyph(uint32 glyph) const; bool hasGlyphs(const std::string &text) const; + uint32 getTextureCacheID() const; + + static bool getConstant(const char *in, AlignMode &out); + static bool getConstant(AlignMode in, const char *&out); + static int fontCount; private: @@ -149,12 +191,6 @@ private: FONT_UNKNOWN }; - struct GlyphVertex - { - float x, y; - float s, t; - }; - struct Glyph { GLuint texture; @@ -162,36 +198,24 @@ private: GlyphVertex vertices[4]; }; - // used to determine when to change textures in the vertex array generated when printing text - struct GlyphArrayDrawInfo + struct TextureSize { - GLuint texture; - int startvertex; - int vertexcount; - - // used when sorting with std::sort - // sorts by texture first (binding textures is expensive) and relative position in memory second - bool operator < (const GlyphArrayDrawInfo &other) const - { - if (texture != other.texture) - return texture < other.texture; - else - return startvertex < other.startvertex; - } + int width; + int height; }; - bool initializeTexture(GLenum format); + TextureSize getNextTextureSize() const; void createTexture(); - Glyph *addGlyph(uint32 glyph); - Glyph *findGlyph(uint32 glyph); + love::font::GlyphData *getRasterizerGlyphData(uint32 glyph); + const Glyph &addGlyph(uint32 glyph); + const Glyph &findGlyph(uint32 glyph); + void printv(const Matrix &t, const std::vector &drawcommands, const std::vector &vertices); StrongRef rasterizer; int height; float lineHeight; - float mSpacing; // modifies the spacing by multiplying it with this value - int textureSizeIndex; int textureWidth; int textureHeight; @@ -199,7 +223,7 @@ private: std::vector textures; // maps glyphs to glyph texture information - std::map glyphs; + std::unordered_map glyphs; FontType type; Texture::Filter filter; @@ -209,17 +233,22 @@ private: bool useSpacesAsTab; - size_t textureMemorySize; + // Index buffer used for drawing quads with GL_TRIANGLES. + VertexIndex indexBuffer; - static const int NUM_TEXTURE_SIZES = 7; - static const int TEXTURE_WIDTHS[NUM_TEXTURE_SIZES]; - static const int TEXTURE_HEIGHTS[NUM_TEXTURE_SIZES]; + // ID which is incremented when the texture cache is invalidated. + uint32 textureCacheID; + + size_t textureMemorySize; static const int TEXTURE_PADDING = 1; // This will be used if the Rasterizer doesn't have a tab character itself. static const int SPACES_PER_TAB = 4; + static StringMap::Entry alignModeEntries[]; + static StringMap alignModes; + }; // Font } // opengl diff --git a/src/modules/graphics/opengl/GLee.c b/src/modules/graphics/opengl/GLee.c deleted file mode 100644 index 01f6279d9..000000000 --- a/src/modules/graphics/opengl/GLee.c +++ /dev/null @@ -1,25454 +0,0 @@ -/*************************************************************************** -* -* GLee.c -* GLee (OpenGL Easy Extension library) -* Version : 5.5 -* -* Copyright (c)2011 Ben Woodhouse All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are -* met: -* 1. Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer as -* the first lines of this file unmodified. -* 2. Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY BEN WOODHOUSE ``AS IS'' AND ANY EXPRESS OR -* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -* IN NO EVENT SHALL BEN WOODHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* Web: http://elf-stone.com/glee.php -* -* [This file was automatically generated by GLeeGen 7.0 -* -***************************************************************************/ - -#ifdef _MSC_VER - #pragma optimize( "g", off ) -#endif - -#include -#include -#include -#include "GLee.h" - -#if defined(__APPLE__) || defined(__APPLE_CC__) -#define GLEE_USE_SDL -#ifdef GLEE_USE_SDL - #include -#else - #include -#endif -#endif - -typedef GLuint(*GLEE_LINK_FUNCTION)(void); - -GLboolean __GLeeInited=GL_FALSE; - -#ifndef _WIN32 - #define __stdcall /* nothing */ -#endif - -#ifdef _MSC_VER - #define snprintf sprintf_s - #define strdup _strdup -#endif - -GLEE_FUNC __GLeeGetProcAddress(const char *extname) -{ -#ifdef _WIN32 - return (GLEE_FUNC)wglGetProcAddress(extname); -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#if defined(GLEE_USE_SDL) - return SDL_GL_GetProcAddress(extname); -#else - CFBundleRef bundle; - CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, true); - - CFStringRef functionName = CFStringCreateWithCString(kCFAllocatorDefault, extname, kCFStringEncodingASCII); - - GLEE_FUNC function; - - bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL); - - if (bundle == NULL) - { - CFRelease(bundleURL); - CFRelease(functionName); - return NULL; - } - - function = CFBundleGetFunctionPointerForName(bundle, functionName); - - CFRelease(bundleURL); - CFRelease(functionName); - CFRelease(bundle); - - return function; -#endif -#else - return (GLEE_FUNC)glXGetProcAddressARB((const GLubyte *)extname); -#endif -} - - - - -/* Extension querying variables */ - -GLboolean _GLEE_VERSION_1_2 = GL_FALSE; -GLboolean _GLEE_ARB_imaging = GL_FALSE; -GLboolean _GLEE_VERSION_1_3 = GL_FALSE; -GLboolean _GLEE_VERSION_1_4 = GL_FALSE; -GLboolean _GLEE_VERSION_1_5 = GL_FALSE; -GLboolean _GLEE_VERSION_2_0 = GL_FALSE; -GLboolean _GLEE_VERSION_2_1 = GL_FALSE; -GLboolean _GLEE_VERSION_3_0 = GL_FALSE; -GLboolean _GLEE_VERSION_3_1 = GL_FALSE; -GLboolean _GLEE_VERSION_3_2 = GL_FALSE; -GLboolean _GLEE_VERSION_3_3 = GL_FALSE; -GLboolean _GLEE_VERSION_4_0 = GL_FALSE; -GLboolean _GLEE_VERSION_4_1 = GL_FALSE; -GLboolean _GLEE_VERSION_4_2 = GL_FALSE; -GLboolean _GLEE_VERSION_4_3 = GL_FALSE; -GLboolean _GLEE_ARB_multitexture = GL_FALSE; -GLboolean _GLEE_ARB_transpose_matrix = GL_FALSE; -GLboolean _GLEE_ARB_multisample = GL_FALSE; -GLboolean _GLEE_ARB_texture_env_add = GL_FALSE; -GLboolean _GLEE_ARB_texture_cube_map = GL_FALSE; -GLboolean _GLEE_ARB_texture_compression = GL_FALSE; -GLboolean _GLEE_ARB_texture_border_clamp = GL_FALSE; -GLboolean _GLEE_ARB_point_parameters = GL_FALSE; -GLboolean _GLEE_ARB_vertex_blend = GL_FALSE; -GLboolean _GLEE_ARB_matrix_palette = GL_FALSE; -GLboolean _GLEE_ARB_texture_env_combine = GL_FALSE; -GLboolean _GLEE_ARB_texture_env_crossbar = GL_FALSE; -GLboolean _GLEE_ARB_texture_env_dot3 = GL_FALSE; -GLboolean _GLEE_ARB_texture_mirrored_repeat = GL_FALSE; -GLboolean _GLEE_ARB_depth_texture = GL_FALSE; -GLboolean _GLEE_ARB_shadow = GL_FALSE; -GLboolean _GLEE_ARB_shadow_ambient = GL_FALSE; -GLboolean _GLEE_ARB_window_pos = GL_FALSE; -GLboolean _GLEE_ARB_vertex_program = GL_FALSE; -GLboolean _GLEE_ARB_fragment_program = GL_FALSE; -GLboolean _GLEE_ARB_vertex_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_occlusion_query = GL_FALSE; -GLboolean _GLEE_ARB_shader_objects = GL_FALSE; -GLboolean _GLEE_ARB_vertex_shader = GL_FALSE; -GLboolean _GLEE_ARB_fragment_shader = GL_FALSE; -GLboolean _GLEE_ARB_shading_language_100 = GL_FALSE; -GLboolean _GLEE_ARB_texture_non_power_of_two = GL_FALSE; -GLboolean _GLEE_ARB_point_sprite = GL_FALSE; -GLboolean _GLEE_ARB_fragment_program_shadow = GL_FALSE; -GLboolean _GLEE_ARB_draw_buffers = GL_FALSE; -GLboolean _GLEE_ARB_texture_rectangle = GL_FALSE; -GLboolean _GLEE_ARB_color_buffer_float = GL_FALSE; -GLboolean _GLEE_ARB_half_float_pixel = GL_FALSE; -GLboolean _GLEE_ARB_texture_float = GL_FALSE; -GLboolean _GLEE_ARB_pixel_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_depth_buffer_float = GL_FALSE; -GLboolean _GLEE_ARB_draw_instanced = GL_FALSE; -GLboolean _GLEE_ARB_framebuffer_object = GL_FALSE; -GLboolean _GLEE_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_ARB_geometry_shader4 = GL_FALSE; -GLboolean _GLEE_ARB_half_float_vertex = GL_FALSE; -GLboolean _GLEE_ARB_instanced_arrays = GL_FALSE; -GLboolean _GLEE_ARB_map_buffer_range = GL_FALSE; -GLboolean _GLEE_ARB_texture_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_texture_compression_rgtc = GL_FALSE; -GLboolean _GLEE_ARB_texture_rg = GL_FALSE; -GLboolean _GLEE_ARB_vertex_array_object = GL_FALSE; -GLboolean _GLEE_ARB_uniform_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_compatibility = GL_FALSE; -GLboolean _GLEE_ARB_copy_buffer = GL_FALSE; -GLboolean _GLEE_ARB_shader_texture_lod = GL_FALSE; -GLboolean _GLEE_ARB_depth_clamp = GL_FALSE; -GLboolean _GLEE_ARB_draw_elements_base_vertex = GL_FALSE; -GLboolean _GLEE_ARB_fragment_coord_conventions = GL_FALSE; -GLboolean _GLEE_ARB_provoking_vertex = GL_FALSE; -GLboolean _GLEE_ARB_seamless_cube_map = GL_FALSE; -GLboolean _GLEE_ARB_sync = GL_FALSE; -GLboolean _GLEE_ARB_texture_multisample = GL_FALSE; -GLboolean _GLEE_ARB_vertex_array_bgra = GL_FALSE; -GLboolean _GLEE_ARB_draw_buffers_blend = GL_FALSE; -GLboolean _GLEE_ARB_sample_shading = GL_FALSE; -GLboolean _GLEE_ARB_texture_cube_map_array = GL_FALSE; -GLboolean _GLEE_ARB_texture_gather = GL_FALSE; -GLboolean _GLEE_ARB_texture_query_lod = GL_FALSE; -GLboolean _GLEE_ARB_shading_language_include = GL_FALSE; -GLboolean _GLEE_ARB_texture_compression_bptc = GL_FALSE; -GLboolean _GLEE_ARB_blend_func_extended = GL_FALSE; -GLboolean _GLEE_ARB_explicit_attrib_location = GL_FALSE; -GLboolean _GLEE_ARB_occlusion_query2 = GL_FALSE; -GLboolean _GLEE_ARB_sampler_objects = GL_FALSE; -GLboolean _GLEE_ARB_shader_bit_encoding = GL_FALSE; -GLboolean _GLEE_ARB_texture_rgb10_a2ui = GL_FALSE; -GLboolean _GLEE_ARB_texture_swizzle = GL_FALSE; -GLboolean _GLEE_ARB_timer_query = GL_FALSE; -GLboolean _GLEE_ARB_vertex_type_2_10_10_10_rev = GL_FALSE; -GLboolean _GLEE_ARB_draw_indirect = GL_FALSE; -GLboolean _GLEE_ARB_gpu_shader5 = GL_FALSE; -GLboolean _GLEE_ARB_gpu_shader_fp64 = GL_FALSE; -GLboolean _GLEE_ARB_shader_subroutine = GL_FALSE; -GLboolean _GLEE_ARB_tessellation_shader = GL_FALSE; -GLboolean _GLEE_ARB_texture_buffer_object_rgb32 = GL_FALSE; -GLboolean _GLEE_ARB_transform_feedback2 = GL_FALSE; -GLboolean _GLEE_ARB_transform_feedback3 = GL_FALSE; -GLboolean _GLEE_ARB_ES2_compatibility = GL_FALSE; -GLboolean _GLEE_ARB_get_program_binary = GL_FALSE; -GLboolean _GLEE_ARB_separate_shader_objects = GL_FALSE; -GLboolean _GLEE_ARB_shader_precision = GL_FALSE; -GLboolean _GLEE_ARB_vertex_attrib_64bit = GL_FALSE; -GLboolean _GLEE_ARB_viewport_array = GL_FALSE; -GLboolean _GLEE_ARB_cl_event = GL_FALSE; -GLboolean _GLEE_ARB_debug_output = GL_FALSE; -GLboolean _GLEE_ARB_robustness = GL_FALSE; -GLboolean _GLEE_ARB_shader_stencil_export = GL_FALSE; -GLboolean _GLEE_ARB_base_instance = GL_FALSE; -GLboolean _GLEE_ARB_shading_language_420pack = GL_FALSE; -GLboolean _GLEE_ARB_transform_feedback_instanced = GL_FALSE; -GLboolean _GLEE_ARB_compressed_texture_pixel_storage = GL_FALSE; -GLboolean _GLEE_ARB_conservative_depth = GL_FALSE; -GLboolean _GLEE_ARB_internalformat_query = GL_FALSE; -GLboolean _GLEE_ARB_map_buffer_alignment = GL_FALSE; -GLboolean _GLEE_ARB_shader_atomic_counters = GL_FALSE; -GLboolean _GLEE_ARB_shader_image_load_store = GL_FALSE; -GLboolean _GLEE_ARB_shading_language_packing = GL_FALSE; -GLboolean _GLEE_ARB_texture_storage = GL_FALSE; -GLboolean _GLEE_KHR_texture_compression_astc_ldr = GL_FALSE; -GLboolean _GLEE_KHR_debug = GL_FALSE; -GLboolean _GLEE_ARB_arrays_of_arrays = GL_FALSE; -GLboolean _GLEE_ARB_clear_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_compute_shader = GL_FALSE; -GLboolean _GLEE_ARB_copy_image = GL_FALSE; -GLboolean _GLEE_ARB_texture_view = GL_FALSE; -GLboolean _GLEE_ARB_vertex_attrib_binding = GL_FALSE; -GLboolean _GLEE_ARB_robustness_isolation = GL_FALSE; -GLboolean _GLEE_ARB_ES3_compatibility = GL_FALSE; -GLboolean _GLEE_ARB_explicit_uniform_location = GL_FALSE; -GLboolean _GLEE_ARB_fragment_layer_viewport = GL_FALSE; -GLboolean _GLEE_ARB_framebuffer_no_attachments = GL_FALSE; -GLboolean _GLEE_ARB_internalformat_query2 = GL_FALSE; -GLboolean _GLEE_ARB_invalidate_subdata = GL_FALSE; -GLboolean _GLEE_ARB_multi_draw_indirect = GL_FALSE; -GLboolean _GLEE_ARB_program_interface_query = GL_FALSE; -GLboolean _GLEE_ARB_robust_buffer_access_behavior = GL_FALSE; -GLboolean _GLEE_ARB_shader_image_size = GL_FALSE; -GLboolean _GLEE_ARB_shader_storage_buffer_object = GL_FALSE; -GLboolean _GLEE_ARB_stencil_texturing = GL_FALSE; -GLboolean _GLEE_ARB_texture_buffer_range = GL_FALSE; -GLboolean _GLEE_ARB_texture_query_levels = GL_FALSE; -GLboolean _GLEE_ARB_texture_storage_multisample = GL_FALSE; -GLboolean _GLEE_EXT_abgr = GL_FALSE; -GLboolean _GLEE_EXT_blend_color = GL_FALSE; -GLboolean _GLEE_EXT_polygon_offset = GL_FALSE; -GLboolean _GLEE_EXT_texture = GL_FALSE; -GLboolean _GLEE_EXT_texture3D = GL_FALSE; -GLboolean _GLEE_SGIS_texture_filter4 = GL_FALSE; -GLboolean _GLEE_EXT_subtexture = GL_FALSE; -GLboolean _GLEE_EXT_copy_texture = GL_FALSE; -GLboolean _GLEE_EXT_histogram = GL_FALSE; -GLboolean _GLEE_EXT_convolution = GL_FALSE; -GLboolean _GLEE_SGI_color_matrix = GL_FALSE; -GLboolean _GLEE_SGI_color_table = GL_FALSE; -GLboolean _GLEE_SGIS_pixel_texture = GL_FALSE; -GLboolean _GLEE_SGIX_pixel_texture = GL_FALSE; -GLboolean _GLEE_SGIS_texture4D = GL_FALSE; -GLboolean _GLEE_SGI_texture_color_table = GL_FALSE; -GLboolean _GLEE_EXT_cmyka = GL_FALSE; -GLboolean _GLEE_EXT_texture_object = GL_FALSE; -GLboolean _GLEE_SGIS_detail_texture = GL_FALSE; -GLboolean _GLEE_SGIS_sharpen_texture = GL_FALSE; -GLboolean _GLEE_EXT_packed_pixels = GL_FALSE; -GLboolean _GLEE_SGIS_texture_lod = GL_FALSE; -GLboolean _GLEE_SGIS_multisample = GL_FALSE; -GLboolean _GLEE_EXT_rescale_normal = GL_FALSE; -GLboolean _GLEE_EXT_vertex_array = GL_FALSE; -GLboolean _GLEE_EXT_misc_attribute = GL_FALSE; -GLboolean _GLEE_SGIS_generate_mipmap = GL_FALSE; -GLboolean _GLEE_SGIX_clipmap = GL_FALSE; -GLboolean _GLEE_SGIX_shadow = GL_FALSE; -GLboolean _GLEE_SGIS_texture_edge_clamp = GL_FALSE; -GLboolean _GLEE_SGIS_texture_border_clamp = GL_FALSE; -GLboolean _GLEE_EXT_blend_minmax = GL_FALSE; -GLboolean _GLEE_EXT_blend_subtract = GL_FALSE; -GLboolean _GLEE_EXT_blend_logic_op = GL_FALSE; -GLboolean _GLEE_SGIX_interlace = GL_FALSE; -GLboolean _GLEE_SGIX_pixel_tiles = GL_FALSE; -GLboolean _GLEE_SGIS_texture_select = GL_FALSE; -GLboolean _GLEE_SGIX_sprite = GL_FALSE; -GLboolean _GLEE_SGIX_texture_multi_buffer = GL_FALSE; -GLboolean _GLEE_EXT_point_parameters = GL_FALSE; -GLboolean _GLEE_SGIS_point_parameters = GL_FALSE; -GLboolean _GLEE_SGIX_instruments = GL_FALSE; -GLboolean _GLEE_SGIX_texture_scale_bias = GL_FALSE; -GLboolean _GLEE_SGIX_framezoom = GL_FALSE; -GLboolean _GLEE_SGIX_tag_sample_buffer = GL_FALSE; -GLboolean _GLEE_FfdMaskSGIX = GL_FALSE; -GLboolean _GLEE_SGIX_polynomial_ffd = GL_FALSE; -GLboolean _GLEE_SGIX_reference_plane = GL_FALSE; -GLboolean _GLEE_SGIX_flush_raster = GL_FALSE; -GLboolean _GLEE_SGIX_depth_texture = GL_FALSE; -GLboolean _GLEE_SGIS_fog_function = GL_FALSE; -GLboolean _GLEE_SGIX_fog_offset = GL_FALSE; -GLboolean _GLEE_HP_image_transform = GL_FALSE; -GLboolean _GLEE_HP_convolution_border_modes = GL_FALSE; -GLboolean _GLEE_INGR_palette_buffer = GL_FALSE; -GLboolean _GLEE_SGIX_texture_add_env = GL_FALSE; -GLboolean _GLEE_EXT_color_subtable = GL_FALSE; -GLboolean _GLEE_PGI_vertex_hints = GL_FALSE; -GLboolean _GLEE_PGI_misc_hints = GL_FALSE; -GLboolean _GLEE_EXT_paletted_texture = GL_FALSE; -GLboolean _GLEE_EXT_clip_volume_hint = GL_FALSE; -GLboolean _GLEE_SGIX_list_priority = GL_FALSE; -GLboolean _GLEE_SGIX_ir_instrument1 = GL_FALSE; -GLboolean _GLEE_SGIX_calligraphic_fragment = GL_FALSE; -GLboolean _GLEE_SGIX_texture_lod_bias = GL_FALSE; -GLboolean _GLEE_SGIX_shadow_ambient = GL_FALSE; -GLboolean _GLEE_EXT_index_texture = GL_FALSE; -GLboolean _GLEE_EXT_index_material = GL_FALSE; -GLboolean _GLEE_EXT_index_func = GL_FALSE; -GLboolean _GLEE_EXT_index_array_formats = GL_FALSE; -GLboolean _GLEE_EXT_compiled_vertex_array = GL_FALSE; -GLboolean _GLEE_EXT_cull_vertex = GL_FALSE; -GLboolean _GLEE_SGIX_ycrcb = GL_FALSE; -GLboolean _GLEE_SGIX_fragment_lighting = GL_FALSE; -GLboolean _GLEE_IBM_rasterpos_clip = GL_FALSE; -GLboolean _GLEE_HP_texture_lighting = GL_FALSE; -GLboolean _GLEE_EXT_draw_range_elements = GL_FALSE; -GLboolean _GLEE_WIN_phong_shading = GL_FALSE; -GLboolean _GLEE_WIN_specular_fog = GL_FALSE; -GLboolean _GLEE_EXT_light_texture = GL_FALSE; -GLboolean _GLEE_SGIX_blend_alpha_minmax = GL_FALSE; -GLboolean _GLEE_SGIX_impact_pixel_texture = GL_FALSE; -GLboolean _GLEE_EXT_bgra = GL_FALSE; -GLboolean _GLEE_SGIX_async = GL_FALSE; -GLboolean _GLEE_SGIX_async_pixel = GL_FALSE; -GLboolean _GLEE_SGIX_async_histogram = GL_FALSE; -GLboolean _GLEE_INTEL_texture_scissor = GL_FALSE; -GLboolean _GLEE_INTEL_parallel_arrays = GL_FALSE; -GLboolean _GLEE_HP_occlusion_test = GL_FALSE; -GLboolean _GLEE_EXT_pixel_transform = GL_FALSE; -GLboolean _GLEE_EXT_pixel_transform_color_table = GL_FALSE; -GLboolean _GLEE_EXT_shared_texture_palette = GL_FALSE; -GLboolean _GLEE_EXT_separate_specular_color = GL_FALSE; -GLboolean _GLEE_EXT_secondary_color = GL_FALSE; -GLboolean _GLEE_EXT_texture_perturb_normal = GL_FALSE; -GLboolean _GLEE_EXT_multi_draw_arrays = GL_FALSE; -GLboolean _GLEE_EXT_fog_coord = GL_FALSE; -GLboolean _GLEE_REND_screen_coordinates = GL_FALSE; -GLboolean _GLEE_EXT_coordinate_frame = GL_FALSE; -GLboolean _GLEE_EXT_texture_env_combine = GL_FALSE; -GLboolean _GLEE_APPLE_specular_vector = GL_FALSE; -GLboolean _GLEE_APPLE_transform_hint = GL_FALSE; -GLboolean _GLEE_SGIX_fog_scale = GL_FALSE; -GLboolean _GLEE_SUNX_constant_data = GL_FALSE; -GLboolean _GLEE_SUN_global_alpha = GL_FALSE; -GLboolean _GLEE_SUN_triangle_list = GL_FALSE; -GLboolean _GLEE_SUN_vertex = GL_FALSE; -GLboolean _GLEE_EXT_blend_func_separate = GL_FALSE; -GLboolean _GLEE_INGR_color_clamp = GL_FALSE; -GLboolean _GLEE_INGR_interlace_read = GL_FALSE; -GLboolean _GLEE_EXT_stencil_wrap = GL_FALSE; -GLboolean _GLEE_EXT_422_pixels = GL_FALSE; -GLboolean _GLEE_NV_texgen_reflection = GL_FALSE; -GLboolean _GLEE_EXT_texture_cube_map = GL_FALSE; -GLboolean _GLEE_SUN_convolution_border_modes = GL_FALSE; -GLboolean _GLEE_EXT_texture_env_add = GL_FALSE; -GLboolean _GLEE_EXT_texture_lod_bias = GL_FALSE; -GLboolean _GLEE_EXT_texture_filter_anisotropic = GL_FALSE; -GLboolean _GLEE_EXT_vertex_weighting = GL_FALSE; -GLboolean _GLEE_NV_light_max_exponent = GL_FALSE; -GLboolean _GLEE_NV_vertex_array_range = GL_FALSE; -GLboolean _GLEE_NV_register_combiners = GL_FALSE; -GLboolean _GLEE_NV_fog_distance = GL_FALSE; -GLboolean _GLEE_NV_texgen_emboss = GL_FALSE; -GLboolean _GLEE_NV_blend_square = GL_FALSE; -GLboolean _GLEE_NV_texture_env_combine4 = GL_FALSE; -GLboolean _GLEE_MESA_resize_buffers = GL_FALSE; -GLboolean _GLEE_MESA_window_pos = GL_FALSE; -GLboolean _GLEE_EXT_texture_compression_s3tc = GL_FALSE; -GLboolean _GLEE_IBM_cull_vertex = GL_FALSE; -GLboolean _GLEE_IBM_multimode_draw_arrays = GL_FALSE; -GLboolean _GLEE_IBM_vertex_array_lists = GL_FALSE; -GLboolean _GLEE_SGIX_subsample = GL_FALSE; -GLboolean _GLEE_SGIX_ycrcb_subsample = GL_FALSE; -GLboolean _GLEE_SGIX_ycrcba = GL_FALSE; -GLboolean _GLEE_SGI_depth_pass_instrument = GL_FALSE; -GLboolean _GLEE_3DFX_texture_compression_FXT1 = GL_FALSE; -GLboolean _GLEE_3DFX_multisample = GL_FALSE; -GLboolean _GLEE_3DFX_tbuffer = GL_FALSE; -GLboolean _GLEE_EXT_multisample = GL_FALSE; -GLboolean _GLEE_SGIX_vertex_preclip = GL_FALSE; -GLboolean _GLEE_SGIX_convolution_accuracy = GL_FALSE; -GLboolean _GLEE_SGIX_resample = GL_FALSE; -GLboolean _GLEE_SGIS_point_line_texgen = GL_FALSE; -GLboolean _GLEE_SGIS_texture_color_mask = GL_FALSE; -GLboolean _GLEE_EXT_texture_env_dot3 = GL_FALSE; -GLboolean _GLEE_ATI_texture_mirror_once = GL_FALSE; -GLboolean _GLEE_NV_fence = GL_FALSE; -GLboolean _GLEE_IBM_texture_mirrored_repeat = GL_FALSE; -GLboolean _GLEE_NV_evaluators = GL_FALSE; -GLboolean _GLEE_NV_packed_depth_stencil = GL_FALSE; -GLboolean _GLEE_NV_register_combiners2 = GL_FALSE; -GLboolean _GLEE_NV_texture_compression_vtc = GL_FALSE; -GLboolean _GLEE_NV_texture_rectangle = GL_FALSE; -GLboolean _GLEE_NV_texture_shader = GL_FALSE; -GLboolean _GLEE_NV_texture_shader2 = GL_FALSE; -GLboolean _GLEE_NV_vertex_array_range2 = GL_FALSE; -GLboolean _GLEE_NV_vertex_program = GL_FALSE; -GLboolean _GLEE_SGIX_texture_coordinate_clamp = GL_FALSE; -GLboolean _GLEE_SGIX_scalebias_hint = GL_FALSE; -GLboolean _GLEE_OML_interlace = GL_FALSE; -GLboolean _GLEE_OML_subsample = GL_FALSE; -GLboolean _GLEE_OML_resample = GL_FALSE; -GLboolean _GLEE_NV_copy_depth_to_color = GL_FALSE; -GLboolean _GLEE_ATI_envmap_bumpmap = GL_FALSE; -GLboolean _GLEE_ATI_fragment_shader = GL_FALSE; -GLboolean _GLEE_ATI_pn_triangles = GL_FALSE; -GLboolean _GLEE_ATI_vertex_array_object = GL_FALSE; -GLboolean _GLEE_EXT_vertex_shader = GL_FALSE; -GLboolean _GLEE_ATI_vertex_streams = GL_FALSE; -GLboolean _GLEE_ATI_element_array = GL_FALSE; -GLboolean _GLEE_SUN_mesh_array = GL_FALSE; -GLboolean _GLEE_SUN_slice_accum = GL_FALSE; -GLboolean _GLEE_NV_multisample_filter_hint = GL_FALSE; -GLboolean _GLEE_NV_depth_clamp = GL_FALSE; -GLboolean _GLEE_NV_occlusion_query = GL_FALSE; -GLboolean _GLEE_NV_point_sprite = GL_FALSE; -GLboolean _GLEE_NV_texture_shader3 = GL_FALSE; -GLboolean _GLEE_NV_vertex_program1_1 = GL_FALSE; -GLboolean _GLEE_EXT_shadow_funcs = GL_FALSE; -GLboolean _GLEE_EXT_stencil_two_side = GL_FALSE; -GLboolean _GLEE_ATI_text_fragment_shader = GL_FALSE; -GLboolean _GLEE_APPLE_client_storage = GL_FALSE; -GLboolean _GLEE_APPLE_element_array = GL_FALSE; -GLboolean _GLEE_APPLE_fence = GL_FALSE; -GLboolean _GLEE_APPLE_vertex_array_object = GL_FALSE; -GLboolean _GLEE_APPLE_vertex_array_range = GL_FALSE; -GLboolean _GLEE_APPLE_ycbcr_422 = GL_FALSE; -GLboolean _GLEE_S3_s3tc = GL_FALSE; -GLboolean _GLEE_ATI_draw_buffers = GL_FALSE; -GLboolean _GLEE_ATI_pixel_format_float = GL_FALSE; -GLboolean _GLEE_ATI_texture_env_combine3 = GL_FALSE; -GLboolean _GLEE_ATI_texture_float = GL_FALSE; -GLboolean _GLEE_NV_float_buffer = GL_FALSE; -GLboolean _GLEE_NV_fragment_program = GL_FALSE; -GLboolean _GLEE_NV_half_float = GL_FALSE; -GLboolean _GLEE_NV_pixel_data_range = GL_FALSE; -GLboolean _GLEE_NV_primitive_restart = GL_FALSE; -GLboolean _GLEE_NV_texture_expand_normal = GL_FALSE; -GLboolean _GLEE_NV_vertex_program2 = GL_FALSE; -GLboolean _GLEE_ATI_map_object_buffer = GL_FALSE; -GLboolean _GLEE_ATI_separate_stencil = GL_FALSE; -GLboolean _GLEE_ATI_vertex_attrib_array_object = GL_FALSE; -GLboolean _GLEE_OES_byte_coordinates = GL_FALSE; -GLboolean _GLEE_OES_fixed_point = GL_FALSE; -GLboolean _GLEE_OES_single_precision = GL_FALSE; -GLboolean _GLEE_OES_compressed_paletted_texture = GL_FALSE; -GLboolean _GLEE_OES_read_format = GL_FALSE; -GLboolean _GLEE_OES_query_matrix = GL_FALSE; -GLboolean _GLEE_EXT_depth_bounds_test = GL_FALSE; -GLboolean _GLEE_EXT_texture_mirror_clamp = GL_FALSE; -GLboolean _GLEE_EXT_blend_equation_separate = GL_FALSE; -GLboolean _GLEE_MESA_pack_invert = GL_FALSE; -GLboolean _GLEE_MESA_ycbcr_texture = GL_FALSE; -GLboolean _GLEE_EXT_pixel_buffer_object = GL_FALSE; -GLboolean _GLEE_NV_fragment_program_option = GL_FALSE; -GLboolean _GLEE_NV_fragment_program2 = GL_FALSE; -GLboolean _GLEE_NV_vertex_program2_option = GL_FALSE; -GLboolean _GLEE_NV_vertex_program3 = GL_FALSE; -GLboolean _GLEE_EXT_framebuffer_object = GL_FALSE; -GLboolean _GLEE_GREMEDY_string_marker = GL_FALSE; -GLboolean _GLEE_EXT_packed_depth_stencil = GL_FALSE; -GLboolean _GLEE_EXT_stencil_clear_tag = GL_FALSE; -GLboolean _GLEE_EXT_texture_sRGB = GL_FALSE; -GLboolean _GLEE_EXT_framebuffer_blit = GL_FALSE; -GLboolean _GLEE_EXT_framebuffer_multisample = GL_FALSE; -GLboolean _GLEE_MESAX_texture_stack = GL_FALSE; -GLboolean _GLEE_EXT_timer_query = GL_FALSE; -GLboolean _GLEE_EXT_gpu_program_parameters = GL_FALSE; -GLboolean _GLEE_APPLE_flush_buffer_range = GL_FALSE; -GLboolean _GLEE_EXT_gpu_shader4 = GL_FALSE; -GLboolean _GLEE_EXT_draw_instanced = GL_FALSE; -GLboolean _GLEE_EXT_packed_float = GL_FALSE; -GLboolean _GLEE_EXT_texture_array = GL_FALSE; -GLboolean _GLEE_EXT_texture_buffer_object = GL_FALSE; -GLboolean _GLEE_EXT_texture_compression_latc = GL_FALSE; -GLboolean _GLEE_EXT_texture_compression_rgtc = GL_FALSE; -GLboolean _GLEE_EXT_texture_shared_exponent = GL_FALSE; -GLboolean _GLEE_NV_depth_buffer_float = GL_FALSE; -GLboolean _GLEE_NV_framebuffer_multisample_coverage = GL_FALSE; -GLboolean _GLEE_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_NV_geometry_shader4 = GL_FALSE; -GLboolean _GLEE_NV_parameter_buffer_object = GL_FALSE; -GLboolean _GLEE_EXT_draw_buffers2 = GL_FALSE; -GLboolean _GLEE_NV_transform_feedback = GL_FALSE; -GLboolean _GLEE_EXT_bindable_uniform = GL_FALSE; -GLboolean _GLEE_EXT_texture_integer = GL_FALSE; -GLboolean _GLEE_GREMEDY_frame_terminator = GL_FALSE; -GLboolean _GLEE_NV_conditional_render = GL_FALSE; -GLboolean _GLEE_NV_present_video = GL_FALSE; -GLboolean _GLEE_EXT_transform_feedback = GL_FALSE; -GLboolean _GLEE_EXT_direct_state_access = GL_FALSE; -GLboolean _GLEE_EXT_vertex_array_bgra = GL_FALSE; -GLboolean _GLEE_EXT_texture_swizzle = GL_FALSE; -GLboolean _GLEE_NV_explicit_multisample = GL_FALSE; -GLboolean _GLEE_NV_transform_feedback2 = GL_FALSE; -GLboolean _GLEE_ATI_meminfo = GL_FALSE; -GLboolean _GLEE_AMD_performance_monitor = GL_FALSE; -GLboolean _GLEE_AMD_texture_texture4 = GL_FALSE; -GLboolean _GLEE_AMD_vertex_shader_tesselator = GL_FALSE; -GLboolean _GLEE_EXT_provoking_vertex = GL_FALSE; -GLboolean _GLEE_EXT_texture_snorm = GL_FALSE; -GLboolean _GLEE_AMD_draw_buffers_blend = GL_FALSE; -GLboolean _GLEE_APPLE_texture_range = GL_FALSE; -GLboolean _GLEE_APPLE_float_pixels = GL_FALSE; -GLboolean _GLEE_APPLE_vertex_program_evaluators = GL_FALSE; -GLboolean _GLEE_APPLE_aux_depth_stencil = GL_FALSE; -GLboolean _GLEE_APPLE_object_purgeable = GL_FALSE; -GLboolean _GLEE_APPLE_row_bytes = GL_FALSE; -GLboolean _GLEE_APPLE_rgb_422 = GL_FALSE; -GLboolean _GLEE_NV_video_capture = GL_FALSE; -GLboolean _GLEE_NV_copy_image = GL_FALSE; -GLboolean _GLEE_EXT_separate_shader_objects = GL_FALSE; -GLboolean _GLEE_NV_parameter_buffer_object2 = GL_FALSE; -GLboolean _GLEE_NV_shader_buffer_load = GL_FALSE; -GLboolean _GLEE_NV_vertex_buffer_unified_memory = GL_FALSE; -GLboolean _GLEE_NV_texture_barrier = GL_FALSE; -GLboolean _GLEE_AMD_shader_stencil_export = GL_FALSE; -GLboolean _GLEE_AMD_seamless_cubemap_per_texture = GL_FALSE; -GLboolean _GLEE_AMD_conservative_depth = GL_FALSE; -GLboolean _GLEE_EXT_shader_image_load_store = GL_FALSE; -GLboolean _GLEE_EXT_vertex_attrib_64bit = GL_FALSE; -GLboolean _GLEE_NV_gpu_program5 = GL_FALSE; -GLboolean _GLEE_NV_gpu_shader5 = GL_FALSE; -GLboolean _GLEE_NV_shader_buffer_store = GL_FALSE; -GLboolean _GLEE_NV_tessellation_program5 = GL_FALSE; -GLboolean _GLEE_NV_vertex_attrib_integer_64bit = GL_FALSE; -GLboolean _GLEE_NV_multisample_coverage = GL_FALSE; -GLboolean _GLEE_AMD_name_gen_delete = GL_FALSE; -GLboolean _GLEE_AMD_debug_output = GL_FALSE; -GLboolean _GLEE_AMD_transform_feedback3_lines_triangles = GL_FALSE; -GLboolean _GLEE_AMD_depth_clamp_separate = GL_FALSE; -GLboolean _GLEE_EXT_texture_sRGB_decode = GL_FALSE; -GLboolean _GLEE_NV_texture_multisample = GL_FALSE; -GLboolean _GLEE_AMD_blend_minmax_factor = GL_FALSE; -GLboolean _GLEE_AMD_sample_positions = GL_FALSE; -GLboolean _GLEE_EXT_x11_sync_object = GL_FALSE; -GLboolean _GLEE_AMD_multi_draw_indirect = GL_FALSE; -GLboolean _GLEE_EXT_framebuffer_multisample_blit_scaled = GL_FALSE; -GLboolean _GLEE_NV_path_rendering = GL_FALSE; -GLboolean _GLEE_AMD_pinned_memory = GL_FALSE; -GLboolean _GLEE_AMD_stencil_operation_extended = GL_FALSE; -GLboolean _GLEE_AMD_vertex_shader_viewport_index = GL_FALSE; -GLboolean _GLEE_AMD_vertex_shader_layer = GL_FALSE; -GLboolean _GLEE_NV_bindless_texture = GL_FALSE; -GLboolean _GLEE_NV_shader_atomic_float = GL_FALSE; -GLboolean _GLEE_AMD_query_buffer_object = GL_FALSE; -GLboolean _GLEE_NV_compute_program5 = GL_FALSE; -GLboolean _GLEE_NV_shader_storage_buffer_object = GL_FALSE; -GLboolean _GLEE_NV_shader_atomic_counters = GL_FALSE; -GLboolean _GLEE_NV_deep_texture3D = GL_FALSE; -GLboolean _GLEE_NVX_conditional_render = GL_FALSE; -GLboolean _GLEE_AMD_sparse_texture = GL_FALSE; -GLboolean _GLEE_AMD_shader_trinary_minmax = GL_FALSE; -GLboolean _GLEE_INTEL_map_texture = GL_FALSE; -GLboolean _GLEE_NV_draw_texture = GL_FALSE; -GLboolean _GLEE_SGIX_texture_select = GL_FALSE; -GLboolean _GLEE_INGR_blend_func_separate = GL_FALSE; -GLboolean _GLEE_SGIX_depth_pass_instrument = GL_FALSE; -GLboolean _GLEE_SGIX_igloo_interface = GL_FALSE; - -/* GL Extension names */ - -char __GLeeGLExtensionNames[463][43]={ - "GL_VERSION_1_2", - "GL_ARB_imaging", - "GL_VERSION_1_3", - "GL_VERSION_1_4", - "GL_VERSION_1_5", - "GL_VERSION_2_0", - "GL_VERSION_2_1", - "GL_VERSION_3_0", - "GL_VERSION_3_1", - "GL_VERSION_3_2", - "GL_VERSION_3_3", - "GL_VERSION_4_0", - "GL_VERSION_4_1", - "GL_VERSION_4_2", - "GL_VERSION_4_3", - "GL_ARB_multitexture", - "GL_ARB_transpose_matrix", - "GL_ARB_multisample", - "GL_ARB_texture_env_add", - "GL_ARB_texture_cube_map", - "GL_ARB_texture_compression", - "GL_ARB_texture_border_clamp", - "GL_ARB_point_parameters", - "GL_ARB_vertex_blend", - "GL_ARB_matrix_palette", - "GL_ARB_texture_env_combine", - "GL_ARB_texture_env_crossbar", - "GL_ARB_texture_env_dot3", - "GL_ARB_texture_mirrored_repeat", - "GL_ARB_depth_texture", - "GL_ARB_shadow", - "GL_ARB_shadow_ambient", - "GL_ARB_window_pos", - "GL_ARB_vertex_program", - "GL_ARB_fragment_program", - "GL_ARB_vertex_buffer_object", - "GL_ARB_occlusion_query", - "GL_ARB_shader_objects", - "GL_ARB_vertex_shader", - "GL_ARB_fragment_shader", - "GL_ARB_shading_language_100", - "GL_ARB_texture_non_power_of_two", - "GL_ARB_point_sprite", - "GL_ARB_fragment_program_shadow", - "GL_ARB_draw_buffers", - "GL_ARB_texture_rectangle", - "GL_ARB_color_buffer_float", - "GL_ARB_half_float_pixel", - "GL_ARB_texture_float", - "GL_ARB_pixel_buffer_object", - "GL_ARB_depth_buffer_float", - "GL_ARB_draw_instanced", - "GL_ARB_framebuffer_object", - "GL_ARB_framebuffer_sRGB", - "GL_ARB_geometry_shader4", - "GL_ARB_half_float_vertex", - "GL_ARB_instanced_arrays", - "GL_ARB_map_buffer_range", - "GL_ARB_texture_buffer_object", - "GL_ARB_texture_compression_rgtc", - "GL_ARB_texture_rg", - "GL_ARB_vertex_array_object", - "GL_ARB_uniform_buffer_object", - "GL_ARB_compatibility", - "GL_ARB_copy_buffer", - "GL_ARB_shader_texture_lod", - "GL_ARB_depth_clamp", - "GL_ARB_draw_elements_base_vertex", - "GL_ARB_fragment_coord_conventions", - "GL_ARB_provoking_vertex", - "GL_ARB_seamless_cube_map", - "GL_ARB_sync", - "GL_ARB_texture_multisample", - "GL_ARB_vertex_array_bgra", - "GL_ARB_draw_buffers_blend", - "GL_ARB_sample_shading", - "GL_ARB_texture_cube_map_array", - "GL_ARB_texture_gather", - "GL_ARB_texture_query_lod", - "GL_ARB_shading_language_include", - "GL_ARB_texture_compression_bptc", - "GL_ARB_blend_func_extended", - "GL_ARB_explicit_attrib_location", - "GL_ARB_occlusion_query2", - "GL_ARB_sampler_objects", - "GL_ARB_shader_bit_encoding", - "GL_ARB_texture_rgb10_a2ui", - "GL_ARB_texture_swizzle", - "GL_ARB_timer_query", - "GL_ARB_vertex_type_2_10_10_10_rev", - "GL_ARB_draw_indirect", - "GL_ARB_gpu_shader5", - "GL_ARB_gpu_shader_fp64", - "GL_ARB_shader_subroutine", - "GL_ARB_tessellation_shader", - "GL_ARB_texture_buffer_object_rgb32", - "GL_ARB_transform_feedback2", - "GL_ARB_transform_feedback3", - "GL_ARB_ES2_compatibility", - "GL_ARB_get_program_binary", - "GL_ARB_separate_shader_objects", - "GL_ARB_shader_precision", - "GL_ARB_vertex_attrib_64bit", - "GL_ARB_viewport_array", - "GL_ARB_cl_event", - "GL_ARB_debug_output", - "GL_ARB_robustness", - "GL_ARB_shader_stencil_export", - "GL_ARB_base_instance", - "GL_ARB_shading_language_420pack", - "GL_ARB_transform_feedback_instanced", - "GL_ARB_compressed_texture_pixel_storage", - "GL_ARB_conservative_depth", - "GL_ARB_internalformat_query", - "GL_ARB_map_buffer_alignment", - "GL_ARB_shader_atomic_counters", - "GL_ARB_shader_image_load_store", - "GL_ARB_shading_language_packing", - "GL_ARB_texture_storage", - "GL_KHR_texture_compression_astc_ldr", - "GL_KHR_debug", - "GL_ARB_arrays_of_arrays", - "GL_ARB_clear_buffer_object", - "GL_ARB_compute_shader", - "GL_ARB_copy_image", - "GL_ARB_texture_view", - "GL_ARB_vertex_attrib_binding", - "GL_ARB_robustness_isolation", - "GL_ARB_ES3_compatibility", - "GL_ARB_explicit_uniform_location", - "GL_ARB_fragment_layer_viewport", - "GL_ARB_framebuffer_no_attachments", - "GL_ARB_internalformat_query2", - "GL_ARB_invalidate_subdata", - "GL_ARB_multi_draw_indirect", - "GL_ARB_program_interface_query", - "GL_ARB_robust_buffer_access_behavior", - "GL_ARB_shader_image_size", - "GL_ARB_shader_storage_buffer_object", - "GL_ARB_stencil_texturing", - "GL_ARB_texture_buffer_range", - "GL_ARB_texture_query_levels", - "GL_ARB_texture_storage_multisample", - "GL_EXT_abgr", - "GL_EXT_blend_color", - "GL_EXT_polygon_offset", - "GL_EXT_texture", - "GL_EXT_texture3D", - "GL_SGIS_texture_filter4", - "GL_EXT_subtexture", - "GL_EXT_copy_texture", - "GL_EXT_histogram", - "GL_EXT_convolution", - "GL_SGI_color_matrix", - "GL_SGI_color_table", - "GL_SGIS_pixel_texture", - "GL_SGIX_pixel_texture", - "GL_SGIS_texture4D", - "GL_SGI_texture_color_table", - "GL_EXT_cmyka", - "GL_EXT_texture_object", - "GL_SGIS_detail_texture", - "GL_SGIS_sharpen_texture", - "GL_EXT_packed_pixels", - "GL_SGIS_texture_lod", - "GL_SGIS_multisample", - "GL_EXT_rescale_normal", - "GL_EXT_vertex_array", - "GL_EXT_misc_attribute", - "GL_SGIS_generate_mipmap", - "GL_SGIX_clipmap", - "GL_SGIX_shadow", - "GL_SGIS_texture_edge_clamp", - "GL_SGIS_texture_border_clamp", - "GL_EXT_blend_minmax", - "GL_EXT_blend_subtract", - "GL_EXT_blend_logic_op", - "GL_SGIX_interlace", - "GL_SGIX_pixel_tiles", - "GL_SGIS_texture_select", - "GL_SGIX_sprite", - "GL_SGIX_texture_multi_buffer", - "GL_EXT_point_parameters", - "GL_SGIS_point_parameters", - "GL_SGIX_instruments", - "GL_SGIX_texture_scale_bias", - "GL_SGIX_framezoom", - "GL_SGIX_tag_sample_buffer", - "GL_FfdMaskSGIX", - "GL_SGIX_polynomial_ffd", - "GL_SGIX_reference_plane", - "GL_SGIX_flush_raster", - "GL_SGIX_depth_texture", - "GL_SGIS_fog_function", - "GL_SGIX_fog_offset", - "GL_HP_image_transform", - "GL_HP_convolution_border_modes", - "GL_INGR_palette_buffer", - "GL_SGIX_texture_add_env", - "GL_EXT_color_subtable", - "GL_PGI_vertex_hints", - "GL_PGI_misc_hints", - "GL_EXT_paletted_texture", - "GL_EXT_clip_volume_hint", - "GL_SGIX_list_priority", - "GL_SGIX_ir_instrument1", - "GL_SGIX_calligraphic_fragment", - "GL_SGIX_texture_lod_bias", - "GL_SGIX_shadow_ambient", - "GL_EXT_index_texture", - "GL_EXT_index_material", - "GL_EXT_index_func", - "GL_EXT_index_array_formats", - "GL_EXT_compiled_vertex_array", - "GL_EXT_cull_vertex", - "GL_SGIX_ycrcb", - "GL_SGIX_fragment_lighting", - "GL_IBM_rasterpos_clip", - "GL_HP_texture_lighting", - "GL_EXT_draw_range_elements", - "GL_WIN_phong_shading", - "GL_WIN_specular_fog", - "GL_EXT_light_texture", - "GL_SGIX_blend_alpha_minmax", - "GL_SGIX_impact_pixel_texture", - "GL_EXT_bgra", - "GL_SGIX_async", - "GL_SGIX_async_pixel", - "GL_SGIX_async_histogram", - "GL_INTEL_texture_scissor", - "GL_INTEL_parallel_arrays", - "GL_HP_occlusion_test", - "GL_EXT_pixel_transform", - "GL_EXT_pixel_transform_color_table", - "GL_EXT_shared_texture_palette", - "GL_EXT_separate_specular_color", - "GL_EXT_secondary_color", - "GL_EXT_texture_perturb_normal", - "GL_EXT_multi_draw_arrays", - "GL_EXT_fog_coord", - "GL_REND_screen_coordinates", - "GL_EXT_coordinate_frame", - "GL_EXT_texture_env_combine", - "GL_APPLE_specular_vector", - "GL_APPLE_transform_hint", - "GL_SGIX_fog_scale", - "GL_SUNX_constant_data", - "GL_SUN_global_alpha", - "GL_SUN_triangle_list", - "GL_SUN_vertex", - "GL_EXT_blend_func_separate", - "GL_INGR_color_clamp", - "GL_INGR_interlace_read", - "GL_EXT_stencil_wrap", - "GL_EXT_422_pixels", - "GL_NV_texgen_reflection", - "GL_EXT_texture_cube_map", - "GL_SUN_convolution_border_modes", - "GL_EXT_texture_env_add", - "GL_EXT_texture_lod_bias", - "GL_EXT_texture_filter_anisotropic", - "GL_EXT_vertex_weighting", - "GL_NV_light_max_exponent", - "GL_NV_vertex_array_range", - "GL_NV_register_combiners", - "GL_NV_fog_distance", - "GL_NV_texgen_emboss", - "GL_NV_blend_square", - "GL_NV_texture_env_combine4", - "GL_MESA_resize_buffers", - "GL_MESA_window_pos", - "GL_EXT_texture_compression_s3tc", - "GL_IBM_cull_vertex", - "GL_IBM_multimode_draw_arrays", - "GL_IBM_vertex_array_lists", - "GL_SGIX_subsample", - "GL_SGIX_ycrcb_subsample", - "GL_SGIX_ycrcba", - "GL_SGI_depth_pass_instrument", - "GL_3DFX_texture_compression_FXT1", - "GL_3DFX_multisample", - "GL_3DFX_tbuffer", - "GL_EXT_multisample", - "GL_SGIX_vertex_preclip", - "GL_SGIX_convolution_accuracy", - "GL_SGIX_resample", - "GL_SGIS_point_line_texgen", - "GL_SGIS_texture_color_mask", - "GL_EXT_texture_env_dot3", - "GL_ATI_texture_mirror_once", - "GL_NV_fence", - "GL_IBM_texture_mirrored_repeat", - "GL_NV_evaluators", - "GL_NV_packed_depth_stencil", - "GL_NV_register_combiners2", - "GL_NV_texture_compression_vtc", - "GL_NV_texture_rectangle", - "GL_NV_texture_shader", - "GL_NV_texture_shader2", - "GL_NV_vertex_array_range2", - "GL_NV_vertex_program", - "GL_SGIX_texture_coordinate_clamp", - "GL_SGIX_scalebias_hint", - "GL_OML_interlace", - "GL_OML_subsample", - "GL_OML_resample", - "GL_NV_copy_depth_to_color", - "GL_ATI_envmap_bumpmap", - "GL_ATI_fragment_shader", - "GL_ATI_pn_triangles", - "GL_ATI_vertex_array_object", - "GL_EXT_vertex_shader", - "GL_ATI_vertex_streams", - "GL_ATI_element_array", - "GL_SUN_mesh_array", - "GL_SUN_slice_accum", - "GL_NV_multisample_filter_hint", - "GL_NV_depth_clamp", - "GL_NV_occlusion_query", - "GL_NV_point_sprite", - "GL_NV_texture_shader3", - "GL_NV_vertex_program1_1", - "GL_EXT_shadow_funcs", - "GL_EXT_stencil_two_side", - "GL_ATI_text_fragment_shader", - "GL_APPLE_client_storage", - "GL_APPLE_element_array", - "GL_APPLE_fence", - "GL_APPLE_vertex_array_object", - "GL_APPLE_vertex_array_range", - "GL_APPLE_ycbcr_422", - "GL_S3_s3tc", - "GL_ATI_draw_buffers", - "GL_ATI_pixel_format_float", - "GL_ATI_texture_env_combine3", - "GL_ATI_texture_float", - "GL_NV_float_buffer", - "GL_NV_fragment_program", - "GL_NV_half_float", - "GL_NV_pixel_data_range", - "GL_NV_primitive_restart", - "GL_NV_texture_expand_normal", - "GL_NV_vertex_program2", - "GL_ATI_map_object_buffer", - "GL_ATI_separate_stencil", - "GL_ATI_vertex_attrib_array_object", - "GL_OES_byte_coordinates", - "GL_OES_fixed_point", - "GL_OES_single_precision", - "GL_OES_compressed_paletted_texture", - "GL_OES_read_format", - "GL_OES_query_matrix", - "GL_EXT_depth_bounds_test", - "GL_EXT_texture_mirror_clamp", - "GL_EXT_blend_equation_separate", - "GL_MESA_pack_invert", - "GL_MESA_ycbcr_texture", - "GL_EXT_pixel_buffer_object", - "GL_NV_fragment_program_option", - "GL_NV_fragment_program2", - "GL_NV_vertex_program2_option", - "GL_NV_vertex_program3", - "GL_EXT_framebuffer_object", - "GL_GREMEDY_string_marker", - "GL_EXT_packed_depth_stencil", - "GL_EXT_stencil_clear_tag", - "GL_EXT_texture_sRGB", - "GL_EXT_framebuffer_blit", - "GL_EXT_framebuffer_multisample", - "GL_MESAX_texture_stack", - "GL_EXT_timer_query", - "GL_EXT_gpu_program_parameters", - "GL_APPLE_flush_buffer_range", - "GL_EXT_gpu_shader4", - "GL_EXT_draw_instanced", - "GL_EXT_packed_float", - "GL_EXT_texture_array", - "GL_EXT_texture_buffer_object", - "GL_EXT_texture_compression_latc", - "GL_EXT_texture_compression_rgtc", - "GL_EXT_texture_shared_exponent", - "GL_NV_depth_buffer_float", - "GL_NV_framebuffer_multisample_coverage", - "GL_EXT_framebuffer_sRGB", - "GL_NV_geometry_shader4", - "GL_NV_parameter_buffer_object", - "GL_EXT_draw_buffers2", - "GL_NV_transform_feedback", - "GL_EXT_bindable_uniform", - "GL_EXT_texture_integer", - "GL_GREMEDY_frame_terminator", - "GL_NV_conditional_render", - "GL_NV_present_video", - "GL_EXT_transform_feedback", - "GL_EXT_direct_state_access", - "GL_EXT_vertex_array_bgra", - "GL_EXT_texture_swizzle", - "GL_NV_explicit_multisample", - "GL_NV_transform_feedback2", - "GL_ATI_meminfo", - "GL_AMD_performance_monitor", - "GL_AMD_texture_texture4", - "GL_AMD_vertex_shader_tesselator", - "GL_EXT_provoking_vertex", - "GL_EXT_texture_snorm", - "GL_AMD_draw_buffers_blend", - "GL_APPLE_texture_range", - "GL_APPLE_float_pixels", - "GL_APPLE_vertex_program_evaluators", - "GL_APPLE_aux_depth_stencil", - "GL_APPLE_object_purgeable", - "GL_APPLE_row_bytes", - "GL_APPLE_rgb_422", - "GL_NV_video_capture", - "GL_NV_copy_image", - "GL_EXT_separate_shader_objects", - "GL_NV_parameter_buffer_object2", - "GL_NV_shader_buffer_load", - "GL_NV_vertex_buffer_unified_memory", - "GL_NV_texture_barrier", - "GL_AMD_shader_stencil_export", - "GL_AMD_seamless_cubemap_per_texture", - "GL_AMD_conservative_depth", - "GL_EXT_shader_image_load_store", - "GL_EXT_vertex_attrib_64bit", - "GL_NV_gpu_program5", - "GL_NV_gpu_shader5", - "GL_NV_shader_buffer_store", - "GL_NV_tessellation_program5", - "GL_NV_vertex_attrib_integer_64bit", - "GL_NV_multisample_coverage", - "GL_AMD_name_gen_delete", - "GL_AMD_debug_output", - "GL_AMD_transform_feedback3_lines_triangles", - "GL_AMD_depth_clamp_separate", - "GL_EXT_texture_sRGB_decode", - "GL_NV_texture_multisample", - "GL_AMD_blend_minmax_factor", - "GL_AMD_sample_positions", - "GL_EXT_x11_sync_object", - "GL_AMD_multi_draw_indirect", - "GL_EXT_framebuffer_multisample_blit_scaled", - "GL_NV_path_rendering", - "GL_AMD_pinned_memory", - "GL_AMD_stencil_operation_extended", - "GL_AMD_vertex_shader_viewport_index", - "GL_AMD_vertex_shader_layer", - "GL_NV_bindless_texture", - "GL_NV_shader_atomic_float", - "GL_AMD_query_buffer_object", - "GL_NV_compute_program5", - "GL_NV_shader_storage_buffer_object", - "GL_NV_shader_atomic_counters", - "GL_NV_deep_texture3D", - "GL_NVX_conditional_render", - "GL_AMD_sparse_texture", - "GL_AMD_shader_trinary_minmax", - "GL_INTEL_map_texture", - "GL_NV_draw_texture", - "GL_SGIX_texture_select", - "GL_INGR_blend_func_separate", - "GL_SGIX_depth_pass_instrument", - "GL_SGIX_igloo_interface" -}; -int __GLeeGLNumExtensions=463; - -/* GL_VERSION_1_2 */ - -#ifdef __GLEE_GL_VERSION_1_2 -#ifndef GLEE_C_DEFINED_glBlendColor -#define GLEE_C_DEFINED_glBlendColor - void __stdcall GLee_Lazy_glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {if (GLeeInit()) glBlendColor(red, green, blue, alpha);} - GLEEPFNGLBLENDCOLORPROC GLeeFuncPtr_glBlendColor=GLee_Lazy_glBlendColor; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquation -#define GLEE_C_DEFINED_glBlendEquation - void __stdcall GLee_Lazy_glBlendEquation(GLenum mode) {if (GLeeInit()) glBlendEquation(mode);} - GLEEPFNGLBLENDEQUATIONPROC GLeeFuncPtr_glBlendEquation=GLee_Lazy_glBlendEquation; -#endif -#ifndef GLEE_C_DEFINED_glDrawRangeElements -#define GLEE_C_DEFINED_glDrawRangeElements - void __stdcall GLee_Lazy_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices) {if (GLeeInit()) glDrawRangeElements(mode, start, end, count, type, indices);} - GLEEPFNGLDRAWRANGEELEMENTSPROC GLeeFuncPtr_glDrawRangeElements=GLee_Lazy_glDrawRangeElements; -#endif -#ifndef GLEE_C_DEFINED_glTexImage3D -#define GLEE_C_DEFINED_glTexImage3D - void __stdcall GLee_Lazy_glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);} - GLEEPFNGLTEXIMAGE3DPROC GLeeFuncPtr_glTexImage3D=GLee_Lazy_glTexImage3D; -#endif -#ifndef GLEE_C_DEFINED_glTexSubImage3D -#define GLEE_C_DEFINED_glTexSubImage3D - void __stdcall GLee_Lazy_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);} - GLEEPFNGLTEXSUBIMAGE3DPROC GLeeFuncPtr_glTexSubImage3D=GLee_Lazy_glTexSubImage3D; -#endif -#ifndef GLEE_C_DEFINED_glCopyTexSubImage3D -#define GLEE_C_DEFINED_glCopyTexSubImage3D - void __stdcall GLee_Lazy_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);} - GLEEPFNGLCOPYTEXSUBIMAGE3DPROC GLeeFuncPtr_glCopyTexSubImage3D=GLee_Lazy_glCopyTexSubImage3D; -#endif -#ifndef GLEE_C_DEFINED_glColorTable -#define GLEE_C_DEFINED_glColorTable - void __stdcall GLee_Lazy_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table) {if (GLeeInit()) glColorTable(target, internalformat, width, format, type, table);} - GLEEPFNGLCOLORTABLEPROC GLeeFuncPtr_glColorTable=GLee_Lazy_glColorTable; -#endif -#ifndef GLEE_C_DEFINED_glColorTableParameterfv -#define GLEE_C_DEFINED_glColorTableParameterfv - void __stdcall GLee_Lazy_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glColorTableParameterfv(target, pname, params);} - GLEEPFNGLCOLORTABLEPARAMETERFVPROC GLeeFuncPtr_glColorTableParameterfv=GLee_Lazy_glColorTableParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glColorTableParameteriv -#define GLEE_C_DEFINED_glColorTableParameteriv - void __stdcall GLee_Lazy_glColorTableParameteriv(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glColorTableParameteriv(target, pname, params);} - GLEEPFNGLCOLORTABLEPARAMETERIVPROC GLeeFuncPtr_glColorTableParameteriv=GLee_Lazy_glColorTableParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glCopyColorTable -#define GLEE_C_DEFINED_glCopyColorTable - void __stdcall GLee_Lazy_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyColorTable(target, internalformat, x, y, width);} - GLEEPFNGLCOPYCOLORTABLEPROC GLeeFuncPtr_glCopyColorTable=GLee_Lazy_glCopyColorTable; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTable -#define GLEE_C_DEFINED_glGetColorTable - void __stdcall GLee_Lazy_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid * table) {if (GLeeInit()) glGetColorTable(target, format, type, table);} - GLEEPFNGLGETCOLORTABLEPROC GLeeFuncPtr_glGetColorTable=GLee_Lazy_glGetColorTable; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameterfv -#define GLEE_C_DEFINED_glGetColorTableParameterfv - void __stdcall GLee_Lazy_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetColorTableParameterfv(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERFVPROC GLeeFuncPtr_glGetColorTableParameterfv=GLee_Lazy_glGetColorTableParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameteriv -#define GLEE_C_DEFINED_glGetColorTableParameteriv - void __stdcall GLee_Lazy_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetColorTableParameteriv(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERIVPROC GLeeFuncPtr_glGetColorTableParameteriv=GLee_Lazy_glGetColorTableParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glColorSubTable -#define GLEE_C_DEFINED_glColorSubTable - void __stdcall GLee_Lazy_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data) {if (GLeeInit()) glColorSubTable(target, start, count, format, type, data);} - GLEEPFNGLCOLORSUBTABLEPROC GLeeFuncPtr_glColorSubTable=GLee_Lazy_glColorSubTable; -#endif -#ifndef GLEE_C_DEFINED_glCopyColorSubTable -#define GLEE_C_DEFINED_glCopyColorSubTable - void __stdcall GLee_Lazy_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyColorSubTable(target, start, x, y, width);} - GLEEPFNGLCOPYCOLORSUBTABLEPROC GLeeFuncPtr_glCopyColorSubTable=GLee_Lazy_glCopyColorSubTable; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionFilter1D -#define GLEE_C_DEFINED_glConvolutionFilter1D - void __stdcall GLee_Lazy_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image) {if (GLeeInit()) glConvolutionFilter1D(target, internalformat, width, format, type, image);} - GLEEPFNGLCONVOLUTIONFILTER1DPROC GLeeFuncPtr_glConvolutionFilter1D=GLee_Lazy_glConvolutionFilter1D; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionFilter2D -#define GLEE_C_DEFINED_glConvolutionFilter2D - void __stdcall GLee_Lazy_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image) {if (GLeeInit()) glConvolutionFilter2D(target, internalformat, width, height, format, type, image);} - GLEEPFNGLCONVOLUTIONFILTER2DPROC GLeeFuncPtr_glConvolutionFilter2D=GLee_Lazy_glConvolutionFilter2D; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterf -#define GLEE_C_DEFINED_glConvolutionParameterf - void __stdcall GLee_Lazy_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) {if (GLeeInit()) glConvolutionParameterf(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERFPROC GLeeFuncPtr_glConvolutionParameterf=GLee_Lazy_glConvolutionParameterf; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterfv -#define GLEE_C_DEFINED_glConvolutionParameterfv - void __stdcall GLee_Lazy_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glConvolutionParameterfv(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERFVPROC GLeeFuncPtr_glConvolutionParameterfv=GLee_Lazy_glConvolutionParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameteri -#define GLEE_C_DEFINED_glConvolutionParameteri - void __stdcall GLee_Lazy_glConvolutionParameteri(GLenum target, GLenum pname, GLint params) {if (GLeeInit()) glConvolutionParameteri(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERIPROC GLeeFuncPtr_glConvolutionParameteri=GLee_Lazy_glConvolutionParameteri; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameteriv -#define GLEE_C_DEFINED_glConvolutionParameteriv - void __stdcall GLee_Lazy_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glConvolutionParameteriv(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERIVPROC GLeeFuncPtr_glConvolutionParameteriv=GLee_Lazy_glConvolutionParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glCopyConvolutionFilter1D -#define GLEE_C_DEFINED_glCopyConvolutionFilter1D - void __stdcall GLee_Lazy_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyConvolutionFilter1D(target, internalformat, x, y, width);} - GLEEPFNGLCOPYCONVOLUTIONFILTER1DPROC GLeeFuncPtr_glCopyConvolutionFilter1D=GLee_Lazy_glCopyConvolutionFilter1D; -#endif -#ifndef GLEE_C_DEFINED_glCopyConvolutionFilter2D -#define GLEE_C_DEFINED_glCopyConvolutionFilter2D - void __stdcall GLee_Lazy_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyConvolutionFilter2D(target, internalformat, x, y, width, height);} - GLEEPFNGLCOPYCONVOLUTIONFILTER2DPROC GLeeFuncPtr_glCopyConvolutionFilter2D=GLee_Lazy_glCopyConvolutionFilter2D; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionFilter -#define GLEE_C_DEFINED_glGetConvolutionFilter - void __stdcall GLee_Lazy_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid * image) {if (GLeeInit()) glGetConvolutionFilter(target, format, type, image);} - GLEEPFNGLGETCONVOLUTIONFILTERPROC GLeeFuncPtr_glGetConvolutionFilter=GLee_Lazy_glGetConvolutionFilter; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionParameterfv -#define GLEE_C_DEFINED_glGetConvolutionParameterfv - void __stdcall GLee_Lazy_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetConvolutionParameterfv(target, pname, params);} - GLEEPFNGLGETCONVOLUTIONPARAMETERFVPROC GLeeFuncPtr_glGetConvolutionParameterfv=GLee_Lazy_glGetConvolutionParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionParameteriv -#define GLEE_C_DEFINED_glGetConvolutionParameteriv - void __stdcall GLee_Lazy_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetConvolutionParameteriv(target, pname, params);} - GLEEPFNGLGETCONVOLUTIONPARAMETERIVPROC GLeeFuncPtr_glGetConvolutionParameteriv=GLee_Lazy_glGetConvolutionParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glGetSeparableFilter -#define GLEE_C_DEFINED_glGetSeparableFilter - void __stdcall GLee_Lazy_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span) {if (GLeeInit()) glGetSeparableFilter(target, format, type, row, column, span);} - GLEEPFNGLGETSEPARABLEFILTERPROC GLeeFuncPtr_glGetSeparableFilter=GLee_Lazy_glGetSeparableFilter; -#endif -#ifndef GLEE_C_DEFINED_glSeparableFilter2D -#define GLEE_C_DEFINED_glSeparableFilter2D - void __stdcall GLee_Lazy_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column) {if (GLeeInit()) glSeparableFilter2D(target, internalformat, width, height, format, type, row, column);} - GLEEPFNGLSEPARABLEFILTER2DPROC GLeeFuncPtr_glSeparableFilter2D=GLee_Lazy_glSeparableFilter2D; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogram -#define GLEE_C_DEFINED_glGetHistogram - void __stdcall GLee_Lazy_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) {if (GLeeInit()) glGetHistogram(target, reset, format, type, values);} - GLEEPFNGLGETHISTOGRAMPROC GLeeFuncPtr_glGetHistogram=GLee_Lazy_glGetHistogram; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogramParameterfv -#define GLEE_C_DEFINED_glGetHistogramParameterfv - void __stdcall GLee_Lazy_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetHistogramParameterfv(target, pname, params);} - GLEEPFNGLGETHISTOGRAMPARAMETERFVPROC GLeeFuncPtr_glGetHistogramParameterfv=GLee_Lazy_glGetHistogramParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogramParameteriv -#define GLEE_C_DEFINED_glGetHistogramParameteriv - void __stdcall GLee_Lazy_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetHistogramParameteriv(target, pname, params);} - GLEEPFNGLGETHISTOGRAMPARAMETERIVPROC GLeeFuncPtr_glGetHistogramParameteriv=GLee_Lazy_glGetHistogramParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmax -#define GLEE_C_DEFINED_glGetMinmax - void __stdcall GLee_Lazy_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) {if (GLeeInit()) glGetMinmax(target, reset, format, type, values);} - GLEEPFNGLGETMINMAXPROC GLeeFuncPtr_glGetMinmax=GLee_Lazy_glGetMinmax; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmaxParameterfv -#define GLEE_C_DEFINED_glGetMinmaxParameterfv - void __stdcall GLee_Lazy_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMinmaxParameterfv(target, pname, params);} - GLEEPFNGLGETMINMAXPARAMETERFVPROC GLeeFuncPtr_glGetMinmaxParameterfv=GLee_Lazy_glGetMinmaxParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmaxParameteriv -#define GLEE_C_DEFINED_glGetMinmaxParameteriv - void __stdcall GLee_Lazy_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMinmaxParameteriv(target, pname, params);} - GLEEPFNGLGETMINMAXPARAMETERIVPROC GLeeFuncPtr_glGetMinmaxParameteriv=GLee_Lazy_glGetMinmaxParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glHistogram -#define GLEE_C_DEFINED_glHistogram - void __stdcall GLee_Lazy_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) {if (GLeeInit()) glHistogram(target, width, internalformat, sink);} - GLEEPFNGLHISTOGRAMPROC GLeeFuncPtr_glHistogram=GLee_Lazy_glHistogram; -#endif -#ifndef GLEE_C_DEFINED_glMinmax -#define GLEE_C_DEFINED_glMinmax - void __stdcall GLee_Lazy_glMinmax(GLenum target, GLenum internalformat, GLboolean sink) {if (GLeeInit()) glMinmax(target, internalformat, sink);} - GLEEPFNGLMINMAXPROC GLeeFuncPtr_glMinmax=GLee_Lazy_glMinmax; -#endif -#ifndef GLEE_C_DEFINED_glResetHistogram -#define GLEE_C_DEFINED_glResetHistogram - void __stdcall GLee_Lazy_glResetHistogram(GLenum target) {if (GLeeInit()) glResetHistogram(target);} - GLEEPFNGLRESETHISTOGRAMPROC GLeeFuncPtr_glResetHistogram=GLee_Lazy_glResetHistogram; -#endif -#ifndef GLEE_C_DEFINED_glResetMinmax -#define GLEE_C_DEFINED_glResetMinmax - void __stdcall GLee_Lazy_glResetMinmax(GLenum target) {if (GLeeInit()) glResetMinmax(target);} - GLEEPFNGLRESETMINMAXPROC GLeeFuncPtr_glResetMinmax=GLee_Lazy_glResetMinmax; -#endif -#endif - -/* GL_ARB_imaging */ - -#ifdef __GLEE_GL_ARB_imaging -#endif - -/* GL_VERSION_1_3 */ - -#ifdef __GLEE_GL_VERSION_1_3 -#ifndef GLEE_C_DEFINED_glActiveTexture -#define GLEE_C_DEFINED_glActiveTexture - void __stdcall GLee_Lazy_glActiveTexture(GLenum texture) {if (GLeeInit()) glActiveTexture(texture);} - GLEEPFNGLACTIVETEXTUREPROC GLeeFuncPtr_glActiveTexture=GLee_Lazy_glActiveTexture; -#endif -#ifndef GLEE_C_DEFINED_glSampleCoverage -#define GLEE_C_DEFINED_glSampleCoverage - void __stdcall GLee_Lazy_glSampleCoverage(GLfloat value, GLboolean invert) {if (GLeeInit()) glSampleCoverage(value, invert);} - GLEEPFNGLSAMPLECOVERAGEPROC GLeeFuncPtr_glSampleCoverage=GLee_Lazy_glSampleCoverage; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexImage3D -#define GLEE_C_DEFINED_glCompressedTexImage3D - void __stdcall GLee_Lazy_glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE3DPROC GLeeFuncPtr_glCompressedTexImage3D=GLee_Lazy_glCompressedTexImage3D; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexImage2D -#define GLEE_C_DEFINED_glCompressedTexImage2D - void __stdcall GLee_Lazy_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE2DPROC GLeeFuncPtr_glCompressedTexImage2D=GLee_Lazy_glCompressedTexImage2D; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexImage1D -#define GLEE_C_DEFINED_glCompressedTexImage1D - void __stdcall GLee_Lazy_glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE1DPROC GLeeFuncPtr_glCompressedTexImage1D=GLee_Lazy_glCompressedTexImage1D; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage3D -#define GLEE_C_DEFINED_glCompressedTexSubImage3D - void __stdcall GLee_Lazy_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DPROC GLeeFuncPtr_glCompressedTexSubImage3D=GLee_Lazy_glCompressedTexSubImage3D; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage2D -#define GLEE_C_DEFINED_glCompressedTexSubImage2D - void __stdcall GLee_Lazy_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DPROC GLeeFuncPtr_glCompressedTexSubImage2D=GLee_Lazy_glCompressedTexSubImage2D; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage1D -#define GLEE_C_DEFINED_glCompressedTexSubImage1D - void __stdcall GLee_Lazy_glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DPROC GLeeFuncPtr_glCompressedTexSubImage1D=GLee_Lazy_glCompressedTexSubImage1D; -#endif -#ifndef GLEE_C_DEFINED_glGetCompressedTexImage -#define GLEE_C_DEFINED_glGetCompressedTexImage - void __stdcall GLee_Lazy_glGetCompressedTexImage(GLenum target, GLint level, GLvoid * img) {if (GLeeInit()) glGetCompressedTexImage(target, level, img);} - GLEEPFNGLGETCOMPRESSEDTEXIMAGEPROC GLeeFuncPtr_glGetCompressedTexImage=GLee_Lazy_glGetCompressedTexImage; -#endif -#ifndef GLEE_C_DEFINED_glClientActiveTexture -#define GLEE_C_DEFINED_glClientActiveTexture - void __stdcall GLee_Lazy_glClientActiveTexture(GLenum texture) {if (GLeeInit()) glClientActiveTexture(texture);} - GLEEPFNGLCLIENTACTIVETEXTUREPROC GLeeFuncPtr_glClientActiveTexture=GLee_Lazy_glClientActiveTexture; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1d -#define GLEE_C_DEFINED_glMultiTexCoord1d - void __stdcall GLee_Lazy_glMultiTexCoord1d(GLenum target, GLdouble s) {if (GLeeInit()) glMultiTexCoord1d(target, s);} - GLEEPFNGLMULTITEXCOORD1DPROC GLeeFuncPtr_glMultiTexCoord1d=GLee_Lazy_glMultiTexCoord1d; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1dv -#define GLEE_C_DEFINED_glMultiTexCoord1dv - void __stdcall GLee_Lazy_glMultiTexCoord1dv(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord1dv(target, v);} - GLEEPFNGLMULTITEXCOORD1DVPROC GLeeFuncPtr_glMultiTexCoord1dv=GLee_Lazy_glMultiTexCoord1dv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1f -#define GLEE_C_DEFINED_glMultiTexCoord1f - void __stdcall GLee_Lazy_glMultiTexCoord1f(GLenum target, GLfloat s) {if (GLeeInit()) glMultiTexCoord1f(target, s);} - GLEEPFNGLMULTITEXCOORD1FPROC GLeeFuncPtr_glMultiTexCoord1f=GLee_Lazy_glMultiTexCoord1f; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1fv -#define GLEE_C_DEFINED_glMultiTexCoord1fv - void __stdcall GLee_Lazy_glMultiTexCoord1fv(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord1fv(target, v);} - GLEEPFNGLMULTITEXCOORD1FVPROC GLeeFuncPtr_glMultiTexCoord1fv=GLee_Lazy_glMultiTexCoord1fv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1i -#define GLEE_C_DEFINED_glMultiTexCoord1i - void __stdcall GLee_Lazy_glMultiTexCoord1i(GLenum target, GLint s) {if (GLeeInit()) glMultiTexCoord1i(target, s);} - GLEEPFNGLMULTITEXCOORD1IPROC GLeeFuncPtr_glMultiTexCoord1i=GLee_Lazy_glMultiTexCoord1i; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1iv -#define GLEE_C_DEFINED_glMultiTexCoord1iv - void __stdcall GLee_Lazy_glMultiTexCoord1iv(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord1iv(target, v);} - GLEEPFNGLMULTITEXCOORD1IVPROC GLeeFuncPtr_glMultiTexCoord1iv=GLee_Lazy_glMultiTexCoord1iv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1s -#define GLEE_C_DEFINED_glMultiTexCoord1s - void __stdcall GLee_Lazy_glMultiTexCoord1s(GLenum target, GLshort s) {if (GLeeInit()) glMultiTexCoord1s(target, s);} - GLEEPFNGLMULTITEXCOORD1SPROC GLeeFuncPtr_glMultiTexCoord1s=GLee_Lazy_glMultiTexCoord1s; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1sv -#define GLEE_C_DEFINED_glMultiTexCoord1sv - void __stdcall GLee_Lazy_glMultiTexCoord1sv(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord1sv(target, v);} - GLEEPFNGLMULTITEXCOORD1SVPROC GLeeFuncPtr_glMultiTexCoord1sv=GLee_Lazy_glMultiTexCoord1sv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2d -#define GLEE_C_DEFINED_glMultiTexCoord2d - void __stdcall GLee_Lazy_glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) {if (GLeeInit()) glMultiTexCoord2d(target, s, t);} - GLEEPFNGLMULTITEXCOORD2DPROC GLeeFuncPtr_glMultiTexCoord2d=GLee_Lazy_glMultiTexCoord2d; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2dv -#define GLEE_C_DEFINED_glMultiTexCoord2dv - void __stdcall GLee_Lazy_glMultiTexCoord2dv(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord2dv(target, v);} - GLEEPFNGLMULTITEXCOORD2DVPROC GLeeFuncPtr_glMultiTexCoord2dv=GLee_Lazy_glMultiTexCoord2dv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2f -#define GLEE_C_DEFINED_glMultiTexCoord2f - void __stdcall GLee_Lazy_glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) {if (GLeeInit()) glMultiTexCoord2f(target, s, t);} - GLEEPFNGLMULTITEXCOORD2FPROC GLeeFuncPtr_glMultiTexCoord2f=GLee_Lazy_glMultiTexCoord2f; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2fv -#define GLEE_C_DEFINED_glMultiTexCoord2fv - void __stdcall GLee_Lazy_glMultiTexCoord2fv(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord2fv(target, v);} - GLEEPFNGLMULTITEXCOORD2FVPROC GLeeFuncPtr_glMultiTexCoord2fv=GLee_Lazy_glMultiTexCoord2fv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2i -#define GLEE_C_DEFINED_glMultiTexCoord2i - void __stdcall GLee_Lazy_glMultiTexCoord2i(GLenum target, GLint s, GLint t) {if (GLeeInit()) glMultiTexCoord2i(target, s, t);} - GLEEPFNGLMULTITEXCOORD2IPROC GLeeFuncPtr_glMultiTexCoord2i=GLee_Lazy_glMultiTexCoord2i; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2iv -#define GLEE_C_DEFINED_glMultiTexCoord2iv - void __stdcall GLee_Lazy_glMultiTexCoord2iv(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord2iv(target, v);} - GLEEPFNGLMULTITEXCOORD2IVPROC GLeeFuncPtr_glMultiTexCoord2iv=GLee_Lazy_glMultiTexCoord2iv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2s -#define GLEE_C_DEFINED_glMultiTexCoord2s - void __stdcall GLee_Lazy_glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) {if (GLeeInit()) glMultiTexCoord2s(target, s, t);} - GLEEPFNGLMULTITEXCOORD2SPROC GLeeFuncPtr_glMultiTexCoord2s=GLee_Lazy_glMultiTexCoord2s; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2sv -#define GLEE_C_DEFINED_glMultiTexCoord2sv - void __stdcall GLee_Lazy_glMultiTexCoord2sv(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord2sv(target, v);} - GLEEPFNGLMULTITEXCOORD2SVPROC GLeeFuncPtr_glMultiTexCoord2sv=GLee_Lazy_glMultiTexCoord2sv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3d -#define GLEE_C_DEFINED_glMultiTexCoord3d - void __stdcall GLee_Lazy_glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) {if (GLeeInit()) glMultiTexCoord3d(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3DPROC GLeeFuncPtr_glMultiTexCoord3d=GLee_Lazy_glMultiTexCoord3d; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3dv -#define GLEE_C_DEFINED_glMultiTexCoord3dv - void __stdcall GLee_Lazy_glMultiTexCoord3dv(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord3dv(target, v);} - GLEEPFNGLMULTITEXCOORD3DVPROC GLeeFuncPtr_glMultiTexCoord3dv=GLee_Lazy_glMultiTexCoord3dv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3f -#define GLEE_C_DEFINED_glMultiTexCoord3f - void __stdcall GLee_Lazy_glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) {if (GLeeInit()) glMultiTexCoord3f(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3FPROC GLeeFuncPtr_glMultiTexCoord3f=GLee_Lazy_glMultiTexCoord3f; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3fv -#define GLEE_C_DEFINED_glMultiTexCoord3fv - void __stdcall GLee_Lazy_glMultiTexCoord3fv(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord3fv(target, v);} - GLEEPFNGLMULTITEXCOORD3FVPROC GLeeFuncPtr_glMultiTexCoord3fv=GLee_Lazy_glMultiTexCoord3fv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3i -#define GLEE_C_DEFINED_glMultiTexCoord3i - void __stdcall GLee_Lazy_glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) {if (GLeeInit()) glMultiTexCoord3i(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3IPROC GLeeFuncPtr_glMultiTexCoord3i=GLee_Lazy_glMultiTexCoord3i; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3iv -#define GLEE_C_DEFINED_glMultiTexCoord3iv - void __stdcall GLee_Lazy_glMultiTexCoord3iv(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord3iv(target, v);} - GLEEPFNGLMULTITEXCOORD3IVPROC GLeeFuncPtr_glMultiTexCoord3iv=GLee_Lazy_glMultiTexCoord3iv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3s -#define GLEE_C_DEFINED_glMultiTexCoord3s - void __stdcall GLee_Lazy_glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) {if (GLeeInit()) glMultiTexCoord3s(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3SPROC GLeeFuncPtr_glMultiTexCoord3s=GLee_Lazy_glMultiTexCoord3s; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3sv -#define GLEE_C_DEFINED_glMultiTexCoord3sv - void __stdcall GLee_Lazy_glMultiTexCoord3sv(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord3sv(target, v);} - GLEEPFNGLMULTITEXCOORD3SVPROC GLeeFuncPtr_glMultiTexCoord3sv=GLee_Lazy_glMultiTexCoord3sv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4d -#define GLEE_C_DEFINED_glMultiTexCoord4d - void __stdcall GLee_Lazy_glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) {if (GLeeInit()) glMultiTexCoord4d(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4DPROC GLeeFuncPtr_glMultiTexCoord4d=GLee_Lazy_glMultiTexCoord4d; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4dv -#define GLEE_C_DEFINED_glMultiTexCoord4dv - void __stdcall GLee_Lazy_glMultiTexCoord4dv(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord4dv(target, v);} - GLEEPFNGLMULTITEXCOORD4DVPROC GLeeFuncPtr_glMultiTexCoord4dv=GLee_Lazy_glMultiTexCoord4dv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4f -#define GLEE_C_DEFINED_glMultiTexCoord4f - void __stdcall GLee_Lazy_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {if (GLeeInit()) glMultiTexCoord4f(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4FPROC GLeeFuncPtr_glMultiTexCoord4f=GLee_Lazy_glMultiTexCoord4f; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4fv -#define GLEE_C_DEFINED_glMultiTexCoord4fv - void __stdcall GLee_Lazy_glMultiTexCoord4fv(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord4fv(target, v);} - GLEEPFNGLMULTITEXCOORD4FVPROC GLeeFuncPtr_glMultiTexCoord4fv=GLee_Lazy_glMultiTexCoord4fv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4i -#define GLEE_C_DEFINED_glMultiTexCoord4i - void __stdcall GLee_Lazy_glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) {if (GLeeInit()) glMultiTexCoord4i(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4IPROC GLeeFuncPtr_glMultiTexCoord4i=GLee_Lazy_glMultiTexCoord4i; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4iv -#define GLEE_C_DEFINED_glMultiTexCoord4iv - void __stdcall GLee_Lazy_glMultiTexCoord4iv(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord4iv(target, v);} - GLEEPFNGLMULTITEXCOORD4IVPROC GLeeFuncPtr_glMultiTexCoord4iv=GLee_Lazy_glMultiTexCoord4iv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4s -#define GLEE_C_DEFINED_glMultiTexCoord4s - void __stdcall GLee_Lazy_glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) {if (GLeeInit()) glMultiTexCoord4s(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4SPROC GLeeFuncPtr_glMultiTexCoord4s=GLee_Lazy_glMultiTexCoord4s; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4sv -#define GLEE_C_DEFINED_glMultiTexCoord4sv - void __stdcall GLee_Lazy_glMultiTexCoord4sv(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord4sv(target, v);} - GLEEPFNGLMULTITEXCOORD4SVPROC GLeeFuncPtr_glMultiTexCoord4sv=GLee_Lazy_glMultiTexCoord4sv; -#endif -#ifndef GLEE_C_DEFINED_glLoadTransposeMatrixf -#define GLEE_C_DEFINED_glLoadTransposeMatrixf - void __stdcall GLee_Lazy_glLoadTransposeMatrixf(const GLfloat * m) {if (GLeeInit()) glLoadTransposeMatrixf(m);} - GLEEPFNGLLOADTRANSPOSEMATRIXFPROC GLeeFuncPtr_glLoadTransposeMatrixf=GLee_Lazy_glLoadTransposeMatrixf; -#endif -#ifndef GLEE_C_DEFINED_glLoadTransposeMatrixd -#define GLEE_C_DEFINED_glLoadTransposeMatrixd - void __stdcall GLee_Lazy_glLoadTransposeMatrixd(const GLdouble * m) {if (GLeeInit()) glLoadTransposeMatrixd(m);} - GLEEPFNGLLOADTRANSPOSEMATRIXDPROC GLeeFuncPtr_glLoadTransposeMatrixd=GLee_Lazy_glLoadTransposeMatrixd; -#endif -#ifndef GLEE_C_DEFINED_glMultTransposeMatrixf -#define GLEE_C_DEFINED_glMultTransposeMatrixf - void __stdcall GLee_Lazy_glMultTransposeMatrixf(const GLfloat * m) {if (GLeeInit()) glMultTransposeMatrixf(m);} - GLEEPFNGLMULTTRANSPOSEMATRIXFPROC GLeeFuncPtr_glMultTransposeMatrixf=GLee_Lazy_glMultTransposeMatrixf; -#endif -#ifndef GLEE_C_DEFINED_glMultTransposeMatrixd -#define GLEE_C_DEFINED_glMultTransposeMatrixd - void __stdcall GLee_Lazy_glMultTransposeMatrixd(const GLdouble * m) {if (GLeeInit()) glMultTransposeMatrixd(m);} - GLEEPFNGLMULTTRANSPOSEMATRIXDPROC GLeeFuncPtr_glMultTransposeMatrixd=GLee_Lazy_glMultTransposeMatrixd; -#endif -#endif - -/* GL_VERSION_1_4 */ - -#ifdef __GLEE_GL_VERSION_1_4 -#ifndef GLEE_C_DEFINED_glBlendFuncSeparate -#define GLEE_C_DEFINED_glBlendFuncSeparate - void __stdcall GLee_Lazy_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {if (GLeeInit()) glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEPROC GLeeFuncPtr_glBlendFuncSeparate=GLee_Lazy_glBlendFuncSeparate; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawArrays -#define GLEE_C_DEFINED_glMultiDrawArrays - void __stdcall GLee_Lazy_glMultiDrawArrays(GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount) {if (GLeeInit()) glMultiDrawArrays(mode, first, count, drawcount);} - GLEEPFNGLMULTIDRAWARRAYSPROC GLeeFuncPtr_glMultiDrawArrays=GLee_Lazy_glMultiDrawArrays; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElements -#define GLEE_C_DEFINED_glMultiDrawElements - void __stdcall GLee_Lazy_glMultiDrawElements(GLenum mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei drawcount) {if (GLeeInit()) glMultiDrawElements(mode, count, type, indices, drawcount);} - GLEEPFNGLMULTIDRAWELEMENTSPROC GLeeFuncPtr_glMultiDrawElements=GLee_Lazy_glMultiDrawElements; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterf -#define GLEE_C_DEFINED_glPointParameterf - void __stdcall GLee_Lazy_glPointParameterf(GLenum pname, GLfloat param) {if (GLeeInit()) glPointParameterf(pname, param);} - GLEEPFNGLPOINTPARAMETERFPROC GLeeFuncPtr_glPointParameterf=GLee_Lazy_glPointParameterf; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterfv -#define GLEE_C_DEFINED_glPointParameterfv - void __stdcall GLee_Lazy_glPointParameterfv(GLenum pname, const GLfloat * params) {if (GLeeInit()) glPointParameterfv(pname, params);} - GLEEPFNGLPOINTPARAMETERFVPROC GLeeFuncPtr_glPointParameterfv=GLee_Lazy_glPointParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glPointParameteri -#define GLEE_C_DEFINED_glPointParameteri - void __stdcall GLee_Lazy_glPointParameteri(GLenum pname, GLint param) {if (GLeeInit()) glPointParameteri(pname, param);} - GLEEPFNGLPOINTPARAMETERIPROC GLeeFuncPtr_glPointParameteri=GLee_Lazy_glPointParameteri; -#endif -#ifndef GLEE_C_DEFINED_glPointParameteriv -#define GLEE_C_DEFINED_glPointParameteriv - void __stdcall GLee_Lazy_glPointParameteriv(GLenum pname, const GLint * params) {if (GLeeInit()) glPointParameteriv(pname, params);} - GLEEPFNGLPOINTPARAMETERIVPROC GLeeFuncPtr_glPointParameteriv=GLee_Lazy_glPointParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordf -#define GLEE_C_DEFINED_glFogCoordf - void __stdcall GLee_Lazy_glFogCoordf(GLfloat coord) {if (GLeeInit()) glFogCoordf(coord);} - GLEEPFNGLFOGCOORDFPROC GLeeFuncPtr_glFogCoordf=GLee_Lazy_glFogCoordf; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordfv -#define GLEE_C_DEFINED_glFogCoordfv - void __stdcall GLee_Lazy_glFogCoordfv(const GLfloat * coord) {if (GLeeInit()) glFogCoordfv(coord);} - GLEEPFNGLFOGCOORDFVPROC GLeeFuncPtr_glFogCoordfv=GLee_Lazy_glFogCoordfv; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordd -#define GLEE_C_DEFINED_glFogCoordd - void __stdcall GLee_Lazy_glFogCoordd(GLdouble coord) {if (GLeeInit()) glFogCoordd(coord);} - GLEEPFNGLFOGCOORDDPROC GLeeFuncPtr_glFogCoordd=GLee_Lazy_glFogCoordd; -#endif -#ifndef GLEE_C_DEFINED_glFogCoorddv -#define GLEE_C_DEFINED_glFogCoorddv - void __stdcall GLee_Lazy_glFogCoorddv(const GLdouble * coord) {if (GLeeInit()) glFogCoorddv(coord);} - GLEEPFNGLFOGCOORDDVPROC GLeeFuncPtr_glFogCoorddv=GLee_Lazy_glFogCoorddv; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordPointer -#define GLEE_C_DEFINED_glFogCoordPointer - void __stdcall GLee_Lazy_glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glFogCoordPointer(type, stride, pointer);} - GLEEPFNGLFOGCOORDPOINTERPROC GLeeFuncPtr_glFogCoordPointer=GLee_Lazy_glFogCoordPointer; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3b -#define GLEE_C_DEFINED_glSecondaryColor3b - void __stdcall GLee_Lazy_glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) {if (GLeeInit()) glSecondaryColor3b(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3BPROC GLeeFuncPtr_glSecondaryColor3b=GLee_Lazy_glSecondaryColor3b; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3bv -#define GLEE_C_DEFINED_glSecondaryColor3bv - void __stdcall GLee_Lazy_glSecondaryColor3bv(const GLbyte * v) {if (GLeeInit()) glSecondaryColor3bv(v);} - GLEEPFNGLSECONDARYCOLOR3BVPROC GLeeFuncPtr_glSecondaryColor3bv=GLee_Lazy_glSecondaryColor3bv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3d -#define GLEE_C_DEFINED_glSecondaryColor3d - void __stdcall GLee_Lazy_glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) {if (GLeeInit()) glSecondaryColor3d(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3DPROC GLeeFuncPtr_glSecondaryColor3d=GLee_Lazy_glSecondaryColor3d; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3dv -#define GLEE_C_DEFINED_glSecondaryColor3dv - void __stdcall GLee_Lazy_glSecondaryColor3dv(const GLdouble * v) {if (GLeeInit()) glSecondaryColor3dv(v);} - GLEEPFNGLSECONDARYCOLOR3DVPROC GLeeFuncPtr_glSecondaryColor3dv=GLee_Lazy_glSecondaryColor3dv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3f -#define GLEE_C_DEFINED_glSecondaryColor3f - void __stdcall GLee_Lazy_glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) {if (GLeeInit()) glSecondaryColor3f(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3FPROC GLeeFuncPtr_glSecondaryColor3f=GLee_Lazy_glSecondaryColor3f; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3fv -#define GLEE_C_DEFINED_glSecondaryColor3fv - void __stdcall GLee_Lazy_glSecondaryColor3fv(const GLfloat * v) {if (GLeeInit()) glSecondaryColor3fv(v);} - GLEEPFNGLSECONDARYCOLOR3FVPROC GLeeFuncPtr_glSecondaryColor3fv=GLee_Lazy_glSecondaryColor3fv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3i -#define GLEE_C_DEFINED_glSecondaryColor3i - void __stdcall GLee_Lazy_glSecondaryColor3i(GLint red, GLint green, GLint blue) {if (GLeeInit()) glSecondaryColor3i(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3IPROC GLeeFuncPtr_glSecondaryColor3i=GLee_Lazy_glSecondaryColor3i; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3iv -#define GLEE_C_DEFINED_glSecondaryColor3iv - void __stdcall GLee_Lazy_glSecondaryColor3iv(const GLint * v) {if (GLeeInit()) glSecondaryColor3iv(v);} - GLEEPFNGLSECONDARYCOLOR3IVPROC GLeeFuncPtr_glSecondaryColor3iv=GLee_Lazy_glSecondaryColor3iv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3s -#define GLEE_C_DEFINED_glSecondaryColor3s - void __stdcall GLee_Lazy_glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) {if (GLeeInit()) glSecondaryColor3s(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3SPROC GLeeFuncPtr_glSecondaryColor3s=GLee_Lazy_glSecondaryColor3s; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3sv -#define GLEE_C_DEFINED_glSecondaryColor3sv - void __stdcall GLee_Lazy_glSecondaryColor3sv(const GLshort * v) {if (GLeeInit()) glSecondaryColor3sv(v);} - GLEEPFNGLSECONDARYCOLOR3SVPROC GLeeFuncPtr_glSecondaryColor3sv=GLee_Lazy_glSecondaryColor3sv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ub -#define GLEE_C_DEFINED_glSecondaryColor3ub - void __stdcall GLee_Lazy_glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) {if (GLeeInit()) glSecondaryColor3ub(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3UBPROC GLeeFuncPtr_glSecondaryColor3ub=GLee_Lazy_glSecondaryColor3ub; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ubv -#define GLEE_C_DEFINED_glSecondaryColor3ubv - void __stdcall GLee_Lazy_glSecondaryColor3ubv(const GLubyte * v) {if (GLeeInit()) glSecondaryColor3ubv(v);} - GLEEPFNGLSECONDARYCOLOR3UBVPROC GLeeFuncPtr_glSecondaryColor3ubv=GLee_Lazy_glSecondaryColor3ubv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ui -#define GLEE_C_DEFINED_glSecondaryColor3ui - void __stdcall GLee_Lazy_glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) {if (GLeeInit()) glSecondaryColor3ui(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3UIPROC GLeeFuncPtr_glSecondaryColor3ui=GLee_Lazy_glSecondaryColor3ui; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3uiv -#define GLEE_C_DEFINED_glSecondaryColor3uiv - void __stdcall GLee_Lazy_glSecondaryColor3uiv(const GLuint * v) {if (GLeeInit()) glSecondaryColor3uiv(v);} - GLEEPFNGLSECONDARYCOLOR3UIVPROC GLeeFuncPtr_glSecondaryColor3uiv=GLee_Lazy_glSecondaryColor3uiv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3us -#define GLEE_C_DEFINED_glSecondaryColor3us - void __stdcall GLee_Lazy_glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) {if (GLeeInit()) glSecondaryColor3us(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3USPROC GLeeFuncPtr_glSecondaryColor3us=GLee_Lazy_glSecondaryColor3us; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3usv -#define GLEE_C_DEFINED_glSecondaryColor3usv - void __stdcall GLee_Lazy_glSecondaryColor3usv(const GLushort * v) {if (GLeeInit()) glSecondaryColor3usv(v);} - GLEEPFNGLSECONDARYCOLOR3USVPROC GLeeFuncPtr_glSecondaryColor3usv=GLee_Lazy_glSecondaryColor3usv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorPointer -#define GLEE_C_DEFINED_glSecondaryColorPointer - void __stdcall GLee_Lazy_glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glSecondaryColorPointer(size, type, stride, pointer);} - GLEEPFNGLSECONDARYCOLORPOINTERPROC GLeeFuncPtr_glSecondaryColorPointer=GLee_Lazy_glSecondaryColorPointer; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2d -#define GLEE_C_DEFINED_glWindowPos2d - void __stdcall GLee_Lazy_glWindowPos2d(GLdouble x, GLdouble y) {if (GLeeInit()) glWindowPos2d(x, y);} - GLEEPFNGLWINDOWPOS2DPROC GLeeFuncPtr_glWindowPos2d=GLee_Lazy_glWindowPos2d; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2dv -#define GLEE_C_DEFINED_glWindowPos2dv - void __stdcall GLee_Lazy_glWindowPos2dv(const GLdouble * v) {if (GLeeInit()) glWindowPos2dv(v);} - GLEEPFNGLWINDOWPOS2DVPROC GLeeFuncPtr_glWindowPos2dv=GLee_Lazy_glWindowPos2dv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2f -#define GLEE_C_DEFINED_glWindowPos2f - void __stdcall GLee_Lazy_glWindowPos2f(GLfloat x, GLfloat y) {if (GLeeInit()) glWindowPos2f(x, y);} - GLEEPFNGLWINDOWPOS2FPROC GLeeFuncPtr_glWindowPos2f=GLee_Lazy_glWindowPos2f; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2fv -#define GLEE_C_DEFINED_glWindowPos2fv - void __stdcall GLee_Lazy_glWindowPos2fv(const GLfloat * v) {if (GLeeInit()) glWindowPos2fv(v);} - GLEEPFNGLWINDOWPOS2FVPROC GLeeFuncPtr_glWindowPos2fv=GLee_Lazy_glWindowPos2fv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2i -#define GLEE_C_DEFINED_glWindowPos2i - void __stdcall GLee_Lazy_glWindowPos2i(GLint x, GLint y) {if (GLeeInit()) glWindowPos2i(x, y);} - GLEEPFNGLWINDOWPOS2IPROC GLeeFuncPtr_glWindowPos2i=GLee_Lazy_glWindowPos2i; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2iv -#define GLEE_C_DEFINED_glWindowPos2iv - void __stdcall GLee_Lazy_glWindowPos2iv(const GLint * v) {if (GLeeInit()) glWindowPos2iv(v);} - GLEEPFNGLWINDOWPOS2IVPROC GLeeFuncPtr_glWindowPos2iv=GLee_Lazy_glWindowPos2iv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2s -#define GLEE_C_DEFINED_glWindowPos2s - void __stdcall GLee_Lazy_glWindowPos2s(GLshort x, GLshort y) {if (GLeeInit()) glWindowPos2s(x, y);} - GLEEPFNGLWINDOWPOS2SPROC GLeeFuncPtr_glWindowPos2s=GLee_Lazy_glWindowPos2s; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2sv -#define GLEE_C_DEFINED_glWindowPos2sv - void __stdcall GLee_Lazy_glWindowPos2sv(const GLshort * v) {if (GLeeInit()) glWindowPos2sv(v);} - GLEEPFNGLWINDOWPOS2SVPROC GLeeFuncPtr_glWindowPos2sv=GLee_Lazy_glWindowPos2sv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3d -#define GLEE_C_DEFINED_glWindowPos3d - void __stdcall GLee_Lazy_glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glWindowPos3d(x, y, z);} - GLEEPFNGLWINDOWPOS3DPROC GLeeFuncPtr_glWindowPos3d=GLee_Lazy_glWindowPos3d; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3dv -#define GLEE_C_DEFINED_glWindowPos3dv - void __stdcall GLee_Lazy_glWindowPos3dv(const GLdouble * v) {if (GLeeInit()) glWindowPos3dv(v);} - GLEEPFNGLWINDOWPOS3DVPROC GLeeFuncPtr_glWindowPos3dv=GLee_Lazy_glWindowPos3dv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3f -#define GLEE_C_DEFINED_glWindowPos3f - void __stdcall GLee_Lazy_glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glWindowPos3f(x, y, z);} - GLEEPFNGLWINDOWPOS3FPROC GLeeFuncPtr_glWindowPos3f=GLee_Lazy_glWindowPos3f; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3fv -#define GLEE_C_DEFINED_glWindowPos3fv - void __stdcall GLee_Lazy_glWindowPos3fv(const GLfloat * v) {if (GLeeInit()) glWindowPos3fv(v);} - GLEEPFNGLWINDOWPOS3FVPROC GLeeFuncPtr_glWindowPos3fv=GLee_Lazy_glWindowPos3fv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3i -#define GLEE_C_DEFINED_glWindowPos3i - void __stdcall GLee_Lazy_glWindowPos3i(GLint x, GLint y, GLint z) {if (GLeeInit()) glWindowPos3i(x, y, z);} - GLEEPFNGLWINDOWPOS3IPROC GLeeFuncPtr_glWindowPos3i=GLee_Lazy_glWindowPos3i; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3iv -#define GLEE_C_DEFINED_glWindowPos3iv - void __stdcall GLee_Lazy_glWindowPos3iv(const GLint * v) {if (GLeeInit()) glWindowPos3iv(v);} - GLEEPFNGLWINDOWPOS3IVPROC GLeeFuncPtr_glWindowPos3iv=GLee_Lazy_glWindowPos3iv; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3s -#define GLEE_C_DEFINED_glWindowPos3s - void __stdcall GLee_Lazy_glWindowPos3s(GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glWindowPos3s(x, y, z);} - GLEEPFNGLWINDOWPOS3SPROC GLeeFuncPtr_glWindowPos3s=GLee_Lazy_glWindowPos3s; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3sv -#define GLEE_C_DEFINED_glWindowPos3sv - void __stdcall GLee_Lazy_glWindowPos3sv(const GLshort * v) {if (GLeeInit()) glWindowPos3sv(v);} - GLEEPFNGLWINDOWPOS3SVPROC GLeeFuncPtr_glWindowPos3sv=GLee_Lazy_glWindowPos3sv; -#endif -#endif - -/* GL_VERSION_1_5 */ - -#ifdef __GLEE_GL_VERSION_1_5 -#ifndef GLEE_C_DEFINED_glGenQueries -#define GLEE_C_DEFINED_glGenQueries - void __stdcall GLee_Lazy_glGenQueries(GLsizei n, GLuint * ids) {if (GLeeInit()) glGenQueries(n, ids);} - GLEEPFNGLGENQUERIESPROC GLeeFuncPtr_glGenQueries=GLee_Lazy_glGenQueries; -#endif -#ifndef GLEE_C_DEFINED_glDeleteQueries -#define GLEE_C_DEFINED_glDeleteQueries - void __stdcall GLee_Lazy_glDeleteQueries(GLsizei n, const GLuint * ids) {if (GLeeInit()) glDeleteQueries(n, ids);} - GLEEPFNGLDELETEQUERIESPROC GLeeFuncPtr_glDeleteQueries=GLee_Lazy_glDeleteQueries; -#endif -#ifndef GLEE_C_DEFINED_glIsQuery -#define GLEE_C_DEFINED_glIsQuery - GLboolean __stdcall GLee_Lazy_glIsQuery(GLuint id) {if (GLeeInit()) return glIsQuery(id); return (GLboolean)0;} - GLEEPFNGLISQUERYPROC GLeeFuncPtr_glIsQuery=GLee_Lazy_glIsQuery; -#endif -#ifndef GLEE_C_DEFINED_glBeginQuery -#define GLEE_C_DEFINED_glBeginQuery - void __stdcall GLee_Lazy_glBeginQuery(GLenum target, GLuint id) {if (GLeeInit()) glBeginQuery(target, id);} - GLEEPFNGLBEGINQUERYPROC GLeeFuncPtr_glBeginQuery=GLee_Lazy_glBeginQuery; -#endif -#ifndef GLEE_C_DEFINED_glEndQuery -#define GLEE_C_DEFINED_glEndQuery - void __stdcall GLee_Lazy_glEndQuery(GLenum target) {if (GLeeInit()) glEndQuery(target);} - GLEEPFNGLENDQUERYPROC GLeeFuncPtr_glEndQuery=GLee_Lazy_glEndQuery; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryiv -#define GLEE_C_DEFINED_glGetQueryiv - void __stdcall GLee_Lazy_glGetQueryiv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetQueryiv(target, pname, params);} - GLEEPFNGLGETQUERYIVPROC GLeeFuncPtr_glGetQueryiv=GLee_Lazy_glGetQueryiv; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectiv -#define GLEE_C_DEFINED_glGetQueryObjectiv - void __stdcall GLee_Lazy_glGetQueryObjectiv(GLuint id, GLenum pname, GLint * params) {if (GLeeInit()) glGetQueryObjectiv(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTIVPROC GLeeFuncPtr_glGetQueryObjectiv=GLee_Lazy_glGetQueryObjectiv; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectuiv -#define GLEE_C_DEFINED_glGetQueryObjectuiv - void __stdcall GLee_Lazy_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint * params) {if (GLeeInit()) glGetQueryObjectuiv(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTUIVPROC GLeeFuncPtr_glGetQueryObjectuiv=GLee_Lazy_glGetQueryObjectuiv; -#endif -#ifndef GLEE_C_DEFINED_glBindBuffer -#define GLEE_C_DEFINED_glBindBuffer - void __stdcall GLee_Lazy_glBindBuffer(GLenum target, GLuint buffer) {if (GLeeInit()) glBindBuffer(target, buffer);} - GLEEPFNGLBINDBUFFERPROC GLeeFuncPtr_glBindBuffer=GLee_Lazy_glBindBuffer; -#endif -#ifndef GLEE_C_DEFINED_glDeleteBuffers -#define GLEE_C_DEFINED_glDeleteBuffers - void __stdcall GLee_Lazy_glDeleteBuffers(GLsizei n, const GLuint * buffers) {if (GLeeInit()) glDeleteBuffers(n, buffers);} - GLEEPFNGLDELETEBUFFERSPROC GLeeFuncPtr_glDeleteBuffers=GLee_Lazy_glDeleteBuffers; -#endif -#ifndef GLEE_C_DEFINED_glGenBuffers -#define GLEE_C_DEFINED_glGenBuffers - void __stdcall GLee_Lazy_glGenBuffers(GLsizei n, GLuint * buffers) {if (GLeeInit()) glGenBuffers(n, buffers);} - GLEEPFNGLGENBUFFERSPROC GLeeFuncPtr_glGenBuffers=GLee_Lazy_glGenBuffers; -#endif -#ifndef GLEE_C_DEFINED_glIsBuffer -#define GLEE_C_DEFINED_glIsBuffer - GLboolean __stdcall GLee_Lazy_glIsBuffer(GLuint buffer) {if (GLeeInit()) return glIsBuffer(buffer); return (GLboolean)0;} - GLEEPFNGLISBUFFERPROC GLeeFuncPtr_glIsBuffer=GLee_Lazy_glIsBuffer; -#endif -#ifndef GLEE_C_DEFINED_glBufferData -#define GLEE_C_DEFINED_glBufferData - void __stdcall GLee_Lazy_glBufferData(GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage) {if (GLeeInit()) glBufferData(target, size, data, usage);} - GLEEPFNGLBUFFERDATAPROC GLeeFuncPtr_glBufferData=GLee_Lazy_glBufferData; -#endif -#ifndef GLEE_C_DEFINED_glBufferSubData -#define GLEE_C_DEFINED_glBufferSubData - void __stdcall GLee_Lazy_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data) {if (GLeeInit()) glBufferSubData(target, offset, size, data);} - GLEEPFNGLBUFFERSUBDATAPROC GLeeFuncPtr_glBufferSubData=GLee_Lazy_glBufferSubData; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferSubData -#define GLEE_C_DEFINED_glGetBufferSubData - void __stdcall GLee_Lazy_glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid * data) {if (GLeeInit()) glGetBufferSubData(target, offset, size, data);} - GLEEPFNGLGETBUFFERSUBDATAPROC GLeeFuncPtr_glGetBufferSubData=GLee_Lazy_glGetBufferSubData; -#endif -#ifndef GLEE_C_DEFINED_glMapBuffer -#define GLEE_C_DEFINED_glMapBuffer - GLvoid* __stdcall GLee_Lazy_glMapBuffer(GLenum target, GLenum access) {if (GLeeInit()) return glMapBuffer(target, access); return (GLvoid*)0;} - GLEEPFNGLMAPBUFFERPROC GLeeFuncPtr_glMapBuffer=GLee_Lazy_glMapBuffer; -#endif -#ifndef GLEE_C_DEFINED_glUnmapBuffer -#define GLEE_C_DEFINED_glUnmapBuffer - GLboolean __stdcall GLee_Lazy_glUnmapBuffer(GLenum target) {if (GLeeInit()) return glUnmapBuffer(target); return (GLboolean)0;} - GLEEPFNGLUNMAPBUFFERPROC GLeeFuncPtr_glUnmapBuffer=GLee_Lazy_glUnmapBuffer; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferParameteriv -#define GLEE_C_DEFINED_glGetBufferParameteriv - void __stdcall GLee_Lazy_glGetBufferParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetBufferParameteriv(target, pname, params);} - GLEEPFNGLGETBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetBufferParameteriv=GLee_Lazy_glGetBufferParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferPointerv -#define GLEE_C_DEFINED_glGetBufferPointerv - void __stdcall GLee_Lazy_glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* * params) {if (GLeeInit()) glGetBufferPointerv(target, pname, params);} - GLEEPFNGLGETBUFFERPOINTERVPROC GLeeFuncPtr_glGetBufferPointerv=GLee_Lazy_glGetBufferPointerv; -#endif -#endif - -/* GL_VERSION_2_0 */ - -#ifdef __GLEE_GL_VERSION_2_0 -#ifndef GLEE_C_DEFINED_glBlendEquationSeparate -#define GLEE_C_DEFINED_glBlendEquationSeparate - void __stdcall GLee_Lazy_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {if (GLeeInit()) glBlendEquationSeparate(modeRGB, modeAlpha);} - GLEEPFNGLBLENDEQUATIONSEPARATEPROC GLeeFuncPtr_glBlendEquationSeparate=GLee_Lazy_glBlendEquationSeparate; -#endif -#ifndef GLEE_C_DEFINED_glDrawBuffers -#define GLEE_C_DEFINED_glDrawBuffers - void __stdcall GLee_Lazy_glDrawBuffers(GLsizei n, const GLenum * bufs) {if (GLeeInit()) glDrawBuffers(n, bufs);} - GLEEPFNGLDRAWBUFFERSPROC GLeeFuncPtr_glDrawBuffers=GLee_Lazy_glDrawBuffers; -#endif -#ifndef GLEE_C_DEFINED_glStencilOpSeparate -#define GLEE_C_DEFINED_glStencilOpSeparate - void __stdcall GLee_Lazy_glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) {if (GLeeInit()) glStencilOpSeparate(face, sfail, dpfail, dppass);} - GLEEPFNGLSTENCILOPSEPARATEPROC GLeeFuncPtr_glStencilOpSeparate=GLee_Lazy_glStencilOpSeparate; -#endif -#ifndef GLEE_C_DEFINED_glStencilFuncSeparate -#define GLEE_C_DEFINED_glStencilFuncSeparate - void __stdcall GLee_Lazy_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) {if (GLeeInit()) glStencilFuncSeparate(face, func, ref, mask);} - GLEEPFNGLSTENCILFUNCSEPARATEPROC GLeeFuncPtr_glStencilFuncSeparate=GLee_Lazy_glStencilFuncSeparate; -#endif -#ifndef GLEE_C_DEFINED_glStencilMaskSeparate -#define GLEE_C_DEFINED_glStencilMaskSeparate - void __stdcall GLee_Lazy_glStencilMaskSeparate(GLenum face, GLuint mask) {if (GLeeInit()) glStencilMaskSeparate(face, mask);} - GLEEPFNGLSTENCILMASKSEPARATEPROC GLeeFuncPtr_glStencilMaskSeparate=GLee_Lazy_glStencilMaskSeparate; -#endif -#ifndef GLEE_C_DEFINED_glAttachShader -#define GLEE_C_DEFINED_glAttachShader - void __stdcall GLee_Lazy_glAttachShader(GLuint program, GLuint shader) {if (GLeeInit()) glAttachShader(program, shader);} - GLEEPFNGLATTACHSHADERPROC GLeeFuncPtr_glAttachShader=GLee_Lazy_glAttachShader; -#endif -#ifndef GLEE_C_DEFINED_glBindAttribLocation -#define GLEE_C_DEFINED_glBindAttribLocation - void __stdcall GLee_Lazy_glBindAttribLocation(GLuint program, GLuint index, const GLchar * name) {if (GLeeInit()) glBindAttribLocation(program, index, name);} - GLEEPFNGLBINDATTRIBLOCATIONPROC GLeeFuncPtr_glBindAttribLocation=GLee_Lazy_glBindAttribLocation; -#endif -#ifndef GLEE_C_DEFINED_glCompileShader -#define GLEE_C_DEFINED_glCompileShader - void __stdcall GLee_Lazy_glCompileShader(GLuint shader) {if (GLeeInit()) glCompileShader(shader);} - GLEEPFNGLCOMPILESHADERPROC GLeeFuncPtr_glCompileShader=GLee_Lazy_glCompileShader; -#endif -#ifndef GLEE_C_DEFINED_glCreateProgram -#define GLEE_C_DEFINED_glCreateProgram - GLuint __stdcall GLee_Lazy_glCreateProgram(void) {if (GLeeInit()) return glCreateProgram(); return (GLuint)0;} - GLEEPFNGLCREATEPROGRAMPROC GLeeFuncPtr_glCreateProgram=GLee_Lazy_glCreateProgram; -#endif -#ifndef GLEE_C_DEFINED_glCreateShader -#define GLEE_C_DEFINED_glCreateShader - GLuint __stdcall GLee_Lazy_glCreateShader(GLenum type) {if (GLeeInit()) return glCreateShader(type); return (GLuint)0;} - GLEEPFNGLCREATESHADERPROC GLeeFuncPtr_glCreateShader=GLee_Lazy_glCreateShader; -#endif -#ifndef GLEE_C_DEFINED_glDeleteProgram -#define GLEE_C_DEFINED_glDeleteProgram - void __stdcall GLee_Lazy_glDeleteProgram(GLuint program) {if (GLeeInit()) glDeleteProgram(program);} - GLEEPFNGLDELETEPROGRAMPROC GLeeFuncPtr_glDeleteProgram=GLee_Lazy_glDeleteProgram; -#endif -#ifndef GLEE_C_DEFINED_glDeleteShader -#define GLEE_C_DEFINED_glDeleteShader - void __stdcall GLee_Lazy_glDeleteShader(GLuint shader) {if (GLeeInit()) glDeleteShader(shader);} - GLEEPFNGLDELETESHADERPROC GLeeFuncPtr_glDeleteShader=GLee_Lazy_glDeleteShader; -#endif -#ifndef GLEE_C_DEFINED_glDetachShader -#define GLEE_C_DEFINED_glDetachShader - void __stdcall GLee_Lazy_glDetachShader(GLuint program, GLuint shader) {if (GLeeInit()) glDetachShader(program, shader);} - GLEEPFNGLDETACHSHADERPROC GLeeFuncPtr_glDetachShader=GLee_Lazy_glDetachShader; -#endif -#ifndef GLEE_C_DEFINED_glDisableVertexAttribArray -#define GLEE_C_DEFINED_glDisableVertexAttribArray - void __stdcall GLee_Lazy_glDisableVertexAttribArray(GLuint index) {if (GLeeInit()) glDisableVertexAttribArray(index);} - GLEEPFNGLDISABLEVERTEXATTRIBARRAYPROC GLeeFuncPtr_glDisableVertexAttribArray=GLee_Lazy_glDisableVertexAttribArray; -#endif -#ifndef GLEE_C_DEFINED_glEnableVertexAttribArray -#define GLEE_C_DEFINED_glEnableVertexAttribArray - void __stdcall GLee_Lazy_glEnableVertexAttribArray(GLuint index) {if (GLeeInit()) glEnableVertexAttribArray(index);} - GLEEPFNGLENABLEVERTEXATTRIBARRAYPROC GLeeFuncPtr_glEnableVertexAttribArray=GLee_Lazy_glEnableVertexAttribArray; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveAttrib -#define GLEE_C_DEFINED_glGetActiveAttrib - void __stdcall GLee_Lazy_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) {if (GLeeInit()) glGetActiveAttrib(program, index, bufSize, length, size, type, name);} - GLEEPFNGLGETACTIVEATTRIBPROC GLeeFuncPtr_glGetActiveAttrib=GLee_Lazy_glGetActiveAttrib; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniform -#define GLEE_C_DEFINED_glGetActiveUniform - void __stdcall GLee_Lazy_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) {if (GLeeInit()) glGetActiveUniform(program, index, bufSize, length, size, type, name);} - GLEEPFNGLGETACTIVEUNIFORMPROC GLeeFuncPtr_glGetActiveUniform=GLee_Lazy_glGetActiveUniform; -#endif -#ifndef GLEE_C_DEFINED_glGetAttachedShaders -#define GLEE_C_DEFINED_glGetAttachedShaders - void __stdcall GLee_Lazy_glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj) {if (GLeeInit()) glGetAttachedShaders(program, maxCount, count, obj);} - GLEEPFNGLGETATTACHEDSHADERSPROC GLeeFuncPtr_glGetAttachedShaders=GLee_Lazy_glGetAttachedShaders; -#endif -#ifndef GLEE_C_DEFINED_glGetAttribLocation -#define GLEE_C_DEFINED_glGetAttribLocation - GLint __stdcall GLee_Lazy_glGetAttribLocation(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetAttribLocation(program, name); return (GLint)0;} - GLEEPFNGLGETATTRIBLOCATIONPROC GLeeFuncPtr_glGetAttribLocation=GLee_Lazy_glGetAttribLocation; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramiv -#define GLEE_C_DEFINED_glGetProgramiv - void __stdcall GLee_Lazy_glGetProgramiv(GLuint program, GLenum pname, GLint * params) {if (GLeeInit()) glGetProgramiv(program, pname, params);} - GLEEPFNGLGETPROGRAMIVPROC GLeeFuncPtr_glGetProgramiv=GLee_Lazy_glGetProgramiv; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramInfoLog -#define GLEE_C_DEFINED_glGetProgramInfoLog - void __stdcall GLee_Lazy_glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) {if (GLeeInit()) glGetProgramInfoLog(program, bufSize, length, infoLog);} - GLEEPFNGLGETPROGRAMINFOLOGPROC GLeeFuncPtr_glGetProgramInfoLog=GLee_Lazy_glGetProgramInfoLog; -#endif -#ifndef GLEE_C_DEFINED_glGetShaderiv -#define GLEE_C_DEFINED_glGetShaderiv - void __stdcall GLee_Lazy_glGetShaderiv(GLuint shader, GLenum pname, GLint * params) {if (GLeeInit()) glGetShaderiv(shader, pname, params);} - GLEEPFNGLGETSHADERIVPROC GLeeFuncPtr_glGetShaderiv=GLee_Lazy_glGetShaderiv; -#endif -#ifndef GLEE_C_DEFINED_glGetShaderInfoLog -#define GLEE_C_DEFINED_glGetShaderInfoLog - void __stdcall GLee_Lazy_glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) {if (GLeeInit()) glGetShaderInfoLog(shader, bufSize, length, infoLog);} - GLEEPFNGLGETSHADERINFOLOGPROC GLeeFuncPtr_glGetShaderInfoLog=GLee_Lazy_glGetShaderInfoLog; -#endif -#ifndef GLEE_C_DEFINED_glGetShaderSource -#define GLEE_C_DEFINED_glGetShaderSource - void __stdcall GLee_Lazy_glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source) {if (GLeeInit()) glGetShaderSource(shader, bufSize, length, source);} - GLEEPFNGLGETSHADERSOURCEPROC GLeeFuncPtr_glGetShaderSource=GLee_Lazy_glGetShaderSource; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformLocation -#define GLEE_C_DEFINED_glGetUniformLocation - GLint __stdcall GLee_Lazy_glGetUniformLocation(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetUniformLocation(program, name); return (GLint)0;} - GLEEPFNGLGETUNIFORMLOCATIONPROC GLeeFuncPtr_glGetUniformLocation=GLee_Lazy_glGetUniformLocation; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformfv -#define GLEE_C_DEFINED_glGetUniformfv - void __stdcall GLee_Lazy_glGetUniformfv(GLuint program, GLint location, GLfloat * params) {if (GLeeInit()) glGetUniformfv(program, location, params);} - GLEEPFNGLGETUNIFORMFVPROC GLeeFuncPtr_glGetUniformfv=GLee_Lazy_glGetUniformfv; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformiv -#define GLEE_C_DEFINED_glGetUniformiv - void __stdcall GLee_Lazy_glGetUniformiv(GLuint program, GLint location, GLint * params) {if (GLeeInit()) glGetUniformiv(program, location, params);} - GLEEPFNGLGETUNIFORMIVPROC GLeeFuncPtr_glGetUniformiv=GLee_Lazy_glGetUniformiv; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribdv -#define GLEE_C_DEFINED_glGetVertexAttribdv - void __stdcall GLee_Lazy_glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVertexAttribdv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBDVPROC GLeeFuncPtr_glGetVertexAttribdv=GLee_Lazy_glGetVertexAttribdv; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribfv -#define GLEE_C_DEFINED_glGetVertexAttribfv - void __stdcall GLee_Lazy_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVertexAttribfv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBFVPROC GLeeFuncPtr_glGetVertexAttribfv=GLee_Lazy_glGetVertexAttribfv; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribiv -#define GLEE_C_DEFINED_glGetVertexAttribiv - void __stdcall GLee_Lazy_glGetVertexAttribiv(GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetVertexAttribiv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBIVPROC GLeeFuncPtr_glGetVertexAttribiv=GLee_Lazy_glGetVertexAttribiv; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribPointerv -#define GLEE_C_DEFINED_glGetVertexAttribPointerv - void __stdcall GLee_Lazy_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* * pointer) {if (GLeeInit()) glGetVertexAttribPointerv(index, pname, pointer);} - GLEEPFNGLGETVERTEXATTRIBPOINTERVPROC GLeeFuncPtr_glGetVertexAttribPointerv=GLee_Lazy_glGetVertexAttribPointerv; -#endif -#ifndef GLEE_C_DEFINED_glIsProgram -#define GLEE_C_DEFINED_glIsProgram - GLboolean __stdcall GLee_Lazy_glIsProgram(GLuint program) {if (GLeeInit()) return glIsProgram(program); return (GLboolean)0;} - GLEEPFNGLISPROGRAMPROC GLeeFuncPtr_glIsProgram=GLee_Lazy_glIsProgram; -#endif -#ifndef GLEE_C_DEFINED_glIsShader -#define GLEE_C_DEFINED_glIsShader - GLboolean __stdcall GLee_Lazy_glIsShader(GLuint shader) {if (GLeeInit()) return glIsShader(shader); return (GLboolean)0;} - GLEEPFNGLISSHADERPROC GLeeFuncPtr_glIsShader=GLee_Lazy_glIsShader; -#endif -#ifndef GLEE_C_DEFINED_glLinkProgram -#define GLEE_C_DEFINED_glLinkProgram - void __stdcall GLee_Lazy_glLinkProgram(GLuint program) {if (GLeeInit()) glLinkProgram(program);} - GLEEPFNGLLINKPROGRAMPROC GLeeFuncPtr_glLinkProgram=GLee_Lazy_glLinkProgram; -#endif -#ifndef GLEE_C_DEFINED_glShaderSource -#define GLEE_C_DEFINED_glShaderSource - void __stdcall GLee_Lazy_glShaderSource(GLuint shader, GLsizei count, const GLchar* const * string, const GLint * length) {if (GLeeInit()) glShaderSource(shader, count, string, length);} - GLEEPFNGLSHADERSOURCEPROC GLeeFuncPtr_glShaderSource=GLee_Lazy_glShaderSource; -#endif -#ifndef GLEE_C_DEFINED_glUseProgram -#define GLEE_C_DEFINED_glUseProgram - void __stdcall GLee_Lazy_glUseProgram(GLuint program) {if (GLeeInit()) glUseProgram(program);} - GLEEPFNGLUSEPROGRAMPROC GLeeFuncPtr_glUseProgram=GLee_Lazy_glUseProgram; -#endif -#ifndef GLEE_C_DEFINED_glUniform1f -#define GLEE_C_DEFINED_glUniform1f - void __stdcall GLee_Lazy_glUniform1f(GLint location, GLfloat v0) {if (GLeeInit()) glUniform1f(location, v0);} - GLEEPFNGLUNIFORM1FPROC GLeeFuncPtr_glUniform1f=GLee_Lazy_glUniform1f; -#endif -#ifndef GLEE_C_DEFINED_glUniform2f -#define GLEE_C_DEFINED_glUniform2f - void __stdcall GLee_Lazy_glUniform2f(GLint location, GLfloat v0, GLfloat v1) {if (GLeeInit()) glUniform2f(location, v0, v1);} - GLEEPFNGLUNIFORM2FPROC GLeeFuncPtr_glUniform2f=GLee_Lazy_glUniform2f; -#endif -#ifndef GLEE_C_DEFINED_glUniform3f -#define GLEE_C_DEFINED_glUniform3f - void __stdcall GLee_Lazy_glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {if (GLeeInit()) glUniform3f(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3FPROC GLeeFuncPtr_glUniform3f=GLee_Lazy_glUniform3f; -#endif -#ifndef GLEE_C_DEFINED_glUniform4f -#define GLEE_C_DEFINED_glUniform4f - void __stdcall GLee_Lazy_glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {if (GLeeInit()) glUniform4f(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4FPROC GLeeFuncPtr_glUniform4f=GLee_Lazy_glUniform4f; -#endif -#ifndef GLEE_C_DEFINED_glUniform1i -#define GLEE_C_DEFINED_glUniform1i - void __stdcall GLee_Lazy_glUniform1i(GLint location, GLint v0) {if (GLeeInit()) glUniform1i(location, v0);} - GLEEPFNGLUNIFORM1IPROC GLeeFuncPtr_glUniform1i=GLee_Lazy_glUniform1i; -#endif -#ifndef GLEE_C_DEFINED_glUniform2i -#define GLEE_C_DEFINED_glUniform2i - void __stdcall GLee_Lazy_glUniform2i(GLint location, GLint v0, GLint v1) {if (GLeeInit()) glUniform2i(location, v0, v1);} - GLEEPFNGLUNIFORM2IPROC GLeeFuncPtr_glUniform2i=GLee_Lazy_glUniform2i; -#endif -#ifndef GLEE_C_DEFINED_glUniform3i -#define GLEE_C_DEFINED_glUniform3i - void __stdcall GLee_Lazy_glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) {if (GLeeInit()) glUniform3i(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3IPROC GLeeFuncPtr_glUniform3i=GLee_Lazy_glUniform3i; -#endif -#ifndef GLEE_C_DEFINED_glUniform4i -#define GLEE_C_DEFINED_glUniform4i - void __stdcall GLee_Lazy_glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {if (GLeeInit()) glUniform4i(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4IPROC GLeeFuncPtr_glUniform4i=GLee_Lazy_glUniform4i; -#endif -#ifndef GLEE_C_DEFINED_glUniform1fv -#define GLEE_C_DEFINED_glUniform1fv - void __stdcall GLee_Lazy_glUniform1fv(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform1fv(location, count, value);} - GLEEPFNGLUNIFORM1FVPROC GLeeFuncPtr_glUniform1fv=GLee_Lazy_glUniform1fv; -#endif -#ifndef GLEE_C_DEFINED_glUniform2fv -#define GLEE_C_DEFINED_glUniform2fv - void __stdcall GLee_Lazy_glUniform2fv(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform2fv(location, count, value);} - GLEEPFNGLUNIFORM2FVPROC GLeeFuncPtr_glUniform2fv=GLee_Lazy_glUniform2fv; -#endif -#ifndef GLEE_C_DEFINED_glUniform3fv -#define GLEE_C_DEFINED_glUniform3fv - void __stdcall GLee_Lazy_glUniform3fv(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform3fv(location, count, value);} - GLEEPFNGLUNIFORM3FVPROC GLeeFuncPtr_glUniform3fv=GLee_Lazy_glUniform3fv; -#endif -#ifndef GLEE_C_DEFINED_glUniform4fv -#define GLEE_C_DEFINED_glUniform4fv - void __stdcall GLee_Lazy_glUniform4fv(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform4fv(location, count, value);} - GLEEPFNGLUNIFORM4FVPROC GLeeFuncPtr_glUniform4fv=GLee_Lazy_glUniform4fv; -#endif -#ifndef GLEE_C_DEFINED_glUniform1iv -#define GLEE_C_DEFINED_glUniform1iv - void __stdcall GLee_Lazy_glUniform1iv(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform1iv(location, count, value);} - GLEEPFNGLUNIFORM1IVPROC GLeeFuncPtr_glUniform1iv=GLee_Lazy_glUniform1iv; -#endif -#ifndef GLEE_C_DEFINED_glUniform2iv -#define GLEE_C_DEFINED_glUniform2iv - void __stdcall GLee_Lazy_glUniform2iv(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform2iv(location, count, value);} - GLEEPFNGLUNIFORM2IVPROC GLeeFuncPtr_glUniform2iv=GLee_Lazy_glUniform2iv; -#endif -#ifndef GLEE_C_DEFINED_glUniform3iv -#define GLEE_C_DEFINED_glUniform3iv - void __stdcall GLee_Lazy_glUniform3iv(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform3iv(location, count, value);} - GLEEPFNGLUNIFORM3IVPROC GLeeFuncPtr_glUniform3iv=GLee_Lazy_glUniform3iv; -#endif -#ifndef GLEE_C_DEFINED_glUniform4iv -#define GLEE_C_DEFINED_glUniform4iv - void __stdcall GLee_Lazy_glUniform4iv(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform4iv(location, count, value);} - GLEEPFNGLUNIFORM4IVPROC GLeeFuncPtr_glUniform4iv=GLee_Lazy_glUniform4iv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2fv -#define GLEE_C_DEFINED_glUniformMatrix2fv - void __stdcall GLee_Lazy_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix2fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2FVPROC GLeeFuncPtr_glUniformMatrix2fv=GLee_Lazy_glUniformMatrix2fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3fv -#define GLEE_C_DEFINED_glUniformMatrix3fv - void __stdcall GLee_Lazy_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix3fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3FVPROC GLeeFuncPtr_glUniformMatrix3fv=GLee_Lazy_glUniformMatrix3fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4fv -#define GLEE_C_DEFINED_glUniformMatrix4fv - void __stdcall GLee_Lazy_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix4fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4FVPROC GLeeFuncPtr_glUniformMatrix4fv=GLee_Lazy_glUniformMatrix4fv; -#endif -#ifndef GLEE_C_DEFINED_glValidateProgram -#define GLEE_C_DEFINED_glValidateProgram - void __stdcall GLee_Lazy_glValidateProgram(GLuint program) {if (GLeeInit()) glValidateProgram(program);} - GLEEPFNGLVALIDATEPROGRAMPROC GLeeFuncPtr_glValidateProgram=GLee_Lazy_glValidateProgram; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1d -#define GLEE_C_DEFINED_glVertexAttrib1d - void __stdcall GLee_Lazy_glVertexAttrib1d(GLuint index, GLdouble x) {if (GLeeInit()) glVertexAttrib1d(index, x);} - GLEEPFNGLVERTEXATTRIB1DPROC GLeeFuncPtr_glVertexAttrib1d=GLee_Lazy_glVertexAttrib1d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1dv -#define GLEE_C_DEFINED_glVertexAttrib1dv - void __stdcall GLee_Lazy_glVertexAttrib1dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib1dv(index, v);} - GLEEPFNGLVERTEXATTRIB1DVPROC GLeeFuncPtr_glVertexAttrib1dv=GLee_Lazy_glVertexAttrib1dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1f -#define GLEE_C_DEFINED_glVertexAttrib1f - void __stdcall GLee_Lazy_glVertexAttrib1f(GLuint index, GLfloat x) {if (GLeeInit()) glVertexAttrib1f(index, x);} - GLEEPFNGLVERTEXATTRIB1FPROC GLeeFuncPtr_glVertexAttrib1f=GLee_Lazy_glVertexAttrib1f; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1fv -#define GLEE_C_DEFINED_glVertexAttrib1fv - void __stdcall GLee_Lazy_glVertexAttrib1fv(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib1fv(index, v);} - GLEEPFNGLVERTEXATTRIB1FVPROC GLeeFuncPtr_glVertexAttrib1fv=GLee_Lazy_glVertexAttrib1fv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1s -#define GLEE_C_DEFINED_glVertexAttrib1s - void __stdcall GLee_Lazy_glVertexAttrib1s(GLuint index, GLshort x) {if (GLeeInit()) glVertexAttrib1s(index, x);} - GLEEPFNGLVERTEXATTRIB1SPROC GLeeFuncPtr_glVertexAttrib1s=GLee_Lazy_glVertexAttrib1s; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1sv -#define GLEE_C_DEFINED_glVertexAttrib1sv - void __stdcall GLee_Lazy_glVertexAttrib1sv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib1sv(index, v);} - GLEEPFNGLVERTEXATTRIB1SVPROC GLeeFuncPtr_glVertexAttrib1sv=GLee_Lazy_glVertexAttrib1sv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2d -#define GLEE_C_DEFINED_glVertexAttrib2d - void __stdcall GLee_Lazy_glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexAttrib2d(index, x, y);} - GLEEPFNGLVERTEXATTRIB2DPROC GLeeFuncPtr_glVertexAttrib2d=GLee_Lazy_glVertexAttrib2d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2dv -#define GLEE_C_DEFINED_glVertexAttrib2dv - void __stdcall GLee_Lazy_glVertexAttrib2dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib2dv(index, v);} - GLEEPFNGLVERTEXATTRIB2DVPROC GLeeFuncPtr_glVertexAttrib2dv=GLee_Lazy_glVertexAttrib2dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2f -#define GLEE_C_DEFINED_glVertexAttrib2f - void __stdcall GLee_Lazy_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) {if (GLeeInit()) glVertexAttrib2f(index, x, y);} - GLEEPFNGLVERTEXATTRIB2FPROC GLeeFuncPtr_glVertexAttrib2f=GLee_Lazy_glVertexAttrib2f; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2fv -#define GLEE_C_DEFINED_glVertexAttrib2fv - void __stdcall GLee_Lazy_glVertexAttrib2fv(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib2fv(index, v);} - GLEEPFNGLVERTEXATTRIB2FVPROC GLeeFuncPtr_glVertexAttrib2fv=GLee_Lazy_glVertexAttrib2fv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2s -#define GLEE_C_DEFINED_glVertexAttrib2s - void __stdcall GLee_Lazy_glVertexAttrib2s(GLuint index, GLshort x, GLshort y) {if (GLeeInit()) glVertexAttrib2s(index, x, y);} - GLEEPFNGLVERTEXATTRIB2SPROC GLeeFuncPtr_glVertexAttrib2s=GLee_Lazy_glVertexAttrib2s; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2sv -#define GLEE_C_DEFINED_glVertexAttrib2sv - void __stdcall GLee_Lazy_glVertexAttrib2sv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib2sv(index, v);} - GLEEPFNGLVERTEXATTRIB2SVPROC GLeeFuncPtr_glVertexAttrib2sv=GLee_Lazy_glVertexAttrib2sv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3d -#define GLEE_C_DEFINED_glVertexAttrib3d - void __stdcall GLee_Lazy_glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexAttrib3d(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3DPROC GLeeFuncPtr_glVertexAttrib3d=GLee_Lazy_glVertexAttrib3d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3dv -#define GLEE_C_DEFINED_glVertexAttrib3dv - void __stdcall GLee_Lazy_glVertexAttrib3dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib3dv(index, v);} - GLEEPFNGLVERTEXATTRIB3DVPROC GLeeFuncPtr_glVertexAttrib3dv=GLee_Lazy_glVertexAttrib3dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3f -#define GLEE_C_DEFINED_glVertexAttrib3f - void __stdcall GLee_Lazy_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glVertexAttrib3f(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3FPROC GLeeFuncPtr_glVertexAttrib3f=GLee_Lazy_glVertexAttrib3f; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3fv -#define GLEE_C_DEFINED_glVertexAttrib3fv - void __stdcall GLee_Lazy_glVertexAttrib3fv(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib3fv(index, v);} - GLEEPFNGLVERTEXATTRIB3FVPROC GLeeFuncPtr_glVertexAttrib3fv=GLee_Lazy_glVertexAttrib3fv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3s -#define GLEE_C_DEFINED_glVertexAttrib3s - void __stdcall GLee_Lazy_glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glVertexAttrib3s(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3SPROC GLeeFuncPtr_glVertexAttrib3s=GLee_Lazy_glVertexAttrib3s; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3sv -#define GLEE_C_DEFINED_glVertexAttrib3sv - void __stdcall GLee_Lazy_glVertexAttrib3sv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib3sv(index, v);} - GLEEPFNGLVERTEXATTRIB3SVPROC GLeeFuncPtr_glVertexAttrib3sv=GLee_Lazy_glVertexAttrib3sv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nbv -#define GLEE_C_DEFINED_glVertexAttrib4Nbv - void __stdcall GLee_Lazy_glVertexAttrib4Nbv(GLuint index, const GLbyte * v) {if (GLeeInit()) glVertexAttrib4Nbv(index, v);} - GLEEPFNGLVERTEXATTRIB4NBVPROC GLeeFuncPtr_glVertexAttrib4Nbv=GLee_Lazy_glVertexAttrib4Nbv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Niv -#define GLEE_C_DEFINED_glVertexAttrib4Niv - void __stdcall GLee_Lazy_glVertexAttrib4Niv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttrib4Niv(index, v);} - GLEEPFNGLVERTEXATTRIB4NIVPROC GLeeFuncPtr_glVertexAttrib4Niv=GLee_Lazy_glVertexAttrib4Niv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nsv -#define GLEE_C_DEFINED_glVertexAttrib4Nsv - void __stdcall GLee_Lazy_glVertexAttrib4Nsv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib4Nsv(index, v);} - GLEEPFNGLVERTEXATTRIB4NSVPROC GLeeFuncPtr_glVertexAttrib4Nsv=GLee_Lazy_glVertexAttrib4Nsv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nub -#define GLEE_C_DEFINED_glVertexAttrib4Nub - void __stdcall GLee_Lazy_glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) {if (GLeeInit()) glVertexAttrib4Nub(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4NUBPROC GLeeFuncPtr_glVertexAttrib4Nub=GLee_Lazy_glVertexAttrib4Nub; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nubv -#define GLEE_C_DEFINED_glVertexAttrib4Nubv - void __stdcall GLee_Lazy_glVertexAttrib4Nubv(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttrib4Nubv(index, v);} - GLEEPFNGLVERTEXATTRIB4NUBVPROC GLeeFuncPtr_glVertexAttrib4Nubv=GLee_Lazy_glVertexAttrib4Nubv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nuiv -#define GLEE_C_DEFINED_glVertexAttrib4Nuiv - void __stdcall GLee_Lazy_glVertexAttrib4Nuiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttrib4Nuiv(index, v);} - GLEEPFNGLVERTEXATTRIB4NUIVPROC GLeeFuncPtr_glVertexAttrib4Nuiv=GLee_Lazy_glVertexAttrib4Nuiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4Nusv -#define GLEE_C_DEFINED_glVertexAttrib4Nusv - void __stdcall GLee_Lazy_glVertexAttrib4Nusv(GLuint index, const GLushort * v) {if (GLeeInit()) glVertexAttrib4Nusv(index, v);} - GLEEPFNGLVERTEXATTRIB4NUSVPROC GLeeFuncPtr_glVertexAttrib4Nusv=GLee_Lazy_glVertexAttrib4Nusv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4bv -#define GLEE_C_DEFINED_glVertexAttrib4bv - void __stdcall GLee_Lazy_glVertexAttrib4bv(GLuint index, const GLbyte * v) {if (GLeeInit()) glVertexAttrib4bv(index, v);} - GLEEPFNGLVERTEXATTRIB4BVPROC GLeeFuncPtr_glVertexAttrib4bv=GLee_Lazy_glVertexAttrib4bv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4d -#define GLEE_C_DEFINED_glVertexAttrib4d - void __stdcall GLee_Lazy_glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexAttrib4d(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4DPROC GLeeFuncPtr_glVertexAttrib4d=GLee_Lazy_glVertexAttrib4d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4dv -#define GLEE_C_DEFINED_glVertexAttrib4dv - void __stdcall GLee_Lazy_glVertexAttrib4dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib4dv(index, v);} - GLEEPFNGLVERTEXATTRIB4DVPROC GLeeFuncPtr_glVertexAttrib4dv=GLee_Lazy_glVertexAttrib4dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4f -#define GLEE_C_DEFINED_glVertexAttrib4f - void __stdcall GLee_Lazy_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glVertexAttrib4f(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4FPROC GLeeFuncPtr_glVertexAttrib4f=GLee_Lazy_glVertexAttrib4f; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4fv -#define GLEE_C_DEFINED_glVertexAttrib4fv - void __stdcall GLee_Lazy_glVertexAttrib4fv(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib4fv(index, v);} - GLEEPFNGLVERTEXATTRIB4FVPROC GLeeFuncPtr_glVertexAttrib4fv=GLee_Lazy_glVertexAttrib4fv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4iv -#define GLEE_C_DEFINED_glVertexAttrib4iv - void __stdcall GLee_Lazy_glVertexAttrib4iv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttrib4iv(index, v);} - GLEEPFNGLVERTEXATTRIB4IVPROC GLeeFuncPtr_glVertexAttrib4iv=GLee_Lazy_glVertexAttrib4iv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4s -#define GLEE_C_DEFINED_glVertexAttrib4s - void __stdcall GLee_Lazy_glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) {if (GLeeInit()) glVertexAttrib4s(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4SPROC GLeeFuncPtr_glVertexAttrib4s=GLee_Lazy_glVertexAttrib4s; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4sv -#define GLEE_C_DEFINED_glVertexAttrib4sv - void __stdcall GLee_Lazy_glVertexAttrib4sv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib4sv(index, v);} - GLEEPFNGLVERTEXATTRIB4SVPROC GLeeFuncPtr_glVertexAttrib4sv=GLee_Lazy_glVertexAttrib4sv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4ubv -#define GLEE_C_DEFINED_glVertexAttrib4ubv - void __stdcall GLee_Lazy_glVertexAttrib4ubv(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttrib4ubv(index, v);} - GLEEPFNGLVERTEXATTRIB4UBVPROC GLeeFuncPtr_glVertexAttrib4ubv=GLee_Lazy_glVertexAttrib4ubv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4uiv -#define GLEE_C_DEFINED_glVertexAttrib4uiv - void __stdcall GLee_Lazy_glVertexAttrib4uiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttrib4uiv(index, v);} - GLEEPFNGLVERTEXATTRIB4UIVPROC GLeeFuncPtr_glVertexAttrib4uiv=GLee_Lazy_glVertexAttrib4uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4usv -#define GLEE_C_DEFINED_glVertexAttrib4usv - void __stdcall GLee_Lazy_glVertexAttrib4usv(GLuint index, const GLushort * v) {if (GLeeInit()) glVertexAttrib4usv(index, v);} - GLEEPFNGLVERTEXATTRIB4USVPROC GLeeFuncPtr_glVertexAttrib4usv=GLee_Lazy_glVertexAttrib4usv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribPointer -#define GLEE_C_DEFINED_glVertexAttribPointer - void __stdcall GLee_Lazy_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribPointer(index, size, type, normalized, stride, pointer);} - GLEEPFNGLVERTEXATTRIBPOINTERPROC GLeeFuncPtr_glVertexAttribPointer=GLee_Lazy_glVertexAttribPointer; -#endif -#endif - -/* GL_VERSION_2_1 */ - -#ifdef __GLEE_GL_VERSION_2_1 -#ifndef GLEE_C_DEFINED_glUniformMatrix2x3fv -#define GLEE_C_DEFINED_glUniformMatrix2x3fv - void __stdcall GLee_Lazy_glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix2x3fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2X3FVPROC GLeeFuncPtr_glUniformMatrix2x3fv=GLee_Lazy_glUniformMatrix2x3fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3x2fv -#define GLEE_C_DEFINED_glUniformMatrix3x2fv - void __stdcall GLee_Lazy_glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix3x2fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3X2FVPROC GLeeFuncPtr_glUniformMatrix3x2fv=GLee_Lazy_glUniformMatrix3x2fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2x4fv -#define GLEE_C_DEFINED_glUniformMatrix2x4fv - void __stdcall GLee_Lazy_glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix2x4fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2X4FVPROC GLeeFuncPtr_glUniformMatrix2x4fv=GLee_Lazy_glUniformMatrix2x4fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4x2fv -#define GLEE_C_DEFINED_glUniformMatrix4x2fv - void __stdcall GLee_Lazy_glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix4x2fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4X2FVPROC GLeeFuncPtr_glUniformMatrix4x2fv=GLee_Lazy_glUniformMatrix4x2fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3x4fv -#define GLEE_C_DEFINED_glUniformMatrix3x4fv - void __stdcall GLee_Lazy_glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix3x4fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3X4FVPROC GLeeFuncPtr_glUniformMatrix3x4fv=GLee_Lazy_glUniformMatrix3x4fv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4x3fv -#define GLEE_C_DEFINED_glUniformMatrix4x3fv - void __stdcall GLee_Lazy_glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix4x3fv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4X3FVPROC GLeeFuncPtr_glUniformMatrix4x3fv=GLee_Lazy_glUniformMatrix4x3fv; -#endif -#endif - -/* GL_VERSION_3_0 */ - -#ifdef __GLEE_GL_VERSION_3_0 -#ifndef GLEE_C_DEFINED_glColorMaski -#define GLEE_C_DEFINED_glColorMaski - void __stdcall GLee_Lazy_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) {if (GLeeInit()) glColorMaski(index, r, g, b, a);} - GLEEPFNGLCOLORMASKIPROC GLeeFuncPtr_glColorMaski=GLee_Lazy_glColorMaski; -#endif -#ifndef GLEE_C_DEFINED_glGetBooleani_v -#define GLEE_C_DEFINED_glGetBooleani_v - void __stdcall GLee_Lazy_glGetBooleani_v(GLenum target, GLuint index, GLboolean * data) {if (GLeeInit()) glGetBooleani_v(target, index, data);} - GLEEPFNGLGETBOOLEANI_VPROC GLeeFuncPtr_glGetBooleani_v=GLee_Lazy_glGetBooleani_v; -#endif -#ifndef GLEE_C_DEFINED_glGetIntegeri_v -#define GLEE_C_DEFINED_glGetIntegeri_v - void __stdcall GLee_Lazy_glGetIntegeri_v(GLenum target, GLuint index, GLint * data) {if (GLeeInit()) glGetIntegeri_v(target, index, data);} - GLEEPFNGLGETINTEGERI_VPROC GLeeFuncPtr_glGetIntegeri_v=GLee_Lazy_glGetIntegeri_v; -#endif -#ifndef GLEE_C_DEFINED_glEnablei -#define GLEE_C_DEFINED_glEnablei - void __stdcall GLee_Lazy_glEnablei(GLenum target, GLuint index) {if (GLeeInit()) glEnablei(target, index);} - GLEEPFNGLENABLEIPROC GLeeFuncPtr_glEnablei=GLee_Lazy_glEnablei; -#endif -#ifndef GLEE_C_DEFINED_glDisablei -#define GLEE_C_DEFINED_glDisablei - void __stdcall GLee_Lazy_glDisablei(GLenum target, GLuint index) {if (GLeeInit()) glDisablei(target, index);} - GLEEPFNGLDISABLEIPROC GLeeFuncPtr_glDisablei=GLee_Lazy_glDisablei; -#endif -#ifndef GLEE_C_DEFINED_glIsEnabledi -#define GLEE_C_DEFINED_glIsEnabledi - GLboolean __stdcall GLee_Lazy_glIsEnabledi(GLenum target, GLuint index) {if (GLeeInit()) return glIsEnabledi(target, index); return (GLboolean)0;} - GLEEPFNGLISENABLEDIPROC GLeeFuncPtr_glIsEnabledi=GLee_Lazy_glIsEnabledi; -#endif -#ifndef GLEE_C_DEFINED_glBeginTransformFeedback -#define GLEE_C_DEFINED_glBeginTransformFeedback - void __stdcall GLee_Lazy_glBeginTransformFeedback(GLenum primitiveMode) {if (GLeeInit()) glBeginTransformFeedback(primitiveMode);} - GLEEPFNGLBEGINTRANSFORMFEEDBACKPROC GLeeFuncPtr_glBeginTransformFeedback=GLee_Lazy_glBeginTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glEndTransformFeedback -#define GLEE_C_DEFINED_glEndTransformFeedback - void __stdcall GLee_Lazy_glEndTransformFeedback(void) {if (GLeeInit()) glEndTransformFeedback();} - GLEEPFNGLENDTRANSFORMFEEDBACKPROC GLeeFuncPtr_glEndTransformFeedback=GLee_Lazy_glEndTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferRange -#define GLEE_C_DEFINED_glBindBufferRange - void __stdcall GLee_Lazy_glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glBindBufferRange(target, index, buffer, offset, size);} - GLEEPFNGLBINDBUFFERRANGEPROC GLeeFuncPtr_glBindBufferRange=GLee_Lazy_glBindBufferRange; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferBase -#define GLEE_C_DEFINED_glBindBufferBase - void __stdcall GLee_Lazy_glBindBufferBase(GLenum target, GLuint index, GLuint buffer) {if (GLeeInit()) glBindBufferBase(target, index, buffer);} - GLEEPFNGLBINDBUFFERBASEPROC GLeeFuncPtr_glBindBufferBase=GLee_Lazy_glBindBufferBase; -#endif -#ifndef GLEE_C_DEFINED_glTransformFeedbackVaryings -#define GLEE_C_DEFINED_glTransformFeedbackVaryings - void __stdcall GLee_Lazy_glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const * varyings, GLenum bufferMode) {if (GLeeInit()) glTransformFeedbackVaryings(program, count, varyings, bufferMode);} - GLEEPFNGLTRANSFORMFEEDBACKVARYINGSPROC GLeeFuncPtr_glTransformFeedbackVaryings=GLee_Lazy_glTransformFeedbackVaryings; -#endif -#ifndef GLEE_C_DEFINED_glGetTransformFeedbackVarying -#define GLEE_C_DEFINED_glGetTransformFeedbackVarying - void __stdcall GLee_Lazy_glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) {if (GLeeInit()) glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);} - GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGPROC GLeeFuncPtr_glGetTransformFeedbackVarying=GLee_Lazy_glGetTransformFeedbackVarying; -#endif -#ifndef GLEE_C_DEFINED_glClampColor -#define GLEE_C_DEFINED_glClampColor - void __stdcall GLee_Lazy_glClampColor(GLenum target, GLenum clamp) {if (GLeeInit()) glClampColor(target, clamp);} - GLEEPFNGLCLAMPCOLORPROC GLeeFuncPtr_glClampColor=GLee_Lazy_glClampColor; -#endif -#ifndef GLEE_C_DEFINED_glBeginConditionalRender -#define GLEE_C_DEFINED_glBeginConditionalRender - void __stdcall GLee_Lazy_glBeginConditionalRender(GLuint id, GLenum mode) {if (GLeeInit()) glBeginConditionalRender(id, mode);} - GLEEPFNGLBEGINCONDITIONALRENDERPROC GLeeFuncPtr_glBeginConditionalRender=GLee_Lazy_glBeginConditionalRender; -#endif -#ifndef GLEE_C_DEFINED_glEndConditionalRender -#define GLEE_C_DEFINED_glEndConditionalRender - void __stdcall GLee_Lazy_glEndConditionalRender(void) {if (GLeeInit()) glEndConditionalRender();} - GLEEPFNGLENDCONDITIONALRENDERPROC GLeeFuncPtr_glEndConditionalRender=GLee_Lazy_glEndConditionalRender; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribIPointer -#define GLEE_C_DEFINED_glVertexAttribIPointer - void __stdcall GLee_Lazy_glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribIPointer(index, size, type, stride, pointer);} - GLEEPFNGLVERTEXATTRIBIPOINTERPROC GLeeFuncPtr_glVertexAttribIPointer=GLee_Lazy_glVertexAttribIPointer; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribIiv -#define GLEE_C_DEFINED_glGetVertexAttribIiv - void __stdcall GLee_Lazy_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetVertexAttribIiv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBIIVPROC GLeeFuncPtr_glGetVertexAttribIiv=GLee_Lazy_glGetVertexAttribIiv; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribIuiv -#define GLEE_C_DEFINED_glGetVertexAttribIuiv - void __stdcall GLee_Lazy_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint * params) {if (GLeeInit()) glGetVertexAttribIuiv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBIUIVPROC GLeeFuncPtr_glGetVertexAttribIuiv=GLee_Lazy_glGetVertexAttribIuiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI1i -#define GLEE_C_DEFINED_glVertexAttribI1i - void __stdcall GLee_Lazy_glVertexAttribI1i(GLuint index, GLint x) {if (GLeeInit()) glVertexAttribI1i(index, x);} - GLEEPFNGLVERTEXATTRIBI1IPROC GLeeFuncPtr_glVertexAttribI1i=GLee_Lazy_glVertexAttribI1i; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI2i -#define GLEE_C_DEFINED_glVertexAttribI2i - void __stdcall GLee_Lazy_glVertexAttribI2i(GLuint index, GLint x, GLint y) {if (GLeeInit()) glVertexAttribI2i(index, x, y);} - GLEEPFNGLVERTEXATTRIBI2IPROC GLeeFuncPtr_glVertexAttribI2i=GLee_Lazy_glVertexAttribI2i; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI3i -#define GLEE_C_DEFINED_glVertexAttribI3i - void __stdcall GLee_Lazy_glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) {if (GLeeInit()) glVertexAttribI3i(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBI3IPROC GLeeFuncPtr_glVertexAttribI3i=GLee_Lazy_glVertexAttribI3i; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4i -#define GLEE_C_DEFINED_glVertexAttribI4i - void __stdcall GLee_Lazy_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) {if (GLeeInit()) glVertexAttribI4i(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBI4IPROC GLeeFuncPtr_glVertexAttribI4i=GLee_Lazy_glVertexAttribI4i; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI1ui -#define GLEE_C_DEFINED_glVertexAttribI1ui - void __stdcall GLee_Lazy_glVertexAttribI1ui(GLuint index, GLuint x) {if (GLeeInit()) glVertexAttribI1ui(index, x);} - GLEEPFNGLVERTEXATTRIBI1UIPROC GLeeFuncPtr_glVertexAttribI1ui=GLee_Lazy_glVertexAttribI1ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI2ui -#define GLEE_C_DEFINED_glVertexAttribI2ui - void __stdcall GLee_Lazy_glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) {if (GLeeInit()) glVertexAttribI2ui(index, x, y);} - GLEEPFNGLVERTEXATTRIBI2UIPROC GLeeFuncPtr_glVertexAttribI2ui=GLee_Lazy_glVertexAttribI2ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI3ui -#define GLEE_C_DEFINED_glVertexAttribI3ui - void __stdcall GLee_Lazy_glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) {if (GLeeInit()) glVertexAttribI3ui(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBI3UIPROC GLeeFuncPtr_glVertexAttribI3ui=GLee_Lazy_glVertexAttribI3ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4ui -#define GLEE_C_DEFINED_glVertexAttribI4ui - void __stdcall GLee_Lazy_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) {if (GLeeInit()) glVertexAttribI4ui(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBI4UIPROC GLeeFuncPtr_glVertexAttribI4ui=GLee_Lazy_glVertexAttribI4ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI1iv -#define GLEE_C_DEFINED_glVertexAttribI1iv - void __stdcall GLee_Lazy_glVertexAttribI1iv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttribI1iv(index, v);} - GLEEPFNGLVERTEXATTRIBI1IVPROC GLeeFuncPtr_glVertexAttribI1iv=GLee_Lazy_glVertexAttribI1iv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI2iv -#define GLEE_C_DEFINED_glVertexAttribI2iv - void __stdcall GLee_Lazy_glVertexAttribI2iv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttribI2iv(index, v);} - GLEEPFNGLVERTEXATTRIBI2IVPROC GLeeFuncPtr_glVertexAttribI2iv=GLee_Lazy_glVertexAttribI2iv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI3iv -#define GLEE_C_DEFINED_glVertexAttribI3iv - void __stdcall GLee_Lazy_glVertexAttribI3iv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttribI3iv(index, v);} - GLEEPFNGLVERTEXATTRIBI3IVPROC GLeeFuncPtr_glVertexAttribI3iv=GLee_Lazy_glVertexAttribI3iv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4iv -#define GLEE_C_DEFINED_glVertexAttribI4iv - void __stdcall GLee_Lazy_glVertexAttribI4iv(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttribI4iv(index, v);} - GLEEPFNGLVERTEXATTRIBI4IVPROC GLeeFuncPtr_glVertexAttribI4iv=GLee_Lazy_glVertexAttribI4iv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI1uiv -#define GLEE_C_DEFINED_glVertexAttribI1uiv - void __stdcall GLee_Lazy_glVertexAttribI1uiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttribI1uiv(index, v);} - GLEEPFNGLVERTEXATTRIBI1UIVPROC GLeeFuncPtr_glVertexAttribI1uiv=GLee_Lazy_glVertexAttribI1uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI2uiv -#define GLEE_C_DEFINED_glVertexAttribI2uiv - void __stdcall GLee_Lazy_glVertexAttribI2uiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttribI2uiv(index, v);} - GLEEPFNGLVERTEXATTRIBI2UIVPROC GLeeFuncPtr_glVertexAttribI2uiv=GLee_Lazy_glVertexAttribI2uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI3uiv -#define GLEE_C_DEFINED_glVertexAttribI3uiv - void __stdcall GLee_Lazy_glVertexAttribI3uiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttribI3uiv(index, v);} - GLEEPFNGLVERTEXATTRIBI3UIVPROC GLeeFuncPtr_glVertexAttribI3uiv=GLee_Lazy_glVertexAttribI3uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4uiv -#define GLEE_C_DEFINED_glVertexAttribI4uiv - void __stdcall GLee_Lazy_glVertexAttribI4uiv(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttribI4uiv(index, v);} - GLEEPFNGLVERTEXATTRIBI4UIVPROC GLeeFuncPtr_glVertexAttribI4uiv=GLee_Lazy_glVertexAttribI4uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4bv -#define GLEE_C_DEFINED_glVertexAttribI4bv - void __stdcall GLee_Lazy_glVertexAttribI4bv(GLuint index, const GLbyte * v) {if (GLeeInit()) glVertexAttribI4bv(index, v);} - GLEEPFNGLVERTEXATTRIBI4BVPROC GLeeFuncPtr_glVertexAttribI4bv=GLee_Lazy_glVertexAttribI4bv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4sv -#define GLEE_C_DEFINED_glVertexAttribI4sv - void __stdcall GLee_Lazy_glVertexAttribI4sv(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttribI4sv(index, v);} - GLEEPFNGLVERTEXATTRIBI4SVPROC GLeeFuncPtr_glVertexAttribI4sv=GLee_Lazy_glVertexAttribI4sv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4ubv -#define GLEE_C_DEFINED_glVertexAttribI4ubv - void __stdcall GLee_Lazy_glVertexAttribI4ubv(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttribI4ubv(index, v);} - GLEEPFNGLVERTEXATTRIBI4UBVPROC GLeeFuncPtr_glVertexAttribI4ubv=GLee_Lazy_glVertexAttribI4ubv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribI4usv -#define GLEE_C_DEFINED_glVertexAttribI4usv - void __stdcall GLee_Lazy_glVertexAttribI4usv(GLuint index, const GLushort * v) {if (GLeeInit()) glVertexAttribI4usv(index, v);} - GLEEPFNGLVERTEXATTRIBI4USVPROC GLeeFuncPtr_glVertexAttribI4usv=GLee_Lazy_glVertexAttribI4usv; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformuiv -#define GLEE_C_DEFINED_glGetUniformuiv - void __stdcall GLee_Lazy_glGetUniformuiv(GLuint program, GLint location, GLuint * params) {if (GLeeInit()) glGetUniformuiv(program, location, params);} - GLEEPFNGLGETUNIFORMUIVPROC GLeeFuncPtr_glGetUniformuiv=GLee_Lazy_glGetUniformuiv; -#endif -#ifndef GLEE_C_DEFINED_glBindFragDataLocation -#define GLEE_C_DEFINED_glBindFragDataLocation - void __stdcall GLee_Lazy_glBindFragDataLocation(GLuint program, GLuint color, const GLchar * name) {if (GLeeInit()) glBindFragDataLocation(program, color, name);} - GLEEPFNGLBINDFRAGDATALOCATIONPROC GLeeFuncPtr_glBindFragDataLocation=GLee_Lazy_glBindFragDataLocation; -#endif -#ifndef GLEE_C_DEFINED_glGetFragDataLocation -#define GLEE_C_DEFINED_glGetFragDataLocation - GLint __stdcall GLee_Lazy_glGetFragDataLocation(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetFragDataLocation(program, name); return (GLint)0;} - GLEEPFNGLGETFRAGDATALOCATIONPROC GLeeFuncPtr_glGetFragDataLocation=GLee_Lazy_glGetFragDataLocation; -#endif -#ifndef GLEE_C_DEFINED_glUniform1ui -#define GLEE_C_DEFINED_glUniform1ui - void __stdcall GLee_Lazy_glUniform1ui(GLint location, GLuint v0) {if (GLeeInit()) glUniform1ui(location, v0);} - GLEEPFNGLUNIFORM1UIPROC GLeeFuncPtr_glUniform1ui=GLee_Lazy_glUniform1ui; -#endif -#ifndef GLEE_C_DEFINED_glUniform2ui -#define GLEE_C_DEFINED_glUniform2ui - void __stdcall GLee_Lazy_glUniform2ui(GLint location, GLuint v0, GLuint v1) {if (GLeeInit()) glUniform2ui(location, v0, v1);} - GLEEPFNGLUNIFORM2UIPROC GLeeFuncPtr_glUniform2ui=GLee_Lazy_glUniform2ui; -#endif -#ifndef GLEE_C_DEFINED_glUniform3ui -#define GLEE_C_DEFINED_glUniform3ui - void __stdcall GLee_Lazy_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) {if (GLeeInit()) glUniform3ui(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3UIPROC GLeeFuncPtr_glUniform3ui=GLee_Lazy_glUniform3ui; -#endif -#ifndef GLEE_C_DEFINED_glUniform4ui -#define GLEE_C_DEFINED_glUniform4ui - void __stdcall GLee_Lazy_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {if (GLeeInit()) glUniform4ui(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4UIPROC GLeeFuncPtr_glUniform4ui=GLee_Lazy_glUniform4ui; -#endif -#ifndef GLEE_C_DEFINED_glUniform1uiv -#define GLEE_C_DEFINED_glUniform1uiv - void __stdcall GLee_Lazy_glUniform1uiv(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform1uiv(location, count, value);} - GLEEPFNGLUNIFORM1UIVPROC GLeeFuncPtr_glUniform1uiv=GLee_Lazy_glUniform1uiv; -#endif -#ifndef GLEE_C_DEFINED_glUniform2uiv -#define GLEE_C_DEFINED_glUniform2uiv - void __stdcall GLee_Lazy_glUniform2uiv(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform2uiv(location, count, value);} - GLEEPFNGLUNIFORM2UIVPROC GLeeFuncPtr_glUniform2uiv=GLee_Lazy_glUniform2uiv; -#endif -#ifndef GLEE_C_DEFINED_glUniform3uiv -#define GLEE_C_DEFINED_glUniform3uiv - void __stdcall GLee_Lazy_glUniform3uiv(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform3uiv(location, count, value);} - GLEEPFNGLUNIFORM3UIVPROC GLeeFuncPtr_glUniform3uiv=GLee_Lazy_glUniform3uiv; -#endif -#ifndef GLEE_C_DEFINED_glUniform4uiv -#define GLEE_C_DEFINED_glUniform4uiv - void __stdcall GLee_Lazy_glUniform4uiv(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform4uiv(location, count, value);} - GLEEPFNGLUNIFORM4UIVPROC GLeeFuncPtr_glUniform4uiv=GLee_Lazy_glUniform4uiv; -#endif -#ifndef GLEE_C_DEFINED_glTexParameterIiv -#define GLEE_C_DEFINED_glTexParameterIiv - void __stdcall GLee_Lazy_glTexParameterIiv(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glTexParameterIiv(target, pname, params);} - GLEEPFNGLTEXPARAMETERIIVPROC GLeeFuncPtr_glTexParameterIiv=GLee_Lazy_glTexParameterIiv; -#endif -#ifndef GLEE_C_DEFINED_glTexParameterIuiv -#define GLEE_C_DEFINED_glTexParameterIuiv - void __stdcall GLee_Lazy_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint * params) {if (GLeeInit()) glTexParameterIuiv(target, pname, params);} - GLEEPFNGLTEXPARAMETERIUIVPROC GLeeFuncPtr_glTexParameterIuiv=GLee_Lazy_glTexParameterIuiv; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterIiv -#define GLEE_C_DEFINED_glGetTexParameterIiv - void __stdcall GLee_Lazy_glGetTexParameterIiv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetTexParameterIiv(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERIIVPROC GLeeFuncPtr_glGetTexParameterIiv=GLee_Lazy_glGetTexParameterIiv; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterIuiv -#define GLEE_C_DEFINED_glGetTexParameterIuiv - void __stdcall GLee_Lazy_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint * params) {if (GLeeInit()) glGetTexParameterIuiv(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERIUIVPROC GLeeFuncPtr_glGetTexParameterIuiv=GLee_Lazy_glGetTexParameterIuiv; -#endif -#ifndef GLEE_C_DEFINED_glClearBufferiv -#define GLEE_C_DEFINED_glClearBufferiv - void __stdcall GLee_Lazy_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint * value) {if (GLeeInit()) glClearBufferiv(buffer, drawbuffer, value);} - GLEEPFNGLCLEARBUFFERIVPROC GLeeFuncPtr_glClearBufferiv=GLee_Lazy_glClearBufferiv; -#endif -#ifndef GLEE_C_DEFINED_glClearBufferuiv -#define GLEE_C_DEFINED_glClearBufferuiv - void __stdcall GLee_Lazy_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint * value) {if (GLeeInit()) glClearBufferuiv(buffer, drawbuffer, value);} - GLEEPFNGLCLEARBUFFERUIVPROC GLeeFuncPtr_glClearBufferuiv=GLee_Lazy_glClearBufferuiv; -#endif -#ifndef GLEE_C_DEFINED_glClearBufferfv -#define GLEE_C_DEFINED_glClearBufferfv - void __stdcall GLee_Lazy_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat * value) {if (GLeeInit()) glClearBufferfv(buffer, drawbuffer, value);} - GLEEPFNGLCLEARBUFFERFVPROC GLeeFuncPtr_glClearBufferfv=GLee_Lazy_glClearBufferfv; -#endif -#ifndef GLEE_C_DEFINED_glClearBufferfi -#define GLEE_C_DEFINED_glClearBufferfi - void __stdcall GLee_Lazy_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) {if (GLeeInit()) glClearBufferfi(buffer, drawbuffer, depth, stencil);} - GLEEPFNGLCLEARBUFFERFIPROC GLeeFuncPtr_glClearBufferfi=GLee_Lazy_glClearBufferfi; -#endif -#ifndef GLEE_C_DEFINED_glGetStringi -#define GLEE_C_DEFINED_glGetStringi - const GLubyte * __stdcall GLee_Lazy_glGetStringi(GLenum name, GLuint index) {if (GLeeInit()) return glGetStringi(name, index); return (const GLubyte *)0;} - GLEEPFNGLGETSTRINGIPROC GLeeFuncPtr_glGetStringi=GLee_Lazy_glGetStringi; -#endif -#endif - -/* GL_VERSION_3_1 */ - -#ifdef __GLEE_GL_VERSION_3_1 -#ifndef GLEE_C_DEFINED_glDrawArraysInstanced -#define GLEE_C_DEFINED_glDrawArraysInstanced - void __stdcall GLee_Lazy_glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) {if (GLeeInit()) glDrawArraysInstanced(mode, first, count, instancecount);} - GLEEPFNGLDRAWARRAYSINSTANCEDPROC GLeeFuncPtr_glDrawArraysInstanced=GLee_Lazy_glDrawArraysInstanced; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstanced -#define GLEE_C_DEFINED_glDrawElementsInstanced - void __stdcall GLee_Lazy_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount) {if (GLeeInit()) glDrawElementsInstanced(mode, count, type, indices, instancecount);} - GLEEPFNGLDRAWELEMENTSINSTANCEDPROC GLeeFuncPtr_glDrawElementsInstanced=GLee_Lazy_glDrawElementsInstanced; -#endif -#ifndef GLEE_C_DEFINED_glTexBuffer -#define GLEE_C_DEFINED_glTexBuffer - void __stdcall GLee_Lazy_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) {if (GLeeInit()) glTexBuffer(target, internalformat, buffer);} - GLEEPFNGLTEXBUFFERPROC GLeeFuncPtr_glTexBuffer=GLee_Lazy_glTexBuffer; -#endif -#ifndef GLEE_C_DEFINED_glPrimitiveRestartIndex -#define GLEE_C_DEFINED_glPrimitiveRestartIndex - void __stdcall GLee_Lazy_glPrimitiveRestartIndex(GLuint index) {if (GLeeInit()) glPrimitiveRestartIndex(index);} - GLEEPFNGLPRIMITIVERESTARTINDEXPROC GLeeFuncPtr_glPrimitiveRestartIndex=GLee_Lazy_glPrimitiveRestartIndex; -#endif -#endif - -/* GL_VERSION_3_2 */ - -#ifdef __GLEE_GL_VERSION_3_2 -#ifndef GLEE_C_DEFINED_glGetInteger64i_v -#define GLEE_C_DEFINED_glGetInteger64i_v - void __stdcall GLee_Lazy_glGetInteger64i_v(GLenum target, GLuint index, GLint64 * data) {if (GLeeInit()) glGetInteger64i_v(target, index, data);} - GLEEPFNGLGETINTEGER64I_VPROC GLeeFuncPtr_glGetInteger64i_v=GLee_Lazy_glGetInteger64i_v; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferParameteri64v -#define GLEE_C_DEFINED_glGetBufferParameteri64v - void __stdcall GLee_Lazy_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 * params) {if (GLeeInit()) glGetBufferParameteri64v(target, pname, params);} - GLEEPFNGLGETBUFFERPARAMETERI64VPROC GLeeFuncPtr_glGetBufferParameteri64v=GLee_Lazy_glGetBufferParameteri64v; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture -#define GLEE_C_DEFINED_glFramebufferTexture - void __stdcall GLee_Lazy_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTexture(target, attachment, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTUREPROC GLeeFuncPtr_glFramebufferTexture=GLee_Lazy_glFramebufferTexture; -#endif -#endif - -/* GL_VERSION_3_3 */ - -#ifdef __GLEE_GL_VERSION_3_3 -#ifndef GLEE_C_DEFINED_glVertexAttribDivisor -#define GLEE_C_DEFINED_glVertexAttribDivisor - void __stdcall GLee_Lazy_glVertexAttribDivisor(GLuint index, GLuint divisor) {if (GLeeInit()) glVertexAttribDivisor(index, divisor);} - GLEEPFNGLVERTEXATTRIBDIVISORPROC GLeeFuncPtr_glVertexAttribDivisor=GLee_Lazy_glVertexAttribDivisor; -#endif -#endif - -/* GL_VERSION_4_0 */ - -#ifdef __GLEE_GL_VERSION_4_0 -#ifndef GLEE_C_DEFINED_glMinSampleShading -#define GLEE_C_DEFINED_glMinSampleShading - void __stdcall GLee_Lazy_glMinSampleShading(GLfloat value) {if (GLeeInit()) glMinSampleShading(value);} - GLEEPFNGLMINSAMPLESHADINGPROC GLeeFuncPtr_glMinSampleShading=GLee_Lazy_glMinSampleShading; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquationi -#define GLEE_C_DEFINED_glBlendEquationi - void __stdcall GLee_Lazy_glBlendEquationi(GLuint buf, GLenum mode) {if (GLeeInit()) glBlendEquationi(buf, mode);} - GLEEPFNGLBLENDEQUATIONIPROC GLeeFuncPtr_glBlendEquationi=GLee_Lazy_glBlendEquationi; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquationSeparatei -#define GLEE_C_DEFINED_glBlendEquationSeparatei - void __stdcall GLee_Lazy_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) {if (GLeeInit()) glBlendEquationSeparatei(buf, modeRGB, modeAlpha);} - GLEEPFNGLBLENDEQUATIONSEPARATEIPROC GLeeFuncPtr_glBlendEquationSeparatei=GLee_Lazy_glBlendEquationSeparatei; -#endif -#ifndef GLEE_C_DEFINED_glBlendFunci -#define GLEE_C_DEFINED_glBlendFunci - void __stdcall GLee_Lazy_glBlendFunci(GLuint buf, GLenum src, GLenum dst) {if (GLeeInit()) glBlendFunci(buf, src, dst);} - GLEEPFNGLBLENDFUNCIPROC GLeeFuncPtr_glBlendFunci=GLee_Lazy_glBlendFunci; -#endif -#ifndef GLEE_C_DEFINED_glBlendFuncSeparatei -#define GLEE_C_DEFINED_glBlendFuncSeparatei - void __stdcall GLee_Lazy_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {if (GLeeInit()) glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEIPROC GLeeFuncPtr_glBlendFuncSeparatei=GLee_Lazy_glBlendFuncSeparatei; -#endif -#endif - -/* GL_VERSION_4_1 */ - -#ifdef __GLEE_GL_VERSION_4_1 -#endif - -/* GL_VERSION_4_2 */ - -#ifdef __GLEE_GL_VERSION_4_2 -#endif - -/* GL_VERSION_4_3 */ - -#ifdef __GLEE_GL_VERSION_4_3 -#endif - -/* GL_ARB_multitexture */ - -#ifdef __GLEE_GL_ARB_multitexture -#ifndef GLEE_C_DEFINED_glActiveTextureARB -#define GLEE_C_DEFINED_glActiveTextureARB - void __stdcall GLee_Lazy_glActiveTextureARB(GLenum texture) {if (GLeeInit()) glActiveTextureARB(texture);} - GLEEPFNGLACTIVETEXTUREARBPROC GLeeFuncPtr_glActiveTextureARB=GLee_Lazy_glActiveTextureARB; -#endif -#ifndef GLEE_C_DEFINED_glClientActiveTextureARB -#define GLEE_C_DEFINED_glClientActiveTextureARB - void __stdcall GLee_Lazy_glClientActiveTextureARB(GLenum texture) {if (GLeeInit()) glClientActiveTextureARB(texture);} - GLEEPFNGLCLIENTACTIVETEXTUREARBPROC GLeeFuncPtr_glClientActiveTextureARB=GLee_Lazy_glClientActiveTextureARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1dARB -#define GLEE_C_DEFINED_glMultiTexCoord1dARB - void __stdcall GLee_Lazy_glMultiTexCoord1dARB(GLenum target, GLdouble s) {if (GLeeInit()) glMultiTexCoord1dARB(target, s);} - GLEEPFNGLMULTITEXCOORD1DARBPROC GLeeFuncPtr_glMultiTexCoord1dARB=GLee_Lazy_glMultiTexCoord1dARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1dvARB -#define GLEE_C_DEFINED_glMultiTexCoord1dvARB - void __stdcall GLee_Lazy_glMultiTexCoord1dvARB(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord1dvARB(target, v);} - GLEEPFNGLMULTITEXCOORD1DVARBPROC GLeeFuncPtr_glMultiTexCoord1dvARB=GLee_Lazy_glMultiTexCoord1dvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1fARB -#define GLEE_C_DEFINED_glMultiTexCoord1fARB - void __stdcall GLee_Lazy_glMultiTexCoord1fARB(GLenum target, GLfloat s) {if (GLeeInit()) glMultiTexCoord1fARB(target, s);} - GLEEPFNGLMULTITEXCOORD1FARBPROC GLeeFuncPtr_glMultiTexCoord1fARB=GLee_Lazy_glMultiTexCoord1fARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1fvARB -#define GLEE_C_DEFINED_glMultiTexCoord1fvARB - void __stdcall GLee_Lazy_glMultiTexCoord1fvARB(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord1fvARB(target, v);} - GLEEPFNGLMULTITEXCOORD1FVARBPROC GLeeFuncPtr_glMultiTexCoord1fvARB=GLee_Lazy_glMultiTexCoord1fvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1iARB -#define GLEE_C_DEFINED_glMultiTexCoord1iARB - void __stdcall GLee_Lazy_glMultiTexCoord1iARB(GLenum target, GLint s) {if (GLeeInit()) glMultiTexCoord1iARB(target, s);} - GLEEPFNGLMULTITEXCOORD1IARBPROC GLeeFuncPtr_glMultiTexCoord1iARB=GLee_Lazy_glMultiTexCoord1iARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1ivARB -#define GLEE_C_DEFINED_glMultiTexCoord1ivARB - void __stdcall GLee_Lazy_glMultiTexCoord1ivARB(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord1ivARB(target, v);} - GLEEPFNGLMULTITEXCOORD1IVARBPROC GLeeFuncPtr_glMultiTexCoord1ivARB=GLee_Lazy_glMultiTexCoord1ivARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1sARB -#define GLEE_C_DEFINED_glMultiTexCoord1sARB - void __stdcall GLee_Lazy_glMultiTexCoord1sARB(GLenum target, GLshort s) {if (GLeeInit()) glMultiTexCoord1sARB(target, s);} - GLEEPFNGLMULTITEXCOORD1SARBPROC GLeeFuncPtr_glMultiTexCoord1sARB=GLee_Lazy_glMultiTexCoord1sARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1svARB -#define GLEE_C_DEFINED_glMultiTexCoord1svARB - void __stdcall GLee_Lazy_glMultiTexCoord1svARB(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord1svARB(target, v);} - GLEEPFNGLMULTITEXCOORD1SVARBPROC GLeeFuncPtr_glMultiTexCoord1svARB=GLee_Lazy_glMultiTexCoord1svARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2dARB -#define GLEE_C_DEFINED_glMultiTexCoord2dARB - void __stdcall GLee_Lazy_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) {if (GLeeInit()) glMultiTexCoord2dARB(target, s, t);} - GLEEPFNGLMULTITEXCOORD2DARBPROC GLeeFuncPtr_glMultiTexCoord2dARB=GLee_Lazy_glMultiTexCoord2dARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2dvARB -#define GLEE_C_DEFINED_glMultiTexCoord2dvARB - void __stdcall GLee_Lazy_glMultiTexCoord2dvARB(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord2dvARB(target, v);} - GLEEPFNGLMULTITEXCOORD2DVARBPROC GLeeFuncPtr_glMultiTexCoord2dvARB=GLee_Lazy_glMultiTexCoord2dvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2fARB -#define GLEE_C_DEFINED_glMultiTexCoord2fARB - void __stdcall GLee_Lazy_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) {if (GLeeInit()) glMultiTexCoord2fARB(target, s, t);} - GLEEPFNGLMULTITEXCOORD2FARBPROC GLeeFuncPtr_glMultiTexCoord2fARB=GLee_Lazy_glMultiTexCoord2fARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2fvARB -#define GLEE_C_DEFINED_glMultiTexCoord2fvARB - void __stdcall GLee_Lazy_glMultiTexCoord2fvARB(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord2fvARB(target, v);} - GLEEPFNGLMULTITEXCOORD2FVARBPROC GLeeFuncPtr_glMultiTexCoord2fvARB=GLee_Lazy_glMultiTexCoord2fvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2iARB -#define GLEE_C_DEFINED_glMultiTexCoord2iARB - void __stdcall GLee_Lazy_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t) {if (GLeeInit()) glMultiTexCoord2iARB(target, s, t);} - GLEEPFNGLMULTITEXCOORD2IARBPROC GLeeFuncPtr_glMultiTexCoord2iARB=GLee_Lazy_glMultiTexCoord2iARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2ivARB -#define GLEE_C_DEFINED_glMultiTexCoord2ivARB - void __stdcall GLee_Lazy_glMultiTexCoord2ivARB(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord2ivARB(target, v);} - GLEEPFNGLMULTITEXCOORD2IVARBPROC GLeeFuncPtr_glMultiTexCoord2ivARB=GLee_Lazy_glMultiTexCoord2ivARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2sARB -#define GLEE_C_DEFINED_glMultiTexCoord2sARB - void __stdcall GLee_Lazy_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) {if (GLeeInit()) glMultiTexCoord2sARB(target, s, t);} - GLEEPFNGLMULTITEXCOORD2SARBPROC GLeeFuncPtr_glMultiTexCoord2sARB=GLee_Lazy_glMultiTexCoord2sARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2svARB -#define GLEE_C_DEFINED_glMultiTexCoord2svARB - void __stdcall GLee_Lazy_glMultiTexCoord2svARB(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord2svARB(target, v);} - GLEEPFNGLMULTITEXCOORD2SVARBPROC GLeeFuncPtr_glMultiTexCoord2svARB=GLee_Lazy_glMultiTexCoord2svARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3dARB -#define GLEE_C_DEFINED_glMultiTexCoord3dARB - void __stdcall GLee_Lazy_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) {if (GLeeInit()) glMultiTexCoord3dARB(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3DARBPROC GLeeFuncPtr_glMultiTexCoord3dARB=GLee_Lazy_glMultiTexCoord3dARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3dvARB -#define GLEE_C_DEFINED_glMultiTexCoord3dvARB - void __stdcall GLee_Lazy_glMultiTexCoord3dvARB(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord3dvARB(target, v);} - GLEEPFNGLMULTITEXCOORD3DVARBPROC GLeeFuncPtr_glMultiTexCoord3dvARB=GLee_Lazy_glMultiTexCoord3dvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3fARB -#define GLEE_C_DEFINED_glMultiTexCoord3fARB - void __stdcall GLee_Lazy_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) {if (GLeeInit()) glMultiTexCoord3fARB(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3FARBPROC GLeeFuncPtr_glMultiTexCoord3fARB=GLee_Lazy_glMultiTexCoord3fARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3fvARB -#define GLEE_C_DEFINED_glMultiTexCoord3fvARB - void __stdcall GLee_Lazy_glMultiTexCoord3fvARB(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord3fvARB(target, v);} - GLEEPFNGLMULTITEXCOORD3FVARBPROC GLeeFuncPtr_glMultiTexCoord3fvARB=GLee_Lazy_glMultiTexCoord3fvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3iARB -#define GLEE_C_DEFINED_glMultiTexCoord3iARB - void __stdcall GLee_Lazy_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) {if (GLeeInit()) glMultiTexCoord3iARB(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3IARBPROC GLeeFuncPtr_glMultiTexCoord3iARB=GLee_Lazy_glMultiTexCoord3iARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3ivARB -#define GLEE_C_DEFINED_glMultiTexCoord3ivARB - void __stdcall GLee_Lazy_glMultiTexCoord3ivARB(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord3ivARB(target, v);} - GLEEPFNGLMULTITEXCOORD3IVARBPROC GLeeFuncPtr_glMultiTexCoord3ivARB=GLee_Lazy_glMultiTexCoord3ivARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3sARB -#define GLEE_C_DEFINED_glMultiTexCoord3sARB - void __stdcall GLee_Lazy_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) {if (GLeeInit()) glMultiTexCoord3sARB(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3SARBPROC GLeeFuncPtr_glMultiTexCoord3sARB=GLee_Lazy_glMultiTexCoord3sARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3svARB -#define GLEE_C_DEFINED_glMultiTexCoord3svARB - void __stdcall GLee_Lazy_glMultiTexCoord3svARB(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord3svARB(target, v);} - GLEEPFNGLMULTITEXCOORD3SVARBPROC GLeeFuncPtr_glMultiTexCoord3svARB=GLee_Lazy_glMultiTexCoord3svARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4dARB -#define GLEE_C_DEFINED_glMultiTexCoord4dARB - void __stdcall GLee_Lazy_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) {if (GLeeInit()) glMultiTexCoord4dARB(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4DARBPROC GLeeFuncPtr_glMultiTexCoord4dARB=GLee_Lazy_glMultiTexCoord4dARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4dvARB -#define GLEE_C_DEFINED_glMultiTexCoord4dvARB - void __stdcall GLee_Lazy_glMultiTexCoord4dvARB(GLenum target, const GLdouble * v) {if (GLeeInit()) glMultiTexCoord4dvARB(target, v);} - GLEEPFNGLMULTITEXCOORD4DVARBPROC GLeeFuncPtr_glMultiTexCoord4dvARB=GLee_Lazy_glMultiTexCoord4dvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4fARB -#define GLEE_C_DEFINED_glMultiTexCoord4fARB - void __stdcall GLee_Lazy_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {if (GLeeInit()) glMultiTexCoord4fARB(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4FARBPROC GLeeFuncPtr_glMultiTexCoord4fARB=GLee_Lazy_glMultiTexCoord4fARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4fvARB -#define GLEE_C_DEFINED_glMultiTexCoord4fvARB - void __stdcall GLee_Lazy_glMultiTexCoord4fvARB(GLenum target, const GLfloat * v) {if (GLeeInit()) glMultiTexCoord4fvARB(target, v);} - GLEEPFNGLMULTITEXCOORD4FVARBPROC GLeeFuncPtr_glMultiTexCoord4fvARB=GLee_Lazy_glMultiTexCoord4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4iARB -#define GLEE_C_DEFINED_glMultiTexCoord4iARB - void __stdcall GLee_Lazy_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) {if (GLeeInit()) glMultiTexCoord4iARB(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4IARBPROC GLeeFuncPtr_glMultiTexCoord4iARB=GLee_Lazy_glMultiTexCoord4iARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4ivARB -#define GLEE_C_DEFINED_glMultiTexCoord4ivARB - void __stdcall GLee_Lazy_glMultiTexCoord4ivARB(GLenum target, const GLint * v) {if (GLeeInit()) glMultiTexCoord4ivARB(target, v);} - GLEEPFNGLMULTITEXCOORD4IVARBPROC GLeeFuncPtr_glMultiTexCoord4ivARB=GLee_Lazy_glMultiTexCoord4ivARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4sARB -#define GLEE_C_DEFINED_glMultiTexCoord4sARB - void __stdcall GLee_Lazy_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) {if (GLeeInit()) glMultiTexCoord4sARB(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4SARBPROC GLeeFuncPtr_glMultiTexCoord4sARB=GLee_Lazy_glMultiTexCoord4sARB; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4svARB -#define GLEE_C_DEFINED_glMultiTexCoord4svARB - void __stdcall GLee_Lazy_glMultiTexCoord4svARB(GLenum target, const GLshort * v) {if (GLeeInit()) glMultiTexCoord4svARB(target, v);} - GLEEPFNGLMULTITEXCOORD4SVARBPROC GLeeFuncPtr_glMultiTexCoord4svARB=GLee_Lazy_glMultiTexCoord4svARB; -#endif -#endif - -/* GL_ARB_transpose_matrix */ - -#ifdef __GLEE_GL_ARB_transpose_matrix -#ifndef GLEE_C_DEFINED_glLoadTransposeMatrixfARB -#define GLEE_C_DEFINED_glLoadTransposeMatrixfARB - void __stdcall GLee_Lazy_glLoadTransposeMatrixfARB(const GLfloat * m) {if (GLeeInit()) glLoadTransposeMatrixfARB(m);} - GLEEPFNGLLOADTRANSPOSEMATRIXFARBPROC GLeeFuncPtr_glLoadTransposeMatrixfARB=GLee_Lazy_glLoadTransposeMatrixfARB; -#endif -#ifndef GLEE_C_DEFINED_glLoadTransposeMatrixdARB -#define GLEE_C_DEFINED_glLoadTransposeMatrixdARB - void __stdcall GLee_Lazy_glLoadTransposeMatrixdARB(const GLdouble * m) {if (GLeeInit()) glLoadTransposeMatrixdARB(m);} - GLEEPFNGLLOADTRANSPOSEMATRIXDARBPROC GLeeFuncPtr_glLoadTransposeMatrixdARB=GLee_Lazy_glLoadTransposeMatrixdARB; -#endif -#ifndef GLEE_C_DEFINED_glMultTransposeMatrixfARB -#define GLEE_C_DEFINED_glMultTransposeMatrixfARB - void __stdcall GLee_Lazy_glMultTransposeMatrixfARB(const GLfloat * m) {if (GLeeInit()) glMultTransposeMatrixfARB(m);} - GLEEPFNGLMULTTRANSPOSEMATRIXFARBPROC GLeeFuncPtr_glMultTransposeMatrixfARB=GLee_Lazy_glMultTransposeMatrixfARB; -#endif -#ifndef GLEE_C_DEFINED_glMultTransposeMatrixdARB -#define GLEE_C_DEFINED_glMultTransposeMatrixdARB - void __stdcall GLee_Lazy_glMultTransposeMatrixdARB(const GLdouble * m) {if (GLeeInit()) glMultTransposeMatrixdARB(m);} - GLEEPFNGLMULTTRANSPOSEMATRIXDARBPROC GLeeFuncPtr_glMultTransposeMatrixdARB=GLee_Lazy_glMultTransposeMatrixdARB; -#endif -#endif - -/* GL_ARB_multisample */ - -#ifdef __GLEE_GL_ARB_multisample -#ifndef GLEE_C_DEFINED_glSampleCoverageARB -#define GLEE_C_DEFINED_glSampleCoverageARB - void __stdcall GLee_Lazy_glSampleCoverageARB(GLfloat value, GLboolean invert) {if (GLeeInit()) glSampleCoverageARB(value, invert);} - GLEEPFNGLSAMPLECOVERAGEARBPROC GLeeFuncPtr_glSampleCoverageARB=GLee_Lazy_glSampleCoverageARB; -#endif -#endif - -/* GL_ARB_texture_env_add */ - -#ifdef __GLEE_GL_ARB_texture_env_add -#endif - -/* GL_ARB_texture_cube_map */ - -#ifdef __GLEE_GL_ARB_texture_cube_map -#endif - -/* GL_ARB_texture_compression */ - -#ifdef __GLEE_GL_ARB_texture_compression -#ifndef GLEE_C_DEFINED_glCompressedTexImage3DARB -#define GLEE_C_DEFINED_glCompressedTexImage3DARB - void __stdcall GLee_Lazy_glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC GLeeFuncPtr_glCompressedTexImage3DARB=GLee_Lazy_glCompressedTexImage3DARB; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexImage2DARB -#define GLEE_C_DEFINED_glCompressedTexImage2DARB - void __stdcall GLee_Lazy_glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC GLeeFuncPtr_glCompressedTexImage2DARB=GLee_Lazy_glCompressedTexImage2DARB; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexImage1DARB -#define GLEE_C_DEFINED_glCompressedTexImage1DARB - void __stdcall GLee_Lazy_glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXIMAGE1DARBPROC GLeeFuncPtr_glCompressedTexImage1DARB=GLee_Lazy_glCompressedTexImage1DARB; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage3DARB -#define GLEE_C_DEFINED_glCompressedTexSubImage3DARB - void __stdcall GLee_Lazy_glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC GLeeFuncPtr_glCompressedTexSubImage3DARB=GLee_Lazy_glCompressedTexSubImage3DARB; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage2DARB -#define GLEE_C_DEFINED_glCompressedTexSubImage2DARB - void __stdcall GLee_Lazy_glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC GLeeFuncPtr_glCompressedTexSubImage2DARB=GLee_Lazy_glCompressedTexSubImage2DARB; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTexSubImage1DARB -#define GLEE_C_DEFINED_glCompressedTexSubImage1DARB - void __stdcall GLee_Lazy_glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data) {if (GLeeInit()) glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data);} - GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC GLeeFuncPtr_glCompressedTexSubImage1DARB=GLee_Lazy_glCompressedTexSubImage1DARB; -#endif -#ifndef GLEE_C_DEFINED_glGetCompressedTexImageARB -#define GLEE_C_DEFINED_glGetCompressedTexImageARB - void __stdcall GLee_Lazy_glGetCompressedTexImageARB(GLenum target, GLint level, GLvoid * img) {if (GLeeInit()) glGetCompressedTexImageARB(target, level, img);} - GLEEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC GLeeFuncPtr_glGetCompressedTexImageARB=GLee_Lazy_glGetCompressedTexImageARB; -#endif -#endif - -/* GL_ARB_texture_border_clamp */ - -#ifdef __GLEE_GL_ARB_texture_border_clamp -#endif - -/* GL_ARB_point_parameters */ - -#ifdef __GLEE_GL_ARB_point_parameters -#ifndef GLEE_C_DEFINED_glPointParameterfARB -#define GLEE_C_DEFINED_glPointParameterfARB - void __stdcall GLee_Lazy_glPointParameterfARB(GLenum pname, GLfloat param) {if (GLeeInit()) glPointParameterfARB(pname, param);} - GLEEPFNGLPOINTPARAMETERFARBPROC GLeeFuncPtr_glPointParameterfARB=GLee_Lazy_glPointParameterfARB; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterfvARB -#define GLEE_C_DEFINED_glPointParameterfvARB - void __stdcall GLee_Lazy_glPointParameterfvARB(GLenum pname, const GLfloat * params) {if (GLeeInit()) glPointParameterfvARB(pname, params);} - GLEEPFNGLPOINTPARAMETERFVARBPROC GLeeFuncPtr_glPointParameterfvARB=GLee_Lazy_glPointParameterfvARB; -#endif -#endif - -/* GL_ARB_vertex_blend */ - -#ifdef __GLEE_GL_ARB_vertex_blend -#ifndef GLEE_C_DEFINED_glWeightbvARB -#define GLEE_C_DEFINED_glWeightbvARB - void __stdcall GLee_Lazy_glWeightbvARB(GLint size, const GLbyte * weights) {if (GLeeInit()) glWeightbvARB(size, weights);} - GLEEPFNGLWEIGHTBVARBPROC GLeeFuncPtr_glWeightbvARB=GLee_Lazy_glWeightbvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightsvARB -#define GLEE_C_DEFINED_glWeightsvARB - void __stdcall GLee_Lazy_glWeightsvARB(GLint size, const GLshort * weights) {if (GLeeInit()) glWeightsvARB(size, weights);} - GLEEPFNGLWEIGHTSVARBPROC GLeeFuncPtr_glWeightsvARB=GLee_Lazy_glWeightsvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightivARB -#define GLEE_C_DEFINED_glWeightivARB - void __stdcall GLee_Lazy_glWeightivARB(GLint size, const GLint * weights) {if (GLeeInit()) glWeightivARB(size, weights);} - GLEEPFNGLWEIGHTIVARBPROC GLeeFuncPtr_glWeightivARB=GLee_Lazy_glWeightivARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightfvARB -#define GLEE_C_DEFINED_glWeightfvARB - void __stdcall GLee_Lazy_glWeightfvARB(GLint size, const GLfloat * weights) {if (GLeeInit()) glWeightfvARB(size, weights);} - GLEEPFNGLWEIGHTFVARBPROC GLeeFuncPtr_glWeightfvARB=GLee_Lazy_glWeightfvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightdvARB -#define GLEE_C_DEFINED_glWeightdvARB - void __stdcall GLee_Lazy_glWeightdvARB(GLint size, const GLdouble * weights) {if (GLeeInit()) glWeightdvARB(size, weights);} - GLEEPFNGLWEIGHTDVARBPROC GLeeFuncPtr_glWeightdvARB=GLee_Lazy_glWeightdvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightubvARB -#define GLEE_C_DEFINED_glWeightubvARB - void __stdcall GLee_Lazy_glWeightubvARB(GLint size, const GLubyte * weights) {if (GLeeInit()) glWeightubvARB(size, weights);} - GLEEPFNGLWEIGHTUBVARBPROC GLeeFuncPtr_glWeightubvARB=GLee_Lazy_glWeightubvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightusvARB -#define GLEE_C_DEFINED_glWeightusvARB - void __stdcall GLee_Lazy_glWeightusvARB(GLint size, const GLushort * weights) {if (GLeeInit()) glWeightusvARB(size, weights);} - GLEEPFNGLWEIGHTUSVARBPROC GLeeFuncPtr_glWeightusvARB=GLee_Lazy_glWeightusvARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightuivARB -#define GLEE_C_DEFINED_glWeightuivARB - void __stdcall GLee_Lazy_glWeightuivARB(GLint size, const GLuint * weights) {if (GLeeInit()) glWeightuivARB(size, weights);} - GLEEPFNGLWEIGHTUIVARBPROC GLeeFuncPtr_glWeightuivARB=GLee_Lazy_glWeightuivARB; -#endif -#ifndef GLEE_C_DEFINED_glWeightPointerARB -#define GLEE_C_DEFINED_glWeightPointerARB - void __stdcall GLee_Lazy_glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glWeightPointerARB(size, type, stride, pointer);} - GLEEPFNGLWEIGHTPOINTERARBPROC GLeeFuncPtr_glWeightPointerARB=GLee_Lazy_glWeightPointerARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexBlendARB -#define GLEE_C_DEFINED_glVertexBlendARB - void __stdcall GLee_Lazy_glVertexBlendARB(GLint count) {if (GLeeInit()) glVertexBlendARB(count);} - GLEEPFNGLVERTEXBLENDARBPROC GLeeFuncPtr_glVertexBlendARB=GLee_Lazy_glVertexBlendARB; -#endif -#endif - -/* GL_ARB_matrix_palette */ - -#ifdef __GLEE_GL_ARB_matrix_palette -#ifndef GLEE_C_DEFINED_glCurrentPaletteMatrixARB -#define GLEE_C_DEFINED_glCurrentPaletteMatrixARB - void __stdcall GLee_Lazy_glCurrentPaletteMatrixARB(GLint index) {if (GLeeInit()) glCurrentPaletteMatrixARB(index);} - GLEEPFNGLCURRENTPALETTEMATRIXARBPROC GLeeFuncPtr_glCurrentPaletteMatrixARB=GLee_Lazy_glCurrentPaletteMatrixARB; -#endif -#ifndef GLEE_C_DEFINED_glMatrixIndexubvARB -#define GLEE_C_DEFINED_glMatrixIndexubvARB - void __stdcall GLee_Lazy_glMatrixIndexubvARB(GLint size, const GLubyte * indices) {if (GLeeInit()) glMatrixIndexubvARB(size, indices);} - GLEEPFNGLMATRIXINDEXUBVARBPROC GLeeFuncPtr_glMatrixIndexubvARB=GLee_Lazy_glMatrixIndexubvARB; -#endif -#ifndef GLEE_C_DEFINED_glMatrixIndexusvARB -#define GLEE_C_DEFINED_glMatrixIndexusvARB - void __stdcall GLee_Lazy_glMatrixIndexusvARB(GLint size, const GLushort * indices) {if (GLeeInit()) glMatrixIndexusvARB(size, indices);} - GLEEPFNGLMATRIXINDEXUSVARBPROC GLeeFuncPtr_glMatrixIndexusvARB=GLee_Lazy_glMatrixIndexusvARB; -#endif -#ifndef GLEE_C_DEFINED_glMatrixIndexuivARB -#define GLEE_C_DEFINED_glMatrixIndexuivARB - void __stdcall GLee_Lazy_glMatrixIndexuivARB(GLint size, const GLuint * indices) {if (GLeeInit()) glMatrixIndexuivARB(size, indices);} - GLEEPFNGLMATRIXINDEXUIVARBPROC GLeeFuncPtr_glMatrixIndexuivARB=GLee_Lazy_glMatrixIndexuivARB; -#endif -#ifndef GLEE_C_DEFINED_glMatrixIndexPointerARB -#define GLEE_C_DEFINED_glMatrixIndexPointerARB - void __stdcall GLee_Lazy_glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glMatrixIndexPointerARB(size, type, stride, pointer);} - GLEEPFNGLMATRIXINDEXPOINTERARBPROC GLeeFuncPtr_glMatrixIndexPointerARB=GLee_Lazy_glMatrixIndexPointerARB; -#endif -#endif - -/* GL_ARB_texture_env_combine */ - -#ifdef __GLEE_GL_ARB_texture_env_combine -#endif - -/* GL_ARB_texture_env_crossbar */ - -#ifdef __GLEE_GL_ARB_texture_env_crossbar -#endif - -/* GL_ARB_texture_env_dot3 */ - -#ifdef __GLEE_GL_ARB_texture_env_dot3 -#endif - -/* GL_ARB_texture_mirrored_repeat */ - -#ifdef __GLEE_GL_ARB_texture_mirrored_repeat -#endif - -/* GL_ARB_depth_texture */ - -#ifdef __GLEE_GL_ARB_depth_texture -#endif - -/* GL_ARB_shadow */ - -#ifdef __GLEE_GL_ARB_shadow -#endif - -/* GL_ARB_shadow_ambient */ - -#ifdef __GLEE_GL_ARB_shadow_ambient -#endif - -/* GL_ARB_window_pos */ - -#ifdef __GLEE_GL_ARB_window_pos -#ifndef GLEE_C_DEFINED_glWindowPos2dARB -#define GLEE_C_DEFINED_glWindowPos2dARB - void __stdcall GLee_Lazy_glWindowPos2dARB(GLdouble x, GLdouble y) {if (GLeeInit()) glWindowPos2dARB(x, y);} - GLEEPFNGLWINDOWPOS2DARBPROC GLeeFuncPtr_glWindowPos2dARB=GLee_Lazy_glWindowPos2dARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2dvARB -#define GLEE_C_DEFINED_glWindowPos2dvARB - void __stdcall GLee_Lazy_glWindowPos2dvARB(const GLdouble * v) {if (GLeeInit()) glWindowPos2dvARB(v);} - GLEEPFNGLWINDOWPOS2DVARBPROC GLeeFuncPtr_glWindowPos2dvARB=GLee_Lazy_glWindowPos2dvARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2fARB -#define GLEE_C_DEFINED_glWindowPos2fARB - void __stdcall GLee_Lazy_glWindowPos2fARB(GLfloat x, GLfloat y) {if (GLeeInit()) glWindowPos2fARB(x, y);} - GLEEPFNGLWINDOWPOS2FARBPROC GLeeFuncPtr_glWindowPos2fARB=GLee_Lazy_glWindowPos2fARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2fvARB -#define GLEE_C_DEFINED_glWindowPos2fvARB - void __stdcall GLee_Lazy_glWindowPos2fvARB(const GLfloat * v) {if (GLeeInit()) glWindowPos2fvARB(v);} - GLEEPFNGLWINDOWPOS2FVARBPROC GLeeFuncPtr_glWindowPos2fvARB=GLee_Lazy_glWindowPos2fvARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2iARB -#define GLEE_C_DEFINED_glWindowPos2iARB - void __stdcall GLee_Lazy_glWindowPos2iARB(GLint x, GLint y) {if (GLeeInit()) glWindowPos2iARB(x, y);} - GLEEPFNGLWINDOWPOS2IARBPROC GLeeFuncPtr_glWindowPos2iARB=GLee_Lazy_glWindowPos2iARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2ivARB -#define GLEE_C_DEFINED_glWindowPos2ivARB - void __stdcall GLee_Lazy_glWindowPos2ivARB(const GLint * v) {if (GLeeInit()) glWindowPos2ivARB(v);} - GLEEPFNGLWINDOWPOS2IVARBPROC GLeeFuncPtr_glWindowPos2ivARB=GLee_Lazy_glWindowPos2ivARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2sARB -#define GLEE_C_DEFINED_glWindowPos2sARB - void __stdcall GLee_Lazy_glWindowPos2sARB(GLshort x, GLshort y) {if (GLeeInit()) glWindowPos2sARB(x, y);} - GLEEPFNGLWINDOWPOS2SARBPROC GLeeFuncPtr_glWindowPos2sARB=GLee_Lazy_glWindowPos2sARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2svARB -#define GLEE_C_DEFINED_glWindowPos2svARB - void __stdcall GLee_Lazy_glWindowPos2svARB(const GLshort * v) {if (GLeeInit()) glWindowPos2svARB(v);} - GLEEPFNGLWINDOWPOS2SVARBPROC GLeeFuncPtr_glWindowPos2svARB=GLee_Lazy_glWindowPos2svARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3dARB -#define GLEE_C_DEFINED_glWindowPos3dARB - void __stdcall GLee_Lazy_glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glWindowPos3dARB(x, y, z);} - GLEEPFNGLWINDOWPOS3DARBPROC GLeeFuncPtr_glWindowPos3dARB=GLee_Lazy_glWindowPos3dARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3dvARB -#define GLEE_C_DEFINED_glWindowPos3dvARB - void __stdcall GLee_Lazy_glWindowPos3dvARB(const GLdouble * v) {if (GLeeInit()) glWindowPos3dvARB(v);} - GLEEPFNGLWINDOWPOS3DVARBPROC GLeeFuncPtr_glWindowPos3dvARB=GLee_Lazy_glWindowPos3dvARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3fARB -#define GLEE_C_DEFINED_glWindowPos3fARB - void __stdcall GLee_Lazy_glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glWindowPos3fARB(x, y, z);} - GLEEPFNGLWINDOWPOS3FARBPROC GLeeFuncPtr_glWindowPos3fARB=GLee_Lazy_glWindowPos3fARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3fvARB -#define GLEE_C_DEFINED_glWindowPos3fvARB - void __stdcall GLee_Lazy_glWindowPos3fvARB(const GLfloat * v) {if (GLeeInit()) glWindowPos3fvARB(v);} - GLEEPFNGLWINDOWPOS3FVARBPROC GLeeFuncPtr_glWindowPos3fvARB=GLee_Lazy_glWindowPos3fvARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3iARB -#define GLEE_C_DEFINED_glWindowPos3iARB - void __stdcall GLee_Lazy_glWindowPos3iARB(GLint x, GLint y, GLint z) {if (GLeeInit()) glWindowPos3iARB(x, y, z);} - GLEEPFNGLWINDOWPOS3IARBPROC GLeeFuncPtr_glWindowPos3iARB=GLee_Lazy_glWindowPos3iARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3ivARB -#define GLEE_C_DEFINED_glWindowPos3ivARB - void __stdcall GLee_Lazy_glWindowPos3ivARB(const GLint * v) {if (GLeeInit()) glWindowPos3ivARB(v);} - GLEEPFNGLWINDOWPOS3IVARBPROC GLeeFuncPtr_glWindowPos3ivARB=GLee_Lazy_glWindowPos3ivARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3sARB -#define GLEE_C_DEFINED_glWindowPos3sARB - void __stdcall GLee_Lazy_glWindowPos3sARB(GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glWindowPos3sARB(x, y, z);} - GLEEPFNGLWINDOWPOS3SARBPROC GLeeFuncPtr_glWindowPos3sARB=GLee_Lazy_glWindowPos3sARB; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3svARB -#define GLEE_C_DEFINED_glWindowPos3svARB - void __stdcall GLee_Lazy_glWindowPos3svARB(const GLshort * v) {if (GLeeInit()) glWindowPos3svARB(v);} - GLEEPFNGLWINDOWPOS3SVARBPROC GLeeFuncPtr_glWindowPos3svARB=GLee_Lazy_glWindowPos3svARB; -#endif -#endif - -/* GL_ARB_vertex_program */ - -#ifdef __GLEE_GL_ARB_vertex_program -#ifndef GLEE_C_DEFINED_glVertexAttrib1dARB -#define GLEE_C_DEFINED_glVertexAttrib1dARB - void __stdcall GLee_Lazy_glVertexAttrib1dARB(GLuint index, GLdouble x) {if (GLeeInit()) glVertexAttrib1dARB(index, x);} - GLEEPFNGLVERTEXATTRIB1DARBPROC GLeeFuncPtr_glVertexAttrib1dARB=GLee_Lazy_glVertexAttrib1dARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1dvARB -#define GLEE_C_DEFINED_glVertexAttrib1dvARB - void __stdcall GLee_Lazy_glVertexAttrib1dvARB(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib1dvARB(index, v);} - GLEEPFNGLVERTEXATTRIB1DVARBPROC GLeeFuncPtr_glVertexAttrib1dvARB=GLee_Lazy_glVertexAttrib1dvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1fARB -#define GLEE_C_DEFINED_glVertexAttrib1fARB - void __stdcall GLee_Lazy_glVertexAttrib1fARB(GLuint index, GLfloat x) {if (GLeeInit()) glVertexAttrib1fARB(index, x);} - GLEEPFNGLVERTEXATTRIB1FARBPROC GLeeFuncPtr_glVertexAttrib1fARB=GLee_Lazy_glVertexAttrib1fARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1fvARB -#define GLEE_C_DEFINED_glVertexAttrib1fvARB - void __stdcall GLee_Lazy_glVertexAttrib1fvARB(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib1fvARB(index, v);} - GLEEPFNGLVERTEXATTRIB1FVARBPROC GLeeFuncPtr_glVertexAttrib1fvARB=GLee_Lazy_glVertexAttrib1fvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1sARB -#define GLEE_C_DEFINED_glVertexAttrib1sARB - void __stdcall GLee_Lazy_glVertexAttrib1sARB(GLuint index, GLshort x) {if (GLeeInit()) glVertexAttrib1sARB(index, x);} - GLEEPFNGLVERTEXATTRIB1SARBPROC GLeeFuncPtr_glVertexAttrib1sARB=GLee_Lazy_glVertexAttrib1sARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1svARB -#define GLEE_C_DEFINED_glVertexAttrib1svARB - void __stdcall GLee_Lazy_glVertexAttrib1svARB(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib1svARB(index, v);} - GLEEPFNGLVERTEXATTRIB1SVARBPROC GLeeFuncPtr_glVertexAttrib1svARB=GLee_Lazy_glVertexAttrib1svARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2dARB -#define GLEE_C_DEFINED_glVertexAttrib2dARB - void __stdcall GLee_Lazy_glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexAttrib2dARB(index, x, y);} - GLEEPFNGLVERTEXATTRIB2DARBPROC GLeeFuncPtr_glVertexAttrib2dARB=GLee_Lazy_glVertexAttrib2dARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2dvARB -#define GLEE_C_DEFINED_glVertexAttrib2dvARB - void __stdcall GLee_Lazy_glVertexAttrib2dvARB(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib2dvARB(index, v);} - GLEEPFNGLVERTEXATTRIB2DVARBPROC GLeeFuncPtr_glVertexAttrib2dvARB=GLee_Lazy_glVertexAttrib2dvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2fARB -#define GLEE_C_DEFINED_glVertexAttrib2fARB - void __stdcall GLee_Lazy_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y) {if (GLeeInit()) glVertexAttrib2fARB(index, x, y);} - GLEEPFNGLVERTEXATTRIB2FARBPROC GLeeFuncPtr_glVertexAttrib2fARB=GLee_Lazy_glVertexAttrib2fARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2fvARB -#define GLEE_C_DEFINED_glVertexAttrib2fvARB - void __stdcall GLee_Lazy_glVertexAttrib2fvARB(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib2fvARB(index, v);} - GLEEPFNGLVERTEXATTRIB2FVARBPROC GLeeFuncPtr_glVertexAttrib2fvARB=GLee_Lazy_glVertexAttrib2fvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2sARB -#define GLEE_C_DEFINED_glVertexAttrib2sARB - void __stdcall GLee_Lazy_glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y) {if (GLeeInit()) glVertexAttrib2sARB(index, x, y);} - GLEEPFNGLVERTEXATTRIB2SARBPROC GLeeFuncPtr_glVertexAttrib2sARB=GLee_Lazy_glVertexAttrib2sARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2svARB -#define GLEE_C_DEFINED_glVertexAttrib2svARB - void __stdcall GLee_Lazy_glVertexAttrib2svARB(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib2svARB(index, v);} - GLEEPFNGLVERTEXATTRIB2SVARBPROC GLeeFuncPtr_glVertexAttrib2svARB=GLee_Lazy_glVertexAttrib2svARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3dARB -#define GLEE_C_DEFINED_glVertexAttrib3dARB - void __stdcall GLee_Lazy_glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexAttrib3dARB(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3DARBPROC GLeeFuncPtr_glVertexAttrib3dARB=GLee_Lazy_glVertexAttrib3dARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3dvARB -#define GLEE_C_DEFINED_glVertexAttrib3dvARB - void __stdcall GLee_Lazy_glVertexAttrib3dvARB(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib3dvARB(index, v);} - GLEEPFNGLVERTEXATTRIB3DVARBPROC GLeeFuncPtr_glVertexAttrib3dvARB=GLee_Lazy_glVertexAttrib3dvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3fARB -#define GLEE_C_DEFINED_glVertexAttrib3fARB - void __stdcall GLee_Lazy_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glVertexAttrib3fARB(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3FARBPROC GLeeFuncPtr_glVertexAttrib3fARB=GLee_Lazy_glVertexAttrib3fARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3fvARB -#define GLEE_C_DEFINED_glVertexAttrib3fvARB - void __stdcall GLee_Lazy_glVertexAttrib3fvARB(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib3fvARB(index, v);} - GLEEPFNGLVERTEXATTRIB3FVARBPROC GLeeFuncPtr_glVertexAttrib3fvARB=GLee_Lazy_glVertexAttrib3fvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3sARB -#define GLEE_C_DEFINED_glVertexAttrib3sARB - void __stdcall GLee_Lazy_glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glVertexAttrib3sARB(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3SARBPROC GLeeFuncPtr_glVertexAttrib3sARB=GLee_Lazy_glVertexAttrib3sARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3svARB -#define GLEE_C_DEFINED_glVertexAttrib3svARB - void __stdcall GLee_Lazy_glVertexAttrib3svARB(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib3svARB(index, v);} - GLEEPFNGLVERTEXATTRIB3SVARBPROC GLeeFuncPtr_glVertexAttrib3svARB=GLee_Lazy_glVertexAttrib3svARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NbvARB -#define GLEE_C_DEFINED_glVertexAttrib4NbvARB - void __stdcall GLee_Lazy_glVertexAttrib4NbvARB(GLuint index, const GLbyte * v) {if (GLeeInit()) glVertexAttrib4NbvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NBVARBPROC GLeeFuncPtr_glVertexAttrib4NbvARB=GLee_Lazy_glVertexAttrib4NbvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NivARB -#define GLEE_C_DEFINED_glVertexAttrib4NivARB - void __stdcall GLee_Lazy_glVertexAttrib4NivARB(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttrib4NivARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NIVARBPROC GLeeFuncPtr_glVertexAttrib4NivARB=GLee_Lazy_glVertexAttrib4NivARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NsvARB -#define GLEE_C_DEFINED_glVertexAttrib4NsvARB - void __stdcall GLee_Lazy_glVertexAttrib4NsvARB(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib4NsvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NSVARBPROC GLeeFuncPtr_glVertexAttrib4NsvARB=GLee_Lazy_glVertexAttrib4NsvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NubARB -#define GLEE_C_DEFINED_glVertexAttrib4NubARB - void __stdcall GLee_Lazy_glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) {if (GLeeInit()) glVertexAttrib4NubARB(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4NUBARBPROC GLeeFuncPtr_glVertexAttrib4NubARB=GLee_Lazy_glVertexAttrib4NubARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NubvARB -#define GLEE_C_DEFINED_glVertexAttrib4NubvARB - void __stdcall GLee_Lazy_glVertexAttrib4NubvARB(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttrib4NubvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NUBVARBPROC GLeeFuncPtr_glVertexAttrib4NubvARB=GLee_Lazy_glVertexAttrib4NubvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NuivARB -#define GLEE_C_DEFINED_glVertexAttrib4NuivARB - void __stdcall GLee_Lazy_glVertexAttrib4NuivARB(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttrib4NuivARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NUIVARBPROC GLeeFuncPtr_glVertexAttrib4NuivARB=GLee_Lazy_glVertexAttrib4NuivARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4NusvARB -#define GLEE_C_DEFINED_glVertexAttrib4NusvARB - void __stdcall GLee_Lazy_glVertexAttrib4NusvARB(GLuint index, const GLushort * v) {if (GLeeInit()) glVertexAttrib4NusvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4NUSVARBPROC GLeeFuncPtr_glVertexAttrib4NusvARB=GLee_Lazy_glVertexAttrib4NusvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4bvARB -#define GLEE_C_DEFINED_glVertexAttrib4bvARB - void __stdcall GLee_Lazy_glVertexAttrib4bvARB(GLuint index, const GLbyte * v) {if (GLeeInit()) glVertexAttrib4bvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4BVARBPROC GLeeFuncPtr_glVertexAttrib4bvARB=GLee_Lazy_glVertexAttrib4bvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4dARB -#define GLEE_C_DEFINED_glVertexAttrib4dARB - void __stdcall GLee_Lazy_glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexAttrib4dARB(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4DARBPROC GLeeFuncPtr_glVertexAttrib4dARB=GLee_Lazy_glVertexAttrib4dARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4dvARB -#define GLEE_C_DEFINED_glVertexAttrib4dvARB - void __stdcall GLee_Lazy_glVertexAttrib4dvARB(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib4dvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4DVARBPROC GLeeFuncPtr_glVertexAttrib4dvARB=GLee_Lazy_glVertexAttrib4dvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4fARB -#define GLEE_C_DEFINED_glVertexAttrib4fARB - void __stdcall GLee_Lazy_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glVertexAttrib4fARB(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4FARBPROC GLeeFuncPtr_glVertexAttrib4fARB=GLee_Lazy_glVertexAttrib4fARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4fvARB -#define GLEE_C_DEFINED_glVertexAttrib4fvARB - void __stdcall GLee_Lazy_glVertexAttrib4fvARB(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib4fvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4FVARBPROC GLeeFuncPtr_glVertexAttrib4fvARB=GLee_Lazy_glVertexAttrib4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4ivARB -#define GLEE_C_DEFINED_glVertexAttrib4ivARB - void __stdcall GLee_Lazy_glVertexAttrib4ivARB(GLuint index, const GLint * v) {if (GLeeInit()) glVertexAttrib4ivARB(index, v);} - GLEEPFNGLVERTEXATTRIB4IVARBPROC GLeeFuncPtr_glVertexAttrib4ivARB=GLee_Lazy_glVertexAttrib4ivARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4sARB -#define GLEE_C_DEFINED_glVertexAttrib4sARB - void __stdcall GLee_Lazy_glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) {if (GLeeInit()) glVertexAttrib4sARB(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4SARBPROC GLeeFuncPtr_glVertexAttrib4sARB=GLee_Lazy_glVertexAttrib4sARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4svARB -#define GLEE_C_DEFINED_glVertexAttrib4svARB - void __stdcall GLee_Lazy_glVertexAttrib4svARB(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib4svARB(index, v);} - GLEEPFNGLVERTEXATTRIB4SVARBPROC GLeeFuncPtr_glVertexAttrib4svARB=GLee_Lazy_glVertexAttrib4svARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4ubvARB -#define GLEE_C_DEFINED_glVertexAttrib4ubvARB - void __stdcall GLee_Lazy_glVertexAttrib4ubvARB(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttrib4ubvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4UBVARBPROC GLeeFuncPtr_glVertexAttrib4ubvARB=GLee_Lazy_glVertexAttrib4ubvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4uivARB -#define GLEE_C_DEFINED_glVertexAttrib4uivARB - void __stdcall GLee_Lazy_glVertexAttrib4uivARB(GLuint index, const GLuint * v) {if (GLeeInit()) glVertexAttrib4uivARB(index, v);} - GLEEPFNGLVERTEXATTRIB4UIVARBPROC GLeeFuncPtr_glVertexAttrib4uivARB=GLee_Lazy_glVertexAttrib4uivARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4usvARB -#define GLEE_C_DEFINED_glVertexAttrib4usvARB - void __stdcall GLee_Lazy_glVertexAttrib4usvARB(GLuint index, const GLushort * v) {if (GLeeInit()) glVertexAttrib4usvARB(index, v);} - GLEEPFNGLVERTEXATTRIB4USVARBPROC GLeeFuncPtr_glVertexAttrib4usvARB=GLee_Lazy_glVertexAttrib4usvARB; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribPointerARB -#define GLEE_C_DEFINED_glVertexAttribPointerARB - void __stdcall GLee_Lazy_glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribPointerARB(index, size, type, normalized, stride, pointer);} - GLEEPFNGLVERTEXATTRIBPOINTERARBPROC GLeeFuncPtr_glVertexAttribPointerARB=GLee_Lazy_glVertexAttribPointerARB; -#endif -#ifndef GLEE_C_DEFINED_glEnableVertexAttribArrayARB -#define GLEE_C_DEFINED_glEnableVertexAttribArrayARB - void __stdcall GLee_Lazy_glEnableVertexAttribArrayARB(GLuint index) {if (GLeeInit()) glEnableVertexAttribArrayARB(index);} - GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC GLeeFuncPtr_glEnableVertexAttribArrayARB=GLee_Lazy_glEnableVertexAttribArrayARB; -#endif -#ifndef GLEE_C_DEFINED_glDisableVertexAttribArrayARB -#define GLEE_C_DEFINED_glDisableVertexAttribArrayARB - void __stdcall GLee_Lazy_glDisableVertexAttribArrayARB(GLuint index) {if (GLeeInit()) glDisableVertexAttribArrayARB(index);} - GLEEPFNGLDISABLEVERTEXATTRIBARRAYARBPROC GLeeFuncPtr_glDisableVertexAttribArrayARB=GLee_Lazy_glDisableVertexAttribArrayARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramStringARB -#define GLEE_C_DEFINED_glProgramStringARB - void __stdcall GLee_Lazy_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid * string) {if (GLeeInit()) glProgramStringARB(target, format, len, string);} - GLEEPFNGLPROGRAMSTRINGARBPROC GLeeFuncPtr_glProgramStringARB=GLee_Lazy_glProgramStringARB; -#endif -#ifndef GLEE_C_DEFINED_glBindProgramARB -#define GLEE_C_DEFINED_glBindProgramARB - void __stdcall GLee_Lazy_glBindProgramARB(GLenum target, GLuint program) {if (GLeeInit()) glBindProgramARB(target, program);} - GLEEPFNGLBINDPROGRAMARBPROC GLeeFuncPtr_glBindProgramARB=GLee_Lazy_glBindProgramARB; -#endif -#ifndef GLEE_C_DEFINED_glDeleteProgramsARB -#define GLEE_C_DEFINED_glDeleteProgramsARB - void __stdcall GLee_Lazy_glDeleteProgramsARB(GLsizei n, const GLuint * programs) {if (GLeeInit()) glDeleteProgramsARB(n, programs);} - GLEEPFNGLDELETEPROGRAMSARBPROC GLeeFuncPtr_glDeleteProgramsARB=GLee_Lazy_glDeleteProgramsARB; -#endif -#ifndef GLEE_C_DEFINED_glGenProgramsARB -#define GLEE_C_DEFINED_glGenProgramsARB - void __stdcall GLee_Lazy_glGenProgramsARB(GLsizei n, GLuint * programs) {if (GLeeInit()) glGenProgramsARB(n, programs);} - GLEEPFNGLGENPROGRAMSARBPROC GLeeFuncPtr_glGenProgramsARB=GLee_Lazy_glGenProgramsARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramEnvParameter4dARB -#define GLEE_C_DEFINED_glProgramEnvParameter4dARB - void __stdcall GLee_Lazy_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glProgramEnvParameter4dARB(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMENVPARAMETER4DARBPROC GLeeFuncPtr_glProgramEnvParameter4dARB=GLee_Lazy_glProgramEnvParameter4dARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramEnvParameter4dvARB -#define GLEE_C_DEFINED_glProgramEnvParameter4dvARB - void __stdcall GLee_Lazy_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) {if (GLeeInit()) glProgramEnvParameter4dvARB(target, index, params);} - GLEEPFNGLPROGRAMENVPARAMETER4DVARBPROC GLeeFuncPtr_glProgramEnvParameter4dvARB=GLee_Lazy_glProgramEnvParameter4dvARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramEnvParameter4fARB -#define GLEE_C_DEFINED_glProgramEnvParameter4fARB - void __stdcall GLee_Lazy_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glProgramEnvParameter4fARB(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMENVPARAMETER4FARBPROC GLeeFuncPtr_glProgramEnvParameter4fARB=GLee_Lazy_glProgramEnvParameter4fARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramEnvParameter4fvARB -#define GLEE_C_DEFINED_glProgramEnvParameter4fvARB - void __stdcall GLee_Lazy_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) {if (GLeeInit()) glProgramEnvParameter4fvARB(target, index, params);} - GLEEPFNGLPROGRAMENVPARAMETER4FVARBPROC GLeeFuncPtr_glProgramEnvParameter4fvARB=GLee_Lazy_glProgramEnvParameter4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramLocalParameter4dARB -#define GLEE_C_DEFINED_glProgramLocalParameter4dARB - void __stdcall GLee_Lazy_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glProgramLocalParameter4dARB(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMLOCALPARAMETER4DARBPROC GLeeFuncPtr_glProgramLocalParameter4dARB=GLee_Lazy_glProgramLocalParameter4dARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramLocalParameter4dvARB -#define GLEE_C_DEFINED_glProgramLocalParameter4dvARB - void __stdcall GLee_Lazy_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble * params) {if (GLeeInit()) glProgramLocalParameter4dvARB(target, index, params);} - GLEEPFNGLPROGRAMLOCALPARAMETER4DVARBPROC GLeeFuncPtr_glProgramLocalParameter4dvARB=GLee_Lazy_glProgramLocalParameter4dvARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramLocalParameter4fARB -#define GLEE_C_DEFINED_glProgramLocalParameter4fARB - void __stdcall GLee_Lazy_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glProgramLocalParameter4fARB(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMLOCALPARAMETER4FARBPROC GLeeFuncPtr_glProgramLocalParameter4fARB=GLee_Lazy_glProgramLocalParameter4fARB; -#endif -#ifndef GLEE_C_DEFINED_glProgramLocalParameter4fvARB -#define GLEE_C_DEFINED_glProgramLocalParameter4fvARB - void __stdcall GLee_Lazy_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat * params) {if (GLeeInit()) glProgramLocalParameter4fvARB(target, index, params);} - GLEEPFNGLPROGRAMLOCALPARAMETER4FVARBPROC GLeeFuncPtr_glProgramLocalParameter4fvARB=GLee_Lazy_glProgramLocalParameter4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramEnvParameterdvARB -#define GLEE_C_DEFINED_glGetProgramEnvParameterdvARB - void __stdcall GLee_Lazy_glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble * params) {if (GLeeInit()) glGetProgramEnvParameterdvARB(target, index, params);} - GLEEPFNGLGETPROGRAMENVPARAMETERDVARBPROC GLeeFuncPtr_glGetProgramEnvParameterdvARB=GLee_Lazy_glGetProgramEnvParameterdvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramEnvParameterfvARB -#define GLEE_C_DEFINED_glGetProgramEnvParameterfvARB - void __stdcall GLee_Lazy_glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat * params) {if (GLeeInit()) glGetProgramEnvParameterfvARB(target, index, params);} - GLEEPFNGLGETPROGRAMENVPARAMETERFVARBPROC GLeeFuncPtr_glGetProgramEnvParameterfvARB=GLee_Lazy_glGetProgramEnvParameterfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramLocalParameterdvARB -#define GLEE_C_DEFINED_glGetProgramLocalParameterdvARB - void __stdcall GLee_Lazy_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble * params) {if (GLeeInit()) glGetProgramLocalParameterdvARB(target, index, params);} - GLEEPFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GLeeFuncPtr_glGetProgramLocalParameterdvARB=GLee_Lazy_glGetProgramLocalParameterdvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramLocalParameterfvARB -#define GLEE_C_DEFINED_glGetProgramLocalParameterfvARB - void __stdcall GLee_Lazy_glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat * params) {if (GLeeInit()) glGetProgramLocalParameterfvARB(target, index, params);} - GLEEPFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GLeeFuncPtr_glGetProgramLocalParameterfvARB=GLee_Lazy_glGetProgramLocalParameterfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramivARB -#define GLEE_C_DEFINED_glGetProgramivARB - void __stdcall GLee_Lazy_glGetProgramivARB(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetProgramivARB(target, pname, params);} - GLEEPFNGLGETPROGRAMIVARBPROC GLeeFuncPtr_glGetProgramivARB=GLee_Lazy_glGetProgramivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramStringARB -#define GLEE_C_DEFINED_glGetProgramStringARB - void __stdcall GLee_Lazy_glGetProgramStringARB(GLenum target, GLenum pname, GLvoid * string) {if (GLeeInit()) glGetProgramStringARB(target, pname, string);} - GLEEPFNGLGETPROGRAMSTRINGARBPROC GLeeFuncPtr_glGetProgramStringARB=GLee_Lazy_glGetProgramStringARB; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribdvARB -#define GLEE_C_DEFINED_glGetVertexAttribdvARB - void __stdcall GLee_Lazy_glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVertexAttribdvARB(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBDVARBPROC GLeeFuncPtr_glGetVertexAttribdvARB=GLee_Lazy_glGetVertexAttribdvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribfvARB -#define GLEE_C_DEFINED_glGetVertexAttribfvARB - void __stdcall GLee_Lazy_glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVertexAttribfvARB(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBFVARBPROC GLeeFuncPtr_glGetVertexAttribfvARB=GLee_Lazy_glGetVertexAttribfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribivARB -#define GLEE_C_DEFINED_glGetVertexAttribivARB - void __stdcall GLee_Lazy_glGetVertexAttribivARB(GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetVertexAttribivARB(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBIVARBPROC GLeeFuncPtr_glGetVertexAttribivARB=GLee_Lazy_glGetVertexAttribivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribPointervARB -#define GLEE_C_DEFINED_glGetVertexAttribPointervARB - void __stdcall GLee_Lazy_glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid* * pointer) {if (GLeeInit()) glGetVertexAttribPointervARB(index, pname, pointer);} - GLEEPFNGLGETVERTEXATTRIBPOINTERVARBPROC GLeeFuncPtr_glGetVertexAttribPointervARB=GLee_Lazy_glGetVertexAttribPointervARB; -#endif -#ifndef GLEE_C_DEFINED_glIsProgramARB -#define GLEE_C_DEFINED_glIsProgramARB - GLboolean __stdcall GLee_Lazy_glIsProgramARB(GLuint program) {if (GLeeInit()) return glIsProgramARB(program); return (GLboolean)0;} - GLEEPFNGLISPROGRAMARBPROC GLeeFuncPtr_glIsProgramARB=GLee_Lazy_glIsProgramARB; -#endif -#endif - -/* GL_ARB_fragment_program */ - -#ifdef __GLEE_GL_ARB_fragment_program -#endif - -/* GL_ARB_vertex_buffer_object */ - -#ifdef __GLEE_GL_ARB_vertex_buffer_object -#ifndef GLEE_C_DEFINED_glBindBufferARB -#define GLEE_C_DEFINED_glBindBufferARB - void __stdcall GLee_Lazy_glBindBufferARB(GLenum target, GLuint buffer) {if (GLeeInit()) glBindBufferARB(target, buffer);} - GLEEPFNGLBINDBUFFERARBPROC GLeeFuncPtr_glBindBufferARB=GLee_Lazy_glBindBufferARB; -#endif -#ifndef GLEE_C_DEFINED_glDeleteBuffersARB -#define GLEE_C_DEFINED_glDeleteBuffersARB - void __stdcall GLee_Lazy_glDeleteBuffersARB(GLsizei n, const GLuint * buffers) {if (GLeeInit()) glDeleteBuffersARB(n, buffers);} - GLEEPFNGLDELETEBUFFERSARBPROC GLeeFuncPtr_glDeleteBuffersARB=GLee_Lazy_glDeleteBuffersARB; -#endif -#ifndef GLEE_C_DEFINED_glGenBuffersARB -#define GLEE_C_DEFINED_glGenBuffersARB - void __stdcall GLee_Lazy_glGenBuffersARB(GLsizei n, GLuint * buffers) {if (GLeeInit()) glGenBuffersARB(n, buffers);} - GLEEPFNGLGENBUFFERSARBPROC GLeeFuncPtr_glGenBuffersARB=GLee_Lazy_glGenBuffersARB; -#endif -#ifndef GLEE_C_DEFINED_glIsBufferARB -#define GLEE_C_DEFINED_glIsBufferARB - GLboolean __stdcall GLee_Lazy_glIsBufferARB(GLuint buffer) {if (GLeeInit()) return glIsBufferARB(buffer); return (GLboolean)0;} - GLEEPFNGLISBUFFERARBPROC GLeeFuncPtr_glIsBufferARB=GLee_Lazy_glIsBufferARB; -#endif -#ifndef GLEE_C_DEFINED_glBufferDataARB -#define GLEE_C_DEFINED_glBufferDataARB - void __stdcall GLee_Lazy_glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage) {if (GLeeInit()) glBufferDataARB(target, size, data, usage);} - GLEEPFNGLBUFFERDATAARBPROC GLeeFuncPtr_glBufferDataARB=GLee_Lazy_glBufferDataARB; -#endif -#ifndef GLEE_C_DEFINED_glBufferSubDataARB -#define GLEE_C_DEFINED_glBufferSubDataARB - void __stdcall GLee_Lazy_glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data) {if (GLeeInit()) glBufferSubDataARB(target, offset, size, data);} - GLEEPFNGLBUFFERSUBDATAARBPROC GLeeFuncPtr_glBufferSubDataARB=GLee_Lazy_glBufferSubDataARB; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferSubDataARB -#define GLEE_C_DEFINED_glGetBufferSubDataARB - void __stdcall GLee_Lazy_glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data) {if (GLeeInit()) glGetBufferSubDataARB(target, offset, size, data);} - GLEEPFNGLGETBUFFERSUBDATAARBPROC GLeeFuncPtr_glGetBufferSubDataARB=GLee_Lazy_glGetBufferSubDataARB; -#endif -#ifndef GLEE_C_DEFINED_glMapBufferARB -#define GLEE_C_DEFINED_glMapBufferARB - GLvoid* __stdcall GLee_Lazy_glMapBufferARB(GLenum target, GLenum access) {if (GLeeInit()) return glMapBufferARB(target, access); return (GLvoid*)0;} - GLEEPFNGLMAPBUFFERARBPROC GLeeFuncPtr_glMapBufferARB=GLee_Lazy_glMapBufferARB; -#endif -#ifndef GLEE_C_DEFINED_glUnmapBufferARB -#define GLEE_C_DEFINED_glUnmapBufferARB - GLboolean __stdcall GLee_Lazy_glUnmapBufferARB(GLenum target) {if (GLeeInit()) return glUnmapBufferARB(target); return (GLboolean)0;} - GLEEPFNGLUNMAPBUFFERARBPROC GLeeFuncPtr_glUnmapBufferARB=GLee_Lazy_glUnmapBufferARB; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferParameterivARB -#define GLEE_C_DEFINED_glGetBufferParameterivARB - void __stdcall GLee_Lazy_glGetBufferParameterivARB(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetBufferParameterivARB(target, pname, params);} - GLEEPFNGLGETBUFFERPARAMETERIVARBPROC GLeeFuncPtr_glGetBufferParameterivARB=GLee_Lazy_glGetBufferParameterivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferPointervARB -#define GLEE_C_DEFINED_glGetBufferPointervARB - void __stdcall GLee_Lazy_glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid* * params) {if (GLeeInit()) glGetBufferPointervARB(target, pname, params);} - GLEEPFNGLGETBUFFERPOINTERVARBPROC GLeeFuncPtr_glGetBufferPointervARB=GLee_Lazy_glGetBufferPointervARB; -#endif -#endif - -/* GL_ARB_occlusion_query */ - -#ifdef __GLEE_GL_ARB_occlusion_query -#ifndef GLEE_C_DEFINED_glGenQueriesARB -#define GLEE_C_DEFINED_glGenQueriesARB - void __stdcall GLee_Lazy_glGenQueriesARB(GLsizei n, GLuint * ids) {if (GLeeInit()) glGenQueriesARB(n, ids);} - GLEEPFNGLGENQUERIESARBPROC GLeeFuncPtr_glGenQueriesARB=GLee_Lazy_glGenQueriesARB; -#endif -#ifndef GLEE_C_DEFINED_glDeleteQueriesARB -#define GLEE_C_DEFINED_glDeleteQueriesARB - void __stdcall GLee_Lazy_glDeleteQueriesARB(GLsizei n, const GLuint * ids) {if (GLeeInit()) glDeleteQueriesARB(n, ids);} - GLEEPFNGLDELETEQUERIESARBPROC GLeeFuncPtr_glDeleteQueriesARB=GLee_Lazy_glDeleteQueriesARB; -#endif -#ifndef GLEE_C_DEFINED_glIsQueryARB -#define GLEE_C_DEFINED_glIsQueryARB - GLboolean __stdcall GLee_Lazy_glIsQueryARB(GLuint id) {if (GLeeInit()) return glIsQueryARB(id); return (GLboolean)0;} - GLEEPFNGLISQUERYARBPROC GLeeFuncPtr_glIsQueryARB=GLee_Lazy_glIsQueryARB; -#endif -#ifndef GLEE_C_DEFINED_glBeginQueryARB -#define GLEE_C_DEFINED_glBeginQueryARB - void __stdcall GLee_Lazy_glBeginQueryARB(GLenum target, GLuint id) {if (GLeeInit()) glBeginQueryARB(target, id);} - GLEEPFNGLBEGINQUERYARBPROC GLeeFuncPtr_glBeginQueryARB=GLee_Lazy_glBeginQueryARB; -#endif -#ifndef GLEE_C_DEFINED_glEndQueryARB -#define GLEE_C_DEFINED_glEndQueryARB - void __stdcall GLee_Lazy_glEndQueryARB(GLenum target) {if (GLeeInit()) glEndQueryARB(target);} - GLEEPFNGLENDQUERYARBPROC GLeeFuncPtr_glEndQueryARB=GLee_Lazy_glEndQueryARB; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryivARB -#define GLEE_C_DEFINED_glGetQueryivARB - void __stdcall GLee_Lazy_glGetQueryivARB(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetQueryivARB(target, pname, params);} - GLEEPFNGLGETQUERYIVARBPROC GLeeFuncPtr_glGetQueryivARB=GLee_Lazy_glGetQueryivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectivARB -#define GLEE_C_DEFINED_glGetQueryObjectivARB - void __stdcall GLee_Lazy_glGetQueryObjectivARB(GLuint id, GLenum pname, GLint * params) {if (GLeeInit()) glGetQueryObjectivARB(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTIVARBPROC GLeeFuncPtr_glGetQueryObjectivARB=GLee_Lazy_glGetQueryObjectivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectuivARB -#define GLEE_C_DEFINED_glGetQueryObjectuivARB - void __stdcall GLee_Lazy_glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint * params) {if (GLeeInit()) glGetQueryObjectuivARB(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTUIVARBPROC GLeeFuncPtr_glGetQueryObjectuivARB=GLee_Lazy_glGetQueryObjectuivARB; -#endif -#endif - -/* GL_ARB_shader_objects */ - -#ifdef __GLEE_GL_ARB_shader_objects -#ifndef GLEE_C_DEFINED_glDeleteObjectARB -#define GLEE_C_DEFINED_glDeleteObjectARB - void __stdcall GLee_Lazy_glDeleteObjectARB(GLhandleARB obj) {if (GLeeInit()) glDeleteObjectARB(obj);} - GLEEPFNGLDELETEOBJECTARBPROC GLeeFuncPtr_glDeleteObjectARB=GLee_Lazy_glDeleteObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glGetHandleARB -#define GLEE_C_DEFINED_glGetHandleARB - GLhandleARB __stdcall GLee_Lazy_glGetHandleARB(GLenum pname) {if (GLeeInit()) return glGetHandleARB(pname); return (GLhandleARB)0;} - GLEEPFNGLGETHANDLEARBPROC GLeeFuncPtr_glGetHandleARB=GLee_Lazy_glGetHandleARB; -#endif -#ifndef GLEE_C_DEFINED_glDetachObjectARB -#define GLEE_C_DEFINED_glDetachObjectARB - void __stdcall GLee_Lazy_glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj) {if (GLeeInit()) glDetachObjectARB(containerObj, attachedObj);} - GLEEPFNGLDETACHOBJECTARBPROC GLeeFuncPtr_glDetachObjectARB=GLee_Lazy_glDetachObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glCreateShaderObjectARB -#define GLEE_C_DEFINED_glCreateShaderObjectARB - GLhandleARB __stdcall GLee_Lazy_glCreateShaderObjectARB(GLenum shaderType) {if (GLeeInit()) return glCreateShaderObjectARB(shaderType); return (GLhandleARB)0;} - GLEEPFNGLCREATESHADEROBJECTARBPROC GLeeFuncPtr_glCreateShaderObjectARB=GLee_Lazy_glCreateShaderObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glShaderSourceARB -#define GLEE_C_DEFINED_glShaderSourceARB - void __stdcall GLee_Lazy_glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB* * string, const GLint * length) {if (GLeeInit()) glShaderSourceARB(shaderObj, count, string, length);} - GLEEPFNGLSHADERSOURCEARBPROC GLeeFuncPtr_glShaderSourceARB=GLee_Lazy_glShaderSourceARB; -#endif -#ifndef GLEE_C_DEFINED_glCompileShaderARB -#define GLEE_C_DEFINED_glCompileShaderARB - void __stdcall GLee_Lazy_glCompileShaderARB(GLhandleARB shaderObj) {if (GLeeInit()) glCompileShaderARB(shaderObj);} - GLEEPFNGLCOMPILESHADERARBPROC GLeeFuncPtr_glCompileShaderARB=GLee_Lazy_glCompileShaderARB; -#endif -#ifndef GLEE_C_DEFINED_glCreateProgramObjectARB -#define GLEE_C_DEFINED_glCreateProgramObjectARB - GLhandleARB __stdcall GLee_Lazy_glCreateProgramObjectARB(void) {if (GLeeInit()) return glCreateProgramObjectARB(); return (GLhandleARB)0;} - GLEEPFNGLCREATEPROGRAMOBJECTARBPROC GLeeFuncPtr_glCreateProgramObjectARB=GLee_Lazy_glCreateProgramObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glAttachObjectARB -#define GLEE_C_DEFINED_glAttachObjectARB - void __stdcall GLee_Lazy_glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj) {if (GLeeInit()) glAttachObjectARB(containerObj, obj);} - GLEEPFNGLATTACHOBJECTARBPROC GLeeFuncPtr_glAttachObjectARB=GLee_Lazy_glAttachObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glLinkProgramARB -#define GLEE_C_DEFINED_glLinkProgramARB - void __stdcall GLee_Lazy_glLinkProgramARB(GLhandleARB programObj) {if (GLeeInit()) glLinkProgramARB(programObj);} - GLEEPFNGLLINKPROGRAMARBPROC GLeeFuncPtr_glLinkProgramARB=GLee_Lazy_glLinkProgramARB; -#endif -#ifndef GLEE_C_DEFINED_glUseProgramObjectARB -#define GLEE_C_DEFINED_glUseProgramObjectARB - void __stdcall GLee_Lazy_glUseProgramObjectARB(GLhandleARB programObj) {if (GLeeInit()) glUseProgramObjectARB(programObj);} - GLEEPFNGLUSEPROGRAMOBJECTARBPROC GLeeFuncPtr_glUseProgramObjectARB=GLee_Lazy_glUseProgramObjectARB; -#endif -#ifndef GLEE_C_DEFINED_glValidateProgramARB -#define GLEE_C_DEFINED_glValidateProgramARB - void __stdcall GLee_Lazy_glValidateProgramARB(GLhandleARB programObj) {if (GLeeInit()) glValidateProgramARB(programObj);} - GLEEPFNGLVALIDATEPROGRAMARBPROC GLeeFuncPtr_glValidateProgramARB=GLee_Lazy_glValidateProgramARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform1fARB -#define GLEE_C_DEFINED_glUniform1fARB - void __stdcall GLee_Lazy_glUniform1fARB(GLint location, GLfloat v0) {if (GLeeInit()) glUniform1fARB(location, v0);} - GLEEPFNGLUNIFORM1FARBPROC GLeeFuncPtr_glUniform1fARB=GLee_Lazy_glUniform1fARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform2fARB -#define GLEE_C_DEFINED_glUniform2fARB - void __stdcall GLee_Lazy_glUniform2fARB(GLint location, GLfloat v0, GLfloat v1) {if (GLeeInit()) glUniform2fARB(location, v0, v1);} - GLEEPFNGLUNIFORM2FARBPROC GLeeFuncPtr_glUniform2fARB=GLee_Lazy_glUniform2fARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform3fARB -#define GLEE_C_DEFINED_glUniform3fARB - void __stdcall GLee_Lazy_glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {if (GLeeInit()) glUniform3fARB(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3FARBPROC GLeeFuncPtr_glUniform3fARB=GLee_Lazy_glUniform3fARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform4fARB -#define GLEE_C_DEFINED_glUniform4fARB - void __stdcall GLee_Lazy_glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {if (GLeeInit()) glUniform4fARB(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4FARBPROC GLeeFuncPtr_glUniform4fARB=GLee_Lazy_glUniform4fARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform1iARB -#define GLEE_C_DEFINED_glUniform1iARB - void __stdcall GLee_Lazy_glUniform1iARB(GLint location, GLint v0) {if (GLeeInit()) glUniform1iARB(location, v0);} - GLEEPFNGLUNIFORM1IARBPROC GLeeFuncPtr_glUniform1iARB=GLee_Lazy_glUniform1iARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform2iARB -#define GLEE_C_DEFINED_glUniform2iARB - void __stdcall GLee_Lazy_glUniform2iARB(GLint location, GLint v0, GLint v1) {if (GLeeInit()) glUniform2iARB(location, v0, v1);} - GLEEPFNGLUNIFORM2IARBPROC GLeeFuncPtr_glUniform2iARB=GLee_Lazy_glUniform2iARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform3iARB -#define GLEE_C_DEFINED_glUniform3iARB - void __stdcall GLee_Lazy_glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2) {if (GLeeInit()) glUniform3iARB(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3IARBPROC GLeeFuncPtr_glUniform3iARB=GLee_Lazy_glUniform3iARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform4iARB -#define GLEE_C_DEFINED_glUniform4iARB - void __stdcall GLee_Lazy_glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {if (GLeeInit()) glUniform4iARB(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4IARBPROC GLeeFuncPtr_glUniform4iARB=GLee_Lazy_glUniform4iARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform1fvARB -#define GLEE_C_DEFINED_glUniform1fvARB - void __stdcall GLee_Lazy_glUniform1fvARB(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform1fvARB(location, count, value);} - GLEEPFNGLUNIFORM1FVARBPROC GLeeFuncPtr_glUniform1fvARB=GLee_Lazy_glUniform1fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform2fvARB -#define GLEE_C_DEFINED_glUniform2fvARB - void __stdcall GLee_Lazy_glUniform2fvARB(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform2fvARB(location, count, value);} - GLEEPFNGLUNIFORM2FVARBPROC GLeeFuncPtr_glUniform2fvARB=GLee_Lazy_glUniform2fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform3fvARB -#define GLEE_C_DEFINED_glUniform3fvARB - void __stdcall GLee_Lazy_glUniform3fvARB(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform3fvARB(location, count, value);} - GLEEPFNGLUNIFORM3FVARBPROC GLeeFuncPtr_glUniform3fvARB=GLee_Lazy_glUniform3fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform4fvARB -#define GLEE_C_DEFINED_glUniform4fvARB - void __stdcall GLee_Lazy_glUniform4fvARB(GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glUniform4fvARB(location, count, value);} - GLEEPFNGLUNIFORM4FVARBPROC GLeeFuncPtr_glUniform4fvARB=GLee_Lazy_glUniform4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform1ivARB -#define GLEE_C_DEFINED_glUniform1ivARB - void __stdcall GLee_Lazy_glUniform1ivARB(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform1ivARB(location, count, value);} - GLEEPFNGLUNIFORM1IVARBPROC GLeeFuncPtr_glUniform1ivARB=GLee_Lazy_glUniform1ivARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform2ivARB -#define GLEE_C_DEFINED_glUniform2ivARB - void __stdcall GLee_Lazy_glUniform2ivARB(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform2ivARB(location, count, value);} - GLEEPFNGLUNIFORM2IVARBPROC GLeeFuncPtr_glUniform2ivARB=GLee_Lazy_glUniform2ivARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform3ivARB -#define GLEE_C_DEFINED_glUniform3ivARB - void __stdcall GLee_Lazy_glUniform3ivARB(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform3ivARB(location, count, value);} - GLEEPFNGLUNIFORM3IVARBPROC GLeeFuncPtr_glUniform3ivARB=GLee_Lazy_glUniform3ivARB; -#endif -#ifndef GLEE_C_DEFINED_glUniform4ivARB -#define GLEE_C_DEFINED_glUniform4ivARB - void __stdcall GLee_Lazy_glUniform4ivARB(GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glUniform4ivARB(location, count, value);} - GLEEPFNGLUNIFORM4IVARBPROC GLeeFuncPtr_glUniform4ivARB=GLee_Lazy_glUniform4ivARB; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2fvARB -#define GLEE_C_DEFINED_glUniformMatrix2fvARB - void __stdcall GLee_Lazy_glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix2fvARB(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2FVARBPROC GLeeFuncPtr_glUniformMatrix2fvARB=GLee_Lazy_glUniformMatrix2fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3fvARB -#define GLEE_C_DEFINED_glUniformMatrix3fvARB - void __stdcall GLee_Lazy_glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix3fvARB(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3FVARBPROC GLeeFuncPtr_glUniformMatrix3fvARB=GLee_Lazy_glUniformMatrix3fvARB; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4fvARB -#define GLEE_C_DEFINED_glUniformMatrix4fvARB - void __stdcall GLee_Lazy_glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glUniformMatrix4fvARB(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4FVARBPROC GLeeFuncPtr_glUniformMatrix4fvARB=GLee_Lazy_glUniformMatrix4fvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectParameterfvARB -#define GLEE_C_DEFINED_glGetObjectParameterfvARB - void __stdcall GLee_Lazy_glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetObjectParameterfvARB(obj, pname, params);} - GLEEPFNGLGETOBJECTPARAMETERFVARBPROC GLeeFuncPtr_glGetObjectParameterfvARB=GLee_Lazy_glGetObjectParameterfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectParameterivARB -#define GLEE_C_DEFINED_glGetObjectParameterivARB - void __stdcall GLee_Lazy_glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint * params) {if (GLeeInit()) glGetObjectParameterivARB(obj, pname, params);} - GLEEPFNGLGETOBJECTPARAMETERIVARBPROC GLeeFuncPtr_glGetObjectParameterivARB=GLee_Lazy_glGetObjectParameterivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetInfoLogARB -#define GLEE_C_DEFINED_glGetInfoLogARB - void __stdcall GLee_Lazy_glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog) {if (GLeeInit()) glGetInfoLogARB(obj, maxLength, length, infoLog);} - GLEEPFNGLGETINFOLOGARBPROC GLeeFuncPtr_glGetInfoLogARB=GLee_Lazy_glGetInfoLogARB; -#endif -#ifndef GLEE_C_DEFINED_glGetAttachedObjectsARB -#define GLEE_C_DEFINED_glGetAttachedObjectsARB - void __stdcall GLee_Lazy_glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj) {if (GLeeInit()) glGetAttachedObjectsARB(containerObj, maxCount, count, obj);} - GLEEPFNGLGETATTACHEDOBJECTSARBPROC GLeeFuncPtr_glGetAttachedObjectsARB=GLee_Lazy_glGetAttachedObjectsARB; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformLocationARB -#define GLEE_C_DEFINED_glGetUniformLocationARB - GLint __stdcall GLee_Lazy_glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB * name) {if (GLeeInit()) return glGetUniformLocationARB(programObj, name); return (GLint)0;} - GLEEPFNGLGETUNIFORMLOCATIONARBPROC GLeeFuncPtr_glGetUniformLocationARB=GLee_Lazy_glGetUniformLocationARB; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniformARB -#define GLEE_C_DEFINED_glGetActiveUniformARB - void __stdcall GLee_Lazy_glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) {if (GLeeInit()) glGetActiveUniformARB(programObj, index, maxLength, length, size, type, name);} - GLEEPFNGLGETACTIVEUNIFORMARBPROC GLeeFuncPtr_glGetActiveUniformARB=GLee_Lazy_glGetActiveUniformARB; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformfvARB -#define GLEE_C_DEFINED_glGetUniformfvARB - void __stdcall GLee_Lazy_glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat * params) {if (GLeeInit()) glGetUniformfvARB(programObj, location, params);} - GLEEPFNGLGETUNIFORMFVARBPROC GLeeFuncPtr_glGetUniformfvARB=GLee_Lazy_glGetUniformfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformivARB -#define GLEE_C_DEFINED_glGetUniformivARB - void __stdcall GLee_Lazy_glGetUniformivARB(GLhandleARB programObj, GLint location, GLint * params) {if (GLeeInit()) glGetUniformivARB(programObj, location, params);} - GLEEPFNGLGETUNIFORMIVARBPROC GLeeFuncPtr_glGetUniformivARB=GLee_Lazy_glGetUniformivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetShaderSourceARB -#define GLEE_C_DEFINED_glGetShaderSourceARB - void __stdcall GLee_Lazy_glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source) {if (GLeeInit()) glGetShaderSourceARB(obj, maxLength, length, source);} - GLEEPFNGLGETSHADERSOURCEARBPROC GLeeFuncPtr_glGetShaderSourceARB=GLee_Lazy_glGetShaderSourceARB; -#endif -#endif - -/* GL_ARB_vertex_shader */ - -#ifdef __GLEE_GL_ARB_vertex_shader -#ifndef GLEE_C_DEFINED_glBindAttribLocationARB -#define GLEE_C_DEFINED_glBindAttribLocationARB - void __stdcall GLee_Lazy_glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB * name) {if (GLeeInit()) glBindAttribLocationARB(programObj, index, name);} - GLEEPFNGLBINDATTRIBLOCATIONARBPROC GLeeFuncPtr_glBindAttribLocationARB=GLee_Lazy_glBindAttribLocationARB; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveAttribARB -#define GLEE_C_DEFINED_glGetActiveAttribARB - void __stdcall GLee_Lazy_glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) {if (GLeeInit()) glGetActiveAttribARB(programObj, index, maxLength, length, size, type, name);} - GLEEPFNGLGETACTIVEATTRIBARBPROC GLeeFuncPtr_glGetActiveAttribARB=GLee_Lazy_glGetActiveAttribARB; -#endif -#ifndef GLEE_C_DEFINED_glGetAttribLocationARB -#define GLEE_C_DEFINED_glGetAttribLocationARB - GLint __stdcall GLee_Lazy_glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB * name) {if (GLeeInit()) return glGetAttribLocationARB(programObj, name); return (GLint)0;} - GLEEPFNGLGETATTRIBLOCATIONARBPROC GLeeFuncPtr_glGetAttribLocationARB=GLee_Lazy_glGetAttribLocationARB; -#endif -#endif - -/* GL_ARB_fragment_shader */ - -#ifdef __GLEE_GL_ARB_fragment_shader -#endif - -/* GL_ARB_shading_language_100 */ - -#ifdef __GLEE_GL_ARB_shading_language_100 -#endif - -/* GL_ARB_texture_non_power_of_two */ - -#ifdef __GLEE_GL_ARB_texture_non_power_of_two -#endif - -/* GL_ARB_point_sprite */ - -#ifdef __GLEE_GL_ARB_point_sprite -#endif - -/* GL_ARB_fragment_program_shadow */ - -#ifdef __GLEE_GL_ARB_fragment_program_shadow -#endif - -/* GL_ARB_draw_buffers */ - -#ifdef __GLEE_GL_ARB_draw_buffers -#ifndef GLEE_C_DEFINED_glDrawBuffersARB -#define GLEE_C_DEFINED_glDrawBuffersARB - void __stdcall GLee_Lazy_glDrawBuffersARB(GLsizei n, const GLenum * bufs) {if (GLeeInit()) glDrawBuffersARB(n, bufs);} - GLEEPFNGLDRAWBUFFERSARBPROC GLeeFuncPtr_glDrawBuffersARB=GLee_Lazy_glDrawBuffersARB; -#endif -#endif - -/* GL_ARB_texture_rectangle */ - -#ifdef __GLEE_GL_ARB_texture_rectangle -#endif - -/* GL_ARB_color_buffer_float */ - -#ifdef __GLEE_GL_ARB_color_buffer_float -#ifndef GLEE_C_DEFINED_glClampColorARB -#define GLEE_C_DEFINED_glClampColorARB - void __stdcall GLee_Lazy_glClampColorARB(GLenum target, GLenum clamp) {if (GLeeInit()) glClampColorARB(target, clamp);} - GLEEPFNGLCLAMPCOLORARBPROC GLeeFuncPtr_glClampColorARB=GLee_Lazy_glClampColorARB; -#endif -#endif - -/* GL_ARB_half_float_pixel */ - -#ifdef __GLEE_GL_ARB_half_float_pixel -#endif - -/* GL_ARB_texture_float */ - -#ifdef __GLEE_GL_ARB_texture_float -#endif - -/* GL_ARB_pixel_buffer_object */ - -#ifdef __GLEE_GL_ARB_pixel_buffer_object -#endif - -/* GL_ARB_depth_buffer_float */ - -#ifdef __GLEE_GL_ARB_depth_buffer_float -#endif - -/* GL_ARB_draw_instanced */ - -#ifdef __GLEE_GL_ARB_draw_instanced -#ifndef GLEE_C_DEFINED_glDrawArraysInstancedARB -#define GLEE_C_DEFINED_glDrawArraysInstancedARB - void __stdcall GLee_Lazy_glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount) {if (GLeeInit()) glDrawArraysInstancedARB(mode, first, count, primcount);} - GLEEPFNGLDRAWARRAYSINSTANCEDARBPROC GLeeFuncPtr_glDrawArraysInstancedARB=GLee_Lazy_glDrawArraysInstancedARB; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstancedARB -#define GLEE_C_DEFINED_glDrawElementsInstancedARB - void __stdcall GLee_Lazy_glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount) {if (GLeeInit()) glDrawElementsInstancedARB(mode, count, type, indices, primcount);} - GLEEPFNGLDRAWELEMENTSINSTANCEDARBPROC GLeeFuncPtr_glDrawElementsInstancedARB=GLee_Lazy_glDrawElementsInstancedARB; -#endif -#endif - -/* GL_ARB_framebuffer_object */ - -#ifdef __GLEE_GL_ARB_framebuffer_object -#ifndef GLEE_C_DEFINED_glIsRenderbuffer -#define GLEE_C_DEFINED_glIsRenderbuffer - GLboolean __stdcall GLee_Lazy_glIsRenderbuffer(GLuint renderbuffer) {if (GLeeInit()) return glIsRenderbuffer(renderbuffer); return (GLboolean)0;} - GLEEPFNGLISRENDERBUFFERPROC GLeeFuncPtr_glIsRenderbuffer=GLee_Lazy_glIsRenderbuffer; -#endif -#ifndef GLEE_C_DEFINED_glBindRenderbuffer -#define GLEE_C_DEFINED_glBindRenderbuffer - void __stdcall GLee_Lazy_glBindRenderbuffer(GLenum target, GLuint renderbuffer) {if (GLeeInit()) glBindRenderbuffer(target, renderbuffer);} - GLEEPFNGLBINDRENDERBUFFERPROC GLeeFuncPtr_glBindRenderbuffer=GLee_Lazy_glBindRenderbuffer; -#endif -#ifndef GLEE_C_DEFINED_glDeleteRenderbuffers -#define GLEE_C_DEFINED_glDeleteRenderbuffers - void __stdcall GLee_Lazy_glDeleteRenderbuffers(GLsizei n, const GLuint * renderbuffers) {if (GLeeInit()) glDeleteRenderbuffers(n, renderbuffers);} - GLEEPFNGLDELETERENDERBUFFERSPROC GLeeFuncPtr_glDeleteRenderbuffers=GLee_Lazy_glDeleteRenderbuffers; -#endif -#ifndef GLEE_C_DEFINED_glGenRenderbuffers -#define GLEE_C_DEFINED_glGenRenderbuffers - void __stdcall GLee_Lazy_glGenRenderbuffers(GLsizei n, GLuint * renderbuffers) {if (GLeeInit()) glGenRenderbuffers(n, renderbuffers);} - GLEEPFNGLGENRENDERBUFFERSPROC GLeeFuncPtr_glGenRenderbuffers=GLee_Lazy_glGenRenderbuffers; -#endif -#ifndef GLEE_C_DEFINED_glRenderbufferStorage -#define GLEE_C_DEFINED_glRenderbufferStorage - void __stdcall GLee_Lazy_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glRenderbufferStorage(target, internalformat, width, height);} - GLEEPFNGLRENDERBUFFERSTORAGEPROC GLeeFuncPtr_glRenderbufferStorage=GLee_Lazy_glRenderbufferStorage; -#endif -#ifndef GLEE_C_DEFINED_glGetRenderbufferParameteriv -#define GLEE_C_DEFINED_glGetRenderbufferParameteriv - void __stdcall GLee_Lazy_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetRenderbufferParameteriv(target, pname, params);} - GLEEPFNGLGETRENDERBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetRenderbufferParameteriv=GLee_Lazy_glGetRenderbufferParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glIsFramebuffer -#define GLEE_C_DEFINED_glIsFramebuffer - GLboolean __stdcall GLee_Lazy_glIsFramebuffer(GLuint framebuffer) {if (GLeeInit()) return glIsFramebuffer(framebuffer); return (GLboolean)0;} - GLEEPFNGLISFRAMEBUFFERPROC GLeeFuncPtr_glIsFramebuffer=GLee_Lazy_glIsFramebuffer; -#endif -#ifndef GLEE_C_DEFINED_glBindFramebuffer -#define GLEE_C_DEFINED_glBindFramebuffer - void __stdcall GLee_Lazy_glBindFramebuffer(GLenum target, GLuint framebuffer) {if (GLeeInit()) glBindFramebuffer(target, framebuffer);} - GLEEPFNGLBINDFRAMEBUFFERPROC GLeeFuncPtr_glBindFramebuffer=GLee_Lazy_glBindFramebuffer; -#endif -#ifndef GLEE_C_DEFINED_glDeleteFramebuffers -#define GLEE_C_DEFINED_glDeleteFramebuffers - void __stdcall GLee_Lazy_glDeleteFramebuffers(GLsizei n, const GLuint * framebuffers) {if (GLeeInit()) glDeleteFramebuffers(n, framebuffers);} - GLEEPFNGLDELETEFRAMEBUFFERSPROC GLeeFuncPtr_glDeleteFramebuffers=GLee_Lazy_glDeleteFramebuffers; -#endif -#ifndef GLEE_C_DEFINED_glGenFramebuffers -#define GLEE_C_DEFINED_glGenFramebuffers - void __stdcall GLee_Lazy_glGenFramebuffers(GLsizei n, GLuint * framebuffers) {if (GLeeInit()) glGenFramebuffers(n, framebuffers);} - GLEEPFNGLGENFRAMEBUFFERSPROC GLeeFuncPtr_glGenFramebuffers=GLee_Lazy_glGenFramebuffers; -#endif -#ifndef GLEE_C_DEFINED_glCheckFramebufferStatus -#define GLEE_C_DEFINED_glCheckFramebufferStatus - GLenum __stdcall GLee_Lazy_glCheckFramebufferStatus(GLenum target) {if (GLeeInit()) return glCheckFramebufferStatus(target); return (GLenum)0;} - GLEEPFNGLCHECKFRAMEBUFFERSTATUSPROC GLeeFuncPtr_glCheckFramebufferStatus=GLee_Lazy_glCheckFramebufferStatus; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture1D -#define GLEE_C_DEFINED_glFramebufferTexture1D - void __stdcall GLee_Lazy_glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTexture1D(target, attachment, textarget, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTURE1DPROC GLeeFuncPtr_glFramebufferTexture1D=GLee_Lazy_glFramebufferTexture1D; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture2D -#define GLEE_C_DEFINED_glFramebufferTexture2D - void __stdcall GLee_Lazy_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTexture2D(target, attachment, textarget, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTURE2DPROC GLeeFuncPtr_glFramebufferTexture2D=GLee_Lazy_glFramebufferTexture2D; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture3D -#define GLEE_C_DEFINED_glFramebufferTexture3D - void __stdcall GLee_Lazy_glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {if (GLeeInit()) glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);} - GLEEPFNGLFRAMEBUFFERTEXTURE3DPROC GLeeFuncPtr_glFramebufferTexture3D=GLee_Lazy_glFramebufferTexture3D; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferRenderbuffer -#define GLEE_C_DEFINED_glFramebufferRenderbuffer - void __stdcall GLee_Lazy_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {if (GLeeInit()) glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);} - GLEEPFNGLFRAMEBUFFERRENDERBUFFERPROC GLeeFuncPtr_glFramebufferRenderbuffer=GLee_Lazy_glFramebufferRenderbuffer; -#endif -#ifndef GLEE_C_DEFINED_glGetFramebufferAttachmentParameteriv -#define GLEE_C_DEFINED_glGetFramebufferAttachmentParameteriv - void __stdcall GLee_Lazy_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint * params) {if (GLeeInit()) glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);} - GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GLeeFuncPtr_glGetFramebufferAttachmentParameteriv=GLee_Lazy_glGetFramebufferAttachmentParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glGenerateMipmap -#define GLEE_C_DEFINED_glGenerateMipmap - void __stdcall GLee_Lazy_glGenerateMipmap(GLenum target) {if (GLeeInit()) glGenerateMipmap(target);} - GLEEPFNGLGENERATEMIPMAPPROC GLeeFuncPtr_glGenerateMipmap=GLee_Lazy_glGenerateMipmap; -#endif -#ifndef GLEE_C_DEFINED_glBlitFramebuffer -#define GLEE_C_DEFINED_glBlitFramebuffer - void __stdcall GLee_Lazy_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {if (GLeeInit()) glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);} - GLEEPFNGLBLITFRAMEBUFFERPROC GLeeFuncPtr_glBlitFramebuffer=GLee_Lazy_glBlitFramebuffer; -#endif -#ifndef GLEE_C_DEFINED_glRenderbufferStorageMultisample -#define GLEE_C_DEFINED_glRenderbufferStorageMultisample - void __stdcall GLee_Lazy_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glRenderbufferStorageMultisample(target, samples, internalformat, width, height);} - GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC GLeeFuncPtr_glRenderbufferStorageMultisample=GLee_Lazy_glRenderbufferStorageMultisample; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTextureLayer -#define GLEE_C_DEFINED_glFramebufferTextureLayer - void __stdcall GLee_Lazy_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) {if (GLeeInit()) glFramebufferTextureLayer(target, attachment, texture, level, layer);} - GLEEPFNGLFRAMEBUFFERTEXTURELAYERPROC GLeeFuncPtr_glFramebufferTextureLayer=GLee_Lazy_glFramebufferTextureLayer; -#endif -#endif - -/* GL_ARB_framebuffer_sRGB */ - -#ifdef __GLEE_GL_ARB_framebuffer_sRGB -#endif - -/* GL_ARB_geometry_shader4 */ - -#ifdef __GLEE_GL_ARB_geometry_shader4 -#ifndef GLEE_C_DEFINED_glProgramParameteriARB -#define GLEE_C_DEFINED_glProgramParameteriARB - void __stdcall GLee_Lazy_glProgramParameteriARB(GLuint program, GLenum pname, GLint value) {if (GLeeInit()) glProgramParameteriARB(program, pname, value);} - GLEEPFNGLPROGRAMPARAMETERIARBPROC GLeeFuncPtr_glProgramParameteriARB=GLee_Lazy_glProgramParameteriARB; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTextureARB -#define GLEE_C_DEFINED_glFramebufferTextureARB - void __stdcall GLee_Lazy_glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTextureARB(target, attachment, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTUREARBPROC GLeeFuncPtr_glFramebufferTextureARB=GLee_Lazy_glFramebufferTextureARB; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTextureLayerARB -#define GLEE_C_DEFINED_glFramebufferTextureLayerARB - void __stdcall GLee_Lazy_glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) {if (GLeeInit()) glFramebufferTextureLayerARB(target, attachment, texture, level, layer);} - GLEEPFNGLFRAMEBUFFERTEXTURELAYERARBPROC GLeeFuncPtr_glFramebufferTextureLayerARB=GLee_Lazy_glFramebufferTextureLayerARB; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTextureFaceARB -#define GLEE_C_DEFINED_glFramebufferTextureFaceARB - void __stdcall GLee_Lazy_glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) {if (GLeeInit()) glFramebufferTextureFaceARB(target, attachment, texture, level, face);} - GLEEPFNGLFRAMEBUFFERTEXTUREFACEARBPROC GLeeFuncPtr_glFramebufferTextureFaceARB=GLee_Lazy_glFramebufferTextureFaceARB; -#endif -#endif - -/* GL_ARB_half_float_vertex */ - -#ifdef __GLEE_GL_ARB_half_float_vertex -#endif - -/* GL_ARB_instanced_arrays */ - -#ifdef __GLEE_GL_ARB_instanced_arrays -#ifndef GLEE_C_DEFINED_glVertexAttribDivisorARB -#define GLEE_C_DEFINED_glVertexAttribDivisorARB - void __stdcall GLee_Lazy_glVertexAttribDivisorARB(GLuint index, GLuint divisor) {if (GLeeInit()) glVertexAttribDivisorARB(index, divisor);} - GLEEPFNGLVERTEXATTRIBDIVISORARBPROC GLeeFuncPtr_glVertexAttribDivisorARB=GLee_Lazy_glVertexAttribDivisorARB; -#endif -#endif - -/* GL_ARB_map_buffer_range */ - -#ifdef __GLEE_GL_ARB_map_buffer_range -#ifndef GLEE_C_DEFINED_glMapBufferRange -#define GLEE_C_DEFINED_glMapBufferRange - GLvoid* __stdcall GLee_Lazy_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) {if (GLeeInit()) return glMapBufferRange(target, offset, length, access); return (GLvoid*)0;} - GLEEPFNGLMAPBUFFERRANGEPROC GLeeFuncPtr_glMapBufferRange=GLee_Lazy_glMapBufferRange; -#endif -#ifndef GLEE_C_DEFINED_glFlushMappedBufferRange -#define GLEE_C_DEFINED_glFlushMappedBufferRange - void __stdcall GLee_Lazy_glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) {if (GLeeInit()) glFlushMappedBufferRange(target, offset, length);} - GLEEPFNGLFLUSHMAPPEDBUFFERRANGEPROC GLeeFuncPtr_glFlushMappedBufferRange=GLee_Lazy_glFlushMappedBufferRange; -#endif -#endif - -/* GL_ARB_texture_buffer_object */ - -#ifdef __GLEE_GL_ARB_texture_buffer_object -#ifndef GLEE_C_DEFINED_glTexBufferARB -#define GLEE_C_DEFINED_glTexBufferARB - void __stdcall GLee_Lazy_glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer) {if (GLeeInit()) glTexBufferARB(target, internalformat, buffer);} - GLEEPFNGLTEXBUFFERARBPROC GLeeFuncPtr_glTexBufferARB=GLee_Lazy_glTexBufferARB; -#endif -#endif - -/* GL_ARB_texture_compression_rgtc */ - -#ifdef __GLEE_GL_ARB_texture_compression_rgtc -#endif - -/* GL_ARB_texture_rg */ - -#ifdef __GLEE_GL_ARB_texture_rg -#endif - -/* GL_ARB_vertex_array_object */ - -#ifdef __GLEE_GL_ARB_vertex_array_object -#ifndef GLEE_C_DEFINED_glBindVertexArray -#define GLEE_C_DEFINED_glBindVertexArray - void __stdcall GLee_Lazy_glBindVertexArray(GLuint array) {if (GLeeInit()) glBindVertexArray(array);} - GLEEPFNGLBINDVERTEXARRAYPROC GLeeFuncPtr_glBindVertexArray=GLee_Lazy_glBindVertexArray; -#endif -#ifndef GLEE_C_DEFINED_glDeleteVertexArrays -#define GLEE_C_DEFINED_glDeleteVertexArrays - void __stdcall GLee_Lazy_glDeleteVertexArrays(GLsizei n, const GLuint * arrays) {if (GLeeInit()) glDeleteVertexArrays(n, arrays);} - GLEEPFNGLDELETEVERTEXARRAYSPROC GLeeFuncPtr_glDeleteVertexArrays=GLee_Lazy_glDeleteVertexArrays; -#endif -#ifndef GLEE_C_DEFINED_glGenVertexArrays -#define GLEE_C_DEFINED_glGenVertexArrays - void __stdcall GLee_Lazy_glGenVertexArrays(GLsizei n, GLuint * arrays) {if (GLeeInit()) glGenVertexArrays(n, arrays);} - GLEEPFNGLGENVERTEXARRAYSPROC GLeeFuncPtr_glGenVertexArrays=GLee_Lazy_glGenVertexArrays; -#endif -#ifndef GLEE_C_DEFINED_glIsVertexArray -#define GLEE_C_DEFINED_glIsVertexArray - GLboolean __stdcall GLee_Lazy_glIsVertexArray(GLuint array) {if (GLeeInit()) return glIsVertexArray(array); return (GLboolean)0;} - GLEEPFNGLISVERTEXARRAYPROC GLeeFuncPtr_glIsVertexArray=GLee_Lazy_glIsVertexArray; -#endif -#endif - -/* GL_ARB_uniform_buffer_object */ - -#ifdef __GLEE_GL_ARB_uniform_buffer_object -#ifndef GLEE_C_DEFINED_glGetUniformIndices -#define GLEE_C_DEFINED_glGetUniformIndices - void __stdcall GLee_Lazy_glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const * uniformNames, GLuint * uniformIndices) {if (GLeeInit()) glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);} - GLEEPFNGLGETUNIFORMINDICESPROC GLeeFuncPtr_glGetUniformIndices=GLee_Lazy_glGetUniformIndices; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniformsiv -#define GLEE_C_DEFINED_glGetActiveUniformsiv - void __stdcall GLee_Lazy_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params) {if (GLeeInit()) glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);} - GLEEPFNGLGETACTIVEUNIFORMSIVPROC GLeeFuncPtr_glGetActiveUniformsiv=GLee_Lazy_glGetActiveUniformsiv; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniformName -#define GLEE_C_DEFINED_glGetActiveUniformName - void __stdcall GLee_Lazy_glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName) {if (GLeeInit()) glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);} - GLEEPFNGLGETACTIVEUNIFORMNAMEPROC GLeeFuncPtr_glGetActiveUniformName=GLee_Lazy_glGetActiveUniformName; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformBlockIndex -#define GLEE_C_DEFINED_glGetUniformBlockIndex - GLuint __stdcall GLee_Lazy_glGetUniformBlockIndex(GLuint program, const GLchar * uniformBlockName) {if (GLeeInit()) return glGetUniformBlockIndex(program, uniformBlockName); return (GLuint)0;} - GLEEPFNGLGETUNIFORMBLOCKINDEXPROC GLeeFuncPtr_glGetUniformBlockIndex=GLee_Lazy_glGetUniformBlockIndex; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniformBlockiv -#define GLEE_C_DEFINED_glGetActiveUniformBlockiv - void __stdcall GLee_Lazy_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params) {if (GLeeInit()) glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);} - GLEEPFNGLGETACTIVEUNIFORMBLOCKIVPROC GLeeFuncPtr_glGetActiveUniformBlockiv=GLee_Lazy_glGetActiveUniformBlockiv; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveUniformBlockName -#define GLEE_C_DEFINED_glGetActiveUniformBlockName - void __stdcall GLee_Lazy_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName) {if (GLeeInit()) glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);} - GLEEPFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GLeeFuncPtr_glGetActiveUniformBlockName=GLee_Lazy_glGetActiveUniformBlockName; -#endif -#ifndef GLEE_C_DEFINED_glUniformBlockBinding -#define GLEE_C_DEFINED_glUniformBlockBinding - void __stdcall GLee_Lazy_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) {if (GLeeInit()) glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);} - GLEEPFNGLUNIFORMBLOCKBINDINGPROC GLeeFuncPtr_glUniformBlockBinding=GLee_Lazy_glUniformBlockBinding; -#endif -#endif - -/* GL_ARB_compatibility */ - -#ifdef __GLEE_GL_ARB_compatibility -#endif - -/* GL_ARB_copy_buffer */ - -#ifdef __GLEE_GL_ARB_copy_buffer -#ifndef GLEE_C_DEFINED_glCopyBufferSubData -#define GLEE_C_DEFINED_glCopyBufferSubData - void __stdcall GLee_Lazy_glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) {if (GLeeInit()) glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);} - GLEEPFNGLCOPYBUFFERSUBDATAPROC GLeeFuncPtr_glCopyBufferSubData=GLee_Lazy_glCopyBufferSubData; -#endif -#endif - -/* GL_ARB_shader_texture_lod */ - -#ifdef __GLEE_GL_ARB_shader_texture_lod -#endif - -/* GL_ARB_depth_clamp */ - -#ifdef __GLEE_GL_ARB_depth_clamp -#endif - -/* GL_ARB_draw_elements_base_vertex */ - -#ifdef __GLEE_GL_ARB_draw_elements_base_vertex -#ifndef GLEE_C_DEFINED_glDrawElementsBaseVertex -#define GLEE_C_DEFINED_glDrawElementsBaseVertex - void __stdcall GLee_Lazy_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex) {if (GLeeInit()) glDrawElementsBaseVertex(mode, count, type, indices, basevertex);} - GLEEPFNGLDRAWELEMENTSBASEVERTEXPROC GLeeFuncPtr_glDrawElementsBaseVertex=GLee_Lazy_glDrawElementsBaseVertex; -#endif -#ifndef GLEE_C_DEFINED_glDrawRangeElementsBaseVertex -#define GLEE_C_DEFINED_glDrawRangeElementsBaseVertex - void __stdcall GLee_Lazy_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex) {if (GLeeInit()) glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);} - GLEEPFNGLDRAWRANGEELEMENTSBASEVERTEXPROC GLeeFuncPtr_glDrawRangeElementsBaseVertex=GLee_Lazy_glDrawRangeElementsBaseVertex; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstancedBaseVertex -#define GLEE_C_DEFINED_glDrawElementsInstancedBaseVertex - void __stdcall GLee_Lazy_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount, GLint basevertex) {if (GLeeInit()) glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);} - GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC GLeeFuncPtr_glDrawElementsInstancedBaseVertex=GLee_Lazy_glDrawElementsInstancedBaseVertex; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElementsBaseVertex -#define GLEE_C_DEFINED_glMultiDrawElementsBaseVertex - void __stdcall GLee_Lazy_glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei drawcount, const GLint * basevertex) {if (GLeeInit()) glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);} - GLEEPFNGLMULTIDRAWELEMENTSBASEVERTEXPROC GLeeFuncPtr_glMultiDrawElementsBaseVertex=GLee_Lazy_glMultiDrawElementsBaseVertex; -#endif -#endif - -/* GL_ARB_fragment_coord_conventions */ - -#ifdef __GLEE_GL_ARB_fragment_coord_conventions -#endif - -/* GL_ARB_provoking_vertex */ - -#ifdef __GLEE_GL_ARB_provoking_vertex -#ifndef GLEE_C_DEFINED_glProvokingVertex -#define GLEE_C_DEFINED_glProvokingVertex - void __stdcall GLee_Lazy_glProvokingVertex(GLenum mode) {if (GLeeInit()) glProvokingVertex(mode);} - GLEEPFNGLPROVOKINGVERTEXPROC GLeeFuncPtr_glProvokingVertex=GLee_Lazy_glProvokingVertex; -#endif -#endif - -/* GL_ARB_seamless_cube_map */ - -#ifdef __GLEE_GL_ARB_seamless_cube_map -#endif - -/* GL_ARB_sync */ - -#ifdef __GLEE_GL_ARB_sync -#ifndef GLEE_C_DEFINED_glFenceSync -#define GLEE_C_DEFINED_glFenceSync - GLsync __stdcall GLee_Lazy_glFenceSync(GLenum condition, GLbitfield flags) {if (GLeeInit()) return glFenceSync(condition, flags); return (GLsync)0;} - GLEEPFNGLFENCESYNCPROC GLeeFuncPtr_glFenceSync=GLee_Lazy_glFenceSync; -#endif -#ifndef GLEE_C_DEFINED_glIsSync -#define GLEE_C_DEFINED_glIsSync - GLboolean __stdcall GLee_Lazy_glIsSync(GLsync sync) {if (GLeeInit()) return glIsSync(sync); return (GLboolean)0;} - GLEEPFNGLISSYNCPROC GLeeFuncPtr_glIsSync=GLee_Lazy_glIsSync; -#endif -#ifndef GLEE_C_DEFINED_glDeleteSync -#define GLEE_C_DEFINED_glDeleteSync - void __stdcall GLee_Lazy_glDeleteSync(GLsync sync) {if (GLeeInit()) glDeleteSync(sync);} - GLEEPFNGLDELETESYNCPROC GLeeFuncPtr_glDeleteSync=GLee_Lazy_glDeleteSync; -#endif -#ifndef GLEE_C_DEFINED_glClientWaitSync -#define GLEE_C_DEFINED_glClientWaitSync - GLenum __stdcall GLee_Lazy_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) {if (GLeeInit()) return glClientWaitSync(sync, flags, timeout); return (GLenum)0;} - GLEEPFNGLCLIENTWAITSYNCPROC GLeeFuncPtr_glClientWaitSync=GLee_Lazy_glClientWaitSync; -#endif -#ifndef GLEE_C_DEFINED_glWaitSync -#define GLEE_C_DEFINED_glWaitSync - void __stdcall GLee_Lazy_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) {if (GLeeInit()) glWaitSync(sync, flags, timeout);} - GLEEPFNGLWAITSYNCPROC GLeeFuncPtr_glWaitSync=GLee_Lazy_glWaitSync; -#endif -#ifndef GLEE_C_DEFINED_glGetInteger64v -#define GLEE_C_DEFINED_glGetInteger64v - void __stdcall GLee_Lazy_glGetInteger64v(GLenum pname, GLint64 * params) {if (GLeeInit()) glGetInteger64v(pname, params);} - GLEEPFNGLGETINTEGER64VPROC GLeeFuncPtr_glGetInteger64v=GLee_Lazy_glGetInteger64v; -#endif -#ifndef GLEE_C_DEFINED_glGetSynciv -#define GLEE_C_DEFINED_glGetSynciv - void __stdcall GLee_Lazy_glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values) {if (GLeeInit()) glGetSynciv(sync, pname, bufSize, length, values);} - GLEEPFNGLGETSYNCIVPROC GLeeFuncPtr_glGetSynciv=GLee_Lazy_glGetSynciv; -#endif -#endif - -/* GL_ARB_texture_multisample */ - -#ifdef __GLEE_GL_ARB_texture_multisample -#ifndef GLEE_C_DEFINED_glTexImage2DMultisample -#define GLEE_C_DEFINED_glTexImage2DMultisample - void __stdcall GLee_Lazy_glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) {if (GLeeInit()) glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);} - GLEEPFNGLTEXIMAGE2DMULTISAMPLEPROC GLeeFuncPtr_glTexImage2DMultisample=GLee_Lazy_glTexImage2DMultisample; -#endif -#ifndef GLEE_C_DEFINED_glTexImage3DMultisample -#define GLEE_C_DEFINED_glTexImage3DMultisample - void __stdcall GLee_Lazy_glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) {if (GLeeInit()) glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);} - GLEEPFNGLTEXIMAGE3DMULTISAMPLEPROC GLeeFuncPtr_glTexImage3DMultisample=GLee_Lazy_glTexImage3DMultisample; -#endif -#ifndef GLEE_C_DEFINED_glGetMultisamplefv -#define GLEE_C_DEFINED_glGetMultisamplefv - void __stdcall GLee_Lazy_glGetMultisamplefv(GLenum pname, GLuint index, GLfloat * val) {if (GLeeInit()) glGetMultisamplefv(pname, index, val);} - GLEEPFNGLGETMULTISAMPLEFVPROC GLeeFuncPtr_glGetMultisamplefv=GLee_Lazy_glGetMultisamplefv; -#endif -#ifndef GLEE_C_DEFINED_glSampleMaski -#define GLEE_C_DEFINED_glSampleMaski - void __stdcall GLee_Lazy_glSampleMaski(GLuint index, GLbitfield mask) {if (GLeeInit()) glSampleMaski(index, mask);} - GLEEPFNGLSAMPLEMASKIPROC GLeeFuncPtr_glSampleMaski=GLee_Lazy_glSampleMaski; -#endif -#endif - -/* GL_ARB_vertex_array_bgra */ - -#ifdef __GLEE_GL_ARB_vertex_array_bgra -#endif - -/* GL_ARB_draw_buffers_blend */ - -#ifdef __GLEE_GL_ARB_draw_buffers_blend -#ifndef GLEE_C_DEFINED_glBlendEquationiARB -#define GLEE_C_DEFINED_glBlendEquationiARB - void __stdcall GLee_Lazy_glBlendEquationiARB(GLuint buf, GLenum mode) {if (GLeeInit()) glBlendEquationiARB(buf, mode);} - GLEEPFNGLBLENDEQUATIONIARBPROC GLeeFuncPtr_glBlendEquationiARB=GLee_Lazy_glBlendEquationiARB; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquationSeparateiARB -#define GLEE_C_DEFINED_glBlendEquationSeparateiARB - void __stdcall GLee_Lazy_glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha) {if (GLeeInit()) glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha);} - GLEEPFNGLBLENDEQUATIONSEPARATEIARBPROC GLeeFuncPtr_glBlendEquationSeparateiARB=GLee_Lazy_glBlendEquationSeparateiARB; -#endif -#ifndef GLEE_C_DEFINED_glBlendFunciARB -#define GLEE_C_DEFINED_glBlendFunciARB - void __stdcall GLee_Lazy_glBlendFunciARB(GLuint buf, GLenum src, GLenum dst) {if (GLeeInit()) glBlendFunciARB(buf, src, dst);} - GLEEPFNGLBLENDFUNCIARBPROC GLeeFuncPtr_glBlendFunciARB=GLee_Lazy_glBlendFunciARB; -#endif -#ifndef GLEE_C_DEFINED_glBlendFuncSeparateiARB -#define GLEE_C_DEFINED_glBlendFuncSeparateiARB - void __stdcall GLee_Lazy_glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {if (GLeeInit()) glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEIARBPROC GLeeFuncPtr_glBlendFuncSeparateiARB=GLee_Lazy_glBlendFuncSeparateiARB; -#endif -#endif - -/* GL_ARB_sample_shading */ - -#ifdef __GLEE_GL_ARB_sample_shading -#ifndef GLEE_C_DEFINED_glMinSampleShadingARB -#define GLEE_C_DEFINED_glMinSampleShadingARB - void __stdcall GLee_Lazy_glMinSampleShadingARB(GLfloat value) {if (GLeeInit()) glMinSampleShadingARB(value);} - GLEEPFNGLMINSAMPLESHADINGARBPROC GLeeFuncPtr_glMinSampleShadingARB=GLee_Lazy_glMinSampleShadingARB; -#endif -#endif - -/* GL_ARB_texture_cube_map_array */ - -#ifdef __GLEE_GL_ARB_texture_cube_map_array -#endif - -/* GL_ARB_texture_gather */ - -#ifdef __GLEE_GL_ARB_texture_gather -#endif - -/* GL_ARB_texture_query_lod */ - -#ifdef __GLEE_GL_ARB_texture_query_lod -#endif - -/* GL_ARB_shading_language_include */ - -#ifdef __GLEE_GL_ARB_shading_language_include -#ifndef GLEE_C_DEFINED_glNamedStringARB -#define GLEE_C_DEFINED_glNamedStringARB - void __stdcall GLee_Lazy_glNamedStringARB(GLenum type, GLint namelen, const GLchar * name, GLint stringlen, const GLchar * string) {if (GLeeInit()) glNamedStringARB(type, namelen, name, stringlen, string);} - GLEEPFNGLNAMEDSTRINGARBPROC GLeeFuncPtr_glNamedStringARB=GLee_Lazy_glNamedStringARB; -#endif -#ifndef GLEE_C_DEFINED_glDeleteNamedStringARB -#define GLEE_C_DEFINED_glDeleteNamedStringARB - void __stdcall GLee_Lazy_glDeleteNamedStringARB(GLint namelen, const GLchar * name) {if (GLeeInit()) glDeleteNamedStringARB(namelen, name);} - GLEEPFNGLDELETENAMEDSTRINGARBPROC GLeeFuncPtr_glDeleteNamedStringARB=GLee_Lazy_glDeleteNamedStringARB; -#endif -#ifndef GLEE_C_DEFINED_glCompileShaderIncludeARB -#define GLEE_C_DEFINED_glCompileShaderIncludeARB - void __stdcall GLee_Lazy_glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar* * path, const GLint * length) {if (GLeeInit()) glCompileShaderIncludeARB(shader, count, path, length);} - GLEEPFNGLCOMPILESHADERINCLUDEARBPROC GLeeFuncPtr_glCompileShaderIncludeARB=GLee_Lazy_glCompileShaderIncludeARB; -#endif -#ifndef GLEE_C_DEFINED_glIsNamedStringARB -#define GLEE_C_DEFINED_glIsNamedStringARB - GLboolean __stdcall GLee_Lazy_glIsNamedStringARB(GLint namelen, const GLchar * name) {if (GLeeInit()) return glIsNamedStringARB(namelen, name); return (GLboolean)0;} - GLEEPFNGLISNAMEDSTRINGARBPROC GLeeFuncPtr_glIsNamedStringARB=GLee_Lazy_glIsNamedStringARB; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedStringARB -#define GLEE_C_DEFINED_glGetNamedStringARB - void __stdcall GLee_Lazy_glGetNamedStringARB(GLint namelen, const GLchar * name, GLsizei bufSize, GLint * stringlen, GLchar * string) {if (GLeeInit()) glGetNamedStringARB(namelen, name, bufSize, stringlen, string);} - GLEEPFNGLGETNAMEDSTRINGARBPROC GLeeFuncPtr_glGetNamedStringARB=GLee_Lazy_glGetNamedStringARB; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedStringivARB -#define GLEE_C_DEFINED_glGetNamedStringivARB - void __stdcall GLee_Lazy_glGetNamedStringivARB(GLint namelen, const GLchar * name, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedStringivARB(namelen, name, pname, params);} - GLEEPFNGLGETNAMEDSTRINGIVARBPROC GLeeFuncPtr_glGetNamedStringivARB=GLee_Lazy_glGetNamedStringivARB; -#endif -#endif - -/* GL_ARB_texture_compression_bptc */ - -#ifdef __GLEE_GL_ARB_texture_compression_bptc -#endif - -/* GL_ARB_blend_func_extended */ - -#ifdef __GLEE_GL_ARB_blend_func_extended -#ifndef GLEE_C_DEFINED_glBindFragDataLocationIndexed -#define GLEE_C_DEFINED_glBindFragDataLocationIndexed - void __stdcall GLee_Lazy_glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name) {if (GLeeInit()) glBindFragDataLocationIndexed(program, colorNumber, index, name);} - GLEEPFNGLBINDFRAGDATALOCATIONINDEXEDPROC GLeeFuncPtr_glBindFragDataLocationIndexed=GLee_Lazy_glBindFragDataLocationIndexed; -#endif -#ifndef GLEE_C_DEFINED_glGetFragDataIndex -#define GLEE_C_DEFINED_glGetFragDataIndex - GLint __stdcall GLee_Lazy_glGetFragDataIndex(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetFragDataIndex(program, name); return (GLint)0;} - GLEEPFNGLGETFRAGDATAINDEXPROC GLeeFuncPtr_glGetFragDataIndex=GLee_Lazy_glGetFragDataIndex; -#endif -#endif - -/* GL_ARB_explicit_attrib_location */ - -#ifdef __GLEE_GL_ARB_explicit_attrib_location -#endif - -/* GL_ARB_occlusion_query2 */ - -#ifdef __GLEE_GL_ARB_occlusion_query2 -#endif - -/* GL_ARB_sampler_objects */ - -#ifdef __GLEE_GL_ARB_sampler_objects -#ifndef GLEE_C_DEFINED_glGenSamplers -#define GLEE_C_DEFINED_glGenSamplers - void __stdcall GLee_Lazy_glGenSamplers(GLsizei count, GLuint * samplers) {if (GLeeInit()) glGenSamplers(count, samplers);} - GLEEPFNGLGENSAMPLERSPROC GLeeFuncPtr_glGenSamplers=GLee_Lazy_glGenSamplers; -#endif -#ifndef GLEE_C_DEFINED_glDeleteSamplers -#define GLEE_C_DEFINED_glDeleteSamplers - void __stdcall GLee_Lazy_glDeleteSamplers(GLsizei count, const GLuint * samplers) {if (GLeeInit()) glDeleteSamplers(count, samplers);} - GLEEPFNGLDELETESAMPLERSPROC GLeeFuncPtr_glDeleteSamplers=GLee_Lazy_glDeleteSamplers; -#endif -#ifndef GLEE_C_DEFINED_glIsSampler -#define GLEE_C_DEFINED_glIsSampler - GLboolean __stdcall GLee_Lazy_glIsSampler(GLuint sampler) {if (GLeeInit()) return glIsSampler(sampler); return (GLboolean)0;} - GLEEPFNGLISSAMPLERPROC GLeeFuncPtr_glIsSampler=GLee_Lazy_glIsSampler; -#endif -#ifndef GLEE_C_DEFINED_glBindSampler -#define GLEE_C_DEFINED_glBindSampler - void __stdcall GLee_Lazy_glBindSampler(GLuint unit, GLuint sampler) {if (GLeeInit()) glBindSampler(unit, sampler);} - GLEEPFNGLBINDSAMPLERPROC GLeeFuncPtr_glBindSampler=GLee_Lazy_glBindSampler; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameteri -#define GLEE_C_DEFINED_glSamplerParameteri - void __stdcall GLee_Lazy_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) {if (GLeeInit()) glSamplerParameteri(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERIPROC GLeeFuncPtr_glSamplerParameteri=GLee_Lazy_glSamplerParameteri; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameteriv -#define GLEE_C_DEFINED_glSamplerParameteriv - void __stdcall GLee_Lazy_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * param) {if (GLeeInit()) glSamplerParameteriv(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERIVPROC GLeeFuncPtr_glSamplerParameteriv=GLee_Lazy_glSamplerParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameterf -#define GLEE_C_DEFINED_glSamplerParameterf - void __stdcall GLee_Lazy_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) {if (GLeeInit()) glSamplerParameterf(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERFPROC GLeeFuncPtr_glSamplerParameterf=GLee_Lazy_glSamplerParameterf; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameterfv -#define GLEE_C_DEFINED_glSamplerParameterfv - void __stdcall GLee_Lazy_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * param) {if (GLeeInit()) glSamplerParameterfv(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERFVPROC GLeeFuncPtr_glSamplerParameterfv=GLee_Lazy_glSamplerParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameterIiv -#define GLEE_C_DEFINED_glSamplerParameterIiv - void __stdcall GLee_Lazy_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint * param) {if (GLeeInit()) glSamplerParameterIiv(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERIIVPROC GLeeFuncPtr_glSamplerParameterIiv=GLee_Lazy_glSamplerParameterIiv; -#endif -#ifndef GLEE_C_DEFINED_glSamplerParameterIuiv -#define GLEE_C_DEFINED_glSamplerParameterIuiv - void __stdcall GLee_Lazy_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint * param) {if (GLeeInit()) glSamplerParameterIuiv(sampler, pname, param);} - GLEEPFNGLSAMPLERPARAMETERIUIVPROC GLeeFuncPtr_glSamplerParameterIuiv=GLee_Lazy_glSamplerParameterIuiv; -#endif -#ifndef GLEE_C_DEFINED_glGetSamplerParameteriv -#define GLEE_C_DEFINED_glGetSamplerParameteriv - void __stdcall GLee_Lazy_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint * params) {if (GLeeInit()) glGetSamplerParameteriv(sampler, pname, params);} - GLEEPFNGLGETSAMPLERPARAMETERIVPROC GLeeFuncPtr_glGetSamplerParameteriv=GLee_Lazy_glGetSamplerParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glGetSamplerParameterIiv -#define GLEE_C_DEFINED_glGetSamplerParameterIiv - void __stdcall GLee_Lazy_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint * params) {if (GLeeInit()) glGetSamplerParameterIiv(sampler, pname, params);} - GLEEPFNGLGETSAMPLERPARAMETERIIVPROC GLeeFuncPtr_glGetSamplerParameterIiv=GLee_Lazy_glGetSamplerParameterIiv; -#endif -#ifndef GLEE_C_DEFINED_glGetSamplerParameterfv -#define GLEE_C_DEFINED_glGetSamplerParameterfv - void __stdcall GLee_Lazy_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetSamplerParameterfv(sampler, pname, params);} - GLEEPFNGLGETSAMPLERPARAMETERFVPROC GLeeFuncPtr_glGetSamplerParameterfv=GLee_Lazy_glGetSamplerParameterfv; -#endif -#ifndef GLEE_C_DEFINED_glGetSamplerParameterIuiv -#define GLEE_C_DEFINED_glGetSamplerParameterIuiv - void __stdcall GLee_Lazy_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint * params) {if (GLeeInit()) glGetSamplerParameterIuiv(sampler, pname, params);} - GLEEPFNGLGETSAMPLERPARAMETERIUIVPROC GLeeFuncPtr_glGetSamplerParameterIuiv=GLee_Lazy_glGetSamplerParameterIuiv; -#endif -#endif - -/* GL_ARB_shader_bit_encoding */ - -#ifdef __GLEE_GL_ARB_shader_bit_encoding -#endif - -/* GL_ARB_texture_rgb10_a2ui */ - -#ifdef __GLEE_GL_ARB_texture_rgb10_a2ui -#endif - -/* GL_ARB_texture_swizzle */ - -#ifdef __GLEE_GL_ARB_texture_swizzle -#endif - -/* GL_ARB_timer_query */ - -#ifdef __GLEE_GL_ARB_timer_query -#ifndef GLEE_C_DEFINED_glQueryCounter -#define GLEE_C_DEFINED_glQueryCounter - void __stdcall GLee_Lazy_glQueryCounter(GLuint id, GLenum target) {if (GLeeInit()) glQueryCounter(id, target);} - GLEEPFNGLQUERYCOUNTERPROC GLeeFuncPtr_glQueryCounter=GLee_Lazy_glQueryCounter; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjecti64v -#define GLEE_C_DEFINED_glGetQueryObjecti64v - void __stdcall GLee_Lazy_glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 * params) {if (GLeeInit()) glGetQueryObjecti64v(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTI64VPROC GLeeFuncPtr_glGetQueryObjecti64v=GLee_Lazy_glGetQueryObjecti64v; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectui64v -#define GLEE_C_DEFINED_glGetQueryObjectui64v - void __stdcall GLee_Lazy_glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 * params) {if (GLeeInit()) glGetQueryObjectui64v(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTUI64VPROC GLeeFuncPtr_glGetQueryObjectui64v=GLee_Lazy_glGetQueryObjectui64v; -#endif -#endif - -/* GL_ARB_vertex_type_2_10_10_10_rev */ - -#ifdef __GLEE_GL_ARB_vertex_type_2_10_10_10_rev -#ifndef GLEE_C_DEFINED_glVertexP2ui -#define GLEE_C_DEFINED_glVertexP2ui - void __stdcall GLee_Lazy_glVertexP2ui(GLenum type, GLuint value) {if (GLeeInit()) glVertexP2ui(type, value);} - GLEEPFNGLVERTEXP2UIPROC GLeeFuncPtr_glVertexP2ui=GLee_Lazy_glVertexP2ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexP2uiv -#define GLEE_C_DEFINED_glVertexP2uiv - void __stdcall GLee_Lazy_glVertexP2uiv(GLenum type, const GLuint * value) {if (GLeeInit()) glVertexP2uiv(type, value);} - GLEEPFNGLVERTEXP2UIVPROC GLeeFuncPtr_glVertexP2uiv=GLee_Lazy_glVertexP2uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexP3ui -#define GLEE_C_DEFINED_glVertexP3ui - void __stdcall GLee_Lazy_glVertexP3ui(GLenum type, GLuint value) {if (GLeeInit()) glVertexP3ui(type, value);} - GLEEPFNGLVERTEXP3UIPROC GLeeFuncPtr_glVertexP3ui=GLee_Lazy_glVertexP3ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexP3uiv -#define GLEE_C_DEFINED_glVertexP3uiv - void __stdcall GLee_Lazy_glVertexP3uiv(GLenum type, const GLuint * value) {if (GLeeInit()) glVertexP3uiv(type, value);} - GLEEPFNGLVERTEXP3UIVPROC GLeeFuncPtr_glVertexP3uiv=GLee_Lazy_glVertexP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexP4ui -#define GLEE_C_DEFINED_glVertexP4ui - void __stdcall GLee_Lazy_glVertexP4ui(GLenum type, GLuint value) {if (GLeeInit()) glVertexP4ui(type, value);} - GLEEPFNGLVERTEXP4UIPROC GLeeFuncPtr_glVertexP4ui=GLee_Lazy_glVertexP4ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexP4uiv -#define GLEE_C_DEFINED_glVertexP4uiv - void __stdcall GLee_Lazy_glVertexP4uiv(GLenum type, const GLuint * value) {if (GLeeInit()) glVertexP4uiv(type, value);} - GLEEPFNGLVERTEXP4UIVPROC GLeeFuncPtr_glVertexP4uiv=GLee_Lazy_glVertexP4uiv; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP1ui -#define GLEE_C_DEFINED_glTexCoordP1ui - void __stdcall GLee_Lazy_glTexCoordP1ui(GLenum type, GLuint coords) {if (GLeeInit()) glTexCoordP1ui(type, coords);} - GLEEPFNGLTEXCOORDP1UIPROC GLeeFuncPtr_glTexCoordP1ui=GLee_Lazy_glTexCoordP1ui; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP1uiv -#define GLEE_C_DEFINED_glTexCoordP1uiv - void __stdcall GLee_Lazy_glTexCoordP1uiv(GLenum type, const GLuint * coords) {if (GLeeInit()) glTexCoordP1uiv(type, coords);} - GLEEPFNGLTEXCOORDP1UIVPROC GLeeFuncPtr_glTexCoordP1uiv=GLee_Lazy_glTexCoordP1uiv; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP2ui -#define GLEE_C_DEFINED_glTexCoordP2ui - void __stdcall GLee_Lazy_glTexCoordP2ui(GLenum type, GLuint coords) {if (GLeeInit()) glTexCoordP2ui(type, coords);} - GLEEPFNGLTEXCOORDP2UIPROC GLeeFuncPtr_glTexCoordP2ui=GLee_Lazy_glTexCoordP2ui; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP2uiv -#define GLEE_C_DEFINED_glTexCoordP2uiv - void __stdcall GLee_Lazy_glTexCoordP2uiv(GLenum type, const GLuint * coords) {if (GLeeInit()) glTexCoordP2uiv(type, coords);} - GLEEPFNGLTEXCOORDP2UIVPROC GLeeFuncPtr_glTexCoordP2uiv=GLee_Lazy_glTexCoordP2uiv; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP3ui -#define GLEE_C_DEFINED_glTexCoordP3ui - void __stdcall GLee_Lazy_glTexCoordP3ui(GLenum type, GLuint coords) {if (GLeeInit()) glTexCoordP3ui(type, coords);} - GLEEPFNGLTEXCOORDP3UIPROC GLeeFuncPtr_glTexCoordP3ui=GLee_Lazy_glTexCoordP3ui; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP3uiv -#define GLEE_C_DEFINED_glTexCoordP3uiv - void __stdcall GLee_Lazy_glTexCoordP3uiv(GLenum type, const GLuint * coords) {if (GLeeInit()) glTexCoordP3uiv(type, coords);} - GLEEPFNGLTEXCOORDP3UIVPROC GLeeFuncPtr_glTexCoordP3uiv=GLee_Lazy_glTexCoordP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP4ui -#define GLEE_C_DEFINED_glTexCoordP4ui - void __stdcall GLee_Lazy_glTexCoordP4ui(GLenum type, GLuint coords) {if (GLeeInit()) glTexCoordP4ui(type, coords);} - GLEEPFNGLTEXCOORDP4UIPROC GLeeFuncPtr_glTexCoordP4ui=GLee_Lazy_glTexCoordP4ui; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordP4uiv -#define GLEE_C_DEFINED_glTexCoordP4uiv - void __stdcall GLee_Lazy_glTexCoordP4uiv(GLenum type, const GLuint * coords) {if (GLeeInit()) glTexCoordP4uiv(type, coords);} - GLEEPFNGLTEXCOORDP4UIVPROC GLeeFuncPtr_glTexCoordP4uiv=GLee_Lazy_glTexCoordP4uiv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP1ui -#define GLEE_C_DEFINED_glMultiTexCoordP1ui - void __stdcall GLee_Lazy_glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) {if (GLeeInit()) glMultiTexCoordP1ui(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP1UIPROC GLeeFuncPtr_glMultiTexCoordP1ui=GLee_Lazy_glMultiTexCoordP1ui; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP1uiv -#define GLEE_C_DEFINED_glMultiTexCoordP1uiv - void __stdcall GLee_Lazy_glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint * coords) {if (GLeeInit()) glMultiTexCoordP1uiv(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP1UIVPROC GLeeFuncPtr_glMultiTexCoordP1uiv=GLee_Lazy_glMultiTexCoordP1uiv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP2ui -#define GLEE_C_DEFINED_glMultiTexCoordP2ui - void __stdcall GLee_Lazy_glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) {if (GLeeInit()) glMultiTexCoordP2ui(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP2UIPROC GLeeFuncPtr_glMultiTexCoordP2ui=GLee_Lazy_glMultiTexCoordP2ui; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP2uiv -#define GLEE_C_DEFINED_glMultiTexCoordP2uiv - void __stdcall GLee_Lazy_glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint * coords) {if (GLeeInit()) glMultiTexCoordP2uiv(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP2UIVPROC GLeeFuncPtr_glMultiTexCoordP2uiv=GLee_Lazy_glMultiTexCoordP2uiv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP3ui -#define GLEE_C_DEFINED_glMultiTexCoordP3ui - void __stdcall GLee_Lazy_glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) {if (GLeeInit()) glMultiTexCoordP3ui(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP3UIPROC GLeeFuncPtr_glMultiTexCoordP3ui=GLee_Lazy_glMultiTexCoordP3ui; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP3uiv -#define GLEE_C_DEFINED_glMultiTexCoordP3uiv - void __stdcall GLee_Lazy_glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint * coords) {if (GLeeInit()) glMultiTexCoordP3uiv(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP3UIVPROC GLeeFuncPtr_glMultiTexCoordP3uiv=GLee_Lazy_glMultiTexCoordP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP4ui -#define GLEE_C_DEFINED_glMultiTexCoordP4ui - void __stdcall GLee_Lazy_glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) {if (GLeeInit()) glMultiTexCoordP4ui(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP4UIPROC GLeeFuncPtr_glMultiTexCoordP4ui=GLee_Lazy_glMultiTexCoordP4ui; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordP4uiv -#define GLEE_C_DEFINED_glMultiTexCoordP4uiv - void __stdcall GLee_Lazy_glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint * coords) {if (GLeeInit()) glMultiTexCoordP4uiv(texture, type, coords);} - GLEEPFNGLMULTITEXCOORDP4UIVPROC GLeeFuncPtr_glMultiTexCoordP4uiv=GLee_Lazy_glMultiTexCoordP4uiv; -#endif -#ifndef GLEE_C_DEFINED_glNormalP3ui -#define GLEE_C_DEFINED_glNormalP3ui - void __stdcall GLee_Lazy_glNormalP3ui(GLenum type, GLuint coords) {if (GLeeInit()) glNormalP3ui(type, coords);} - GLEEPFNGLNORMALP3UIPROC GLeeFuncPtr_glNormalP3ui=GLee_Lazy_glNormalP3ui; -#endif -#ifndef GLEE_C_DEFINED_glNormalP3uiv -#define GLEE_C_DEFINED_glNormalP3uiv - void __stdcall GLee_Lazy_glNormalP3uiv(GLenum type, const GLuint * coords) {if (GLeeInit()) glNormalP3uiv(type, coords);} - GLEEPFNGLNORMALP3UIVPROC GLeeFuncPtr_glNormalP3uiv=GLee_Lazy_glNormalP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glColorP3ui -#define GLEE_C_DEFINED_glColorP3ui - void __stdcall GLee_Lazy_glColorP3ui(GLenum type, GLuint color) {if (GLeeInit()) glColorP3ui(type, color);} - GLEEPFNGLCOLORP3UIPROC GLeeFuncPtr_glColorP3ui=GLee_Lazy_glColorP3ui; -#endif -#ifndef GLEE_C_DEFINED_glColorP3uiv -#define GLEE_C_DEFINED_glColorP3uiv - void __stdcall GLee_Lazy_glColorP3uiv(GLenum type, const GLuint * color) {if (GLeeInit()) glColorP3uiv(type, color);} - GLEEPFNGLCOLORP3UIVPROC GLeeFuncPtr_glColorP3uiv=GLee_Lazy_glColorP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glColorP4ui -#define GLEE_C_DEFINED_glColorP4ui - void __stdcall GLee_Lazy_glColorP4ui(GLenum type, GLuint color) {if (GLeeInit()) glColorP4ui(type, color);} - GLEEPFNGLCOLORP4UIPROC GLeeFuncPtr_glColorP4ui=GLee_Lazy_glColorP4ui; -#endif -#ifndef GLEE_C_DEFINED_glColorP4uiv -#define GLEE_C_DEFINED_glColorP4uiv - void __stdcall GLee_Lazy_glColorP4uiv(GLenum type, const GLuint * color) {if (GLeeInit()) glColorP4uiv(type, color);} - GLEEPFNGLCOLORP4UIVPROC GLeeFuncPtr_glColorP4uiv=GLee_Lazy_glColorP4uiv; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorP3ui -#define GLEE_C_DEFINED_glSecondaryColorP3ui - void __stdcall GLee_Lazy_glSecondaryColorP3ui(GLenum type, GLuint color) {if (GLeeInit()) glSecondaryColorP3ui(type, color);} - GLEEPFNGLSECONDARYCOLORP3UIPROC GLeeFuncPtr_glSecondaryColorP3ui=GLee_Lazy_glSecondaryColorP3ui; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorP3uiv -#define GLEE_C_DEFINED_glSecondaryColorP3uiv - void __stdcall GLee_Lazy_glSecondaryColorP3uiv(GLenum type, const GLuint * color) {if (GLeeInit()) glSecondaryColorP3uiv(type, color);} - GLEEPFNGLSECONDARYCOLORP3UIVPROC GLeeFuncPtr_glSecondaryColorP3uiv=GLee_Lazy_glSecondaryColorP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP1ui -#define GLEE_C_DEFINED_glVertexAttribP1ui - void __stdcall GLee_Lazy_glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) {if (GLeeInit()) glVertexAttribP1ui(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP1UIPROC GLeeFuncPtr_glVertexAttribP1ui=GLee_Lazy_glVertexAttribP1ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP1uiv -#define GLEE_C_DEFINED_glVertexAttribP1uiv - void __stdcall GLee_Lazy_glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) {if (GLeeInit()) glVertexAttribP1uiv(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP1UIVPROC GLeeFuncPtr_glVertexAttribP1uiv=GLee_Lazy_glVertexAttribP1uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP2ui -#define GLEE_C_DEFINED_glVertexAttribP2ui - void __stdcall GLee_Lazy_glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) {if (GLeeInit()) glVertexAttribP2ui(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP2UIPROC GLeeFuncPtr_glVertexAttribP2ui=GLee_Lazy_glVertexAttribP2ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP2uiv -#define GLEE_C_DEFINED_glVertexAttribP2uiv - void __stdcall GLee_Lazy_glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) {if (GLeeInit()) glVertexAttribP2uiv(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP2UIVPROC GLeeFuncPtr_glVertexAttribP2uiv=GLee_Lazy_glVertexAttribP2uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP3ui -#define GLEE_C_DEFINED_glVertexAttribP3ui - void __stdcall GLee_Lazy_glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) {if (GLeeInit()) glVertexAttribP3ui(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP3UIPROC GLeeFuncPtr_glVertexAttribP3ui=GLee_Lazy_glVertexAttribP3ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP3uiv -#define GLEE_C_DEFINED_glVertexAttribP3uiv - void __stdcall GLee_Lazy_glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) {if (GLeeInit()) glVertexAttribP3uiv(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP3UIVPROC GLeeFuncPtr_glVertexAttribP3uiv=GLee_Lazy_glVertexAttribP3uiv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP4ui -#define GLEE_C_DEFINED_glVertexAttribP4ui - void __stdcall GLee_Lazy_glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) {if (GLeeInit()) glVertexAttribP4ui(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP4UIPROC GLeeFuncPtr_glVertexAttribP4ui=GLee_Lazy_glVertexAttribP4ui; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribP4uiv -#define GLEE_C_DEFINED_glVertexAttribP4uiv - void __stdcall GLee_Lazy_glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint * value) {if (GLeeInit()) glVertexAttribP4uiv(index, type, normalized, value);} - GLEEPFNGLVERTEXATTRIBP4UIVPROC GLeeFuncPtr_glVertexAttribP4uiv=GLee_Lazy_glVertexAttribP4uiv; -#endif -#endif - -/* GL_ARB_draw_indirect */ - -#ifdef __GLEE_GL_ARB_draw_indirect -#ifndef GLEE_C_DEFINED_glDrawArraysIndirect -#define GLEE_C_DEFINED_glDrawArraysIndirect - void __stdcall GLee_Lazy_glDrawArraysIndirect(GLenum mode, const GLvoid * indirect) {if (GLeeInit()) glDrawArraysIndirect(mode, indirect);} - GLEEPFNGLDRAWARRAYSINDIRECTPROC GLeeFuncPtr_glDrawArraysIndirect=GLee_Lazy_glDrawArraysIndirect; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsIndirect -#define GLEE_C_DEFINED_glDrawElementsIndirect - void __stdcall GLee_Lazy_glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid * indirect) {if (GLeeInit()) glDrawElementsIndirect(mode, type, indirect);} - GLEEPFNGLDRAWELEMENTSINDIRECTPROC GLeeFuncPtr_glDrawElementsIndirect=GLee_Lazy_glDrawElementsIndirect; -#endif -#endif - -/* GL_ARB_gpu_shader5 */ - -#ifdef __GLEE_GL_ARB_gpu_shader5 -#endif - -/* GL_ARB_gpu_shader_fp64 */ - -#ifdef __GLEE_GL_ARB_gpu_shader_fp64 -#ifndef GLEE_C_DEFINED_glUniform1d -#define GLEE_C_DEFINED_glUniform1d - void __stdcall GLee_Lazy_glUniform1d(GLint location, GLdouble x) {if (GLeeInit()) glUniform1d(location, x);} - GLEEPFNGLUNIFORM1DPROC GLeeFuncPtr_glUniform1d=GLee_Lazy_glUniform1d; -#endif -#ifndef GLEE_C_DEFINED_glUniform2d -#define GLEE_C_DEFINED_glUniform2d - void __stdcall GLee_Lazy_glUniform2d(GLint location, GLdouble x, GLdouble y) {if (GLeeInit()) glUniform2d(location, x, y);} - GLEEPFNGLUNIFORM2DPROC GLeeFuncPtr_glUniform2d=GLee_Lazy_glUniform2d; -#endif -#ifndef GLEE_C_DEFINED_glUniform3d -#define GLEE_C_DEFINED_glUniform3d - void __stdcall GLee_Lazy_glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glUniform3d(location, x, y, z);} - GLEEPFNGLUNIFORM3DPROC GLeeFuncPtr_glUniform3d=GLee_Lazy_glUniform3d; -#endif -#ifndef GLEE_C_DEFINED_glUniform4d -#define GLEE_C_DEFINED_glUniform4d - void __stdcall GLee_Lazy_glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glUniform4d(location, x, y, z, w);} - GLEEPFNGLUNIFORM4DPROC GLeeFuncPtr_glUniform4d=GLee_Lazy_glUniform4d; -#endif -#ifndef GLEE_C_DEFINED_glUniform1dv -#define GLEE_C_DEFINED_glUniform1dv - void __stdcall GLee_Lazy_glUniform1dv(GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glUniform1dv(location, count, value);} - GLEEPFNGLUNIFORM1DVPROC GLeeFuncPtr_glUniform1dv=GLee_Lazy_glUniform1dv; -#endif -#ifndef GLEE_C_DEFINED_glUniform2dv -#define GLEE_C_DEFINED_glUniform2dv - void __stdcall GLee_Lazy_glUniform2dv(GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glUniform2dv(location, count, value);} - GLEEPFNGLUNIFORM2DVPROC GLeeFuncPtr_glUniform2dv=GLee_Lazy_glUniform2dv; -#endif -#ifndef GLEE_C_DEFINED_glUniform3dv -#define GLEE_C_DEFINED_glUniform3dv - void __stdcall GLee_Lazy_glUniform3dv(GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glUniform3dv(location, count, value);} - GLEEPFNGLUNIFORM3DVPROC GLeeFuncPtr_glUniform3dv=GLee_Lazy_glUniform3dv; -#endif -#ifndef GLEE_C_DEFINED_glUniform4dv -#define GLEE_C_DEFINED_glUniform4dv - void __stdcall GLee_Lazy_glUniform4dv(GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glUniform4dv(location, count, value);} - GLEEPFNGLUNIFORM4DVPROC GLeeFuncPtr_glUniform4dv=GLee_Lazy_glUniform4dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2dv -#define GLEE_C_DEFINED_glUniformMatrix2dv - void __stdcall GLee_Lazy_glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix2dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2DVPROC GLeeFuncPtr_glUniformMatrix2dv=GLee_Lazy_glUniformMatrix2dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3dv -#define GLEE_C_DEFINED_glUniformMatrix3dv - void __stdcall GLee_Lazy_glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix3dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3DVPROC GLeeFuncPtr_glUniformMatrix3dv=GLee_Lazy_glUniformMatrix3dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4dv -#define GLEE_C_DEFINED_glUniformMatrix4dv - void __stdcall GLee_Lazy_glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix4dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4DVPROC GLeeFuncPtr_glUniformMatrix4dv=GLee_Lazy_glUniformMatrix4dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2x3dv -#define GLEE_C_DEFINED_glUniformMatrix2x3dv - void __stdcall GLee_Lazy_glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix2x3dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2X3DVPROC GLeeFuncPtr_glUniformMatrix2x3dv=GLee_Lazy_glUniformMatrix2x3dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix2x4dv -#define GLEE_C_DEFINED_glUniformMatrix2x4dv - void __stdcall GLee_Lazy_glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix2x4dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX2X4DVPROC GLeeFuncPtr_glUniformMatrix2x4dv=GLee_Lazy_glUniformMatrix2x4dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3x2dv -#define GLEE_C_DEFINED_glUniformMatrix3x2dv - void __stdcall GLee_Lazy_glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix3x2dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3X2DVPROC GLeeFuncPtr_glUniformMatrix3x2dv=GLee_Lazy_glUniformMatrix3x2dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix3x4dv -#define GLEE_C_DEFINED_glUniformMatrix3x4dv - void __stdcall GLee_Lazy_glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix3x4dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX3X4DVPROC GLeeFuncPtr_glUniformMatrix3x4dv=GLee_Lazy_glUniformMatrix3x4dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4x2dv -#define GLEE_C_DEFINED_glUniformMatrix4x2dv - void __stdcall GLee_Lazy_glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix4x2dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4X2DVPROC GLeeFuncPtr_glUniformMatrix4x2dv=GLee_Lazy_glUniformMatrix4x2dv; -#endif -#ifndef GLEE_C_DEFINED_glUniformMatrix4x3dv -#define GLEE_C_DEFINED_glUniformMatrix4x3dv - void __stdcall GLee_Lazy_glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glUniformMatrix4x3dv(location, count, transpose, value);} - GLEEPFNGLUNIFORMMATRIX4X3DVPROC GLeeFuncPtr_glUniformMatrix4x3dv=GLee_Lazy_glUniformMatrix4x3dv; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformdv -#define GLEE_C_DEFINED_glGetUniformdv - void __stdcall GLee_Lazy_glGetUniformdv(GLuint program, GLint location, GLdouble * params) {if (GLeeInit()) glGetUniformdv(program, location, params);} - GLEEPFNGLGETUNIFORMDVPROC GLeeFuncPtr_glGetUniformdv=GLee_Lazy_glGetUniformdv; -#endif -#endif - -/* GL_ARB_shader_subroutine */ - -#ifdef __GLEE_GL_ARB_shader_subroutine -#ifndef GLEE_C_DEFINED_glGetSubroutineUniformLocation -#define GLEE_C_DEFINED_glGetSubroutineUniformLocation - GLint __stdcall GLee_Lazy_glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar * name) {if (GLeeInit()) return glGetSubroutineUniformLocation(program, shadertype, name); return (GLint)0;} - GLEEPFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GLeeFuncPtr_glGetSubroutineUniformLocation=GLee_Lazy_glGetSubroutineUniformLocation; -#endif -#ifndef GLEE_C_DEFINED_glGetSubroutineIndex -#define GLEE_C_DEFINED_glGetSubroutineIndex - GLuint __stdcall GLee_Lazy_glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar * name) {if (GLeeInit()) return glGetSubroutineIndex(program, shadertype, name); return (GLuint)0;} - GLEEPFNGLGETSUBROUTINEINDEXPROC GLeeFuncPtr_glGetSubroutineIndex=GLee_Lazy_glGetSubroutineIndex; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveSubroutineUniformiv -#define GLEE_C_DEFINED_glGetActiveSubroutineUniformiv - void __stdcall GLee_Lazy_glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values) {if (GLeeInit()) glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values);} - GLEEPFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GLeeFuncPtr_glGetActiveSubroutineUniformiv=GLee_Lazy_glGetActiveSubroutineUniformiv; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveSubroutineUniformName -#define GLEE_C_DEFINED_glGetActiveSubroutineUniformName - void __stdcall GLee_Lazy_glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name) {if (GLeeInit()) glGetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);} - GLEEPFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GLeeFuncPtr_glGetActiveSubroutineUniformName=GLee_Lazy_glGetActiveSubroutineUniformName; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveSubroutineName -#define GLEE_C_DEFINED_glGetActiveSubroutineName - void __stdcall GLee_Lazy_glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name) {if (GLeeInit()) glGetActiveSubroutineName(program, shadertype, index, bufsize, length, name);} - GLEEPFNGLGETACTIVESUBROUTINENAMEPROC GLeeFuncPtr_glGetActiveSubroutineName=GLee_Lazy_glGetActiveSubroutineName; -#endif -#ifndef GLEE_C_DEFINED_glUniformSubroutinesuiv -#define GLEE_C_DEFINED_glUniformSubroutinesuiv - void __stdcall GLee_Lazy_glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint * indices) {if (GLeeInit()) glUniformSubroutinesuiv(shadertype, count, indices);} - GLEEPFNGLUNIFORMSUBROUTINESUIVPROC GLeeFuncPtr_glUniformSubroutinesuiv=GLee_Lazy_glUniformSubroutinesuiv; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformSubroutineuiv -#define GLEE_C_DEFINED_glGetUniformSubroutineuiv - void __stdcall GLee_Lazy_glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint * params) {if (GLeeInit()) glGetUniformSubroutineuiv(shadertype, location, params);} - GLEEPFNGLGETUNIFORMSUBROUTINEUIVPROC GLeeFuncPtr_glGetUniformSubroutineuiv=GLee_Lazy_glGetUniformSubroutineuiv; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramStageiv -#define GLEE_C_DEFINED_glGetProgramStageiv - void __stdcall GLee_Lazy_glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint * values) {if (GLeeInit()) glGetProgramStageiv(program, shadertype, pname, values);} - GLEEPFNGLGETPROGRAMSTAGEIVPROC GLeeFuncPtr_glGetProgramStageiv=GLee_Lazy_glGetProgramStageiv; -#endif -#endif - -/* GL_ARB_tessellation_shader */ - -#ifdef __GLEE_GL_ARB_tessellation_shader -#ifndef GLEE_C_DEFINED_glPatchParameteri -#define GLEE_C_DEFINED_glPatchParameteri - void __stdcall GLee_Lazy_glPatchParameteri(GLenum pname, GLint value) {if (GLeeInit()) glPatchParameteri(pname, value);} - GLEEPFNGLPATCHPARAMETERIPROC GLeeFuncPtr_glPatchParameteri=GLee_Lazy_glPatchParameteri; -#endif -#ifndef GLEE_C_DEFINED_glPatchParameterfv -#define GLEE_C_DEFINED_glPatchParameterfv - void __stdcall GLee_Lazy_glPatchParameterfv(GLenum pname, const GLfloat * values) {if (GLeeInit()) glPatchParameterfv(pname, values);} - GLEEPFNGLPATCHPARAMETERFVPROC GLeeFuncPtr_glPatchParameterfv=GLee_Lazy_glPatchParameterfv; -#endif -#endif - -/* GL_ARB_texture_buffer_object_rgb32 */ - -#ifdef __GLEE_GL_ARB_texture_buffer_object_rgb32 -#endif - -/* GL_ARB_transform_feedback2 */ - -#ifdef __GLEE_GL_ARB_transform_feedback2 -#ifndef GLEE_C_DEFINED_glBindTransformFeedback -#define GLEE_C_DEFINED_glBindTransformFeedback - void __stdcall GLee_Lazy_glBindTransformFeedback(GLenum target, GLuint id) {if (GLeeInit()) glBindTransformFeedback(target, id);} - GLEEPFNGLBINDTRANSFORMFEEDBACKPROC GLeeFuncPtr_glBindTransformFeedback=GLee_Lazy_glBindTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glDeleteTransformFeedbacks -#define GLEE_C_DEFINED_glDeleteTransformFeedbacks - void __stdcall GLee_Lazy_glDeleteTransformFeedbacks(GLsizei n, const GLuint * ids) {if (GLeeInit()) glDeleteTransformFeedbacks(n, ids);} - GLEEPFNGLDELETETRANSFORMFEEDBACKSPROC GLeeFuncPtr_glDeleteTransformFeedbacks=GLee_Lazy_glDeleteTransformFeedbacks; -#endif -#ifndef GLEE_C_DEFINED_glGenTransformFeedbacks -#define GLEE_C_DEFINED_glGenTransformFeedbacks - void __stdcall GLee_Lazy_glGenTransformFeedbacks(GLsizei n, GLuint * ids) {if (GLeeInit()) glGenTransformFeedbacks(n, ids);} - GLEEPFNGLGENTRANSFORMFEEDBACKSPROC GLeeFuncPtr_glGenTransformFeedbacks=GLee_Lazy_glGenTransformFeedbacks; -#endif -#ifndef GLEE_C_DEFINED_glIsTransformFeedback -#define GLEE_C_DEFINED_glIsTransformFeedback - GLboolean __stdcall GLee_Lazy_glIsTransformFeedback(GLuint id) {if (GLeeInit()) return glIsTransformFeedback(id); return (GLboolean)0;} - GLEEPFNGLISTRANSFORMFEEDBACKPROC GLeeFuncPtr_glIsTransformFeedback=GLee_Lazy_glIsTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glPauseTransformFeedback -#define GLEE_C_DEFINED_glPauseTransformFeedback - void __stdcall GLee_Lazy_glPauseTransformFeedback(void) {if (GLeeInit()) glPauseTransformFeedback();} - GLEEPFNGLPAUSETRANSFORMFEEDBACKPROC GLeeFuncPtr_glPauseTransformFeedback=GLee_Lazy_glPauseTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glResumeTransformFeedback -#define GLEE_C_DEFINED_glResumeTransformFeedback - void __stdcall GLee_Lazy_glResumeTransformFeedback(void) {if (GLeeInit()) glResumeTransformFeedback();} - GLEEPFNGLRESUMETRANSFORMFEEDBACKPROC GLeeFuncPtr_glResumeTransformFeedback=GLee_Lazy_glResumeTransformFeedback; -#endif -#ifndef GLEE_C_DEFINED_glDrawTransformFeedback -#define GLEE_C_DEFINED_glDrawTransformFeedback - void __stdcall GLee_Lazy_glDrawTransformFeedback(GLenum mode, GLuint id) {if (GLeeInit()) glDrawTransformFeedback(mode, id);} - GLEEPFNGLDRAWTRANSFORMFEEDBACKPROC GLeeFuncPtr_glDrawTransformFeedback=GLee_Lazy_glDrawTransformFeedback; -#endif -#endif - -/* GL_ARB_transform_feedback3 */ - -#ifdef __GLEE_GL_ARB_transform_feedback3 -#ifndef GLEE_C_DEFINED_glDrawTransformFeedbackStream -#define GLEE_C_DEFINED_glDrawTransformFeedbackStream - void __stdcall GLee_Lazy_glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) {if (GLeeInit()) glDrawTransformFeedbackStream(mode, id, stream);} - GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC GLeeFuncPtr_glDrawTransformFeedbackStream=GLee_Lazy_glDrawTransformFeedbackStream; -#endif -#ifndef GLEE_C_DEFINED_glBeginQueryIndexed -#define GLEE_C_DEFINED_glBeginQueryIndexed - void __stdcall GLee_Lazy_glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) {if (GLeeInit()) glBeginQueryIndexed(target, index, id);} - GLEEPFNGLBEGINQUERYINDEXEDPROC GLeeFuncPtr_glBeginQueryIndexed=GLee_Lazy_glBeginQueryIndexed; -#endif -#ifndef GLEE_C_DEFINED_glEndQueryIndexed -#define GLEE_C_DEFINED_glEndQueryIndexed - void __stdcall GLee_Lazy_glEndQueryIndexed(GLenum target, GLuint index) {if (GLeeInit()) glEndQueryIndexed(target, index);} - GLEEPFNGLENDQUERYINDEXEDPROC GLeeFuncPtr_glEndQueryIndexed=GLee_Lazy_glEndQueryIndexed; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryIndexediv -#define GLEE_C_DEFINED_glGetQueryIndexediv - void __stdcall GLee_Lazy_glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetQueryIndexediv(target, index, pname, params);} - GLEEPFNGLGETQUERYINDEXEDIVPROC GLeeFuncPtr_glGetQueryIndexediv=GLee_Lazy_glGetQueryIndexediv; -#endif -#endif - -/* GL_ARB_ES2_compatibility */ - -#ifdef __GLEE_GL_ARB_ES2_compatibility -#ifndef GLEE_C_DEFINED_glReleaseShaderCompiler -#define GLEE_C_DEFINED_glReleaseShaderCompiler - void __stdcall GLee_Lazy_glReleaseShaderCompiler(void) {if (GLeeInit()) glReleaseShaderCompiler();} - GLEEPFNGLRELEASESHADERCOMPILERPROC GLeeFuncPtr_glReleaseShaderCompiler=GLee_Lazy_glReleaseShaderCompiler; -#endif -#ifndef GLEE_C_DEFINED_glShaderBinary -#define GLEE_C_DEFINED_glShaderBinary - void __stdcall GLee_Lazy_glShaderBinary(GLsizei count, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length) {if (GLeeInit()) glShaderBinary(count, shaders, binaryformat, binary, length);} - GLEEPFNGLSHADERBINARYPROC GLeeFuncPtr_glShaderBinary=GLee_Lazy_glShaderBinary; -#endif -#ifndef GLEE_C_DEFINED_glGetShaderPrecisionFormat -#define GLEE_C_DEFINED_glGetShaderPrecisionFormat - void __stdcall GLee_Lazy_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision) {if (GLeeInit()) glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);} - GLEEPFNGLGETSHADERPRECISIONFORMATPROC GLeeFuncPtr_glGetShaderPrecisionFormat=GLee_Lazy_glGetShaderPrecisionFormat; -#endif -#ifndef GLEE_C_DEFINED_glDepthRangef -#define GLEE_C_DEFINED_glDepthRangef - void __stdcall GLee_Lazy_glDepthRangef(GLfloat n, GLfloat f) {if (GLeeInit()) glDepthRangef(n, f);} - GLEEPFNGLDEPTHRANGEFPROC GLeeFuncPtr_glDepthRangef=GLee_Lazy_glDepthRangef; -#endif -#ifndef GLEE_C_DEFINED_glClearDepthf -#define GLEE_C_DEFINED_glClearDepthf - void __stdcall GLee_Lazy_glClearDepthf(GLfloat d) {if (GLeeInit()) glClearDepthf(d);} - GLEEPFNGLCLEARDEPTHFPROC GLeeFuncPtr_glClearDepthf=GLee_Lazy_glClearDepthf; -#endif -#endif - -/* GL_ARB_get_program_binary */ - -#ifdef __GLEE_GL_ARB_get_program_binary -#ifndef GLEE_C_DEFINED_glGetProgramBinary -#define GLEE_C_DEFINED_glGetProgramBinary - void __stdcall GLee_Lazy_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, GLvoid * binary) {if (GLeeInit()) glGetProgramBinary(program, bufSize, length, binaryFormat, binary);} - GLEEPFNGLGETPROGRAMBINARYPROC GLeeFuncPtr_glGetProgramBinary=GLee_Lazy_glGetProgramBinary; -#endif -#ifndef GLEE_C_DEFINED_glProgramBinary -#define GLEE_C_DEFINED_glProgramBinary - void __stdcall GLee_Lazy_glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid * binary, GLsizei length) {if (GLeeInit()) glProgramBinary(program, binaryFormat, binary, length);} - GLEEPFNGLPROGRAMBINARYPROC GLeeFuncPtr_glProgramBinary=GLee_Lazy_glProgramBinary; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameteri -#define GLEE_C_DEFINED_glProgramParameteri - void __stdcall GLee_Lazy_glProgramParameteri(GLuint program, GLenum pname, GLint value) {if (GLeeInit()) glProgramParameteri(program, pname, value);} - GLEEPFNGLPROGRAMPARAMETERIPROC GLeeFuncPtr_glProgramParameteri=GLee_Lazy_glProgramParameteri; -#endif -#endif - -/* GL_ARB_separate_shader_objects */ - -#ifdef __GLEE_GL_ARB_separate_shader_objects -#ifndef GLEE_C_DEFINED_glUseProgramStages -#define GLEE_C_DEFINED_glUseProgramStages - void __stdcall GLee_Lazy_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) {if (GLeeInit()) glUseProgramStages(pipeline, stages, program);} - GLEEPFNGLUSEPROGRAMSTAGESPROC GLeeFuncPtr_glUseProgramStages=GLee_Lazy_glUseProgramStages; -#endif -#ifndef GLEE_C_DEFINED_glActiveShaderProgram -#define GLEE_C_DEFINED_glActiveShaderProgram - void __stdcall GLee_Lazy_glActiveShaderProgram(GLuint pipeline, GLuint program) {if (GLeeInit()) glActiveShaderProgram(pipeline, program);} - GLEEPFNGLACTIVESHADERPROGRAMPROC GLeeFuncPtr_glActiveShaderProgram=GLee_Lazy_glActiveShaderProgram; -#endif -#ifndef GLEE_C_DEFINED_glCreateShaderProgramv -#define GLEE_C_DEFINED_glCreateShaderProgramv - GLuint __stdcall GLee_Lazy_glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const * strings) {if (GLeeInit()) return glCreateShaderProgramv(type, count, strings); return (GLuint)0;} - GLEEPFNGLCREATESHADERPROGRAMVPROC GLeeFuncPtr_glCreateShaderProgramv=GLee_Lazy_glCreateShaderProgramv; -#endif -#ifndef GLEE_C_DEFINED_glBindProgramPipeline -#define GLEE_C_DEFINED_glBindProgramPipeline - void __stdcall GLee_Lazy_glBindProgramPipeline(GLuint pipeline) {if (GLeeInit()) glBindProgramPipeline(pipeline);} - GLEEPFNGLBINDPROGRAMPIPELINEPROC GLeeFuncPtr_glBindProgramPipeline=GLee_Lazy_glBindProgramPipeline; -#endif -#ifndef GLEE_C_DEFINED_glDeleteProgramPipelines -#define GLEE_C_DEFINED_glDeleteProgramPipelines - void __stdcall GLee_Lazy_glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines) {if (GLeeInit()) glDeleteProgramPipelines(n, pipelines);} - GLEEPFNGLDELETEPROGRAMPIPELINESPROC GLeeFuncPtr_glDeleteProgramPipelines=GLee_Lazy_glDeleteProgramPipelines; -#endif -#ifndef GLEE_C_DEFINED_glGenProgramPipelines -#define GLEE_C_DEFINED_glGenProgramPipelines - void __stdcall GLee_Lazy_glGenProgramPipelines(GLsizei n, GLuint * pipelines) {if (GLeeInit()) glGenProgramPipelines(n, pipelines);} - GLEEPFNGLGENPROGRAMPIPELINESPROC GLeeFuncPtr_glGenProgramPipelines=GLee_Lazy_glGenProgramPipelines; -#endif -#ifndef GLEE_C_DEFINED_glIsProgramPipeline -#define GLEE_C_DEFINED_glIsProgramPipeline - GLboolean __stdcall GLee_Lazy_glIsProgramPipeline(GLuint pipeline) {if (GLeeInit()) return glIsProgramPipeline(pipeline); return (GLboolean)0;} - GLEEPFNGLISPROGRAMPIPELINEPROC GLeeFuncPtr_glIsProgramPipeline=GLee_Lazy_glIsProgramPipeline; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramPipelineiv -#define GLEE_C_DEFINED_glGetProgramPipelineiv - void __stdcall GLee_Lazy_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint * params) {if (GLeeInit()) glGetProgramPipelineiv(pipeline, pname, params);} - GLEEPFNGLGETPROGRAMPIPELINEIVPROC GLeeFuncPtr_glGetProgramPipelineiv=GLee_Lazy_glGetProgramPipelineiv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1i -#define GLEE_C_DEFINED_glProgramUniform1i - void __stdcall GLee_Lazy_glProgramUniform1i(GLuint program, GLint location, GLint v0) {if (GLeeInit()) glProgramUniform1i(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1IPROC GLeeFuncPtr_glProgramUniform1i=GLee_Lazy_glProgramUniform1i; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1iv -#define GLEE_C_DEFINED_glProgramUniform1iv - void __stdcall GLee_Lazy_glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform1iv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1IVPROC GLeeFuncPtr_glProgramUniform1iv=GLee_Lazy_glProgramUniform1iv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1f -#define GLEE_C_DEFINED_glProgramUniform1f - void __stdcall GLee_Lazy_glProgramUniform1f(GLuint program, GLint location, GLfloat v0) {if (GLeeInit()) glProgramUniform1f(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1FPROC GLeeFuncPtr_glProgramUniform1f=GLee_Lazy_glProgramUniform1f; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1fv -#define GLEE_C_DEFINED_glProgramUniform1fv - void __stdcall GLee_Lazy_glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform1fv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1FVPROC GLeeFuncPtr_glProgramUniform1fv=GLee_Lazy_glProgramUniform1fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1d -#define GLEE_C_DEFINED_glProgramUniform1d - void __stdcall GLee_Lazy_glProgramUniform1d(GLuint program, GLint location, GLdouble v0) {if (GLeeInit()) glProgramUniform1d(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1DPROC GLeeFuncPtr_glProgramUniform1d=GLee_Lazy_glProgramUniform1d; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1dv -#define GLEE_C_DEFINED_glProgramUniform1dv - void __stdcall GLee_Lazy_glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform1dv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1DVPROC GLeeFuncPtr_glProgramUniform1dv=GLee_Lazy_glProgramUniform1dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1ui -#define GLEE_C_DEFINED_glProgramUniform1ui - void __stdcall GLee_Lazy_glProgramUniform1ui(GLuint program, GLint location, GLuint v0) {if (GLeeInit()) glProgramUniform1ui(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1UIPROC GLeeFuncPtr_glProgramUniform1ui=GLee_Lazy_glProgramUniform1ui; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1uiv -#define GLEE_C_DEFINED_glProgramUniform1uiv - void __stdcall GLee_Lazy_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform1uiv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1UIVPROC GLeeFuncPtr_glProgramUniform1uiv=GLee_Lazy_glProgramUniform1uiv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2i -#define GLEE_C_DEFINED_glProgramUniform2i - void __stdcall GLee_Lazy_glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) {if (GLeeInit()) glProgramUniform2i(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2IPROC GLeeFuncPtr_glProgramUniform2i=GLee_Lazy_glProgramUniform2i; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2iv -#define GLEE_C_DEFINED_glProgramUniform2iv - void __stdcall GLee_Lazy_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform2iv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2IVPROC GLeeFuncPtr_glProgramUniform2iv=GLee_Lazy_glProgramUniform2iv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2f -#define GLEE_C_DEFINED_glProgramUniform2f - void __stdcall GLee_Lazy_glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) {if (GLeeInit()) glProgramUniform2f(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2FPROC GLeeFuncPtr_glProgramUniform2f=GLee_Lazy_glProgramUniform2f; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2fv -#define GLEE_C_DEFINED_glProgramUniform2fv - void __stdcall GLee_Lazy_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform2fv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2FVPROC GLeeFuncPtr_glProgramUniform2fv=GLee_Lazy_glProgramUniform2fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2d -#define GLEE_C_DEFINED_glProgramUniform2d - void __stdcall GLee_Lazy_glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) {if (GLeeInit()) glProgramUniform2d(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2DPROC GLeeFuncPtr_glProgramUniform2d=GLee_Lazy_glProgramUniform2d; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2dv -#define GLEE_C_DEFINED_glProgramUniform2dv - void __stdcall GLee_Lazy_glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform2dv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2DVPROC GLeeFuncPtr_glProgramUniform2dv=GLee_Lazy_glProgramUniform2dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2ui -#define GLEE_C_DEFINED_glProgramUniform2ui - void __stdcall GLee_Lazy_glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) {if (GLeeInit()) glProgramUniform2ui(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2UIPROC GLeeFuncPtr_glProgramUniform2ui=GLee_Lazy_glProgramUniform2ui; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2uiv -#define GLEE_C_DEFINED_glProgramUniform2uiv - void __stdcall GLee_Lazy_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform2uiv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2UIVPROC GLeeFuncPtr_glProgramUniform2uiv=GLee_Lazy_glProgramUniform2uiv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3i -#define GLEE_C_DEFINED_glProgramUniform3i - void __stdcall GLee_Lazy_glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) {if (GLeeInit()) glProgramUniform3i(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3IPROC GLeeFuncPtr_glProgramUniform3i=GLee_Lazy_glProgramUniform3i; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3iv -#define GLEE_C_DEFINED_glProgramUniform3iv - void __stdcall GLee_Lazy_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform3iv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3IVPROC GLeeFuncPtr_glProgramUniform3iv=GLee_Lazy_glProgramUniform3iv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3f -#define GLEE_C_DEFINED_glProgramUniform3f - void __stdcall GLee_Lazy_glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {if (GLeeInit()) glProgramUniform3f(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3FPROC GLeeFuncPtr_glProgramUniform3f=GLee_Lazy_glProgramUniform3f; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3fv -#define GLEE_C_DEFINED_glProgramUniform3fv - void __stdcall GLee_Lazy_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform3fv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3FVPROC GLeeFuncPtr_glProgramUniform3fv=GLee_Lazy_glProgramUniform3fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3d -#define GLEE_C_DEFINED_glProgramUniform3d - void __stdcall GLee_Lazy_glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) {if (GLeeInit()) glProgramUniform3d(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3DPROC GLeeFuncPtr_glProgramUniform3d=GLee_Lazy_glProgramUniform3d; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3dv -#define GLEE_C_DEFINED_glProgramUniform3dv - void __stdcall GLee_Lazy_glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform3dv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3DVPROC GLeeFuncPtr_glProgramUniform3dv=GLee_Lazy_glProgramUniform3dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3ui -#define GLEE_C_DEFINED_glProgramUniform3ui - void __stdcall GLee_Lazy_glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) {if (GLeeInit()) glProgramUniform3ui(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3UIPROC GLeeFuncPtr_glProgramUniform3ui=GLee_Lazy_glProgramUniform3ui; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3uiv -#define GLEE_C_DEFINED_glProgramUniform3uiv - void __stdcall GLee_Lazy_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform3uiv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3UIVPROC GLeeFuncPtr_glProgramUniform3uiv=GLee_Lazy_glProgramUniform3uiv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4i -#define GLEE_C_DEFINED_glProgramUniform4i - void __stdcall GLee_Lazy_glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {if (GLeeInit()) glProgramUniform4i(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4IPROC GLeeFuncPtr_glProgramUniform4i=GLee_Lazy_glProgramUniform4i; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4iv -#define GLEE_C_DEFINED_glProgramUniform4iv - void __stdcall GLee_Lazy_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform4iv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4IVPROC GLeeFuncPtr_glProgramUniform4iv=GLee_Lazy_glProgramUniform4iv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4f -#define GLEE_C_DEFINED_glProgramUniform4f - void __stdcall GLee_Lazy_glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {if (GLeeInit()) glProgramUniform4f(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4FPROC GLeeFuncPtr_glProgramUniform4f=GLee_Lazy_glProgramUniform4f; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4fv -#define GLEE_C_DEFINED_glProgramUniform4fv - void __stdcall GLee_Lazy_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform4fv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4FVPROC GLeeFuncPtr_glProgramUniform4fv=GLee_Lazy_glProgramUniform4fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4d -#define GLEE_C_DEFINED_glProgramUniform4d - void __stdcall GLee_Lazy_glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) {if (GLeeInit()) glProgramUniform4d(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4DPROC GLeeFuncPtr_glProgramUniform4d=GLee_Lazy_glProgramUniform4d; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4dv -#define GLEE_C_DEFINED_glProgramUniform4dv - void __stdcall GLee_Lazy_glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform4dv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4DVPROC GLeeFuncPtr_glProgramUniform4dv=GLee_Lazy_glProgramUniform4dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4ui -#define GLEE_C_DEFINED_glProgramUniform4ui - void __stdcall GLee_Lazy_glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {if (GLeeInit()) glProgramUniform4ui(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4UIPROC GLeeFuncPtr_glProgramUniform4ui=GLee_Lazy_glProgramUniform4ui; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4uiv -#define GLEE_C_DEFINED_glProgramUniform4uiv - void __stdcall GLee_Lazy_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform4uiv(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4UIVPROC GLeeFuncPtr_glProgramUniform4uiv=GLee_Lazy_glProgramUniform4uiv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2fv -#define GLEE_C_DEFINED_glProgramUniformMatrix2fv - void __stdcall GLee_Lazy_glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2FVPROC GLeeFuncPtr_glProgramUniformMatrix2fv=GLee_Lazy_glProgramUniformMatrix2fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3fv -#define GLEE_C_DEFINED_glProgramUniformMatrix3fv - void __stdcall GLee_Lazy_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3FVPROC GLeeFuncPtr_glProgramUniformMatrix3fv=GLee_Lazy_glProgramUniformMatrix3fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4fv -#define GLEE_C_DEFINED_glProgramUniformMatrix4fv - void __stdcall GLee_Lazy_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4FVPROC GLeeFuncPtr_glProgramUniformMatrix4fv=GLee_Lazy_glProgramUniformMatrix4fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2dv -#define GLEE_C_DEFINED_glProgramUniformMatrix2dv - void __stdcall GLee_Lazy_glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2DVPROC GLeeFuncPtr_glProgramUniformMatrix2dv=GLee_Lazy_glProgramUniformMatrix2dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3dv -#define GLEE_C_DEFINED_glProgramUniformMatrix3dv - void __stdcall GLee_Lazy_glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3DVPROC GLeeFuncPtr_glProgramUniformMatrix3dv=GLee_Lazy_glProgramUniformMatrix3dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4dv -#define GLEE_C_DEFINED_glProgramUniformMatrix4dv - void __stdcall GLee_Lazy_glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4DVPROC GLeeFuncPtr_glProgramUniformMatrix4dv=GLee_Lazy_glProgramUniformMatrix4dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x3fv -#define GLEE_C_DEFINED_glProgramUniformMatrix2x3fv - void __stdcall GLee_Lazy_glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2x3fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVPROC GLeeFuncPtr_glProgramUniformMatrix2x3fv=GLee_Lazy_glProgramUniformMatrix2x3fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x2fv -#define GLEE_C_DEFINED_glProgramUniformMatrix3x2fv - void __stdcall GLee_Lazy_glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3x2fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVPROC GLeeFuncPtr_glProgramUniformMatrix3x2fv=GLee_Lazy_glProgramUniformMatrix3x2fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x4fv -#define GLEE_C_DEFINED_glProgramUniformMatrix2x4fv - void __stdcall GLee_Lazy_glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2x4fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVPROC GLeeFuncPtr_glProgramUniformMatrix2x4fv=GLee_Lazy_glProgramUniformMatrix2x4fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x2fv -#define GLEE_C_DEFINED_glProgramUniformMatrix4x2fv - void __stdcall GLee_Lazy_glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4x2fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVPROC GLeeFuncPtr_glProgramUniformMatrix4x2fv=GLee_Lazy_glProgramUniformMatrix4x2fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x4fv -#define GLEE_C_DEFINED_glProgramUniformMatrix3x4fv - void __stdcall GLee_Lazy_glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3x4fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVPROC GLeeFuncPtr_glProgramUniformMatrix3x4fv=GLee_Lazy_glProgramUniformMatrix3x4fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x3fv -#define GLEE_C_DEFINED_glProgramUniformMatrix4x3fv - void __stdcall GLee_Lazy_glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4x3fv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVPROC GLeeFuncPtr_glProgramUniformMatrix4x3fv=GLee_Lazy_glProgramUniformMatrix4x3fv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x3dv -#define GLEE_C_DEFINED_glProgramUniformMatrix2x3dv - void __stdcall GLee_Lazy_glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2x3dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVPROC GLeeFuncPtr_glProgramUniformMatrix2x3dv=GLee_Lazy_glProgramUniformMatrix2x3dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x2dv -#define GLEE_C_DEFINED_glProgramUniformMatrix3x2dv - void __stdcall GLee_Lazy_glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3x2dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVPROC GLeeFuncPtr_glProgramUniformMatrix3x2dv=GLee_Lazy_glProgramUniformMatrix3x2dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x4dv -#define GLEE_C_DEFINED_glProgramUniformMatrix2x4dv - void __stdcall GLee_Lazy_glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2x4dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVPROC GLeeFuncPtr_glProgramUniformMatrix2x4dv=GLee_Lazy_glProgramUniformMatrix2x4dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x2dv -#define GLEE_C_DEFINED_glProgramUniformMatrix4x2dv - void __stdcall GLee_Lazy_glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4x2dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVPROC GLeeFuncPtr_glProgramUniformMatrix4x2dv=GLee_Lazy_glProgramUniformMatrix4x2dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x4dv -#define GLEE_C_DEFINED_glProgramUniformMatrix3x4dv - void __stdcall GLee_Lazy_glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3x4dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVPROC GLeeFuncPtr_glProgramUniformMatrix3x4dv=GLee_Lazy_glProgramUniformMatrix3x4dv; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x3dv -#define GLEE_C_DEFINED_glProgramUniformMatrix4x3dv - void __stdcall GLee_Lazy_glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4x3dv(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVPROC GLeeFuncPtr_glProgramUniformMatrix4x3dv=GLee_Lazy_glProgramUniformMatrix4x3dv; -#endif -#ifndef GLEE_C_DEFINED_glValidateProgramPipeline -#define GLEE_C_DEFINED_glValidateProgramPipeline - void __stdcall GLee_Lazy_glValidateProgramPipeline(GLuint pipeline) {if (GLeeInit()) glValidateProgramPipeline(pipeline);} - GLEEPFNGLVALIDATEPROGRAMPIPELINEPROC GLeeFuncPtr_glValidateProgramPipeline=GLee_Lazy_glValidateProgramPipeline; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramPipelineInfoLog -#define GLEE_C_DEFINED_glGetProgramPipelineInfoLog - void __stdcall GLee_Lazy_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog) {if (GLeeInit()) glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);} - GLEEPFNGLGETPROGRAMPIPELINEINFOLOGPROC GLeeFuncPtr_glGetProgramPipelineInfoLog=GLee_Lazy_glGetProgramPipelineInfoLog; -#endif -#endif - -/* GL_ARB_shader_precision */ - -#ifdef __GLEE_GL_ARB_shader_precision -#endif - -/* GL_ARB_vertex_attrib_64bit */ - -#ifdef __GLEE_GL_ARB_vertex_attrib_64bit -#ifndef GLEE_C_DEFINED_glVertexAttribL1d -#define GLEE_C_DEFINED_glVertexAttribL1d - void __stdcall GLee_Lazy_glVertexAttribL1d(GLuint index, GLdouble x) {if (GLeeInit()) glVertexAttribL1d(index, x);} - GLEEPFNGLVERTEXATTRIBL1DPROC GLeeFuncPtr_glVertexAttribL1d=GLee_Lazy_glVertexAttribL1d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2d -#define GLEE_C_DEFINED_glVertexAttribL2d - void __stdcall GLee_Lazy_glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexAttribL2d(index, x, y);} - GLEEPFNGLVERTEXATTRIBL2DPROC GLeeFuncPtr_glVertexAttribL2d=GLee_Lazy_glVertexAttribL2d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3d -#define GLEE_C_DEFINED_glVertexAttribL3d - void __stdcall GLee_Lazy_glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexAttribL3d(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBL3DPROC GLeeFuncPtr_glVertexAttribL3d=GLee_Lazy_glVertexAttribL3d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4d -#define GLEE_C_DEFINED_glVertexAttribL4d - void __stdcall GLee_Lazy_glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexAttribL4d(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBL4DPROC GLeeFuncPtr_glVertexAttribL4d=GLee_Lazy_glVertexAttribL4d; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL1dv -#define GLEE_C_DEFINED_glVertexAttribL1dv - void __stdcall GLee_Lazy_glVertexAttribL1dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL1dv(index, v);} - GLEEPFNGLVERTEXATTRIBL1DVPROC GLeeFuncPtr_glVertexAttribL1dv=GLee_Lazy_glVertexAttribL1dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2dv -#define GLEE_C_DEFINED_glVertexAttribL2dv - void __stdcall GLee_Lazy_glVertexAttribL2dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL2dv(index, v);} - GLEEPFNGLVERTEXATTRIBL2DVPROC GLeeFuncPtr_glVertexAttribL2dv=GLee_Lazy_glVertexAttribL2dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3dv -#define GLEE_C_DEFINED_glVertexAttribL3dv - void __stdcall GLee_Lazy_glVertexAttribL3dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL3dv(index, v);} - GLEEPFNGLVERTEXATTRIBL3DVPROC GLeeFuncPtr_glVertexAttribL3dv=GLee_Lazy_glVertexAttribL3dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4dv -#define GLEE_C_DEFINED_glVertexAttribL4dv - void __stdcall GLee_Lazy_glVertexAttribL4dv(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL4dv(index, v);} - GLEEPFNGLVERTEXATTRIBL4DVPROC GLeeFuncPtr_glVertexAttribL4dv=GLee_Lazy_glVertexAttribL4dv; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribLPointer -#define GLEE_C_DEFINED_glVertexAttribLPointer - void __stdcall GLee_Lazy_glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribLPointer(index, size, type, stride, pointer);} - GLEEPFNGLVERTEXATTRIBLPOINTERPROC GLeeFuncPtr_glVertexAttribLPointer=GLee_Lazy_glVertexAttribLPointer; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribLdv -#define GLEE_C_DEFINED_glGetVertexAttribLdv - void __stdcall GLee_Lazy_glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVertexAttribLdv(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBLDVPROC GLeeFuncPtr_glGetVertexAttribLdv=GLee_Lazy_glGetVertexAttribLdv; -#endif -#endif - -/* GL_ARB_viewport_array */ - -#ifdef __GLEE_GL_ARB_viewport_array -#ifndef GLEE_C_DEFINED_glViewportArrayv -#define GLEE_C_DEFINED_glViewportArrayv - void __stdcall GLee_Lazy_glViewportArrayv(GLuint first, GLsizei count, const GLfloat * v) {if (GLeeInit()) glViewportArrayv(first, count, v);} - GLEEPFNGLVIEWPORTARRAYVPROC GLeeFuncPtr_glViewportArrayv=GLee_Lazy_glViewportArrayv; -#endif -#ifndef GLEE_C_DEFINED_glViewportIndexedf -#define GLEE_C_DEFINED_glViewportIndexedf - void __stdcall GLee_Lazy_glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) {if (GLeeInit()) glViewportIndexedf(index, x, y, w, h);} - GLEEPFNGLVIEWPORTINDEXEDFPROC GLeeFuncPtr_glViewportIndexedf=GLee_Lazy_glViewportIndexedf; -#endif -#ifndef GLEE_C_DEFINED_glViewportIndexedfv -#define GLEE_C_DEFINED_glViewportIndexedfv - void __stdcall GLee_Lazy_glViewportIndexedfv(GLuint index, const GLfloat * v) {if (GLeeInit()) glViewportIndexedfv(index, v);} - GLEEPFNGLVIEWPORTINDEXEDFVPROC GLeeFuncPtr_glViewportIndexedfv=GLee_Lazy_glViewportIndexedfv; -#endif -#ifndef GLEE_C_DEFINED_glScissorArrayv -#define GLEE_C_DEFINED_glScissorArrayv - void __stdcall GLee_Lazy_glScissorArrayv(GLuint first, GLsizei count, const GLint * v) {if (GLeeInit()) glScissorArrayv(first, count, v);} - GLEEPFNGLSCISSORARRAYVPROC GLeeFuncPtr_glScissorArrayv=GLee_Lazy_glScissorArrayv; -#endif -#ifndef GLEE_C_DEFINED_glScissorIndexed -#define GLEE_C_DEFINED_glScissorIndexed - void __stdcall GLee_Lazy_glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) {if (GLeeInit()) glScissorIndexed(index, left, bottom, width, height);} - GLEEPFNGLSCISSORINDEXEDPROC GLeeFuncPtr_glScissorIndexed=GLee_Lazy_glScissorIndexed; -#endif -#ifndef GLEE_C_DEFINED_glScissorIndexedv -#define GLEE_C_DEFINED_glScissorIndexedv - void __stdcall GLee_Lazy_glScissorIndexedv(GLuint index, const GLint * v) {if (GLeeInit()) glScissorIndexedv(index, v);} - GLEEPFNGLSCISSORINDEXEDVPROC GLeeFuncPtr_glScissorIndexedv=GLee_Lazy_glScissorIndexedv; -#endif -#ifndef GLEE_C_DEFINED_glDepthRangeArrayv -#define GLEE_C_DEFINED_glDepthRangeArrayv - void __stdcall GLee_Lazy_glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble * v) {if (GLeeInit()) glDepthRangeArrayv(first, count, v);} - GLEEPFNGLDEPTHRANGEARRAYVPROC GLeeFuncPtr_glDepthRangeArrayv=GLee_Lazy_glDepthRangeArrayv; -#endif -#ifndef GLEE_C_DEFINED_glDepthRangeIndexed -#define GLEE_C_DEFINED_glDepthRangeIndexed - void __stdcall GLee_Lazy_glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) {if (GLeeInit()) glDepthRangeIndexed(index, n, f);} - GLEEPFNGLDEPTHRANGEINDEXEDPROC GLeeFuncPtr_glDepthRangeIndexed=GLee_Lazy_glDepthRangeIndexed; -#endif -#ifndef GLEE_C_DEFINED_glGetFloati_v -#define GLEE_C_DEFINED_glGetFloati_v - void __stdcall GLee_Lazy_glGetFloati_v(GLenum target, GLuint index, GLfloat * data) {if (GLeeInit()) glGetFloati_v(target, index, data);} - GLEEPFNGLGETFLOATI_VPROC GLeeFuncPtr_glGetFloati_v=GLee_Lazy_glGetFloati_v; -#endif -#ifndef GLEE_C_DEFINED_glGetDoublei_v -#define GLEE_C_DEFINED_glGetDoublei_v - void __stdcall GLee_Lazy_glGetDoublei_v(GLenum target, GLuint index, GLdouble * data) {if (GLeeInit()) glGetDoublei_v(target, index, data);} - GLEEPFNGLGETDOUBLEI_VPROC GLeeFuncPtr_glGetDoublei_v=GLee_Lazy_glGetDoublei_v; -#endif -#endif - -/* GL_ARB_cl_event */ - -#ifdef __GLEE_GL_ARB_cl_event -#ifndef GLEE_C_DEFINED_glCreateSyncFromCLeventARB -#define GLEE_C_DEFINED_glCreateSyncFromCLeventARB - GLsync __stdcall GLee_Lazy_glCreateSyncFromCLeventARB(struct _cl_context * context, struct _cl_event * event, GLbitfield flags) {if (GLeeInit()) return glCreateSyncFromCLeventARB(context, event, flags); return (GLsync)0;} - GLEEPFNGLCREATESYNCFROMCLEVENTARBPROC GLeeFuncPtr_glCreateSyncFromCLeventARB=GLee_Lazy_glCreateSyncFromCLeventARB; -#endif -#endif - -/* GL_ARB_debug_output */ - -#ifdef __GLEE_GL_ARB_debug_output -#ifndef GLEE_C_DEFINED_glDebugMessageControlARB -#define GLEE_C_DEFINED_glDebugMessageControlARB - void __stdcall GLee_Lazy_glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) {if (GLeeInit()) glDebugMessageControlARB(source, type, severity, count, ids, enabled);} - GLEEPFNGLDEBUGMESSAGECONTROLARBPROC GLeeFuncPtr_glDebugMessageControlARB=GLee_Lazy_glDebugMessageControlARB; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageInsertARB -#define GLEE_C_DEFINED_glDebugMessageInsertARB - void __stdcall GLee_Lazy_glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) {if (GLeeInit()) glDebugMessageInsertARB(source, type, id, severity, length, buf);} - GLEEPFNGLDEBUGMESSAGEINSERTARBPROC GLeeFuncPtr_glDebugMessageInsertARB=GLee_Lazy_glDebugMessageInsertARB; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageCallbackARB -#define GLEE_C_DEFINED_glDebugMessageCallbackARB - void __stdcall GLee_Lazy_glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid * userParam) {if (GLeeInit()) glDebugMessageCallbackARB(callback, userParam);} - GLEEPFNGLDEBUGMESSAGECALLBACKARBPROC GLeeFuncPtr_glDebugMessageCallbackARB=GLee_Lazy_glDebugMessageCallbackARB; -#endif -#ifndef GLEE_C_DEFINED_glGetDebugMessageLogARB -#define GLEE_C_DEFINED_glGetDebugMessageLogARB - GLuint __stdcall GLee_Lazy_glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) {if (GLeeInit()) return glGetDebugMessageLogARB(count, bufsize, sources, types, ids, severities, lengths, messageLog); return (GLuint)0;} - GLEEPFNGLGETDEBUGMESSAGELOGARBPROC GLeeFuncPtr_glGetDebugMessageLogARB=GLee_Lazy_glGetDebugMessageLogARB; -#endif -#endif - -/* GL_ARB_robustness */ - -#ifdef __GLEE_GL_ARB_robustness -#ifndef GLEE_C_DEFINED_glGetGraphicsResetStatusARB -#define GLEE_C_DEFINED_glGetGraphicsResetStatusARB - GLenum __stdcall GLee_Lazy_glGetGraphicsResetStatusARB(void) {if (GLeeInit()) return glGetGraphicsResetStatusARB(); return (GLenum)0;} - GLEEPFNGLGETGRAPHICSRESETSTATUSARBPROC GLeeFuncPtr_glGetGraphicsResetStatusARB=GLee_Lazy_glGetGraphicsResetStatusARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnMapdvARB -#define GLEE_C_DEFINED_glGetnMapdvARB - void __stdcall GLee_Lazy_glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v) {if (GLeeInit()) glGetnMapdvARB(target, query, bufSize, v);} - GLEEPFNGLGETNMAPDVARBPROC GLeeFuncPtr_glGetnMapdvARB=GLee_Lazy_glGetnMapdvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnMapfvARB -#define GLEE_C_DEFINED_glGetnMapfvARB - void __stdcall GLee_Lazy_glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v) {if (GLeeInit()) glGetnMapfvARB(target, query, bufSize, v);} - GLEEPFNGLGETNMAPFVARBPROC GLeeFuncPtr_glGetnMapfvARB=GLee_Lazy_glGetnMapfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnMapivARB -#define GLEE_C_DEFINED_glGetnMapivARB - void __stdcall GLee_Lazy_glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint * v) {if (GLeeInit()) glGetnMapivARB(target, query, bufSize, v);} - GLEEPFNGLGETNMAPIVARBPROC GLeeFuncPtr_glGetnMapivARB=GLee_Lazy_glGetnMapivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnPixelMapfvARB -#define GLEE_C_DEFINED_glGetnPixelMapfvARB - void __stdcall GLee_Lazy_glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat * values) {if (GLeeInit()) glGetnPixelMapfvARB(map, bufSize, values);} - GLEEPFNGLGETNPIXELMAPFVARBPROC GLeeFuncPtr_glGetnPixelMapfvARB=GLee_Lazy_glGetnPixelMapfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnPixelMapuivARB -#define GLEE_C_DEFINED_glGetnPixelMapuivARB - void __stdcall GLee_Lazy_glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint * values) {if (GLeeInit()) glGetnPixelMapuivARB(map, bufSize, values);} - GLEEPFNGLGETNPIXELMAPUIVARBPROC GLeeFuncPtr_glGetnPixelMapuivARB=GLee_Lazy_glGetnPixelMapuivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnPixelMapusvARB -#define GLEE_C_DEFINED_glGetnPixelMapusvARB - void __stdcall GLee_Lazy_glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort * values) {if (GLeeInit()) glGetnPixelMapusvARB(map, bufSize, values);} - GLEEPFNGLGETNPIXELMAPUSVARBPROC GLeeFuncPtr_glGetnPixelMapusvARB=GLee_Lazy_glGetnPixelMapusvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnPolygonStippleARB -#define GLEE_C_DEFINED_glGetnPolygonStippleARB - void __stdcall GLee_Lazy_glGetnPolygonStippleARB(GLsizei bufSize, GLubyte * pattern) {if (GLeeInit()) glGetnPolygonStippleARB(bufSize, pattern);} - GLEEPFNGLGETNPOLYGONSTIPPLEARBPROC GLeeFuncPtr_glGetnPolygonStippleARB=GLee_Lazy_glGetnPolygonStippleARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnColorTableARB -#define GLEE_C_DEFINED_glGetnColorTableARB - void __stdcall GLee_Lazy_glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table) {if (GLeeInit()) glGetnColorTableARB(target, format, type, bufSize, table);} - GLEEPFNGLGETNCOLORTABLEARBPROC GLeeFuncPtr_glGetnColorTableARB=GLee_Lazy_glGetnColorTableARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnConvolutionFilterARB -#define GLEE_C_DEFINED_glGetnConvolutionFilterARB - void __stdcall GLee_Lazy_glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image) {if (GLeeInit()) glGetnConvolutionFilterARB(target, format, type, bufSize, image);} - GLEEPFNGLGETNCONVOLUTIONFILTERARBPROC GLeeFuncPtr_glGetnConvolutionFilterARB=GLee_Lazy_glGetnConvolutionFilterARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnSeparableFilterARB -#define GLEE_C_DEFINED_glGetnSeparableFilterARB - void __stdcall GLee_Lazy_glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span) {if (GLeeInit()) glGetnSeparableFilterARB(target, format, type, rowBufSize, row, columnBufSize, column, span);} - GLEEPFNGLGETNSEPARABLEFILTERARBPROC GLeeFuncPtr_glGetnSeparableFilterARB=GLee_Lazy_glGetnSeparableFilterARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnHistogramARB -#define GLEE_C_DEFINED_glGetnHistogramARB - void __stdcall GLee_Lazy_glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values) {if (GLeeInit()) glGetnHistogramARB(target, reset, format, type, bufSize, values);} - GLEEPFNGLGETNHISTOGRAMARBPROC GLeeFuncPtr_glGetnHistogramARB=GLee_Lazy_glGetnHistogramARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnMinmaxARB -#define GLEE_C_DEFINED_glGetnMinmaxARB - void __stdcall GLee_Lazy_glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values) {if (GLeeInit()) glGetnMinmaxARB(target, reset, format, type, bufSize, values);} - GLEEPFNGLGETNMINMAXARBPROC GLeeFuncPtr_glGetnMinmaxARB=GLee_Lazy_glGetnMinmaxARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnTexImageARB -#define GLEE_C_DEFINED_glGetnTexImageARB - void __stdcall GLee_Lazy_glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img) {if (GLeeInit()) glGetnTexImageARB(target, level, format, type, bufSize, img);} - GLEEPFNGLGETNTEXIMAGEARBPROC GLeeFuncPtr_glGetnTexImageARB=GLee_Lazy_glGetnTexImageARB; -#endif -#ifndef GLEE_C_DEFINED_glReadnPixelsARB -#define GLEE_C_DEFINED_glReadnPixelsARB - void __stdcall GLee_Lazy_glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data) {if (GLeeInit()) glReadnPixelsARB(x, y, width, height, format, type, bufSize, data);} - GLEEPFNGLREADNPIXELSARBPROC GLeeFuncPtr_glReadnPixelsARB=GLee_Lazy_glReadnPixelsARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnCompressedTexImageARB -#define GLEE_C_DEFINED_glGetnCompressedTexImageARB - void __stdcall GLee_Lazy_glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img) {if (GLeeInit()) glGetnCompressedTexImageARB(target, lod, bufSize, img);} - GLEEPFNGLGETNCOMPRESSEDTEXIMAGEARBPROC GLeeFuncPtr_glGetnCompressedTexImageARB=GLee_Lazy_glGetnCompressedTexImageARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnUniformfvARB -#define GLEE_C_DEFINED_glGetnUniformfvARB - void __stdcall GLee_Lazy_glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat * params) {if (GLeeInit()) glGetnUniformfvARB(program, location, bufSize, params);} - GLEEPFNGLGETNUNIFORMFVARBPROC GLeeFuncPtr_glGetnUniformfvARB=GLee_Lazy_glGetnUniformfvARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnUniformivARB -#define GLEE_C_DEFINED_glGetnUniformivARB - void __stdcall GLee_Lazy_glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint * params) {if (GLeeInit()) glGetnUniformivARB(program, location, bufSize, params);} - GLEEPFNGLGETNUNIFORMIVARBPROC GLeeFuncPtr_glGetnUniformivARB=GLee_Lazy_glGetnUniformivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnUniformuivARB -#define GLEE_C_DEFINED_glGetnUniformuivARB - void __stdcall GLee_Lazy_glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint * params) {if (GLeeInit()) glGetnUniformuivARB(program, location, bufSize, params);} - GLEEPFNGLGETNUNIFORMUIVARBPROC GLeeFuncPtr_glGetnUniformuivARB=GLee_Lazy_glGetnUniformuivARB; -#endif -#ifndef GLEE_C_DEFINED_glGetnUniformdvARB -#define GLEE_C_DEFINED_glGetnUniformdvARB - void __stdcall GLee_Lazy_glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble * params) {if (GLeeInit()) glGetnUniformdvARB(program, location, bufSize, params);} - GLEEPFNGLGETNUNIFORMDVARBPROC GLeeFuncPtr_glGetnUniformdvARB=GLee_Lazy_glGetnUniformdvARB; -#endif -#endif - -/* GL_ARB_shader_stencil_export */ - -#ifdef __GLEE_GL_ARB_shader_stencil_export -#endif - -/* GL_ARB_base_instance */ - -#ifdef __GLEE_GL_ARB_base_instance -#ifndef GLEE_C_DEFINED_glDrawArraysInstancedBaseInstance -#define GLEE_C_DEFINED_glDrawArraysInstancedBaseInstance - void __stdcall GLee_Lazy_glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) {if (GLeeInit()) glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);} - GLEEPFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC GLeeFuncPtr_glDrawArraysInstancedBaseInstance=GLee_Lazy_glDrawArraysInstancedBaseInstance; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstancedBaseInstance -#define GLEE_C_DEFINED_glDrawElementsInstancedBaseInstance - void __stdcall GLee_Lazy_glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance) {if (GLeeInit()) glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);} - GLEEPFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC GLeeFuncPtr_glDrawElementsInstancedBaseInstance=GLee_Lazy_glDrawElementsInstancedBaseInstance; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstancedBaseVertexBaseInstance -#define GLEE_C_DEFINED_glDrawElementsInstancedBaseVertexBaseInstance - void __stdcall GLee_Lazy_glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) {if (GLeeInit()) glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);} - GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC GLeeFuncPtr_glDrawElementsInstancedBaseVertexBaseInstance=GLee_Lazy_glDrawElementsInstancedBaseVertexBaseInstance; -#endif -#endif - -/* GL_ARB_shading_language_420pack */ - -#ifdef __GLEE_GL_ARB_shading_language_420pack -#endif - -/* GL_ARB_transform_feedback_instanced */ - -#ifdef __GLEE_GL_ARB_transform_feedback_instanced -#ifndef GLEE_C_DEFINED_glDrawTransformFeedbackInstanced -#define GLEE_C_DEFINED_glDrawTransformFeedbackInstanced - void __stdcall GLee_Lazy_glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) {if (GLeeInit()) glDrawTransformFeedbackInstanced(mode, id, instancecount);} - GLEEPFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC GLeeFuncPtr_glDrawTransformFeedbackInstanced=GLee_Lazy_glDrawTransformFeedbackInstanced; -#endif -#ifndef GLEE_C_DEFINED_glDrawTransformFeedbackStreamInstanced -#define GLEE_C_DEFINED_glDrawTransformFeedbackStreamInstanced - void __stdcall GLee_Lazy_glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) {if (GLeeInit()) glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);} - GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC GLeeFuncPtr_glDrawTransformFeedbackStreamInstanced=GLee_Lazy_glDrawTransformFeedbackStreamInstanced; -#endif -#endif - -/* GL_ARB_compressed_texture_pixel_storage */ - -#ifdef __GLEE_GL_ARB_compressed_texture_pixel_storage -#endif - -/* GL_ARB_conservative_depth */ - -#ifdef __GLEE_GL_ARB_conservative_depth -#endif - -/* GL_ARB_internalformat_query */ - -#ifdef __GLEE_GL_ARB_internalformat_query -#ifndef GLEE_C_DEFINED_glGetInternalformativ -#define GLEE_C_DEFINED_glGetInternalformativ - void __stdcall GLee_Lazy_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params) {if (GLeeInit()) glGetInternalformativ(target, internalformat, pname, bufSize, params);} - GLEEPFNGLGETINTERNALFORMATIVPROC GLeeFuncPtr_glGetInternalformativ=GLee_Lazy_glGetInternalformativ; -#endif -#endif - -/* GL_ARB_map_buffer_alignment */ - -#ifdef __GLEE_GL_ARB_map_buffer_alignment -#endif - -/* GL_ARB_shader_atomic_counters */ - -#ifdef __GLEE_GL_ARB_shader_atomic_counters -#ifndef GLEE_C_DEFINED_glGetActiveAtomicCounterBufferiv -#define GLEE_C_DEFINED_glGetActiveAtomicCounterBufferiv - void __stdcall GLee_Lazy_glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params) {if (GLeeInit()) glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);} - GLEEPFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC GLeeFuncPtr_glGetActiveAtomicCounterBufferiv=GLee_Lazy_glGetActiveAtomicCounterBufferiv; -#endif -#endif - -/* GL_ARB_shader_image_load_store */ - -#ifdef __GLEE_GL_ARB_shader_image_load_store -#ifndef GLEE_C_DEFINED_glBindImageTexture -#define GLEE_C_DEFINED_glBindImageTexture - void __stdcall GLee_Lazy_glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) {if (GLeeInit()) glBindImageTexture(unit, texture, level, layered, layer, access, format);} - GLEEPFNGLBINDIMAGETEXTUREPROC GLeeFuncPtr_glBindImageTexture=GLee_Lazy_glBindImageTexture; -#endif -#ifndef GLEE_C_DEFINED_glMemoryBarrier -#define GLEE_C_DEFINED_glMemoryBarrier - void __stdcall GLee_Lazy_glMemoryBarrier(GLbitfield barriers) {if (GLeeInit()) glMemoryBarrier(barriers);} - GLEEPFNGLMEMORYBARRIERPROC GLeeFuncPtr_glMemoryBarrier=GLee_Lazy_glMemoryBarrier; -#endif -#endif - -/* GL_ARB_shading_language_packing */ - -#ifdef __GLEE_GL_ARB_shading_language_packing -#endif - -/* GL_ARB_texture_storage */ - -#ifdef __GLEE_GL_ARB_texture_storage -#ifndef GLEE_C_DEFINED_glTexStorage1D -#define GLEE_C_DEFINED_glTexStorage1D - void __stdcall GLee_Lazy_glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) {if (GLeeInit()) glTexStorage1D(target, levels, internalformat, width);} - GLEEPFNGLTEXSTORAGE1DPROC GLeeFuncPtr_glTexStorage1D=GLee_Lazy_glTexStorage1D; -#endif -#ifndef GLEE_C_DEFINED_glTexStorage2D -#define GLEE_C_DEFINED_glTexStorage2D - void __stdcall GLee_Lazy_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glTexStorage2D(target, levels, internalformat, width, height);} - GLEEPFNGLTEXSTORAGE2DPROC GLeeFuncPtr_glTexStorage2D=GLee_Lazy_glTexStorage2D; -#endif -#ifndef GLEE_C_DEFINED_glTexStorage3D -#define GLEE_C_DEFINED_glTexStorage3D - void __stdcall GLee_Lazy_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) glTexStorage3D(target, levels, internalformat, width, height, depth);} - GLEEPFNGLTEXSTORAGE3DPROC GLeeFuncPtr_glTexStorage3D=GLee_Lazy_glTexStorage3D; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorage1DEXT -#define GLEE_C_DEFINED_glTextureStorage1DEXT - void __stdcall GLee_Lazy_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) {if (GLeeInit()) glTextureStorage1DEXT(texture, target, levels, internalformat, width);} - GLEEPFNGLTEXTURESTORAGE1DEXTPROC GLeeFuncPtr_glTextureStorage1DEXT=GLee_Lazy_glTextureStorage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorage2DEXT -#define GLEE_C_DEFINED_glTextureStorage2DEXT - void __stdcall GLee_Lazy_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glTextureStorage2DEXT(texture, target, levels, internalformat, width, height);} - GLEEPFNGLTEXTURESTORAGE2DEXTPROC GLeeFuncPtr_glTextureStorage2DEXT=GLee_Lazy_glTextureStorage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorage3DEXT -#define GLEE_C_DEFINED_glTextureStorage3DEXT - void __stdcall GLee_Lazy_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);} - GLEEPFNGLTEXTURESTORAGE3DEXTPROC GLeeFuncPtr_glTextureStorage3DEXT=GLee_Lazy_glTextureStorage3DEXT; -#endif -#endif - -/* GL_KHR_texture_compression_astc_ldr */ - -#ifdef __GLEE_GL_KHR_texture_compression_astc_ldr -#endif - -/* GL_KHR_debug */ - -#ifdef __GLEE_GL_KHR_debug -#ifndef GLEE_C_DEFINED_glDebugMessageControl -#define GLEE_C_DEFINED_glDebugMessageControl - void __stdcall GLee_Lazy_glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) {if (GLeeInit()) glDebugMessageControl(source, type, severity, count, ids, enabled);} - GLEEPFNGLDEBUGMESSAGECONTROLPROC GLeeFuncPtr_glDebugMessageControl=GLee_Lazy_glDebugMessageControl; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageInsert -#define GLEE_C_DEFINED_glDebugMessageInsert - void __stdcall GLee_Lazy_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf) {if (GLeeInit()) glDebugMessageInsert(source, type, id, severity, length, buf);} - GLEEPFNGLDEBUGMESSAGEINSERTPROC GLeeFuncPtr_glDebugMessageInsert=GLee_Lazy_glDebugMessageInsert; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageCallback -#define GLEE_C_DEFINED_glDebugMessageCallback - void __stdcall GLee_Lazy_glDebugMessageCallback(GLDEBUGPROC callback, const void * userParam) {if (GLeeInit()) glDebugMessageCallback(callback, userParam);} - GLEEPFNGLDEBUGMESSAGECALLBACKPROC GLeeFuncPtr_glDebugMessageCallback=GLee_Lazy_glDebugMessageCallback; -#endif -#ifndef GLEE_C_DEFINED_glGetDebugMessageLog -#define GLEE_C_DEFINED_glGetDebugMessageLog - GLuint __stdcall GLee_Lazy_glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog) {if (GLeeInit()) return glGetDebugMessageLog(count, bufsize, sources, types, ids, severities, lengths, messageLog); return (GLuint)0;} - GLEEPFNGLGETDEBUGMESSAGELOGPROC GLeeFuncPtr_glGetDebugMessageLog=GLee_Lazy_glGetDebugMessageLog; -#endif -#ifndef GLEE_C_DEFINED_glPushDebugGroup -#define GLEE_C_DEFINED_glPushDebugGroup - void __stdcall GLee_Lazy_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar * message) {if (GLeeInit()) glPushDebugGroup(source, id, length, message);} - GLEEPFNGLPUSHDEBUGGROUPPROC GLeeFuncPtr_glPushDebugGroup=GLee_Lazy_glPushDebugGroup; -#endif -#ifndef GLEE_C_DEFINED_glPopDebugGroup -#define GLEE_C_DEFINED_glPopDebugGroup - void __stdcall GLee_Lazy_glPopDebugGroup(void) {if (GLeeInit()) glPopDebugGroup();} - GLEEPFNGLPOPDEBUGGROUPPROC GLeeFuncPtr_glPopDebugGroup=GLee_Lazy_glPopDebugGroup; -#endif -#ifndef GLEE_C_DEFINED_glObjectLabel -#define GLEE_C_DEFINED_glObjectLabel - void __stdcall GLee_Lazy_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) {if (GLeeInit()) glObjectLabel(identifier, name, length, label);} - GLEEPFNGLOBJECTLABELPROC GLeeFuncPtr_glObjectLabel=GLee_Lazy_glObjectLabel; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectLabel -#define GLEE_C_DEFINED_glGetObjectLabel - void __stdcall GLee_Lazy_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label) {if (GLeeInit()) glGetObjectLabel(identifier, name, bufSize, length, label);} - GLEEPFNGLGETOBJECTLABELPROC GLeeFuncPtr_glGetObjectLabel=GLee_Lazy_glGetObjectLabel; -#endif -#ifndef GLEE_C_DEFINED_glObjectPtrLabel -#define GLEE_C_DEFINED_glObjectPtrLabel - void __stdcall GLee_Lazy_glObjectPtrLabel(const void * ptr, GLsizei length, const GLchar * label) {if (GLeeInit()) glObjectPtrLabel(ptr, length, label);} - GLEEPFNGLOBJECTPTRLABELPROC GLeeFuncPtr_glObjectPtrLabel=GLee_Lazy_glObjectPtrLabel; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectPtrLabel -#define GLEE_C_DEFINED_glGetObjectPtrLabel - void __stdcall GLee_Lazy_glGetObjectPtrLabel(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label) {if (GLeeInit()) glGetObjectPtrLabel(ptr, bufSize, length, label);} - GLEEPFNGLGETOBJECTPTRLABELPROC GLeeFuncPtr_glGetObjectPtrLabel=GLee_Lazy_glGetObjectPtrLabel; -#endif -#endif - -/* GL_ARB_arrays_of_arrays */ - -#ifdef __GLEE_GL_ARB_arrays_of_arrays -#endif - -/* GL_ARB_clear_buffer_object */ - -#ifdef __GLEE_GL_ARB_clear_buffer_object -#ifndef GLEE_C_DEFINED_glClearBufferData -#define GLEE_C_DEFINED_glClearBufferData - void __stdcall GLee_Lazy_glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data) {if (GLeeInit()) glClearBufferData(target, internalformat, format, type, data);} - GLEEPFNGLCLEARBUFFERDATAPROC GLeeFuncPtr_glClearBufferData=GLee_Lazy_glClearBufferData; -#endif -#ifndef GLEE_C_DEFINED_glClearBufferSubData -#define GLEE_C_DEFINED_glClearBufferSubData - void __stdcall GLee_Lazy_glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data) {if (GLeeInit()) glClearBufferSubData(target, internalformat, offset, size, format, type, data);} - GLEEPFNGLCLEARBUFFERSUBDATAPROC GLeeFuncPtr_glClearBufferSubData=GLee_Lazy_glClearBufferSubData; -#endif -#ifndef GLEE_C_DEFINED_glClearNamedBufferDataEXT -#define GLEE_C_DEFINED_glClearNamedBufferDataEXT - void __stdcall GLee_Lazy_glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data) {if (GLeeInit()) glClearNamedBufferDataEXT(buffer, internalformat, format, type, data);} - GLEEPFNGLCLEARNAMEDBUFFERDATAEXTPROC GLeeFuncPtr_glClearNamedBufferDataEXT=GLee_Lazy_glClearNamedBufferDataEXT; -#endif -#ifndef GLEE_C_DEFINED_glClearNamedBufferSubDataEXT -#define GLEE_C_DEFINED_glClearNamedBufferSubDataEXT - void __stdcall GLee_Lazy_glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void * data) {if (GLeeInit()) glClearNamedBufferSubDataEXT(buffer, internalformat, format, type, offset, size, data);} - GLEEPFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glClearNamedBufferSubDataEXT=GLee_Lazy_glClearNamedBufferSubDataEXT; -#endif -#endif - -/* GL_ARB_compute_shader */ - -#ifdef __GLEE_GL_ARB_compute_shader -#ifndef GLEE_C_DEFINED_glDispatchCompute -#define GLEE_C_DEFINED_glDispatchCompute - void __stdcall GLee_Lazy_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) {if (GLeeInit()) glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);} - GLEEPFNGLDISPATCHCOMPUTEPROC GLeeFuncPtr_glDispatchCompute=GLee_Lazy_glDispatchCompute; -#endif -#ifndef GLEE_C_DEFINED_glDispatchComputeIndirect -#define GLEE_C_DEFINED_glDispatchComputeIndirect - void __stdcall GLee_Lazy_glDispatchComputeIndirect(GLintptr indirect) {if (GLeeInit()) glDispatchComputeIndirect(indirect);} - GLEEPFNGLDISPATCHCOMPUTEINDIRECTPROC GLeeFuncPtr_glDispatchComputeIndirect=GLee_Lazy_glDispatchComputeIndirect; -#endif -#endif - -/* GL_ARB_copy_image */ - -#ifdef __GLEE_GL_ARB_copy_image -#ifndef GLEE_C_DEFINED_glCopyImageSubData -#define GLEE_C_DEFINED_glCopyImageSubData - void __stdcall GLee_Lazy_glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) {if (GLeeInit()) glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);} - GLEEPFNGLCOPYIMAGESUBDATAPROC GLeeFuncPtr_glCopyImageSubData=GLee_Lazy_glCopyImageSubData; -#endif -#endif - -/* GL_ARB_texture_view */ - -#ifdef __GLEE_GL_ARB_texture_view -#ifndef GLEE_C_DEFINED_glTextureView -#define GLEE_C_DEFINED_glTextureView - void __stdcall GLee_Lazy_glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) {if (GLeeInit()) glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);} - GLEEPFNGLTEXTUREVIEWPROC GLeeFuncPtr_glTextureView=GLee_Lazy_glTextureView; -#endif -#endif - -/* GL_ARB_vertex_attrib_binding */ - -#ifdef __GLEE_GL_ARB_vertex_attrib_binding -#ifndef GLEE_C_DEFINED_glBindVertexBuffer -#define GLEE_C_DEFINED_glBindVertexBuffer - void __stdcall GLee_Lazy_glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) {if (GLeeInit()) glBindVertexBuffer(bindingindex, buffer, offset, stride);} - GLEEPFNGLBINDVERTEXBUFFERPROC GLeeFuncPtr_glBindVertexBuffer=GLee_Lazy_glBindVertexBuffer; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribFormat -#define GLEE_C_DEFINED_glVertexAttribFormat - void __stdcall GLee_Lazy_glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) {if (GLeeInit()) glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);} - GLEEPFNGLVERTEXATTRIBFORMATPROC GLeeFuncPtr_glVertexAttribFormat=GLee_Lazy_glVertexAttribFormat; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribIFormat -#define GLEE_C_DEFINED_glVertexAttribIFormat - void __stdcall GLee_Lazy_glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) {if (GLeeInit()) glVertexAttribIFormat(attribindex, size, type, relativeoffset);} - GLEEPFNGLVERTEXATTRIBIFORMATPROC GLeeFuncPtr_glVertexAttribIFormat=GLee_Lazy_glVertexAttribIFormat; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribLFormat -#define GLEE_C_DEFINED_glVertexAttribLFormat - void __stdcall GLee_Lazy_glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) {if (GLeeInit()) glVertexAttribLFormat(attribindex, size, type, relativeoffset);} - GLEEPFNGLVERTEXATTRIBLFORMATPROC GLeeFuncPtr_glVertexAttribLFormat=GLee_Lazy_glVertexAttribLFormat; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribBinding -#define GLEE_C_DEFINED_glVertexAttribBinding - void __stdcall GLee_Lazy_glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) {if (GLeeInit()) glVertexAttribBinding(attribindex, bindingindex);} - GLEEPFNGLVERTEXATTRIBBINDINGPROC GLeeFuncPtr_glVertexAttribBinding=GLee_Lazy_glVertexAttribBinding; -#endif -#ifndef GLEE_C_DEFINED_glVertexBindingDivisor -#define GLEE_C_DEFINED_glVertexBindingDivisor - void __stdcall GLee_Lazy_glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) {if (GLeeInit()) glVertexBindingDivisor(bindingindex, divisor);} - GLEEPFNGLVERTEXBINDINGDIVISORPROC GLeeFuncPtr_glVertexBindingDivisor=GLee_Lazy_glVertexBindingDivisor; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayBindVertexBufferEXT -#define GLEE_C_DEFINED_glVertexArrayBindVertexBufferEXT - void __stdcall GLee_Lazy_glVertexArrayBindVertexBufferEXT(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) {if (GLeeInit()) glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride);} - GLEEPFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC GLeeFuncPtr_glVertexArrayBindVertexBufferEXT=GLee_Lazy_glVertexArrayBindVertexBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexAttribFormatEXT -#define GLEE_C_DEFINED_glVertexArrayVertexAttribFormatEXT - void __stdcall GLee_Lazy_glVertexArrayVertexAttribFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) {if (GLeeInit()) glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset);} - GLEEPFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribFormatEXT=GLee_Lazy_glVertexArrayVertexAttribFormatEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexAttribIFormatEXT -#define GLEE_C_DEFINED_glVertexArrayVertexAttribIFormatEXT - void __stdcall GLee_Lazy_glVertexArrayVertexAttribIFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) {if (GLeeInit()) glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset);} - GLEEPFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribIFormatEXT=GLee_Lazy_glVertexArrayVertexAttribIFormatEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexAttribLFormatEXT -#define GLEE_C_DEFINED_glVertexArrayVertexAttribLFormatEXT - void __stdcall GLee_Lazy_glVertexArrayVertexAttribLFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) {if (GLeeInit()) glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset);} - GLEEPFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribLFormatEXT=GLee_Lazy_glVertexArrayVertexAttribLFormatEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexAttribBindingEXT -#define GLEE_C_DEFINED_glVertexArrayVertexAttribBindingEXT - void __stdcall GLee_Lazy_glVertexArrayVertexAttribBindingEXT(GLuint vaobj, GLuint attribindex, GLuint bindingindex) {if (GLeeInit()) glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex);} - GLEEPFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribBindingEXT=GLee_Lazy_glVertexArrayVertexAttribBindingEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexBindingDivisorEXT -#define GLEE_C_DEFINED_glVertexArrayVertexBindingDivisorEXT - void __stdcall GLee_Lazy_glVertexArrayVertexBindingDivisorEXT(GLuint vaobj, GLuint bindingindex, GLuint divisor) {if (GLeeInit()) glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor);} - GLEEPFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC GLeeFuncPtr_glVertexArrayVertexBindingDivisorEXT=GLee_Lazy_glVertexArrayVertexBindingDivisorEXT; -#endif -#endif - -/* GL_ARB_robustness_isolation */ - -#ifdef __GLEE_GL_ARB_robustness_isolation -#endif - -/* GL_ARB_ES3_compatibility */ - -#ifdef __GLEE_GL_ARB_ES3_compatibility -#endif - -/* GL_ARB_explicit_uniform_location */ - -#ifdef __GLEE_GL_ARB_explicit_uniform_location -#endif - -/* GL_ARB_fragment_layer_viewport */ - -#ifdef __GLEE_GL_ARB_fragment_layer_viewport -#endif - -/* GL_ARB_framebuffer_no_attachments */ - -#ifdef __GLEE_GL_ARB_framebuffer_no_attachments -#ifndef GLEE_C_DEFINED_glFramebufferParameteri -#define GLEE_C_DEFINED_glFramebufferParameteri - void __stdcall GLee_Lazy_glFramebufferParameteri(GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glFramebufferParameteri(target, pname, param);} - GLEEPFNGLFRAMEBUFFERPARAMETERIPROC GLeeFuncPtr_glFramebufferParameteri=GLee_Lazy_glFramebufferParameteri; -#endif -#ifndef GLEE_C_DEFINED_glGetFramebufferParameteriv -#define GLEE_C_DEFINED_glGetFramebufferParameteriv - void __stdcall GLee_Lazy_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetFramebufferParameteriv(target, pname, params);} - GLEEPFNGLGETFRAMEBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetFramebufferParameteriv=GLee_Lazy_glGetFramebufferParameteriv; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferParameteriEXT -#define GLEE_C_DEFINED_glNamedFramebufferParameteriEXT - void __stdcall GLee_Lazy_glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param) {if (GLeeInit()) glNamedFramebufferParameteriEXT(framebuffer, pname, param);} - GLEEPFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC GLeeFuncPtr_glNamedFramebufferParameteriEXT=GLee_Lazy_glNamedFramebufferParameteriEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedFramebufferParameterivEXT -#define GLEE_C_DEFINED_glGetNamedFramebufferParameterivEXT - void __stdcall GLee_Lazy_glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedFramebufferParameterivEXT(framebuffer, pname, params);} - GLEEPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedFramebufferParameterivEXT=GLee_Lazy_glGetNamedFramebufferParameterivEXT; -#endif -#endif - -/* GL_ARB_internalformat_query2 */ - -#ifdef __GLEE_GL_ARB_internalformat_query2 -#ifndef GLEE_C_DEFINED_glGetInternalformati64v -#define GLEE_C_DEFINED_glGetInternalformati64v - void __stdcall GLee_Lazy_glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 * params) {if (GLeeInit()) glGetInternalformati64v(target, internalformat, pname, bufSize, params);} - GLEEPFNGLGETINTERNALFORMATI64VPROC GLeeFuncPtr_glGetInternalformati64v=GLee_Lazy_glGetInternalformati64v; -#endif -#endif - -/* GL_ARB_invalidate_subdata */ - -#ifdef __GLEE_GL_ARB_invalidate_subdata -#ifndef GLEE_C_DEFINED_glInvalidateTexSubImage -#define GLEE_C_DEFINED_glInvalidateTexSubImage - void __stdcall GLee_Lazy_glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);} - GLEEPFNGLINVALIDATETEXSUBIMAGEPROC GLeeFuncPtr_glInvalidateTexSubImage=GLee_Lazy_glInvalidateTexSubImage; -#endif -#ifndef GLEE_C_DEFINED_glInvalidateTexImage -#define GLEE_C_DEFINED_glInvalidateTexImage - void __stdcall GLee_Lazy_glInvalidateTexImage(GLuint texture, GLint level) {if (GLeeInit()) glInvalidateTexImage(texture, level);} - GLEEPFNGLINVALIDATETEXIMAGEPROC GLeeFuncPtr_glInvalidateTexImage=GLee_Lazy_glInvalidateTexImage; -#endif -#ifndef GLEE_C_DEFINED_glInvalidateBufferSubData -#define GLEE_C_DEFINED_glInvalidateBufferSubData - void __stdcall GLee_Lazy_glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) {if (GLeeInit()) glInvalidateBufferSubData(buffer, offset, length);} - GLEEPFNGLINVALIDATEBUFFERSUBDATAPROC GLeeFuncPtr_glInvalidateBufferSubData=GLee_Lazy_glInvalidateBufferSubData; -#endif -#ifndef GLEE_C_DEFINED_glInvalidateBufferData -#define GLEE_C_DEFINED_glInvalidateBufferData - void __stdcall GLee_Lazy_glInvalidateBufferData(GLuint buffer) {if (GLeeInit()) glInvalidateBufferData(buffer);} - GLEEPFNGLINVALIDATEBUFFERDATAPROC GLeeFuncPtr_glInvalidateBufferData=GLee_Lazy_glInvalidateBufferData; -#endif -#ifndef GLEE_C_DEFINED_glInvalidateFramebuffer -#define GLEE_C_DEFINED_glInvalidateFramebuffer - void __stdcall GLee_Lazy_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments) {if (GLeeInit()) glInvalidateFramebuffer(target, numAttachments, attachments);} - GLEEPFNGLINVALIDATEFRAMEBUFFERPROC GLeeFuncPtr_glInvalidateFramebuffer=GLee_Lazy_glInvalidateFramebuffer; -#endif -#ifndef GLEE_C_DEFINED_glInvalidateSubFramebuffer -#define GLEE_C_DEFINED_glInvalidateSubFramebuffer - void __stdcall GLee_Lazy_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);} - GLEEPFNGLINVALIDATESUBFRAMEBUFFERPROC GLeeFuncPtr_glInvalidateSubFramebuffer=GLee_Lazy_glInvalidateSubFramebuffer; -#endif -#endif - -/* GL_ARB_multi_draw_indirect */ - -#ifdef __GLEE_GL_ARB_multi_draw_indirect -#ifndef GLEE_C_DEFINED_glMultiDrawArraysIndirect -#define GLEE_C_DEFINED_glMultiDrawArraysIndirect - void __stdcall GLee_Lazy_glMultiDrawArraysIndirect(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride) {if (GLeeInit()) glMultiDrawArraysIndirect(mode, indirect, drawcount, stride);} - GLEEPFNGLMULTIDRAWARRAYSINDIRECTPROC GLeeFuncPtr_glMultiDrawArraysIndirect=GLee_Lazy_glMultiDrawArraysIndirect; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElementsIndirect -#define GLEE_C_DEFINED_glMultiDrawElementsIndirect - void __stdcall GLee_Lazy_glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride) {if (GLeeInit()) glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);} - GLEEPFNGLMULTIDRAWELEMENTSINDIRECTPROC GLeeFuncPtr_glMultiDrawElementsIndirect=GLee_Lazy_glMultiDrawElementsIndirect; -#endif -#endif - -/* GL_ARB_program_interface_query */ - -#ifdef __GLEE_GL_ARB_program_interface_query -#ifndef GLEE_C_DEFINED_glGetProgramInterfaceiv -#define GLEE_C_DEFINED_glGetProgramInterfaceiv - void __stdcall GLee_Lazy_glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint * params) {if (GLeeInit()) glGetProgramInterfaceiv(program, programInterface, pname, params);} - GLEEPFNGLGETPROGRAMINTERFACEIVPROC GLeeFuncPtr_glGetProgramInterfaceiv=GLee_Lazy_glGetProgramInterfaceiv; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramResourceIndex -#define GLEE_C_DEFINED_glGetProgramResourceIndex - GLuint __stdcall GLee_Lazy_glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name) {if (GLeeInit()) return glGetProgramResourceIndex(program, programInterface, name); return (GLuint)0;} - GLEEPFNGLGETPROGRAMRESOURCEINDEXPROC GLeeFuncPtr_glGetProgramResourceIndex=GLee_Lazy_glGetProgramResourceIndex; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramResourceName -#define GLEE_C_DEFINED_glGetProgramResourceName - void __stdcall GLee_Lazy_glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name) {if (GLeeInit()) glGetProgramResourceName(program, programInterface, index, bufSize, length, name);} - GLEEPFNGLGETPROGRAMRESOURCENAMEPROC GLeeFuncPtr_glGetProgramResourceName=GLee_Lazy_glGetProgramResourceName; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramResourceiv -#define GLEE_C_DEFINED_glGetProgramResourceiv - void __stdcall GLee_Lazy_glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params) {if (GLeeInit()) glGetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params);} - GLEEPFNGLGETPROGRAMRESOURCEIVPROC GLeeFuncPtr_glGetProgramResourceiv=GLee_Lazy_glGetProgramResourceiv; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramResourceLocation -#define GLEE_C_DEFINED_glGetProgramResourceLocation - GLint __stdcall GLee_Lazy_glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name) {if (GLeeInit()) return glGetProgramResourceLocation(program, programInterface, name); return (GLint)0;} - GLEEPFNGLGETPROGRAMRESOURCELOCATIONPROC GLeeFuncPtr_glGetProgramResourceLocation=GLee_Lazy_glGetProgramResourceLocation; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramResourceLocationIndex -#define GLEE_C_DEFINED_glGetProgramResourceLocationIndex - GLint __stdcall GLee_Lazy_glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar * name) {if (GLeeInit()) return glGetProgramResourceLocationIndex(program, programInterface, name); return (GLint)0;} - GLEEPFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC GLeeFuncPtr_glGetProgramResourceLocationIndex=GLee_Lazy_glGetProgramResourceLocationIndex; -#endif -#endif - -/* GL_ARB_robust_buffer_access_behavior */ - -#ifdef __GLEE_GL_ARB_robust_buffer_access_behavior -#endif - -/* GL_ARB_shader_image_size */ - -#ifdef __GLEE_GL_ARB_shader_image_size -#endif - -/* GL_ARB_shader_storage_buffer_object */ - -#ifdef __GLEE_GL_ARB_shader_storage_buffer_object -#ifndef GLEE_C_DEFINED_glShaderStorageBlockBinding -#define GLEE_C_DEFINED_glShaderStorageBlockBinding - void __stdcall GLee_Lazy_glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) {if (GLeeInit()) glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);} - GLEEPFNGLSHADERSTORAGEBLOCKBINDINGPROC GLeeFuncPtr_glShaderStorageBlockBinding=GLee_Lazy_glShaderStorageBlockBinding; -#endif -#endif - -/* GL_ARB_stencil_texturing */ - -#ifdef __GLEE_GL_ARB_stencil_texturing -#endif - -/* GL_ARB_texture_buffer_range */ - -#ifdef __GLEE_GL_ARB_texture_buffer_range -#ifndef GLEE_C_DEFINED_glTexBufferRange -#define GLEE_C_DEFINED_glTexBufferRange - void __stdcall GLee_Lazy_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glTexBufferRange(target, internalformat, buffer, offset, size);} - GLEEPFNGLTEXBUFFERRANGEPROC GLeeFuncPtr_glTexBufferRange=GLee_Lazy_glTexBufferRange; -#endif -#ifndef GLEE_C_DEFINED_glTextureBufferRangeEXT -#define GLEE_C_DEFINED_glTextureBufferRangeEXT - void __stdcall GLee_Lazy_glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size);} - GLEEPFNGLTEXTUREBUFFERRANGEEXTPROC GLeeFuncPtr_glTextureBufferRangeEXT=GLee_Lazy_glTextureBufferRangeEXT; -#endif -#endif - -/* GL_ARB_texture_query_levels */ - -#ifdef __GLEE_GL_ARB_texture_query_levels -#endif - -/* GL_ARB_texture_storage_multisample */ - -#ifdef __GLEE_GL_ARB_texture_storage_multisample -#ifndef GLEE_C_DEFINED_glTexStorage2DMultisample -#define GLEE_C_DEFINED_glTexStorage2DMultisample - void __stdcall GLee_Lazy_glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) {if (GLeeInit()) glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);} - GLEEPFNGLTEXSTORAGE2DMULTISAMPLEPROC GLeeFuncPtr_glTexStorage2DMultisample=GLee_Lazy_glTexStorage2DMultisample; -#endif -#ifndef GLEE_C_DEFINED_glTexStorage3DMultisample -#define GLEE_C_DEFINED_glTexStorage3DMultisample - void __stdcall GLee_Lazy_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) {if (GLeeInit()) glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);} - GLEEPFNGLTEXSTORAGE3DMULTISAMPLEPROC GLeeFuncPtr_glTexStorage3DMultisample=GLee_Lazy_glTexStorage3DMultisample; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorage2DMultisampleEXT -#define GLEE_C_DEFINED_glTextureStorage2DMultisampleEXT - void __stdcall GLee_Lazy_glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) {if (GLeeInit()) glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations);} - GLEEPFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC GLeeFuncPtr_glTextureStorage2DMultisampleEXT=GLee_Lazy_glTextureStorage2DMultisampleEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorage3DMultisampleEXT -#define GLEE_C_DEFINED_glTextureStorage3DMultisampleEXT - void __stdcall GLee_Lazy_glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) {if (GLeeInit()) glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);} - GLEEPFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC GLeeFuncPtr_glTextureStorage3DMultisampleEXT=GLee_Lazy_glTextureStorage3DMultisampleEXT; -#endif -#endif - -/* GL_EXT_abgr */ - -#ifdef __GLEE_GL_EXT_abgr -#endif - -/* GL_EXT_blend_color */ - -#ifdef __GLEE_GL_EXT_blend_color -#ifndef GLEE_C_DEFINED_glBlendColorEXT -#define GLEE_C_DEFINED_glBlendColorEXT - void __stdcall GLee_Lazy_glBlendColorEXT(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {if (GLeeInit()) glBlendColorEXT(red, green, blue, alpha);} - GLEEPFNGLBLENDCOLOREXTPROC GLeeFuncPtr_glBlendColorEXT=GLee_Lazy_glBlendColorEXT; -#endif -#endif - -/* GL_EXT_polygon_offset */ - -#ifdef __GLEE_GL_EXT_polygon_offset -#ifndef GLEE_C_DEFINED_glPolygonOffsetEXT -#define GLEE_C_DEFINED_glPolygonOffsetEXT - void __stdcall GLee_Lazy_glPolygonOffsetEXT(GLfloat factor, GLfloat bias) {if (GLeeInit()) glPolygonOffsetEXT(factor, bias);} - GLEEPFNGLPOLYGONOFFSETEXTPROC GLeeFuncPtr_glPolygonOffsetEXT=GLee_Lazy_glPolygonOffsetEXT; -#endif -#endif - -/* GL_EXT_texture */ - -#ifdef __GLEE_GL_EXT_texture -#endif - -/* GL_EXT_texture3D */ - -#ifdef __GLEE_GL_EXT_texture3D -#ifndef GLEE_C_DEFINED_glTexImage3DEXT -#define GLEE_C_DEFINED_glTexImage3DEXT - void __stdcall GLee_Lazy_glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexImage3DEXT(target, level, internalformat, width, height, depth, border, format, type, pixels);} - GLEEPFNGLTEXIMAGE3DEXTPROC GLeeFuncPtr_glTexImage3DEXT=GLee_Lazy_glTexImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTexSubImage3DEXT -#define GLEE_C_DEFINED_glTexSubImage3DEXT - void __stdcall GLee_Lazy_glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);} - GLEEPFNGLTEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glTexSubImage3DEXT=GLee_Lazy_glTexSubImage3DEXT; -#endif -#endif - -/* GL_SGIS_texture_filter4 */ - -#ifdef __GLEE_GL_SGIS_texture_filter4 -#ifndef GLEE_C_DEFINED_glGetTexFilterFuncSGIS -#define GLEE_C_DEFINED_glGetTexFilterFuncSGIS - void __stdcall GLee_Lazy_glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat * weights) {if (GLeeInit()) glGetTexFilterFuncSGIS(target, filter, weights);} - GLEEPFNGLGETTEXFILTERFUNCSGISPROC GLeeFuncPtr_glGetTexFilterFuncSGIS=GLee_Lazy_glGetTexFilterFuncSGIS; -#endif -#ifndef GLEE_C_DEFINED_glTexFilterFuncSGIS -#define GLEE_C_DEFINED_glTexFilterFuncSGIS - void __stdcall GLee_Lazy_glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat * weights) {if (GLeeInit()) glTexFilterFuncSGIS(target, filter, n, weights);} - GLEEPFNGLTEXFILTERFUNCSGISPROC GLeeFuncPtr_glTexFilterFuncSGIS=GLee_Lazy_glTexFilterFuncSGIS; -#endif -#endif - -/* GL_EXT_subtexture */ - -#ifdef __GLEE_GL_EXT_subtexture -#ifndef GLEE_C_DEFINED_glTexSubImage1DEXT -#define GLEE_C_DEFINED_glTexSubImage1DEXT - void __stdcall GLee_Lazy_glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexSubImage1DEXT(target, level, xoffset, width, format, type, pixels);} - GLEEPFNGLTEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glTexSubImage1DEXT=GLee_Lazy_glTexSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTexSubImage2DEXT -#define GLEE_C_DEFINED_glTexSubImage2DEXT - void __stdcall GLee_Lazy_glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels);} - GLEEPFNGLTEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glTexSubImage2DEXT=GLee_Lazy_glTexSubImage2DEXT; -#endif -#endif - -/* GL_EXT_copy_texture */ - -#ifdef __GLEE_GL_EXT_copy_texture -#ifndef GLEE_C_DEFINED_glCopyTexImage1DEXT -#define GLEE_C_DEFINED_glCopyTexImage1DEXT - void __stdcall GLee_Lazy_glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {if (GLeeInit()) glCopyTexImage1DEXT(target, level, internalformat, x, y, width, border);} - GLEEPFNGLCOPYTEXIMAGE1DEXTPROC GLeeFuncPtr_glCopyTexImage1DEXT=GLee_Lazy_glCopyTexImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTexImage2DEXT -#define GLEE_C_DEFINED_glCopyTexImage2DEXT - void __stdcall GLee_Lazy_glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {if (GLeeInit()) glCopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border);} - GLEEPFNGLCOPYTEXIMAGE2DEXTPROC GLeeFuncPtr_glCopyTexImage2DEXT=GLee_Lazy_glCopyTexImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTexSubImage1DEXT -#define GLEE_C_DEFINED_glCopyTexSubImage1DEXT - void __stdcall GLee_Lazy_glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyTexSubImage1DEXT(target, level, xoffset, x, y, width);} - GLEEPFNGLCOPYTEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyTexSubImage1DEXT=GLee_Lazy_glCopyTexSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTexSubImage2DEXT -#define GLEE_C_DEFINED_glCopyTexSubImage2DEXT - void __stdcall GLee_Lazy_glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height);} - GLEEPFNGLCOPYTEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyTexSubImage2DEXT=GLee_Lazy_glCopyTexSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTexSubImage3DEXT -#define GLEE_C_DEFINED_glCopyTexSubImage3DEXT - void __stdcall GLee_Lazy_glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height);} - GLEEPFNGLCOPYTEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyTexSubImage3DEXT=GLee_Lazy_glCopyTexSubImage3DEXT; -#endif -#endif - -/* GL_EXT_histogram */ - -#ifdef __GLEE_GL_EXT_histogram -#ifndef GLEE_C_DEFINED_glGetHistogramEXT -#define GLEE_C_DEFINED_glGetHistogramEXT - void __stdcall GLee_Lazy_glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) {if (GLeeInit()) glGetHistogramEXT(target, reset, format, type, values);} - GLEEPFNGLGETHISTOGRAMEXTPROC GLeeFuncPtr_glGetHistogramEXT=GLee_Lazy_glGetHistogramEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogramParameterfvEXT -#define GLEE_C_DEFINED_glGetHistogramParameterfvEXT - void __stdcall GLee_Lazy_glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetHistogramParameterfvEXT(target, pname, params);} - GLEEPFNGLGETHISTOGRAMPARAMETERFVEXTPROC GLeeFuncPtr_glGetHistogramParameterfvEXT=GLee_Lazy_glGetHistogramParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogramParameterivEXT -#define GLEE_C_DEFINED_glGetHistogramParameterivEXT - void __stdcall GLee_Lazy_glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetHistogramParameterivEXT(target, pname, params);} - GLEEPFNGLGETHISTOGRAMPARAMETERIVEXTPROC GLeeFuncPtr_glGetHistogramParameterivEXT=GLee_Lazy_glGetHistogramParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmaxEXT -#define GLEE_C_DEFINED_glGetMinmaxEXT - void __stdcall GLee_Lazy_glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) {if (GLeeInit()) glGetMinmaxEXT(target, reset, format, type, values);} - GLEEPFNGLGETMINMAXEXTPROC GLeeFuncPtr_glGetMinmaxEXT=GLee_Lazy_glGetMinmaxEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmaxParameterfvEXT -#define GLEE_C_DEFINED_glGetMinmaxParameterfvEXT - void __stdcall GLee_Lazy_glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMinmaxParameterfvEXT(target, pname, params);} - GLEEPFNGLGETMINMAXPARAMETERFVEXTPROC GLeeFuncPtr_glGetMinmaxParameterfvEXT=GLee_Lazy_glGetMinmaxParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMinmaxParameterivEXT -#define GLEE_C_DEFINED_glGetMinmaxParameterivEXT - void __stdcall GLee_Lazy_glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMinmaxParameterivEXT(target, pname, params);} - GLEEPFNGLGETMINMAXPARAMETERIVEXTPROC GLeeFuncPtr_glGetMinmaxParameterivEXT=GLee_Lazy_glGetMinmaxParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glHistogramEXT -#define GLEE_C_DEFINED_glHistogramEXT - void __stdcall GLee_Lazy_glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) {if (GLeeInit()) glHistogramEXT(target, width, internalformat, sink);} - GLEEPFNGLHISTOGRAMEXTPROC GLeeFuncPtr_glHistogramEXT=GLee_Lazy_glHistogramEXT; -#endif -#ifndef GLEE_C_DEFINED_glMinmaxEXT -#define GLEE_C_DEFINED_glMinmaxEXT - void __stdcall GLee_Lazy_glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink) {if (GLeeInit()) glMinmaxEXT(target, internalformat, sink);} - GLEEPFNGLMINMAXEXTPROC GLeeFuncPtr_glMinmaxEXT=GLee_Lazy_glMinmaxEXT; -#endif -#ifndef GLEE_C_DEFINED_glResetHistogramEXT -#define GLEE_C_DEFINED_glResetHistogramEXT - void __stdcall GLee_Lazy_glResetHistogramEXT(GLenum target) {if (GLeeInit()) glResetHistogramEXT(target);} - GLEEPFNGLRESETHISTOGRAMEXTPROC GLeeFuncPtr_glResetHistogramEXT=GLee_Lazy_glResetHistogramEXT; -#endif -#ifndef GLEE_C_DEFINED_glResetMinmaxEXT -#define GLEE_C_DEFINED_glResetMinmaxEXT - void __stdcall GLee_Lazy_glResetMinmaxEXT(GLenum target) {if (GLeeInit()) glResetMinmaxEXT(target);} - GLEEPFNGLRESETMINMAXEXTPROC GLeeFuncPtr_glResetMinmaxEXT=GLee_Lazy_glResetMinmaxEXT; -#endif -#endif - -/* GL_EXT_convolution */ - -#ifdef __GLEE_GL_EXT_convolution -#ifndef GLEE_C_DEFINED_glConvolutionFilter1DEXT -#define GLEE_C_DEFINED_glConvolutionFilter1DEXT - void __stdcall GLee_Lazy_glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image) {if (GLeeInit()) glConvolutionFilter1DEXT(target, internalformat, width, format, type, image);} - GLEEPFNGLCONVOLUTIONFILTER1DEXTPROC GLeeFuncPtr_glConvolutionFilter1DEXT=GLee_Lazy_glConvolutionFilter1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionFilter2DEXT -#define GLEE_C_DEFINED_glConvolutionFilter2DEXT - void __stdcall GLee_Lazy_glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image) {if (GLeeInit()) glConvolutionFilter2DEXT(target, internalformat, width, height, format, type, image);} - GLEEPFNGLCONVOLUTIONFILTER2DEXTPROC GLeeFuncPtr_glConvolutionFilter2DEXT=GLee_Lazy_glConvolutionFilter2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterfEXT -#define GLEE_C_DEFINED_glConvolutionParameterfEXT - void __stdcall GLee_Lazy_glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat params) {if (GLeeInit()) glConvolutionParameterfEXT(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERFEXTPROC GLeeFuncPtr_glConvolutionParameterfEXT=GLee_Lazy_glConvolutionParameterfEXT; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterfvEXT -#define GLEE_C_DEFINED_glConvolutionParameterfvEXT - void __stdcall GLee_Lazy_glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glConvolutionParameterfvEXT(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERFVEXTPROC GLeeFuncPtr_glConvolutionParameterfvEXT=GLee_Lazy_glConvolutionParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameteriEXT -#define GLEE_C_DEFINED_glConvolutionParameteriEXT - void __stdcall GLee_Lazy_glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint params) {if (GLeeInit()) glConvolutionParameteriEXT(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERIEXTPROC GLeeFuncPtr_glConvolutionParameteriEXT=GLee_Lazy_glConvolutionParameteriEXT; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterivEXT -#define GLEE_C_DEFINED_glConvolutionParameterivEXT - void __stdcall GLee_Lazy_glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glConvolutionParameterivEXT(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERIVEXTPROC GLeeFuncPtr_glConvolutionParameterivEXT=GLee_Lazy_glConvolutionParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyConvolutionFilter1DEXT -#define GLEE_C_DEFINED_glCopyConvolutionFilter1DEXT - void __stdcall GLee_Lazy_glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyConvolutionFilter1DEXT(target, internalformat, x, y, width);} - GLEEPFNGLCOPYCONVOLUTIONFILTER1DEXTPROC GLeeFuncPtr_glCopyConvolutionFilter1DEXT=GLee_Lazy_glCopyConvolutionFilter1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyConvolutionFilter2DEXT -#define GLEE_C_DEFINED_glCopyConvolutionFilter2DEXT - void __stdcall GLee_Lazy_glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height);} - GLEEPFNGLCOPYCONVOLUTIONFILTER2DEXTPROC GLeeFuncPtr_glCopyConvolutionFilter2DEXT=GLee_Lazy_glCopyConvolutionFilter2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionFilterEXT -#define GLEE_C_DEFINED_glGetConvolutionFilterEXT - void __stdcall GLee_Lazy_glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid * image) {if (GLeeInit()) glGetConvolutionFilterEXT(target, format, type, image);} - GLEEPFNGLGETCONVOLUTIONFILTEREXTPROC GLeeFuncPtr_glGetConvolutionFilterEXT=GLee_Lazy_glGetConvolutionFilterEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionParameterfvEXT -#define GLEE_C_DEFINED_glGetConvolutionParameterfvEXT - void __stdcall GLee_Lazy_glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetConvolutionParameterfvEXT(target, pname, params);} - GLEEPFNGLGETCONVOLUTIONPARAMETERFVEXTPROC GLeeFuncPtr_glGetConvolutionParameterfvEXT=GLee_Lazy_glGetConvolutionParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionParameterivEXT -#define GLEE_C_DEFINED_glGetConvolutionParameterivEXT - void __stdcall GLee_Lazy_glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetConvolutionParameterivEXT(target, pname, params);} - GLEEPFNGLGETCONVOLUTIONPARAMETERIVEXTPROC GLeeFuncPtr_glGetConvolutionParameterivEXT=GLee_Lazy_glGetConvolutionParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetSeparableFilterEXT -#define GLEE_C_DEFINED_glGetSeparableFilterEXT - void __stdcall GLee_Lazy_glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span) {if (GLeeInit()) glGetSeparableFilterEXT(target, format, type, row, column, span);} - GLEEPFNGLGETSEPARABLEFILTEREXTPROC GLeeFuncPtr_glGetSeparableFilterEXT=GLee_Lazy_glGetSeparableFilterEXT; -#endif -#ifndef GLEE_C_DEFINED_glSeparableFilter2DEXT -#define GLEE_C_DEFINED_glSeparableFilter2DEXT - void __stdcall GLee_Lazy_glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column) {if (GLeeInit()) glSeparableFilter2DEXT(target, internalformat, width, height, format, type, row, column);} - GLEEPFNGLSEPARABLEFILTER2DEXTPROC GLeeFuncPtr_glSeparableFilter2DEXT=GLee_Lazy_glSeparableFilter2DEXT; -#endif -#endif - -/* GL_SGI_color_matrix */ - -#ifdef __GLEE_GL_SGI_color_matrix -#endif - -/* GL_SGI_color_table */ - -#ifdef __GLEE_GL_SGI_color_table -#ifndef GLEE_C_DEFINED_glColorTableSGI -#define GLEE_C_DEFINED_glColorTableSGI - void __stdcall GLee_Lazy_glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table) {if (GLeeInit()) glColorTableSGI(target, internalformat, width, format, type, table);} - GLEEPFNGLCOLORTABLESGIPROC GLeeFuncPtr_glColorTableSGI=GLee_Lazy_glColorTableSGI; -#endif -#ifndef GLEE_C_DEFINED_glColorTableParameterfvSGI -#define GLEE_C_DEFINED_glColorTableParameterfvSGI - void __stdcall GLee_Lazy_glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glColorTableParameterfvSGI(target, pname, params);} - GLEEPFNGLCOLORTABLEPARAMETERFVSGIPROC GLeeFuncPtr_glColorTableParameterfvSGI=GLee_Lazy_glColorTableParameterfvSGI; -#endif -#ifndef GLEE_C_DEFINED_glColorTableParameterivSGI -#define GLEE_C_DEFINED_glColorTableParameterivSGI - void __stdcall GLee_Lazy_glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glColorTableParameterivSGI(target, pname, params);} - GLEEPFNGLCOLORTABLEPARAMETERIVSGIPROC GLeeFuncPtr_glColorTableParameterivSGI=GLee_Lazy_glColorTableParameterivSGI; -#endif -#ifndef GLEE_C_DEFINED_glCopyColorTableSGI -#define GLEE_C_DEFINED_glCopyColorTableSGI - void __stdcall GLee_Lazy_glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyColorTableSGI(target, internalformat, x, y, width);} - GLEEPFNGLCOPYCOLORTABLESGIPROC GLeeFuncPtr_glCopyColorTableSGI=GLee_Lazy_glCopyColorTableSGI; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableSGI -#define GLEE_C_DEFINED_glGetColorTableSGI - void __stdcall GLee_Lazy_glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid * table) {if (GLeeInit()) glGetColorTableSGI(target, format, type, table);} - GLEEPFNGLGETCOLORTABLESGIPROC GLeeFuncPtr_glGetColorTableSGI=GLee_Lazy_glGetColorTableSGI; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameterfvSGI -#define GLEE_C_DEFINED_glGetColorTableParameterfvSGI - void __stdcall GLee_Lazy_glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetColorTableParameterfvSGI(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERFVSGIPROC GLeeFuncPtr_glGetColorTableParameterfvSGI=GLee_Lazy_glGetColorTableParameterfvSGI; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameterivSGI -#define GLEE_C_DEFINED_glGetColorTableParameterivSGI - void __stdcall GLee_Lazy_glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetColorTableParameterivSGI(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERIVSGIPROC GLeeFuncPtr_glGetColorTableParameterivSGI=GLee_Lazy_glGetColorTableParameterivSGI; -#endif -#endif - -/* GL_SGIS_pixel_texture */ - -#ifdef __GLEE_GL_SGIS_pixel_texture -#ifndef GLEE_C_DEFINED_glPixelTexGenParameteriSGIS -#define GLEE_C_DEFINED_glPixelTexGenParameteriSGIS - void __stdcall GLee_Lazy_glPixelTexGenParameteriSGIS(GLenum pname, GLint param) {if (GLeeInit()) glPixelTexGenParameteriSGIS(pname, param);} - GLEEPFNGLPIXELTEXGENPARAMETERISGISPROC GLeeFuncPtr_glPixelTexGenParameteriSGIS=GLee_Lazy_glPixelTexGenParameteriSGIS; -#endif -#ifndef GLEE_C_DEFINED_glPixelTexGenParameterivSGIS -#define GLEE_C_DEFINED_glPixelTexGenParameterivSGIS - void __stdcall GLee_Lazy_glPixelTexGenParameterivSGIS(GLenum pname, const GLint * params) {if (GLeeInit()) glPixelTexGenParameterivSGIS(pname, params);} - GLEEPFNGLPIXELTEXGENPARAMETERIVSGISPROC GLeeFuncPtr_glPixelTexGenParameterivSGIS=GLee_Lazy_glPixelTexGenParameterivSGIS; -#endif -#ifndef GLEE_C_DEFINED_glPixelTexGenParameterfSGIS -#define GLEE_C_DEFINED_glPixelTexGenParameterfSGIS - void __stdcall GLee_Lazy_glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param) {if (GLeeInit()) glPixelTexGenParameterfSGIS(pname, param);} - GLEEPFNGLPIXELTEXGENPARAMETERFSGISPROC GLeeFuncPtr_glPixelTexGenParameterfSGIS=GLee_Lazy_glPixelTexGenParameterfSGIS; -#endif -#ifndef GLEE_C_DEFINED_glPixelTexGenParameterfvSGIS -#define GLEE_C_DEFINED_glPixelTexGenParameterfvSGIS - void __stdcall GLee_Lazy_glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat * params) {if (GLeeInit()) glPixelTexGenParameterfvSGIS(pname, params);} - GLEEPFNGLPIXELTEXGENPARAMETERFVSGISPROC GLeeFuncPtr_glPixelTexGenParameterfvSGIS=GLee_Lazy_glPixelTexGenParameterfvSGIS; -#endif -#ifndef GLEE_C_DEFINED_glGetPixelTexGenParameterivSGIS -#define GLEE_C_DEFINED_glGetPixelTexGenParameterivSGIS - void __stdcall GLee_Lazy_glGetPixelTexGenParameterivSGIS(GLenum pname, GLint * params) {if (GLeeInit()) glGetPixelTexGenParameterivSGIS(pname, params);} - GLEEPFNGLGETPIXELTEXGENPARAMETERIVSGISPROC GLeeFuncPtr_glGetPixelTexGenParameterivSGIS=GLee_Lazy_glGetPixelTexGenParameterivSGIS; -#endif -#ifndef GLEE_C_DEFINED_glGetPixelTexGenParameterfvSGIS -#define GLEE_C_DEFINED_glGetPixelTexGenParameterfvSGIS - void __stdcall GLee_Lazy_glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat * params) {if (GLeeInit()) glGetPixelTexGenParameterfvSGIS(pname, params);} - GLEEPFNGLGETPIXELTEXGENPARAMETERFVSGISPROC GLeeFuncPtr_glGetPixelTexGenParameterfvSGIS=GLee_Lazy_glGetPixelTexGenParameterfvSGIS; -#endif -#endif - -/* GL_SGIX_pixel_texture */ - -#ifdef __GLEE_GL_SGIX_pixel_texture -#ifndef GLEE_C_DEFINED_glPixelTexGenSGIX -#define GLEE_C_DEFINED_glPixelTexGenSGIX - void __stdcall GLee_Lazy_glPixelTexGenSGIX(GLenum mode) {if (GLeeInit()) glPixelTexGenSGIX(mode);} - GLEEPFNGLPIXELTEXGENSGIXPROC GLeeFuncPtr_glPixelTexGenSGIX=GLee_Lazy_glPixelTexGenSGIX; -#endif -#endif - -/* GL_SGIS_texture4D */ - -#ifdef __GLEE_GL_SGIS_texture4D -#ifndef GLEE_C_DEFINED_glTexImage4DSGIS -#define GLEE_C_DEFINED_glTexImage4DSGIS - void __stdcall GLee_Lazy_glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexImage4DSGIS(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels);} - GLEEPFNGLTEXIMAGE4DSGISPROC GLeeFuncPtr_glTexImage4DSGIS=GLee_Lazy_glTexImage4DSGIS; -#endif -#ifndef GLEE_C_DEFINED_glTexSubImage4DSGIS -#define GLEE_C_DEFINED_glTexSubImage4DSGIS - void __stdcall GLee_Lazy_glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTexSubImage4DSGIS(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels);} - GLEEPFNGLTEXSUBIMAGE4DSGISPROC GLeeFuncPtr_glTexSubImage4DSGIS=GLee_Lazy_glTexSubImage4DSGIS; -#endif -#endif - -/* GL_SGI_texture_color_table */ - -#ifdef __GLEE_GL_SGI_texture_color_table -#endif - -/* GL_EXT_cmyka */ - -#ifdef __GLEE_GL_EXT_cmyka -#endif - -/* GL_EXT_texture_object */ - -#ifdef __GLEE_GL_EXT_texture_object -#ifndef GLEE_C_DEFINED_glAreTexturesResidentEXT -#define GLEE_C_DEFINED_glAreTexturesResidentEXT - GLboolean __stdcall GLee_Lazy_glAreTexturesResidentEXT(GLsizei n, const GLuint * textures, GLboolean * residences) {if (GLeeInit()) return glAreTexturesResidentEXT(n, textures, residences); return (GLboolean)0;} - GLEEPFNGLARETEXTURESRESIDENTEXTPROC GLeeFuncPtr_glAreTexturesResidentEXT=GLee_Lazy_glAreTexturesResidentEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindTextureEXT -#define GLEE_C_DEFINED_glBindTextureEXT - void __stdcall GLee_Lazy_glBindTextureEXT(GLenum target, GLuint texture) {if (GLeeInit()) glBindTextureEXT(target, texture);} - GLEEPFNGLBINDTEXTUREEXTPROC GLeeFuncPtr_glBindTextureEXT=GLee_Lazy_glBindTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glDeleteTexturesEXT -#define GLEE_C_DEFINED_glDeleteTexturesEXT - void __stdcall GLee_Lazy_glDeleteTexturesEXT(GLsizei n, const GLuint * textures) {if (GLeeInit()) glDeleteTexturesEXT(n, textures);} - GLEEPFNGLDELETETEXTURESEXTPROC GLeeFuncPtr_glDeleteTexturesEXT=GLee_Lazy_glDeleteTexturesEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenTexturesEXT -#define GLEE_C_DEFINED_glGenTexturesEXT - void __stdcall GLee_Lazy_glGenTexturesEXT(GLsizei n, GLuint * textures) {if (GLeeInit()) glGenTexturesEXT(n, textures);} - GLEEPFNGLGENTEXTURESEXTPROC GLeeFuncPtr_glGenTexturesEXT=GLee_Lazy_glGenTexturesEXT; -#endif -#ifndef GLEE_C_DEFINED_glIsTextureEXT -#define GLEE_C_DEFINED_glIsTextureEXT - GLboolean __stdcall GLee_Lazy_glIsTextureEXT(GLuint texture) {if (GLeeInit()) return glIsTextureEXT(texture); return (GLboolean)0;} - GLEEPFNGLISTEXTUREEXTPROC GLeeFuncPtr_glIsTextureEXT=GLee_Lazy_glIsTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glPrioritizeTexturesEXT -#define GLEE_C_DEFINED_glPrioritizeTexturesEXT - void __stdcall GLee_Lazy_glPrioritizeTexturesEXT(GLsizei n, const GLuint * textures, const GLclampf * priorities) {if (GLeeInit()) glPrioritizeTexturesEXT(n, textures, priorities);} - GLEEPFNGLPRIORITIZETEXTURESEXTPROC GLeeFuncPtr_glPrioritizeTexturesEXT=GLee_Lazy_glPrioritizeTexturesEXT; -#endif -#endif - -/* GL_SGIS_detail_texture */ - -#ifdef __GLEE_GL_SGIS_detail_texture -#ifndef GLEE_C_DEFINED_glDetailTexFuncSGIS -#define GLEE_C_DEFINED_glDetailTexFuncSGIS - void __stdcall GLee_Lazy_glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat * points) {if (GLeeInit()) glDetailTexFuncSGIS(target, n, points);} - GLEEPFNGLDETAILTEXFUNCSGISPROC GLeeFuncPtr_glDetailTexFuncSGIS=GLee_Lazy_glDetailTexFuncSGIS; -#endif -#ifndef GLEE_C_DEFINED_glGetDetailTexFuncSGIS -#define GLEE_C_DEFINED_glGetDetailTexFuncSGIS - void __stdcall GLee_Lazy_glGetDetailTexFuncSGIS(GLenum target, GLfloat * points) {if (GLeeInit()) glGetDetailTexFuncSGIS(target, points);} - GLEEPFNGLGETDETAILTEXFUNCSGISPROC GLeeFuncPtr_glGetDetailTexFuncSGIS=GLee_Lazy_glGetDetailTexFuncSGIS; -#endif -#endif - -/* GL_SGIS_sharpen_texture */ - -#ifdef __GLEE_GL_SGIS_sharpen_texture -#ifndef GLEE_C_DEFINED_glSharpenTexFuncSGIS -#define GLEE_C_DEFINED_glSharpenTexFuncSGIS - void __stdcall GLee_Lazy_glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat * points) {if (GLeeInit()) glSharpenTexFuncSGIS(target, n, points);} - GLEEPFNGLSHARPENTEXFUNCSGISPROC GLeeFuncPtr_glSharpenTexFuncSGIS=GLee_Lazy_glSharpenTexFuncSGIS; -#endif -#ifndef GLEE_C_DEFINED_glGetSharpenTexFuncSGIS -#define GLEE_C_DEFINED_glGetSharpenTexFuncSGIS - void __stdcall GLee_Lazy_glGetSharpenTexFuncSGIS(GLenum target, GLfloat * points) {if (GLeeInit()) glGetSharpenTexFuncSGIS(target, points);} - GLEEPFNGLGETSHARPENTEXFUNCSGISPROC GLeeFuncPtr_glGetSharpenTexFuncSGIS=GLee_Lazy_glGetSharpenTexFuncSGIS; -#endif -#endif - -/* GL_EXT_packed_pixels */ - -#ifdef __GLEE_GL_EXT_packed_pixels -#endif - -/* GL_SGIS_texture_lod */ - -#ifdef __GLEE_GL_SGIS_texture_lod -#endif - -/* GL_SGIS_multisample */ - -#ifdef __GLEE_GL_SGIS_multisample -#ifndef GLEE_C_DEFINED_glSampleMaskSGIS -#define GLEE_C_DEFINED_glSampleMaskSGIS - void __stdcall GLee_Lazy_glSampleMaskSGIS(GLclampf value, GLboolean invert) {if (GLeeInit()) glSampleMaskSGIS(value, invert);} - GLEEPFNGLSAMPLEMASKSGISPROC GLeeFuncPtr_glSampleMaskSGIS=GLee_Lazy_glSampleMaskSGIS; -#endif -#ifndef GLEE_C_DEFINED_glSamplePatternSGIS -#define GLEE_C_DEFINED_glSamplePatternSGIS - void __stdcall GLee_Lazy_glSamplePatternSGIS(GLenum pattern) {if (GLeeInit()) glSamplePatternSGIS(pattern);} - GLEEPFNGLSAMPLEPATTERNSGISPROC GLeeFuncPtr_glSamplePatternSGIS=GLee_Lazy_glSamplePatternSGIS; -#endif -#endif - -/* GL_EXT_rescale_normal */ - -#ifdef __GLEE_GL_EXT_rescale_normal -#endif - -/* GL_EXT_vertex_array */ - -#ifdef __GLEE_GL_EXT_vertex_array -#ifndef GLEE_C_DEFINED_glArrayElementEXT -#define GLEE_C_DEFINED_glArrayElementEXT - void __stdcall GLee_Lazy_glArrayElementEXT(GLint i) {if (GLeeInit()) glArrayElementEXT(i);} - GLEEPFNGLARRAYELEMENTEXTPROC GLeeFuncPtr_glArrayElementEXT=GLee_Lazy_glArrayElementEXT; -#endif -#ifndef GLEE_C_DEFINED_glColorPointerEXT -#define GLEE_C_DEFINED_glColorPointerEXT - void __stdcall GLee_Lazy_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer) {if (GLeeInit()) glColorPointerEXT(size, type, stride, count, pointer);} - GLEEPFNGLCOLORPOINTEREXTPROC GLeeFuncPtr_glColorPointerEXT=GLee_Lazy_glColorPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glDrawArraysEXT -#define GLEE_C_DEFINED_glDrawArraysEXT - void __stdcall GLee_Lazy_glDrawArraysEXT(GLenum mode, GLint first, GLsizei count) {if (GLeeInit()) glDrawArraysEXT(mode, first, count);} - GLEEPFNGLDRAWARRAYSEXTPROC GLeeFuncPtr_glDrawArraysEXT=GLee_Lazy_glDrawArraysEXT; -#endif -#ifndef GLEE_C_DEFINED_glEdgeFlagPointerEXT -#define GLEE_C_DEFINED_glEdgeFlagPointerEXT - void __stdcall GLee_Lazy_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean * pointer) {if (GLeeInit()) glEdgeFlagPointerEXT(stride, count, pointer);} - GLEEPFNGLEDGEFLAGPOINTEREXTPROC GLeeFuncPtr_glEdgeFlagPointerEXT=GLee_Lazy_glEdgeFlagPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetPointervEXT -#define GLEE_C_DEFINED_glGetPointervEXT - void __stdcall GLee_Lazy_glGetPointervEXT(GLenum pname, GLvoid* * params) {if (GLeeInit()) glGetPointervEXT(pname, params);} - GLEEPFNGLGETPOINTERVEXTPROC GLeeFuncPtr_glGetPointervEXT=GLee_Lazy_glGetPointervEXT; -#endif -#ifndef GLEE_C_DEFINED_glIndexPointerEXT -#define GLEE_C_DEFINED_glIndexPointerEXT - void __stdcall GLee_Lazy_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer) {if (GLeeInit()) glIndexPointerEXT(type, stride, count, pointer);} - GLEEPFNGLINDEXPOINTEREXTPROC GLeeFuncPtr_glIndexPointerEXT=GLee_Lazy_glIndexPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glNormalPointerEXT -#define GLEE_C_DEFINED_glNormalPointerEXT - void __stdcall GLee_Lazy_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer) {if (GLeeInit()) glNormalPointerEXT(type, stride, count, pointer);} - GLEEPFNGLNORMALPOINTEREXTPROC GLeeFuncPtr_glNormalPointerEXT=GLee_Lazy_glNormalPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordPointerEXT -#define GLEE_C_DEFINED_glTexCoordPointerEXT - void __stdcall GLee_Lazy_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer) {if (GLeeInit()) glTexCoordPointerEXT(size, type, stride, count, pointer);} - GLEEPFNGLTEXCOORDPOINTEREXTPROC GLeeFuncPtr_glTexCoordPointerEXT=GLee_Lazy_glTexCoordPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexPointerEXT -#define GLEE_C_DEFINED_glVertexPointerEXT - void __stdcall GLee_Lazy_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer) {if (GLeeInit()) glVertexPointerEXT(size, type, stride, count, pointer);} - GLEEPFNGLVERTEXPOINTEREXTPROC GLeeFuncPtr_glVertexPointerEXT=GLee_Lazy_glVertexPointerEXT; -#endif -#endif - -/* GL_EXT_misc_attribute */ - -#ifdef __GLEE_GL_EXT_misc_attribute -#endif - -/* GL_SGIS_generate_mipmap */ - -#ifdef __GLEE_GL_SGIS_generate_mipmap -#endif - -/* GL_SGIX_clipmap */ - -#ifdef __GLEE_GL_SGIX_clipmap -#endif - -/* GL_SGIX_shadow */ - -#ifdef __GLEE_GL_SGIX_shadow -#endif - -/* GL_SGIS_texture_edge_clamp */ - -#ifdef __GLEE_GL_SGIS_texture_edge_clamp -#endif - -/* GL_SGIS_texture_border_clamp */ - -#ifdef __GLEE_GL_SGIS_texture_border_clamp -#endif - -/* GL_EXT_blend_minmax */ - -#ifdef __GLEE_GL_EXT_blend_minmax -#ifndef GLEE_C_DEFINED_glBlendEquationEXT -#define GLEE_C_DEFINED_glBlendEquationEXT - void __stdcall GLee_Lazy_glBlendEquationEXT(GLenum mode) {if (GLeeInit()) glBlendEquationEXT(mode);} - GLEEPFNGLBLENDEQUATIONEXTPROC GLeeFuncPtr_glBlendEquationEXT=GLee_Lazy_glBlendEquationEXT; -#endif -#endif - -/* GL_EXT_blend_subtract */ - -#ifdef __GLEE_GL_EXT_blend_subtract -#endif - -/* GL_EXT_blend_logic_op */ - -#ifdef __GLEE_GL_EXT_blend_logic_op -#endif - -/* GL_SGIX_interlace */ - -#ifdef __GLEE_GL_SGIX_interlace -#endif - -/* GL_SGIX_pixel_tiles */ - -#ifdef __GLEE_GL_SGIX_pixel_tiles -#endif - -/* GL_SGIS_texture_select */ - -#ifdef __GLEE_GL_SGIS_texture_select -#endif - -/* GL_SGIX_sprite */ - -#ifdef __GLEE_GL_SGIX_sprite -#ifndef GLEE_C_DEFINED_glSpriteParameterfSGIX -#define GLEE_C_DEFINED_glSpriteParameterfSGIX - void __stdcall GLee_Lazy_glSpriteParameterfSGIX(GLenum pname, GLfloat param) {if (GLeeInit()) glSpriteParameterfSGIX(pname, param);} - GLEEPFNGLSPRITEPARAMETERFSGIXPROC GLeeFuncPtr_glSpriteParameterfSGIX=GLee_Lazy_glSpriteParameterfSGIX; -#endif -#ifndef GLEE_C_DEFINED_glSpriteParameterfvSGIX -#define GLEE_C_DEFINED_glSpriteParameterfvSGIX - void __stdcall GLee_Lazy_glSpriteParameterfvSGIX(GLenum pname, const GLfloat * params) {if (GLeeInit()) glSpriteParameterfvSGIX(pname, params);} - GLEEPFNGLSPRITEPARAMETERFVSGIXPROC GLeeFuncPtr_glSpriteParameterfvSGIX=GLee_Lazy_glSpriteParameterfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glSpriteParameteriSGIX -#define GLEE_C_DEFINED_glSpriteParameteriSGIX - void __stdcall GLee_Lazy_glSpriteParameteriSGIX(GLenum pname, GLint param) {if (GLeeInit()) glSpriteParameteriSGIX(pname, param);} - GLEEPFNGLSPRITEPARAMETERISGIXPROC GLeeFuncPtr_glSpriteParameteriSGIX=GLee_Lazy_glSpriteParameteriSGIX; -#endif -#ifndef GLEE_C_DEFINED_glSpriteParameterivSGIX -#define GLEE_C_DEFINED_glSpriteParameterivSGIX - void __stdcall GLee_Lazy_glSpriteParameterivSGIX(GLenum pname, const GLint * params) {if (GLeeInit()) glSpriteParameterivSGIX(pname, params);} - GLEEPFNGLSPRITEPARAMETERIVSGIXPROC GLeeFuncPtr_glSpriteParameterivSGIX=GLee_Lazy_glSpriteParameterivSGIX; -#endif -#endif - -/* GL_SGIX_texture_multi_buffer */ - -#ifdef __GLEE_GL_SGIX_texture_multi_buffer -#endif - -/* GL_EXT_point_parameters */ - -#ifdef __GLEE_GL_EXT_point_parameters -#ifndef GLEE_C_DEFINED_glPointParameterfEXT -#define GLEE_C_DEFINED_glPointParameterfEXT - void __stdcall GLee_Lazy_glPointParameterfEXT(GLenum pname, GLfloat param) {if (GLeeInit()) glPointParameterfEXT(pname, param);} - GLEEPFNGLPOINTPARAMETERFEXTPROC GLeeFuncPtr_glPointParameterfEXT=GLee_Lazy_glPointParameterfEXT; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterfvEXT -#define GLEE_C_DEFINED_glPointParameterfvEXT - void __stdcall GLee_Lazy_glPointParameterfvEXT(GLenum pname, const GLfloat * params) {if (GLeeInit()) glPointParameterfvEXT(pname, params);} - GLEEPFNGLPOINTPARAMETERFVEXTPROC GLeeFuncPtr_glPointParameterfvEXT=GLee_Lazy_glPointParameterfvEXT; -#endif -#endif - -/* GL_SGIS_point_parameters */ - -#ifdef __GLEE_GL_SGIS_point_parameters -#ifndef GLEE_C_DEFINED_glPointParameterfSGIS -#define GLEE_C_DEFINED_glPointParameterfSGIS - void __stdcall GLee_Lazy_glPointParameterfSGIS(GLenum pname, GLfloat param) {if (GLeeInit()) glPointParameterfSGIS(pname, param);} - GLEEPFNGLPOINTPARAMETERFSGISPROC GLeeFuncPtr_glPointParameterfSGIS=GLee_Lazy_glPointParameterfSGIS; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterfvSGIS -#define GLEE_C_DEFINED_glPointParameterfvSGIS - void __stdcall GLee_Lazy_glPointParameterfvSGIS(GLenum pname, const GLfloat * params) {if (GLeeInit()) glPointParameterfvSGIS(pname, params);} - GLEEPFNGLPOINTPARAMETERFVSGISPROC GLeeFuncPtr_glPointParameterfvSGIS=GLee_Lazy_glPointParameterfvSGIS; -#endif -#endif - -/* GL_SGIX_instruments */ - -#ifdef __GLEE_GL_SGIX_instruments -#ifndef GLEE_C_DEFINED_glGetInstrumentsSGIX -#define GLEE_C_DEFINED_glGetInstrumentsSGIX - GLint __stdcall GLee_Lazy_glGetInstrumentsSGIX(void) {if (GLeeInit()) return glGetInstrumentsSGIX(); return (GLint)0;} - GLEEPFNGLGETINSTRUMENTSSGIXPROC GLeeFuncPtr_glGetInstrumentsSGIX=GLee_Lazy_glGetInstrumentsSGIX; -#endif -#ifndef GLEE_C_DEFINED_glInstrumentsBufferSGIX -#define GLEE_C_DEFINED_glInstrumentsBufferSGIX - void __stdcall GLee_Lazy_glInstrumentsBufferSGIX(GLsizei size, GLint * buffer) {if (GLeeInit()) glInstrumentsBufferSGIX(size, buffer);} - GLEEPFNGLINSTRUMENTSBUFFERSGIXPROC GLeeFuncPtr_glInstrumentsBufferSGIX=GLee_Lazy_glInstrumentsBufferSGIX; -#endif -#ifndef GLEE_C_DEFINED_glPollInstrumentsSGIX -#define GLEE_C_DEFINED_glPollInstrumentsSGIX - GLint __stdcall GLee_Lazy_glPollInstrumentsSGIX(GLint * marker_p) {if (GLeeInit()) return glPollInstrumentsSGIX(marker_p); return (GLint)0;} - GLEEPFNGLPOLLINSTRUMENTSSGIXPROC GLeeFuncPtr_glPollInstrumentsSGIX=GLee_Lazy_glPollInstrumentsSGIX; -#endif -#ifndef GLEE_C_DEFINED_glReadInstrumentsSGIX -#define GLEE_C_DEFINED_glReadInstrumentsSGIX - void __stdcall GLee_Lazy_glReadInstrumentsSGIX(GLint marker) {if (GLeeInit()) glReadInstrumentsSGIX(marker);} - GLEEPFNGLREADINSTRUMENTSSGIXPROC GLeeFuncPtr_glReadInstrumentsSGIX=GLee_Lazy_glReadInstrumentsSGIX; -#endif -#ifndef GLEE_C_DEFINED_glStartInstrumentsSGIX -#define GLEE_C_DEFINED_glStartInstrumentsSGIX - void __stdcall GLee_Lazy_glStartInstrumentsSGIX(void) {if (GLeeInit()) glStartInstrumentsSGIX();} - GLEEPFNGLSTARTINSTRUMENTSSGIXPROC GLeeFuncPtr_glStartInstrumentsSGIX=GLee_Lazy_glStartInstrumentsSGIX; -#endif -#ifndef GLEE_C_DEFINED_glStopInstrumentsSGIX -#define GLEE_C_DEFINED_glStopInstrumentsSGIX - void __stdcall GLee_Lazy_glStopInstrumentsSGIX(GLint marker) {if (GLeeInit()) glStopInstrumentsSGIX(marker);} - GLEEPFNGLSTOPINSTRUMENTSSGIXPROC GLeeFuncPtr_glStopInstrumentsSGIX=GLee_Lazy_glStopInstrumentsSGIX; -#endif -#endif - -/* GL_SGIX_texture_scale_bias */ - -#ifdef __GLEE_GL_SGIX_texture_scale_bias -#endif - -/* GL_SGIX_framezoom */ - -#ifdef __GLEE_GL_SGIX_framezoom -#ifndef GLEE_C_DEFINED_glFrameZoomSGIX -#define GLEE_C_DEFINED_glFrameZoomSGIX - void __stdcall GLee_Lazy_glFrameZoomSGIX(GLint factor) {if (GLeeInit()) glFrameZoomSGIX(factor);} - GLEEPFNGLFRAMEZOOMSGIXPROC GLeeFuncPtr_glFrameZoomSGIX=GLee_Lazy_glFrameZoomSGIX; -#endif -#endif - -/* GL_SGIX_tag_sample_buffer */ - -#ifdef __GLEE_GL_SGIX_tag_sample_buffer -#ifndef GLEE_C_DEFINED_glTagSampleBufferSGIX -#define GLEE_C_DEFINED_glTagSampleBufferSGIX - void __stdcall GLee_Lazy_glTagSampleBufferSGIX(void) {if (GLeeInit()) glTagSampleBufferSGIX();} - GLEEPFNGLTAGSAMPLEBUFFERSGIXPROC GLeeFuncPtr_glTagSampleBufferSGIX=GLee_Lazy_glTagSampleBufferSGIX; -#endif -#endif - -/* GL_FfdMaskSGIX */ - -#ifdef __GLEE_GL_FfdMaskSGIX -#endif - -/* GL_SGIX_polynomial_ffd */ - -#ifdef __GLEE_GL_SGIX_polynomial_ffd -#ifndef GLEE_C_DEFINED_glDeformationMap3dSGIX -#define GLEE_C_DEFINED_glDeformationMap3dSGIX - void __stdcall GLee_Lazy_glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble * points) {if (GLeeInit()) glDeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);} - GLEEPFNGLDEFORMATIONMAP3DSGIXPROC GLeeFuncPtr_glDeformationMap3dSGIX=GLee_Lazy_glDeformationMap3dSGIX; -#endif -#ifndef GLEE_C_DEFINED_glDeformationMap3fSGIX -#define GLEE_C_DEFINED_glDeformationMap3fSGIX - void __stdcall GLee_Lazy_glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat * points) {if (GLeeInit()) glDeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);} - GLEEPFNGLDEFORMATIONMAP3FSGIXPROC GLeeFuncPtr_glDeformationMap3fSGIX=GLee_Lazy_glDeformationMap3fSGIX; -#endif -#ifndef GLEE_C_DEFINED_glDeformSGIX -#define GLEE_C_DEFINED_glDeformSGIX - void __stdcall GLee_Lazy_glDeformSGIX(GLbitfield mask) {if (GLeeInit()) glDeformSGIX(mask);} - GLEEPFNGLDEFORMSGIXPROC GLeeFuncPtr_glDeformSGIX=GLee_Lazy_glDeformSGIX; -#endif -#ifndef GLEE_C_DEFINED_glLoadIdentityDeformationMapSGIX -#define GLEE_C_DEFINED_glLoadIdentityDeformationMapSGIX - void __stdcall GLee_Lazy_glLoadIdentityDeformationMapSGIX(GLbitfield mask) {if (GLeeInit()) glLoadIdentityDeformationMapSGIX(mask);} - GLEEPFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC GLeeFuncPtr_glLoadIdentityDeformationMapSGIX=GLee_Lazy_glLoadIdentityDeformationMapSGIX; -#endif -#endif - -/* GL_SGIX_reference_plane */ - -#ifdef __GLEE_GL_SGIX_reference_plane -#ifndef GLEE_C_DEFINED_glReferencePlaneSGIX -#define GLEE_C_DEFINED_glReferencePlaneSGIX - void __stdcall GLee_Lazy_glReferencePlaneSGIX(const GLdouble * equation) {if (GLeeInit()) glReferencePlaneSGIX(equation);} - GLEEPFNGLREFERENCEPLANESGIXPROC GLeeFuncPtr_glReferencePlaneSGIX=GLee_Lazy_glReferencePlaneSGIX; -#endif -#endif - -/* GL_SGIX_flush_raster */ - -#ifdef __GLEE_GL_SGIX_flush_raster -#ifndef GLEE_C_DEFINED_glFlushRasterSGIX -#define GLEE_C_DEFINED_glFlushRasterSGIX - void __stdcall GLee_Lazy_glFlushRasterSGIX(void) {if (GLeeInit()) glFlushRasterSGIX();} - GLEEPFNGLFLUSHRASTERSGIXPROC GLeeFuncPtr_glFlushRasterSGIX=GLee_Lazy_glFlushRasterSGIX; -#endif -#endif - -/* GL_SGIX_depth_texture */ - -#ifdef __GLEE_GL_SGIX_depth_texture -#endif - -/* GL_SGIS_fog_function */ - -#ifdef __GLEE_GL_SGIS_fog_function -#ifndef GLEE_C_DEFINED_glFogFuncSGIS -#define GLEE_C_DEFINED_glFogFuncSGIS - void __stdcall GLee_Lazy_glFogFuncSGIS(GLsizei n, const GLfloat * points) {if (GLeeInit()) glFogFuncSGIS(n, points);} - GLEEPFNGLFOGFUNCSGISPROC GLeeFuncPtr_glFogFuncSGIS=GLee_Lazy_glFogFuncSGIS; -#endif -#ifndef GLEE_C_DEFINED_glGetFogFuncSGIS -#define GLEE_C_DEFINED_glGetFogFuncSGIS - void __stdcall GLee_Lazy_glGetFogFuncSGIS(GLfloat * points) {if (GLeeInit()) glGetFogFuncSGIS(points);} - GLEEPFNGLGETFOGFUNCSGISPROC GLeeFuncPtr_glGetFogFuncSGIS=GLee_Lazy_glGetFogFuncSGIS; -#endif -#endif - -/* GL_SGIX_fog_offset */ - -#ifdef __GLEE_GL_SGIX_fog_offset -#endif - -/* GL_HP_image_transform */ - -#ifdef __GLEE_GL_HP_image_transform -#ifndef GLEE_C_DEFINED_glImageTransformParameteriHP -#define GLEE_C_DEFINED_glImageTransformParameteriHP - void __stdcall GLee_Lazy_glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glImageTransformParameteriHP(target, pname, param);} - GLEEPFNGLIMAGETRANSFORMPARAMETERIHPPROC GLeeFuncPtr_glImageTransformParameteriHP=GLee_Lazy_glImageTransformParameteriHP; -#endif -#ifndef GLEE_C_DEFINED_glImageTransformParameterfHP -#define GLEE_C_DEFINED_glImageTransformParameterfHP - void __stdcall GLee_Lazy_glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param) {if (GLeeInit()) glImageTransformParameterfHP(target, pname, param);} - GLEEPFNGLIMAGETRANSFORMPARAMETERFHPPROC GLeeFuncPtr_glImageTransformParameterfHP=GLee_Lazy_glImageTransformParameterfHP; -#endif -#ifndef GLEE_C_DEFINED_glImageTransformParameterivHP -#define GLEE_C_DEFINED_glImageTransformParameterivHP - void __stdcall GLee_Lazy_glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glImageTransformParameterivHP(target, pname, params);} - GLEEPFNGLIMAGETRANSFORMPARAMETERIVHPPROC GLeeFuncPtr_glImageTransformParameterivHP=GLee_Lazy_glImageTransformParameterivHP; -#endif -#ifndef GLEE_C_DEFINED_glImageTransformParameterfvHP -#define GLEE_C_DEFINED_glImageTransformParameterfvHP - void __stdcall GLee_Lazy_glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glImageTransformParameterfvHP(target, pname, params);} - GLEEPFNGLIMAGETRANSFORMPARAMETERFVHPPROC GLeeFuncPtr_glImageTransformParameterfvHP=GLee_Lazy_glImageTransformParameterfvHP; -#endif -#ifndef GLEE_C_DEFINED_glGetImageTransformParameterivHP -#define GLEE_C_DEFINED_glGetImageTransformParameterivHP - void __stdcall GLee_Lazy_glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetImageTransformParameterivHP(target, pname, params);} - GLEEPFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC GLeeFuncPtr_glGetImageTransformParameterivHP=GLee_Lazy_glGetImageTransformParameterivHP; -#endif -#ifndef GLEE_C_DEFINED_glGetImageTransformParameterfvHP -#define GLEE_C_DEFINED_glGetImageTransformParameterfvHP - void __stdcall GLee_Lazy_glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetImageTransformParameterfvHP(target, pname, params);} - GLEEPFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC GLeeFuncPtr_glGetImageTransformParameterfvHP=GLee_Lazy_glGetImageTransformParameterfvHP; -#endif -#endif - -/* GL_HP_convolution_border_modes */ - -#ifdef __GLEE_GL_HP_convolution_border_modes -#endif - -/* GL_INGR_palette_buffer */ - -#ifdef __GLEE_GL_INGR_palette_buffer -#endif - -/* GL_SGIX_texture_add_env */ - -#ifdef __GLEE_GL_SGIX_texture_add_env -#endif - -/* GL_EXT_color_subtable */ - -#ifdef __GLEE_GL_EXT_color_subtable -#ifndef GLEE_C_DEFINED_glColorSubTableEXT -#define GLEE_C_DEFINED_glColorSubTableEXT - void __stdcall GLee_Lazy_glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data) {if (GLeeInit()) glColorSubTableEXT(target, start, count, format, type, data);} - GLEEPFNGLCOLORSUBTABLEEXTPROC GLeeFuncPtr_glColorSubTableEXT=GLee_Lazy_glColorSubTableEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyColorSubTableEXT -#define GLEE_C_DEFINED_glCopyColorSubTableEXT - void __stdcall GLee_Lazy_glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyColorSubTableEXT(target, start, x, y, width);} - GLEEPFNGLCOPYCOLORSUBTABLEEXTPROC GLeeFuncPtr_glCopyColorSubTableEXT=GLee_Lazy_glCopyColorSubTableEXT; -#endif -#endif - -/* GL_PGI_vertex_hints */ - -#ifdef __GLEE_GL_PGI_vertex_hints -#endif - -/* GL_PGI_misc_hints */ - -#ifdef __GLEE_GL_PGI_misc_hints -#ifndef GLEE_C_DEFINED_glHintPGI -#define GLEE_C_DEFINED_glHintPGI - void __stdcall GLee_Lazy_glHintPGI(GLenum target, GLint mode) {if (GLeeInit()) glHintPGI(target, mode);} - GLEEPFNGLHINTPGIPROC GLeeFuncPtr_glHintPGI=GLee_Lazy_glHintPGI; -#endif -#endif - -/* GL_EXT_paletted_texture */ - -#ifdef __GLEE_GL_EXT_paletted_texture -#ifndef GLEE_C_DEFINED_glColorTableEXT -#define GLEE_C_DEFINED_glColorTableEXT - void __stdcall GLee_Lazy_glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid * table) {if (GLeeInit()) glColorTableEXT(target, internalFormat, width, format, type, table);} - GLEEPFNGLCOLORTABLEEXTPROC GLeeFuncPtr_glColorTableEXT=GLee_Lazy_glColorTableEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableEXT -#define GLEE_C_DEFINED_glGetColorTableEXT - void __stdcall GLee_Lazy_glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid * data) {if (GLeeInit()) glGetColorTableEXT(target, format, type, data);} - GLEEPFNGLGETCOLORTABLEEXTPROC GLeeFuncPtr_glGetColorTableEXT=GLee_Lazy_glGetColorTableEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameterivEXT -#define GLEE_C_DEFINED_glGetColorTableParameterivEXT - void __stdcall GLee_Lazy_glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetColorTableParameterivEXT(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERIVEXTPROC GLeeFuncPtr_glGetColorTableParameterivEXT=GLee_Lazy_glGetColorTableParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetColorTableParameterfvEXT -#define GLEE_C_DEFINED_glGetColorTableParameterfvEXT - void __stdcall GLee_Lazy_glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetColorTableParameterfvEXT(target, pname, params);} - GLEEPFNGLGETCOLORTABLEPARAMETERFVEXTPROC GLeeFuncPtr_glGetColorTableParameterfvEXT=GLee_Lazy_glGetColorTableParameterfvEXT; -#endif -#endif - -/* GL_EXT_clip_volume_hint */ - -#ifdef __GLEE_GL_EXT_clip_volume_hint -#endif - -/* GL_SGIX_list_priority */ - -#ifdef __GLEE_GL_SGIX_list_priority -#ifndef GLEE_C_DEFINED_glGetListParameterfvSGIX -#define GLEE_C_DEFINED_glGetListParameterfvSGIX - void __stdcall GLee_Lazy_glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetListParameterfvSGIX(list, pname, params);} - GLEEPFNGLGETLISTPARAMETERFVSGIXPROC GLeeFuncPtr_glGetListParameterfvSGIX=GLee_Lazy_glGetListParameterfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGetListParameterivSGIX -#define GLEE_C_DEFINED_glGetListParameterivSGIX - void __stdcall GLee_Lazy_glGetListParameterivSGIX(GLuint list, GLenum pname, GLint * params) {if (GLeeInit()) glGetListParameterivSGIX(list, pname, params);} - GLEEPFNGLGETLISTPARAMETERIVSGIXPROC GLeeFuncPtr_glGetListParameterivSGIX=GLee_Lazy_glGetListParameterivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glListParameterfSGIX -#define GLEE_C_DEFINED_glListParameterfSGIX - void __stdcall GLee_Lazy_glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param) {if (GLeeInit()) glListParameterfSGIX(list, pname, param);} - GLEEPFNGLLISTPARAMETERFSGIXPROC GLeeFuncPtr_glListParameterfSGIX=GLee_Lazy_glListParameterfSGIX; -#endif -#ifndef GLEE_C_DEFINED_glListParameterfvSGIX -#define GLEE_C_DEFINED_glListParameterfvSGIX - void __stdcall GLee_Lazy_glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat * params) {if (GLeeInit()) glListParameterfvSGIX(list, pname, params);} - GLEEPFNGLLISTPARAMETERFVSGIXPROC GLeeFuncPtr_glListParameterfvSGIX=GLee_Lazy_glListParameterfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glListParameteriSGIX -#define GLEE_C_DEFINED_glListParameteriSGIX - void __stdcall GLee_Lazy_glListParameteriSGIX(GLuint list, GLenum pname, GLint param) {if (GLeeInit()) glListParameteriSGIX(list, pname, param);} - GLEEPFNGLLISTPARAMETERISGIXPROC GLeeFuncPtr_glListParameteriSGIX=GLee_Lazy_glListParameteriSGIX; -#endif -#ifndef GLEE_C_DEFINED_glListParameterivSGIX -#define GLEE_C_DEFINED_glListParameterivSGIX - void __stdcall GLee_Lazy_glListParameterivSGIX(GLuint list, GLenum pname, const GLint * params) {if (GLeeInit()) glListParameterivSGIX(list, pname, params);} - GLEEPFNGLLISTPARAMETERIVSGIXPROC GLeeFuncPtr_glListParameterivSGIX=GLee_Lazy_glListParameterivSGIX; -#endif -#endif - -/* GL_SGIX_ir_instrument1 */ - -#ifdef __GLEE_GL_SGIX_ir_instrument1 -#endif - -/* GL_SGIX_calligraphic_fragment */ - -#ifdef __GLEE_GL_SGIX_calligraphic_fragment -#endif - -/* GL_SGIX_texture_lod_bias */ - -#ifdef __GLEE_GL_SGIX_texture_lod_bias -#endif - -/* GL_SGIX_shadow_ambient */ - -#ifdef __GLEE_GL_SGIX_shadow_ambient -#endif - -/* GL_EXT_index_texture */ - -#ifdef __GLEE_GL_EXT_index_texture -#endif - -/* GL_EXT_index_material */ - -#ifdef __GLEE_GL_EXT_index_material -#ifndef GLEE_C_DEFINED_glIndexMaterialEXT -#define GLEE_C_DEFINED_glIndexMaterialEXT - void __stdcall GLee_Lazy_glIndexMaterialEXT(GLenum face, GLenum mode) {if (GLeeInit()) glIndexMaterialEXT(face, mode);} - GLEEPFNGLINDEXMATERIALEXTPROC GLeeFuncPtr_glIndexMaterialEXT=GLee_Lazy_glIndexMaterialEXT; -#endif -#endif - -/* GL_EXT_index_func */ - -#ifdef __GLEE_GL_EXT_index_func -#ifndef GLEE_C_DEFINED_glIndexFuncEXT -#define GLEE_C_DEFINED_glIndexFuncEXT - void __stdcall GLee_Lazy_glIndexFuncEXT(GLenum func, GLclampf ref) {if (GLeeInit()) glIndexFuncEXT(func, ref);} - GLEEPFNGLINDEXFUNCEXTPROC GLeeFuncPtr_glIndexFuncEXT=GLee_Lazy_glIndexFuncEXT; -#endif -#endif - -/* GL_EXT_index_array_formats */ - -#ifdef __GLEE_GL_EXT_index_array_formats -#endif - -/* GL_EXT_compiled_vertex_array */ - -#ifdef __GLEE_GL_EXT_compiled_vertex_array -#ifndef GLEE_C_DEFINED_glLockArraysEXT -#define GLEE_C_DEFINED_glLockArraysEXT - void __stdcall GLee_Lazy_glLockArraysEXT(GLint first, GLsizei count) {if (GLeeInit()) glLockArraysEXT(first, count);} - GLEEPFNGLLOCKARRAYSEXTPROC GLeeFuncPtr_glLockArraysEXT=GLee_Lazy_glLockArraysEXT; -#endif -#ifndef GLEE_C_DEFINED_glUnlockArraysEXT -#define GLEE_C_DEFINED_glUnlockArraysEXT - void __stdcall GLee_Lazy_glUnlockArraysEXT(void) {if (GLeeInit()) glUnlockArraysEXT();} - GLEEPFNGLUNLOCKARRAYSEXTPROC GLeeFuncPtr_glUnlockArraysEXT=GLee_Lazy_glUnlockArraysEXT; -#endif -#endif - -/* GL_EXT_cull_vertex */ - -#ifdef __GLEE_GL_EXT_cull_vertex -#ifndef GLEE_C_DEFINED_glCullParameterdvEXT -#define GLEE_C_DEFINED_glCullParameterdvEXT - void __stdcall GLee_Lazy_glCullParameterdvEXT(GLenum pname, GLdouble * params) {if (GLeeInit()) glCullParameterdvEXT(pname, params);} - GLEEPFNGLCULLPARAMETERDVEXTPROC GLeeFuncPtr_glCullParameterdvEXT=GLee_Lazy_glCullParameterdvEXT; -#endif -#ifndef GLEE_C_DEFINED_glCullParameterfvEXT -#define GLEE_C_DEFINED_glCullParameterfvEXT - void __stdcall GLee_Lazy_glCullParameterfvEXT(GLenum pname, GLfloat * params) {if (GLeeInit()) glCullParameterfvEXT(pname, params);} - GLEEPFNGLCULLPARAMETERFVEXTPROC GLeeFuncPtr_glCullParameterfvEXT=GLee_Lazy_glCullParameterfvEXT; -#endif -#endif - -/* GL_SGIX_ycrcb */ - -#ifdef __GLEE_GL_SGIX_ycrcb -#endif - -/* GL_SGIX_fragment_lighting */ - -#ifdef __GLEE_GL_SGIX_fragment_lighting -#ifndef GLEE_C_DEFINED_glFragmentColorMaterialSGIX -#define GLEE_C_DEFINED_glFragmentColorMaterialSGIX - void __stdcall GLee_Lazy_glFragmentColorMaterialSGIX(GLenum face, GLenum mode) {if (GLeeInit()) glFragmentColorMaterialSGIX(face, mode);} - GLEEPFNGLFRAGMENTCOLORMATERIALSGIXPROC GLeeFuncPtr_glFragmentColorMaterialSGIX=GLee_Lazy_glFragmentColorMaterialSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightfSGIX -#define GLEE_C_DEFINED_glFragmentLightfSGIX - void __stdcall GLee_Lazy_glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param) {if (GLeeInit()) glFragmentLightfSGIX(light, pname, param);} - GLEEPFNGLFRAGMENTLIGHTFSGIXPROC GLeeFuncPtr_glFragmentLightfSGIX=GLee_Lazy_glFragmentLightfSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightfvSGIX -#define GLEE_C_DEFINED_glFragmentLightfvSGIX - void __stdcall GLee_Lazy_glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat * params) {if (GLeeInit()) glFragmentLightfvSGIX(light, pname, params);} - GLEEPFNGLFRAGMENTLIGHTFVSGIXPROC GLeeFuncPtr_glFragmentLightfvSGIX=GLee_Lazy_glFragmentLightfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightiSGIX -#define GLEE_C_DEFINED_glFragmentLightiSGIX - void __stdcall GLee_Lazy_glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param) {if (GLeeInit()) glFragmentLightiSGIX(light, pname, param);} - GLEEPFNGLFRAGMENTLIGHTISGIXPROC GLeeFuncPtr_glFragmentLightiSGIX=GLee_Lazy_glFragmentLightiSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightivSGIX -#define GLEE_C_DEFINED_glFragmentLightivSGIX - void __stdcall GLee_Lazy_glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint * params) {if (GLeeInit()) glFragmentLightivSGIX(light, pname, params);} - GLEEPFNGLFRAGMENTLIGHTIVSGIXPROC GLeeFuncPtr_glFragmentLightivSGIX=GLee_Lazy_glFragmentLightivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightModelfSGIX -#define GLEE_C_DEFINED_glFragmentLightModelfSGIX - void __stdcall GLee_Lazy_glFragmentLightModelfSGIX(GLenum pname, GLfloat param) {if (GLeeInit()) glFragmentLightModelfSGIX(pname, param);} - GLEEPFNGLFRAGMENTLIGHTMODELFSGIXPROC GLeeFuncPtr_glFragmentLightModelfSGIX=GLee_Lazy_glFragmentLightModelfSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightModelfvSGIX -#define GLEE_C_DEFINED_glFragmentLightModelfvSGIX - void __stdcall GLee_Lazy_glFragmentLightModelfvSGIX(GLenum pname, const GLfloat * params) {if (GLeeInit()) glFragmentLightModelfvSGIX(pname, params);} - GLEEPFNGLFRAGMENTLIGHTMODELFVSGIXPROC GLeeFuncPtr_glFragmentLightModelfvSGIX=GLee_Lazy_glFragmentLightModelfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightModeliSGIX -#define GLEE_C_DEFINED_glFragmentLightModeliSGIX - void __stdcall GLee_Lazy_glFragmentLightModeliSGIX(GLenum pname, GLint param) {if (GLeeInit()) glFragmentLightModeliSGIX(pname, param);} - GLEEPFNGLFRAGMENTLIGHTMODELISGIXPROC GLeeFuncPtr_glFragmentLightModeliSGIX=GLee_Lazy_glFragmentLightModeliSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentLightModelivSGIX -#define GLEE_C_DEFINED_glFragmentLightModelivSGIX - void __stdcall GLee_Lazy_glFragmentLightModelivSGIX(GLenum pname, const GLint * params) {if (GLeeInit()) glFragmentLightModelivSGIX(pname, params);} - GLEEPFNGLFRAGMENTLIGHTMODELIVSGIXPROC GLeeFuncPtr_glFragmentLightModelivSGIX=GLee_Lazy_glFragmentLightModelivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentMaterialfSGIX -#define GLEE_C_DEFINED_glFragmentMaterialfSGIX - void __stdcall GLee_Lazy_glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param) {if (GLeeInit()) glFragmentMaterialfSGIX(face, pname, param);} - GLEEPFNGLFRAGMENTMATERIALFSGIXPROC GLeeFuncPtr_glFragmentMaterialfSGIX=GLee_Lazy_glFragmentMaterialfSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentMaterialfvSGIX -#define GLEE_C_DEFINED_glFragmentMaterialfvSGIX - void __stdcall GLee_Lazy_glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat * params) {if (GLeeInit()) glFragmentMaterialfvSGIX(face, pname, params);} - GLEEPFNGLFRAGMENTMATERIALFVSGIXPROC GLeeFuncPtr_glFragmentMaterialfvSGIX=GLee_Lazy_glFragmentMaterialfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentMaterialiSGIX -#define GLEE_C_DEFINED_glFragmentMaterialiSGIX - void __stdcall GLee_Lazy_glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param) {if (GLeeInit()) glFragmentMaterialiSGIX(face, pname, param);} - GLEEPFNGLFRAGMENTMATERIALISGIXPROC GLeeFuncPtr_glFragmentMaterialiSGIX=GLee_Lazy_glFragmentMaterialiSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFragmentMaterialivSGIX -#define GLEE_C_DEFINED_glFragmentMaterialivSGIX - void __stdcall GLee_Lazy_glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint * params) {if (GLeeInit()) glFragmentMaterialivSGIX(face, pname, params);} - GLEEPFNGLFRAGMENTMATERIALIVSGIXPROC GLeeFuncPtr_glFragmentMaterialivSGIX=GLee_Lazy_glFragmentMaterialivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGetFragmentLightfvSGIX -#define GLEE_C_DEFINED_glGetFragmentLightfvSGIX - void __stdcall GLee_Lazy_glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetFragmentLightfvSGIX(light, pname, params);} - GLEEPFNGLGETFRAGMENTLIGHTFVSGIXPROC GLeeFuncPtr_glGetFragmentLightfvSGIX=GLee_Lazy_glGetFragmentLightfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGetFragmentLightivSGIX -#define GLEE_C_DEFINED_glGetFragmentLightivSGIX - void __stdcall GLee_Lazy_glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint * params) {if (GLeeInit()) glGetFragmentLightivSGIX(light, pname, params);} - GLEEPFNGLGETFRAGMENTLIGHTIVSGIXPROC GLeeFuncPtr_glGetFragmentLightivSGIX=GLee_Lazy_glGetFragmentLightivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGetFragmentMaterialfvSGIX -#define GLEE_C_DEFINED_glGetFragmentMaterialfvSGIX - void __stdcall GLee_Lazy_glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetFragmentMaterialfvSGIX(face, pname, params);} - GLEEPFNGLGETFRAGMENTMATERIALFVSGIXPROC GLeeFuncPtr_glGetFragmentMaterialfvSGIX=GLee_Lazy_glGetFragmentMaterialfvSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGetFragmentMaterialivSGIX -#define GLEE_C_DEFINED_glGetFragmentMaterialivSGIX - void __stdcall GLee_Lazy_glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint * params) {if (GLeeInit()) glGetFragmentMaterialivSGIX(face, pname, params);} - GLEEPFNGLGETFRAGMENTMATERIALIVSGIXPROC GLeeFuncPtr_glGetFragmentMaterialivSGIX=GLee_Lazy_glGetFragmentMaterialivSGIX; -#endif -#ifndef GLEE_C_DEFINED_glLightEnviSGIX -#define GLEE_C_DEFINED_glLightEnviSGIX - void __stdcall GLee_Lazy_glLightEnviSGIX(GLenum pname, GLint param) {if (GLeeInit()) glLightEnviSGIX(pname, param);} - GLEEPFNGLLIGHTENVISGIXPROC GLeeFuncPtr_glLightEnviSGIX=GLee_Lazy_glLightEnviSGIX; -#endif -#endif - -/* GL_IBM_rasterpos_clip */ - -#ifdef __GLEE_GL_IBM_rasterpos_clip -#endif - -/* GL_HP_texture_lighting */ - -#ifdef __GLEE_GL_HP_texture_lighting -#endif - -/* GL_EXT_draw_range_elements */ - -#ifdef __GLEE_GL_EXT_draw_range_elements -#ifndef GLEE_C_DEFINED_glDrawRangeElementsEXT -#define GLEE_C_DEFINED_glDrawRangeElementsEXT - void __stdcall GLee_Lazy_glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices) {if (GLeeInit()) glDrawRangeElementsEXT(mode, start, end, count, type, indices);} - GLEEPFNGLDRAWRANGEELEMENTSEXTPROC GLeeFuncPtr_glDrawRangeElementsEXT=GLee_Lazy_glDrawRangeElementsEXT; -#endif -#endif - -/* GL_WIN_phong_shading */ - -#ifdef __GLEE_GL_WIN_phong_shading -#endif - -/* GL_WIN_specular_fog */ - -#ifdef __GLEE_GL_WIN_specular_fog -#endif - -/* GL_EXT_light_texture */ - -#ifdef __GLEE_GL_EXT_light_texture -#ifndef GLEE_C_DEFINED_glApplyTextureEXT -#define GLEE_C_DEFINED_glApplyTextureEXT - void __stdcall GLee_Lazy_glApplyTextureEXT(GLenum mode) {if (GLeeInit()) glApplyTextureEXT(mode);} - GLEEPFNGLAPPLYTEXTUREEXTPROC GLeeFuncPtr_glApplyTextureEXT=GLee_Lazy_glApplyTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureLightEXT -#define GLEE_C_DEFINED_glTextureLightEXT - void __stdcall GLee_Lazy_glTextureLightEXT(GLenum pname) {if (GLeeInit()) glTextureLightEXT(pname);} - GLEEPFNGLTEXTURELIGHTEXTPROC GLeeFuncPtr_glTextureLightEXT=GLee_Lazy_glTextureLightEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureMaterialEXT -#define GLEE_C_DEFINED_glTextureMaterialEXT - void __stdcall GLee_Lazy_glTextureMaterialEXT(GLenum face, GLenum mode) {if (GLeeInit()) glTextureMaterialEXT(face, mode);} - GLEEPFNGLTEXTUREMATERIALEXTPROC GLeeFuncPtr_glTextureMaterialEXT=GLee_Lazy_glTextureMaterialEXT; -#endif -#endif - -/* GL_SGIX_blend_alpha_minmax */ - -#ifdef __GLEE_GL_SGIX_blend_alpha_minmax -#endif - -/* GL_SGIX_impact_pixel_texture */ - -#ifdef __GLEE_GL_SGIX_impact_pixel_texture -#endif - -/* GL_EXT_bgra */ - -#ifdef __GLEE_GL_EXT_bgra -#endif - -/* GL_SGIX_async */ - -#ifdef __GLEE_GL_SGIX_async -#ifndef GLEE_C_DEFINED_glAsyncMarkerSGIX -#define GLEE_C_DEFINED_glAsyncMarkerSGIX - void __stdcall GLee_Lazy_glAsyncMarkerSGIX(GLuint marker) {if (GLeeInit()) glAsyncMarkerSGIX(marker);} - GLEEPFNGLASYNCMARKERSGIXPROC GLeeFuncPtr_glAsyncMarkerSGIX=GLee_Lazy_glAsyncMarkerSGIX; -#endif -#ifndef GLEE_C_DEFINED_glFinishAsyncSGIX -#define GLEE_C_DEFINED_glFinishAsyncSGIX - GLint __stdcall GLee_Lazy_glFinishAsyncSGIX(GLuint * markerp) {if (GLeeInit()) return glFinishAsyncSGIX(markerp); return (GLint)0;} - GLEEPFNGLFINISHASYNCSGIXPROC GLeeFuncPtr_glFinishAsyncSGIX=GLee_Lazy_glFinishAsyncSGIX; -#endif -#ifndef GLEE_C_DEFINED_glPollAsyncSGIX -#define GLEE_C_DEFINED_glPollAsyncSGIX - GLint __stdcall GLee_Lazy_glPollAsyncSGIX(GLuint * markerp) {if (GLeeInit()) return glPollAsyncSGIX(markerp); return (GLint)0;} - GLEEPFNGLPOLLASYNCSGIXPROC GLeeFuncPtr_glPollAsyncSGIX=GLee_Lazy_glPollAsyncSGIX; -#endif -#ifndef GLEE_C_DEFINED_glGenAsyncMarkersSGIX -#define GLEE_C_DEFINED_glGenAsyncMarkersSGIX - GLuint __stdcall GLee_Lazy_glGenAsyncMarkersSGIX(GLsizei range) {if (GLeeInit()) return glGenAsyncMarkersSGIX(range); return (GLuint)0;} - GLEEPFNGLGENASYNCMARKERSSGIXPROC GLeeFuncPtr_glGenAsyncMarkersSGIX=GLee_Lazy_glGenAsyncMarkersSGIX; -#endif -#ifndef GLEE_C_DEFINED_glDeleteAsyncMarkersSGIX -#define GLEE_C_DEFINED_glDeleteAsyncMarkersSGIX - void __stdcall GLee_Lazy_glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range) {if (GLeeInit()) glDeleteAsyncMarkersSGIX(marker, range);} - GLEEPFNGLDELETEASYNCMARKERSSGIXPROC GLeeFuncPtr_glDeleteAsyncMarkersSGIX=GLee_Lazy_glDeleteAsyncMarkersSGIX; -#endif -#ifndef GLEE_C_DEFINED_glIsAsyncMarkerSGIX -#define GLEE_C_DEFINED_glIsAsyncMarkerSGIX - GLboolean __stdcall GLee_Lazy_glIsAsyncMarkerSGIX(GLuint marker) {if (GLeeInit()) return glIsAsyncMarkerSGIX(marker); return (GLboolean)0;} - GLEEPFNGLISASYNCMARKERSGIXPROC GLeeFuncPtr_glIsAsyncMarkerSGIX=GLee_Lazy_glIsAsyncMarkerSGIX; -#endif -#endif - -/* GL_SGIX_async_pixel */ - -#ifdef __GLEE_GL_SGIX_async_pixel -#endif - -/* GL_SGIX_async_histogram */ - -#ifdef __GLEE_GL_SGIX_async_histogram -#endif - -/* GL_INTEL_texture_scissor */ - -#ifdef __GLEE_GL_INTEL_texture_scissor -#endif - -/* GL_INTEL_parallel_arrays */ - -#ifdef __GLEE_GL_INTEL_parallel_arrays -#ifndef GLEE_C_DEFINED_glVertexPointervINTEL -#define GLEE_C_DEFINED_glVertexPointervINTEL - void __stdcall GLee_Lazy_glVertexPointervINTEL(GLint size, GLenum type, const GLvoid* * pointer) {if (GLeeInit()) glVertexPointervINTEL(size, type, pointer);} - GLEEPFNGLVERTEXPOINTERVINTELPROC GLeeFuncPtr_glVertexPointervINTEL=GLee_Lazy_glVertexPointervINTEL; -#endif -#ifndef GLEE_C_DEFINED_glNormalPointervINTEL -#define GLEE_C_DEFINED_glNormalPointervINTEL - void __stdcall GLee_Lazy_glNormalPointervINTEL(GLenum type, const GLvoid* * pointer) {if (GLeeInit()) glNormalPointervINTEL(type, pointer);} - GLEEPFNGLNORMALPOINTERVINTELPROC GLeeFuncPtr_glNormalPointervINTEL=GLee_Lazy_glNormalPointervINTEL; -#endif -#ifndef GLEE_C_DEFINED_glColorPointervINTEL -#define GLEE_C_DEFINED_glColorPointervINTEL - void __stdcall GLee_Lazy_glColorPointervINTEL(GLint size, GLenum type, const GLvoid* * pointer) {if (GLeeInit()) glColorPointervINTEL(size, type, pointer);} - GLEEPFNGLCOLORPOINTERVINTELPROC GLeeFuncPtr_glColorPointervINTEL=GLee_Lazy_glColorPointervINTEL; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordPointervINTEL -#define GLEE_C_DEFINED_glTexCoordPointervINTEL - void __stdcall GLee_Lazy_glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid* * pointer) {if (GLeeInit()) glTexCoordPointervINTEL(size, type, pointer);} - GLEEPFNGLTEXCOORDPOINTERVINTELPROC GLeeFuncPtr_glTexCoordPointervINTEL=GLee_Lazy_glTexCoordPointervINTEL; -#endif -#endif - -/* GL_HP_occlusion_test */ - -#ifdef __GLEE_GL_HP_occlusion_test -#endif - -/* GL_EXT_pixel_transform */ - -#ifdef __GLEE_GL_EXT_pixel_transform -#ifndef GLEE_C_DEFINED_glPixelTransformParameteriEXT -#define GLEE_C_DEFINED_glPixelTransformParameteriEXT - void __stdcall GLee_Lazy_glPixelTransformParameteriEXT(GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glPixelTransformParameteriEXT(target, pname, param);} - GLEEPFNGLPIXELTRANSFORMPARAMETERIEXTPROC GLeeFuncPtr_glPixelTransformParameteriEXT=GLee_Lazy_glPixelTransformParameteriEXT; -#endif -#ifndef GLEE_C_DEFINED_glPixelTransformParameterfEXT -#define GLEE_C_DEFINED_glPixelTransformParameterfEXT - void __stdcall GLee_Lazy_glPixelTransformParameterfEXT(GLenum target, GLenum pname, GLfloat param) {if (GLeeInit()) glPixelTransformParameterfEXT(target, pname, param);} - GLEEPFNGLPIXELTRANSFORMPARAMETERFEXTPROC GLeeFuncPtr_glPixelTransformParameterfEXT=GLee_Lazy_glPixelTransformParameterfEXT; -#endif -#ifndef GLEE_C_DEFINED_glPixelTransformParameterivEXT -#define GLEE_C_DEFINED_glPixelTransformParameterivEXT - void __stdcall GLee_Lazy_glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glPixelTransformParameterivEXT(target, pname, params);} - GLEEPFNGLPIXELTRANSFORMPARAMETERIVEXTPROC GLeeFuncPtr_glPixelTransformParameterivEXT=GLee_Lazy_glPixelTransformParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glPixelTransformParameterfvEXT -#define GLEE_C_DEFINED_glPixelTransformParameterfvEXT - void __stdcall GLee_Lazy_glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glPixelTransformParameterfvEXT(target, pname, params);} - GLEEPFNGLPIXELTRANSFORMPARAMETERFVEXTPROC GLeeFuncPtr_glPixelTransformParameterfvEXT=GLee_Lazy_glPixelTransformParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetPixelTransformParameterivEXT -#define GLEE_C_DEFINED_glGetPixelTransformParameterivEXT - void __stdcall GLee_Lazy_glGetPixelTransformParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetPixelTransformParameterivEXT(target, pname, params);} - GLEEPFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC GLeeFuncPtr_glGetPixelTransformParameterivEXT=GLee_Lazy_glGetPixelTransformParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetPixelTransformParameterfvEXT -#define GLEE_C_DEFINED_glGetPixelTransformParameterfvEXT - void __stdcall GLee_Lazy_glGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetPixelTransformParameterfvEXT(target, pname, params);} - GLEEPFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC GLeeFuncPtr_glGetPixelTransformParameterfvEXT=GLee_Lazy_glGetPixelTransformParameterfvEXT; -#endif -#endif - -/* GL_EXT_pixel_transform_color_table */ - -#ifdef __GLEE_GL_EXT_pixel_transform_color_table -#endif - -/* GL_EXT_shared_texture_palette */ - -#ifdef __GLEE_GL_EXT_shared_texture_palette -#endif - -/* GL_EXT_separate_specular_color */ - -#ifdef __GLEE_GL_EXT_separate_specular_color -#endif - -/* GL_EXT_secondary_color */ - -#ifdef __GLEE_GL_EXT_secondary_color -#ifndef GLEE_C_DEFINED_glSecondaryColor3bEXT -#define GLEE_C_DEFINED_glSecondaryColor3bEXT - void __stdcall GLee_Lazy_glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue) {if (GLeeInit()) glSecondaryColor3bEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3BEXTPROC GLeeFuncPtr_glSecondaryColor3bEXT=GLee_Lazy_glSecondaryColor3bEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3bvEXT -#define GLEE_C_DEFINED_glSecondaryColor3bvEXT - void __stdcall GLee_Lazy_glSecondaryColor3bvEXT(const GLbyte * v) {if (GLeeInit()) glSecondaryColor3bvEXT(v);} - GLEEPFNGLSECONDARYCOLOR3BVEXTPROC GLeeFuncPtr_glSecondaryColor3bvEXT=GLee_Lazy_glSecondaryColor3bvEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3dEXT -#define GLEE_C_DEFINED_glSecondaryColor3dEXT - void __stdcall GLee_Lazy_glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue) {if (GLeeInit()) glSecondaryColor3dEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3DEXTPROC GLeeFuncPtr_glSecondaryColor3dEXT=GLee_Lazy_glSecondaryColor3dEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3dvEXT -#define GLEE_C_DEFINED_glSecondaryColor3dvEXT - void __stdcall GLee_Lazy_glSecondaryColor3dvEXT(const GLdouble * v) {if (GLeeInit()) glSecondaryColor3dvEXT(v);} - GLEEPFNGLSECONDARYCOLOR3DVEXTPROC GLeeFuncPtr_glSecondaryColor3dvEXT=GLee_Lazy_glSecondaryColor3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3fEXT -#define GLEE_C_DEFINED_glSecondaryColor3fEXT - void __stdcall GLee_Lazy_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue) {if (GLeeInit()) glSecondaryColor3fEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3FEXTPROC GLeeFuncPtr_glSecondaryColor3fEXT=GLee_Lazy_glSecondaryColor3fEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3fvEXT -#define GLEE_C_DEFINED_glSecondaryColor3fvEXT - void __stdcall GLee_Lazy_glSecondaryColor3fvEXT(const GLfloat * v) {if (GLeeInit()) glSecondaryColor3fvEXT(v);} - GLEEPFNGLSECONDARYCOLOR3FVEXTPROC GLeeFuncPtr_glSecondaryColor3fvEXT=GLee_Lazy_glSecondaryColor3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3iEXT -#define GLEE_C_DEFINED_glSecondaryColor3iEXT - void __stdcall GLee_Lazy_glSecondaryColor3iEXT(GLint red, GLint green, GLint blue) {if (GLeeInit()) glSecondaryColor3iEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3IEXTPROC GLeeFuncPtr_glSecondaryColor3iEXT=GLee_Lazy_glSecondaryColor3iEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ivEXT -#define GLEE_C_DEFINED_glSecondaryColor3ivEXT - void __stdcall GLee_Lazy_glSecondaryColor3ivEXT(const GLint * v) {if (GLeeInit()) glSecondaryColor3ivEXT(v);} - GLEEPFNGLSECONDARYCOLOR3IVEXTPROC GLeeFuncPtr_glSecondaryColor3ivEXT=GLee_Lazy_glSecondaryColor3ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3sEXT -#define GLEE_C_DEFINED_glSecondaryColor3sEXT - void __stdcall GLee_Lazy_glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue) {if (GLeeInit()) glSecondaryColor3sEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3SEXTPROC GLeeFuncPtr_glSecondaryColor3sEXT=GLee_Lazy_glSecondaryColor3sEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3svEXT -#define GLEE_C_DEFINED_glSecondaryColor3svEXT - void __stdcall GLee_Lazy_glSecondaryColor3svEXT(const GLshort * v) {if (GLeeInit()) glSecondaryColor3svEXT(v);} - GLEEPFNGLSECONDARYCOLOR3SVEXTPROC GLeeFuncPtr_glSecondaryColor3svEXT=GLee_Lazy_glSecondaryColor3svEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ubEXT -#define GLEE_C_DEFINED_glSecondaryColor3ubEXT - void __stdcall GLee_Lazy_glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue) {if (GLeeInit()) glSecondaryColor3ubEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3UBEXTPROC GLeeFuncPtr_glSecondaryColor3ubEXT=GLee_Lazy_glSecondaryColor3ubEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3ubvEXT -#define GLEE_C_DEFINED_glSecondaryColor3ubvEXT - void __stdcall GLee_Lazy_glSecondaryColor3ubvEXT(const GLubyte * v) {if (GLeeInit()) glSecondaryColor3ubvEXT(v);} - GLEEPFNGLSECONDARYCOLOR3UBVEXTPROC GLeeFuncPtr_glSecondaryColor3ubvEXT=GLee_Lazy_glSecondaryColor3ubvEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3uiEXT -#define GLEE_C_DEFINED_glSecondaryColor3uiEXT - void __stdcall GLee_Lazy_glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue) {if (GLeeInit()) glSecondaryColor3uiEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3UIEXTPROC GLeeFuncPtr_glSecondaryColor3uiEXT=GLee_Lazy_glSecondaryColor3uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3uivEXT -#define GLEE_C_DEFINED_glSecondaryColor3uivEXT - void __stdcall GLee_Lazy_glSecondaryColor3uivEXT(const GLuint * v) {if (GLeeInit()) glSecondaryColor3uivEXT(v);} - GLEEPFNGLSECONDARYCOLOR3UIVEXTPROC GLeeFuncPtr_glSecondaryColor3uivEXT=GLee_Lazy_glSecondaryColor3uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3usEXT -#define GLEE_C_DEFINED_glSecondaryColor3usEXT - void __stdcall GLee_Lazy_glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue) {if (GLeeInit()) glSecondaryColor3usEXT(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3USEXTPROC GLeeFuncPtr_glSecondaryColor3usEXT=GLee_Lazy_glSecondaryColor3usEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3usvEXT -#define GLEE_C_DEFINED_glSecondaryColor3usvEXT - void __stdcall GLee_Lazy_glSecondaryColor3usvEXT(const GLushort * v) {if (GLeeInit()) glSecondaryColor3usvEXT(v);} - GLEEPFNGLSECONDARYCOLOR3USVEXTPROC GLeeFuncPtr_glSecondaryColor3usvEXT=GLee_Lazy_glSecondaryColor3usvEXT; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorPointerEXT -#define GLEE_C_DEFINED_glSecondaryColorPointerEXT - void __stdcall GLee_Lazy_glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glSecondaryColorPointerEXT(size, type, stride, pointer);} - GLEEPFNGLSECONDARYCOLORPOINTEREXTPROC GLeeFuncPtr_glSecondaryColorPointerEXT=GLee_Lazy_glSecondaryColorPointerEXT; -#endif -#endif - -/* GL_EXT_texture_perturb_normal */ - -#ifdef __GLEE_GL_EXT_texture_perturb_normal -#ifndef GLEE_C_DEFINED_glTextureNormalEXT -#define GLEE_C_DEFINED_glTextureNormalEXT - void __stdcall GLee_Lazy_glTextureNormalEXT(GLenum mode) {if (GLeeInit()) glTextureNormalEXT(mode);} - GLEEPFNGLTEXTURENORMALEXTPROC GLeeFuncPtr_glTextureNormalEXT=GLee_Lazy_glTextureNormalEXT; -#endif -#endif - -/* GL_EXT_multi_draw_arrays */ - -#ifdef __GLEE_GL_EXT_multi_draw_arrays -#ifndef GLEE_C_DEFINED_glMultiDrawArraysEXT -#define GLEE_C_DEFINED_glMultiDrawArraysEXT - void __stdcall GLee_Lazy_glMultiDrawArraysEXT(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) {if (GLeeInit()) glMultiDrawArraysEXT(mode, first, count, primcount);} - GLEEPFNGLMULTIDRAWARRAYSEXTPROC GLeeFuncPtr_glMultiDrawArraysEXT=GLee_Lazy_glMultiDrawArraysEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElementsEXT -#define GLEE_C_DEFINED_glMultiDrawElementsEXT - void __stdcall GLee_Lazy_glMultiDrawElementsEXT(GLenum mode, const GLsizei * count, GLenum type, const GLvoid* * indices, GLsizei primcount) {if (GLeeInit()) glMultiDrawElementsEXT(mode, count, type, indices, primcount);} - GLEEPFNGLMULTIDRAWELEMENTSEXTPROC GLeeFuncPtr_glMultiDrawElementsEXT=GLee_Lazy_glMultiDrawElementsEXT; -#endif -#endif - -/* GL_EXT_fog_coord */ - -#ifdef __GLEE_GL_EXT_fog_coord -#ifndef GLEE_C_DEFINED_glFogCoordfEXT -#define GLEE_C_DEFINED_glFogCoordfEXT - void __stdcall GLee_Lazy_glFogCoordfEXT(GLfloat coord) {if (GLeeInit()) glFogCoordfEXT(coord);} - GLEEPFNGLFOGCOORDFEXTPROC GLeeFuncPtr_glFogCoordfEXT=GLee_Lazy_glFogCoordfEXT; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordfvEXT -#define GLEE_C_DEFINED_glFogCoordfvEXT - void __stdcall GLee_Lazy_glFogCoordfvEXT(const GLfloat * coord) {if (GLeeInit()) glFogCoordfvEXT(coord);} - GLEEPFNGLFOGCOORDFVEXTPROC GLeeFuncPtr_glFogCoordfvEXT=GLee_Lazy_glFogCoordfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glFogCoorddEXT -#define GLEE_C_DEFINED_glFogCoorddEXT - void __stdcall GLee_Lazy_glFogCoorddEXT(GLdouble coord) {if (GLeeInit()) glFogCoorddEXT(coord);} - GLEEPFNGLFOGCOORDDEXTPROC GLeeFuncPtr_glFogCoorddEXT=GLee_Lazy_glFogCoorddEXT; -#endif -#ifndef GLEE_C_DEFINED_glFogCoorddvEXT -#define GLEE_C_DEFINED_glFogCoorddvEXT - void __stdcall GLee_Lazy_glFogCoorddvEXT(const GLdouble * coord) {if (GLeeInit()) glFogCoorddvEXT(coord);} - GLEEPFNGLFOGCOORDDVEXTPROC GLeeFuncPtr_glFogCoorddvEXT=GLee_Lazy_glFogCoorddvEXT; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordPointerEXT -#define GLEE_C_DEFINED_glFogCoordPointerEXT - void __stdcall GLee_Lazy_glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glFogCoordPointerEXT(type, stride, pointer);} - GLEEPFNGLFOGCOORDPOINTEREXTPROC GLeeFuncPtr_glFogCoordPointerEXT=GLee_Lazy_glFogCoordPointerEXT; -#endif -#endif - -/* GL_REND_screen_coordinates */ - -#ifdef __GLEE_GL_REND_screen_coordinates -#endif - -/* GL_EXT_coordinate_frame */ - -#ifdef __GLEE_GL_EXT_coordinate_frame -#ifndef GLEE_C_DEFINED_glTangent3bEXT -#define GLEE_C_DEFINED_glTangent3bEXT - void __stdcall GLee_Lazy_glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz) {if (GLeeInit()) glTangent3bEXT(tx, ty, tz);} - GLEEPFNGLTANGENT3BEXTPROC GLeeFuncPtr_glTangent3bEXT=GLee_Lazy_glTangent3bEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3bvEXT -#define GLEE_C_DEFINED_glTangent3bvEXT - void __stdcall GLee_Lazy_glTangent3bvEXT(const GLbyte * v) {if (GLeeInit()) glTangent3bvEXT(v);} - GLEEPFNGLTANGENT3BVEXTPROC GLeeFuncPtr_glTangent3bvEXT=GLee_Lazy_glTangent3bvEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3dEXT -#define GLEE_C_DEFINED_glTangent3dEXT - void __stdcall GLee_Lazy_glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz) {if (GLeeInit()) glTangent3dEXT(tx, ty, tz);} - GLEEPFNGLTANGENT3DEXTPROC GLeeFuncPtr_glTangent3dEXT=GLee_Lazy_glTangent3dEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3dvEXT -#define GLEE_C_DEFINED_glTangent3dvEXT - void __stdcall GLee_Lazy_glTangent3dvEXT(const GLdouble * v) {if (GLeeInit()) glTangent3dvEXT(v);} - GLEEPFNGLTANGENT3DVEXTPROC GLeeFuncPtr_glTangent3dvEXT=GLee_Lazy_glTangent3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3fEXT -#define GLEE_C_DEFINED_glTangent3fEXT - void __stdcall GLee_Lazy_glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz) {if (GLeeInit()) glTangent3fEXT(tx, ty, tz);} - GLEEPFNGLTANGENT3FEXTPROC GLeeFuncPtr_glTangent3fEXT=GLee_Lazy_glTangent3fEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3fvEXT -#define GLEE_C_DEFINED_glTangent3fvEXT - void __stdcall GLee_Lazy_glTangent3fvEXT(const GLfloat * v) {if (GLeeInit()) glTangent3fvEXT(v);} - GLEEPFNGLTANGENT3FVEXTPROC GLeeFuncPtr_glTangent3fvEXT=GLee_Lazy_glTangent3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3iEXT -#define GLEE_C_DEFINED_glTangent3iEXT - void __stdcall GLee_Lazy_glTangent3iEXT(GLint tx, GLint ty, GLint tz) {if (GLeeInit()) glTangent3iEXT(tx, ty, tz);} - GLEEPFNGLTANGENT3IEXTPROC GLeeFuncPtr_glTangent3iEXT=GLee_Lazy_glTangent3iEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3ivEXT -#define GLEE_C_DEFINED_glTangent3ivEXT - void __stdcall GLee_Lazy_glTangent3ivEXT(const GLint * v) {if (GLeeInit()) glTangent3ivEXT(v);} - GLEEPFNGLTANGENT3IVEXTPROC GLeeFuncPtr_glTangent3ivEXT=GLee_Lazy_glTangent3ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3sEXT -#define GLEE_C_DEFINED_glTangent3sEXT - void __stdcall GLee_Lazy_glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz) {if (GLeeInit()) glTangent3sEXT(tx, ty, tz);} - GLEEPFNGLTANGENT3SEXTPROC GLeeFuncPtr_glTangent3sEXT=GLee_Lazy_glTangent3sEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangent3svEXT -#define GLEE_C_DEFINED_glTangent3svEXT - void __stdcall GLee_Lazy_glTangent3svEXT(const GLshort * v) {if (GLeeInit()) glTangent3svEXT(v);} - GLEEPFNGLTANGENT3SVEXTPROC GLeeFuncPtr_glTangent3svEXT=GLee_Lazy_glTangent3svEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3bEXT -#define GLEE_C_DEFINED_glBinormal3bEXT - void __stdcall GLee_Lazy_glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz) {if (GLeeInit()) glBinormal3bEXT(bx, by, bz);} - GLEEPFNGLBINORMAL3BEXTPROC GLeeFuncPtr_glBinormal3bEXT=GLee_Lazy_glBinormal3bEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3bvEXT -#define GLEE_C_DEFINED_glBinormal3bvEXT - void __stdcall GLee_Lazy_glBinormal3bvEXT(const GLbyte * v) {if (GLeeInit()) glBinormal3bvEXT(v);} - GLEEPFNGLBINORMAL3BVEXTPROC GLeeFuncPtr_glBinormal3bvEXT=GLee_Lazy_glBinormal3bvEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3dEXT -#define GLEE_C_DEFINED_glBinormal3dEXT - void __stdcall GLee_Lazy_glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz) {if (GLeeInit()) glBinormal3dEXT(bx, by, bz);} - GLEEPFNGLBINORMAL3DEXTPROC GLeeFuncPtr_glBinormal3dEXT=GLee_Lazy_glBinormal3dEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3dvEXT -#define GLEE_C_DEFINED_glBinormal3dvEXT - void __stdcall GLee_Lazy_glBinormal3dvEXT(const GLdouble * v) {if (GLeeInit()) glBinormal3dvEXT(v);} - GLEEPFNGLBINORMAL3DVEXTPROC GLeeFuncPtr_glBinormal3dvEXT=GLee_Lazy_glBinormal3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3fEXT -#define GLEE_C_DEFINED_glBinormal3fEXT - void __stdcall GLee_Lazy_glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz) {if (GLeeInit()) glBinormal3fEXT(bx, by, bz);} - GLEEPFNGLBINORMAL3FEXTPROC GLeeFuncPtr_glBinormal3fEXT=GLee_Lazy_glBinormal3fEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3fvEXT -#define GLEE_C_DEFINED_glBinormal3fvEXT - void __stdcall GLee_Lazy_glBinormal3fvEXT(const GLfloat * v) {if (GLeeInit()) glBinormal3fvEXT(v);} - GLEEPFNGLBINORMAL3FVEXTPROC GLeeFuncPtr_glBinormal3fvEXT=GLee_Lazy_glBinormal3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3iEXT -#define GLEE_C_DEFINED_glBinormal3iEXT - void __stdcall GLee_Lazy_glBinormal3iEXT(GLint bx, GLint by, GLint bz) {if (GLeeInit()) glBinormal3iEXT(bx, by, bz);} - GLEEPFNGLBINORMAL3IEXTPROC GLeeFuncPtr_glBinormal3iEXT=GLee_Lazy_glBinormal3iEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3ivEXT -#define GLEE_C_DEFINED_glBinormal3ivEXT - void __stdcall GLee_Lazy_glBinormal3ivEXT(const GLint * v) {if (GLeeInit()) glBinormal3ivEXT(v);} - GLEEPFNGLBINORMAL3IVEXTPROC GLeeFuncPtr_glBinormal3ivEXT=GLee_Lazy_glBinormal3ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3sEXT -#define GLEE_C_DEFINED_glBinormal3sEXT - void __stdcall GLee_Lazy_glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz) {if (GLeeInit()) glBinormal3sEXT(bx, by, bz);} - GLEEPFNGLBINORMAL3SEXTPROC GLeeFuncPtr_glBinormal3sEXT=GLee_Lazy_glBinormal3sEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormal3svEXT -#define GLEE_C_DEFINED_glBinormal3svEXT - void __stdcall GLee_Lazy_glBinormal3svEXT(const GLshort * v) {if (GLeeInit()) glBinormal3svEXT(v);} - GLEEPFNGLBINORMAL3SVEXTPROC GLeeFuncPtr_glBinormal3svEXT=GLee_Lazy_glBinormal3svEXT; -#endif -#ifndef GLEE_C_DEFINED_glTangentPointerEXT -#define GLEE_C_DEFINED_glTangentPointerEXT - void __stdcall GLee_Lazy_glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glTangentPointerEXT(type, stride, pointer);} - GLEEPFNGLTANGENTPOINTEREXTPROC GLeeFuncPtr_glTangentPointerEXT=GLee_Lazy_glTangentPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glBinormalPointerEXT -#define GLEE_C_DEFINED_glBinormalPointerEXT - void __stdcall GLee_Lazy_glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glBinormalPointerEXT(type, stride, pointer);} - GLEEPFNGLBINORMALPOINTEREXTPROC GLeeFuncPtr_glBinormalPointerEXT=GLee_Lazy_glBinormalPointerEXT; -#endif -#endif - -/* GL_EXT_texture_env_combine */ - -#ifdef __GLEE_GL_EXT_texture_env_combine -#endif - -/* GL_APPLE_specular_vector */ - -#ifdef __GLEE_GL_APPLE_specular_vector -#endif - -/* GL_APPLE_transform_hint */ - -#ifdef __GLEE_GL_APPLE_transform_hint -#endif - -/* GL_SGIX_fog_scale */ - -#ifdef __GLEE_GL_SGIX_fog_scale -#endif - -/* GL_SUNX_constant_data */ - -#ifdef __GLEE_GL_SUNX_constant_data -#ifndef GLEE_C_DEFINED_glFinishTextureSUNX -#define GLEE_C_DEFINED_glFinishTextureSUNX - void __stdcall GLee_Lazy_glFinishTextureSUNX(void) {if (GLeeInit()) glFinishTextureSUNX();} - GLEEPFNGLFINISHTEXTURESUNXPROC GLeeFuncPtr_glFinishTextureSUNX=GLee_Lazy_glFinishTextureSUNX; -#endif -#endif - -/* GL_SUN_global_alpha */ - -#ifdef __GLEE_GL_SUN_global_alpha -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactorbSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactorbSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactorbSUN(GLbyte factor) {if (GLeeInit()) glGlobalAlphaFactorbSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORBSUNPROC GLeeFuncPtr_glGlobalAlphaFactorbSUN=GLee_Lazy_glGlobalAlphaFactorbSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactorsSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactorsSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactorsSUN(GLshort factor) {if (GLeeInit()) glGlobalAlphaFactorsSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORSSUNPROC GLeeFuncPtr_glGlobalAlphaFactorsSUN=GLee_Lazy_glGlobalAlphaFactorsSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactoriSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactoriSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactoriSUN(GLint factor) {if (GLeeInit()) glGlobalAlphaFactoriSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORISUNPROC GLeeFuncPtr_glGlobalAlphaFactoriSUN=GLee_Lazy_glGlobalAlphaFactoriSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactorfSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactorfSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactorfSUN(GLfloat factor) {if (GLeeInit()) glGlobalAlphaFactorfSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORFSUNPROC GLeeFuncPtr_glGlobalAlphaFactorfSUN=GLee_Lazy_glGlobalAlphaFactorfSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactordSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactordSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactordSUN(GLdouble factor) {if (GLeeInit()) glGlobalAlphaFactordSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORDSUNPROC GLeeFuncPtr_glGlobalAlphaFactordSUN=GLee_Lazy_glGlobalAlphaFactordSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactorubSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactorubSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactorubSUN(GLubyte factor) {if (GLeeInit()) glGlobalAlphaFactorubSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORUBSUNPROC GLeeFuncPtr_glGlobalAlphaFactorubSUN=GLee_Lazy_glGlobalAlphaFactorubSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactorusSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactorusSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactorusSUN(GLushort factor) {if (GLeeInit()) glGlobalAlphaFactorusSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORUSSUNPROC GLeeFuncPtr_glGlobalAlphaFactorusSUN=GLee_Lazy_glGlobalAlphaFactorusSUN; -#endif -#ifndef GLEE_C_DEFINED_glGlobalAlphaFactoruiSUN -#define GLEE_C_DEFINED_glGlobalAlphaFactoruiSUN - void __stdcall GLee_Lazy_glGlobalAlphaFactoruiSUN(GLuint factor) {if (GLeeInit()) glGlobalAlphaFactoruiSUN(factor);} - GLEEPFNGLGLOBALALPHAFACTORUISUNPROC GLeeFuncPtr_glGlobalAlphaFactoruiSUN=GLee_Lazy_glGlobalAlphaFactoruiSUN; -#endif -#endif - -/* GL_SUN_triangle_list */ - -#ifdef __GLEE_GL_SUN_triangle_list -#ifndef GLEE_C_DEFINED_glReplacementCodeuiSUN -#define GLEE_C_DEFINED_glReplacementCodeuiSUN - void __stdcall GLee_Lazy_glReplacementCodeuiSUN(GLuint code) {if (GLeeInit()) glReplacementCodeuiSUN(code);} - GLEEPFNGLREPLACEMENTCODEUISUNPROC GLeeFuncPtr_glReplacementCodeuiSUN=GLee_Lazy_glReplacementCodeuiSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeusSUN -#define GLEE_C_DEFINED_glReplacementCodeusSUN - void __stdcall GLee_Lazy_glReplacementCodeusSUN(GLushort code) {if (GLeeInit()) glReplacementCodeusSUN(code);} - GLEEPFNGLREPLACEMENTCODEUSSUNPROC GLeeFuncPtr_glReplacementCodeusSUN=GLee_Lazy_glReplacementCodeusSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeubSUN -#define GLEE_C_DEFINED_glReplacementCodeubSUN - void __stdcall GLee_Lazy_glReplacementCodeubSUN(GLubyte code) {if (GLeeInit()) glReplacementCodeubSUN(code);} - GLEEPFNGLREPLACEMENTCODEUBSUNPROC GLeeFuncPtr_glReplacementCodeubSUN=GLee_Lazy_glReplacementCodeubSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuivSUN -#define GLEE_C_DEFINED_glReplacementCodeuivSUN - void __stdcall GLee_Lazy_glReplacementCodeuivSUN(const GLuint * code) {if (GLeeInit()) glReplacementCodeuivSUN(code);} - GLEEPFNGLREPLACEMENTCODEUIVSUNPROC GLeeFuncPtr_glReplacementCodeuivSUN=GLee_Lazy_glReplacementCodeuivSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeusvSUN -#define GLEE_C_DEFINED_glReplacementCodeusvSUN - void __stdcall GLee_Lazy_glReplacementCodeusvSUN(const GLushort * code) {if (GLeeInit()) glReplacementCodeusvSUN(code);} - GLEEPFNGLREPLACEMENTCODEUSVSUNPROC GLeeFuncPtr_glReplacementCodeusvSUN=GLee_Lazy_glReplacementCodeusvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeubvSUN -#define GLEE_C_DEFINED_glReplacementCodeubvSUN - void __stdcall GLee_Lazy_glReplacementCodeubvSUN(const GLubyte * code) {if (GLeeInit()) glReplacementCodeubvSUN(code);} - GLEEPFNGLREPLACEMENTCODEUBVSUNPROC GLeeFuncPtr_glReplacementCodeubvSUN=GLee_Lazy_glReplacementCodeubvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodePointerSUN -#define GLEE_C_DEFINED_glReplacementCodePointerSUN - void __stdcall GLee_Lazy_glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid* * pointer) {if (GLeeInit()) glReplacementCodePointerSUN(type, stride, pointer);} - GLEEPFNGLREPLACEMENTCODEPOINTERSUNPROC GLeeFuncPtr_glReplacementCodePointerSUN=GLee_Lazy_glReplacementCodePointerSUN; -#endif -#endif - -/* GL_SUN_vertex */ - -#ifdef __GLEE_GL_SUN_vertex -#ifndef GLEE_C_DEFINED_glColor4ubVertex2fSUN -#define GLEE_C_DEFINED_glColor4ubVertex2fSUN - void __stdcall GLee_Lazy_glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y) {if (GLeeInit()) glColor4ubVertex2fSUN(r, g, b, a, x, y);} - GLEEPFNGLCOLOR4UBVERTEX2FSUNPROC GLeeFuncPtr_glColor4ubVertex2fSUN=GLee_Lazy_glColor4ubVertex2fSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor4ubVertex2fvSUN -#define GLEE_C_DEFINED_glColor4ubVertex2fvSUN - void __stdcall GLee_Lazy_glColor4ubVertex2fvSUN(const GLubyte * c, const GLfloat * v) {if (GLeeInit()) glColor4ubVertex2fvSUN(c, v);} - GLEEPFNGLCOLOR4UBVERTEX2FVSUNPROC GLeeFuncPtr_glColor4ubVertex2fvSUN=GLee_Lazy_glColor4ubVertex2fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor4ubVertex3fSUN -#define GLEE_C_DEFINED_glColor4ubVertex3fSUN - void __stdcall GLee_Lazy_glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glColor4ubVertex3fSUN(r, g, b, a, x, y, z);} - GLEEPFNGLCOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glColor4ubVertex3fSUN=GLee_Lazy_glColor4ubVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor4ubVertex3fvSUN -#define GLEE_C_DEFINED_glColor4ubVertex3fvSUN - void __stdcall GLee_Lazy_glColor4ubVertex3fvSUN(const GLubyte * c, const GLfloat * v) {if (GLeeInit()) glColor4ubVertex3fvSUN(c, v);} - GLEEPFNGLCOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glColor4ubVertex3fvSUN=GLee_Lazy_glColor4ubVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor3fVertex3fSUN -#define GLEE_C_DEFINED_glColor3fVertex3fSUN - void __stdcall GLee_Lazy_glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glColor3fVertex3fSUN(r, g, b, x, y, z);} - GLEEPFNGLCOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glColor3fVertex3fSUN=GLee_Lazy_glColor3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor3fVertex3fvSUN -#define GLEE_C_DEFINED_glColor3fVertex3fvSUN - void __stdcall GLee_Lazy_glColor3fVertex3fvSUN(const GLfloat * c, const GLfloat * v) {if (GLeeInit()) glColor3fVertex3fvSUN(c, v);} - GLEEPFNGLCOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glColor3fVertex3fvSUN=GLee_Lazy_glColor3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glNormal3fVertex3fSUN(nx, ny, nz, x, y, z);} - GLEEPFNGLNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glNormal3fVertex3fSUN=GLee_Lazy_glNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glNormal3fVertex3fvSUN(const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glNormal3fVertex3fvSUN(n, v);} - GLEEPFNGLNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glNormal3fVertex3fvSUN=GLee_Lazy_glNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor4fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glColor4fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glColor4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z);} - GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glColor4fNormal3fVertex3fSUN=GLee_Lazy_glColor4fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glColor4fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glColor4fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glColor4fNormal3fVertex3fvSUN(const GLfloat * c, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glColor4fNormal3fVertex3fvSUN(c, n, v);} - GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glColor4fNormal3fVertex3fvSUN=GLee_Lazy_glColor4fNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fVertex3fSUN -#define GLEE_C_DEFINED_glTexCoord2fVertex3fSUN - void __stdcall GLee_Lazy_glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glTexCoord2fVertex3fSUN(s, t, x, y, z);} - GLEEPFNGLTEXCOORD2FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fVertex3fSUN=GLee_Lazy_glTexCoord2fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fVertex3fvSUN -#define GLEE_C_DEFINED_glTexCoord2fVertex3fvSUN - void __stdcall GLee_Lazy_glTexCoord2fVertex3fvSUN(const GLfloat * tc, const GLfloat * v) {if (GLeeInit()) glTexCoord2fVertex3fvSUN(tc, v);} - GLEEPFNGLTEXCOORD2FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fVertex3fvSUN=GLee_Lazy_glTexCoord2fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4fVertex4fSUN -#define GLEE_C_DEFINED_glTexCoord4fVertex4fSUN - void __stdcall GLee_Lazy_glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glTexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w);} - GLEEPFNGLTEXCOORD4FVERTEX4FSUNPROC GLeeFuncPtr_glTexCoord4fVertex4fSUN=GLee_Lazy_glTexCoord4fVertex4fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4fVertex4fvSUN -#define GLEE_C_DEFINED_glTexCoord4fVertex4fvSUN - void __stdcall GLee_Lazy_glTexCoord4fVertex4fvSUN(const GLfloat * tc, const GLfloat * v) {if (GLeeInit()) glTexCoord4fVertex4fvSUN(tc, v);} - GLEEPFNGLTEXCOORD4FVERTEX4FVSUNPROC GLeeFuncPtr_glTexCoord4fVertex4fvSUN=GLee_Lazy_glTexCoord4fVertex4fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor4ubVertex3fSUN -#define GLEE_C_DEFINED_glTexCoord2fColor4ubVertex3fSUN - void __stdcall GLee_Lazy_glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glTexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z);} - GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor4ubVertex3fSUN=GLee_Lazy_glTexCoord2fColor4ubVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor4ubVertex3fvSUN -#define GLEE_C_DEFINED_glTexCoord2fColor4ubVertex3fvSUN - void __stdcall GLee_Lazy_glTexCoord2fColor4ubVertex3fvSUN(const GLfloat * tc, const GLubyte * c, const GLfloat * v) {if (GLeeInit()) glTexCoord2fColor4ubVertex3fvSUN(tc, c, v);} - GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor4ubVertex3fvSUN=GLee_Lazy_glTexCoord2fColor4ubVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor3fVertex3fSUN -#define GLEE_C_DEFINED_glTexCoord2fColor3fVertex3fSUN - void __stdcall GLee_Lazy_glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glTexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z);} - GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor3fVertex3fSUN=GLee_Lazy_glTexCoord2fColor3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor3fVertex3fvSUN -#define GLEE_C_DEFINED_glTexCoord2fColor3fVertex3fvSUN - void __stdcall GLee_Lazy_glTexCoord2fColor3fVertex3fvSUN(const GLfloat * tc, const GLfloat * c, const GLfloat * v) {if (GLeeInit()) glTexCoord2fColor3fVertex3fvSUN(tc, c, v);} - GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor3fVertex3fvSUN=GLee_Lazy_glTexCoord2fColor3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glTexCoord2fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glTexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z);} - GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fNormal3fVertex3fSUN=GLee_Lazy_glTexCoord2fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glTexCoord2fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glTexCoord2fNormal3fVertex3fvSUN(const GLfloat * tc, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glTexCoord2fNormal3fVertex3fvSUN(tc, n, v);} - GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fNormal3fVertex3fvSUN=GLee_Lazy_glTexCoord2fNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor4fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glTexCoord2fColor4fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glTexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z);} - GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fSUN=GLee_Lazy_glTexCoord2fColor4fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2fColor4fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glTexCoord2fColor4fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glTexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v);} - GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fvSUN=GLee_Lazy_glTexCoord2fColor4fNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4fColor4fNormal3fVertex4fSUN -#define GLEE_C_DEFINED_glTexCoord4fColor4fNormal3fVertex4fSUN - void __stdcall GLee_Lazy_glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glTexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w);} - GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fSUN=GLee_Lazy_glTexCoord4fColor4fNormal3fVertex4fSUN; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4fColor4fNormal3fVertex4fvSUN -#define GLEE_C_DEFINED_glTexCoord4fColor4fNormal3fVertex4fvSUN - void __stdcall GLee_Lazy_glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glTexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v);} - GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fvSUN=GLee_Lazy_glTexCoord4fColor4fNormal3fVertex4fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiVertex3fSUN(rc, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiVertex3fSUN=GLee_Lazy_glReplacementCodeuiVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiVertex3fvSUN(const GLuint * rc, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiVertex3fvSUN(rc, v);} - GLEEPFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiVertex3fvSUN=GLee_Lazy_glReplacementCodeuiVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor4ubVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor4ubVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fSUN=GLee_Lazy_glReplacementCodeuiColor4ubVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor4ubVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor4ubVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint * rc, const GLubyte * c, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v);} - GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fvSUN=GLee_Lazy_glReplacementCodeuiColor4ubVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor3fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor3fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fSUN=GLee_Lazy_glReplacementCodeuiColor3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor3fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor3fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor3fVertex3fvSUN(const GLuint * rc, const GLfloat * c, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiColor3fVertex3fvSUN(rc, c, v);} - GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiColor3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fSUN=GLee_Lazy_glReplacementCodeuiNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint * rc, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v);} - GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fSUN=GLee_Lazy_glReplacementCodeuiColor4fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint * rc, const GLfloat * c, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v);} - GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint * rc, const GLfloat * tc, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint * rc, const GLfloat * tc, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; -#endif -#ifndef GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN -#define GLEE_C_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN - void __stdcall GLee_Lazy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint * rc, const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v) {if (GLeeInit()) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v);} - GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN=GLee_Lazy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; -#endif -#endif - -/* GL_EXT_blend_func_separate */ - -#ifdef __GLEE_GL_EXT_blend_func_separate -#ifndef GLEE_C_DEFINED_glBlendFuncSeparateEXT -#define GLEE_C_DEFINED_glBlendFuncSeparateEXT - void __stdcall GLee_Lazy_glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {if (GLeeInit()) glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEEXTPROC GLeeFuncPtr_glBlendFuncSeparateEXT=GLee_Lazy_glBlendFuncSeparateEXT; -#endif -#endif - -/* GL_INGR_color_clamp */ - -#ifdef __GLEE_GL_INGR_color_clamp -#endif - -/* GL_INGR_interlace_read */ - -#ifdef __GLEE_GL_INGR_interlace_read -#endif - -/* GL_EXT_stencil_wrap */ - -#ifdef __GLEE_GL_EXT_stencil_wrap -#endif - -/* GL_EXT_422_pixels */ - -#ifdef __GLEE_GL_EXT_422_pixels -#endif - -/* GL_NV_texgen_reflection */ - -#ifdef __GLEE_GL_NV_texgen_reflection -#endif - -/* GL_EXT_texture_cube_map */ - -#ifdef __GLEE_GL_EXT_texture_cube_map -#endif - -/* GL_SUN_convolution_border_modes */ - -#ifdef __GLEE_GL_SUN_convolution_border_modes -#endif - -/* GL_EXT_texture_env_add */ - -#ifdef __GLEE_GL_EXT_texture_env_add -#endif - -/* GL_EXT_texture_lod_bias */ - -#ifdef __GLEE_GL_EXT_texture_lod_bias -#endif - -/* GL_EXT_texture_filter_anisotropic */ - -#ifdef __GLEE_GL_EXT_texture_filter_anisotropic -#endif - -/* GL_EXT_vertex_weighting */ - -#ifdef __GLEE_GL_EXT_vertex_weighting -#ifndef GLEE_C_DEFINED_glVertexWeightfEXT -#define GLEE_C_DEFINED_glVertexWeightfEXT - void __stdcall GLee_Lazy_glVertexWeightfEXT(GLfloat weight) {if (GLeeInit()) glVertexWeightfEXT(weight);} - GLEEPFNGLVERTEXWEIGHTFEXTPROC GLeeFuncPtr_glVertexWeightfEXT=GLee_Lazy_glVertexWeightfEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexWeightfvEXT -#define GLEE_C_DEFINED_glVertexWeightfvEXT - void __stdcall GLee_Lazy_glVertexWeightfvEXT(const GLfloat * weight) {if (GLeeInit()) glVertexWeightfvEXT(weight);} - GLEEPFNGLVERTEXWEIGHTFVEXTPROC GLeeFuncPtr_glVertexWeightfvEXT=GLee_Lazy_glVertexWeightfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexWeightPointerEXT -#define GLEE_C_DEFINED_glVertexWeightPointerEXT - void __stdcall GLee_Lazy_glVertexWeightPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexWeightPointerEXT(size, type, stride, pointer);} - GLEEPFNGLVERTEXWEIGHTPOINTEREXTPROC GLeeFuncPtr_glVertexWeightPointerEXT=GLee_Lazy_glVertexWeightPointerEXT; -#endif -#endif - -/* GL_NV_light_max_exponent */ - -#ifdef __GLEE_GL_NV_light_max_exponent -#endif - -/* GL_NV_vertex_array_range */ - -#ifdef __GLEE_GL_NV_vertex_array_range -#ifndef GLEE_C_DEFINED_glFlushVertexArrayRangeNV -#define GLEE_C_DEFINED_glFlushVertexArrayRangeNV - void __stdcall GLee_Lazy_glFlushVertexArrayRangeNV(void) {if (GLeeInit()) glFlushVertexArrayRangeNV();} - GLEEPFNGLFLUSHVERTEXARRAYRANGENVPROC GLeeFuncPtr_glFlushVertexArrayRangeNV=GLee_Lazy_glFlushVertexArrayRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayRangeNV -#define GLEE_C_DEFINED_glVertexArrayRangeNV - void __stdcall GLee_Lazy_glVertexArrayRangeNV(GLsizei length, const GLvoid * pointer) {if (GLeeInit()) glVertexArrayRangeNV(length, pointer);} - GLEEPFNGLVERTEXARRAYRANGENVPROC GLeeFuncPtr_glVertexArrayRangeNV=GLee_Lazy_glVertexArrayRangeNV; -#endif -#endif - -/* GL_NV_register_combiners */ - -#ifdef __GLEE_GL_NV_register_combiners -#ifndef GLEE_C_DEFINED_glCombinerParameterfvNV -#define GLEE_C_DEFINED_glCombinerParameterfvNV - void __stdcall GLee_Lazy_glCombinerParameterfvNV(GLenum pname, const GLfloat * params) {if (GLeeInit()) glCombinerParameterfvNV(pname, params);} - GLEEPFNGLCOMBINERPARAMETERFVNVPROC GLeeFuncPtr_glCombinerParameterfvNV=GLee_Lazy_glCombinerParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glCombinerParameterfNV -#define GLEE_C_DEFINED_glCombinerParameterfNV - void __stdcall GLee_Lazy_glCombinerParameterfNV(GLenum pname, GLfloat param) {if (GLeeInit()) glCombinerParameterfNV(pname, param);} - GLEEPFNGLCOMBINERPARAMETERFNVPROC GLeeFuncPtr_glCombinerParameterfNV=GLee_Lazy_glCombinerParameterfNV; -#endif -#ifndef GLEE_C_DEFINED_glCombinerParameterivNV -#define GLEE_C_DEFINED_glCombinerParameterivNV - void __stdcall GLee_Lazy_glCombinerParameterivNV(GLenum pname, const GLint * params) {if (GLeeInit()) glCombinerParameterivNV(pname, params);} - GLEEPFNGLCOMBINERPARAMETERIVNVPROC GLeeFuncPtr_glCombinerParameterivNV=GLee_Lazy_glCombinerParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glCombinerParameteriNV -#define GLEE_C_DEFINED_glCombinerParameteriNV - void __stdcall GLee_Lazy_glCombinerParameteriNV(GLenum pname, GLint param) {if (GLeeInit()) glCombinerParameteriNV(pname, param);} - GLEEPFNGLCOMBINERPARAMETERINVPROC GLeeFuncPtr_glCombinerParameteriNV=GLee_Lazy_glCombinerParameteriNV; -#endif -#ifndef GLEE_C_DEFINED_glCombinerInputNV -#define GLEE_C_DEFINED_glCombinerInputNV - void __stdcall GLee_Lazy_glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) {if (GLeeInit()) glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage);} - GLEEPFNGLCOMBINERINPUTNVPROC GLeeFuncPtr_glCombinerInputNV=GLee_Lazy_glCombinerInputNV; -#endif -#ifndef GLEE_C_DEFINED_glCombinerOutputNV -#define GLEE_C_DEFINED_glCombinerOutputNV - void __stdcall GLee_Lazy_glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum) {if (GLeeInit()) glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);} - GLEEPFNGLCOMBINEROUTPUTNVPROC GLeeFuncPtr_glCombinerOutputNV=GLee_Lazy_glCombinerOutputNV; -#endif -#ifndef GLEE_C_DEFINED_glFinalCombinerInputNV -#define GLEE_C_DEFINED_glFinalCombinerInputNV - void __stdcall GLee_Lazy_glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) {if (GLeeInit()) glFinalCombinerInputNV(variable, input, mapping, componentUsage);} - GLEEPFNGLFINALCOMBINERINPUTNVPROC GLeeFuncPtr_glFinalCombinerInputNV=GLee_Lazy_glFinalCombinerInputNV; -#endif -#ifndef GLEE_C_DEFINED_glGetCombinerInputParameterfvNV -#define GLEE_C_DEFINED_glGetCombinerInputParameterfvNV - void __stdcall GLee_Lazy_glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetCombinerInputParameterfvNV(stage, portion, variable, pname, params);} - GLEEPFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerInputParameterfvNV=GLee_Lazy_glGetCombinerInputParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetCombinerInputParameterivNV -#define GLEE_C_DEFINED_glGetCombinerInputParameterivNV - void __stdcall GLee_Lazy_glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params) {if (GLeeInit()) glGetCombinerInputParameterivNV(stage, portion, variable, pname, params);} - GLEEPFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetCombinerInputParameterivNV=GLee_Lazy_glGetCombinerInputParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetCombinerOutputParameterfvNV -#define GLEE_C_DEFINED_glGetCombinerOutputParameterfvNV - void __stdcall GLee_Lazy_glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetCombinerOutputParameterfvNV(stage, portion, pname, params);} - GLEEPFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerOutputParameterfvNV=GLee_Lazy_glGetCombinerOutputParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetCombinerOutputParameterivNV -#define GLEE_C_DEFINED_glGetCombinerOutputParameterivNV - void __stdcall GLee_Lazy_glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint * params) {if (GLeeInit()) glGetCombinerOutputParameterivNV(stage, portion, pname, params);} - GLEEPFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetCombinerOutputParameterivNV=GLee_Lazy_glGetCombinerOutputParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetFinalCombinerInputParameterfvNV -#define GLEE_C_DEFINED_glGetFinalCombinerInputParameterfvNV - void __stdcall GLee_Lazy_glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetFinalCombinerInputParameterfvNV(variable, pname, params);} - GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetFinalCombinerInputParameterfvNV=GLee_Lazy_glGetFinalCombinerInputParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetFinalCombinerInputParameterivNV -#define GLEE_C_DEFINED_glGetFinalCombinerInputParameterivNV - void __stdcall GLee_Lazy_glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint * params) {if (GLeeInit()) glGetFinalCombinerInputParameterivNV(variable, pname, params);} - GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetFinalCombinerInputParameterivNV=GLee_Lazy_glGetFinalCombinerInputParameterivNV; -#endif -#endif - -/* GL_NV_fog_distance */ - -#ifdef __GLEE_GL_NV_fog_distance -#endif - -/* GL_NV_texgen_emboss */ - -#ifdef __GLEE_GL_NV_texgen_emboss -#endif - -/* GL_NV_blend_square */ - -#ifdef __GLEE_GL_NV_blend_square -#endif - -/* GL_NV_texture_env_combine4 */ - -#ifdef __GLEE_GL_NV_texture_env_combine4 -#endif - -/* GL_MESA_resize_buffers */ - -#ifdef __GLEE_GL_MESA_resize_buffers -#ifndef GLEE_C_DEFINED_glResizeBuffersMESA -#define GLEE_C_DEFINED_glResizeBuffersMESA - void __stdcall GLee_Lazy_glResizeBuffersMESA(void) {if (GLeeInit()) glResizeBuffersMESA();} - GLEEPFNGLRESIZEBUFFERSMESAPROC GLeeFuncPtr_glResizeBuffersMESA=GLee_Lazy_glResizeBuffersMESA; -#endif -#endif - -/* GL_MESA_window_pos */ - -#ifdef __GLEE_GL_MESA_window_pos -#ifndef GLEE_C_DEFINED_glWindowPos2dMESA -#define GLEE_C_DEFINED_glWindowPos2dMESA - void __stdcall GLee_Lazy_glWindowPos2dMESA(GLdouble x, GLdouble y) {if (GLeeInit()) glWindowPos2dMESA(x, y);} - GLEEPFNGLWINDOWPOS2DMESAPROC GLeeFuncPtr_glWindowPos2dMESA=GLee_Lazy_glWindowPos2dMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2dvMESA -#define GLEE_C_DEFINED_glWindowPos2dvMESA - void __stdcall GLee_Lazy_glWindowPos2dvMESA(const GLdouble * v) {if (GLeeInit()) glWindowPos2dvMESA(v);} - GLEEPFNGLWINDOWPOS2DVMESAPROC GLeeFuncPtr_glWindowPos2dvMESA=GLee_Lazy_glWindowPos2dvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2fMESA -#define GLEE_C_DEFINED_glWindowPos2fMESA - void __stdcall GLee_Lazy_glWindowPos2fMESA(GLfloat x, GLfloat y) {if (GLeeInit()) glWindowPos2fMESA(x, y);} - GLEEPFNGLWINDOWPOS2FMESAPROC GLeeFuncPtr_glWindowPos2fMESA=GLee_Lazy_glWindowPos2fMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2fvMESA -#define GLEE_C_DEFINED_glWindowPos2fvMESA - void __stdcall GLee_Lazy_glWindowPos2fvMESA(const GLfloat * v) {if (GLeeInit()) glWindowPos2fvMESA(v);} - GLEEPFNGLWINDOWPOS2FVMESAPROC GLeeFuncPtr_glWindowPos2fvMESA=GLee_Lazy_glWindowPos2fvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2iMESA -#define GLEE_C_DEFINED_glWindowPos2iMESA - void __stdcall GLee_Lazy_glWindowPos2iMESA(GLint x, GLint y) {if (GLeeInit()) glWindowPos2iMESA(x, y);} - GLEEPFNGLWINDOWPOS2IMESAPROC GLeeFuncPtr_glWindowPos2iMESA=GLee_Lazy_glWindowPos2iMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2ivMESA -#define GLEE_C_DEFINED_glWindowPos2ivMESA - void __stdcall GLee_Lazy_glWindowPos2ivMESA(const GLint * v) {if (GLeeInit()) glWindowPos2ivMESA(v);} - GLEEPFNGLWINDOWPOS2IVMESAPROC GLeeFuncPtr_glWindowPos2ivMESA=GLee_Lazy_glWindowPos2ivMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2sMESA -#define GLEE_C_DEFINED_glWindowPos2sMESA - void __stdcall GLee_Lazy_glWindowPos2sMESA(GLshort x, GLshort y) {if (GLeeInit()) glWindowPos2sMESA(x, y);} - GLEEPFNGLWINDOWPOS2SMESAPROC GLeeFuncPtr_glWindowPos2sMESA=GLee_Lazy_glWindowPos2sMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos2svMESA -#define GLEE_C_DEFINED_glWindowPos2svMESA - void __stdcall GLee_Lazy_glWindowPos2svMESA(const GLshort * v) {if (GLeeInit()) glWindowPos2svMESA(v);} - GLEEPFNGLWINDOWPOS2SVMESAPROC GLeeFuncPtr_glWindowPos2svMESA=GLee_Lazy_glWindowPos2svMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3dMESA -#define GLEE_C_DEFINED_glWindowPos3dMESA - void __stdcall GLee_Lazy_glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glWindowPos3dMESA(x, y, z);} - GLEEPFNGLWINDOWPOS3DMESAPROC GLeeFuncPtr_glWindowPos3dMESA=GLee_Lazy_glWindowPos3dMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3dvMESA -#define GLEE_C_DEFINED_glWindowPos3dvMESA - void __stdcall GLee_Lazy_glWindowPos3dvMESA(const GLdouble * v) {if (GLeeInit()) glWindowPos3dvMESA(v);} - GLEEPFNGLWINDOWPOS3DVMESAPROC GLeeFuncPtr_glWindowPos3dvMESA=GLee_Lazy_glWindowPos3dvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3fMESA -#define GLEE_C_DEFINED_glWindowPos3fMESA - void __stdcall GLee_Lazy_glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glWindowPos3fMESA(x, y, z);} - GLEEPFNGLWINDOWPOS3FMESAPROC GLeeFuncPtr_glWindowPos3fMESA=GLee_Lazy_glWindowPos3fMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3fvMESA -#define GLEE_C_DEFINED_glWindowPos3fvMESA - void __stdcall GLee_Lazy_glWindowPos3fvMESA(const GLfloat * v) {if (GLeeInit()) glWindowPos3fvMESA(v);} - GLEEPFNGLWINDOWPOS3FVMESAPROC GLeeFuncPtr_glWindowPos3fvMESA=GLee_Lazy_glWindowPos3fvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3iMESA -#define GLEE_C_DEFINED_glWindowPos3iMESA - void __stdcall GLee_Lazy_glWindowPos3iMESA(GLint x, GLint y, GLint z) {if (GLeeInit()) glWindowPos3iMESA(x, y, z);} - GLEEPFNGLWINDOWPOS3IMESAPROC GLeeFuncPtr_glWindowPos3iMESA=GLee_Lazy_glWindowPos3iMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3ivMESA -#define GLEE_C_DEFINED_glWindowPos3ivMESA - void __stdcall GLee_Lazy_glWindowPos3ivMESA(const GLint * v) {if (GLeeInit()) glWindowPos3ivMESA(v);} - GLEEPFNGLWINDOWPOS3IVMESAPROC GLeeFuncPtr_glWindowPos3ivMESA=GLee_Lazy_glWindowPos3ivMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3sMESA -#define GLEE_C_DEFINED_glWindowPos3sMESA - void __stdcall GLee_Lazy_glWindowPos3sMESA(GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glWindowPos3sMESA(x, y, z);} - GLEEPFNGLWINDOWPOS3SMESAPROC GLeeFuncPtr_glWindowPos3sMESA=GLee_Lazy_glWindowPos3sMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos3svMESA -#define GLEE_C_DEFINED_glWindowPos3svMESA - void __stdcall GLee_Lazy_glWindowPos3svMESA(const GLshort * v) {if (GLeeInit()) glWindowPos3svMESA(v);} - GLEEPFNGLWINDOWPOS3SVMESAPROC GLeeFuncPtr_glWindowPos3svMESA=GLee_Lazy_glWindowPos3svMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4dMESA -#define GLEE_C_DEFINED_glWindowPos4dMESA - void __stdcall GLee_Lazy_glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glWindowPos4dMESA(x, y, z, w);} - GLEEPFNGLWINDOWPOS4DMESAPROC GLeeFuncPtr_glWindowPos4dMESA=GLee_Lazy_glWindowPos4dMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4dvMESA -#define GLEE_C_DEFINED_glWindowPos4dvMESA - void __stdcall GLee_Lazy_glWindowPos4dvMESA(const GLdouble * v) {if (GLeeInit()) glWindowPos4dvMESA(v);} - GLEEPFNGLWINDOWPOS4DVMESAPROC GLeeFuncPtr_glWindowPos4dvMESA=GLee_Lazy_glWindowPos4dvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4fMESA -#define GLEE_C_DEFINED_glWindowPos4fMESA - void __stdcall GLee_Lazy_glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glWindowPos4fMESA(x, y, z, w);} - GLEEPFNGLWINDOWPOS4FMESAPROC GLeeFuncPtr_glWindowPos4fMESA=GLee_Lazy_glWindowPos4fMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4fvMESA -#define GLEE_C_DEFINED_glWindowPos4fvMESA - void __stdcall GLee_Lazy_glWindowPos4fvMESA(const GLfloat * v) {if (GLeeInit()) glWindowPos4fvMESA(v);} - GLEEPFNGLWINDOWPOS4FVMESAPROC GLeeFuncPtr_glWindowPos4fvMESA=GLee_Lazy_glWindowPos4fvMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4iMESA -#define GLEE_C_DEFINED_glWindowPos4iMESA - void __stdcall GLee_Lazy_glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w) {if (GLeeInit()) glWindowPos4iMESA(x, y, z, w);} - GLEEPFNGLWINDOWPOS4IMESAPROC GLeeFuncPtr_glWindowPos4iMESA=GLee_Lazy_glWindowPos4iMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4ivMESA -#define GLEE_C_DEFINED_glWindowPos4ivMESA - void __stdcall GLee_Lazy_glWindowPos4ivMESA(const GLint * v) {if (GLeeInit()) glWindowPos4ivMESA(v);} - GLEEPFNGLWINDOWPOS4IVMESAPROC GLeeFuncPtr_glWindowPos4ivMESA=GLee_Lazy_glWindowPos4ivMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4sMESA -#define GLEE_C_DEFINED_glWindowPos4sMESA - void __stdcall GLee_Lazy_glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w) {if (GLeeInit()) glWindowPos4sMESA(x, y, z, w);} - GLEEPFNGLWINDOWPOS4SMESAPROC GLeeFuncPtr_glWindowPos4sMESA=GLee_Lazy_glWindowPos4sMESA; -#endif -#ifndef GLEE_C_DEFINED_glWindowPos4svMESA -#define GLEE_C_DEFINED_glWindowPos4svMESA - void __stdcall GLee_Lazy_glWindowPos4svMESA(const GLshort * v) {if (GLeeInit()) glWindowPos4svMESA(v);} - GLEEPFNGLWINDOWPOS4SVMESAPROC GLeeFuncPtr_glWindowPos4svMESA=GLee_Lazy_glWindowPos4svMESA; -#endif -#endif - -/* GL_EXT_texture_compression_s3tc */ - -#ifdef __GLEE_GL_EXT_texture_compression_s3tc -#endif - -/* GL_IBM_cull_vertex */ - -#ifdef __GLEE_GL_IBM_cull_vertex -#endif - -/* GL_IBM_multimode_draw_arrays */ - -#ifdef __GLEE_GL_IBM_multimode_draw_arrays -#ifndef GLEE_C_DEFINED_glMultiModeDrawArraysIBM -#define GLEE_C_DEFINED_glMultiModeDrawArraysIBM - void __stdcall GLee_Lazy_glMultiModeDrawArraysIBM(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) {if (GLeeInit()) glMultiModeDrawArraysIBM(mode, first, count, primcount, modestride);} - GLEEPFNGLMULTIMODEDRAWARRAYSIBMPROC GLeeFuncPtr_glMultiModeDrawArraysIBM=GLee_Lazy_glMultiModeDrawArraysIBM; -#endif -#ifndef GLEE_C_DEFINED_glMultiModeDrawElementsIBM -#define GLEE_C_DEFINED_glMultiModeDrawElementsIBM - void __stdcall GLee_Lazy_glMultiModeDrawElementsIBM(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei primcount, GLint modestride) {if (GLeeInit()) glMultiModeDrawElementsIBM(mode, count, type, indices, primcount, modestride);} - GLEEPFNGLMULTIMODEDRAWELEMENTSIBMPROC GLeeFuncPtr_glMultiModeDrawElementsIBM=GLee_Lazy_glMultiModeDrawElementsIBM; -#endif -#endif - -/* GL_IBM_vertex_array_lists */ - -#ifdef __GLEE_GL_IBM_vertex_array_lists -#ifndef GLEE_C_DEFINED_glColorPointerListIBM -#define GLEE_C_DEFINED_glColorPointerListIBM - void __stdcall GLee_Lazy_glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glColorPointerListIBM(size, type, stride, pointer, ptrstride);} - GLEEPFNGLCOLORPOINTERLISTIBMPROC GLeeFuncPtr_glColorPointerListIBM=GLee_Lazy_glColorPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorPointerListIBM -#define GLEE_C_DEFINED_glSecondaryColorPointerListIBM - void __stdcall GLee_Lazy_glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glSecondaryColorPointerListIBM(size, type, stride, pointer, ptrstride);} - GLEEPFNGLSECONDARYCOLORPOINTERLISTIBMPROC GLeeFuncPtr_glSecondaryColorPointerListIBM=GLee_Lazy_glSecondaryColorPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glEdgeFlagPointerListIBM -#define GLEE_C_DEFINED_glEdgeFlagPointerListIBM - void __stdcall GLee_Lazy_glEdgeFlagPointerListIBM(GLint stride, const GLboolean* * pointer, GLint ptrstride) {if (GLeeInit()) glEdgeFlagPointerListIBM(stride, pointer, ptrstride);} - GLEEPFNGLEDGEFLAGPOINTERLISTIBMPROC GLeeFuncPtr_glEdgeFlagPointerListIBM=GLee_Lazy_glEdgeFlagPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordPointerListIBM -#define GLEE_C_DEFINED_glFogCoordPointerListIBM - void __stdcall GLee_Lazy_glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glFogCoordPointerListIBM(type, stride, pointer, ptrstride);} - GLEEPFNGLFOGCOORDPOINTERLISTIBMPROC GLeeFuncPtr_glFogCoordPointerListIBM=GLee_Lazy_glFogCoordPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glIndexPointerListIBM -#define GLEE_C_DEFINED_glIndexPointerListIBM - void __stdcall GLee_Lazy_glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glIndexPointerListIBM(type, stride, pointer, ptrstride);} - GLEEPFNGLINDEXPOINTERLISTIBMPROC GLeeFuncPtr_glIndexPointerListIBM=GLee_Lazy_glIndexPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glNormalPointerListIBM -#define GLEE_C_DEFINED_glNormalPointerListIBM - void __stdcall GLee_Lazy_glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glNormalPointerListIBM(type, stride, pointer, ptrstride);} - GLEEPFNGLNORMALPOINTERLISTIBMPROC GLeeFuncPtr_glNormalPointerListIBM=GLee_Lazy_glNormalPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordPointerListIBM -#define GLEE_C_DEFINED_glTexCoordPointerListIBM - void __stdcall GLee_Lazy_glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glTexCoordPointerListIBM(size, type, stride, pointer, ptrstride);} - GLEEPFNGLTEXCOORDPOINTERLISTIBMPROC GLeeFuncPtr_glTexCoordPointerListIBM=GLee_Lazy_glTexCoordPointerListIBM; -#endif -#ifndef GLEE_C_DEFINED_glVertexPointerListIBM -#define GLEE_C_DEFINED_glVertexPointerListIBM - void __stdcall GLee_Lazy_glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride) {if (GLeeInit()) glVertexPointerListIBM(size, type, stride, pointer, ptrstride);} - GLEEPFNGLVERTEXPOINTERLISTIBMPROC GLeeFuncPtr_glVertexPointerListIBM=GLee_Lazy_glVertexPointerListIBM; -#endif -#endif - -/* GL_SGIX_subsample */ - -#ifdef __GLEE_GL_SGIX_subsample -#endif - -/* GL_SGIX_ycrcb_subsample */ - -#ifdef __GLEE_GL_SGIX_ycrcb_subsample -#endif - -/* GL_SGIX_ycrcba */ - -#ifdef __GLEE_GL_SGIX_ycrcba -#endif - -/* GL_SGI_depth_pass_instrument */ - -#ifdef __GLEE_GL_SGI_depth_pass_instrument -#endif - -/* GL_3DFX_texture_compression_FXT1 */ - -#ifdef __GLEE_GL_3DFX_texture_compression_FXT1 -#endif - -/* GL_3DFX_multisample */ - -#ifdef __GLEE_GL_3DFX_multisample -#endif - -/* GL_3DFX_tbuffer */ - -#ifdef __GLEE_GL_3DFX_tbuffer -#ifndef GLEE_C_DEFINED_glTbufferMask3DFX -#define GLEE_C_DEFINED_glTbufferMask3DFX - void __stdcall GLee_Lazy_glTbufferMask3DFX(GLuint mask) {if (GLeeInit()) glTbufferMask3DFX(mask);} - GLEEPFNGLTBUFFERMASK3DFXPROC GLeeFuncPtr_glTbufferMask3DFX=GLee_Lazy_glTbufferMask3DFX; -#endif -#endif - -/* GL_EXT_multisample */ - -#ifdef __GLEE_GL_EXT_multisample -#ifndef GLEE_C_DEFINED_glSampleMaskEXT -#define GLEE_C_DEFINED_glSampleMaskEXT - void __stdcall GLee_Lazy_glSampleMaskEXT(GLclampf value, GLboolean invert) {if (GLeeInit()) glSampleMaskEXT(value, invert);} - GLEEPFNGLSAMPLEMASKEXTPROC GLeeFuncPtr_glSampleMaskEXT=GLee_Lazy_glSampleMaskEXT; -#endif -#ifndef GLEE_C_DEFINED_glSamplePatternEXT -#define GLEE_C_DEFINED_glSamplePatternEXT - void __stdcall GLee_Lazy_glSamplePatternEXT(GLenum pattern) {if (GLeeInit()) glSamplePatternEXT(pattern);} - GLEEPFNGLSAMPLEPATTERNEXTPROC GLeeFuncPtr_glSamplePatternEXT=GLee_Lazy_glSamplePatternEXT; -#endif -#endif - -/* GL_SGIX_vertex_preclip */ - -#ifdef __GLEE_GL_SGIX_vertex_preclip -#endif - -/* GL_SGIX_convolution_accuracy */ - -#ifdef __GLEE_GL_SGIX_convolution_accuracy -#endif - -/* GL_SGIX_resample */ - -#ifdef __GLEE_GL_SGIX_resample -#endif - -/* GL_SGIS_point_line_texgen */ - -#ifdef __GLEE_GL_SGIS_point_line_texgen -#endif - -/* GL_SGIS_texture_color_mask */ - -#ifdef __GLEE_GL_SGIS_texture_color_mask -#ifndef GLEE_C_DEFINED_glTextureColorMaskSGIS -#define GLEE_C_DEFINED_glTextureColorMaskSGIS - void __stdcall GLee_Lazy_glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {if (GLeeInit()) glTextureColorMaskSGIS(red, green, blue, alpha);} - GLEEPFNGLTEXTURECOLORMASKSGISPROC GLeeFuncPtr_glTextureColorMaskSGIS=GLee_Lazy_glTextureColorMaskSGIS; -#endif -#endif - -/* GL_EXT_texture_env_dot3 */ - -#ifdef __GLEE_GL_EXT_texture_env_dot3 -#endif - -/* GL_ATI_texture_mirror_once */ - -#ifdef __GLEE_GL_ATI_texture_mirror_once -#endif - -/* GL_NV_fence */ - -#ifdef __GLEE_GL_NV_fence -#ifndef GLEE_C_DEFINED_glDeleteFencesNV -#define GLEE_C_DEFINED_glDeleteFencesNV - void __stdcall GLee_Lazy_glDeleteFencesNV(GLsizei n, const GLuint * fences) {if (GLeeInit()) glDeleteFencesNV(n, fences);} - GLEEPFNGLDELETEFENCESNVPROC GLeeFuncPtr_glDeleteFencesNV=GLee_Lazy_glDeleteFencesNV; -#endif -#ifndef GLEE_C_DEFINED_glGenFencesNV -#define GLEE_C_DEFINED_glGenFencesNV - void __stdcall GLee_Lazy_glGenFencesNV(GLsizei n, GLuint * fences) {if (GLeeInit()) glGenFencesNV(n, fences);} - GLEEPFNGLGENFENCESNVPROC GLeeFuncPtr_glGenFencesNV=GLee_Lazy_glGenFencesNV; -#endif -#ifndef GLEE_C_DEFINED_glIsFenceNV -#define GLEE_C_DEFINED_glIsFenceNV - GLboolean __stdcall GLee_Lazy_glIsFenceNV(GLuint fence) {if (GLeeInit()) return glIsFenceNV(fence); return (GLboolean)0;} - GLEEPFNGLISFENCENVPROC GLeeFuncPtr_glIsFenceNV=GLee_Lazy_glIsFenceNV; -#endif -#ifndef GLEE_C_DEFINED_glTestFenceNV -#define GLEE_C_DEFINED_glTestFenceNV - GLboolean __stdcall GLee_Lazy_glTestFenceNV(GLuint fence) {if (GLeeInit()) return glTestFenceNV(fence); return (GLboolean)0;} - GLEEPFNGLTESTFENCENVPROC GLeeFuncPtr_glTestFenceNV=GLee_Lazy_glTestFenceNV; -#endif -#ifndef GLEE_C_DEFINED_glGetFenceivNV -#define GLEE_C_DEFINED_glGetFenceivNV - void __stdcall GLee_Lazy_glGetFenceivNV(GLuint fence, GLenum pname, GLint * params) {if (GLeeInit()) glGetFenceivNV(fence, pname, params);} - GLEEPFNGLGETFENCEIVNVPROC GLeeFuncPtr_glGetFenceivNV=GLee_Lazy_glGetFenceivNV; -#endif -#ifndef GLEE_C_DEFINED_glFinishFenceNV -#define GLEE_C_DEFINED_glFinishFenceNV - void __stdcall GLee_Lazy_glFinishFenceNV(GLuint fence) {if (GLeeInit()) glFinishFenceNV(fence);} - GLEEPFNGLFINISHFENCENVPROC GLeeFuncPtr_glFinishFenceNV=GLee_Lazy_glFinishFenceNV; -#endif -#ifndef GLEE_C_DEFINED_glSetFenceNV -#define GLEE_C_DEFINED_glSetFenceNV - void __stdcall GLee_Lazy_glSetFenceNV(GLuint fence, GLenum condition) {if (GLeeInit()) glSetFenceNV(fence, condition);} - GLEEPFNGLSETFENCENVPROC GLeeFuncPtr_glSetFenceNV=GLee_Lazy_glSetFenceNV; -#endif -#endif - -/* GL_IBM_texture_mirrored_repeat */ - -#ifdef __GLEE_GL_IBM_texture_mirrored_repeat -#endif - -/* GL_NV_evaluators */ - -#ifdef __GLEE_GL_NV_evaluators -#ifndef GLEE_C_DEFINED_glMapControlPointsNV -#define GLEE_C_DEFINED_glMapControlPointsNV - void __stdcall GLee_Lazy_glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid * points) {if (GLeeInit()) glMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, points);} - GLEEPFNGLMAPCONTROLPOINTSNVPROC GLeeFuncPtr_glMapControlPointsNV=GLee_Lazy_glMapControlPointsNV; -#endif -#ifndef GLEE_C_DEFINED_glMapParameterivNV -#define GLEE_C_DEFINED_glMapParameterivNV - void __stdcall GLee_Lazy_glMapParameterivNV(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glMapParameterivNV(target, pname, params);} - GLEEPFNGLMAPPARAMETERIVNVPROC GLeeFuncPtr_glMapParameterivNV=GLee_Lazy_glMapParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glMapParameterfvNV -#define GLEE_C_DEFINED_glMapParameterfvNV - void __stdcall GLee_Lazy_glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glMapParameterfvNV(target, pname, params);} - GLEEPFNGLMAPPARAMETERFVNVPROC GLeeFuncPtr_glMapParameterfvNV=GLee_Lazy_glMapParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetMapControlPointsNV -#define GLEE_C_DEFINED_glGetMapControlPointsNV - void __stdcall GLee_Lazy_glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid * points) {if (GLeeInit()) glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, points);} - GLEEPFNGLGETMAPCONTROLPOINTSNVPROC GLeeFuncPtr_glGetMapControlPointsNV=GLee_Lazy_glGetMapControlPointsNV; -#endif -#ifndef GLEE_C_DEFINED_glGetMapParameterivNV -#define GLEE_C_DEFINED_glGetMapParameterivNV - void __stdcall GLee_Lazy_glGetMapParameterivNV(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMapParameterivNV(target, pname, params);} - GLEEPFNGLGETMAPPARAMETERIVNVPROC GLeeFuncPtr_glGetMapParameterivNV=GLee_Lazy_glGetMapParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetMapParameterfvNV -#define GLEE_C_DEFINED_glGetMapParameterfvNV - void __stdcall GLee_Lazy_glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMapParameterfvNV(target, pname, params);} - GLEEPFNGLGETMAPPARAMETERFVNVPROC GLeeFuncPtr_glGetMapParameterfvNV=GLee_Lazy_glGetMapParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetMapAttribParameterivNV -#define GLEE_C_DEFINED_glGetMapAttribParameterivNV - void __stdcall GLee_Lazy_glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetMapAttribParameterivNV(target, index, pname, params);} - GLEEPFNGLGETMAPATTRIBPARAMETERIVNVPROC GLeeFuncPtr_glGetMapAttribParameterivNV=GLee_Lazy_glGetMapAttribParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetMapAttribParameterfvNV -#define GLEE_C_DEFINED_glGetMapAttribParameterfvNV - void __stdcall GLee_Lazy_glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMapAttribParameterfvNV(target, index, pname, params);} - GLEEPFNGLGETMAPATTRIBPARAMETERFVNVPROC GLeeFuncPtr_glGetMapAttribParameterfvNV=GLee_Lazy_glGetMapAttribParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glEvalMapsNV -#define GLEE_C_DEFINED_glEvalMapsNV - void __stdcall GLee_Lazy_glEvalMapsNV(GLenum target, GLenum mode) {if (GLeeInit()) glEvalMapsNV(target, mode);} - GLEEPFNGLEVALMAPSNVPROC GLeeFuncPtr_glEvalMapsNV=GLee_Lazy_glEvalMapsNV; -#endif -#endif - -/* GL_NV_packed_depth_stencil */ - -#ifdef __GLEE_GL_NV_packed_depth_stencil -#endif - -/* GL_NV_register_combiners2 */ - -#ifdef __GLEE_GL_NV_register_combiners2 -#ifndef GLEE_C_DEFINED_glCombinerStageParameterfvNV -#define GLEE_C_DEFINED_glCombinerStageParameterfvNV - void __stdcall GLee_Lazy_glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat * params) {if (GLeeInit()) glCombinerStageParameterfvNV(stage, pname, params);} - GLEEPFNGLCOMBINERSTAGEPARAMETERFVNVPROC GLeeFuncPtr_glCombinerStageParameterfvNV=GLee_Lazy_glCombinerStageParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetCombinerStageParameterfvNV -#define GLEE_C_DEFINED_glGetCombinerStageParameterfvNV - void __stdcall GLee_Lazy_glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetCombinerStageParameterfvNV(stage, pname, params);} - GLEEPFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerStageParameterfvNV=GLee_Lazy_glGetCombinerStageParameterfvNV; -#endif -#endif - -/* GL_NV_texture_compression_vtc */ - -#ifdef __GLEE_GL_NV_texture_compression_vtc -#endif - -/* GL_NV_texture_rectangle */ - -#ifdef __GLEE_GL_NV_texture_rectangle -#endif - -/* GL_NV_texture_shader */ - -#ifdef __GLEE_GL_NV_texture_shader -#endif - -/* GL_NV_texture_shader2 */ - -#ifdef __GLEE_GL_NV_texture_shader2 -#endif - -/* GL_NV_vertex_array_range2 */ - -#ifdef __GLEE_GL_NV_vertex_array_range2 -#endif - -/* GL_NV_vertex_program */ - -#ifdef __GLEE_GL_NV_vertex_program -#ifndef GLEE_C_DEFINED_glAreProgramsResidentNV -#define GLEE_C_DEFINED_glAreProgramsResidentNV - GLboolean __stdcall GLee_Lazy_glAreProgramsResidentNV(GLsizei n, const GLuint * programs, GLboolean * residences) {if (GLeeInit()) return glAreProgramsResidentNV(n, programs, residences); return (GLboolean)0;} - GLEEPFNGLAREPROGRAMSRESIDENTNVPROC GLeeFuncPtr_glAreProgramsResidentNV=GLee_Lazy_glAreProgramsResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glBindProgramNV -#define GLEE_C_DEFINED_glBindProgramNV - void __stdcall GLee_Lazy_glBindProgramNV(GLenum target, GLuint id) {if (GLeeInit()) glBindProgramNV(target, id);} - GLEEPFNGLBINDPROGRAMNVPROC GLeeFuncPtr_glBindProgramNV=GLee_Lazy_glBindProgramNV; -#endif -#ifndef GLEE_C_DEFINED_glDeleteProgramsNV -#define GLEE_C_DEFINED_glDeleteProgramsNV - void __stdcall GLee_Lazy_glDeleteProgramsNV(GLsizei n, const GLuint * programs) {if (GLeeInit()) glDeleteProgramsNV(n, programs);} - GLEEPFNGLDELETEPROGRAMSNVPROC GLeeFuncPtr_glDeleteProgramsNV=GLee_Lazy_glDeleteProgramsNV; -#endif -#ifndef GLEE_C_DEFINED_glExecuteProgramNV -#define GLEE_C_DEFINED_glExecuteProgramNV - void __stdcall GLee_Lazy_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat * params) {if (GLeeInit()) glExecuteProgramNV(target, id, params);} - GLEEPFNGLEXECUTEPROGRAMNVPROC GLeeFuncPtr_glExecuteProgramNV=GLee_Lazy_glExecuteProgramNV; -#endif -#ifndef GLEE_C_DEFINED_glGenProgramsNV -#define GLEE_C_DEFINED_glGenProgramsNV - void __stdcall GLee_Lazy_glGenProgramsNV(GLsizei n, GLuint * programs) {if (GLeeInit()) glGenProgramsNV(n, programs);} - GLEEPFNGLGENPROGRAMSNVPROC GLeeFuncPtr_glGenProgramsNV=GLee_Lazy_glGenProgramsNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramParameterdvNV -#define GLEE_C_DEFINED_glGetProgramParameterdvNV - void __stdcall GLee_Lazy_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetProgramParameterdvNV(target, index, pname, params);} - GLEEPFNGLGETPROGRAMPARAMETERDVNVPROC GLeeFuncPtr_glGetProgramParameterdvNV=GLee_Lazy_glGetProgramParameterdvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramParameterfvNV -#define GLEE_C_DEFINED_glGetProgramParameterfvNV - void __stdcall GLee_Lazy_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetProgramParameterfvNV(target, index, pname, params);} - GLEEPFNGLGETPROGRAMPARAMETERFVNVPROC GLeeFuncPtr_glGetProgramParameterfvNV=GLee_Lazy_glGetProgramParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramivNV -#define GLEE_C_DEFINED_glGetProgramivNV - void __stdcall GLee_Lazy_glGetProgramivNV(GLuint id, GLenum pname, GLint * params) {if (GLeeInit()) glGetProgramivNV(id, pname, params);} - GLEEPFNGLGETPROGRAMIVNVPROC GLeeFuncPtr_glGetProgramivNV=GLee_Lazy_glGetProgramivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramStringNV -#define GLEE_C_DEFINED_glGetProgramStringNV - void __stdcall GLee_Lazy_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte * program) {if (GLeeInit()) glGetProgramStringNV(id, pname, program);} - GLEEPFNGLGETPROGRAMSTRINGNVPROC GLeeFuncPtr_glGetProgramStringNV=GLee_Lazy_glGetProgramStringNV; -#endif -#ifndef GLEE_C_DEFINED_glGetTrackMatrixivNV -#define GLEE_C_DEFINED_glGetTrackMatrixivNV - void __stdcall GLee_Lazy_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint * params) {if (GLeeInit()) glGetTrackMatrixivNV(target, address, pname, params);} - GLEEPFNGLGETTRACKMATRIXIVNVPROC GLeeFuncPtr_glGetTrackMatrixivNV=GLee_Lazy_glGetTrackMatrixivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribdvNV -#define GLEE_C_DEFINED_glGetVertexAttribdvNV - void __stdcall GLee_Lazy_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVertexAttribdvNV(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBDVNVPROC GLeeFuncPtr_glGetVertexAttribdvNV=GLee_Lazy_glGetVertexAttribdvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribfvNV -#define GLEE_C_DEFINED_glGetVertexAttribfvNV - void __stdcall GLee_Lazy_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVertexAttribfvNV(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBFVNVPROC GLeeFuncPtr_glGetVertexAttribfvNV=GLee_Lazy_glGetVertexAttribfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribivNV -#define GLEE_C_DEFINED_glGetVertexAttribivNV - void __stdcall GLee_Lazy_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetVertexAttribivNV(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBIVNVPROC GLeeFuncPtr_glGetVertexAttribivNV=GLee_Lazy_glGetVertexAttribivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribPointervNV -#define GLEE_C_DEFINED_glGetVertexAttribPointervNV - void __stdcall GLee_Lazy_glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid* * pointer) {if (GLeeInit()) glGetVertexAttribPointervNV(index, pname, pointer);} - GLEEPFNGLGETVERTEXATTRIBPOINTERVNVPROC GLeeFuncPtr_glGetVertexAttribPointervNV=GLee_Lazy_glGetVertexAttribPointervNV; -#endif -#ifndef GLEE_C_DEFINED_glIsProgramNV -#define GLEE_C_DEFINED_glIsProgramNV - GLboolean __stdcall GLee_Lazy_glIsProgramNV(GLuint id) {if (GLeeInit()) return glIsProgramNV(id); return (GLboolean)0;} - GLEEPFNGLISPROGRAMNVPROC GLeeFuncPtr_glIsProgramNV=GLee_Lazy_glIsProgramNV; -#endif -#ifndef GLEE_C_DEFINED_glLoadProgramNV -#define GLEE_C_DEFINED_glLoadProgramNV - void __stdcall GLee_Lazy_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte * program) {if (GLeeInit()) glLoadProgramNV(target, id, len, program);} - GLEEPFNGLLOADPROGRAMNVPROC GLeeFuncPtr_glLoadProgramNV=GLee_Lazy_glLoadProgramNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameter4dNV -#define GLEE_C_DEFINED_glProgramParameter4dNV - void __stdcall GLee_Lazy_glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glProgramParameter4dNV(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMPARAMETER4DNVPROC GLeeFuncPtr_glProgramParameter4dNV=GLee_Lazy_glProgramParameter4dNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameter4dvNV -#define GLEE_C_DEFINED_glProgramParameter4dvNV - void __stdcall GLee_Lazy_glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble * v) {if (GLeeInit()) glProgramParameter4dvNV(target, index, v);} - GLEEPFNGLPROGRAMPARAMETER4DVNVPROC GLeeFuncPtr_glProgramParameter4dvNV=GLee_Lazy_glProgramParameter4dvNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameter4fNV -#define GLEE_C_DEFINED_glProgramParameter4fNV - void __stdcall GLee_Lazy_glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glProgramParameter4fNV(target, index, x, y, z, w);} - GLEEPFNGLPROGRAMPARAMETER4FNVPROC GLeeFuncPtr_glProgramParameter4fNV=GLee_Lazy_glProgramParameter4fNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameter4fvNV -#define GLEE_C_DEFINED_glProgramParameter4fvNV - void __stdcall GLee_Lazy_glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat * v) {if (GLeeInit()) glProgramParameter4fvNV(target, index, v);} - GLEEPFNGLPROGRAMPARAMETER4FVNVPROC GLeeFuncPtr_glProgramParameter4fvNV=GLee_Lazy_glProgramParameter4fvNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameters4dvNV -#define GLEE_C_DEFINED_glProgramParameters4dvNV - void __stdcall GLee_Lazy_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble * v) {if (GLeeInit()) glProgramParameters4dvNV(target, index, count, v);} - GLEEPFNGLPROGRAMPARAMETERS4DVNVPROC GLeeFuncPtr_glProgramParameters4dvNV=GLee_Lazy_glProgramParameters4dvNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramParameters4fvNV -#define GLEE_C_DEFINED_glProgramParameters4fvNV - void __stdcall GLee_Lazy_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat * v) {if (GLeeInit()) glProgramParameters4fvNV(target, index, count, v);} - GLEEPFNGLPROGRAMPARAMETERS4FVNVPROC GLeeFuncPtr_glProgramParameters4fvNV=GLee_Lazy_glProgramParameters4fvNV; -#endif -#ifndef GLEE_C_DEFINED_glRequestResidentProgramsNV -#define GLEE_C_DEFINED_glRequestResidentProgramsNV - void __stdcall GLee_Lazy_glRequestResidentProgramsNV(GLsizei n, const GLuint * programs) {if (GLeeInit()) glRequestResidentProgramsNV(n, programs);} - GLEEPFNGLREQUESTRESIDENTPROGRAMSNVPROC GLeeFuncPtr_glRequestResidentProgramsNV=GLee_Lazy_glRequestResidentProgramsNV; -#endif -#ifndef GLEE_C_DEFINED_glTrackMatrixNV -#define GLEE_C_DEFINED_glTrackMatrixNV - void __stdcall GLee_Lazy_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform) {if (GLeeInit()) glTrackMatrixNV(target, address, matrix, transform);} - GLEEPFNGLTRACKMATRIXNVPROC GLeeFuncPtr_glTrackMatrixNV=GLee_Lazy_glTrackMatrixNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribPointerNV -#define GLEE_C_DEFINED_glVertexAttribPointerNV - void __stdcall GLee_Lazy_glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribPointerNV(index, fsize, type, stride, pointer);} - GLEEPFNGLVERTEXATTRIBPOINTERNVPROC GLeeFuncPtr_glVertexAttribPointerNV=GLee_Lazy_glVertexAttribPointerNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1dNV -#define GLEE_C_DEFINED_glVertexAttrib1dNV - void __stdcall GLee_Lazy_glVertexAttrib1dNV(GLuint index, GLdouble x) {if (GLeeInit()) glVertexAttrib1dNV(index, x);} - GLEEPFNGLVERTEXATTRIB1DNVPROC GLeeFuncPtr_glVertexAttrib1dNV=GLee_Lazy_glVertexAttrib1dNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1dvNV -#define GLEE_C_DEFINED_glVertexAttrib1dvNV - void __stdcall GLee_Lazy_glVertexAttrib1dvNV(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib1dvNV(index, v);} - GLEEPFNGLVERTEXATTRIB1DVNVPROC GLeeFuncPtr_glVertexAttrib1dvNV=GLee_Lazy_glVertexAttrib1dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1fNV -#define GLEE_C_DEFINED_glVertexAttrib1fNV - void __stdcall GLee_Lazy_glVertexAttrib1fNV(GLuint index, GLfloat x) {if (GLeeInit()) glVertexAttrib1fNV(index, x);} - GLEEPFNGLVERTEXATTRIB1FNVPROC GLeeFuncPtr_glVertexAttrib1fNV=GLee_Lazy_glVertexAttrib1fNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1fvNV -#define GLEE_C_DEFINED_glVertexAttrib1fvNV - void __stdcall GLee_Lazy_glVertexAttrib1fvNV(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib1fvNV(index, v);} - GLEEPFNGLVERTEXATTRIB1FVNVPROC GLeeFuncPtr_glVertexAttrib1fvNV=GLee_Lazy_glVertexAttrib1fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1sNV -#define GLEE_C_DEFINED_glVertexAttrib1sNV - void __stdcall GLee_Lazy_glVertexAttrib1sNV(GLuint index, GLshort x) {if (GLeeInit()) glVertexAttrib1sNV(index, x);} - GLEEPFNGLVERTEXATTRIB1SNVPROC GLeeFuncPtr_glVertexAttrib1sNV=GLee_Lazy_glVertexAttrib1sNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1svNV -#define GLEE_C_DEFINED_glVertexAttrib1svNV - void __stdcall GLee_Lazy_glVertexAttrib1svNV(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib1svNV(index, v);} - GLEEPFNGLVERTEXATTRIB1SVNVPROC GLeeFuncPtr_glVertexAttrib1svNV=GLee_Lazy_glVertexAttrib1svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2dNV -#define GLEE_C_DEFINED_glVertexAttrib2dNV - void __stdcall GLee_Lazy_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexAttrib2dNV(index, x, y);} - GLEEPFNGLVERTEXATTRIB2DNVPROC GLeeFuncPtr_glVertexAttrib2dNV=GLee_Lazy_glVertexAttrib2dNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2dvNV -#define GLEE_C_DEFINED_glVertexAttrib2dvNV - void __stdcall GLee_Lazy_glVertexAttrib2dvNV(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib2dvNV(index, v);} - GLEEPFNGLVERTEXATTRIB2DVNVPROC GLeeFuncPtr_glVertexAttrib2dvNV=GLee_Lazy_glVertexAttrib2dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2fNV -#define GLEE_C_DEFINED_glVertexAttrib2fNV - void __stdcall GLee_Lazy_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y) {if (GLeeInit()) glVertexAttrib2fNV(index, x, y);} - GLEEPFNGLVERTEXATTRIB2FNVPROC GLeeFuncPtr_glVertexAttrib2fNV=GLee_Lazy_glVertexAttrib2fNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2fvNV -#define GLEE_C_DEFINED_glVertexAttrib2fvNV - void __stdcall GLee_Lazy_glVertexAttrib2fvNV(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib2fvNV(index, v);} - GLEEPFNGLVERTEXATTRIB2FVNVPROC GLeeFuncPtr_glVertexAttrib2fvNV=GLee_Lazy_glVertexAttrib2fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2sNV -#define GLEE_C_DEFINED_glVertexAttrib2sNV - void __stdcall GLee_Lazy_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y) {if (GLeeInit()) glVertexAttrib2sNV(index, x, y);} - GLEEPFNGLVERTEXATTRIB2SNVPROC GLeeFuncPtr_glVertexAttrib2sNV=GLee_Lazy_glVertexAttrib2sNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2svNV -#define GLEE_C_DEFINED_glVertexAttrib2svNV - void __stdcall GLee_Lazy_glVertexAttrib2svNV(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib2svNV(index, v);} - GLEEPFNGLVERTEXATTRIB2SVNVPROC GLeeFuncPtr_glVertexAttrib2svNV=GLee_Lazy_glVertexAttrib2svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3dNV -#define GLEE_C_DEFINED_glVertexAttrib3dNV - void __stdcall GLee_Lazy_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexAttrib3dNV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3DNVPROC GLeeFuncPtr_glVertexAttrib3dNV=GLee_Lazy_glVertexAttrib3dNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3dvNV -#define GLEE_C_DEFINED_glVertexAttrib3dvNV - void __stdcall GLee_Lazy_glVertexAttrib3dvNV(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib3dvNV(index, v);} - GLEEPFNGLVERTEXATTRIB3DVNVPROC GLeeFuncPtr_glVertexAttrib3dvNV=GLee_Lazy_glVertexAttrib3dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3fNV -#define GLEE_C_DEFINED_glVertexAttrib3fNV - void __stdcall GLee_Lazy_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glVertexAttrib3fNV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3FNVPROC GLeeFuncPtr_glVertexAttrib3fNV=GLee_Lazy_glVertexAttrib3fNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3fvNV -#define GLEE_C_DEFINED_glVertexAttrib3fvNV - void __stdcall GLee_Lazy_glVertexAttrib3fvNV(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib3fvNV(index, v);} - GLEEPFNGLVERTEXATTRIB3FVNVPROC GLeeFuncPtr_glVertexAttrib3fvNV=GLee_Lazy_glVertexAttrib3fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3sNV -#define GLEE_C_DEFINED_glVertexAttrib3sNV - void __stdcall GLee_Lazy_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glVertexAttrib3sNV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3SNVPROC GLeeFuncPtr_glVertexAttrib3sNV=GLee_Lazy_glVertexAttrib3sNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3svNV -#define GLEE_C_DEFINED_glVertexAttrib3svNV - void __stdcall GLee_Lazy_glVertexAttrib3svNV(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib3svNV(index, v);} - GLEEPFNGLVERTEXATTRIB3SVNVPROC GLeeFuncPtr_glVertexAttrib3svNV=GLee_Lazy_glVertexAttrib3svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4dNV -#define GLEE_C_DEFINED_glVertexAttrib4dNV - void __stdcall GLee_Lazy_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexAttrib4dNV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4DNVPROC GLeeFuncPtr_glVertexAttrib4dNV=GLee_Lazy_glVertexAttrib4dNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4dvNV -#define GLEE_C_DEFINED_glVertexAttrib4dvNV - void __stdcall GLee_Lazy_glVertexAttrib4dvNV(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttrib4dvNV(index, v);} - GLEEPFNGLVERTEXATTRIB4DVNVPROC GLeeFuncPtr_glVertexAttrib4dvNV=GLee_Lazy_glVertexAttrib4dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4fNV -#define GLEE_C_DEFINED_glVertexAttrib4fNV - void __stdcall GLee_Lazy_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glVertexAttrib4fNV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4FNVPROC GLeeFuncPtr_glVertexAttrib4fNV=GLee_Lazy_glVertexAttrib4fNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4fvNV -#define GLEE_C_DEFINED_glVertexAttrib4fvNV - void __stdcall GLee_Lazy_glVertexAttrib4fvNV(GLuint index, const GLfloat * v) {if (GLeeInit()) glVertexAttrib4fvNV(index, v);} - GLEEPFNGLVERTEXATTRIB4FVNVPROC GLeeFuncPtr_glVertexAttrib4fvNV=GLee_Lazy_glVertexAttrib4fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4sNV -#define GLEE_C_DEFINED_glVertexAttrib4sNV - void __stdcall GLee_Lazy_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) {if (GLeeInit()) glVertexAttrib4sNV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4SNVPROC GLeeFuncPtr_glVertexAttrib4sNV=GLee_Lazy_glVertexAttrib4sNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4svNV -#define GLEE_C_DEFINED_glVertexAttrib4svNV - void __stdcall GLee_Lazy_glVertexAttrib4svNV(GLuint index, const GLshort * v) {if (GLeeInit()) glVertexAttrib4svNV(index, v);} - GLEEPFNGLVERTEXATTRIB4SVNVPROC GLeeFuncPtr_glVertexAttrib4svNV=GLee_Lazy_glVertexAttrib4svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4ubNV -#define GLEE_C_DEFINED_glVertexAttrib4ubNV - void __stdcall GLee_Lazy_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) {if (GLeeInit()) glVertexAttrib4ubNV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4UBNVPROC GLeeFuncPtr_glVertexAttrib4ubNV=GLee_Lazy_glVertexAttrib4ubNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4ubvNV -#define GLEE_C_DEFINED_glVertexAttrib4ubvNV - void __stdcall GLee_Lazy_glVertexAttrib4ubvNV(GLuint index, const GLubyte * v) {if (GLeeInit()) glVertexAttrib4ubvNV(index, v);} - GLEEPFNGLVERTEXATTRIB4UBVNVPROC GLeeFuncPtr_glVertexAttrib4ubvNV=GLee_Lazy_glVertexAttrib4ubvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs1dvNV -#define GLEE_C_DEFINED_glVertexAttribs1dvNV - void __stdcall GLee_Lazy_glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble * v) {if (GLeeInit()) glVertexAttribs1dvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS1DVNVPROC GLeeFuncPtr_glVertexAttribs1dvNV=GLee_Lazy_glVertexAttribs1dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs1fvNV -#define GLEE_C_DEFINED_glVertexAttribs1fvNV - void __stdcall GLee_Lazy_glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat * v) {if (GLeeInit()) glVertexAttribs1fvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS1FVNVPROC GLeeFuncPtr_glVertexAttribs1fvNV=GLee_Lazy_glVertexAttribs1fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs1svNV -#define GLEE_C_DEFINED_glVertexAttribs1svNV - void __stdcall GLee_Lazy_glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort * v) {if (GLeeInit()) glVertexAttribs1svNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS1SVNVPROC GLeeFuncPtr_glVertexAttribs1svNV=GLee_Lazy_glVertexAttribs1svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs2dvNV -#define GLEE_C_DEFINED_glVertexAttribs2dvNV - void __stdcall GLee_Lazy_glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble * v) {if (GLeeInit()) glVertexAttribs2dvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS2DVNVPROC GLeeFuncPtr_glVertexAttribs2dvNV=GLee_Lazy_glVertexAttribs2dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs2fvNV -#define GLEE_C_DEFINED_glVertexAttribs2fvNV - void __stdcall GLee_Lazy_glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat * v) {if (GLeeInit()) glVertexAttribs2fvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS2FVNVPROC GLeeFuncPtr_glVertexAttribs2fvNV=GLee_Lazy_glVertexAttribs2fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs2svNV -#define GLEE_C_DEFINED_glVertexAttribs2svNV - void __stdcall GLee_Lazy_glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort * v) {if (GLeeInit()) glVertexAttribs2svNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS2SVNVPROC GLeeFuncPtr_glVertexAttribs2svNV=GLee_Lazy_glVertexAttribs2svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs3dvNV -#define GLEE_C_DEFINED_glVertexAttribs3dvNV - void __stdcall GLee_Lazy_glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble * v) {if (GLeeInit()) glVertexAttribs3dvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS3DVNVPROC GLeeFuncPtr_glVertexAttribs3dvNV=GLee_Lazy_glVertexAttribs3dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs3fvNV -#define GLEE_C_DEFINED_glVertexAttribs3fvNV - void __stdcall GLee_Lazy_glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat * v) {if (GLeeInit()) glVertexAttribs3fvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS3FVNVPROC GLeeFuncPtr_glVertexAttribs3fvNV=GLee_Lazy_glVertexAttribs3fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs3svNV -#define GLEE_C_DEFINED_glVertexAttribs3svNV - void __stdcall GLee_Lazy_glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort * v) {if (GLeeInit()) glVertexAttribs3svNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS3SVNVPROC GLeeFuncPtr_glVertexAttribs3svNV=GLee_Lazy_glVertexAttribs3svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs4dvNV -#define GLEE_C_DEFINED_glVertexAttribs4dvNV - void __stdcall GLee_Lazy_glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble * v) {if (GLeeInit()) glVertexAttribs4dvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS4DVNVPROC GLeeFuncPtr_glVertexAttribs4dvNV=GLee_Lazy_glVertexAttribs4dvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs4fvNV -#define GLEE_C_DEFINED_glVertexAttribs4fvNV - void __stdcall GLee_Lazy_glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat * v) {if (GLeeInit()) glVertexAttribs4fvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS4FVNVPROC GLeeFuncPtr_glVertexAttribs4fvNV=GLee_Lazy_glVertexAttribs4fvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs4svNV -#define GLEE_C_DEFINED_glVertexAttribs4svNV - void __stdcall GLee_Lazy_glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort * v) {if (GLeeInit()) glVertexAttribs4svNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS4SVNVPROC GLeeFuncPtr_glVertexAttribs4svNV=GLee_Lazy_glVertexAttribs4svNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs4ubvNV -#define GLEE_C_DEFINED_glVertexAttribs4ubvNV - void __stdcall GLee_Lazy_glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte * v) {if (GLeeInit()) glVertexAttribs4ubvNV(index, count, v);} - GLEEPFNGLVERTEXATTRIBS4UBVNVPROC GLeeFuncPtr_glVertexAttribs4ubvNV=GLee_Lazy_glVertexAttribs4ubvNV; -#endif -#endif - -/* GL_SGIX_texture_coordinate_clamp */ - -#ifdef __GLEE_GL_SGIX_texture_coordinate_clamp -#endif - -/* GL_SGIX_scalebias_hint */ - -#ifdef __GLEE_GL_SGIX_scalebias_hint -#endif - -/* GL_OML_interlace */ - -#ifdef __GLEE_GL_OML_interlace -#endif - -/* GL_OML_subsample */ - -#ifdef __GLEE_GL_OML_subsample -#endif - -/* GL_OML_resample */ - -#ifdef __GLEE_GL_OML_resample -#endif - -/* GL_NV_copy_depth_to_color */ - -#ifdef __GLEE_GL_NV_copy_depth_to_color -#endif - -/* GL_ATI_envmap_bumpmap */ - -#ifdef __GLEE_GL_ATI_envmap_bumpmap -#ifndef GLEE_C_DEFINED_glTexBumpParameterivATI -#define GLEE_C_DEFINED_glTexBumpParameterivATI - void __stdcall GLee_Lazy_glTexBumpParameterivATI(GLenum pname, const GLint * param) {if (GLeeInit()) glTexBumpParameterivATI(pname, param);} - GLEEPFNGLTEXBUMPPARAMETERIVATIPROC GLeeFuncPtr_glTexBumpParameterivATI=GLee_Lazy_glTexBumpParameterivATI; -#endif -#ifndef GLEE_C_DEFINED_glTexBumpParameterfvATI -#define GLEE_C_DEFINED_glTexBumpParameterfvATI - void __stdcall GLee_Lazy_glTexBumpParameterfvATI(GLenum pname, const GLfloat * param) {if (GLeeInit()) glTexBumpParameterfvATI(pname, param);} - GLEEPFNGLTEXBUMPPARAMETERFVATIPROC GLeeFuncPtr_glTexBumpParameterfvATI=GLee_Lazy_glTexBumpParameterfvATI; -#endif -#ifndef GLEE_C_DEFINED_glGetTexBumpParameterivATI -#define GLEE_C_DEFINED_glGetTexBumpParameterivATI - void __stdcall GLee_Lazy_glGetTexBumpParameterivATI(GLenum pname, GLint * param) {if (GLeeInit()) glGetTexBumpParameterivATI(pname, param);} - GLEEPFNGLGETTEXBUMPPARAMETERIVATIPROC GLeeFuncPtr_glGetTexBumpParameterivATI=GLee_Lazy_glGetTexBumpParameterivATI; -#endif -#ifndef GLEE_C_DEFINED_glGetTexBumpParameterfvATI -#define GLEE_C_DEFINED_glGetTexBumpParameterfvATI - void __stdcall GLee_Lazy_glGetTexBumpParameterfvATI(GLenum pname, GLfloat * param) {if (GLeeInit()) glGetTexBumpParameterfvATI(pname, param);} - GLEEPFNGLGETTEXBUMPPARAMETERFVATIPROC GLeeFuncPtr_glGetTexBumpParameterfvATI=GLee_Lazy_glGetTexBumpParameterfvATI; -#endif -#endif - -/* GL_ATI_fragment_shader */ - -#ifdef __GLEE_GL_ATI_fragment_shader -#ifndef GLEE_C_DEFINED_glGenFragmentShadersATI -#define GLEE_C_DEFINED_glGenFragmentShadersATI - GLuint __stdcall GLee_Lazy_glGenFragmentShadersATI(GLuint range) {if (GLeeInit()) return glGenFragmentShadersATI(range); return (GLuint)0;} - GLEEPFNGLGENFRAGMENTSHADERSATIPROC GLeeFuncPtr_glGenFragmentShadersATI=GLee_Lazy_glGenFragmentShadersATI; -#endif -#ifndef GLEE_C_DEFINED_glBindFragmentShaderATI -#define GLEE_C_DEFINED_glBindFragmentShaderATI - void __stdcall GLee_Lazy_glBindFragmentShaderATI(GLuint id) {if (GLeeInit()) glBindFragmentShaderATI(id);} - GLEEPFNGLBINDFRAGMENTSHADERATIPROC GLeeFuncPtr_glBindFragmentShaderATI=GLee_Lazy_glBindFragmentShaderATI; -#endif -#ifndef GLEE_C_DEFINED_glDeleteFragmentShaderATI -#define GLEE_C_DEFINED_glDeleteFragmentShaderATI - void __stdcall GLee_Lazy_glDeleteFragmentShaderATI(GLuint id) {if (GLeeInit()) glDeleteFragmentShaderATI(id);} - GLEEPFNGLDELETEFRAGMENTSHADERATIPROC GLeeFuncPtr_glDeleteFragmentShaderATI=GLee_Lazy_glDeleteFragmentShaderATI; -#endif -#ifndef GLEE_C_DEFINED_glBeginFragmentShaderATI -#define GLEE_C_DEFINED_glBeginFragmentShaderATI - void __stdcall GLee_Lazy_glBeginFragmentShaderATI(void) {if (GLeeInit()) glBeginFragmentShaderATI();} - GLEEPFNGLBEGINFRAGMENTSHADERATIPROC GLeeFuncPtr_glBeginFragmentShaderATI=GLee_Lazy_glBeginFragmentShaderATI; -#endif -#ifndef GLEE_C_DEFINED_glEndFragmentShaderATI -#define GLEE_C_DEFINED_glEndFragmentShaderATI - void __stdcall GLee_Lazy_glEndFragmentShaderATI(void) {if (GLeeInit()) glEndFragmentShaderATI();} - GLEEPFNGLENDFRAGMENTSHADERATIPROC GLeeFuncPtr_glEndFragmentShaderATI=GLee_Lazy_glEndFragmentShaderATI; -#endif -#ifndef GLEE_C_DEFINED_glPassTexCoordATI -#define GLEE_C_DEFINED_glPassTexCoordATI - void __stdcall GLee_Lazy_glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle) {if (GLeeInit()) glPassTexCoordATI(dst, coord, swizzle);} - GLEEPFNGLPASSTEXCOORDATIPROC GLeeFuncPtr_glPassTexCoordATI=GLee_Lazy_glPassTexCoordATI; -#endif -#ifndef GLEE_C_DEFINED_glSampleMapATI -#define GLEE_C_DEFINED_glSampleMapATI - void __stdcall GLee_Lazy_glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle) {if (GLeeInit()) glSampleMapATI(dst, interp, swizzle);} - GLEEPFNGLSAMPLEMAPATIPROC GLeeFuncPtr_glSampleMapATI=GLee_Lazy_glSampleMapATI; -#endif -#ifndef GLEE_C_DEFINED_glColorFragmentOp1ATI -#define GLEE_C_DEFINED_glColorFragmentOp1ATI - void __stdcall GLee_Lazy_glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) {if (GLeeInit()) glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod);} - GLEEPFNGLCOLORFRAGMENTOP1ATIPROC GLeeFuncPtr_glColorFragmentOp1ATI=GLee_Lazy_glColorFragmentOp1ATI; -#endif -#ifndef GLEE_C_DEFINED_glColorFragmentOp2ATI -#define GLEE_C_DEFINED_glColorFragmentOp2ATI - void __stdcall GLee_Lazy_glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) {if (GLeeInit()) glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);} - GLEEPFNGLCOLORFRAGMENTOP2ATIPROC GLeeFuncPtr_glColorFragmentOp2ATI=GLee_Lazy_glColorFragmentOp2ATI; -#endif -#ifndef GLEE_C_DEFINED_glColorFragmentOp3ATI -#define GLEE_C_DEFINED_glColorFragmentOp3ATI - void __stdcall GLee_Lazy_glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) {if (GLeeInit()) glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);} - GLEEPFNGLCOLORFRAGMENTOP3ATIPROC GLeeFuncPtr_glColorFragmentOp3ATI=GLee_Lazy_glColorFragmentOp3ATI; -#endif -#ifndef GLEE_C_DEFINED_glAlphaFragmentOp1ATI -#define GLEE_C_DEFINED_glAlphaFragmentOp1ATI - void __stdcall GLee_Lazy_glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) {if (GLeeInit()) glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod);} - GLEEPFNGLALPHAFRAGMENTOP1ATIPROC GLeeFuncPtr_glAlphaFragmentOp1ATI=GLee_Lazy_glAlphaFragmentOp1ATI; -#endif -#ifndef GLEE_C_DEFINED_glAlphaFragmentOp2ATI -#define GLEE_C_DEFINED_glAlphaFragmentOp2ATI - void __stdcall GLee_Lazy_glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) {if (GLeeInit()) glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);} - GLEEPFNGLALPHAFRAGMENTOP2ATIPROC GLeeFuncPtr_glAlphaFragmentOp2ATI=GLee_Lazy_glAlphaFragmentOp2ATI; -#endif -#ifndef GLEE_C_DEFINED_glAlphaFragmentOp3ATI -#define GLEE_C_DEFINED_glAlphaFragmentOp3ATI - void __stdcall GLee_Lazy_glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) {if (GLeeInit()) glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);} - GLEEPFNGLALPHAFRAGMENTOP3ATIPROC GLeeFuncPtr_glAlphaFragmentOp3ATI=GLee_Lazy_glAlphaFragmentOp3ATI; -#endif -#ifndef GLEE_C_DEFINED_glSetFragmentShaderConstantATI -#define GLEE_C_DEFINED_glSetFragmentShaderConstantATI - void __stdcall GLee_Lazy_glSetFragmentShaderConstantATI(GLuint dst, const GLfloat * value) {if (GLeeInit()) glSetFragmentShaderConstantATI(dst, value);} - GLEEPFNGLSETFRAGMENTSHADERCONSTANTATIPROC GLeeFuncPtr_glSetFragmentShaderConstantATI=GLee_Lazy_glSetFragmentShaderConstantATI; -#endif -#endif - -/* GL_ATI_pn_triangles */ - -#ifdef __GLEE_GL_ATI_pn_triangles -#ifndef GLEE_C_DEFINED_glPNTrianglesiATI -#define GLEE_C_DEFINED_glPNTrianglesiATI - void __stdcall GLee_Lazy_glPNTrianglesiATI(GLenum pname, GLint param) {if (GLeeInit()) glPNTrianglesiATI(pname, param);} - GLEEPFNGLPNTRIANGLESIATIPROC GLeeFuncPtr_glPNTrianglesiATI=GLee_Lazy_glPNTrianglesiATI; -#endif -#ifndef GLEE_C_DEFINED_glPNTrianglesfATI -#define GLEE_C_DEFINED_glPNTrianglesfATI - void __stdcall GLee_Lazy_glPNTrianglesfATI(GLenum pname, GLfloat param) {if (GLeeInit()) glPNTrianglesfATI(pname, param);} - GLEEPFNGLPNTRIANGLESFATIPROC GLeeFuncPtr_glPNTrianglesfATI=GLee_Lazy_glPNTrianglesfATI; -#endif -#endif - -/* GL_ATI_vertex_array_object */ - -#ifdef __GLEE_GL_ATI_vertex_array_object -#ifndef GLEE_C_DEFINED_glNewObjectBufferATI -#define GLEE_C_DEFINED_glNewObjectBufferATI - GLuint __stdcall GLee_Lazy_glNewObjectBufferATI(GLsizei size, const GLvoid * pointer, GLenum usage) {if (GLeeInit()) return glNewObjectBufferATI(size, pointer, usage); return (GLuint)0;} - GLEEPFNGLNEWOBJECTBUFFERATIPROC GLeeFuncPtr_glNewObjectBufferATI=GLee_Lazy_glNewObjectBufferATI; -#endif -#ifndef GLEE_C_DEFINED_glIsObjectBufferATI -#define GLEE_C_DEFINED_glIsObjectBufferATI - GLboolean __stdcall GLee_Lazy_glIsObjectBufferATI(GLuint buffer) {if (GLeeInit()) return glIsObjectBufferATI(buffer); return (GLboolean)0;} - GLEEPFNGLISOBJECTBUFFERATIPROC GLeeFuncPtr_glIsObjectBufferATI=GLee_Lazy_glIsObjectBufferATI; -#endif -#ifndef GLEE_C_DEFINED_glUpdateObjectBufferATI -#define GLEE_C_DEFINED_glUpdateObjectBufferATI - void __stdcall GLee_Lazy_glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid * pointer, GLenum preserve) {if (GLeeInit()) glUpdateObjectBufferATI(buffer, offset, size, pointer, preserve);} - GLEEPFNGLUPDATEOBJECTBUFFERATIPROC GLeeFuncPtr_glUpdateObjectBufferATI=GLee_Lazy_glUpdateObjectBufferATI; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectBufferfvATI -#define GLEE_C_DEFINED_glGetObjectBufferfvATI - void __stdcall GLee_Lazy_glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetObjectBufferfvATI(buffer, pname, params);} - GLEEPFNGLGETOBJECTBUFFERFVATIPROC GLeeFuncPtr_glGetObjectBufferfvATI=GLee_Lazy_glGetObjectBufferfvATI; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectBufferivATI -#define GLEE_C_DEFINED_glGetObjectBufferivATI - void __stdcall GLee_Lazy_glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint * params) {if (GLeeInit()) glGetObjectBufferivATI(buffer, pname, params);} - GLEEPFNGLGETOBJECTBUFFERIVATIPROC GLeeFuncPtr_glGetObjectBufferivATI=GLee_Lazy_glGetObjectBufferivATI; -#endif -#ifndef GLEE_C_DEFINED_glFreeObjectBufferATI -#define GLEE_C_DEFINED_glFreeObjectBufferATI - void __stdcall GLee_Lazy_glFreeObjectBufferATI(GLuint buffer) {if (GLeeInit()) glFreeObjectBufferATI(buffer);} - GLEEPFNGLFREEOBJECTBUFFERATIPROC GLeeFuncPtr_glFreeObjectBufferATI=GLee_Lazy_glFreeObjectBufferATI; -#endif -#ifndef GLEE_C_DEFINED_glArrayObjectATI -#define GLEE_C_DEFINED_glArrayObjectATI - void __stdcall GLee_Lazy_glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset) {if (GLeeInit()) glArrayObjectATI(array, size, type, stride, buffer, offset);} - GLEEPFNGLARRAYOBJECTATIPROC GLeeFuncPtr_glArrayObjectATI=GLee_Lazy_glArrayObjectATI; -#endif -#ifndef GLEE_C_DEFINED_glGetArrayObjectfvATI -#define GLEE_C_DEFINED_glGetArrayObjectfvATI - void __stdcall GLee_Lazy_glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetArrayObjectfvATI(array, pname, params);} - GLEEPFNGLGETARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetArrayObjectfvATI=GLee_Lazy_glGetArrayObjectfvATI; -#endif -#ifndef GLEE_C_DEFINED_glGetArrayObjectivATI -#define GLEE_C_DEFINED_glGetArrayObjectivATI - void __stdcall GLee_Lazy_glGetArrayObjectivATI(GLenum array, GLenum pname, GLint * params) {if (GLeeInit()) glGetArrayObjectivATI(array, pname, params);} - GLEEPFNGLGETARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetArrayObjectivATI=GLee_Lazy_glGetArrayObjectivATI; -#endif -#ifndef GLEE_C_DEFINED_glVariantArrayObjectATI -#define GLEE_C_DEFINED_glVariantArrayObjectATI - void __stdcall GLee_Lazy_glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset) {if (GLeeInit()) glVariantArrayObjectATI(id, type, stride, buffer, offset);} - GLEEPFNGLVARIANTARRAYOBJECTATIPROC GLeeFuncPtr_glVariantArrayObjectATI=GLee_Lazy_glVariantArrayObjectATI; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantArrayObjectfvATI -#define GLEE_C_DEFINED_glGetVariantArrayObjectfvATI - void __stdcall GLee_Lazy_glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVariantArrayObjectfvATI(id, pname, params);} - GLEEPFNGLGETVARIANTARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetVariantArrayObjectfvATI=GLee_Lazy_glGetVariantArrayObjectfvATI; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantArrayObjectivATI -#define GLEE_C_DEFINED_glGetVariantArrayObjectivATI - void __stdcall GLee_Lazy_glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint * params) {if (GLeeInit()) glGetVariantArrayObjectivATI(id, pname, params);} - GLEEPFNGLGETVARIANTARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetVariantArrayObjectivATI=GLee_Lazy_glGetVariantArrayObjectivATI; -#endif -#endif - -/* GL_EXT_vertex_shader */ - -#ifdef __GLEE_GL_EXT_vertex_shader -#ifndef GLEE_C_DEFINED_glBeginVertexShaderEXT -#define GLEE_C_DEFINED_glBeginVertexShaderEXT - void __stdcall GLee_Lazy_glBeginVertexShaderEXT(void) {if (GLeeInit()) glBeginVertexShaderEXT();} - GLEEPFNGLBEGINVERTEXSHADEREXTPROC GLeeFuncPtr_glBeginVertexShaderEXT=GLee_Lazy_glBeginVertexShaderEXT; -#endif -#ifndef GLEE_C_DEFINED_glEndVertexShaderEXT -#define GLEE_C_DEFINED_glEndVertexShaderEXT - void __stdcall GLee_Lazy_glEndVertexShaderEXT(void) {if (GLeeInit()) glEndVertexShaderEXT();} - GLEEPFNGLENDVERTEXSHADEREXTPROC GLeeFuncPtr_glEndVertexShaderEXT=GLee_Lazy_glEndVertexShaderEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindVertexShaderEXT -#define GLEE_C_DEFINED_glBindVertexShaderEXT - void __stdcall GLee_Lazy_glBindVertexShaderEXT(GLuint id) {if (GLeeInit()) glBindVertexShaderEXT(id);} - GLEEPFNGLBINDVERTEXSHADEREXTPROC GLeeFuncPtr_glBindVertexShaderEXT=GLee_Lazy_glBindVertexShaderEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenVertexShadersEXT -#define GLEE_C_DEFINED_glGenVertexShadersEXT - GLuint __stdcall GLee_Lazy_glGenVertexShadersEXT(GLuint range) {if (GLeeInit()) return glGenVertexShadersEXT(range); return (GLuint)0;} - GLEEPFNGLGENVERTEXSHADERSEXTPROC GLeeFuncPtr_glGenVertexShadersEXT=GLee_Lazy_glGenVertexShadersEXT; -#endif -#ifndef GLEE_C_DEFINED_glDeleteVertexShaderEXT -#define GLEE_C_DEFINED_glDeleteVertexShaderEXT - void __stdcall GLee_Lazy_glDeleteVertexShaderEXT(GLuint id) {if (GLeeInit()) glDeleteVertexShaderEXT(id);} - GLEEPFNGLDELETEVERTEXSHADEREXTPROC GLeeFuncPtr_glDeleteVertexShaderEXT=GLee_Lazy_glDeleteVertexShaderEXT; -#endif -#ifndef GLEE_C_DEFINED_glShaderOp1EXT -#define GLEE_C_DEFINED_glShaderOp1EXT - void __stdcall GLee_Lazy_glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1) {if (GLeeInit()) glShaderOp1EXT(op, res, arg1);} - GLEEPFNGLSHADEROP1EXTPROC GLeeFuncPtr_glShaderOp1EXT=GLee_Lazy_glShaderOp1EXT; -#endif -#ifndef GLEE_C_DEFINED_glShaderOp2EXT -#define GLEE_C_DEFINED_glShaderOp2EXT - void __stdcall GLee_Lazy_glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2) {if (GLeeInit()) glShaderOp2EXT(op, res, arg1, arg2);} - GLEEPFNGLSHADEROP2EXTPROC GLeeFuncPtr_glShaderOp2EXT=GLee_Lazy_glShaderOp2EXT; -#endif -#ifndef GLEE_C_DEFINED_glShaderOp3EXT -#define GLEE_C_DEFINED_glShaderOp3EXT - void __stdcall GLee_Lazy_glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3) {if (GLeeInit()) glShaderOp3EXT(op, res, arg1, arg2, arg3);} - GLEEPFNGLSHADEROP3EXTPROC GLeeFuncPtr_glShaderOp3EXT=GLee_Lazy_glShaderOp3EXT; -#endif -#ifndef GLEE_C_DEFINED_glSwizzleEXT -#define GLEE_C_DEFINED_glSwizzleEXT - void __stdcall GLee_Lazy_glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) {if (GLeeInit()) glSwizzleEXT(res, in, outX, outY, outZ, outW);} - GLEEPFNGLSWIZZLEEXTPROC GLeeFuncPtr_glSwizzleEXT=GLee_Lazy_glSwizzleEXT; -#endif -#ifndef GLEE_C_DEFINED_glWriteMaskEXT -#define GLEE_C_DEFINED_glWriteMaskEXT - void __stdcall GLee_Lazy_glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) {if (GLeeInit()) glWriteMaskEXT(res, in, outX, outY, outZ, outW);} - GLEEPFNGLWRITEMASKEXTPROC GLeeFuncPtr_glWriteMaskEXT=GLee_Lazy_glWriteMaskEXT; -#endif -#ifndef GLEE_C_DEFINED_glInsertComponentEXT -#define GLEE_C_DEFINED_glInsertComponentEXT - void __stdcall GLee_Lazy_glInsertComponentEXT(GLuint res, GLuint src, GLuint num) {if (GLeeInit()) glInsertComponentEXT(res, src, num);} - GLEEPFNGLINSERTCOMPONENTEXTPROC GLeeFuncPtr_glInsertComponentEXT=GLee_Lazy_glInsertComponentEXT; -#endif -#ifndef GLEE_C_DEFINED_glExtractComponentEXT -#define GLEE_C_DEFINED_glExtractComponentEXT - void __stdcall GLee_Lazy_glExtractComponentEXT(GLuint res, GLuint src, GLuint num) {if (GLeeInit()) glExtractComponentEXT(res, src, num);} - GLEEPFNGLEXTRACTCOMPONENTEXTPROC GLeeFuncPtr_glExtractComponentEXT=GLee_Lazy_glExtractComponentEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenSymbolsEXT -#define GLEE_C_DEFINED_glGenSymbolsEXT - GLuint __stdcall GLee_Lazy_glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components) {if (GLeeInit()) return glGenSymbolsEXT(datatype, storagetype, range, components); return (GLuint)0;} - GLEEPFNGLGENSYMBOLSEXTPROC GLeeFuncPtr_glGenSymbolsEXT=GLee_Lazy_glGenSymbolsEXT; -#endif -#ifndef GLEE_C_DEFINED_glSetInvariantEXT -#define GLEE_C_DEFINED_glSetInvariantEXT - void __stdcall GLee_Lazy_glSetInvariantEXT(GLuint id, GLenum type, const GLvoid * addr) {if (GLeeInit()) glSetInvariantEXT(id, type, addr);} - GLEEPFNGLSETINVARIANTEXTPROC GLeeFuncPtr_glSetInvariantEXT=GLee_Lazy_glSetInvariantEXT; -#endif -#ifndef GLEE_C_DEFINED_glSetLocalConstantEXT -#define GLEE_C_DEFINED_glSetLocalConstantEXT - void __stdcall GLee_Lazy_glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid * addr) {if (GLeeInit()) glSetLocalConstantEXT(id, type, addr);} - GLEEPFNGLSETLOCALCONSTANTEXTPROC GLeeFuncPtr_glSetLocalConstantEXT=GLee_Lazy_glSetLocalConstantEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantbvEXT -#define GLEE_C_DEFINED_glVariantbvEXT - void __stdcall GLee_Lazy_glVariantbvEXT(GLuint id, const GLbyte * addr) {if (GLeeInit()) glVariantbvEXT(id, addr);} - GLEEPFNGLVARIANTBVEXTPROC GLeeFuncPtr_glVariantbvEXT=GLee_Lazy_glVariantbvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantsvEXT -#define GLEE_C_DEFINED_glVariantsvEXT - void __stdcall GLee_Lazy_glVariantsvEXT(GLuint id, const GLshort * addr) {if (GLeeInit()) glVariantsvEXT(id, addr);} - GLEEPFNGLVARIANTSVEXTPROC GLeeFuncPtr_glVariantsvEXT=GLee_Lazy_glVariantsvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantivEXT -#define GLEE_C_DEFINED_glVariantivEXT - void __stdcall GLee_Lazy_glVariantivEXT(GLuint id, const GLint * addr) {if (GLeeInit()) glVariantivEXT(id, addr);} - GLEEPFNGLVARIANTIVEXTPROC GLeeFuncPtr_glVariantivEXT=GLee_Lazy_glVariantivEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantfvEXT -#define GLEE_C_DEFINED_glVariantfvEXT - void __stdcall GLee_Lazy_glVariantfvEXT(GLuint id, const GLfloat * addr) {if (GLeeInit()) glVariantfvEXT(id, addr);} - GLEEPFNGLVARIANTFVEXTPROC GLeeFuncPtr_glVariantfvEXT=GLee_Lazy_glVariantfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantdvEXT -#define GLEE_C_DEFINED_glVariantdvEXT - void __stdcall GLee_Lazy_glVariantdvEXT(GLuint id, const GLdouble * addr) {if (GLeeInit()) glVariantdvEXT(id, addr);} - GLEEPFNGLVARIANTDVEXTPROC GLeeFuncPtr_glVariantdvEXT=GLee_Lazy_glVariantdvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantubvEXT -#define GLEE_C_DEFINED_glVariantubvEXT - void __stdcall GLee_Lazy_glVariantubvEXT(GLuint id, const GLubyte * addr) {if (GLeeInit()) glVariantubvEXT(id, addr);} - GLEEPFNGLVARIANTUBVEXTPROC GLeeFuncPtr_glVariantubvEXT=GLee_Lazy_glVariantubvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantusvEXT -#define GLEE_C_DEFINED_glVariantusvEXT - void __stdcall GLee_Lazy_glVariantusvEXT(GLuint id, const GLushort * addr) {if (GLeeInit()) glVariantusvEXT(id, addr);} - GLEEPFNGLVARIANTUSVEXTPROC GLeeFuncPtr_glVariantusvEXT=GLee_Lazy_glVariantusvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantuivEXT -#define GLEE_C_DEFINED_glVariantuivEXT - void __stdcall GLee_Lazy_glVariantuivEXT(GLuint id, const GLuint * addr) {if (GLeeInit()) glVariantuivEXT(id, addr);} - GLEEPFNGLVARIANTUIVEXTPROC GLeeFuncPtr_glVariantuivEXT=GLee_Lazy_glVariantuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glVariantPointerEXT -#define GLEE_C_DEFINED_glVariantPointerEXT - void __stdcall GLee_Lazy_glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid * addr) {if (GLeeInit()) glVariantPointerEXT(id, type, stride, addr);} - GLEEPFNGLVARIANTPOINTEREXTPROC GLeeFuncPtr_glVariantPointerEXT=GLee_Lazy_glVariantPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glEnableVariantClientStateEXT -#define GLEE_C_DEFINED_glEnableVariantClientStateEXT - void __stdcall GLee_Lazy_glEnableVariantClientStateEXT(GLuint id) {if (GLeeInit()) glEnableVariantClientStateEXT(id);} - GLEEPFNGLENABLEVARIANTCLIENTSTATEEXTPROC GLeeFuncPtr_glEnableVariantClientStateEXT=GLee_Lazy_glEnableVariantClientStateEXT; -#endif -#ifndef GLEE_C_DEFINED_glDisableVariantClientStateEXT -#define GLEE_C_DEFINED_glDisableVariantClientStateEXT - void __stdcall GLee_Lazy_glDisableVariantClientStateEXT(GLuint id) {if (GLeeInit()) glDisableVariantClientStateEXT(id);} - GLEEPFNGLDISABLEVARIANTCLIENTSTATEEXTPROC GLeeFuncPtr_glDisableVariantClientStateEXT=GLee_Lazy_glDisableVariantClientStateEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindLightParameterEXT -#define GLEE_C_DEFINED_glBindLightParameterEXT - GLuint __stdcall GLee_Lazy_glBindLightParameterEXT(GLenum light, GLenum value) {if (GLeeInit()) return glBindLightParameterEXT(light, value); return (GLuint)0;} - GLEEPFNGLBINDLIGHTPARAMETEREXTPROC GLeeFuncPtr_glBindLightParameterEXT=GLee_Lazy_glBindLightParameterEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindMaterialParameterEXT -#define GLEE_C_DEFINED_glBindMaterialParameterEXT - GLuint __stdcall GLee_Lazy_glBindMaterialParameterEXT(GLenum face, GLenum value) {if (GLeeInit()) return glBindMaterialParameterEXT(face, value); return (GLuint)0;} - GLEEPFNGLBINDMATERIALPARAMETEREXTPROC GLeeFuncPtr_glBindMaterialParameterEXT=GLee_Lazy_glBindMaterialParameterEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindTexGenParameterEXT -#define GLEE_C_DEFINED_glBindTexGenParameterEXT - GLuint __stdcall GLee_Lazy_glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value) {if (GLeeInit()) return glBindTexGenParameterEXT(unit, coord, value); return (GLuint)0;} - GLEEPFNGLBINDTEXGENPARAMETEREXTPROC GLeeFuncPtr_glBindTexGenParameterEXT=GLee_Lazy_glBindTexGenParameterEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindTextureUnitParameterEXT -#define GLEE_C_DEFINED_glBindTextureUnitParameterEXT - GLuint __stdcall GLee_Lazy_glBindTextureUnitParameterEXT(GLenum unit, GLenum value) {if (GLeeInit()) return glBindTextureUnitParameterEXT(unit, value); return (GLuint)0;} - GLEEPFNGLBINDTEXTUREUNITPARAMETEREXTPROC GLeeFuncPtr_glBindTextureUnitParameterEXT=GLee_Lazy_glBindTextureUnitParameterEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindParameterEXT -#define GLEE_C_DEFINED_glBindParameterEXT - GLuint __stdcall GLee_Lazy_glBindParameterEXT(GLenum value) {if (GLeeInit()) return glBindParameterEXT(value); return (GLuint)0;} - GLEEPFNGLBINDPARAMETEREXTPROC GLeeFuncPtr_glBindParameterEXT=GLee_Lazy_glBindParameterEXT; -#endif -#ifndef GLEE_C_DEFINED_glIsVariantEnabledEXT -#define GLEE_C_DEFINED_glIsVariantEnabledEXT - GLboolean __stdcall GLee_Lazy_glIsVariantEnabledEXT(GLuint id, GLenum cap) {if (GLeeInit()) return glIsVariantEnabledEXT(id, cap); return (GLboolean)0;} - GLEEPFNGLISVARIANTENABLEDEXTPROC GLeeFuncPtr_glIsVariantEnabledEXT=GLee_Lazy_glIsVariantEnabledEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantBooleanvEXT -#define GLEE_C_DEFINED_glGetVariantBooleanvEXT - void __stdcall GLee_Lazy_glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean * data) {if (GLeeInit()) glGetVariantBooleanvEXT(id, value, data);} - GLEEPFNGLGETVARIANTBOOLEANVEXTPROC GLeeFuncPtr_glGetVariantBooleanvEXT=GLee_Lazy_glGetVariantBooleanvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantIntegervEXT -#define GLEE_C_DEFINED_glGetVariantIntegervEXT - void __stdcall GLee_Lazy_glGetVariantIntegervEXT(GLuint id, GLenum value, GLint * data) {if (GLeeInit()) glGetVariantIntegervEXT(id, value, data);} - GLEEPFNGLGETVARIANTINTEGERVEXTPROC GLeeFuncPtr_glGetVariantIntegervEXT=GLee_Lazy_glGetVariantIntegervEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantFloatvEXT -#define GLEE_C_DEFINED_glGetVariantFloatvEXT - void __stdcall GLee_Lazy_glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat * data) {if (GLeeInit()) glGetVariantFloatvEXT(id, value, data);} - GLEEPFNGLGETVARIANTFLOATVEXTPROC GLeeFuncPtr_glGetVariantFloatvEXT=GLee_Lazy_glGetVariantFloatvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetVariantPointervEXT -#define GLEE_C_DEFINED_glGetVariantPointervEXT - void __stdcall GLee_Lazy_glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid* * data) {if (GLeeInit()) glGetVariantPointervEXT(id, value, data);} - GLEEPFNGLGETVARIANTPOINTERVEXTPROC GLeeFuncPtr_glGetVariantPointervEXT=GLee_Lazy_glGetVariantPointervEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetInvariantBooleanvEXT -#define GLEE_C_DEFINED_glGetInvariantBooleanvEXT - void __stdcall GLee_Lazy_glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean * data) {if (GLeeInit()) glGetInvariantBooleanvEXT(id, value, data);} - GLEEPFNGLGETINVARIANTBOOLEANVEXTPROC GLeeFuncPtr_glGetInvariantBooleanvEXT=GLee_Lazy_glGetInvariantBooleanvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetInvariantIntegervEXT -#define GLEE_C_DEFINED_glGetInvariantIntegervEXT - void __stdcall GLee_Lazy_glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint * data) {if (GLeeInit()) glGetInvariantIntegervEXT(id, value, data);} - GLEEPFNGLGETINVARIANTINTEGERVEXTPROC GLeeFuncPtr_glGetInvariantIntegervEXT=GLee_Lazy_glGetInvariantIntegervEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetInvariantFloatvEXT -#define GLEE_C_DEFINED_glGetInvariantFloatvEXT - void __stdcall GLee_Lazy_glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat * data) {if (GLeeInit()) glGetInvariantFloatvEXT(id, value, data);} - GLEEPFNGLGETINVARIANTFLOATVEXTPROC GLeeFuncPtr_glGetInvariantFloatvEXT=GLee_Lazy_glGetInvariantFloatvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetLocalConstantBooleanvEXT -#define GLEE_C_DEFINED_glGetLocalConstantBooleanvEXT - void __stdcall GLee_Lazy_glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean * data) {if (GLeeInit()) glGetLocalConstantBooleanvEXT(id, value, data);} - GLEEPFNGLGETLOCALCONSTANTBOOLEANVEXTPROC GLeeFuncPtr_glGetLocalConstantBooleanvEXT=GLee_Lazy_glGetLocalConstantBooleanvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetLocalConstantIntegervEXT -#define GLEE_C_DEFINED_glGetLocalConstantIntegervEXT - void __stdcall GLee_Lazy_glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint * data) {if (GLeeInit()) glGetLocalConstantIntegervEXT(id, value, data);} - GLEEPFNGLGETLOCALCONSTANTINTEGERVEXTPROC GLeeFuncPtr_glGetLocalConstantIntegervEXT=GLee_Lazy_glGetLocalConstantIntegervEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetLocalConstantFloatvEXT -#define GLEE_C_DEFINED_glGetLocalConstantFloatvEXT - void __stdcall GLee_Lazy_glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat * data) {if (GLeeInit()) glGetLocalConstantFloatvEXT(id, value, data);} - GLEEPFNGLGETLOCALCONSTANTFLOATVEXTPROC GLeeFuncPtr_glGetLocalConstantFloatvEXT=GLee_Lazy_glGetLocalConstantFloatvEXT; -#endif -#endif - -/* GL_ATI_vertex_streams */ - -#ifdef __GLEE_GL_ATI_vertex_streams -#ifndef GLEE_C_DEFINED_glVertexStream1sATI -#define GLEE_C_DEFINED_glVertexStream1sATI - void __stdcall GLee_Lazy_glVertexStream1sATI(GLenum stream, GLshort x) {if (GLeeInit()) glVertexStream1sATI(stream, x);} - GLEEPFNGLVERTEXSTREAM1SATIPROC GLeeFuncPtr_glVertexStream1sATI=GLee_Lazy_glVertexStream1sATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1svATI -#define GLEE_C_DEFINED_glVertexStream1svATI - void __stdcall GLee_Lazy_glVertexStream1svATI(GLenum stream, const GLshort * coords) {if (GLeeInit()) glVertexStream1svATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM1SVATIPROC GLeeFuncPtr_glVertexStream1svATI=GLee_Lazy_glVertexStream1svATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1iATI -#define GLEE_C_DEFINED_glVertexStream1iATI - void __stdcall GLee_Lazy_glVertexStream1iATI(GLenum stream, GLint x) {if (GLeeInit()) glVertexStream1iATI(stream, x);} - GLEEPFNGLVERTEXSTREAM1IATIPROC GLeeFuncPtr_glVertexStream1iATI=GLee_Lazy_glVertexStream1iATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1ivATI -#define GLEE_C_DEFINED_glVertexStream1ivATI - void __stdcall GLee_Lazy_glVertexStream1ivATI(GLenum stream, const GLint * coords) {if (GLeeInit()) glVertexStream1ivATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM1IVATIPROC GLeeFuncPtr_glVertexStream1ivATI=GLee_Lazy_glVertexStream1ivATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1fATI -#define GLEE_C_DEFINED_glVertexStream1fATI - void __stdcall GLee_Lazy_glVertexStream1fATI(GLenum stream, GLfloat x) {if (GLeeInit()) glVertexStream1fATI(stream, x);} - GLEEPFNGLVERTEXSTREAM1FATIPROC GLeeFuncPtr_glVertexStream1fATI=GLee_Lazy_glVertexStream1fATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1fvATI -#define GLEE_C_DEFINED_glVertexStream1fvATI - void __stdcall GLee_Lazy_glVertexStream1fvATI(GLenum stream, const GLfloat * coords) {if (GLeeInit()) glVertexStream1fvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM1FVATIPROC GLeeFuncPtr_glVertexStream1fvATI=GLee_Lazy_glVertexStream1fvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1dATI -#define GLEE_C_DEFINED_glVertexStream1dATI - void __stdcall GLee_Lazy_glVertexStream1dATI(GLenum stream, GLdouble x) {if (GLeeInit()) glVertexStream1dATI(stream, x);} - GLEEPFNGLVERTEXSTREAM1DATIPROC GLeeFuncPtr_glVertexStream1dATI=GLee_Lazy_glVertexStream1dATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream1dvATI -#define GLEE_C_DEFINED_glVertexStream1dvATI - void __stdcall GLee_Lazy_glVertexStream1dvATI(GLenum stream, const GLdouble * coords) {if (GLeeInit()) glVertexStream1dvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM1DVATIPROC GLeeFuncPtr_glVertexStream1dvATI=GLee_Lazy_glVertexStream1dvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2sATI -#define GLEE_C_DEFINED_glVertexStream2sATI - void __stdcall GLee_Lazy_glVertexStream2sATI(GLenum stream, GLshort x, GLshort y) {if (GLeeInit()) glVertexStream2sATI(stream, x, y);} - GLEEPFNGLVERTEXSTREAM2SATIPROC GLeeFuncPtr_glVertexStream2sATI=GLee_Lazy_glVertexStream2sATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2svATI -#define GLEE_C_DEFINED_glVertexStream2svATI - void __stdcall GLee_Lazy_glVertexStream2svATI(GLenum stream, const GLshort * coords) {if (GLeeInit()) glVertexStream2svATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM2SVATIPROC GLeeFuncPtr_glVertexStream2svATI=GLee_Lazy_glVertexStream2svATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2iATI -#define GLEE_C_DEFINED_glVertexStream2iATI - void __stdcall GLee_Lazy_glVertexStream2iATI(GLenum stream, GLint x, GLint y) {if (GLeeInit()) glVertexStream2iATI(stream, x, y);} - GLEEPFNGLVERTEXSTREAM2IATIPROC GLeeFuncPtr_glVertexStream2iATI=GLee_Lazy_glVertexStream2iATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2ivATI -#define GLEE_C_DEFINED_glVertexStream2ivATI - void __stdcall GLee_Lazy_glVertexStream2ivATI(GLenum stream, const GLint * coords) {if (GLeeInit()) glVertexStream2ivATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM2IVATIPROC GLeeFuncPtr_glVertexStream2ivATI=GLee_Lazy_glVertexStream2ivATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2fATI -#define GLEE_C_DEFINED_glVertexStream2fATI - void __stdcall GLee_Lazy_glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y) {if (GLeeInit()) glVertexStream2fATI(stream, x, y);} - GLEEPFNGLVERTEXSTREAM2FATIPROC GLeeFuncPtr_glVertexStream2fATI=GLee_Lazy_glVertexStream2fATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2fvATI -#define GLEE_C_DEFINED_glVertexStream2fvATI - void __stdcall GLee_Lazy_glVertexStream2fvATI(GLenum stream, const GLfloat * coords) {if (GLeeInit()) glVertexStream2fvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM2FVATIPROC GLeeFuncPtr_glVertexStream2fvATI=GLee_Lazy_glVertexStream2fvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2dATI -#define GLEE_C_DEFINED_glVertexStream2dATI - void __stdcall GLee_Lazy_glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexStream2dATI(stream, x, y);} - GLEEPFNGLVERTEXSTREAM2DATIPROC GLeeFuncPtr_glVertexStream2dATI=GLee_Lazy_glVertexStream2dATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream2dvATI -#define GLEE_C_DEFINED_glVertexStream2dvATI - void __stdcall GLee_Lazy_glVertexStream2dvATI(GLenum stream, const GLdouble * coords) {if (GLeeInit()) glVertexStream2dvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM2DVATIPROC GLeeFuncPtr_glVertexStream2dvATI=GLee_Lazy_glVertexStream2dvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3sATI -#define GLEE_C_DEFINED_glVertexStream3sATI - void __stdcall GLee_Lazy_glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z) {if (GLeeInit()) glVertexStream3sATI(stream, x, y, z);} - GLEEPFNGLVERTEXSTREAM3SATIPROC GLeeFuncPtr_glVertexStream3sATI=GLee_Lazy_glVertexStream3sATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3svATI -#define GLEE_C_DEFINED_glVertexStream3svATI - void __stdcall GLee_Lazy_glVertexStream3svATI(GLenum stream, const GLshort * coords) {if (GLeeInit()) glVertexStream3svATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM3SVATIPROC GLeeFuncPtr_glVertexStream3svATI=GLee_Lazy_glVertexStream3svATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3iATI -#define GLEE_C_DEFINED_glVertexStream3iATI - void __stdcall GLee_Lazy_glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z) {if (GLeeInit()) glVertexStream3iATI(stream, x, y, z);} - GLEEPFNGLVERTEXSTREAM3IATIPROC GLeeFuncPtr_glVertexStream3iATI=GLee_Lazy_glVertexStream3iATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3ivATI -#define GLEE_C_DEFINED_glVertexStream3ivATI - void __stdcall GLee_Lazy_glVertexStream3ivATI(GLenum stream, const GLint * coords) {if (GLeeInit()) glVertexStream3ivATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM3IVATIPROC GLeeFuncPtr_glVertexStream3ivATI=GLee_Lazy_glVertexStream3ivATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3fATI -#define GLEE_C_DEFINED_glVertexStream3fATI - void __stdcall GLee_Lazy_glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glVertexStream3fATI(stream, x, y, z);} - GLEEPFNGLVERTEXSTREAM3FATIPROC GLeeFuncPtr_glVertexStream3fATI=GLee_Lazy_glVertexStream3fATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3fvATI -#define GLEE_C_DEFINED_glVertexStream3fvATI - void __stdcall GLee_Lazy_glVertexStream3fvATI(GLenum stream, const GLfloat * coords) {if (GLeeInit()) glVertexStream3fvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM3FVATIPROC GLeeFuncPtr_glVertexStream3fvATI=GLee_Lazy_glVertexStream3fvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3dATI -#define GLEE_C_DEFINED_glVertexStream3dATI - void __stdcall GLee_Lazy_glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexStream3dATI(stream, x, y, z);} - GLEEPFNGLVERTEXSTREAM3DATIPROC GLeeFuncPtr_glVertexStream3dATI=GLee_Lazy_glVertexStream3dATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream3dvATI -#define GLEE_C_DEFINED_glVertexStream3dvATI - void __stdcall GLee_Lazy_glVertexStream3dvATI(GLenum stream, const GLdouble * coords) {if (GLeeInit()) glVertexStream3dvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM3DVATIPROC GLeeFuncPtr_glVertexStream3dvATI=GLee_Lazy_glVertexStream3dvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4sATI -#define GLEE_C_DEFINED_glVertexStream4sATI - void __stdcall GLee_Lazy_glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w) {if (GLeeInit()) glVertexStream4sATI(stream, x, y, z, w);} - GLEEPFNGLVERTEXSTREAM4SATIPROC GLeeFuncPtr_glVertexStream4sATI=GLee_Lazy_glVertexStream4sATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4svATI -#define GLEE_C_DEFINED_glVertexStream4svATI - void __stdcall GLee_Lazy_glVertexStream4svATI(GLenum stream, const GLshort * coords) {if (GLeeInit()) glVertexStream4svATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM4SVATIPROC GLeeFuncPtr_glVertexStream4svATI=GLee_Lazy_glVertexStream4svATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4iATI -#define GLEE_C_DEFINED_glVertexStream4iATI - void __stdcall GLee_Lazy_glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w) {if (GLeeInit()) glVertexStream4iATI(stream, x, y, z, w);} - GLEEPFNGLVERTEXSTREAM4IATIPROC GLeeFuncPtr_glVertexStream4iATI=GLee_Lazy_glVertexStream4iATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4ivATI -#define GLEE_C_DEFINED_glVertexStream4ivATI - void __stdcall GLee_Lazy_glVertexStream4ivATI(GLenum stream, const GLint * coords) {if (GLeeInit()) glVertexStream4ivATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM4IVATIPROC GLeeFuncPtr_glVertexStream4ivATI=GLee_Lazy_glVertexStream4ivATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4fATI -#define GLEE_C_DEFINED_glVertexStream4fATI - void __stdcall GLee_Lazy_glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glVertexStream4fATI(stream, x, y, z, w);} - GLEEPFNGLVERTEXSTREAM4FATIPROC GLeeFuncPtr_glVertexStream4fATI=GLee_Lazy_glVertexStream4fATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4fvATI -#define GLEE_C_DEFINED_glVertexStream4fvATI - void __stdcall GLee_Lazy_glVertexStream4fvATI(GLenum stream, const GLfloat * coords) {if (GLeeInit()) glVertexStream4fvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM4FVATIPROC GLeeFuncPtr_glVertexStream4fvATI=GLee_Lazy_glVertexStream4fvATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4dATI -#define GLEE_C_DEFINED_glVertexStream4dATI - void __stdcall GLee_Lazy_glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexStream4dATI(stream, x, y, z, w);} - GLEEPFNGLVERTEXSTREAM4DATIPROC GLeeFuncPtr_glVertexStream4dATI=GLee_Lazy_glVertexStream4dATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexStream4dvATI -#define GLEE_C_DEFINED_glVertexStream4dvATI - void __stdcall GLee_Lazy_glVertexStream4dvATI(GLenum stream, const GLdouble * coords) {if (GLeeInit()) glVertexStream4dvATI(stream, coords);} - GLEEPFNGLVERTEXSTREAM4DVATIPROC GLeeFuncPtr_glVertexStream4dvATI=GLee_Lazy_glVertexStream4dvATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3bATI -#define GLEE_C_DEFINED_glNormalStream3bATI - void __stdcall GLee_Lazy_glNormalStream3bATI(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz) {if (GLeeInit()) glNormalStream3bATI(stream, nx, ny, nz);} - GLEEPFNGLNORMALSTREAM3BATIPROC GLeeFuncPtr_glNormalStream3bATI=GLee_Lazy_glNormalStream3bATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3bvATI -#define GLEE_C_DEFINED_glNormalStream3bvATI - void __stdcall GLee_Lazy_glNormalStream3bvATI(GLenum stream, const GLbyte * coords) {if (GLeeInit()) glNormalStream3bvATI(stream, coords);} - GLEEPFNGLNORMALSTREAM3BVATIPROC GLeeFuncPtr_glNormalStream3bvATI=GLee_Lazy_glNormalStream3bvATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3sATI -#define GLEE_C_DEFINED_glNormalStream3sATI - void __stdcall GLee_Lazy_glNormalStream3sATI(GLenum stream, GLshort nx, GLshort ny, GLshort nz) {if (GLeeInit()) glNormalStream3sATI(stream, nx, ny, nz);} - GLEEPFNGLNORMALSTREAM3SATIPROC GLeeFuncPtr_glNormalStream3sATI=GLee_Lazy_glNormalStream3sATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3svATI -#define GLEE_C_DEFINED_glNormalStream3svATI - void __stdcall GLee_Lazy_glNormalStream3svATI(GLenum stream, const GLshort * coords) {if (GLeeInit()) glNormalStream3svATI(stream, coords);} - GLEEPFNGLNORMALSTREAM3SVATIPROC GLeeFuncPtr_glNormalStream3svATI=GLee_Lazy_glNormalStream3svATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3iATI -#define GLEE_C_DEFINED_glNormalStream3iATI - void __stdcall GLee_Lazy_glNormalStream3iATI(GLenum stream, GLint nx, GLint ny, GLint nz) {if (GLeeInit()) glNormalStream3iATI(stream, nx, ny, nz);} - GLEEPFNGLNORMALSTREAM3IATIPROC GLeeFuncPtr_glNormalStream3iATI=GLee_Lazy_glNormalStream3iATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3ivATI -#define GLEE_C_DEFINED_glNormalStream3ivATI - void __stdcall GLee_Lazy_glNormalStream3ivATI(GLenum stream, const GLint * coords) {if (GLeeInit()) glNormalStream3ivATI(stream, coords);} - GLEEPFNGLNORMALSTREAM3IVATIPROC GLeeFuncPtr_glNormalStream3ivATI=GLee_Lazy_glNormalStream3ivATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3fATI -#define GLEE_C_DEFINED_glNormalStream3fATI - void __stdcall GLee_Lazy_glNormalStream3fATI(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz) {if (GLeeInit()) glNormalStream3fATI(stream, nx, ny, nz);} - GLEEPFNGLNORMALSTREAM3FATIPROC GLeeFuncPtr_glNormalStream3fATI=GLee_Lazy_glNormalStream3fATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3fvATI -#define GLEE_C_DEFINED_glNormalStream3fvATI - void __stdcall GLee_Lazy_glNormalStream3fvATI(GLenum stream, const GLfloat * coords) {if (GLeeInit()) glNormalStream3fvATI(stream, coords);} - GLEEPFNGLNORMALSTREAM3FVATIPROC GLeeFuncPtr_glNormalStream3fvATI=GLee_Lazy_glNormalStream3fvATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3dATI -#define GLEE_C_DEFINED_glNormalStream3dATI - void __stdcall GLee_Lazy_glNormalStream3dATI(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz) {if (GLeeInit()) glNormalStream3dATI(stream, nx, ny, nz);} - GLEEPFNGLNORMALSTREAM3DATIPROC GLeeFuncPtr_glNormalStream3dATI=GLee_Lazy_glNormalStream3dATI; -#endif -#ifndef GLEE_C_DEFINED_glNormalStream3dvATI -#define GLEE_C_DEFINED_glNormalStream3dvATI - void __stdcall GLee_Lazy_glNormalStream3dvATI(GLenum stream, const GLdouble * coords) {if (GLeeInit()) glNormalStream3dvATI(stream, coords);} - GLEEPFNGLNORMALSTREAM3DVATIPROC GLeeFuncPtr_glNormalStream3dvATI=GLee_Lazy_glNormalStream3dvATI; -#endif -#ifndef GLEE_C_DEFINED_glClientActiveVertexStreamATI -#define GLEE_C_DEFINED_glClientActiveVertexStreamATI - void __stdcall GLee_Lazy_glClientActiveVertexStreamATI(GLenum stream) {if (GLeeInit()) glClientActiveVertexStreamATI(stream);} - GLEEPFNGLCLIENTACTIVEVERTEXSTREAMATIPROC GLeeFuncPtr_glClientActiveVertexStreamATI=GLee_Lazy_glClientActiveVertexStreamATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexBlendEnviATI -#define GLEE_C_DEFINED_glVertexBlendEnviATI - void __stdcall GLee_Lazy_glVertexBlendEnviATI(GLenum pname, GLint param) {if (GLeeInit()) glVertexBlendEnviATI(pname, param);} - GLEEPFNGLVERTEXBLENDENVIATIPROC GLeeFuncPtr_glVertexBlendEnviATI=GLee_Lazy_glVertexBlendEnviATI; -#endif -#ifndef GLEE_C_DEFINED_glVertexBlendEnvfATI -#define GLEE_C_DEFINED_glVertexBlendEnvfATI - void __stdcall GLee_Lazy_glVertexBlendEnvfATI(GLenum pname, GLfloat param) {if (GLeeInit()) glVertexBlendEnvfATI(pname, param);} - GLEEPFNGLVERTEXBLENDENVFATIPROC GLeeFuncPtr_glVertexBlendEnvfATI=GLee_Lazy_glVertexBlendEnvfATI; -#endif -#endif - -/* GL_ATI_element_array */ - -#ifdef __GLEE_GL_ATI_element_array -#ifndef GLEE_C_DEFINED_glElementPointerATI -#define GLEE_C_DEFINED_glElementPointerATI - void __stdcall GLee_Lazy_glElementPointerATI(GLenum type, const GLvoid * pointer) {if (GLeeInit()) glElementPointerATI(type, pointer);} - GLEEPFNGLELEMENTPOINTERATIPROC GLeeFuncPtr_glElementPointerATI=GLee_Lazy_glElementPointerATI; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementArrayATI -#define GLEE_C_DEFINED_glDrawElementArrayATI - void __stdcall GLee_Lazy_glDrawElementArrayATI(GLenum mode, GLsizei count) {if (GLeeInit()) glDrawElementArrayATI(mode, count);} - GLEEPFNGLDRAWELEMENTARRAYATIPROC GLeeFuncPtr_glDrawElementArrayATI=GLee_Lazy_glDrawElementArrayATI; -#endif -#ifndef GLEE_C_DEFINED_glDrawRangeElementArrayATI -#define GLEE_C_DEFINED_glDrawRangeElementArrayATI - void __stdcall GLee_Lazy_glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count) {if (GLeeInit()) glDrawRangeElementArrayATI(mode, start, end, count);} - GLEEPFNGLDRAWRANGEELEMENTARRAYATIPROC GLeeFuncPtr_glDrawRangeElementArrayATI=GLee_Lazy_glDrawRangeElementArrayATI; -#endif -#endif - -/* GL_SUN_mesh_array */ - -#ifdef __GLEE_GL_SUN_mesh_array -#ifndef GLEE_C_DEFINED_glDrawMeshArraysSUN -#define GLEE_C_DEFINED_glDrawMeshArraysSUN - void __stdcall GLee_Lazy_glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width) {if (GLeeInit()) glDrawMeshArraysSUN(mode, first, count, width);} - GLEEPFNGLDRAWMESHARRAYSSUNPROC GLeeFuncPtr_glDrawMeshArraysSUN=GLee_Lazy_glDrawMeshArraysSUN; -#endif -#endif - -/* GL_SUN_slice_accum */ - -#ifdef __GLEE_GL_SUN_slice_accum -#endif - -/* GL_NV_multisample_filter_hint */ - -#ifdef __GLEE_GL_NV_multisample_filter_hint -#endif - -/* GL_NV_depth_clamp */ - -#ifdef __GLEE_GL_NV_depth_clamp -#endif - -/* GL_NV_occlusion_query */ - -#ifdef __GLEE_GL_NV_occlusion_query -#ifndef GLEE_C_DEFINED_glGenOcclusionQueriesNV -#define GLEE_C_DEFINED_glGenOcclusionQueriesNV - void __stdcall GLee_Lazy_glGenOcclusionQueriesNV(GLsizei n, GLuint * ids) {if (GLeeInit()) glGenOcclusionQueriesNV(n, ids);} - GLEEPFNGLGENOCCLUSIONQUERIESNVPROC GLeeFuncPtr_glGenOcclusionQueriesNV=GLee_Lazy_glGenOcclusionQueriesNV; -#endif -#ifndef GLEE_C_DEFINED_glDeleteOcclusionQueriesNV -#define GLEE_C_DEFINED_glDeleteOcclusionQueriesNV - void __stdcall GLee_Lazy_glDeleteOcclusionQueriesNV(GLsizei n, const GLuint * ids) {if (GLeeInit()) glDeleteOcclusionQueriesNV(n, ids);} - GLEEPFNGLDELETEOCCLUSIONQUERIESNVPROC GLeeFuncPtr_glDeleteOcclusionQueriesNV=GLee_Lazy_glDeleteOcclusionQueriesNV; -#endif -#ifndef GLEE_C_DEFINED_glIsOcclusionQueryNV -#define GLEE_C_DEFINED_glIsOcclusionQueryNV - GLboolean __stdcall GLee_Lazy_glIsOcclusionQueryNV(GLuint id) {if (GLeeInit()) return glIsOcclusionQueryNV(id); return (GLboolean)0;} - GLEEPFNGLISOCCLUSIONQUERYNVPROC GLeeFuncPtr_glIsOcclusionQueryNV=GLee_Lazy_glIsOcclusionQueryNV; -#endif -#ifndef GLEE_C_DEFINED_glBeginOcclusionQueryNV -#define GLEE_C_DEFINED_glBeginOcclusionQueryNV - void __stdcall GLee_Lazy_glBeginOcclusionQueryNV(GLuint id) {if (GLeeInit()) glBeginOcclusionQueryNV(id);} - GLEEPFNGLBEGINOCCLUSIONQUERYNVPROC GLeeFuncPtr_glBeginOcclusionQueryNV=GLee_Lazy_glBeginOcclusionQueryNV; -#endif -#ifndef GLEE_C_DEFINED_glEndOcclusionQueryNV -#define GLEE_C_DEFINED_glEndOcclusionQueryNV - void __stdcall GLee_Lazy_glEndOcclusionQueryNV(void) {if (GLeeInit()) glEndOcclusionQueryNV();} - GLEEPFNGLENDOCCLUSIONQUERYNVPROC GLeeFuncPtr_glEndOcclusionQueryNV=GLee_Lazy_glEndOcclusionQueryNV; -#endif -#ifndef GLEE_C_DEFINED_glGetOcclusionQueryivNV -#define GLEE_C_DEFINED_glGetOcclusionQueryivNV - void __stdcall GLee_Lazy_glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint * params) {if (GLeeInit()) glGetOcclusionQueryivNV(id, pname, params);} - GLEEPFNGLGETOCCLUSIONQUERYIVNVPROC GLeeFuncPtr_glGetOcclusionQueryivNV=GLee_Lazy_glGetOcclusionQueryivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetOcclusionQueryuivNV -#define GLEE_C_DEFINED_glGetOcclusionQueryuivNV - void __stdcall GLee_Lazy_glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint * params) {if (GLeeInit()) glGetOcclusionQueryuivNV(id, pname, params);} - GLEEPFNGLGETOCCLUSIONQUERYUIVNVPROC GLeeFuncPtr_glGetOcclusionQueryuivNV=GLee_Lazy_glGetOcclusionQueryuivNV; -#endif -#endif - -/* GL_NV_point_sprite */ - -#ifdef __GLEE_GL_NV_point_sprite -#ifndef GLEE_C_DEFINED_glPointParameteriNV -#define GLEE_C_DEFINED_glPointParameteriNV - void __stdcall GLee_Lazy_glPointParameteriNV(GLenum pname, GLint param) {if (GLeeInit()) glPointParameteriNV(pname, param);} - GLEEPFNGLPOINTPARAMETERINVPROC GLeeFuncPtr_glPointParameteriNV=GLee_Lazy_glPointParameteriNV; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterivNV -#define GLEE_C_DEFINED_glPointParameterivNV - void __stdcall GLee_Lazy_glPointParameterivNV(GLenum pname, const GLint * params) {if (GLeeInit()) glPointParameterivNV(pname, params);} - GLEEPFNGLPOINTPARAMETERIVNVPROC GLeeFuncPtr_glPointParameterivNV=GLee_Lazy_glPointParameterivNV; -#endif -#endif - -/* GL_NV_texture_shader3 */ - -#ifdef __GLEE_GL_NV_texture_shader3 -#endif - -/* GL_NV_vertex_program1_1 */ - -#ifdef __GLEE_GL_NV_vertex_program1_1 -#endif - -/* GL_EXT_shadow_funcs */ - -#ifdef __GLEE_GL_EXT_shadow_funcs -#endif - -/* GL_EXT_stencil_two_side */ - -#ifdef __GLEE_GL_EXT_stencil_two_side -#ifndef GLEE_C_DEFINED_glActiveStencilFaceEXT -#define GLEE_C_DEFINED_glActiveStencilFaceEXT - void __stdcall GLee_Lazy_glActiveStencilFaceEXT(GLenum face) {if (GLeeInit()) glActiveStencilFaceEXT(face);} - GLEEPFNGLACTIVESTENCILFACEEXTPROC GLeeFuncPtr_glActiveStencilFaceEXT=GLee_Lazy_glActiveStencilFaceEXT; -#endif -#endif - -/* GL_ATI_text_fragment_shader */ - -#ifdef __GLEE_GL_ATI_text_fragment_shader -#endif - -/* GL_APPLE_client_storage */ - -#ifdef __GLEE_GL_APPLE_client_storage -#endif - -/* GL_APPLE_element_array */ - -#ifdef __GLEE_GL_APPLE_element_array -#ifndef GLEE_C_DEFINED_glElementPointerAPPLE -#define GLEE_C_DEFINED_glElementPointerAPPLE - void __stdcall GLee_Lazy_glElementPointerAPPLE(GLenum type, const GLvoid * pointer) {if (GLeeInit()) glElementPointerAPPLE(type, pointer);} - GLEEPFNGLELEMENTPOINTERAPPLEPROC GLeeFuncPtr_glElementPointerAPPLE=GLee_Lazy_glElementPointerAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementArrayAPPLE -#define GLEE_C_DEFINED_glDrawElementArrayAPPLE - void __stdcall GLee_Lazy_glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count) {if (GLeeInit()) glDrawElementArrayAPPLE(mode, first, count);} - GLEEPFNGLDRAWELEMENTARRAYAPPLEPROC GLeeFuncPtr_glDrawElementArrayAPPLE=GLee_Lazy_glDrawElementArrayAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glDrawRangeElementArrayAPPLE -#define GLEE_C_DEFINED_glDrawRangeElementArrayAPPLE - void __stdcall GLee_Lazy_glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count) {if (GLeeInit()) glDrawRangeElementArrayAPPLE(mode, start, end, first, count);} - GLEEPFNGLDRAWRANGEELEMENTARRAYAPPLEPROC GLeeFuncPtr_glDrawRangeElementArrayAPPLE=GLee_Lazy_glDrawRangeElementArrayAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElementArrayAPPLE -#define GLEE_C_DEFINED_glMultiDrawElementArrayAPPLE - void __stdcall GLee_Lazy_glMultiDrawElementArrayAPPLE(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount) {if (GLeeInit()) glMultiDrawElementArrayAPPLE(mode, first, count, primcount);} - GLEEPFNGLMULTIDRAWELEMENTARRAYAPPLEPROC GLeeFuncPtr_glMultiDrawElementArrayAPPLE=GLee_Lazy_glMultiDrawElementArrayAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawRangeElementArrayAPPLE -#define GLEE_C_DEFINED_glMultiDrawRangeElementArrayAPPLE - void __stdcall GLee_Lazy_glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint * first, const GLsizei * count, GLsizei primcount) {if (GLeeInit()) glMultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount);} - GLEEPFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC GLeeFuncPtr_glMultiDrawRangeElementArrayAPPLE=GLee_Lazy_glMultiDrawRangeElementArrayAPPLE; -#endif -#endif - -/* GL_APPLE_fence */ - -#ifdef __GLEE_GL_APPLE_fence -#ifndef GLEE_C_DEFINED_glGenFencesAPPLE -#define GLEE_C_DEFINED_glGenFencesAPPLE - void __stdcall GLee_Lazy_glGenFencesAPPLE(GLsizei n, GLuint * fences) {if (GLeeInit()) glGenFencesAPPLE(n, fences);} - GLEEPFNGLGENFENCESAPPLEPROC GLeeFuncPtr_glGenFencesAPPLE=GLee_Lazy_glGenFencesAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glDeleteFencesAPPLE -#define GLEE_C_DEFINED_glDeleteFencesAPPLE - void __stdcall GLee_Lazy_glDeleteFencesAPPLE(GLsizei n, const GLuint * fences) {if (GLeeInit()) glDeleteFencesAPPLE(n, fences);} - GLEEPFNGLDELETEFENCESAPPLEPROC GLeeFuncPtr_glDeleteFencesAPPLE=GLee_Lazy_glDeleteFencesAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glSetFenceAPPLE -#define GLEE_C_DEFINED_glSetFenceAPPLE - void __stdcall GLee_Lazy_glSetFenceAPPLE(GLuint fence) {if (GLeeInit()) glSetFenceAPPLE(fence);} - GLEEPFNGLSETFENCEAPPLEPROC GLeeFuncPtr_glSetFenceAPPLE=GLee_Lazy_glSetFenceAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glIsFenceAPPLE -#define GLEE_C_DEFINED_glIsFenceAPPLE - GLboolean __stdcall GLee_Lazy_glIsFenceAPPLE(GLuint fence) {if (GLeeInit()) return glIsFenceAPPLE(fence); return (GLboolean)0;} - GLEEPFNGLISFENCEAPPLEPROC GLeeFuncPtr_glIsFenceAPPLE=GLee_Lazy_glIsFenceAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glTestFenceAPPLE -#define GLEE_C_DEFINED_glTestFenceAPPLE - GLboolean __stdcall GLee_Lazy_glTestFenceAPPLE(GLuint fence) {if (GLeeInit()) return glTestFenceAPPLE(fence); return (GLboolean)0;} - GLEEPFNGLTESTFENCEAPPLEPROC GLeeFuncPtr_glTestFenceAPPLE=GLee_Lazy_glTestFenceAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glFinishFenceAPPLE -#define GLEE_C_DEFINED_glFinishFenceAPPLE - void __stdcall GLee_Lazy_glFinishFenceAPPLE(GLuint fence) {if (GLeeInit()) glFinishFenceAPPLE(fence);} - GLEEPFNGLFINISHFENCEAPPLEPROC GLeeFuncPtr_glFinishFenceAPPLE=GLee_Lazy_glFinishFenceAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glTestObjectAPPLE -#define GLEE_C_DEFINED_glTestObjectAPPLE - GLboolean __stdcall GLee_Lazy_glTestObjectAPPLE(GLenum object, GLuint name) {if (GLeeInit()) return glTestObjectAPPLE(object, name); return (GLboolean)0;} - GLEEPFNGLTESTOBJECTAPPLEPROC GLeeFuncPtr_glTestObjectAPPLE=GLee_Lazy_glTestObjectAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glFinishObjectAPPLE -#define GLEE_C_DEFINED_glFinishObjectAPPLE - void __stdcall GLee_Lazy_glFinishObjectAPPLE(GLenum object, GLint name) {if (GLeeInit()) glFinishObjectAPPLE(object, name);} - GLEEPFNGLFINISHOBJECTAPPLEPROC GLeeFuncPtr_glFinishObjectAPPLE=GLee_Lazy_glFinishObjectAPPLE; -#endif -#endif - -/* GL_APPLE_vertex_array_object */ - -#ifdef __GLEE_GL_APPLE_vertex_array_object -#ifndef GLEE_C_DEFINED_glBindVertexArrayAPPLE -#define GLEE_C_DEFINED_glBindVertexArrayAPPLE - void __stdcall GLee_Lazy_glBindVertexArrayAPPLE(GLuint array) {if (GLeeInit()) glBindVertexArrayAPPLE(array);} - GLEEPFNGLBINDVERTEXARRAYAPPLEPROC GLeeFuncPtr_glBindVertexArrayAPPLE=GLee_Lazy_glBindVertexArrayAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glDeleteVertexArraysAPPLE -#define GLEE_C_DEFINED_glDeleteVertexArraysAPPLE - void __stdcall GLee_Lazy_glDeleteVertexArraysAPPLE(GLsizei n, const GLuint * arrays) {if (GLeeInit()) glDeleteVertexArraysAPPLE(n, arrays);} - GLEEPFNGLDELETEVERTEXARRAYSAPPLEPROC GLeeFuncPtr_glDeleteVertexArraysAPPLE=GLee_Lazy_glDeleteVertexArraysAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glGenVertexArraysAPPLE -#define GLEE_C_DEFINED_glGenVertexArraysAPPLE - void __stdcall GLee_Lazy_glGenVertexArraysAPPLE(GLsizei n, GLuint * arrays) {if (GLeeInit()) glGenVertexArraysAPPLE(n, arrays);} - GLEEPFNGLGENVERTEXARRAYSAPPLEPROC GLeeFuncPtr_glGenVertexArraysAPPLE=GLee_Lazy_glGenVertexArraysAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glIsVertexArrayAPPLE -#define GLEE_C_DEFINED_glIsVertexArrayAPPLE - GLboolean __stdcall GLee_Lazy_glIsVertexArrayAPPLE(GLuint array) {if (GLeeInit()) return glIsVertexArrayAPPLE(array); return (GLboolean)0;} - GLEEPFNGLISVERTEXARRAYAPPLEPROC GLeeFuncPtr_glIsVertexArrayAPPLE=GLee_Lazy_glIsVertexArrayAPPLE; -#endif -#endif - -/* GL_APPLE_vertex_array_range */ - -#ifdef __GLEE_GL_APPLE_vertex_array_range -#ifndef GLEE_C_DEFINED_glVertexArrayRangeAPPLE -#define GLEE_C_DEFINED_glVertexArrayRangeAPPLE - void __stdcall GLee_Lazy_glVertexArrayRangeAPPLE(GLsizei length, GLvoid * pointer) {if (GLeeInit()) glVertexArrayRangeAPPLE(length, pointer);} - GLEEPFNGLVERTEXARRAYRANGEAPPLEPROC GLeeFuncPtr_glVertexArrayRangeAPPLE=GLee_Lazy_glVertexArrayRangeAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glFlushVertexArrayRangeAPPLE -#define GLEE_C_DEFINED_glFlushVertexArrayRangeAPPLE - void __stdcall GLee_Lazy_glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid * pointer) {if (GLeeInit()) glFlushVertexArrayRangeAPPLE(length, pointer);} - GLEEPFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC GLeeFuncPtr_glFlushVertexArrayRangeAPPLE=GLee_Lazy_glFlushVertexArrayRangeAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayParameteriAPPLE -#define GLEE_C_DEFINED_glVertexArrayParameteriAPPLE - void __stdcall GLee_Lazy_glVertexArrayParameteriAPPLE(GLenum pname, GLint param) {if (GLeeInit()) glVertexArrayParameteriAPPLE(pname, param);} - GLEEPFNGLVERTEXARRAYPARAMETERIAPPLEPROC GLeeFuncPtr_glVertexArrayParameteriAPPLE=GLee_Lazy_glVertexArrayParameteriAPPLE; -#endif -#endif - -/* GL_APPLE_ycbcr_422 */ - -#ifdef __GLEE_GL_APPLE_ycbcr_422 -#endif - -/* GL_S3_s3tc */ - -#ifdef __GLEE_GL_S3_s3tc -#endif - -/* GL_ATI_draw_buffers */ - -#ifdef __GLEE_GL_ATI_draw_buffers -#ifndef GLEE_C_DEFINED_glDrawBuffersATI -#define GLEE_C_DEFINED_glDrawBuffersATI - void __stdcall GLee_Lazy_glDrawBuffersATI(GLsizei n, const GLenum * bufs) {if (GLeeInit()) glDrawBuffersATI(n, bufs);} - GLEEPFNGLDRAWBUFFERSATIPROC GLeeFuncPtr_glDrawBuffersATI=GLee_Lazy_glDrawBuffersATI; -#endif -#endif - -/* GL_ATI_pixel_format_float */ - -#ifdef __GLEE_GL_ATI_pixel_format_float -#endif - -/* GL_ATI_texture_env_combine3 */ - -#ifdef __GLEE_GL_ATI_texture_env_combine3 -#endif - -/* GL_ATI_texture_float */ - -#ifdef __GLEE_GL_ATI_texture_float -#endif - -/* GL_NV_float_buffer */ - -#ifdef __GLEE_GL_NV_float_buffer -#endif - -/* GL_NV_fragment_program */ - -#ifdef __GLEE_GL_NV_fragment_program -#ifndef GLEE_C_DEFINED_glProgramNamedParameter4fNV -#define GLEE_C_DEFINED_glProgramNamedParameter4fNV - void __stdcall GLee_Lazy_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glProgramNamedParameter4fNV(id, len, name, x, y, z, w);} - GLEEPFNGLPROGRAMNAMEDPARAMETER4FNVPROC GLeeFuncPtr_glProgramNamedParameter4fNV=GLee_Lazy_glProgramNamedParameter4fNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramNamedParameter4fvNV -#define GLEE_C_DEFINED_glProgramNamedParameter4fvNV - void __stdcall GLee_Lazy_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v) {if (GLeeInit()) glProgramNamedParameter4fvNV(id, len, name, v);} - GLEEPFNGLPROGRAMNAMEDPARAMETER4FVNVPROC GLeeFuncPtr_glProgramNamedParameter4fvNV=GLee_Lazy_glProgramNamedParameter4fvNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramNamedParameter4dNV -#define GLEE_C_DEFINED_glProgramNamedParameter4dNV - void __stdcall GLee_Lazy_glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glProgramNamedParameter4dNV(id, len, name, x, y, z, w);} - GLEEPFNGLPROGRAMNAMEDPARAMETER4DNVPROC GLeeFuncPtr_glProgramNamedParameter4dNV=GLee_Lazy_glProgramNamedParameter4dNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramNamedParameter4dvNV -#define GLEE_C_DEFINED_glProgramNamedParameter4dvNV - void __stdcall GLee_Lazy_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v) {if (GLeeInit()) glProgramNamedParameter4dvNV(id, len, name, v);} - GLEEPFNGLPROGRAMNAMEDPARAMETER4DVNVPROC GLeeFuncPtr_glProgramNamedParameter4dvNV=GLee_Lazy_glProgramNamedParameter4dvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramNamedParameterfvNV -#define GLEE_C_DEFINED_glGetProgramNamedParameterfvNV - void __stdcall GLee_Lazy_glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params) {if (GLeeInit()) glGetProgramNamedParameterfvNV(id, len, name, params);} - GLEEPFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC GLeeFuncPtr_glGetProgramNamedParameterfvNV=GLee_Lazy_glGetProgramNamedParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramNamedParameterdvNV -#define GLEE_C_DEFINED_glGetProgramNamedParameterdvNV - void __stdcall GLee_Lazy_glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params) {if (GLeeInit()) glGetProgramNamedParameterdvNV(id, len, name, params);} - GLEEPFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC GLeeFuncPtr_glGetProgramNamedParameterdvNV=GLee_Lazy_glGetProgramNamedParameterdvNV; -#endif -#endif - -/* GL_NV_half_float */ - -#ifdef __GLEE_GL_NV_half_float -#ifndef GLEE_C_DEFINED_glVertex2hNV -#define GLEE_C_DEFINED_glVertex2hNV - void __stdcall GLee_Lazy_glVertex2hNV(GLhalfNV x, GLhalfNV y) {if (GLeeInit()) glVertex2hNV(x, y);} - GLEEPFNGLVERTEX2HNVPROC GLeeFuncPtr_glVertex2hNV=GLee_Lazy_glVertex2hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertex2hvNV -#define GLEE_C_DEFINED_glVertex2hvNV - void __stdcall GLee_Lazy_glVertex2hvNV(const GLhalfNV * v) {if (GLeeInit()) glVertex2hvNV(v);} - GLEEPFNGLVERTEX2HVNVPROC GLeeFuncPtr_glVertex2hvNV=GLee_Lazy_glVertex2hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertex3hNV -#define GLEE_C_DEFINED_glVertex3hNV - void __stdcall GLee_Lazy_glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z) {if (GLeeInit()) glVertex3hNV(x, y, z);} - GLEEPFNGLVERTEX3HNVPROC GLeeFuncPtr_glVertex3hNV=GLee_Lazy_glVertex3hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertex3hvNV -#define GLEE_C_DEFINED_glVertex3hvNV - void __stdcall GLee_Lazy_glVertex3hvNV(const GLhalfNV * v) {if (GLeeInit()) glVertex3hvNV(v);} - GLEEPFNGLVERTEX3HVNVPROC GLeeFuncPtr_glVertex3hvNV=GLee_Lazy_glVertex3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertex4hNV -#define GLEE_C_DEFINED_glVertex4hNV - void __stdcall GLee_Lazy_glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) {if (GLeeInit()) glVertex4hNV(x, y, z, w);} - GLEEPFNGLVERTEX4HNVPROC GLeeFuncPtr_glVertex4hNV=GLee_Lazy_glVertex4hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertex4hvNV -#define GLEE_C_DEFINED_glVertex4hvNV - void __stdcall GLee_Lazy_glVertex4hvNV(const GLhalfNV * v) {if (GLeeInit()) glVertex4hvNV(v);} - GLEEPFNGLVERTEX4HVNVPROC GLeeFuncPtr_glVertex4hvNV=GLee_Lazy_glVertex4hvNV; -#endif -#ifndef GLEE_C_DEFINED_glNormal3hNV -#define GLEE_C_DEFINED_glNormal3hNV - void __stdcall GLee_Lazy_glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz) {if (GLeeInit()) glNormal3hNV(nx, ny, nz);} - GLEEPFNGLNORMAL3HNVPROC GLeeFuncPtr_glNormal3hNV=GLee_Lazy_glNormal3hNV; -#endif -#ifndef GLEE_C_DEFINED_glNormal3hvNV -#define GLEE_C_DEFINED_glNormal3hvNV - void __stdcall GLee_Lazy_glNormal3hvNV(const GLhalfNV * v) {if (GLeeInit()) glNormal3hvNV(v);} - GLEEPFNGLNORMAL3HVNVPROC GLeeFuncPtr_glNormal3hvNV=GLee_Lazy_glNormal3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glColor3hNV -#define GLEE_C_DEFINED_glColor3hNV - void __stdcall GLee_Lazy_glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) {if (GLeeInit()) glColor3hNV(red, green, blue);} - GLEEPFNGLCOLOR3HNVPROC GLeeFuncPtr_glColor3hNV=GLee_Lazy_glColor3hNV; -#endif -#ifndef GLEE_C_DEFINED_glColor3hvNV -#define GLEE_C_DEFINED_glColor3hvNV - void __stdcall GLee_Lazy_glColor3hvNV(const GLhalfNV * v) {if (GLeeInit()) glColor3hvNV(v);} - GLEEPFNGLCOLOR3HVNVPROC GLeeFuncPtr_glColor3hvNV=GLee_Lazy_glColor3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glColor4hNV -#define GLEE_C_DEFINED_glColor4hNV - void __stdcall GLee_Lazy_glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha) {if (GLeeInit()) glColor4hNV(red, green, blue, alpha);} - GLEEPFNGLCOLOR4HNVPROC GLeeFuncPtr_glColor4hNV=GLee_Lazy_glColor4hNV; -#endif -#ifndef GLEE_C_DEFINED_glColor4hvNV -#define GLEE_C_DEFINED_glColor4hvNV - void __stdcall GLee_Lazy_glColor4hvNV(const GLhalfNV * v) {if (GLeeInit()) glColor4hvNV(v);} - GLEEPFNGLCOLOR4HVNVPROC GLeeFuncPtr_glColor4hvNV=GLee_Lazy_glColor4hvNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1hNV -#define GLEE_C_DEFINED_glTexCoord1hNV - void __stdcall GLee_Lazy_glTexCoord1hNV(GLhalfNV s) {if (GLeeInit()) glTexCoord1hNV(s);} - GLEEPFNGLTEXCOORD1HNVPROC GLeeFuncPtr_glTexCoord1hNV=GLee_Lazy_glTexCoord1hNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1hvNV -#define GLEE_C_DEFINED_glTexCoord1hvNV - void __stdcall GLee_Lazy_glTexCoord1hvNV(const GLhalfNV * v) {if (GLeeInit()) glTexCoord1hvNV(v);} - GLEEPFNGLTEXCOORD1HVNVPROC GLeeFuncPtr_glTexCoord1hvNV=GLee_Lazy_glTexCoord1hvNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2hNV -#define GLEE_C_DEFINED_glTexCoord2hNV - void __stdcall GLee_Lazy_glTexCoord2hNV(GLhalfNV s, GLhalfNV t) {if (GLeeInit()) glTexCoord2hNV(s, t);} - GLEEPFNGLTEXCOORD2HNVPROC GLeeFuncPtr_glTexCoord2hNV=GLee_Lazy_glTexCoord2hNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2hvNV -#define GLEE_C_DEFINED_glTexCoord2hvNV - void __stdcall GLee_Lazy_glTexCoord2hvNV(const GLhalfNV * v) {if (GLeeInit()) glTexCoord2hvNV(v);} - GLEEPFNGLTEXCOORD2HVNVPROC GLeeFuncPtr_glTexCoord2hvNV=GLee_Lazy_glTexCoord2hvNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3hNV -#define GLEE_C_DEFINED_glTexCoord3hNV - void __stdcall GLee_Lazy_glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r) {if (GLeeInit()) glTexCoord3hNV(s, t, r);} - GLEEPFNGLTEXCOORD3HNVPROC GLeeFuncPtr_glTexCoord3hNV=GLee_Lazy_glTexCoord3hNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3hvNV -#define GLEE_C_DEFINED_glTexCoord3hvNV - void __stdcall GLee_Lazy_glTexCoord3hvNV(const GLhalfNV * v) {if (GLeeInit()) glTexCoord3hvNV(v);} - GLEEPFNGLTEXCOORD3HVNVPROC GLeeFuncPtr_glTexCoord3hvNV=GLee_Lazy_glTexCoord3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4hNV -#define GLEE_C_DEFINED_glTexCoord4hNV - void __stdcall GLee_Lazy_glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) {if (GLeeInit()) glTexCoord4hNV(s, t, r, q);} - GLEEPFNGLTEXCOORD4HNVPROC GLeeFuncPtr_glTexCoord4hNV=GLee_Lazy_glTexCoord4hNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4hvNV -#define GLEE_C_DEFINED_glTexCoord4hvNV - void __stdcall GLee_Lazy_glTexCoord4hvNV(const GLhalfNV * v) {if (GLeeInit()) glTexCoord4hvNV(v);} - GLEEPFNGLTEXCOORD4HVNVPROC GLeeFuncPtr_glTexCoord4hvNV=GLee_Lazy_glTexCoord4hvNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1hNV -#define GLEE_C_DEFINED_glMultiTexCoord1hNV - void __stdcall GLee_Lazy_glMultiTexCoord1hNV(GLenum target, GLhalfNV s) {if (GLeeInit()) glMultiTexCoord1hNV(target, s);} - GLEEPFNGLMULTITEXCOORD1HNVPROC GLeeFuncPtr_glMultiTexCoord1hNV=GLee_Lazy_glMultiTexCoord1hNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1hvNV -#define GLEE_C_DEFINED_glMultiTexCoord1hvNV - void __stdcall GLee_Lazy_glMultiTexCoord1hvNV(GLenum target, const GLhalfNV * v) {if (GLeeInit()) glMultiTexCoord1hvNV(target, v);} - GLEEPFNGLMULTITEXCOORD1HVNVPROC GLeeFuncPtr_glMultiTexCoord1hvNV=GLee_Lazy_glMultiTexCoord1hvNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2hNV -#define GLEE_C_DEFINED_glMultiTexCoord2hNV - void __stdcall GLee_Lazy_glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t) {if (GLeeInit()) glMultiTexCoord2hNV(target, s, t);} - GLEEPFNGLMULTITEXCOORD2HNVPROC GLeeFuncPtr_glMultiTexCoord2hNV=GLee_Lazy_glMultiTexCoord2hNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2hvNV -#define GLEE_C_DEFINED_glMultiTexCoord2hvNV - void __stdcall GLee_Lazy_glMultiTexCoord2hvNV(GLenum target, const GLhalfNV * v) {if (GLeeInit()) glMultiTexCoord2hvNV(target, v);} - GLEEPFNGLMULTITEXCOORD2HVNVPROC GLeeFuncPtr_glMultiTexCoord2hvNV=GLee_Lazy_glMultiTexCoord2hvNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3hNV -#define GLEE_C_DEFINED_glMultiTexCoord3hNV - void __stdcall GLee_Lazy_glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r) {if (GLeeInit()) glMultiTexCoord3hNV(target, s, t, r);} - GLEEPFNGLMULTITEXCOORD3HNVPROC GLeeFuncPtr_glMultiTexCoord3hNV=GLee_Lazy_glMultiTexCoord3hNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3hvNV -#define GLEE_C_DEFINED_glMultiTexCoord3hvNV - void __stdcall GLee_Lazy_glMultiTexCoord3hvNV(GLenum target, const GLhalfNV * v) {if (GLeeInit()) glMultiTexCoord3hvNV(target, v);} - GLEEPFNGLMULTITEXCOORD3HVNVPROC GLeeFuncPtr_glMultiTexCoord3hvNV=GLee_Lazy_glMultiTexCoord3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4hNV -#define GLEE_C_DEFINED_glMultiTexCoord4hNV - void __stdcall GLee_Lazy_glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) {if (GLeeInit()) glMultiTexCoord4hNV(target, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4HNVPROC GLeeFuncPtr_glMultiTexCoord4hNV=GLee_Lazy_glMultiTexCoord4hNV; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4hvNV -#define GLEE_C_DEFINED_glMultiTexCoord4hvNV - void __stdcall GLee_Lazy_glMultiTexCoord4hvNV(GLenum target, const GLhalfNV * v) {if (GLeeInit()) glMultiTexCoord4hvNV(target, v);} - GLEEPFNGLMULTITEXCOORD4HVNVPROC GLeeFuncPtr_glMultiTexCoord4hvNV=GLee_Lazy_glMultiTexCoord4hvNV; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordhNV -#define GLEE_C_DEFINED_glFogCoordhNV - void __stdcall GLee_Lazy_glFogCoordhNV(GLhalfNV fog) {if (GLeeInit()) glFogCoordhNV(fog);} - GLEEPFNGLFOGCOORDHNVPROC GLeeFuncPtr_glFogCoordhNV=GLee_Lazy_glFogCoordhNV; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordhvNV -#define GLEE_C_DEFINED_glFogCoordhvNV - void __stdcall GLee_Lazy_glFogCoordhvNV(const GLhalfNV * fog) {if (GLeeInit()) glFogCoordhvNV(fog);} - GLEEPFNGLFOGCOORDHVNVPROC GLeeFuncPtr_glFogCoordhvNV=GLee_Lazy_glFogCoordhvNV; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3hNV -#define GLEE_C_DEFINED_glSecondaryColor3hNV - void __stdcall GLee_Lazy_glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) {if (GLeeInit()) glSecondaryColor3hNV(red, green, blue);} - GLEEPFNGLSECONDARYCOLOR3HNVPROC GLeeFuncPtr_glSecondaryColor3hNV=GLee_Lazy_glSecondaryColor3hNV; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColor3hvNV -#define GLEE_C_DEFINED_glSecondaryColor3hvNV - void __stdcall GLee_Lazy_glSecondaryColor3hvNV(const GLhalfNV * v) {if (GLeeInit()) glSecondaryColor3hvNV(v);} - GLEEPFNGLSECONDARYCOLOR3HVNVPROC GLeeFuncPtr_glSecondaryColor3hvNV=GLee_Lazy_glSecondaryColor3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexWeighthNV -#define GLEE_C_DEFINED_glVertexWeighthNV - void __stdcall GLee_Lazy_glVertexWeighthNV(GLhalfNV weight) {if (GLeeInit()) glVertexWeighthNV(weight);} - GLEEPFNGLVERTEXWEIGHTHNVPROC GLeeFuncPtr_glVertexWeighthNV=GLee_Lazy_glVertexWeighthNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexWeighthvNV -#define GLEE_C_DEFINED_glVertexWeighthvNV - void __stdcall GLee_Lazy_glVertexWeighthvNV(const GLhalfNV * weight) {if (GLeeInit()) glVertexWeighthvNV(weight);} - GLEEPFNGLVERTEXWEIGHTHVNVPROC GLeeFuncPtr_glVertexWeighthvNV=GLee_Lazy_glVertexWeighthvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1hNV -#define GLEE_C_DEFINED_glVertexAttrib1hNV - void __stdcall GLee_Lazy_glVertexAttrib1hNV(GLuint index, GLhalfNV x) {if (GLeeInit()) glVertexAttrib1hNV(index, x);} - GLEEPFNGLVERTEXATTRIB1HNVPROC GLeeFuncPtr_glVertexAttrib1hNV=GLee_Lazy_glVertexAttrib1hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib1hvNV -#define GLEE_C_DEFINED_glVertexAttrib1hvNV - void __stdcall GLee_Lazy_glVertexAttrib1hvNV(GLuint index, const GLhalfNV * v) {if (GLeeInit()) glVertexAttrib1hvNV(index, v);} - GLEEPFNGLVERTEXATTRIB1HVNVPROC GLeeFuncPtr_glVertexAttrib1hvNV=GLee_Lazy_glVertexAttrib1hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2hNV -#define GLEE_C_DEFINED_glVertexAttrib2hNV - void __stdcall GLee_Lazy_glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y) {if (GLeeInit()) glVertexAttrib2hNV(index, x, y);} - GLEEPFNGLVERTEXATTRIB2HNVPROC GLeeFuncPtr_glVertexAttrib2hNV=GLee_Lazy_glVertexAttrib2hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib2hvNV -#define GLEE_C_DEFINED_glVertexAttrib2hvNV - void __stdcall GLee_Lazy_glVertexAttrib2hvNV(GLuint index, const GLhalfNV * v) {if (GLeeInit()) glVertexAttrib2hvNV(index, v);} - GLEEPFNGLVERTEXATTRIB2HVNVPROC GLeeFuncPtr_glVertexAttrib2hvNV=GLee_Lazy_glVertexAttrib2hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3hNV -#define GLEE_C_DEFINED_glVertexAttrib3hNV - void __stdcall GLee_Lazy_glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z) {if (GLeeInit()) glVertexAttrib3hNV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIB3HNVPROC GLeeFuncPtr_glVertexAttrib3hNV=GLee_Lazy_glVertexAttrib3hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib3hvNV -#define GLEE_C_DEFINED_glVertexAttrib3hvNV - void __stdcall GLee_Lazy_glVertexAttrib3hvNV(GLuint index, const GLhalfNV * v) {if (GLeeInit()) glVertexAttrib3hvNV(index, v);} - GLEEPFNGLVERTEXATTRIB3HVNVPROC GLeeFuncPtr_glVertexAttrib3hvNV=GLee_Lazy_glVertexAttrib3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4hNV -#define GLEE_C_DEFINED_glVertexAttrib4hNV - void __stdcall GLee_Lazy_glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) {if (GLeeInit()) glVertexAttrib4hNV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIB4HNVPROC GLeeFuncPtr_glVertexAttrib4hNV=GLee_Lazy_glVertexAttrib4hNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttrib4hvNV -#define GLEE_C_DEFINED_glVertexAttrib4hvNV - void __stdcall GLee_Lazy_glVertexAttrib4hvNV(GLuint index, const GLhalfNV * v) {if (GLeeInit()) glVertexAttrib4hvNV(index, v);} - GLEEPFNGLVERTEXATTRIB4HVNVPROC GLeeFuncPtr_glVertexAttrib4hvNV=GLee_Lazy_glVertexAttrib4hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs1hvNV -#define GLEE_C_DEFINED_glVertexAttribs1hvNV - void __stdcall GLee_Lazy_glVertexAttribs1hvNV(GLuint index, GLsizei n, const GLhalfNV * v) {if (GLeeInit()) glVertexAttribs1hvNV(index, n, v);} - GLEEPFNGLVERTEXATTRIBS1HVNVPROC GLeeFuncPtr_glVertexAttribs1hvNV=GLee_Lazy_glVertexAttribs1hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs2hvNV -#define GLEE_C_DEFINED_glVertexAttribs2hvNV - void __stdcall GLee_Lazy_glVertexAttribs2hvNV(GLuint index, GLsizei n, const GLhalfNV * v) {if (GLeeInit()) glVertexAttribs2hvNV(index, n, v);} - GLEEPFNGLVERTEXATTRIBS2HVNVPROC GLeeFuncPtr_glVertexAttribs2hvNV=GLee_Lazy_glVertexAttribs2hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs3hvNV -#define GLEE_C_DEFINED_glVertexAttribs3hvNV - void __stdcall GLee_Lazy_glVertexAttribs3hvNV(GLuint index, GLsizei n, const GLhalfNV * v) {if (GLeeInit()) glVertexAttribs3hvNV(index, n, v);} - GLEEPFNGLVERTEXATTRIBS3HVNVPROC GLeeFuncPtr_glVertexAttribs3hvNV=GLee_Lazy_glVertexAttribs3hvNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribs4hvNV -#define GLEE_C_DEFINED_glVertexAttribs4hvNV - void __stdcall GLee_Lazy_glVertexAttribs4hvNV(GLuint index, GLsizei n, const GLhalfNV * v) {if (GLeeInit()) glVertexAttribs4hvNV(index, n, v);} - GLEEPFNGLVERTEXATTRIBS4HVNVPROC GLeeFuncPtr_glVertexAttribs4hvNV=GLee_Lazy_glVertexAttribs4hvNV; -#endif -#endif - -/* GL_NV_pixel_data_range */ - -#ifdef __GLEE_GL_NV_pixel_data_range -#ifndef GLEE_C_DEFINED_glPixelDataRangeNV -#define GLEE_C_DEFINED_glPixelDataRangeNV - void __stdcall GLee_Lazy_glPixelDataRangeNV(GLenum target, GLsizei length, const GLvoid * pointer) {if (GLeeInit()) glPixelDataRangeNV(target, length, pointer);} - GLEEPFNGLPIXELDATARANGENVPROC GLeeFuncPtr_glPixelDataRangeNV=GLee_Lazy_glPixelDataRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glFlushPixelDataRangeNV -#define GLEE_C_DEFINED_glFlushPixelDataRangeNV - void __stdcall GLee_Lazy_glFlushPixelDataRangeNV(GLenum target) {if (GLeeInit()) glFlushPixelDataRangeNV(target);} - GLEEPFNGLFLUSHPIXELDATARANGENVPROC GLeeFuncPtr_glFlushPixelDataRangeNV=GLee_Lazy_glFlushPixelDataRangeNV; -#endif -#endif - -/* GL_NV_primitive_restart */ - -#ifdef __GLEE_GL_NV_primitive_restart -#ifndef GLEE_C_DEFINED_glPrimitiveRestartNV -#define GLEE_C_DEFINED_glPrimitiveRestartNV - void __stdcall GLee_Lazy_glPrimitiveRestartNV(void) {if (GLeeInit()) glPrimitiveRestartNV();} - GLEEPFNGLPRIMITIVERESTARTNVPROC GLeeFuncPtr_glPrimitiveRestartNV=GLee_Lazy_glPrimitiveRestartNV; -#endif -#ifndef GLEE_C_DEFINED_glPrimitiveRestartIndexNV -#define GLEE_C_DEFINED_glPrimitiveRestartIndexNV - void __stdcall GLee_Lazy_glPrimitiveRestartIndexNV(GLuint index) {if (GLeeInit()) glPrimitiveRestartIndexNV(index);} - GLEEPFNGLPRIMITIVERESTARTINDEXNVPROC GLeeFuncPtr_glPrimitiveRestartIndexNV=GLee_Lazy_glPrimitiveRestartIndexNV; -#endif -#endif - -/* GL_NV_texture_expand_normal */ - -#ifdef __GLEE_GL_NV_texture_expand_normal -#endif - -/* GL_NV_vertex_program2 */ - -#ifdef __GLEE_GL_NV_vertex_program2 -#endif - -/* GL_ATI_map_object_buffer */ - -#ifdef __GLEE_GL_ATI_map_object_buffer -#ifndef GLEE_C_DEFINED_glMapObjectBufferATI -#define GLEE_C_DEFINED_glMapObjectBufferATI - GLvoid* __stdcall GLee_Lazy_glMapObjectBufferATI(GLuint buffer) {if (GLeeInit()) return glMapObjectBufferATI(buffer); return (GLvoid*)0;} - GLEEPFNGLMAPOBJECTBUFFERATIPROC GLeeFuncPtr_glMapObjectBufferATI=GLee_Lazy_glMapObjectBufferATI; -#endif -#ifndef GLEE_C_DEFINED_glUnmapObjectBufferATI -#define GLEE_C_DEFINED_glUnmapObjectBufferATI - void __stdcall GLee_Lazy_glUnmapObjectBufferATI(GLuint buffer) {if (GLeeInit()) glUnmapObjectBufferATI(buffer);} - GLEEPFNGLUNMAPOBJECTBUFFERATIPROC GLeeFuncPtr_glUnmapObjectBufferATI=GLee_Lazy_glUnmapObjectBufferATI; -#endif -#endif - -/* GL_ATI_separate_stencil */ - -#ifdef __GLEE_GL_ATI_separate_stencil -#ifndef GLEE_C_DEFINED_glStencilOpSeparateATI -#define GLEE_C_DEFINED_glStencilOpSeparateATI - void __stdcall GLee_Lazy_glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) {if (GLeeInit()) glStencilOpSeparateATI(face, sfail, dpfail, dppass);} - GLEEPFNGLSTENCILOPSEPARATEATIPROC GLeeFuncPtr_glStencilOpSeparateATI=GLee_Lazy_glStencilOpSeparateATI; -#endif -#ifndef GLEE_C_DEFINED_glStencilFuncSeparateATI -#define GLEE_C_DEFINED_glStencilFuncSeparateATI - void __stdcall GLee_Lazy_glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) {if (GLeeInit()) glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask);} - GLEEPFNGLSTENCILFUNCSEPARATEATIPROC GLeeFuncPtr_glStencilFuncSeparateATI=GLee_Lazy_glStencilFuncSeparateATI; -#endif -#endif - -/* GL_ATI_vertex_attrib_array_object */ - -#ifdef __GLEE_GL_ATI_vertex_attrib_array_object -#ifndef GLEE_C_DEFINED_glVertexAttribArrayObjectATI -#define GLEE_C_DEFINED_glVertexAttribArrayObjectATI - void __stdcall GLee_Lazy_glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset) {if (GLeeInit()) glVertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset);} - GLEEPFNGLVERTEXATTRIBARRAYOBJECTATIPROC GLeeFuncPtr_glVertexAttribArrayObjectATI=GLee_Lazy_glVertexAttribArrayObjectATI; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribArrayObjectfvATI -#define GLEE_C_DEFINED_glGetVertexAttribArrayObjectfvATI - void __stdcall GLee_Lazy_glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVertexAttribArrayObjectfvATI(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetVertexAttribArrayObjectfvATI=GLee_Lazy_glGetVertexAttribArrayObjectfvATI; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribArrayObjectivATI -#define GLEE_C_DEFINED_glGetVertexAttribArrayObjectivATI - void __stdcall GLee_Lazy_glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint * params) {if (GLeeInit()) glGetVertexAttribArrayObjectivATI(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetVertexAttribArrayObjectivATI=GLee_Lazy_glGetVertexAttribArrayObjectivATI; -#endif -#endif - -/* GL_OES_byte_coordinates */ - -#ifdef __GLEE_GL_OES_byte_coordinates -#ifndef GLEE_C_DEFINED_glMultiTexCoord1bOES -#define GLEE_C_DEFINED_glMultiTexCoord1bOES - void __stdcall GLee_Lazy_glMultiTexCoord1bOES(GLenum texture, GLbyte s) {if (GLeeInit()) glMultiTexCoord1bOES(texture, s);} - GLEEPFNGLMULTITEXCOORD1BOESPROC GLeeFuncPtr_glMultiTexCoord1bOES=GLee_Lazy_glMultiTexCoord1bOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1bvOES -#define GLEE_C_DEFINED_glMultiTexCoord1bvOES - void __stdcall GLee_Lazy_glMultiTexCoord1bvOES(GLenum texture, const GLbyte * coords) {if (GLeeInit()) glMultiTexCoord1bvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD1BVOESPROC GLeeFuncPtr_glMultiTexCoord1bvOES=GLee_Lazy_glMultiTexCoord1bvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2bOES -#define GLEE_C_DEFINED_glMultiTexCoord2bOES - void __stdcall GLee_Lazy_glMultiTexCoord2bOES(GLenum texture, GLbyte s, GLbyte t) {if (GLeeInit()) glMultiTexCoord2bOES(texture, s, t);} - GLEEPFNGLMULTITEXCOORD2BOESPROC GLeeFuncPtr_glMultiTexCoord2bOES=GLee_Lazy_glMultiTexCoord2bOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2bvOES -#define GLEE_C_DEFINED_glMultiTexCoord2bvOES - void __stdcall GLee_Lazy_glMultiTexCoord2bvOES(GLenum texture, const GLbyte * coords) {if (GLeeInit()) glMultiTexCoord2bvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD2BVOESPROC GLeeFuncPtr_glMultiTexCoord2bvOES=GLee_Lazy_glMultiTexCoord2bvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3bOES -#define GLEE_C_DEFINED_glMultiTexCoord3bOES - void __stdcall GLee_Lazy_glMultiTexCoord3bOES(GLenum texture, GLbyte s, GLbyte t, GLbyte r) {if (GLeeInit()) glMultiTexCoord3bOES(texture, s, t, r);} - GLEEPFNGLMULTITEXCOORD3BOESPROC GLeeFuncPtr_glMultiTexCoord3bOES=GLee_Lazy_glMultiTexCoord3bOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3bvOES -#define GLEE_C_DEFINED_glMultiTexCoord3bvOES - void __stdcall GLee_Lazy_glMultiTexCoord3bvOES(GLenum texture, const GLbyte * coords) {if (GLeeInit()) glMultiTexCoord3bvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD3BVOESPROC GLeeFuncPtr_glMultiTexCoord3bvOES=GLee_Lazy_glMultiTexCoord3bvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4bOES -#define GLEE_C_DEFINED_glMultiTexCoord4bOES - void __stdcall GLee_Lazy_glMultiTexCoord4bOES(GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q) {if (GLeeInit()) glMultiTexCoord4bOES(texture, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4BOESPROC GLeeFuncPtr_glMultiTexCoord4bOES=GLee_Lazy_glMultiTexCoord4bOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4bvOES -#define GLEE_C_DEFINED_glMultiTexCoord4bvOES - void __stdcall GLee_Lazy_glMultiTexCoord4bvOES(GLenum texture, const GLbyte * coords) {if (GLeeInit()) glMultiTexCoord4bvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD4BVOESPROC GLeeFuncPtr_glMultiTexCoord4bvOES=GLee_Lazy_glMultiTexCoord4bvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1bOES -#define GLEE_C_DEFINED_glTexCoord1bOES - void __stdcall GLee_Lazy_glTexCoord1bOES(GLbyte s) {if (GLeeInit()) glTexCoord1bOES(s);} - GLEEPFNGLTEXCOORD1BOESPROC GLeeFuncPtr_glTexCoord1bOES=GLee_Lazy_glTexCoord1bOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1bvOES -#define GLEE_C_DEFINED_glTexCoord1bvOES - void __stdcall GLee_Lazy_glTexCoord1bvOES(const GLbyte * coords) {if (GLeeInit()) glTexCoord1bvOES(coords);} - GLEEPFNGLTEXCOORD1BVOESPROC GLeeFuncPtr_glTexCoord1bvOES=GLee_Lazy_glTexCoord1bvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2bOES -#define GLEE_C_DEFINED_glTexCoord2bOES - void __stdcall GLee_Lazy_glTexCoord2bOES(GLbyte s, GLbyte t) {if (GLeeInit()) glTexCoord2bOES(s, t);} - GLEEPFNGLTEXCOORD2BOESPROC GLeeFuncPtr_glTexCoord2bOES=GLee_Lazy_glTexCoord2bOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2bvOES -#define GLEE_C_DEFINED_glTexCoord2bvOES - void __stdcall GLee_Lazy_glTexCoord2bvOES(const GLbyte * coords) {if (GLeeInit()) glTexCoord2bvOES(coords);} - GLEEPFNGLTEXCOORD2BVOESPROC GLeeFuncPtr_glTexCoord2bvOES=GLee_Lazy_glTexCoord2bvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3bOES -#define GLEE_C_DEFINED_glTexCoord3bOES - void __stdcall GLee_Lazy_glTexCoord3bOES(GLbyte s, GLbyte t, GLbyte r) {if (GLeeInit()) glTexCoord3bOES(s, t, r);} - GLEEPFNGLTEXCOORD3BOESPROC GLeeFuncPtr_glTexCoord3bOES=GLee_Lazy_glTexCoord3bOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3bvOES -#define GLEE_C_DEFINED_glTexCoord3bvOES - void __stdcall GLee_Lazy_glTexCoord3bvOES(const GLbyte * coords) {if (GLeeInit()) glTexCoord3bvOES(coords);} - GLEEPFNGLTEXCOORD3BVOESPROC GLeeFuncPtr_glTexCoord3bvOES=GLee_Lazy_glTexCoord3bvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4bOES -#define GLEE_C_DEFINED_glTexCoord4bOES - void __stdcall GLee_Lazy_glTexCoord4bOES(GLbyte s, GLbyte t, GLbyte r, GLbyte q) {if (GLeeInit()) glTexCoord4bOES(s, t, r, q);} - GLEEPFNGLTEXCOORD4BOESPROC GLeeFuncPtr_glTexCoord4bOES=GLee_Lazy_glTexCoord4bOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4bvOES -#define GLEE_C_DEFINED_glTexCoord4bvOES - void __stdcall GLee_Lazy_glTexCoord4bvOES(const GLbyte * coords) {if (GLeeInit()) glTexCoord4bvOES(coords);} - GLEEPFNGLTEXCOORD4BVOESPROC GLeeFuncPtr_glTexCoord4bvOES=GLee_Lazy_glTexCoord4bvOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex2bOES -#define GLEE_C_DEFINED_glVertex2bOES - void __stdcall GLee_Lazy_glVertex2bOES(GLbyte x) {if (GLeeInit()) glVertex2bOES(x);} - GLEEPFNGLVERTEX2BOESPROC GLeeFuncPtr_glVertex2bOES=GLee_Lazy_glVertex2bOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex2bvOES -#define GLEE_C_DEFINED_glVertex2bvOES - void __stdcall GLee_Lazy_glVertex2bvOES(const GLbyte * coords) {if (GLeeInit()) glVertex2bvOES(coords);} - GLEEPFNGLVERTEX2BVOESPROC GLeeFuncPtr_glVertex2bvOES=GLee_Lazy_glVertex2bvOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex3bOES -#define GLEE_C_DEFINED_glVertex3bOES - void __stdcall GLee_Lazy_glVertex3bOES(GLbyte x, GLbyte y) {if (GLeeInit()) glVertex3bOES(x, y);} - GLEEPFNGLVERTEX3BOESPROC GLeeFuncPtr_glVertex3bOES=GLee_Lazy_glVertex3bOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex3bvOES -#define GLEE_C_DEFINED_glVertex3bvOES - void __stdcall GLee_Lazy_glVertex3bvOES(const GLbyte * coords) {if (GLeeInit()) glVertex3bvOES(coords);} - GLEEPFNGLVERTEX3BVOESPROC GLeeFuncPtr_glVertex3bvOES=GLee_Lazy_glVertex3bvOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex4bOES -#define GLEE_C_DEFINED_glVertex4bOES - void __stdcall GLee_Lazy_glVertex4bOES(GLbyte x, GLbyte y, GLbyte z) {if (GLeeInit()) glVertex4bOES(x, y, z);} - GLEEPFNGLVERTEX4BOESPROC GLeeFuncPtr_glVertex4bOES=GLee_Lazy_glVertex4bOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex4bvOES -#define GLEE_C_DEFINED_glVertex4bvOES - void __stdcall GLee_Lazy_glVertex4bvOES(const GLbyte * coords) {if (GLeeInit()) glVertex4bvOES(coords);} - GLEEPFNGLVERTEX4BVOESPROC GLeeFuncPtr_glVertex4bvOES=GLee_Lazy_glVertex4bvOES; -#endif -#endif - -/* GL_OES_fixed_point */ - -#ifdef __GLEE_GL_OES_fixed_point -#ifndef GLEE_C_DEFINED_glAccumxOES -#define GLEE_C_DEFINED_glAccumxOES - void __stdcall GLee_Lazy_glAccumxOES(GLenum op, GLfixed value) {if (GLeeInit()) glAccumxOES(op, value);} - GLEEPFNGLACCUMXOESPROC GLeeFuncPtr_glAccumxOES=GLee_Lazy_glAccumxOES; -#endif -#ifndef GLEE_C_DEFINED_glAlphaFuncxOES -#define GLEE_C_DEFINED_glAlphaFuncxOES - void __stdcall GLee_Lazy_glAlphaFuncxOES(GLenum func, GLfixed ref) {if (GLeeInit()) glAlphaFuncxOES(func, ref);} - GLEEPFNGLALPHAFUNCXOESPROC GLeeFuncPtr_glAlphaFuncxOES=GLee_Lazy_glAlphaFuncxOES; -#endif -#ifndef GLEE_C_DEFINED_glBitmapxOES -#define GLEE_C_DEFINED_glBitmapxOES - void __stdcall GLee_Lazy_glBitmapxOES(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte * bitmap) {if (GLeeInit()) glBitmapxOES(width, height, xorig, yorig, xmove, ymove, bitmap);} - GLEEPFNGLBITMAPXOESPROC GLeeFuncPtr_glBitmapxOES=GLee_Lazy_glBitmapxOES; -#endif -#ifndef GLEE_C_DEFINED_glBlendColorxOES -#define GLEE_C_DEFINED_glBlendColorxOES - void __stdcall GLee_Lazy_glBlendColorxOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {if (GLeeInit()) glBlendColorxOES(red, green, blue, alpha);} - GLEEPFNGLBLENDCOLORXOESPROC GLeeFuncPtr_glBlendColorxOES=GLee_Lazy_glBlendColorxOES; -#endif -#ifndef GLEE_C_DEFINED_glClearAccumxOES -#define GLEE_C_DEFINED_glClearAccumxOES - void __stdcall GLee_Lazy_glClearAccumxOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {if (GLeeInit()) glClearAccumxOES(red, green, blue, alpha);} - GLEEPFNGLCLEARACCUMXOESPROC GLeeFuncPtr_glClearAccumxOES=GLee_Lazy_glClearAccumxOES; -#endif -#ifndef GLEE_C_DEFINED_glClearColorxOES -#define GLEE_C_DEFINED_glClearColorxOES - void __stdcall GLee_Lazy_glClearColorxOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {if (GLeeInit()) glClearColorxOES(red, green, blue, alpha);} - GLEEPFNGLCLEARCOLORXOESPROC GLeeFuncPtr_glClearColorxOES=GLee_Lazy_glClearColorxOES; -#endif -#ifndef GLEE_C_DEFINED_glClearDepthxOES -#define GLEE_C_DEFINED_glClearDepthxOES - void __stdcall GLee_Lazy_glClearDepthxOES(GLfixed depth) {if (GLeeInit()) glClearDepthxOES(depth);} - GLEEPFNGLCLEARDEPTHXOESPROC GLeeFuncPtr_glClearDepthxOES=GLee_Lazy_glClearDepthxOES; -#endif -#ifndef GLEE_C_DEFINED_glClipPlanexOES -#define GLEE_C_DEFINED_glClipPlanexOES - void __stdcall GLee_Lazy_glClipPlanexOES(GLenum plane, const GLfixed * equation) {if (GLeeInit()) glClipPlanexOES(plane, equation);} - GLEEPFNGLCLIPPLANEXOESPROC GLeeFuncPtr_glClipPlanexOES=GLee_Lazy_glClipPlanexOES; -#endif -#ifndef GLEE_C_DEFINED_glColor3xOES -#define GLEE_C_DEFINED_glColor3xOES - void __stdcall GLee_Lazy_glColor3xOES(GLfixed red, GLfixed green, GLfixed blue) {if (GLeeInit()) glColor3xOES(red, green, blue);} - GLEEPFNGLCOLOR3XOESPROC GLeeFuncPtr_glColor3xOES=GLee_Lazy_glColor3xOES; -#endif -#ifndef GLEE_C_DEFINED_glColor4xOES -#define GLEE_C_DEFINED_glColor4xOES - void __stdcall GLee_Lazy_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {if (GLeeInit()) glColor4xOES(red, green, blue, alpha);} - GLEEPFNGLCOLOR4XOESPROC GLeeFuncPtr_glColor4xOES=GLee_Lazy_glColor4xOES; -#endif -#ifndef GLEE_C_DEFINED_glColor3xvOES -#define GLEE_C_DEFINED_glColor3xvOES - void __stdcall GLee_Lazy_glColor3xvOES(const GLfixed * components) {if (GLeeInit()) glColor3xvOES(components);} - GLEEPFNGLCOLOR3XVOESPROC GLeeFuncPtr_glColor3xvOES=GLee_Lazy_glColor3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glColor4xvOES -#define GLEE_C_DEFINED_glColor4xvOES - void __stdcall GLee_Lazy_glColor4xvOES(const GLfixed * components) {if (GLeeInit()) glColor4xvOES(components);} - GLEEPFNGLCOLOR4XVOESPROC GLeeFuncPtr_glColor4xvOES=GLee_Lazy_glColor4xvOES; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterxOES -#define GLEE_C_DEFINED_glConvolutionParameterxOES - void __stdcall GLee_Lazy_glConvolutionParameterxOES(GLenum target, GLenum pname, GLfixed param) {if (GLeeInit()) glConvolutionParameterxOES(target, pname, param);} - GLEEPFNGLCONVOLUTIONPARAMETERXOESPROC GLeeFuncPtr_glConvolutionParameterxOES=GLee_Lazy_glConvolutionParameterxOES; -#endif -#ifndef GLEE_C_DEFINED_glConvolutionParameterxvOES -#define GLEE_C_DEFINED_glConvolutionParameterxvOES - void __stdcall GLee_Lazy_glConvolutionParameterxvOES(GLenum target, GLenum pname, const GLfixed * params) {if (GLeeInit()) glConvolutionParameterxvOES(target, pname, params);} - GLEEPFNGLCONVOLUTIONPARAMETERXVOESPROC GLeeFuncPtr_glConvolutionParameterxvOES=GLee_Lazy_glConvolutionParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glDepthRangexOES -#define GLEE_C_DEFINED_glDepthRangexOES - void __stdcall GLee_Lazy_glDepthRangexOES(GLfixed n, GLfixed f) {if (GLeeInit()) glDepthRangexOES(n, f);} - GLEEPFNGLDEPTHRANGEXOESPROC GLeeFuncPtr_glDepthRangexOES=GLee_Lazy_glDepthRangexOES; -#endif -#ifndef GLEE_C_DEFINED_glEvalCoord1xOES -#define GLEE_C_DEFINED_glEvalCoord1xOES - void __stdcall GLee_Lazy_glEvalCoord1xOES(GLfixed u) {if (GLeeInit()) glEvalCoord1xOES(u);} - GLEEPFNGLEVALCOORD1XOESPROC GLeeFuncPtr_glEvalCoord1xOES=GLee_Lazy_glEvalCoord1xOES; -#endif -#ifndef GLEE_C_DEFINED_glEvalCoord2xOES -#define GLEE_C_DEFINED_glEvalCoord2xOES - void __stdcall GLee_Lazy_glEvalCoord2xOES(GLfixed u, GLfixed v) {if (GLeeInit()) glEvalCoord2xOES(u, v);} - GLEEPFNGLEVALCOORD2XOESPROC GLeeFuncPtr_glEvalCoord2xOES=GLee_Lazy_glEvalCoord2xOES; -#endif -#ifndef GLEE_C_DEFINED_glEvalCoord1xvOES -#define GLEE_C_DEFINED_glEvalCoord1xvOES - void __stdcall GLee_Lazy_glEvalCoord1xvOES(const GLfixed * coords) {if (GLeeInit()) glEvalCoord1xvOES(coords);} - GLEEPFNGLEVALCOORD1XVOESPROC GLeeFuncPtr_glEvalCoord1xvOES=GLee_Lazy_glEvalCoord1xvOES; -#endif -#ifndef GLEE_C_DEFINED_glEvalCoord2xvOES -#define GLEE_C_DEFINED_glEvalCoord2xvOES - void __stdcall GLee_Lazy_glEvalCoord2xvOES(const GLfixed * coords) {if (GLeeInit()) glEvalCoord2xvOES(coords);} - GLEEPFNGLEVALCOORD2XVOESPROC GLeeFuncPtr_glEvalCoord2xvOES=GLee_Lazy_glEvalCoord2xvOES; -#endif -#ifndef GLEE_C_DEFINED_glFeedbackBufferxOES -#define GLEE_C_DEFINED_glFeedbackBufferxOES - void __stdcall GLee_Lazy_glFeedbackBufferxOES(GLsizei n, GLenum type, const GLfixed * buffer) {if (GLeeInit()) glFeedbackBufferxOES(n, type, buffer);} - GLEEPFNGLFEEDBACKBUFFERXOESPROC GLeeFuncPtr_glFeedbackBufferxOES=GLee_Lazy_glFeedbackBufferxOES; -#endif -#ifndef GLEE_C_DEFINED_glFogxOES -#define GLEE_C_DEFINED_glFogxOES - void __stdcall GLee_Lazy_glFogxOES(GLenum pname, GLfixed param) {if (GLeeInit()) glFogxOES(pname, param);} - GLEEPFNGLFOGXOESPROC GLeeFuncPtr_glFogxOES=GLee_Lazy_glFogxOES; -#endif -#ifndef GLEE_C_DEFINED_glFogxvOES -#define GLEE_C_DEFINED_glFogxvOES - void __stdcall GLee_Lazy_glFogxvOES(GLenum pname, const GLfixed * param) {if (GLeeInit()) glFogxvOES(pname, param);} - GLEEPFNGLFOGXVOESPROC GLeeFuncPtr_glFogxvOES=GLee_Lazy_glFogxvOES; -#endif -#ifndef GLEE_C_DEFINED_glFrustumxOES -#define GLEE_C_DEFINED_glFrustumxOES - void __stdcall GLee_Lazy_glFrustumxOES(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) {if (GLeeInit()) glFrustumxOES(l, r, b, t, n, f);} - GLEEPFNGLFRUSTUMXOESPROC GLeeFuncPtr_glFrustumxOES=GLee_Lazy_glFrustumxOES; -#endif -#ifndef GLEE_C_DEFINED_glGetClipPlanexOES -#define GLEE_C_DEFINED_glGetClipPlanexOES - void __stdcall GLee_Lazy_glGetClipPlanexOES(GLenum plane, GLfixed * equation) {if (GLeeInit()) glGetClipPlanexOES(plane, equation);} - GLEEPFNGLGETCLIPPLANEXOESPROC GLeeFuncPtr_glGetClipPlanexOES=GLee_Lazy_glGetClipPlanexOES; -#endif -#ifndef GLEE_C_DEFINED_glGetConvolutionParameterxvOES -#define GLEE_C_DEFINED_glGetConvolutionParameterxvOES - void __stdcall GLee_Lazy_glGetConvolutionParameterxvOES(GLenum target, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetConvolutionParameterxvOES(target, pname, params);} - GLEEPFNGLGETCONVOLUTIONPARAMETERXVOESPROC GLeeFuncPtr_glGetConvolutionParameterxvOES=GLee_Lazy_glGetConvolutionParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetFixedvOES -#define GLEE_C_DEFINED_glGetFixedvOES - void __stdcall GLee_Lazy_glGetFixedvOES(GLenum pname, GLfixed * params) {if (GLeeInit()) glGetFixedvOES(pname, params);} - GLEEPFNGLGETFIXEDVOESPROC GLeeFuncPtr_glGetFixedvOES=GLee_Lazy_glGetFixedvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetHistogramParameterxvOES -#define GLEE_C_DEFINED_glGetHistogramParameterxvOES - void __stdcall GLee_Lazy_glGetHistogramParameterxvOES(GLenum target, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetHistogramParameterxvOES(target, pname, params);} - GLEEPFNGLGETHISTOGRAMPARAMETERXVOESPROC GLeeFuncPtr_glGetHistogramParameterxvOES=GLee_Lazy_glGetHistogramParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetLightxOES -#define GLEE_C_DEFINED_glGetLightxOES - void __stdcall GLee_Lazy_glGetLightxOES(GLenum light, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetLightxOES(light, pname, params);} - GLEEPFNGLGETLIGHTXOESPROC GLeeFuncPtr_glGetLightxOES=GLee_Lazy_glGetLightxOES; -#endif -#ifndef GLEE_C_DEFINED_glGetMapxvOES -#define GLEE_C_DEFINED_glGetMapxvOES - void __stdcall GLee_Lazy_glGetMapxvOES(GLenum target, GLenum query, GLfixed * v) {if (GLeeInit()) glGetMapxvOES(target, query, v);} - GLEEPFNGLGETMAPXVOESPROC GLeeFuncPtr_glGetMapxvOES=GLee_Lazy_glGetMapxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetMaterialxOES -#define GLEE_C_DEFINED_glGetMaterialxOES - void __stdcall GLee_Lazy_glGetMaterialxOES(GLenum face, GLenum pname, GLfixed param) {if (GLeeInit()) glGetMaterialxOES(face, pname, param);} - GLEEPFNGLGETMATERIALXOESPROC GLeeFuncPtr_glGetMaterialxOES=GLee_Lazy_glGetMaterialxOES; -#endif -#ifndef GLEE_C_DEFINED_glGetPixelMapxv -#define GLEE_C_DEFINED_glGetPixelMapxv - void __stdcall GLee_Lazy_glGetPixelMapxv(GLenum map, GLint size, GLfixed * values) {if (GLeeInit()) glGetPixelMapxv(map, size, values);} - GLEEPFNGLGETPIXELMAPXVPROC GLeeFuncPtr_glGetPixelMapxv=GLee_Lazy_glGetPixelMapxv; -#endif -#ifndef GLEE_C_DEFINED_glGetTexEnvxvOES -#define GLEE_C_DEFINED_glGetTexEnvxvOES - void __stdcall GLee_Lazy_glGetTexEnvxvOES(GLenum target, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetTexEnvxvOES(target, pname, params);} - GLEEPFNGLGETTEXENVXVOESPROC GLeeFuncPtr_glGetTexEnvxvOES=GLee_Lazy_glGetTexEnvxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetTexGenxvOES -#define GLEE_C_DEFINED_glGetTexGenxvOES - void __stdcall GLee_Lazy_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetTexGenxvOES(coord, pname, params);} - GLEEPFNGLGETTEXGENXVOESPROC GLeeFuncPtr_glGetTexGenxvOES=GLee_Lazy_glGetTexGenxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetTexLevelParameterxvOES -#define GLEE_C_DEFINED_glGetTexLevelParameterxvOES - void __stdcall GLee_Lazy_glGetTexLevelParameterxvOES(GLenum target, GLint level, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetTexLevelParameterxvOES(target, level, pname, params);} - GLEEPFNGLGETTEXLEVELPARAMETERXVOESPROC GLeeFuncPtr_glGetTexLevelParameterxvOES=GLee_Lazy_glGetTexLevelParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterxvOES -#define GLEE_C_DEFINED_glGetTexParameterxvOES - void __stdcall GLee_Lazy_glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed * params) {if (GLeeInit()) glGetTexParameterxvOES(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERXVOESPROC GLeeFuncPtr_glGetTexParameterxvOES=GLee_Lazy_glGetTexParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glIndexxOES -#define GLEE_C_DEFINED_glIndexxOES - void __stdcall GLee_Lazy_glIndexxOES(GLfixed component) {if (GLeeInit()) glIndexxOES(component);} - GLEEPFNGLINDEXXOESPROC GLeeFuncPtr_glIndexxOES=GLee_Lazy_glIndexxOES; -#endif -#ifndef GLEE_C_DEFINED_glIndexxvOES -#define GLEE_C_DEFINED_glIndexxvOES - void __stdcall GLee_Lazy_glIndexxvOES(const GLfixed * component) {if (GLeeInit()) glIndexxvOES(component);} - GLEEPFNGLINDEXXVOESPROC GLeeFuncPtr_glIndexxvOES=GLee_Lazy_glIndexxvOES; -#endif -#ifndef GLEE_C_DEFINED_glLightModelxOES -#define GLEE_C_DEFINED_glLightModelxOES - void __stdcall GLee_Lazy_glLightModelxOES(GLenum pname, GLfixed param) {if (GLeeInit()) glLightModelxOES(pname, param);} - GLEEPFNGLLIGHTMODELXOESPROC GLeeFuncPtr_glLightModelxOES=GLee_Lazy_glLightModelxOES; -#endif -#ifndef GLEE_C_DEFINED_glLightModelxvOES -#define GLEE_C_DEFINED_glLightModelxvOES - void __stdcall GLee_Lazy_glLightModelxvOES(GLenum pname, const GLfixed * param) {if (GLeeInit()) glLightModelxvOES(pname, param);} - GLEEPFNGLLIGHTMODELXVOESPROC GLeeFuncPtr_glLightModelxvOES=GLee_Lazy_glLightModelxvOES; -#endif -#ifndef GLEE_C_DEFINED_glLightxOES -#define GLEE_C_DEFINED_glLightxOES - void __stdcall GLee_Lazy_glLightxOES(GLenum light, GLenum pname, GLfixed param) {if (GLeeInit()) glLightxOES(light, pname, param);} - GLEEPFNGLLIGHTXOESPROC GLeeFuncPtr_glLightxOES=GLee_Lazy_glLightxOES; -#endif -#ifndef GLEE_C_DEFINED_glLightxvOES -#define GLEE_C_DEFINED_glLightxvOES - void __stdcall GLee_Lazy_glLightxvOES(GLenum light, GLenum pname, const GLfixed * params) {if (GLeeInit()) glLightxvOES(light, pname, params);} - GLEEPFNGLLIGHTXVOESPROC GLeeFuncPtr_glLightxvOES=GLee_Lazy_glLightxvOES; -#endif -#ifndef GLEE_C_DEFINED_glLineWidthxOES -#define GLEE_C_DEFINED_glLineWidthxOES - void __stdcall GLee_Lazy_glLineWidthxOES(GLfixed width) {if (GLeeInit()) glLineWidthxOES(width);} - GLEEPFNGLLINEWIDTHXOESPROC GLeeFuncPtr_glLineWidthxOES=GLee_Lazy_glLineWidthxOES; -#endif -#ifndef GLEE_C_DEFINED_glLoadMatrixxOES -#define GLEE_C_DEFINED_glLoadMatrixxOES - void __stdcall GLee_Lazy_glLoadMatrixxOES(const GLfixed * m) {if (GLeeInit()) glLoadMatrixxOES(m);} - GLEEPFNGLLOADMATRIXXOESPROC GLeeFuncPtr_glLoadMatrixxOES=GLee_Lazy_glLoadMatrixxOES; -#endif -#ifndef GLEE_C_DEFINED_glLoadTransposeMatrixxOES -#define GLEE_C_DEFINED_glLoadTransposeMatrixxOES - void __stdcall GLee_Lazy_glLoadTransposeMatrixxOES(const GLfixed * m) {if (GLeeInit()) glLoadTransposeMatrixxOES(m);} - GLEEPFNGLLOADTRANSPOSEMATRIXXOESPROC GLeeFuncPtr_glLoadTransposeMatrixxOES=GLee_Lazy_glLoadTransposeMatrixxOES; -#endif -#ifndef GLEE_C_DEFINED_glMap1xOES -#define GLEE_C_DEFINED_glMap1xOES - void __stdcall GLee_Lazy_glMap1xOES(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points) {if (GLeeInit()) glMap1xOES(target, u1, u2, stride, order, points);} - GLEEPFNGLMAP1XOESPROC GLeeFuncPtr_glMap1xOES=GLee_Lazy_glMap1xOES; -#endif -#ifndef GLEE_C_DEFINED_glMap2xOES -#define GLEE_C_DEFINED_glMap2xOES - void __stdcall GLee_Lazy_glMap2xOES(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points) {if (GLeeInit()) glMap2xOES(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);} - GLEEPFNGLMAP2XOESPROC GLeeFuncPtr_glMap2xOES=GLee_Lazy_glMap2xOES; -#endif -#ifndef GLEE_C_DEFINED_glMapGrid1xOES -#define GLEE_C_DEFINED_glMapGrid1xOES - void __stdcall GLee_Lazy_glMapGrid1xOES(GLint n, GLfixed u1, GLfixed u2) {if (GLeeInit()) glMapGrid1xOES(n, u1, u2);} - GLEEPFNGLMAPGRID1XOESPROC GLeeFuncPtr_glMapGrid1xOES=GLee_Lazy_glMapGrid1xOES; -#endif -#ifndef GLEE_C_DEFINED_glMapGrid2xOES -#define GLEE_C_DEFINED_glMapGrid2xOES - void __stdcall GLee_Lazy_glMapGrid2xOES(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2) {if (GLeeInit()) glMapGrid2xOES(n, u1, u2, v1, v2);} - GLEEPFNGLMAPGRID2XOESPROC GLeeFuncPtr_glMapGrid2xOES=GLee_Lazy_glMapGrid2xOES; -#endif -#ifndef GLEE_C_DEFINED_glMaterialxOES -#define GLEE_C_DEFINED_glMaterialxOES - void __stdcall GLee_Lazy_glMaterialxOES(GLenum face, GLenum pname, GLfixed param) {if (GLeeInit()) glMaterialxOES(face, pname, param);} - GLEEPFNGLMATERIALXOESPROC GLeeFuncPtr_glMaterialxOES=GLee_Lazy_glMaterialxOES; -#endif -#ifndef GLEE_C_DEFINED_glMaterialxvOES -#define GLEE_C_DEFINED_glMaterialxvOES - void __stdcall GLee_Lazy_glMaterialxvOES(GLenum face, GLenum pname, const GLfixed * param) {if (GLeeInit()) glMaterialxvOES(face, pname, param);} - GLEEPFNGLMATERIALXVOESPROC GLeeFuncPtr_glMaterialxvOES=GLee_Lazy_glMaterialxvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultMatrixxOES -#define GLEE_C_DEFINED_glMultMatrixxOES - void __stdcall GLee_Lazy_glMultMatrixxOES(const GLfixed * m) {if (GLeeInit()) glMultMatrixxOES(m);} - GLEEPFNGLMULTMATRIXXOESPROC GLeeFuncPtr_glMultMatrixxOES=GLee_Lazy_glMultMatrixxOES; -#endif -#ifndef GLEE_C_DEFINED_glMultTransposeMatrixxOES -#define GLEE_C_DEFINED_glMultTransposeMatrixxOES - void __stdcall GLee_Lazy_glMultTransposeMatrixxOES(const GLfixed * m) {if (GLeeInit()) glMultTransposeMatrixxOES(m);} - GLEEPFNGLMULTTRANSPOSEMATRIXXOESPROC GLeeFuncPtr_glMultTransposeMatrixxOES=GLee_Lazy_glMultTransposeMatrixxOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1xOES -#define GLEE_C_DEFINED_glMultiTexCoord1xOES - void __stdcall GLee_Lazy_glMultiTexCoord1xOES(GLenum texture, GLfixed s) {if (GLeeInit()) glMultiTexCoord1xOES(texture, s);} - GLEEPFNGLMULTITEXCOORD1XOESPROC GLeeFuncPtr_glMultiTexCoord1xOES=GLee_Lazy_glMultiTexCoord1xOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2xOES -#define GLEE_C_DEFINED_glMultiTexCoord2xOES - void __stdcall GLee_Lazy_glMultiTexCoord2xOES(GLenum texture, GLfixed s, GLfixed t) {if (GLeeInit()) glMultiTexCoord2xOES(texture, s, t);} - GLEEPFNGLMULTITEXCOORD2XOESPROC GLeeFuncPtr_glMultiTexCoord2xOES=GLee_Lazy_glMultiTexCoord2xOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3xOES -#define GLEE_C_DEFINED_glMultiTexCoord3xOES - void __stdcall GLee_Lazy_glMultiTexCoord3xOES(GLenum texture, GLfixed s, GLfixed t, GLfixed r) {if (GLeeInit()) glMultiTexCoord3xOES(texture, s, t, r);} - GLEEPFNGLMULTITEXCOORD3XOESPROC GLeeFuncPtr_glMultiTexCoord3xOES=GLee_Lazy_glMultiTexCoord3xOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4xOES -#define GLEE_C_DEFINED_glMultiTexCoord4xOES - void __stdcall GLee_Lazy_glMultiTexCoord4xOES(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) {if (GLeeInit()) glMultiTexCoord4xOES(texture, s, t, r, q);} - GLEEPFNGLMULTITEXCOORD4XOESPROC GLeeFuncPtr_glMultiTexCoord4xOES=GLee_Lazy_glMultiTexCoord4xOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord1xvOES -#define GLEE_C_DEFINED_glMultiTexCoord1xvOES - void __stdcall GLee_Lazy_glMultiTexCoord1xvOES(GLenum texture, const GLfixed * coords) {if (GLeeInit()) glMultiTexCoord1xvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD1XVOESPROC GLeeFuncPtr_glMultiTexCoord1xvOES=GLee_Lazy_glMultiTexCoord1xvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord2xvOES -#define GLEE_C_DEFINED_glMultiTexCoord2xvOES - void __stdcall GLee_Lazy_glMultiTexCoord2xvOES(GLenum texture, const GLfixed * coords) {if (GLeeInit()) glMultiTexCoord2xvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD2XVOESPROC GLeeFuncPtr_glMultiTexCoord2xvOES=GLee_Lazy_glMultiTexCoord2xvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord3xvOES -#define GLEE_C_DEFINED_glMultiTexCoord3xvOES - void __stdcall GLee_Lazy_glMultiTexCoord3xvOES(GLenum texture, const GLfixed * coords) {if (GLeeInit()) glMultiTexCoord3xvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD3XVOESPROC GLeeFuncPtr_glMultiTexCoord3xvOES=GLee_Lazy_glMultiTexCoord3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoord4xvOES -#define GLEE_C_DEFINED_glMultiTexCoord4xvOES - void __stdcall GLee_Lazy_glMultiTexCoord4xvOES(GLenum texture, const GLfixed * coords) {if (GLeeInit()) glMultiTexCoord4xvOES(texture, coords);} - GLEEPFNGLMULTITEXCOORD4XVOESPROC GLeeFuncPtr_glMultiTexCoord4xvOES=GLee_Lazy_glMultiTexCoord4xvOES; -#endif -#ifndef GLEE_C_DEFINED_glNormal3xOES -#define GLEE_C_DEFINED_glNormal3xOES - void __stdcall GLee_Lazy_glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz) {if (GLeeInit()) glNormal3xOES(nx, ny, nz);} - GLEEPFNGLNORMAL3XOESPROC GLeeFuncPtr_glNormal3xOES=GLee_Lazy_glNormal3xOES; -#endif -#ifndef GLEE_C_DEFINED_glNormal3xvOES -#define GLEE_C_DEFINED_glNormal3xvOES - void __stdcall GLee_Lazy_glNormal3xvOES(const GLfixed * coords) {if (GLeeInit()) glNormal3xvOES(coords);} - GLEEPFNGLNORMAL3XVOESPROC GLeeFuncPtr_glNormal3xvOES=GLee_Lazy_glNormal3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glOrthoxOES -#define GLEE_C_DEFINED_glOrthoxOES - void __stdcall GLee_Lazy_glOrthoxOES(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) {if (GLeeInit()) glOrthoxOES(l, r, b, t, n, f);} - GLEEPFNGLORTHOXOESPROC GLeeFuncPtr_glOrthoxOES=GLee_Lazy_glOrthoxOES; -#endif -#ifndef GLEE_C_DEFINED_glPassThroughxOES -#define GLEE_C_DEFINED_glPassThroughxOES - void __stdcall GLee_Lazy_glPassThroughxOES(GLfixed token) {if (GLeeInit()) glPassThroughxOES(token);} - GLEEPFNGLPASSTHROUGHXOESPROC GLeeFuncPtr_glPassThroughxOES=GLee_Lazy_glPassThroughxOES; -#endif -#ifndef GLEE_C_DEFINED_glPixelMapx -#define GLEE_C_DEFINED_glPixelMapx - void __stdcall GLee_Lazy_glPixelMapx(GLenum map, GLint size, const GLfixed * values) {if (GLeeInit()) glPixelMapx(map, size, values);} - GLEEPFNGLPIXELMAPXPROC GLeeFuncPtr_glPixelMapx=GLee_Lazy_glPixelMapx; -#endif -#ifndef GLEE_C_DEFINED_glPixelStorex -#define GLEE_C_DEFINED_glPixelStorex - void __stdcall GLee_Lazy_glPixelStorex(GLenum pname, GLfixed param) {if (GLeeInit()) glPixelStorex(pname, param);} - GLEEPFNGLPIXELSTOREXPROC GLeeFuncPtr_glPixelStorex=GLee_Lazy_glPixelStorex; -#endif -#ifndef GLEE_C_DEFINED_glPixelTransferxOES -#define GLEE_C_DEFINED_glPixelTransferxOES - void __stdcall GLee_Lazy_glPixelTransferxOES(GLenum pname, GLfixed param) {if (GLeeInit()) glPixelTransferxOES(pname, param);} - GLEEPFNGLPIXELTRANSFERXOESPROC GLeeFuncPtr_glPixelTransferxOES=GLee_Lazy_glPixelTransferxOES; -#endif -#ifndef GLEE_C_DEFINED_glPixelZoomxOES -#define GLEE_C_DEFINED_glPixelZoomxOES - void __stdcall GLee_Lazy_glPixelZoomxOES(GLfixed xfactor, GLfixed yfactor) {if (GLeeInit()) glPixelZoomxOES(xfactor, yfactor);} - GLEEPFNGLPIXELZOOMXOESPROC GLeeFuncPtr_glPixelZoomxOES=GLee_Lazy_glPixelZoomxOES; -#endif -#ifndef GLEE_C_DEFINED_glPointParameterxvOES -#define GLEE_C_DEFINED_glPointParameterxvOES - void __stdcall GLee_Lazy_glPointParameterxvOES(GLenum pname, const GLfixed * params) {if (GLeeInit()) glPointParameterxvOES(pname, params);} - GLEEPFNGLPOINTPARAMETERXVOESPROC GLeeFuncPtr_glPointParameterxvOES=GLee_Lazy_glPointParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glPointSizexOES -#define GLEE_C_DEFINED_glPointSizexOES - void __stdcall GLee_Lazy_glPointSizexOES(GLfixed size) {if (GLeeInit()) glPointSizexOES(size);} - GLEEPFNGLPOINTSIZEXOESPROC GLeeFuncPtr_glPointSizexOES=GLee_Lazy_glPointSizexOES; -#endif -#ifndef GLEE_C_DEFINED_glPolygonOffsetxOES -#define GLEE_C_DEFINED_glPolygonOffsetxOES - void __stdcall GLee_Lazy_glPolygonOffsetxOES(GLfixed factor, GLfixed units) {if (GLeeInit()) glPolygonOffsetxOES(factor, units);} - GLEEPFNGLPOLYGONOFFSETXOESPROC GLeeFuncPtr_glPolygonOffsetxOES=GLee_Lazy_glPolygonOffsetxOES; -#endif -#ifndef GLEE_C_DEFINED_glPrioritizeTexturesxOES -#define GLEE_C_DEFINED_glPrioritizeTexturesxOES - void __stdcall GLee_Lazy_glPrioritizeTexturesxOES(GLsizei n, const GLuint * textures, const GLfixed * priorities) {if (GLeeInit()) glPrioritizeTexturesxOES(n, textures, priorities);} - GLEEPFNGLPRIORITIZETEXTURESXOESPROC GLeeFuncPtr_glPrioritizeTexturesxOES=GLee_Lazy_glPrioritizeTexturesxOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos2xOES -#define GLEE_C_DEFINED_glRasterPos2xOES - void __stdcall GLee_Lazy_glRasterPos2xOES(GLfixed x, GLfixed y) {if (GLeeInit()) glRasterPos2xOES(x, y);} - GLEEPFNGLRASTERPOS2XOESPROC GLeeFuncPtr_glRasterPos2xOES=GLee_Lazy_glRasterPos2xOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos3xOES -#define GLEE_C_DEFINED_glRasterPos3xOES - void __stdcall GLee_Lazy_glRasterPos3xOES(GLfixed x, GLfixed y, GLfixed z) {if (GLeeInit()) glRasterPos3xOES(x, y, z);} - GLEEPFNGLRASTERPOS3XOESPROC GLeeFuncPtr_glRasterPos3xOES=GLee_Lazy_glRasterPos3xOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos4xOES -#define GLEE_C_DEFINED_glRasterPos4xOES - void __stdcall GLee_Lazy_glRasterPos4xOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w) {if (GLeeInit()) glRasterPos4xOES(x, y, z, w);} - GLEEPFNGLRASTERPOS4XOESPROC GLeeFuncPtr_glRasterPos4xOES=GLee_Lazy_glRasterPos4xOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos2xvOES -#define GLEE_C_DEFINED_glRasterPos2xvOES - void __stdcall GLee_Lazy_glRasterPos2xvOES(const GLfixed * coords) {if (GLeeInit()) glRasterPos2xvOES(coords);} - GLEEPFNGLRASTERPOS2XVOESPROC GLeeFuncPtr_glRasterPos2xvOES=GLee_Lazy_glRasterPos2xvOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos3xvOES -#define GLEE_C_DEFINED_glRasterPos3xvOES - void __stdcall GLee_Lazy_glRasterPos3xvOES(const GLfixed * coords) {if (GLeeInit()) glRasterPos3xvOES(coords);} - GLEEPFNGLRASTERPOS3XVOESPROC GLeeFuncPtr_glRasterPos3xvOES=GLee_Lazy_glRasterPos3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glRasterPos4xvOES -#define GLEE_C_DEFINED_glRasterPos4xvOES - void __stdcall GLee_Lazy_glRasterPos4xvOES(const GLfixed * coords) {if (GLeeInit()) glRasterPos4xvOES(coords);} - GLEEPFNGLRASTERPOS4XVOESPROC GLeeFuncPtr_glRasterPos4xvOES=GLee_Lazy_glRasterPos4xvOES; -#endif -#ifndef GLEE_C_DEFINED_glRectxOES -#define GLEE_C_DEFINED_glRectxOES - void __stdcall GLee_Lazy_glRectxOES(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2) {if (GLeeInit()) glRectxOES(x1, y1, x2, y2);} - GLEEPFNGLRECTXOESPROC GLeeFuncPtr_glRectxOES=GLee_Lazy_glRectxOES; -#endif -#ifndef GLEE_C_DEFINED_glRectxvOES -#define GLEE_C_DEFINED_glRectxvOES - void __stdcall GLee_Lazy_glRectxvOES(const GLfixed * v1, const GLfixed * v2) {if (GLeeInit()) glRectxvOES(v1, v2);} - GLEEPFNGLRECTXVOESPROC GLeeFuncPtr_glRectxvOES=GLee_Lazy_glRectxvOES; -#endif -#ifndef GLEE_C_DEFINED_glRotatexOES -#define GLEE_C_DEFINED_glRotatexOES - void __stdcall GLee_Lazy_glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) {if (GLeeInit()) glRotatexOES(angle, x, y, z);} - GLEEPFNGLROTATEXOESPROC GLeeFuncPtr_glRotatexOES=GLee_Lazy_glRotatexOES; -#endif -#ifndef GLEE_C_DEFINED_glSampleCoverageOES -#define GLEE_C_DEFINED_glSampleCoverageOES - void __stdcall GLee_Lazy_glSampleCoverageOES(GLfixed value, GLboolean invert) {if (GLeeInit()) glSampleCoverageOES(value, invert);} - GLEEPFNGLSAMPLECOVERAGEOESPROC GLeeFuncPtr_glSampleCoverageOES=GLee_Lazy_glSampleCoverageOES; -#endif -#ifndef GLEE_C_DEFINED_glScalexOES -#define GLEE_C_DEFINED_glScalexOES - void __stdcall GLee_Lazy_glScalexOES(GLfixed x, GLfixed y, GLfixed z) {if (GLeeInit()) glScalexOES(x, y, z);} - GLEEPFNGLSCALEXOESPROC GLeeFuncPtr_glScalexOES=GLee_Lazy_glScalexOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1xOES -#define GLEE_C_DEFINED_glTexCoord1xOES - void __stdcall GLee_Lazy_glTexCoord1xOES(GLfixed s) {if (GLeeInit()) glTexCoord1xOES(s);} - GLEEPFNGLTEXCOORD1XOESPROC GLeeFuncPtr_glTexCoord1xOES=GLee_Lazy_glTexCoord1xOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2xOES -#define GLEE_C_DEFINED_glTexCoord2xOES - void __stdcall GLee_Lazy_glTexCoord2xOES(GLfixed s, GLfixed t) {if (GLeeInit()) glTexCoord2xOES(s, t);} - GLEEPFNGLTEXCOORD2XOESPROC GLeeFuncPtr_glTexCoord2xOES=GLee_Lazy_glTexCoord2xOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3xOES -#define GLEE_C_DEFINED_glTexCoord3xOES - void __stdcall GLee_Lazy_glTexCoord3xOES(GLfixed s, GLfixed t, GLfixed r) {if (GLeeInit()) glTexCoord3xOES(s, t, r);} - GLEEPFNGLTEXCOORD3XOESPROC GLeeFuncPtr_glTexCoord3xOES=GLee_Lazy_glTexCoord3xOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4xOES -#define GLEE_C_DEFINED_glTexCoord4xOES - void __stdcall GLee_Lazy_glTexCoord4xOES(GLfixed s, GLfixed t, GLfixed r, GLfixed q) {if (GLeeInit()) glTexCoord4xOES(s, t, r, q);} - GLEEPFNGLTEXCOORD4XOESPROC GLeeFuncPtr_glTexCoord4xOES=GLee_Lazy_glTexCoord4xOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord1xvOES -#define GLEE_C_DEFINED_glTexCoord1xvOES - void __stdcall GLee_Lazy_glTexCoord1xvOES(const GLfixed * coords) {if (GLeeInit()) glTexCoord1xvOES(coords);} - GLEEPFNGLTEXCOORD1XVOESPROC GLeeFuncPtr_glTexCoord1xvOES=GLee_Lazy_glTexCoord1xvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord2xvOES -#define GLEE_C_DEFINED_glTexCoord2xvOES - void __stdcall GLee_Lazy_glTexCoord2xvOES(const GLfixed * coords) {if (GLeeInit()) glTexCoord2xvOES(coords);} - GLEEPFNGLTEXCOORD2XVOESPROC GLeeFuncPtr_glTexCoord2xvOES=GLee_Lazy_glTexCoord2xvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord3xvOES -#define GLEE_C_DEFINED_glTexCoord3xvOES - void __stdcall GLee_Lazy_glTexCoord3xvOES(const GLfixed * coords) {if (GLeeInit()) glTexCoord3xvOES(coords);} - GLEEPFNGLTEXCOORD3XVOESPROC GLeeFuncPtr_glTexCoord3xvOES=GLee_Lazy_glTexCoord3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexCoord4xvOES -#define GLEE_C_DEFINED_glTexCoord4xvOES - void __stdcall GLee_Lazy_glTexCoord4xvOES(const GLfixed * coords) {if (GLeeInit()) glTexCoord4xvOES(coords);} - GLEEPFNGLTEXCOORD4XVOESPROC GLeeFuncPtr_glTexCoord4xvOES=GLee_Lazy_glTexCoord4xvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexEnvxOES -#define GLEE_C_DEFINED_glTexEnvxOES - void __stdcall GLee_Lazy_glTexEnvxOES(GLenum target, GLenum pname, GLfixed param) {if (GLeeInit()) glTexEnvxOES(target, pname, param);} - GLEEPFNGLTEXENVXOESPROC GLeeFuncPtr_glTexEnvxOES=GLee_Lazy_glTexEnvxOES; -#endif -#ifndef GLEE_C_DEFINED_glTexEnvxvOES -#define GLEE_C_DEFINED_glTexEnvxvOES - void __stdcall GLee_Lazy_glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed * params) {if (GLeeInit()) glTexEnvxvOES(target, pname, params);} - GLEEPFNGLTEXENVXVOESPROC GLeeFuncPtr_glTexEnvxvOES=GLee_Lazy_glTexEnvxvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexGenxOES -#define GLEE_C_DEFINED_glTexGenxOES - void __stdcall GLee_Lazy_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param) {if (GLeeInit()) glTexGenxOES(coord, pname, param);} - GLEEPFNGLTEXGENXOESPROC GLeeFuncPtr_glTexGenxOES=GLee_Lazy_glTexGenxOES; -#endif -#ifndef GLEE_C_DEFINED_glTexGenxvOES -#define GLEE_C_DEFINED_glTexGenxvOES - void __stdcall GLee_Lazy_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed * params) {if (GLeeInit()) glTexGenxvOES(coord, pname, params);} - GLEEPFNGLTEXGENXVOESPROC GLeeFuncPtr_glTexGenxvOES=GLee_Lazy_glTexGenxvOES; -#endif -#ifndef GLEE_C_DEFINED_glTexParameterxOES -#define GLEE_C_DEFINED_glTexParameterxOES - void __stdcall GLee_Lazy_glTexParameterxOES(GLenum target, GLenum pname, GLfixed param) {if (GLeeInit()) glTexParameterxOES(target, pname, param);} - GLEEPFNGLTEXPARAMETERXOESPROC GLeeFuncPtr_glTexParameterxOES=GLee_Lazy_glTexParameterxOES; -#endif -#ifndef GLEE_C_DEFINED_glTexParameterxvOES -#define GLEE_C_DEFINED_glTexParameterxvOES - void __stdcall GLee_Lazy_glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed * params) {if (GLeeInit()) glTexParameterxvOES(target, pname, params);} - GLEEPFNGLTEXPARAMETERXVOESPROC GLeeFuncPtr_glTexParameterxvOES=GLee_Lazy_glTexParameterxvOES; -#endif -#ifndef GLEE_C_DEFINED_glTranslatexOES -#define GLEE_C_DEFINED_glTranslatexOES - void __stdcall GLee_Lazy_glTranslatexOES(GLfixed x, GLfixed y, GLfixed z) {if (GLeeInit()) glTranslatexOES(x, y, z);} - GLEEPFNGLTRANSLATEXOESPROC GLeeFuncPtr_glTranslatexOES=GLee_Lazy_glTranslatexOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex2xOES -#define GLEE_C_DEFINED_glVertex2xOES - void __stdcall GLee_Lazy_glVertex2xOES(GLfixed x) {if (GLeeInit()) glVertex2xOES(x);} - GLEEPFNGLVERTEX2XOESPROC GLeeFuncPtr_glVertex2xOES=GLee_Lazy_glVertex2xOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex3xOES -#define GLEE_C_DEFINED_glVertex3xOES - void __stdcall GLee_Lazy_glVertex3xOES(GLfixed x, GLfixed y) {if (GLeeInit()) glVertex3xOES(x, y);} - GLEEPFNGLVERTEX3XOESPROC GLeeFuncPtr_glVertex3xOES=GLee_Lazy_glVertex3xOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex4xOES -#define GLEE_C_DEFINED_glVertex4xOES - void __stdcall GLee_Lazy_glVertex4xOES(GLfixed x, GLfixed y, GLfixed z) {if (GLeeInit()) glVertex4xOES(x, y, z);} - GLEEPFNGLVERTEX4XOESPROC GLeeFuncPtr_glVertex4xOES=GLee_Lazy_glVertex4xOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex2xvOES -#define GLEE_C_DEFINED_glVertex2xvOES - void __stdcall GLee_Lazy_glVertex2xvOES(const GLfixed * coords) {if (GLeeInit()) glVertex2xvOES(coords);} - GLEEPFNGLVERTEX2XVOESPROC GLeeFuncPtr_glVertex2xvOES=GLee_Lazy_glVertex2xvOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex3xvOES -#define GLEE_C_DEFINED_glVertex3xvOES - void __stdcall GLee_Lazy_glVertex3xvOES(const GLfixed * coords) {if (GLeeInit()) glVertex3xvOES(coords);} - GLEEPFNGLVERTEX3XVOESPROC GLeeFuncPtr_glVertex3xvOES=GLee_Lazy_glVertex3xvOES; -#endif -#ifndef GLEE_C_DEFINED_glVertex4xvOES -#define GLEE_C_DEFINED_glVertex4xvOES - void __stdcall GLee_Lazy_glVertex4xvOES(const GLfixed * coords) {if (GLeeInit()) glVertex4xvOES(coords);} - GLEEPFNGLVERTEX4XVOESPROC GLeeFuncPtr_glVertex4xvOES=GLee_Lazy_glVertex4xvOES; -#endif -#endif - -/* GL_OES_single_precision */ - -#ifdef __GLEE_GL_OES_single_precision -#ifndef GLEE_C_DEFINED_glDepthRangefOES -#define GLEE_C_DEFINED_glDepthRangefOES - void __stdcall GLee_Lazy_glDepthRangefOES(GLclampf n, GLclampf f) {if (GLeeInit()) glDepthRangefOES(n, f);} - GLEEPFNGLDEPTHRANGEFOESPROC GLeeFuncPtr_glDepthRangefOES=GLee_Lazy_glDepthRangefOES; -#endif -#ifndef GLEE_C_DEFINED_glFrustumfOES -#define GLEE_C_DEFINED_glFrustumfOES - void __stdcall GLee_Lazy_glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) {if (GLeeInit()) glFrustumfOES(l, r, b, t, n, f);} - GLEEPFNGLFRUSTUMFOESPROC GLeeFuncPtr_glFrustumfOES=GLee_Lazy_glFrustumfOES; -#endif -#ifndef GLEE_C_DEFINED_glOrthofOES -#define GLEE_C_DEFINED_glOrthofOES - void __stdcall GLee_Lazy_glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) {if (GLeeInit()) glOrthofOES(l, r, b, t, n, f);} - GLEEPFNGLORTHOFOESPROC GLeeFuncPtr_glOrthofOES=GLee_Lazy_glOrthofOES; -#endif -#ifndef GLEE_C_DEFINED_glClipPlanefOES -#define GLEE_C_DEFINED_glClipPlanefOES - void __stdcall GLee_Lazy_glClipPlanefOES(GLenum plane, const GLfloat * equation) {if (GLeeInit()) glClipPlanefOES(plane, equation);} - GLEEPFNGLCLIPPLANEFOESPROC GLeeFuncPtr_glClipPlanefOES=GLee_Lazy_glClipPlanefOES; -#endif -#ifndef GLEE_C_DEFINED_glClearDepthfOES -#define GLEE_C_DEFINED_glClearDepthfOES - void __stdcall GLee_Lazy_glClearDepthfOES(GLclampd depth) {if (GLeeInit()) glClearDepthfOES(depth);} - GLEEPFNGLCLEARDEPTHFOESPROC GLeeFuncPtr_glClearDepthfOES=GLee_Lazy_glClearDepthfOES; -#endif -#ifndef GLEE_C_DEFINED_glGetClipPlanefOES -#define GLEE_C_DEFINED_glGetClipPlanefOES - void __stdcall GLee_Lazy_glGetClipPlanefOES(GLenum plane, GLfloat * equation) {if (GLeeInit()) glGetClipPlanefOES(plane, equation);} - GLEEPFNGLGETCLIPPLANEFOESPROC GLeeFuncPtr_glGetClipPlanefOES=GLee_Lazy_glGetClipPlanefOES; -#endif -#endif - -/* GL_OES_compressed_paletted_texture */ - -#ifdef __GLEE_GL_OES_compressed_paletted_texture -#endif - -/* GL_OES_read_format */ - -#ifdef __GLEE_GL_OES_read_format -#endif - -/* GL_OES_query_matrix */ - -#ifdef __GLEE_GL_OES_query_matrix -#ifndef GLEE_C_DEFINED_glQueryMatrixxOES -#define GLEE_C_DEFINED_glQueryMatrixxOES - GLbitfield __stdcall GLee_Lazy_glQueryMatrixxOES(const GLfixed * mantissa, const GLint * exponent) {if (GLeeInit()) return glQueryMatrixxOES(mantissa, exponent); return (GLbitfield)0;} - GLEEPFNGLQUERYMATRIXXOESPROC GLeeFuncPtr_glQueryMatrixxOES=GLee_Lazy_glQueryMatrixxOES; -#endif -#endif - -/* GL_EXT_depth_bounds_test */ - -#ifdef __GLEE_GL_EXT_depth_bounds_test -#ifndef GLEE_C_DEFINED_glDepthBoundsEXT -#define GLEE_C_DEFINED_glDepthBoundsEXT - void __stdcall GLee_Lazy_glDepthBoundsEXT(GLclampd zmin, GLclampd zmax) {if (GLeeInit()) glDepthBoundsEXT(zmin, zmax);} - GLEEPFNGLDEPTHBOUNDSEXTPROC GLeeFuncPtr_glDepthBoundsEXT=GLee_Lazy_glDepthBoundsEXT; -#endif -#endif - -/* GL_EXT_texture_mirror_clamp */ - -#ifdef __GLEE_GL_EXT_texture_mirror_clamp -#endif - -/* GL_EXT_blend_equation_separate */ - -#ifdef __GLEE_GL_EXT_blend_equation_separate -#ifndef GLEE_C_DEFINED_glBlendEquationSeparateEXT -#define GLEE_C_DEFINED_glBlendEquationSeparateEXT - void __stdcall GLee_Lazy_glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha) {if (GLeeInit()) glBlendEquationSeparateEXT(modeRGB, modeAlpha);} - GLEEPFNGLBLENDEQUATIONSEPARATEEXTPROC GLeeFuncPtr_glBlendEquationSeparateEXT=GLee_Lazy_glBlendEquationSeparateEXT; -#endif -#endif - -/* GL_MESA_pack_invert */ - -#ifdef __GLEE_GL_MESA_pack_invert -#endif - -/* GL_MESA_ycbcr_texture */ - -#ifdef __GLEE_GL_MESA_ycbcr_texture -#endif - -/* GL_EXT_pixel_buffer_object */ - -#ifdef __GLEE_GL_EXT_pixel_buffer_object -#endif - -/* GL_NV_fragment_program_option */ - -#ifdef __GLEE_GL_NV_fragment_program_option -#endif - -/* GL_NV_fragment_program2 */ - -#ifdef __GLEE_GL_NV_fragment_program2 -#endif - -/* GL_NV_vertex_program2_option */ - -#ifdef __GLEE_GL_NV_vertex_program2_option -#endif - -/* GL_NV_vertex_program3 */ - -#ifdef __GLEE_GL_NV_vertex_program3 -#endif - -/* GL_EXT_framebuffer_object */ - -#ifdef __GLEE_GL_EXT_framebuffer_object -#ifndef GLEE_C_DEFINED_glIsRenderbufferEXT -#define GLEE_C_DEFINED_glIsRenderbufferEXT - GLboolean __stdcall GLee_Lazy_glIsRenderbufferEXT(GLuint renderbuffer) {if (GLeeInit()) return glIsRenderbufferEXT(renderbuffer); return (GLboolean)0;} - GLEEPFNGLISRENDERBUFFEREXTPROC GLeeFuncPtr_glIsRenderbufferEXT=GLee_Lazy_glIsRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindRenderbufferEXT -#define GLEE_C_DEFINED_glBindRenderbufferEXT - void __stdcall GLee_Lazy_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) {if (GLeeInit()) glBindRenderbufferEXT(target, renderbuffer);} - GLEEPFNGLBINDRENDERBUFFEREXTPROC GLeeFuncPtr_glBindRenderbufferEXT=GLee_Lazy_glBindRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glDeleteRenderbuffersEXT -#define GLEE_C_DEFINED_glDeleteRenderbuffersEXT - void __stdcall GLee_Lazy_glDeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers) {if (GLeeInit()) glDeleteRenderbuffersEXT(n, renderbuffers);} - GLEEPFNGLDELETERENDERBUFFERSEXTPROC GLeeFuncPtr_glDeleteRenderbuffersEXT=GLee_Lazy_glDeleteRenderbuffersEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenRenderbuffersEXT -#define GLEE_C_DEFINED_glGenRenderbuffersEXT - void __stdcall GLee_Lazy_glGenRenderbuffersEXT(GLsizei n, GLuint * renderbuffers) {if (GLeeInit()) glGenRenderbuffersEXT(n, renderbuffers);} - GLEEPFNGLGENRENDERBUFFERSEXTPROC GLeeFuncPtr_glGenRenderbuffersEXT=GLee_Lazy_glGenRenderbuffersEXT; -#endif -#ifndef GLEE_C_DEFINED_glRenderbufferStorageEXT -#define GLEE_C_DEFINED_glRenderbufferStorageEXT - void __stdcall GLee_Lazy_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glRenderbufferStorageEXT(target, internalformat, width, height);} - GLEEPFNGLRENDERBUFFERSTORAGEEXTPROC GLeeFuncPtr_glRenderbufferStorageEXT=GLee_Lazy_glRenderbufferStorageEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetRenderbufferParameterivEXT -#define GLEE_C_DEFINED_glGetRenderbufferParameterivEXT - void __stdcall GLee_Lazy_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetRenderbufferParameterivEXT(target, pname, params);} - GLEEPFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetRenderbufferParameterivEXT=GLee_Lazy_glGetRenderbufferParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glIsFramebufferEXT -#define GLEE_C_DEFINED_glIsFramebufferEXT - GLboolean __stdcall GLee_Lazy_glIsFramebufferEXT(GLuint framebuffer) {if (GLeeInit()) return glIsFramebufferEXT(framebuffer); return (GLboolean)0;} - GLEEPFNGLISFRAMEBUFFEREXTPROC GLeeFuncPtr_glIsFramebufferEXT=GLee_Lazy_glIsFramebufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindFramebufferEXT -#define GLEE_C_DEFINED_glBindFramebufferEXT - void __stdcall GLee_Lazy_glBindFramebufferEXT(GLenum target, GLuint framebuffer) {if (GLeeInit()) glBindFramebufferEXT(target, framebuffer);} - GLEEPFNGLBINDFRAMEBUFFEREXTPROC GLeeFuncPtr_glBindFramebufferEXT=GLee_Lazy_glBindFramebufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glDeleteFramebuffersEXT -#define GLEE_C_DEFINED_glDeleteFramebuffersEXT - void __stdcall GLee_Lazy_glDeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers) {if (GLeeInit()) glDeleteFramebuffersEXT(n, framebuffers);} - GLEEPFNGLDELETEFRAMEBUFFERSEXTPROC GLeeFuncPtr_glDeleteFramebuffersEXT=GLee_Lazy_glDeleteFramebuffersEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenFramebuffersEXT -#define GLEE_C_DEFINED_glGenFramebuffersEXT - void __stdcall GLee_Lazy_glGenFramebuffersEXT(GLsizei n, GLuint * framebuffers) {if (GLeeInit()) glGenFramebuffersEXT(n, framebuffers);} - GLEEPFNGLGENFRAMEBUFFERSEXTPROC GLeeFuncPtr_glGenFramebuffersEXT=GLee_Lazy_glGenFramebuffersEXT; -#endif -#ifndef GLEE_C_DEFINED_glCheckFramebufferStatusEXT -#define GLEE_C_DEFINED_glCheckFramebufferStatusEXT - GLenum __stdcall GLee_Lazy_glCheckFramebufferStatusEXT(GLenum target) {if (GLeeInit()) return glCheckFramebufferStatusEXT(target); return (GLenum)0;} - GLEEPFNGLCHECKFRAMEBUFFERSTATUSEXTPROC GLeeFuncPtr_glCheckFramebufferStatusEXT=GLee_Lazy_glCheckFramebufferStatusEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture1DEXT -#define GLEE_C_DEFINED_glFramebufferTexture1DEXT - void __stdcall GLee_Lazy_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTexture1DEXT(target, attachment, textarget, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTURE1DEXTPROC GLeeFuncPtr_glFramebufferTexture1DEXT=GLee_Lazy_glFramebufferTexture1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture2DEXT -#define GLEE_C_DEFINED_glFramebufferTexture2DEXT - void __stdcall GLee_Lazy_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glFramebufferTexture2DEXT(target, attachment, textarget, texture, level);} - GLEEPFNGLFRAMEBUFFERTEXTURE2DEXTPROC GLeeFuncPtr_glFramebufferTexture2DEXT=GLee_Lazy_glFramebufferTexture2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferTexture3DEXT -#define GLEE_C_DEFINED_glFramebufferTexture3DEXT - void __stdcall GLee_Lazy_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {if (GLeeInit()) glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset);} - GLEEPFNGLFRAMEBUFFERTEXTURE3DEXTPROC GLeeFuncPtr_glFramebufferTexture3DEXT=GLee_Lazy_glFramebufferTexture3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferRenderbufferEXT -#define GLEE_C_DEFINED_glFramebufferRenderbufferEXT - void __stdcall GLee_Lazy_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {if (GLeeInit()) glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);} - GLEEPFNGLFRAMEBUFFERRENDERBUFFEREXTPROC GLeeFuncPtr_glFramebufferRenderbufferEXT=GLee_Lazy_glFramebufferRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetFramebufferAttachmentParameterivEXT -#define GLEE_C_DEFINED_glGetFramebufferAttachmentParameterivEXT - void __stdcall GLee_Lazy_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint * params) {if (GLeeInit()) glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params);} - GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLeeFuncPtr_glGetFramebufferAttachmentParameterivEXT=GLee_Lazy_glGetFramebufferAttachmentParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenerateMipmapEXT -#define GLEE_C_DEFINED_glGenerateMipmapEXT - void __stdcall GLee_Lazy_glGenerateMipmapEXT(GLenum target) {if (GLeeInit()) glGenerateMipmapEXT(target);} - GLEEPFNGLGENERATEMIPMAPEXTPROC GLeeFuncPtr_glGenerateMipmapEXT=GLee_Lazy_glGenerateMipmapEXT; -#endif -#endif - -/* GL_GREMEDY_string_marker */ - -#ifdef __GLEE_GL_GREMEDY_string_marker -#ifndef GLEE_C_DEFINED_glStringMarkerGREMEDY -#define GLEE_C_DEFINED_glStringMarkerGREMEDY - void __stdcall GLee_Lazy_glStringMarkerGREMEDY(GLsizei len, const GLvoid * string) {if (GLeeInit()) glStringMarkerGREMEDY(len, string);} - GLEEPFNGLSTRINGMARKERGREMEDYPROC GLeeFuncPtr_glStringMarkerGREMEDY=GLee_Lazy_glStringMarkerGREMEDY; -#endif -#endif - -/* GL_EXT_packed_depth_stencil */ - -#ifdef __GLEE_GL_EXT_packed_depth_stencil -#endif - -/* GL_EXT_stencil_clear_tag */ - -#ifdef __GLEE_GL_EXT_stencil_clear_tag -#ifndef GLEE_C_DEFINED_glStencilClearTagEXT -#define GLEE_C_DEFINED_glStencilClearTagEXT - void __stdcall GLee_Lazy_glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag) {if (GLeeInit()) glStencilClearTagEXT(stencilTagBits, stencilClearTag);} - GLEEPFNGLSTENCILCLEARTAGEXTPROC GLeeFuncPtr_glStencilClearTagEXT=GLee_Lazy_glStencilClearTagEXT; -#endif -#endif - -/* GL_EXT_texture_sRGB */ - -#ifdef __GLEE_GL_EXT_texture_sRGB -#endif - -/* GL_EXT_framebuffer_blit */ - -#ifdef __GLEE_GL_EXT_framebuffer_blit -#ifndef GLEE_C_DEFINED_glBlitFramebufferEXT -#define GLEE_C_DEFINED_glBlitFramebufferEXT - void __stdcall GLee_Lazy_glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {if (GLeeInit()) glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);} - GLEEPFNGLBLITFRAMEBUFFEREXTPROC GLeeFuncPtr_glBlitFramebufferEXT=GLee_Lazy_glBlitFramebufferEXT; -#endif -#endif - -/* GL_EXT_framebuffer_multisample */ - -#ifdef __GLEE_GL_EXT_framebuffer_multisample -#ifndef GLEE_C_DEFINED_glRenderbufferStorageMultisampleEXT -#define GLEE_C_DEFINED_glRenderbufferStorageMultisampleEXT - void __stdcall GLee_Lazy_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);} - GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLeeFuncPtr_glRenderbufferStorageMultisampleEXT=GLee_Lazy_glRenderbufferStorageMultisampleEXT; -#endif -#endif - -/* GL_MESAX_texture_stack */ - -#ifdef __GLEE_GL_MESAX_texture_stack -#endif - -/* GL_EXT_timer_query */ - -#ifdef __GLEE_GL_EXT_timer_query -#ifndef GLEE_C_DEFINED_glGetQueryObjecti64vEXT -#define GLEE_C_DEFINED_glGetQueryObjecti64vEXT - void __stdcall GLee_Lazy_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT * params) {if (GLeeInit()) glGetQueryObjecti64vEXT(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTI64VEXTPROC GLeeFuncPtr_glGetQueryObjecti64vEXT=GLee_Lazy_glGetQueryObjecti64vEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetQueryObjectui64vEXT -#define GLEE_C_DEFINED_glGetQueryObjectui64vEXT - void __stdcall GLee_Lazy_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT * params) {if (GLeeInit()) glGetQueryObjectui64vEXT(id, pname, params);} - GLEEPFNGLGETQUERYOBJECTUI64VEXTPROC GLeeFuncPtr_glGetQueryObjectui64vEXT=GLee_Lazy_glGetQueryObjectui64vEXT; -#endif -#endif - -/* GL_EXT_gpu_program_parameters */ - -#ifdef __GLEE_GL_EXT_gpu_program_parameters -#ifndef GLEE_C_DEFINED_glProgramEnvParameters4fvEXT -#define GLEE_C_DEFINED_glProgramEnvParameters4fvEXT - void __stdcall GLee_Lazy_glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat * params) {if (GLeeInit()) glProgramEnvParameters4fvEXT(target, index, count, params);} - GLEEPFNGLPROGRAMENVPARAMETERS4FVEXTPROC GLeeFuncPtr_glProgramEnvParameters4fvEXT=GLee_Lazy_glProgramEnvParameters4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramLocalParameters4fvEXT -#define GLEE_C_DEFINED_glProgramLocalParameters4fvEXT - void __stdcall GLee_Lazy_glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat * params) {if (GLeeInit()) glProgramLocalParameters4fvEXT(target, index, count, params);} - GLEEPFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC GLeeFuncPtr_glProgramLocalParameters4fvEXT=GLee_Lazy_glProgramLocalParameters4fvEXT; -#endif -#endif - -/* GL_APPLE_flush_buffer_range */ - -#ifdef __GLEE_GL_APPLE_flush_buffer_range -#ifndef GLEE_C_DEFINED_glBufferParameteriAPPLE -#define GLEE_C_DEFINED_glBufferParameteriAPPLE - void __stdcall GLee_Lazy_glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glBufferParameteriAPPLE(target, pname, param);} - GLEEPFNGLBUFFERPARAMETERIAPPLEPROC GLeeFuncPtr_glBufferParameteriAPPLE=GLee_Lazy_glBufferParameteriAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glFlushMappedBufferRangeAPPLE -#define GLEE_C_DEFINED_glFlushMappedBufferRangeAPPLE - void __stdcall GLee_Lazy_glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glFlushMappedBufferRangeAPPLE(target, offset, size);} - GLEEPFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC GLeeFuncPtr_glFlushMappedBufferRangeAPPLE=GLee_Lazy_glFlushMappedBufferRangeAPPLE; -#endif -#endif - -/* GL_EXT_gpu_shader4 */ - -#ifdef __GLEE_GL_EXT_gpu_shader4 -#ifndef GLEE_C_DEFINED_glGetUniformuivEXT -#define GLEE_C_DEFINED_glGetUniformuivEXT - void __stdcall GLee_Lazy_glGetUniformuivEXT(GLuint program, GLint location, GLuint * params) {if (GLeeInit()) glGetUniformuivEXT(program, location, params);} - GLEEPFNGLGETUNIFORMUIVEXTPROC GLeeFuncPtr_glGetUniformuivEXT=GLee_Lazy_glGetUniformuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindFragDataLocationEXT -#define GLEE_C_DEFINED_glBindFragDataLocationEXT - void __stdcall GLee_Lazy_glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar * name) {if (GLeeInit()) glBindFragDataLocationEXT(program, color, name);} - GLEEPFNGLBINDFRAGDATALOCATIONEXTPROC GLeeFuncPtr_glBindFragDataLocationEXT=GLee_Lazy_glBindFragDataLocationEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetFragDataLocationEXT -#define GLEE_C_DEFINED_glGetFragDataLocationEXT - GLint __stdcall GLee_Lazy_glGetFragDataLocationEXT(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetFragDataLocationEXT(program, name); return (GLint)0;} - GLEEPFNGLGETFRAGDATALOCATIONEXTPROC GLeeFuncPtr_glGetFragDataLocationEXT=GLee_Lazy_glGetFragDataLocationEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform1uiEXT -#define GLEE_C_DEFINED_glUniform1uiEXT - void __stdcall GLee_Lazy_glUniform1uiEXT(GLint location, GLuint v0) {if (GLeeInit()) glUniform1uiEXT(location, v0);} - GLEEPFNGLUNIFORM1UIEXTPROC GLeeFuncPtr_glUniform1uiEXT=GLee_Lazy_glUniform1uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform2uiEXT -#define GLEE_C_DEFINED_glUniform2uiEXT - void __stdcall GLee_Lazy_glUniform2uiEXT(GLint location, GLuint v0, GLuint v1) {if (GLeeInit()) glUniform2uiEXT(location, v0, v1);} - GLEEPFNGLUNIFORM2UIEXTPROC GLeeFuncPtr_glUniform2uiEXT=GLee_Lazy_glUniform2uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform3uiEXT -#define GLEE_C_DEFINED_glUniform3uiEXT - void __stdcall GLee_Lazy_glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2) {if (GLeeInit()) glUniform3uiEXT(location, v0, v1, v2);} - GLEEPFNGLUNIFORM3UIEXTPROC GLeeFuncPtr_glUniform3uiEXT=GLee_Lazy_glUniform3uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform4uiEXT -#define GLEE_C_DEFINED_glUniform4uiEXT - void __stdcall GLee_Lazy_glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {if (GLeeInit()) glUniform4uiEXT(location, v0, v1, v2, v3);} - GLEEPFNGLUNIFORM4UIEXTPROC GLeeFuncPtr_glUniform4uiEXT=GLee_Lazy_glUniform4uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform1uivEXT -#define GLEE_C_DEFINED_glUniform1uivEXT - void __stdcall GLee_Lazy_glUniform1uivEXT(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform1uivEXT(location, count, value);} - GLEEPFNGLUNIFORM1UIVEXTPROC GLeeFuncPtr_glUniform1uivEXT=GLee_Lazy_glUniform1uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform2uivEXT -#define GLEE_C_DEFINED_glUniform2uivEXT - void __stdcall GLee_Lazy_glUniform2uivEXT(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform2uivEXT(location, count, value);} - GLEEPFNGLUNIFORM2UIVEXTPROC GLeeFuncPtr_glUniform2uivEXT=GLee_Lazy_glUniform2uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform3uivEXT -#define GLEE_C_DEFINED_glUniform3uivEXT - void __stdcall GLee_Lazy_glUniform3uivEXT(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform3uivEXT(location, count, value);} - GLEEPFNGLUNIFORM3UIVEXTPROC GLeeFuncPtr_glUniform3uivEXT=GLee_Lazy_glUniform3uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glUniform4uivEXT -#define GLEE_C_DEFINED_glUniform4uivEXT - void __stdcall GLee_Lazy_glUniform4uivEXT(GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glUniform4uivEXT(location, count, value);} - GLEEPFNGLUNIFORM4UIVEXTPROC GLeeFuncPtr_glUniform4uivEXT=GLee_Lazy_glUniform4uivEXT; -#endif -#endif - -/* GL_EXT_draw_instanced */ - -#ifdef __GLEE_GL_EXT_draw_instanced -#ifndef GLEE_C_DEFINED_glDrawArraysInstancedEXT -#define GLEE_C_DEFINED_glDrawArraysInstancedEXT - void __stdcall GLee_Lazy_glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) {if (GLeeInit()) glDrawArraysInstancedEXT(mode, start, count, primcount);} - GLEEPFNGLDRAWARRAYSINSTANCEDEXTPROC GLeeFuncPtr_glDrawArraysInstancedEXT=GLee_Lazy_glDrawArraysInstancedEXT; -#endif -#ifndef GLEE_C_DEFINED_glDrawElementsInstancedEXT -#define GLEE_C_DEFINED_glDrawElementsInstancedEXT - void __stdcall GLee_Lazy_glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount) {if (GLeeInit()) glDrawElementsInstancedEXT(mode, count, type, indices, primcount);} - GLEEPFNGLDRAWELEMENTSINSTANCEDEXTPROC GLeeFuncPtr_glDrawElementsInstancedEXT=GLee_Lazy_glDrawElementsInstancedEXT; -#endif -#endif - -/* GL_EXT_packed_float */ - -#ifdef __GLEE_GL_EXT_packed_float -#endif - -/* GL_EXT_texture_array */ - -#ifdef __GLEE_GL_EXT_texture_array -#endif - -/* GL_EXT_texture_buffer_object */ - -#ifdef __GLEE_GL_EXT_texture_buffer_object -#ifndef GLEE_C_DEFINED_glTexBufferEXT -#define GLEE_C_DEFINED_glTexBufferEXT - void __stdcall GLee_Lazy_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) {if (GLeeInit()) glTexBufferEXT(target, internalformat, buffer);} - GLEEPFNGLTEXBUFFEREXTPROC GLeeFuncPtr_glTexBufferEXT=GLee_Lazy_glTexBufferEXT; -#endif -#endif - -/* GL_EXT_texture_compression_latc */ - -#ifdef __GLEE_GL_EXT_texture_compression_latc -#endif - -/* GL_EXT_texture_compression_rgtc */ - -#ifdef __GLEE_GL_EXT_texture_compression_rgtc -#endif - -/* GL_EXT_texture_shared_exponent */ - -#ifdef __GLEE_GL_EXT_texture_shared_exponent -#endif - -/* GL_NV_depth_buffer_float */ - -#ifdef __GLEE_GL_NV_depth_buffer_float -#ifndef GLEE_C_DEFINED_glDepthRangedNV -#define GLEE_C_DEFINED_glDepthRangedNV - void __stdcall GLee_Lazy_glDepthRangedNV(GLdouble zNear, GLdouble zFar) {if (GLeeInit()) glDepthRangedNV(zNear, zFar);} - GLEEPFNGLDEPTHRANGEDNVPROC GLeeFuncPtr_glDepthRangedNV=GLee_Lazy_glDepthRangedNV; -#endif -#ifndef GLEE_C_DEFINED_glClearDepthdNV -#define GLEE_C_DEFINED_glClearDepthdNV - void __stdcall GLee_Lazy_glClearDepthdNV(GLdouble depth) {if (GLeeInit()) glClearDepthdNV(depth);} - GLEEPFNGLCLEARDEPTHDNVPROC GLeeFuncPtr_glClearDepthdNV=GLee_Lazy_glClearDepthdNV; -#endif -#ifndef GLEE_C_DEFINED_glDepthBoundsdNV -#define GLEE_C_DEFINED_glDepthBoundsdNV - void __stdcall GLee_Lazy_glDepthBoundsdNV(GLdouble zmin, GLdouble zmax) {if (GLeeInit()) glDepthBoundsdNV(zmin, zmax);} - GLEEPFNGLDEPTHBOUNDSDNVPROC GLeeFuncPtr_glDepthBoundsdNV=GLee_Lazy_glDepthBoundsdNV; -#endif -#endif - -/* GL_NV_framebuffer_multisample_coverage */ - -#ifdef __GLEE_GL_NV_framebuffer_multisample_coverage -#ifndef GLEE_C_DEFINED_glRenderbufferStorageMultisampleCoverageNV -#define GLEE_C_DEFINED_glRenderbufferStorageMultisampleCoverageNV - void __stdcall GLee_Lazy_glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height);} - GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glRenderbufferStorageMultisampleCoverageNV=GLee_Lazy_glRenderbufferStorageMultisampleCoverageNV; -#endif -#endif - -/* GL_EXT_framebuffer_sRGB */ - -#ifdef __GLEE_GL_EXT_framebuffer_sRGB -#endif - -/* GL_NV_geometry_shader4 */ - -#ifdef __GLEE_GL_NV_geometry_shader4 -#endif - -/* GL_NV_parameter_buffer_object */ - -#ifdef __GLEE_GL_NV_parameter_buffer_object -#ifndef GLEE_C_DEFINED_glProgramBufferParametersfvNV -#define GLEE_C_DEFINED_glProgramBufferParametersfvNV - void __stdcall GLee_Lazy_glProgramBufferParametersfvNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat * params) {if (GLeeInit()) glProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, params);} - GLEEPFNGLPROGRAMBUFFERPARAMETERSFVNVPROC GLeeFuncPtr_glProgramBufferParametersfvNV=GLee_Lazy_glProgramBufferParametersfvNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramBufferParametersIivNV -#define GLEE_C_DEFINED_glProgramBufferParametersIivNV - void __stdcall GLee_Lazy_glProgramBufferParametersIivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint * params) {if (GLeeInit()) glProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, params);} - GLEEPFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC GLeeFuncPtr_glProgramBufferParametersIivNV=GLee_Lazy_glProgramBufferParametersIivNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramBufferParametersIuivNV -#define GLEE_C_DEFINED_glProgramBufferParametersIuivNV - void __stdcall GLee_Lazy_glProgramBufferParametersIuivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint * params) {if (GLeeInit()) glProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, params);} - GLEEPFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC GLeeFuncPtr_glProgramBufferParametersIuivNV=GLee_Lazy_glProgramBufferParametersIuivNV; -#endif -#endif - -/* GL_EXT_draw_buffers2 */ - -#ifdef __GLEE_GL_EXT_draw_buffers2 -#ifndef GLEE_C_DEFINED_glColorMaskIndexedEXT -#define GLEE_C_DEFINED_glColorMaskIndexedEXT - void __stdcall GLee_Lazy_glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) {if (GLeeInit()) glColorMaskIndexedEXT(index, r, g, b, a);} - GLEEPFNGLCOLORMASKINDEXEDEXTPROC GLeeFuncPtr_glColorMaskIndexedEXT=GLee_Lazy_glColorMaskIndexedEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetBooleanIndexedvEXT -#define GLEE_C_DEFINED_glGetBooleanIndexedvEXT - void __stdcall GLee_Lazy_glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean * data) {if (GLeeInit()) glGetBooleanIndexedvEXT(target, index, data);} - GLEEPFNGLGETBOOLEANINDEXEDVEXTPROC GLeeFuncPtr_glGetBooleanIndexedvEXT=GLee_Lazy_glGetBooleanIndexedvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetIntegerIndexedvEXT -#define GLEE_C_DEFINED_glGetIntegerIndexedvEXT - void __stdcall GLee_Lazy_glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint * data) {if (GLeeInit()) glGetIntegerIndexedvEXT(target, index, data);} - GLEEPFNGLGETINTEGERINDEXEDVEXTPROC GLeeFuncPtr_glGetIntegerIndexedvEXT=GLee_Lazy_glGetIntegerIndexedvEXT; -#endif -#ifndef GLEE_C_DEFINED_glEnableIndexedEXT -#define GLEE_C_DEFINED_glEnableIndexedEXT - void __stdcall GLee_Lazy_glEnableIndexedEXT(GLenum target, GLuint index) {if (GLeeInit()) glEnableIndexedEXT(target, index);} - GLEEPFNGLENABLEINDEXEDEXTPROC GLeeFuncPtr_glEnableIndexedEXT=GLee_Lazy_glEnableIndexedEXT; -#endif -#ifndef GLEE_C_DEFINED_glDisableIndexedEXT -#define GLEE_C_DEFINED_glDisableIndexedEXT - void __stdcall GLee_Lazy_glDisableIndexedEXT(GLenum target, GLuint index) {if (GLeeInit()) glDisableIndexedEXT(target, index);} - GLEEPFNGLDISABLEINDEXEDEXTPROC GLeeFuncPtr_glDisableIndexedEXT=GLee_Lazy_glDisableIndexedEXT; -#endif -#ifndef GLEE_C_DEFINED_glIsEnabledIndexedEXT -#define GLEE_C_DEFINED_glIsEnabledIndexedEXT - GLboolean __stdcall GLee_Lazy_glIsEnabledIndexedEXT(GLenum target, GLuint index) {if (GLeeInit()) return glIsEnabledIndexedEXT(target, index); return (GLboolean)0;} - GLEEPFNGLISENABLEDINDEXEDEXTPROC GLeeFuncPtr_glIsEnabledIndexedEXT=GLee_Lazy_glIsEnabledIndexedEXT; -#endif -#endif - -/* GL_NV_transform_feedback */ - -#ifdef __GLEE_GL_NV_transform_feedback -#ifndef GLEE_C_DEFINED_glBeginTransformFeedbackNV -#define GLEE_C_DEFINED_glBeginTransformFeedbackNV - void __stdcall GLee_Lazy_glBeginTransformFeedbackNV(GLenum primitiveMode) {if (GLeeInit()) glBeginTransformFeedbackNV(primitiveMode);} - GLEEPFNGLBEGINTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glBeginTransformFeedbackNV=GLee_Lazy_glBeginTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glEndTransformFeedbackNV -#define GLEE_C_DEFINED_glEndTransformFeedbackNV - void __stdcall GLee_Lazy_glEndTransformFeedbackNV(void) {if (GLeeInit()) glEndTransformFeedbackNV();} - GLEEPFNGLENDTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glEndTransformFeedbackNV=GLee_Lazy_glEndTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glTransformFeedbackAttribsNV -#define GLEE_C_DEFINED_glTransformFeedbackAttribsNV - void __stdcall GLee_Lazy_glTransformFeedbackAttribsNV(GLuint count, const GLint * attribs, GLenum bufferMode) {if (GLeeInit()) glTransformFeedbackAttribsNV(count, attribs, bufferMode);} - GLEEPFNGLTRANSFORMFEEDBACKATTRIBSNVPROC GLeeFuncPtr_glTransformFeedbackAttribsNV=GLee_Lazy_glTransformFeedbackAttribsNV; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferRangeNV -#define GLEE_C_DEFINED_glBindBufferRangeNV - void __stdcall GLee_Lazy_glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glBindBufferRangeNV(target, index, buffer, offset, size);} - GLEEPFNGLBINDBUFFERRANGENVPROC GLeeFuncPtr_glBindBufferRangeNV=GLee_Lazy_glBindBufferRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferOffsetNV -#define GLEE_C_DEFINED_glBindBufferOffsetNV - void __stdcall GLee_Lazy_glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset) {if (GLeeInit()) glBindBufferOffsetNV(target, index, buffer, offset);} - GLEEPFNGLBINDBUFFEROFFSETNVPROC GLeeFuncPtr_glBindBufferOffsetNV=GLee_Lazy_glBindBufferOffsetNV; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferBaseNV -#define GLEE_C_DEFINED_glBindBufferBaseNV - void __stdcall GLee_Lazy_glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer) {if (GLeeInit()) glBindBufferBaseNV(target, index, buffer);} - GLEEPFNGLBINDBUFFERBASENVPROC GLeeFuncPtr_glBindBufferBaseNV=GLee_Lazy_glBindBufferBaseNV; -#endif -#ifndef GLEE_C_DEFINED_glTransformFeedbackVaryingsNV -#define GLEE_C_DEFINED_glTransformFeedbackVaryingsNV - void __stdcall GLee_Lazy_glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode) {if (GLeeInit()) glTransformFeedbackVaryingsNV(program, count, locations, bufferMode);} - GLEEPFNGLTRANSFORMFEEDBACKVARYINGSNVPROC GLeeFuncPtr_glTransformFeedbackVaryingsNV=GLee_Lazy_glTransformFeedbackVaryingsNV; -#endif -#ifndef GLEE_C_DEFINED_glActiveVaryingNV -#define GLEE_C_DEFINED_glActiveVaryingNV - void __stdcall GLee_Lazy_glActiveVaryingNV(GLuint program, const GLchar * name) {if (GLeeInit()) glActiveVaryingNV(program, name);} - GLEEPFNGLACTIVEVARYINGNVPROC GLeeFuncPtr_glActiveVaryingNV=GLee_Lazy_glActiveVaryingNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVaryingLocationNV -#define GLEE_C_DEFINED_glGetVaryingLocationNV - GLint __stdcall GLee_Lazy_glGetVaryingLocationNV(GLuint program, const GLchar * name) {if (GLeeInit()) return glGetVaryingLocationNV(program, name); return (GLint)0;} - GLEEPFNGLGETVARYINGLOCATIONNVPROC GLeeFuncPtr_glGetVaryingLocationNV=GLee_Lazy_glGetVaryingLocationNV; -#endif -#ifndef GLEE_C_DEFINED_glGetActiveVaryingNV -#define GLEE_C_DEFINED_glGetActiveVaryingNV - void __stdcall GLee_Lazy_glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) {if (GLeeInit()) glGetActiveVaryingNV(program, index, bufSize, length, size, type, name);} - GLEEPFNGLGETACTIVEVARYINGNVPROC GLeeFuncPtr_glGetActiveVaryingNV=GLee_Lazy_glGetActiveVaryingNV; -#endif -#ifndef GLEE_C_DEFINED_glGetTransformFeedbackVaryingNV -#define GLEE_C_DEFINED_glGetTransformFeedbackVaryingNV - void __stdcall GLee_Lazy_glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint * location) {if (GLeeInit()) glGetTransformFeedbackVaryingNV(program, index, location);} - GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC GLeeFuncPtr_glGetTransformFeedbackVaryingNV=GLee_Lazy_glGetTransformFeedbackVaryingNV; -#endif -#ifndef GLEE_C_DEFINED_glTransformFeedbackStreamAttribsNV -#define GLEE_C_DEFINED_glTransformFeedbackStreamAttribsNV - void __stdcall GLee_Lazy_glTransformFeedbackStreamAttribsNV(GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode) {if (GLeeInit()) glTransformFeedbackStreamAttribsNV(count, attribs, nbuffers, bufstreams, bufferMode);} - GLEEPFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC GLeeFuncPtr_glTransformFeedbackStreamAttribsNV=GLee_Lazy_glTransformFeedbackStreamAttribsNV; -#endif -#endif - -/* GL_EXT_bindable_uniform */ - -#ifdef __GLEE_GL_EXT_bindable_uniform -#ifndef GLEE_C_DEFINED_glUniformBufferEXT -#define GLEE_C_DEFINED_glUniformBufferEXT - void __stdcall GLee_Lazy_glUniformBufferEXT(GLuint program, GLint location, GLuint buffer) {if (GLeeInit()) glUniformBufferEXT(program, location, buffer);} - GLEEPFNGLUNIFORMBUFFEREXTPROC GLeeFuncPtr_glUniformBufferEXT=GLee_Lazy_glUniformBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformBufferSizeEXT -#define GLEE_C_DEFINED_glGetUniformBufferSizeEXT - GLint __stdcall GLee_Lazy_glGetUniformBufferSizeEXT(GLuint program, GLint location) {if (GLeeInit()) return glGetUniformBufferSizeEXT(program, location); return (GLint)0;} - GLEEPFNGLGETUNIFORMBUFFERSIZEEXTPROC GLeeFuncPtr_glGetUniformBufferSizeEXT=GLee_Lazy_glGetUniformBufferSizeEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformOffsetEXT -#define GLEE_C_DEFINED_glGetUniformOffsetEXT - GLintptr __stdcall GLee_Lazy_glGetUniformOffsetEXT(GLuint program, GLint location) {if (GLeeInit()) return glGetUniformOffsetEXT(program, location); return (GLintptr)0;} - GLEEPFNGLGETUNIFORMOFFSETEXTPROC GLeeFuncPtr_glGetUniformOffsetEXT=GLee_Lazy_glGetUniformOffsetEXT; -#endif -#endif - -/* GL_EXT_texture_integer */ - -#ifdef __GLEE_GL_EXT_texture_integer -#ifndef GLEE_C_DEFINED_glTexParameterIivEXT -#define GLEE_C_DEFINED_glTexParameterIivEXT - void __stdcall GLee_Lazy_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glTexParameterIivEXT(target, pname, params);} - GLEEPFNGLTEXPARAMETERIIVEXTPROC GLeeFuncPtr_glTexParameterIivEXT=GLee_Lazy_glTexParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTexParameterIuivEXT -#define GLEE_C_DEFINED_glTexParameterIuivEXT - void __stdcall GLee_Lazy_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint * params) {if (GLeeInit()) glTexParameterIuivEXT(target, pname, params);} - GLEEPFNGLTEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glTexParameterIuivEXT=GLee_Lazy_glTexParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterIivEXT -#define GLEE_C_DEFINED_glGetTexParameterIivEXT - void __stdcall GLee_Lazy_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetTexParameterIivEXT(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERIIVEXTPROC GLeeFuncPtr_glGetTexParameterIivEXT=GLee_Lazy_glGetTexParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterIuivEXT -#define GLEE_C_DEFINED_glGetTexParameterIuivEXT - void __stdcall GLee_Lazy_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint * params) {if (GLeeInit()) glGetTexParameterIuivEXT(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetTexParameterIuivEXT=GLee_Lazy_glGetTexParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glClearColorIiEXT -#define GLEE_C_DEFINED_glClearColorIiEXT - void __stdcall GLee_Lazy_glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha) {if (GLeeInit()) glClearColorIiEXT(red, green, blue, alpha);} - GLEEPFNGLCLEARCOLORIIEXTPROC GLeeFuncPtr_glClearColorIiEXT=GLee_Lazy_glClearColorIiEXT; -#endif -#ifndef GLEE_C_DEFINED_glClearColorIuiEXT -#define GLEE_C_DEFINED_glClearColorIuiEXT - void __stdcall GLee_Lazy_glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha) {if (GLeeInit()) glClearColorIuiEXT(red, green, blue, alpha);} - GLEEPFNGLCLEARCOLORIUIEXTPROC GLeeFuncPtr_glClearColorIuiEXT=GLee_Lazy_glClearColorIuiEXT; -#endif -#endif - -/* GL_GREMEDY_frame_terminator */ - -#ifdef __GLEE_GL_GREMEDY_frame_terminator -#ifndef GLEE_C_DEFINED_glFrameTerminatorGREMEDY -#define GLEE_C_DEFINED_glFrameTerminatorGREMEDY - void __stdcall GLee_Lazy_glFrameTerminatorGREMEDY(void) {if (GLeeInit()) glFrameTerminatorGREMEDY();} - GLEEPFNGLFRAMETERMINATORGREMEDYPROC GLeeFuncPtr_glFrameTerminatorGREMEDY=GLee_Lazy_glFrameTerminatorGREMEDY; -#endif -#endif - -/* GL_NV_conditional_render */ - -#ifdef __GLEE_GL_NV_conditional_render -#ifndef GLEE_C_DEFINED_glBeginConditionalRenderNV -#define GLEE_C_DEFINED_glBeginConditionalRenderNV - void __stdcall GLee_Lazy_glBeginConditionalRenderNV(GLuint id, GLenum mode) {if (GLeeInit()) glBeginConditionalRenderNV(id, mode);} - GLEEPFNGLBEGINCONDITIONALRENDERNVPROC GLeeFuncPtr_glBeginConditionalRenderNV=GLee_Lazy_glBeginConditionalRenderNV; -#endif -#ifndef GLEE_C_DEFINED_glEndConditionalRenderNV -#define GLEE_C_DEFINED_glEndConditionalRenderNV - void __stdcall GLee_Lazy_glEndConditionalRenderNV(void) {if (GLeeInit()) glEndConditionalRenderNV();} - GLEEPFNGLENDCONDITIONALRENDERNVPROC GLeeFuncPtr_glEndConditionalRenderNV=GLee_Lazy_glEndConditionalRenderNV; -#endif -#endif - -/* GL_NV_present_video */ - -#ifdef __GLEE_GL_NV_present_video -#ifndef GLEE_C_DEFINED_glPresentFrameKeyedNV -#define GLEE_C_DEFINED_glPresentFrameKeyedNV - void __stdcall GLee_Lazy_glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1) {if (GLeeInit()) glPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1);} - GLEEPFNGLPRESENTFRAMEKEYEDNVPROC GLeeFuncPtr_glPresentFrameKeyedNV=GLee_Lazy_glPresentFrameKeyedNV; -#endif -#ifndef GLEE_C_DEFINED_glPresentFrameDualFillNV -#define GLEE_C_DEFINED_glPresentFrameDualFillNV - void __stdcall GLee_Lazy_glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3) {if (GLeeInit()) glPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);} - GLEEPFNGLPRESENTFRAMEDUALFILLNVPROC GLeeFuncPtr_glPresentFrameDualFillNV=GLee_Lazy_glPresentFrameDualFillNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoivNV -#define GLEE_C_DEFINED_glGetVideoivNV - void __stdcall GLee_Lazy_glGetVideoivNV(GLuint video_slot, GLenum pname, GLint * params) {if (GLeeInit()) glGetVideoivNV(video_slot, pname, params);} - GLEEPFNGLGETVIDEOIVNVPROC GLeeFuncPtr_glGetVideoivNV=GLee_Lazy_glGetVideoivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideouivNV -#define GLEE_C_DEFINED_glGetVideouivNV - void __stdcall GLee_Lazy_glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint * params) {if (GLeeInit()) glGetVideouivNV(video_slot, pname, params);} - GLEEPFNGLGETVIDEOUIVNVPROC GLeeFuncPtr_glGetVideouivNV=GLee_Lazy_glGetVideouivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoi64vNV -#define GLEE_C_DEFINED_glGetVideoi64vNV - void __stdcall GLee_Lazy_glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT * params) {if (GLeeInit()) glGetVideoi64vNV(video_slot, pname, params);} - GLEEPFNGLGETVIDEOI64VNVPROC GLeeFuncPtr_glGetVideoi64vNV=GLee_Lazy_glGetVideoi64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoui64vNV -#define GLEE_C_DEFINED_glGetVideoui64vNV - void __stdcall GLee_Lazy_glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT * params) {if (GLeeInit()) glGetVideoui64vNV(video_slot, pname, params);} - GLEEPFNGLGETVIDEOUI64VNVPROC GLeeFuncPtr_glGetVideoui64vNV=GLee_Lazy_glGetVideoui64vNV; -#endif -#endif - -/* GL_EXT_transform_feedback */ - -#ifdef __GLEE_GL_EXT_transform_feedback -#ifndef GLEE_C_DEFINED_glBeginTransformFeedbackEXT -#define GLEE_C_DEFINED_glBeginTransformFeedbackEXT - void __stdcall GLee_Lazy_glBeginTransformFeedbackEXT(GLenum primitiveMode) {if (GLeeInit()) glBeginTransformFeedbackEXT(primitiveMode);} - GLEEPFNGLBEGINTRANSFORMFEEDBACKEXTPROC GLeeFuncPtr_glBeginTransformFeedbackEXT=GLee_Lazy_glBeginTransformFeedbackEXT; -#endif -#ifndef GLEE_C_DEFINED_glEndTransformFeedbackEXT -#define GLEE_C_DEFINED_glEndTransformFeedbackEXT - void __stdcall GLee_Lazy_glEndTransformFeedbackEXT(void) {if (GLeeInit()) glEndTransformFeedbackEXT();} - GLEEPFNGLENDTRANSFORMFEEDBACKEXTPROC GLeeFuncPtr_glEndTransformFeedbackEXT=GLee_Lazy_glEndTransformFeedbackEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferRangeEXT -#define GLEE_C_DEFINED_glBindBufferRangeEXT - void __stdcall GLee_Lazy_glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) {if (GLeeInit()) glBindBufferRangeEXT(target, index, buffer, offset, size);} - GLEEPFNGLBINDBUFFERRANGEEXTPROC GLeeFuncPtr_glBindBufferRangeEXT=GLee_Lazy_glBindBufferRangeEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferOffsetEXT -#define GLEE_C_DEFINED_glBindBufferOffsetEXT - void __stdcall GLee_Lazy_glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset) {if (GLeeInit()) glBindBufferOffsetEXT(target, index, buffer, offset);} - GLEEPFNGLBINDBUFFEROFFSETEXTPROC GLeeFuncPtr_glBindBufferOffsetEXT=GLee_Lazy_glBindBufferOffsetEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindBufferBaseEXT -#define GLEE_C_DEFINED_glBindBufferBaseEXT - void __stdcall GLee_Lazy_glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer) {if (GLeeInit()) glBindBufferBaseEXT(target, index, buffer);} - GLEEPFNGLBINDBUFFERBASEEXTPROC GLeeFuncPtr_glBindBufferBaseEXT=GLee_Lazy_glBindBufferBaseEXT; -#endif -#ifndef GLEE_C_DEFINED_glTransformFeedbackVaryingsEXT -#define GLEE_C_DEFINED_glTransformFeedbackVaryingsEXT - void __stdcall GLee_Lazy_glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar* * varyings, GLenum bufferMode) {if (GLeeInit()) glTransformFeedbackVaryingsEXT(program, count, varyings, bufferMode);} - GLEEPFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC GLeeFuncPtr_glTransformFeedbackVaryingsEXT=GLee_Lazy_glTransformFeedbackVaryingsEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTransformFeedbackVaryingEXT -#define GLEE_C_DEFINED_glGetTransformFeedbackVaryingEXT - void __stdcall GLee_Lazy_glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name) {if (GLeeInit()) glGetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name);} - GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC GLeeFuncPtr_glGetTransformFeedbackVaryingEXT=GLee_Lazy_glGetTransformFeedbackVaryingEXT; -#endif -#endif - -/* GL_EXT_direct_state_access */ - -#ifdef __GLEE_GL_EXT_direct_state_access -#ifndef GLEE_C_DEFINED_glClientAttribDefaultEXT -#define GLEE_C_DEFINED_glClientAttribDefaultEXT - void __stdcall GLee_Lazy_glClientAttribDefaultEXT(GLbitfield mask) {if (GLeeInit()) glClientAttribDefaultEXT(mask);} - GLEEPFNGLCLIENTATTRIBDEFAULTEXTPROC GLeeFuncPtr_glClientAttribDefaultEXT=GLee_Lazy_glClientAttribDefaultEXT; -#endif -#ifndef GLEE_C_DEFINED_glPushClientAttribDefaultEXT -#define GLEE_C_DEFINED_glPushClientAttribDefaultEXT - void __stdcall GLee_Lazy_glPushClientAttribDefaultEXT(GLbitfield mask) {if (GLeeInit()) glPushClientAttribDefaultEXT(mask);} - GLEEPFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC GLeeFuncPtr_glPushClientAttribDefaultEXT=GLee_Lazy_glPushClientAttribDefaultEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixLoadfEXT -#define GLEE_C_DEFINED_glMatrixLoadfEXT - void __stdcall GLee_Lazy_glMatrixLoadfEXT(GLenum mode, const GLfloat * m) {if (GLeeInit()) glMatrixLoadfEXT(mode, m);} - GLEEPFNGLMATRIXLOADFEXTPROC GLeeFuncPtr_glMatrixLoadfEXT=GLee_Lazy_glMatrixLoadfEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixLoaddEXT -#define GLEE_C_DEFINED_glMatrixLoaddEXT - void __stdcall GLee_Lazy_glMatrixLoaddEXT(GLenum mode, const GLdouble * m) {if (GLeeInit()) glMatrixLoaddEXT(mode, m);} - GLEEPFNGLMATRIXLOADDEXTPROC GLeeFuncPtr_glMatrixLoaddEXT=GLee_Lazy_glMatrixLoaddEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixMultfEXT -#define GLEE_C_DEFINED_glMatrixMultfEXT - void __stdcall GLee_Lazy_glMatrixMultfEXT(GLenum mode, const GLfloat * m) {if (GLeeInit()) glMatrixMultfEXT(mode, m);} - GLEEPFNGLMATRIXMULTFEXTPROC GLeeFuncPtr_glMatrixMultfEXT=GLee_Lazy_glMatrixMultfEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixMultdEXT -#define GLEE_C_DEFINED_glMatrixMultdEXT - void __stdcall GLee_Lazy_glMatrixMultdEXT(GLenum mode, const GLdouble * m) {if (GLeeInit()) glMatrixMultdEXT(mode, m);} - GLEEPFNGLMATRIXMULTDEXTPROC GLeeFuncPtr_glMatrixMultdEXT=GLee_Lazy_glMatrixMultdEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixLoadIdentityEXT -#define GLEE_C_DEFINED_glMatrixLoadIdentityEXT - void __stdcall GLee_Lazy_glMatrixLoadIdentityEXT(GLenum mode) {if (GLeeInit()) glMatrixLoadIdentityEXT(mode);} - GLEEPFNGLMATRIXLOADIDENTITYEXTPROC GLeeFuncPtr_glMatrixLoadIdentityEXT=GLee_Lazy_glMatrixLoadIdentityEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixRotatefEXT -#define GLEE_C_DEFINED_glMatrixRotatefEXT - void __stdcall GLee_Lazy_glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glMatrixRotatefEXT(mode, angle, x, y, z);} - GLEEPFNGLMATRIXROTATEFEXTPROC GLeeFuncPtr_glMatrixRotatefEXT=GLee_Lazy_glMatrixRotatefEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixRotatedEXT -#define GLEE_C_DEFINED_glMatrixRotatedEXT - void __stdcall GLee_Lazy_glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glMatrixRotatedEXT(mode, angle, x, y, z);} - GLEEPFNGLMATRIXROTATEDEXTPROC GLeeFuncPtr_glMatrixRotatedEXT=GLee_Lazy_glMatrixRotatedEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixScalefEXT -#define GLEE_C_DEFINED_glMatrixScalefEXT - void __stdcall GLee_Lazy_glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glMatrixScalefEXT(mode, x, y, z);} - GLEEPFNGLMATRIXSCALEFEXTPROC GLeeFuncPtr_glMatrixScalefEXT=GLee_Lazy_glMatrixScalefEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixScaledEXT -#define GLEE_C_DEFINED_glMatrixScaledEXT - void __stdcall GLee_Lazy_glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glMatrixScaledEXT(mode, x, y, z);} - GLEEPFNGLMATRIXSCALEDEXTPROC GLeeFuncPtr_glMatrixScaledEXT=GLee_Lazy_glMatrixScaledEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixTranslatefEXT -#define GLEE_C_DEFINED_glMatrixTranslatefEXT - void __stdcall GLee_Lazy_glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) {if (GLeeInit()) glMatrixTranslatefEXT(mode, x, y, z);} - GLEEPFNGLMATRIXTRANSLATEFEXTPROC GLeeFuncPtr_glMatrixTranslatefEXT=GLee_Lazy_glMatrixTranslatefEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixTranslatedEXT -#define GLEE_C_DEFINED_glMatrixTranslatedEXT - void __stdcall GLee_Lazy_glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glMatrixTranslatedEXT(mode, x, y, z);} - GLEEPFNGLMATRIXTRANSLATEDEXTPROC GLeeFuncPtr_glMatrixTranslatedEXT=GLee_Lazy_glMatrixTranslatedEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixFrustumEXT -#define GLEE_C_DEFINED_glMatrixFrustumEXT - void __stdcall GLee_Lazy_glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) {if (GLeeInit()) glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar);} - GLEEPFNGLMATRIXFRUSTUMEXTPROC GLeeFuncPtr_glMatrixFrustumEXT=GLee_Lazy_glMatrixFrustumEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixOrthoEXT -#define GLEE_C_DEFINED_glMatrixOrthoEXT - void __stdcall GLee_Lazy_glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) {if (GLeeInit()) glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar);} - GLEEPFNGLMATRIXORTHOEXTPROC GLeeFuncPtr_glMatrixOrthoEXT=GLee_Lazy_glMatrixOrthoEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixPopEXT -#define GLEE_C_DEFINED_glMatrixPopEXT - void __stdcall GLee_Lazy_glMatrixPopEXT(GLenum mode) {if (GLeeInit()) glMatrixPopEXT(mode);} - GLEEPFNGLMATRIXPOPEXTPROC GLeeFuncPtr_glMatrixPopEXT=GLee_Lazy_glMatrixPopEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixPushEXT -#define GLEE_C_DEFINED_glMatrixPushEXT - void __stdcall GLee_Lazy_glMatrixPushEXT(GLenum mode) {if (GLeeInit()) glMatrixPushEXT(mode);} - GLEEPFNGLMATRIXPUSHEXTPROC GLeeFuncPtr_glMatrixPushEXT=GLee_Lazy_glMatrixPushEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixLoadTransposefEXT -#define GLEE_C_DEFINED_glMatrixLoadTransposefEXT - void __stdcall GLee_Lazy_glMatrixLoadTransposefEXT(GLenum mode, const GLfloat * m) {if (GLeeInit()) glMatrixLoadTransposefEXT(mode, m);} - GLEEPFNGLMATRIXLOADTRANSPOSEFEXTPROC GLeeFuncPtr_glMatrixLoadTransposefEXT=GLee_Lazy_glMatrixLoadTransposefEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixLoadTransposedEXT -#define GLEE_C_DEFINED_glMatrixLoadTransposedEXT - void __stdcall GLee_Lazy_glMatrixLoadTransposedEXT(GLenum mode, const GLdouble * m) {if (GLeeInit()) glMatrixLoadTransposedEXT(mode, m);} - GLEEPFNGLMATRIXLOADTRANSPOSEDEXTPROC GLeeFuncPtr_glMatrixLoadTransposedEXT=GLee_Lazy_glMatrixLoadTransposedEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixMultTransposefEXT -#define GLEE_C_DEFINED_glMatrixMultTransposefEXT - void __stdcall GLee_Lazy_glMatrixMultTransposefEXT(GLenum mode, const GLfloat * m) {if (GLeeInit()) glMatrixMultTransposefEXT(mode, m);} - GLEEPFNGLMATRIXMULTTRANSPOSEFEXTPROC GLeeFuncPtr_glMatrixMultTransposefEXT=GLee_Lazy_glMatrixMultTransposefEXT; -#endif -#ifndef GLEE_C_DEFINED_glMatrixMultTransposedEXT -#define GLEE_C_DEFINED_glMatrixMultTransposedEXT - void __stdcall GLee_Lazy_glMatrixMultTransposedEXT(GLenum mode, const GLdouble * m) {if (GLeeInit()) glMatrixMultTransposedEXT(mode, m);} - GLEEPFNGLMATRIXMULTTRANSPOSEDEXTPROC GLeeFuncPtr_glMatrixMultTransposedEXT=GLee_Lazy_glMatrixMultTransposedEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameterfEXT -#define GLEE_C_DEFINED_glTextureParameterfEXT - void __stdcall GLee_Lazy_glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) {if (GLeeInit()) glTextureParameterfEXT(texture, target, pname, param);} - GLEEPFNGLTEXTUREPARAMETERFEXTPROC GLeeFuncPtr_glTextureParameterfEXT=GLee_Lazy_glTextureParameterfEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameterfvEXT -#define GLEE_C_DEFINED_glTextureParameterfvEXT - void __stdcall GLee_Lazy_glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glTextureParameterfvEXT(texture, target, pname, params);} - GLEEPFNGLTEXTUREPARAMETERFVEXTPROC GLeeFuncPtr_glTextureParameterfvEXT=GLee_Lazy_glTextureParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameteriEXT -#define GLEE_C_DEFINED_glTextureParameteriEXT - void __stdcall GLee_Lazy_glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glTextureParameteriEXT(texture, target, pname, param);} - GLEEPFNGLTEXTUREPARAMETERIEXTPROC GLeeFuncPtr_glTextureParameteriEXT=GLee_Lazy_glTextureParameteriEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameterivEXT -#define GLEE_C_DEFINED_glTextureParameterivEXT - void __stdcall GLee_Lazy_glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glTextureParameterivEXT(texture, target, pname, params);} - GLEEPFNGLTEXTUREPARAMETERIVEXTPROC GLeeFuncPtr_glTextureParameterivEXT=GLee_Lazy_glTextureParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage1DEXT -#define GLEE_C_DEFINED_glTextureImage1DEXT - void __stdcall GLee_Lazy_glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels);} - GLEEPFNGLTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glTextureImage1DEXT=GLee_Lazy_glTextureImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage2DEXT -#define GLEE_C_DEFINED_glTextureImage2DEXT - void __stdcall GLee_Lazy_glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels);} - GLEEPFNGLTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glTextureImage2DEXT=GLee_Lazy_glTextureImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureSubImage1DEXT -#define GLEE_C_DEFINED_glTextureSubImage1DEXT - void __stdcall GLee_Lazy_glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels);} - GLEEPFNGLTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glTextureSubImage1DEXT=GLee_Lazy_glTextureSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureSubImage2DEXT -#define GLEE_C_DEFINED_glTextureSubImage2DEXT - void __stdcall GLee_Lazy_glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels);} - GLEEPFNGLTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glTextureSubImage2DEXT=GLee_Lazy_glTextureSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTextureImage1DEXT -#define GLEE_C_DEFINED_glCopyTextureImage1DEXT - void __stdcall GLee_Lazy_glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {if (GLeeInit()) glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border);} - GLEEPFNGLCOPYTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glCopyTextureImage1DEXT=GLee_Lazy_glCopyTextureImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTextureImage2DEXT -#define GLEE_C_DEFINED_glCopyTextureImage2DEXT - void __stdcall GLee_Lazy_glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {if (GLeeInit()) glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border);} - GLEEPFNGLCOPYTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glCopyTextureImage2DEXT=GLee_Lazy_glCopyTextureImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTextureSubImage1DEXT -#define GLEE_C_DEFINED_glCopyTextureSubImage1DEXT - void __stdcall GLee_Lazy_glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width);} - GLEEPFNGLCOPYTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyTextureSubImage1DEXT=GLee_Lazy_glCopyTextureSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTextureSubImage2DEXT -#define GLEE_C_DEFINED_glCopyTextureSubImage2DEXT - void __stdcall GLee_Lazy_glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height);} - GLEEPFNGLCOPYTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyTextureSubImage2DEXT=GLee_Lazy_glCopyTextureSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureImageEXT -#define GLEE_C_DEFINED_glGetTextureImageEXT - void __stdcall GLee_Lazy_glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels) {if (GLeeInit()) glGetTextureImageEXT(texture, target, level, format, type, pixels);} - GLEEPFNGLGETTEXTUREIMAGEEXTPROC GLeeFuncPtr_glGetTextureImageEXT=GLee_Lazy_glGetTextureImageEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureParameterfvEXT -#define GLEE_C_DEFINED_glGetTextureParameterfvEXT - void __stdcall GLee_Lazy_glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetTextureParameterfvEXT(texture, target, pname, params);} - GLEEPFNGLGETTEXTUREPARAMETERFVEXTPROC GLeeFuncPtr_glGetTextureParameterfvEXT=GLee_Lazy_glGetTextureParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureParameterivEXT -#define GLEE_C_DEFINED_glGetTextureParameterivEXT - void __stdcall GLee_Lazy_glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetTextureParameterivEXT(texture, target, pname, params);} - GLEEPFNGLGETTEXTUREPARAMETERIVEXTPROC GLeeFuncPtr_glGetTextureParameterivEXT=GLee_Lazy_glGetTextureParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureLevelParameterfvEXT -#define GLEE_C_DEFINED_glGetTextureLevelParameterfvEXT - void __stdcall GLee_Lazy_glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetTextureLevelParameterfvEXT(texture, target, level, pname, params);} - GLEEPFNGLGETTEXTURELEVELPARAMETERFVEXTPROC GLeeFuncPtr_glGetTextureLevelParameterfvEXT=GLee_Lazy_glGetTextureLevelParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureLevelParameterivEXT -#define GLEE_C_DEFINED_glGetTextureLevelParameterivEXT - void __stdcall GLee_Lazy_glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params) {if (GLeeInit()) glGetTextureLevelParameterivEXT(texture, target, level, pname, params);} - GLEEPFNGLGETTEXTURELEVELPARAMETERIVEXTPROC GLeeFuncPtr_glGetTextureLevelParameterivEXT=GLee_Lazy_glGetTextureLevelParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage3DEXT -#define GLEE_C_DEFINED_glTextureImage3DEXT - void __stdcall GLee_Lazy_glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels);} - GLEEPFNGLTEXTUREIMAGE3DEXTPROC GLeeFuncPtr_glTextureImage3DEXT=GLee_Lazy_glTextureImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureSubImage3DEXT -#define GLEE_C_DEFINED_glTextureSubImage3DEXT - void __stdcall GLee_Lazy_glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);} - GLEEPFNGLTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glTextureSubImage3DEXT=GLee_Lazy_glTextureSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyTextureSubImage3DEXT -#define GLEE_C_DEFINED_glCopyTextureSubImage3DEXT - void __stdcall GLee_Lazy_glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);} - GLEEPFNGLCOPYTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyTextureSubImage3DEXT=GLee_Lazy_glCopyTextureSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameterfEXT -#define GLEE_C_DEFINED_glMultiTexParameterfEXT - void __stdcall GLee_Lazy_glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {if (GLeeInit()) glMultiTexParameterfEXT(texunit, target, pname, param);} - GLEEPFNGLMULTITEXPARAMETERFEXTPROC GLeeFuncPtr_glMultiTexParameterfEXT=GLee_Lazy_glMultiTexParameterfEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameterfvEXT -#define GLEE_C_DEFINED_glMultiTexParameterfvEXT - void __stdcall GLee_Lazy_glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glMultiTexParameterfvEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXPARAMETERFVEXTPROC GLeeFuncPtr_glMultiTexParameterfvEXT=GLee_Lazy_glMultiTexParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameteriEXT -#define GLEE_C_DEFINED_glMultiTexParameteriEXT - void __stdcall GLee_Lazy_glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glMultiTexParameteriEXT(texunit, target, pname, param);} - GLEEPFNGLMULTITEXPARAMETERIEXTPROC GLeeFuncPtr_glMultiTexParameteriEXT=GLee_Lazy_glMultiTexParameteriEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameterivEXT -#define GLEE_C_DEFINED_glMultiTexParameterivEXT - void __stdcall GLee_Lazy_glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glMultiTexParameterivEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXPARAMETERIVEXTPROC GLeeFuncPtr_glMultiTexParameterivEXT=GLee_Lazy_glMultiTexParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexImage1DEXT -#define GLEE_C_DEFINED_glMultiTexImage1DEXT - void __stdcall GLee_Lazy_glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels);} - GLEEPFNGLMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glMultiTexImage1DEXT=GLee_Lazy_glMultiTexImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexImage2DEXT -#define GLEE_C_DEFINED_glMultiTexImage2DEXT - void __stdcall GLee_Lazy_glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels);} - GLEEPFNGLMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glMultiTexImage2DEXT=GLee_Lazy_glMultiTexImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexSubImage1DEXT -#define GLEE_C_DEFINED_glMultiTexSubImage1DEXT - void __stdcall GLee_Lazy_glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels);} - GLEEPFNGLMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glMultiTexSubImage1DEXT=GLee_Lazy_glMultiTexSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexSubImage2DEXT -#define GLEE_C_DEFINED_glMultiTexSubImage2DEXT - void __stdcall GLee_Lazy_glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);} - GLEEPFNGLMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glMultiTexSubImage2DEXT=GLee_Lazy_glMultiTexSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyMultiTexImage1DEXT -#define GLEE_C_DEFINED_glCopyMultiTexImage1DEXT - void __stdcall GLee_Lazy_glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {if (GLeeInit()) glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border);} - GLEEPFNGLCOPYMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glCopyMultiTexImage1DEXT=GLee_Lazy_glCopyMultiTexImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyMultiTexImage2DEXT -#define GLEE_C_DEFINED_glCopyMultiTexImage2DEXT - void __stdcall GLee_Lazy_glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {if (GLeeInit()) glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border);} - GLEEPFNGLCOPYMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glCopyMultiTexImage2DEXT=GLee_Lazy_glCopyMultiTexImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyMultiTexSubImage1DEXT -#define GLEE_C_DEFINED_glCopyMultiTexSubImage1DEXT - void __stdcall GLee_Lazy_glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {if (GLeeInit()) glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width);} - GLEEPFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage1DEXT=GLee_Lazy_glCopyMultiTexSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyMultiTexSubImage2DEXT -#define GLEE_C_DEFINED_glCopyMultiTexSubImage2DEXT - void __stdcall GLee_Lazy_glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height);} - GLEEPFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage2DEXT=GLee_Lazy_glCopyMultiTexSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexImageEXT -#define GLEE_C_DEFINED_glGetMultiTexImageEXT - void __stdcall GLee_Lazy_glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels) {if (GLeeInit()) glGetMultiTexImageEXT(texunit, target, level, format, type, pixels);} - GLEEPFNGLGETMULTITEXIMAGEEXTPROC GLeeFuncPtr_glGetMultiTexImageEXT=GLee_Lazy_glGetMultiTexImageEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexParameterfvEXT -#define GLEE_C_DEFINED_glGetMultiTexParameterfvEXT - void __stdcall GLee_Lazy_glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMultiTexParameterfvEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXPARAMETERFVEXTPROC GLeeFuncPtr_glGetMultiTexParameterfvEXT=GLee_Lazy_glGetMultiTexParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexParameterivEXT -#define GLEE_C_DEFINED_glGetMultiTexParameterivEXT - void __stdcall GLee_Lazy_glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMultiTexParameterivEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXPARAMETERIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterivEXT=GLee_Lazy_glGetMultiTexParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexLevelParameterfvEXT -#define GLEE_C_DEFINED_glGetMultiTexLevelParameterfvEXT - void __stdcall GLee_Lazy_glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);} - GLEEPFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC GLeeFuncPtr_glGetMultiTexLevelParameterfvEXT=GLee_Lazy_glGetMultiTexLevelParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexLevelParameterivEXT -#define GLEE_C_DEFINED_glGetMultiTexLevelParameterivEXT - void __stdcall GLee_Lazy_glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params) {if (GLeeInit()) glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params);} - GLEEPFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC GLeeFuncPtr_glGetMultiTexLevelParameterivEXT=GLee_Lazy_glGetMultiTexLevelParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexImage3DEXT -#define GLEE_C_DEFINED_glMultiTexImage3DEXT - void __stdcall GLee_Lazy_glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);} - GLEEPFNGLMULTITEXIMAGE3DEXTPROC GLeeFuncPtr_glMultiTexImage3DEXT=GLee_Lazy_glMultiTexImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexSubImage3DEXT -#define GLEE_C_DEFINED_glMultiTexSubImage3DEXT - void __stdcall GLee_Lazy_glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels) {if (GLeeInit()) glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);} - GLEEPFNGLMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glMultiTexSubImage3DEXT=GLee_Lazy_glMultiTexSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCopyMultiTexSubImage3DEXT -#define GLEE_C_DEFINED_glCopyMultiTexSubImage3DEXT - void __stdcall GLee_Lazy_glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {if (GLeeInit()) glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);} - GLEEPFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage3DEXT=GLee_Lazy_glCopyMultiTexSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glBindMultiTextureEXT -#define GLEE_C_DEFINED_glBindMultiTextureEXT - void __stdcall GLee_Lazy_glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) {if (GLeeInit()) glBindMultiTextureEXT(texunit, target, texture);} - GLEEPFNGLBINDMULTITEXTUREEXTPROC GLeeFuncPtr_glBindMultiTextureEXT=GLee_Lazy_glBindMultiTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glEnableClientStateIndexedEXT -#define GLEE_C_DEFINED_glEnableClientStateIndexedEXT - void __stdcall GLee_Lazy_glEnableClientStateIndexedEXT(GLenum array, GLuint index) {if (GLeeInit()) glEnableClientStateIndexedEXT(array, index);} - GLEEPFNGLENABLECLIENTSTATEINDEXEDEXTPROC GLeeFuncPtr_glEnableClientStateIndexedEXT=GLee_Lazy_glEnableClientStateIndexedEXT; -#endif -#ifndef GLEE_C_DEFINED_glDisableClientStateIndexedEXT -#define GLEE_C_DEFINED_glDisableClientStateIndexedEXT - void __stdcall GLee_Lazy_glDisableClientStateIndexedEXT(GLenum array, GLuint index) {if (GLeeInit()) glDisableClientStateIndexedEXT(array, index);} - GLEEPFNGLDISABLECLIENTSTATEINDEXEDEXTPROC GLeeFuncPtr_glDisableClientStateIndexedEXT=GLee_Lazy_glDisableClientStateIndexedEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexCoordPointerEXT -#define GLEE_C_DEFINED_glMultiTexCoordPointerEXT - void __stdcall GLee_Lazy_glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer);} - GLEEPFNGLMULTITEXCOORDPOINTEREXTPROC GLeeFuncPtr_glMultiTexCoordPointerEXT=GLee_Lazy_glMultiTexCoordPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexEnvfEXT -#define GLEE_C_DEFINED_glMultiTexEnvfEXT - void __stdcall GLee_Lazy_glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {if (GLeeInit()) glMultiTexEnvfEXT(texunit, target, pname, param);} - GLEEPFNGLMULTITEXENVFEXTPROC GLeeFuncPtr_glMultiTexEnvfEXT=GLee_Lazy_glMultiTexEnvfEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexEnvfvEXT -#define GLEE_C_DEFINED_glMultiTexEnvfvEXT - void __stdcall GLee_Lazy_glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params) {if (GLeeInit()) glMultiTexEnvfvEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXENVFVEXTPROC GLeeFuncPtr_glMultiTexEnvfvEXT=GLee_Lazy_glMultiTexEnvfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexEnviEXT -#define GLEE_C_DEFINED_glMultiTexEnviEXT - void __stdcall GLee_Lazy_glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {if (GLeeInit()) glMultiTexEnviEXT(texunit, target, pname, param);} - GLEEPFNGLMULTITEXENVIEXTPROC GLeeFuncPtr_glMultiTexEnviEXT=GLee_Lazy_glMultiTexEnviEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexEnvivEXT -#define GLEE_C_DEFINED_glMultiTexEnvivEXT - void __stdcall GLee_Lazy_glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glMultiTexEnvivEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXENVIVEXTPROC GLeeFuncPtr_glMultiTexEnvivEXT=GLee_Lazy_glMultiTexEnvivEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGendEXT -#define GLEE_C_DEFINED_glMultiTexGendEXT - void __stdcall GLee_Lazy_glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) {if (GLeeInit()) glMultiTexGendEXT(texunit, coord, pname, param);} - GLEEPFNGLMULTITEXGENDEXTPROC GLeeFuncPtr_glMultiTexGendEXT=GLee_Lazy_glMultiTexGendEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGendvEXT -#define GLEE_C_DEFINED_glMultiTexGendvEXT - void __stdcall GLee_Lazy_glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params) {if (GLeeInit()) glMultiTexGendvEXT(texunit, coord, pname, params);} - GLEEPFNGLMULTITEXGENDVEXTPROC GLeeFuncPtr_glMultiTexGendvEXT=GLee_Lazy_glMultiTexGendvEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGenfEXT -#define GLEE_C_DEFINED_glMultiTexGenfEXT - void __stdcall GLee_Lazy_glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) {if (GLeeInit()) glMultiTexGenfEXT(texunit, coord, pname, param);} - GLEEPFNGLMULTITEXGENFEXTPROC GLeeFuncPtr_glMultiTexGenfEXT=GLee_Lazy_glMultiTexGenfEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGenfvEXT -#define GLEE_C_DEFINED_glMultiTexGenfvEXT - void __stdcall GLee_Lazy_glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params) {if (GLeeInit()) glMultiTexGenfvEXT(texunit, coord, pname, params);} - GLEEPFNGLMULTITEXGENFVEXTPROC GLeeFuncPtr_glMultiTexGenfvEXT=GLee_Lazy_glMultiTexGenfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGeniEXT -#define GLEE_C_DEFINED_glMultiTexGeniEXT - void __stdcall GLee_Lazy_glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) {if (GLeeInit()) glMultiTexGeniEXT(texunit, coord, pname, param);} - GLEEPFNGLMULTITEXGENIEXTPROC GLeeFuncPtr_glMultiTexGeniEXT=GLee_Lazy_glMultiTexGeniEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexGenivEXT -#define GLEE_C_DEFINED_glMultiTexGenivEXT - void __stdcall GLee_Lazy_glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint * params) {if (GLeeInit()) glMultiTexGenivEXT(texunit, coord, pname, params);} - GLEEPFNGLMULTITEXGENIVEXTPROC GLeeFuncPtr_glMultiTexGenivEXT=GLee_Lazy_glMultiTexGenivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexEnvfvEXT -#define GLEE_C_DEFINED_glGetMultiTexEnvfvEXT - void __stdcall GLee_Lazy_glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMultiTexEnvfvEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXENVFVEXTPROC GLeeFuncPtr_glGetMultiTexEnvfvEXT=GLee_Lazy_glGetMultiTexEnvfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexEnvivEXT -#define GLEE_C_DEFINED_glGetMultiTexEnvivEXT - void __stdcall GLee_Lazy_glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMultiTexEnvivEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXENVIVEXTPROC GLeeFuncPtr_glGetMultiTexEnvivEXT=GLee_Lazy_glGetMultiTexEnvivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexGendvEXT -#define GLEE_C_DEFINED_glGetMultiTexGendvEXT - void __stdcall GLee_Lazy_glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetMultiTexGendvEXT(texunit, coord, pname, params);} - GLEEPFNGLGETMULTITEXGENDVEXTPROC GLeeFuncPtr_glGetMultiTexGendvEXT=GLee_Lazy_glGetMultiTexGendvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexGenfvEXT -#define GLEE_C_DEFINED_glGetMultiTexGenfvEXT - void __stdcall GLee_Lazy_glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetMultiTexGenfvEXT(texunit, coord, pname, params);} - GLEEPFNGLGETMULTITEXGENFVEXTPROC GLeeFuncPtr_glGetMultiTexGenfvEXT=GLee_Lazy_glGetMultiTexGenfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexGenivEXT -#define GLEE_C_DEFINED_glGetMultiTexGenivEXT - void __stdcall GLee_Lazy_glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint * params) {if (GLeeInit()) glGetMultiTexGenivEXT(texunit, coord, pname, params);} - GLEEPFNGLGETMULTITEXGENIVEXTPROC GLeeFuncPtr_glGetMultiTexGenivEXT=GLee_Lazy_glGetMultiTexGenivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetFloatIndexedvEXT -#define GLEE_C_DEFINED_glGetFloatIndexedvEXT - void __stdcall GLee_Lazy_glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat * data) {if (GLeeInit()) glGetFloatIndexedvEXT(target, index, data);} - GLEEPFNGLGETFLOATINDEXEDVEXTPROC GLeeFuncPtr_glGetFloatIndexedvEXT=GLee_Lazy_glGetFloatIndexedvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetDoubleIndexedvEXT -#define GLEE_C_DEFINED_glGetDoubleIndexedvEXT - void __stdcall GLee_Lazy_glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble * data) {if (GLeeInit()) glGetDoubleIndexedvEXT(target, index, data);} - GLEEPFNGLGETDOUBLEINDEXEDVEXTPROC GLeeFuncPtr_glGetDoubleIndexedvEXT=GLee_Lazy_glGetDoubleIndexedvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetPointerIndexedvEXT -#define GLEE_C_DEFINED_glGetPointerIndexedvEXT - void __stdcall GLee_Lazy_glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid* * data) {if (GLeeInit()) glGetPointerIndexedvEXT(target, index, data);} - GLEEPFNGLGETPOINTERINDEXEDVEXTPROC GLeeFuncPtr_glGetPointerIndexedvEXT=GLee_Lazy_glGetPointerIndexedvEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureImage3DEXT -#define GLEE_C_DEFINED_glCompressedTextureImage3DEXT - void __stdcall GLee_Lazy_glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC GLeeFuncPtr_glCompressedTextureImage3DEXT=GLee_Lazy_glCompressedTextureImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureImage2DEXT -#define GLEE_C_DEFINED_glCompressedTextureImage2DEXT - void __stdcall GLee_Lazy_glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glCompressedTextureImage2DEXT=GLee_Lazy_glCompressedTextureImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureImage1DEXT -#define GLEE_C_DEFINED_glCompressedTextureImage1DEXT - void __stdcall GLee_Lazy_glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glCompressedTextureImage1DEXT=GLee_Lazy_glCompressedTextureImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureSubImage3DEXT -#define GLEE_C_DEFINED_glCompressedTextureSubImage3DEXT - void __stdcall GLee_Lazy_glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage3DEXT=GLee_Lazy_glCompressedTextureSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureSubImage2DEXT -#define GLEE_C_DEFINED_glCompressedTextureSubImage2DEXT - void __stdcall GLee_Lazy_glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage2DEXT=GLee_Lazy_glCompressedTextureSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedTextureSubImage1DEXT -#define GLEE_C_DEFINED_glCompressedTextureSubImage1DEXT - void __stdcall GLee_Lazy_glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage1DEXT=GLee_Lazy_glCompressedTextureSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetCompressedTextureImageEXT -#define GLEE_C_DEFINED_glGetCompressedTextureImageEXT - void __stdcall GLee_Lazy_glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid * img) {if (GLeeInit()) glGetCompressedTextureImageEXT(texture, target, lod, img);} - GLEEPFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC GLeeFuncPtr_glGetCompressedTextureImageEXT=GLee_Lazy_glGetCompressedTextureImageEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexImage3DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexImage3DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage3DEXT=GLee_Lazy_glCompressedMultiTexImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexImage2DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexImage2DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage2DEXT=GLee_Lazy_glCompressedMultiTexImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexImage1DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexImage1DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage1DEXT=GLee_Lazy_glCompressedMultiTexImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexSubImage3DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexSubImage3DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage3DEXT=GLee_Lazy_glCompressedMultiTexSubImage3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexSubImage2DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexSubImage2DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage2DEXT=GLee_Lazy_glCompressedMultiTexSubImage2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glCompressedMultiTexSubImage1DEXT -#define GLEE_C_DEFINED_glCompressedMultiTexSubImage1DEXT - void __stdcall GLee_Lazy_glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * bits) {if (GLeeInit()) glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits);} - GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage1DEXT=GLee_Lazy_glCompressedMultiTexSubImage1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetCompressedMultiTexImageEXT -#define GLEE_C_DEFINED_glGetCompressedMultiTexImageEXT - void __stdcall GLee_Lazy_glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid * img) {if (GLeeInit()) glGetCompressedMultiTexImageEXT(texunit, target, lod, img);} - GLEEPFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC GLeeFuncPtr_glGetCompressedMultiTexImageEXT=GLee_Lazy_glGetCompressedMultiTexImageEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramStringEXT -#define GLEE_C_DEFINED_glNamedProgramStringEXT - void __stdcall GLee_Lazy_glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid * string) {if (GLeeInit()) glNamedProgramStringEXT(program, target, format, len, string);} - GLEEPFNGLNAMEDPROGRAMSTRINGEXTPROC GLeeFuncPtr_glNamedProgramStringEXT=GLee_Lazy_glNamedProgramStringEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameter4dEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameter4dEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4dEXT=GLee_Lazy_glNamedProgramLocalParameter4dEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameter4dvEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameter4dvEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble * params) {if (GLeeInit()) glNamedProgramLocalParameter4dvEXT(program, target, index, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4dvEXT=GLee_Lazy_glNamedProgramLocalParameter4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameter4fEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameter4fEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {if (GLeeInit()) glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4fEXT=GLee_Lazy_glNamedProgramLocalParameter4fEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameter4fvEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameter4fvEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat * params) {if (GLeeInit()) glNamedProgramLocalParameter4fvEXT(program, target, index, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4fvEXT=GLee_Lazy_glNamedProgramLocalParameter4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramLocalParameterdvEXT -#define GLEE_C_DEFINED_glGetNamedProgramLocalParameterdvEXT - void __stdcall GLee_Lazy_glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble * params) {if (GLeeInit()) glGetNamedProgramLocalParameterdvEXT(program, target, index, params);} - GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterdvEXT=GLee_Lazy_glGetNamedProgramLocalParameterdvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramLocalParameterfvEXT -#define GLEE_C_DEFINED_glGetNamedProgramLocalParameterfvEXT - void __stdcall GLee_Lazy_glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat * params) {if (GLeeInit()) glGetNamedProgramLocalParameterfvEXT(program, target, index, params);} - GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterfvEXT=GLee_Lazy_glGetNamedProgramLocalParameterfvEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramivEXT -#define GLEE_C_DEFINED_glGetNamedProgramivEXT - void __stdcall GLee_Lazy_glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedProgramivEXT(program, target, pname, params);} - GLEEPFNGLGETNAMEDPROGRAMIVEXTPROC GLeeFuncPtr_glGetNamedProgramivEXT=GLee_Lazy_glGetNamedProgramivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramStringEXT -#define GLEE_C_DEFINED_glGetNamedProgramStringEXT - void __stdcall GLee_Lazy_glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid * string) {if (GLeeInit()) glGetNamedProgramStringEXT(program, target, pname, string);} - GLEEPFNGLGETNAMEDPROGRAMSTRINGEXTPROC GLeeFuncPtr_glGetNamedProgramStringEXT=GLee_Lazy_glGetNamedProgramStringEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameters4fvEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameters4fvEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params) {if (GLeeInit()) glNamedProgramLocalParameters4fvEXT(program, target, index, count, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameters4fvEXT=GLee_Lazy_glNamedProgramLocalParameters4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameterI4iEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameterI4iEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) {if (GLeeInit()) glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4iEXT=GLee_Lazy_glNamedProgramLocalParameterI4iEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameterI4ivEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameterI4ivEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint * params) {if (GLeeInit()) glNamedProgramLocalParameterI4ivEXT(program, target, index, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4ivEXT=GLee_Lazy_glNamedProgramLocalParameterI4ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParametersI4ivEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParametersI4ivEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params) {if (GLeeInit()) glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC GLeeFuncPtr_glNamedProgramLocalParametersI4ivEXT=GLee_Lazy_glNamedProgramLocalParametersI4ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameterI4uiEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameterI4uiEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) {if (GLeeInit()) glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4uiEXT=GLee_Lazy_glNamedProgramLocalParameterI4uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParameterI4uivEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParameterI4uivEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint * params) {if (GLeeInit()) glNamedProgramLocalParameterI4uivEXT(program, target, index, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4uivEXT=GLee_Lazy_glNamedProgramLocalParameterI4uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedProgramLocalParametersI4uivEXT -#define GLEE_C_DEFINED_glNamedProgramLocalParametersI4uivEXT - void __stdcall GLee_Lazy_glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params) {if (GLeeInit()) glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params);} - GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC GLeeFuncPtr_glNamedProgramLocalParametersI4uivEXT=GLee_Lazy_glNamedProgramLocalParametersI4uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramLocalParameterIivEXT -#define GLEE_C_DEFINED_glGetNamedProgramLocalParameterIivEXT - void __stdcall GLee_Lazy_glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint * params) {if (GLeeInit()) glGetNamedProgramLocalParameterIivEXT(program, target, index, params);} - GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterIivEXT=GLee_Lazy_glGetNamedProgramLocalParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedProgramLocalParameterIuivEXT -#define GLEE_C_DEFINED_glGetNamedProgramLocalParameterIuivEXT - void __stdcall GLee_Lazy_glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint * params) {if (GLeeInit()) glGetNamedProgramLocalParameterIuivEXT(program, target, index, params);} - GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterIuivEXT=GLee_Lazy_glGetNamedProgramLocalParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameterIivEXT -#define GLEE_C_DEFINED_glTextureParameterIivEXT - void __stdcall GLee_Lazy_glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glTextureParameterIivEXT(texture, target, pname, params);} - GLEEPFNGLTEXTUREPARAMETERIIVEXTPROC GLeeFuncPtr_glTextureParameterIivEXT=GLee_Lazy_glTextureParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureParameterIuivEXT -#define GLEE_C_DEFINED_glTextureParameterIuivEXT - void __stdcall GLee_Lazy_glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint * params) {if (GLeeInit()) glTextureParameterIuivEXT(texture, target, pname, params);} - GLEEPFNGLTEXTUREPARAMETERIUIVEXTPROC GLeeFuncPtr_glTextureParameterIuivEXT=GLee_Lazy_glTextureParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureParameterIivEXT -#define GLEE_C_DEFINED_glGetTextureParameterIivEXT - void __stdcall GLee_Lazy_glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetTextureParameterIivEXT(texture, target, pname, params);} - GLEEPFNGLGETTEXTUREPARAMETERIIVEXTPROC GLeeFuncPtr_glGetTextureParameterIivEXT=GLee_Lazy_glGetTextureParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureParameterIuivEXT -#define GLEE_C_DEFINED_glGetTextureParameterIuivEXT - void __stdcall GLee_Lazy_glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint * params) {if (GLeeInit()) glGetTextureParameterIuivEXT(texture, target, pname, params);} - GLEEPFNGLGETTEXTUREPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetTextureParameterIuivEXT=GLee_Lazy_glGetTextureParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameterIivEXT -#define GLEE_C_DEFINED_glMultiTexParameterIivEXT - void __stdcall GLee_Lazy_glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint * params) {if (GLeeInit()) glMultiTexParameterIivEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXPARAMETERIIVEXTPROC GLeeFuncPtr_glMultiTexParameterIivEXT=GLee_Lazy_glMultiTexParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexParameterIuivEXT -#define GLEE_C_DEFINED_glMultiTexParameterIuivEXT - void __stdcall GLee_Lazy_glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint * params) {if (GLeeInit()) glMultiTexParameterIuivEXT(texunit, target, pname, params);} - GLEEPFNGLMULTITEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glMultiTexParameterIuivEXT=GLee_Lazy_glMultiTexParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexParameterIivEXT -#define GLEE_C_DEFINED_glGetMultiTexParameterIivEXT - void __stdcall GLee_Lazy_glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint * params) {if (GLeeInit()) glGetMultiTexParameterIivEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXPARAMETERIIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterIivEXT=GLee_Lazy_glGetMultiTexParameterIivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetMultiTexParameterIuivEXT -#define GLEE_C_DEFINED_glGetMultiTexParameterIuivEXT - void __stdcall GLee_Lazy_glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint * params) {if (GLeeInit()) glGetMultiTexParameterIuivEXT(texunit, target, pname, params);} - GLEEPFNGLGETMULTITEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterIuivEXT=GLee_Lazy_glGetMultiTexParameterIuivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1fEXT -#define GLEE_C_DEFINED_glProgramUniform1fEXT - void __stdcall GLee_Lazy_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) {if (GLeeInit()) glProgramUniform1fEXT(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1FEXTPROC GLeeFuncPtr_glProgramUniform1fEXT=GLee_Lazy_glProgramUniform1fEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2fEXT -#define GLEE_C_DEFINED_glProgramUniform2fEXT - void __stdcall GLee_Lazy_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) {if (GLeeInit()) glProgramUniform2fEXT(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2FEXTPROC GLeeFuncPtr_glProgramUniform2fEXT=GLee_Lazy_glProgramUniform2fEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3fEXT -#define GLEE_C_DEFINED_glProgramUniform3fEXT - void __stdcall GLee_Lazy_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {if (GLeeInit()) glProgramUniform3fEXT(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3FEXTPROC GLeeFuncPtr_glProgramUniform3fEXT=GLee_Lazy_glProgramUniform3fEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4fEXT -#define GLEE_C_DEFINED_glProgramUniform4fEXT - void __stdcall GLee_Lazy_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {if (GLeeInit()) glProgramUniform4fEXT(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4FEXTPROC GLeeFuncPtr_glProgramUniform4fEXT=GLee_Lazy_glProgramUniform4fEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1iEXT -#define GLEE_C_DEFINED_glProgramUniform1iEXT - void __stdcall GLee_Lazy_glProgramUniform1iEXT(GLuint program, GLint location, GLint v0) {if (GLeeInit()) glProgramUniform1iEXT(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1IEXTPROC GLeeFuncPtr_glProgramUniform1iEXT=GLee_Lazy_glProgramUniform1iEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2iEXT -#define GLEE_C_DEFINED_glProgramUniform2iEXT - void __stdcall GLee_Lazy_glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) {if (GLeeInit()) glProgramUniform2iEXT(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2IEXTPROC GLeeFuncPtr_glProgramUniform2iEXT=GLee_Lazy_glProgramUniform2iEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3iEXT -#define GLEE_C_DEFINED_glProgramUniform3iEXT - void __stdcall GLee_Lazy_glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) {if (GLeeInit()) glProgramUniform3iEXT(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3IEXTPROC GLeeFuncPtr_glProgramUniform3iEXT=GLee_Lazy_glProgramUniform3iEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4iEXT -#define GLEE_C_DEFINED_glProgramUniform4iEXT - void __stdcall GLee_Lazy_glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {if (GLeeInit()) glProgramUniform4iEXT(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4IEXTPROC GLeeFuncPtr_glProgramUniform4iEXT=GLee_Lazy_glProgramUniform4iEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1fvEXT -#define GLEE_C_DEFINED_glProgramUniform1fvEXT - void __stdcall GLee_Lazy_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform1fvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1FVEXTPROC GLeeFuncPtr_glProgramUniform1fvEXT=GLee_Lazy_glProgramUniform1fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2fvEXT -#define GLEE_C_DEFINED_glProgramUniform2fvEXT - void __stdcall GLee_Lazy_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform2fvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2FVEXTPROC GLeeFuncPtr_glProgramUniform2fvEXT=GLee_Lazy_glProgramUniform2fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3fvEXT -#define GLEE_C_DEFINED_glProgramUniform3fvEXT - void __stdcall GLee_Lazy_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform3fvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3FVEXTPROC GLeeFuncPtr_glProgramUniform3fvEXT=GLee_Lazy_glProgramUniform3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4fvEXT -#define GLEE_C_DEFINED_glProgramUniform4fvEXT - void __stdcall GLee_Lazy_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat * value) {if (GLeeInit()) glProgramUniform4fvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4FVEXTPROC GLeeFuncPtr_glProgramUniform4fvEXT=GLee_Lazy_glProgramUniform4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1ivEXT -#define GLEE_C_DEFINED_glProgramUniform1ivEXT - void __stdcall GLee_Lazy_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform1ivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1IVEXTPROC GLeeFuncPtr_glProgramUniform1ivEXT=GLee_Lazy_glProgramUniform1ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2ivEXT -#define GLEE_C_DEFINED_glProgramUniform2ivEXT - void __stdcall GLee_Lazy_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform2ivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2IVEXTPROC GLeeFuncPtr_glProgramUniform2ivEXT=GLee_Lazy_glProgramUniform2ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3ivEXT -#define GLEE_C_DEFINED_glProgramUniform3ivEXT - void __stdcall GLee_Lazy_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform3ivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3IVEXTPROC GLeeFuncPtr_glProgramUniform3ivEXT=GLee_Lazy_glProgramUniform3ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4ivEXT -#define GLEE_C_DEFINED_glProgramUniform4ivEXT - void __stdcall GLee_Lazy_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint * value) {if (GLeeInit()) glProgramUniform4ivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4IVEXTPROC GLeeFuncPtr_glProgramUniform4ivEXT=GLee_Lazy_glProgramUniform4ivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2fvEXT=GLee_Lazy_glProgramUniformMatrix2fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3fvEXT=GLee_Lazy_glProgramUniformMatrix3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4fvEXT=GLee_Lazy_glProgramUniformMatrix4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x3fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2x3fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x3fvEXT=GLee_Lazy_glProgramUniformMatrix2x3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x2fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3x2fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x2fvEXT=GLee_Lazy_glProgramUniformMatrix3x2fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x4fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2x4fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x4fvEXT=GLee_Lazy_glProgramUniformMatrix2x4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x2fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4x2fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x2fvEXT=GLee_Lazy_glProgramUniformMatrix4x2fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x4fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3x4fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x4fvEXT=GLee_Lazy_glProgramUniformMatrix3x4fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x3fvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4x3fvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) {if (GLeeInit()) glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x3fvEXT=GLee_Lazy_glProgramUniformMatrix4x3fvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1uiEXT -#define GLEE_C_DEFINED_glProgramUniform1uiEXT - void __stdcall GLee_Lazy_glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) {if (GLeeInit()) glProgramUniform1uiEXT(program, location, v0);} - GLEEPFNGLPROGRAMUNIFORM1UIEXTPROC GLeeFuncPtr_glProgramUniform1uiEXT=GLee_Lazy_glProgramUniform1uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2uiEXT -#define GLEE_C_DEFINED_glProgramUniform2uiEXT - void __stdcall GLee_Lazy_glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) {if (GLeeInit()) glProgramUniform2uiEXT(program, location, v0, v1);} - GLEEPFNGLPROGRAMUNIFORM2UIEXTPROC GLeeFuncPtr_glProgramUniform2uiEXT=GLee_Lazy_glProgramUniform2uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3uiEXT -#define GLEE_C_DEFINED_glProgramUniform3uiEXT - void __stdcall GLee_Lazy_glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) {if (GLeeInit()) glProgramUniform3uiEXT(program, location, v0, v1, v2);} - GLEEPFNGLPROGRAMUNIFORM3UIEXTPROC GLeeFuncPtr_glProgramUniform3uiEXT=GLee_Lazy_glProgramUniform3uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4uiEXT -#define GLEE_C_DEFINED_glProgramUniform4uiEXT - void __stdcall GLee_Lazy_glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {if (GLeeInit()) glProgramUniform4uiEXT(program, location, v0, v1, v2, v3);} - GLEEPFNGLPROGRAMUNIFORM4UIEXTPROC GLeeFuncPtr_glProgramUniform4uiEXT=GLee_Lazy_glProgramUniform4uiEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1uivEXT -#define GLEE_C_DEFINED_glProgramUniform1uivEXT - void __stdcall GLee_Lazy_glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform1uivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1UIVEXTPROC GLeeFuncPtr_glProgramUniform1uivEXT=GLee_Lazy_glProgramUniform1uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2uivEXT -#define GLEE_C_DEFINED_glProgramUniform2uivEXT - void __stdcall GLee_Lazy_glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform2uivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2UIVEXTPROC GLeeFuncPtr_glProgramUniform2uivEXT=GLee_Lazy_glProgramUniform2uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3uivEXT -#define GLEE_C_DEFINED_glProgramUniform3uivEXT - void __stdcall GLee_Lazy_glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform3uivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3UIVEXTPROC GLeeFuncPtr_glProgramUniform3uivEXT=GLee_Lazy_glProgramUniform3uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4uivEXT -#define GLEE_C_DEFINED_glProgramUniform4uivEXT - void __stdcall GLee_Lazy_glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint * value) {if (GLeeInit()) glProgramUniform4uivEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4UIVEXTPROC GLeeFuncPtr_glProgramUniform4uivEXT=GLee_Lazy_glProgramUniform4uivEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedBufferDataEXT -#define GLEE_C_DEFINED_glNamedBufferDataEXT - void __stdcall GLee_Lazy_glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid * data, GLenum usage) {if (GLeeInit()) glNamedBufferDataEXT(buffer, size, data, usage);} - GLEEPFNGLNAMEDBUFFERDATAEXTPROC GLeeFuncPtr_glNamedBufferDataEXT=GLee_Lazy_glNamedBufferDataEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedBufferSubDataEXT -#define GLEE_C_DEFINED_glNamedBufferSubDataEXT - void __stdcall GLee_Lazy_glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid * data) {if (GLeeInit()) glNamedBufferSubDataEXT(buffer, offset, size, data);} - GLEEPFNGLNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glNamedBufferSubDataEXT=GLee_Lazy_glNamedBufferSubDataEXT; -#endif -#ifndef GLEE_C_DEFINED_glMapNamedBufferEXT -#define GLEE_C_DEFINED_glMapNamedBufferEXT - GLvoid* __stdcall GLee_Lazy_glMapNamedBufferEXT(GLuint buffer, GLenum access) {if (GLeeInit()) return glMapNamedBufferEXT(buffer, access); return (GLvoid*)0;} - GLEEPFNGLMAPNAMEDBUFFEREXTPROC GLeeFuncPtr_glMapNamedBufferEXT=GLee_Lazy_glMapNamedBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glUnmapNamedBufferEXT -#define GLEE_C_DEFINED_glUnmapNamedBufferEXT - GLboolean __stdcall GLee_Lazy_glUnmapNamedBufferEXT(GLuint buffer) {if (GLeeInit()) return glUnmapNamedBufferEXT(buffer); return (GLboolean)0;} - GLEEPFNGLUNMAPNAMEDBUFFEREXTPROC GLeeFuncPtr_glUnmapNamedBufferEXT=GLee_Lazy_glUnmapNamedBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glMapNamedBufferRangeEXT -#define GLEE_C_DEFINED_glMapNamedBufferRangeEXT - GLvoid* __stdcall GLee_Lazy_glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) {if (GLeeInit()) return glMapNamedBufferRangeEXT(buffer, offset, length, access); return (GLvoid*)0;} - GLEEPFNGLMAPNAMEDBUFFERRANGEEXTPROC GLeeFuncPtr_glMapNamedBufferRangeEXT=GLee_Lazy_glMapNamedBufferRangeEXT; -#endif -#ifndef GLEE_C_DEFINED_glFlushMappedNamedBufferRangeEXT -#define GLEE_C_DEFINED_glFlushMappedNamedBufferRangeEXT - void __stdcall GLee_Lazy_glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length) {if (GLeeInit()) glFlushMappedNamedBufferRangeEXT(buffer, offset, length);} - GLEEPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC GLeeFuncPtr_glFlushMappedNamedBufferRangeEXT=GLee_Lazy_glFlushMappedNamedBufferRangeEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedCopyBufferSubDataEXT -#define GLEE_C_DEFINED_glNamedCopyBufferSubDataEXT - void __stdcall GLee_Lazy_glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) {if (GLeeInit()) glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size);} - GLEEPFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC GLeeFuncPtr_glNamedCopyBufferSubDataEXT=GLee_Lazy_glNamedCopyBufferSubDataEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedBufferParameterivEXT -#define GLEE_C_DEFINED_glGetNamedBufferParameterivEXT - void __stdcall GLee_Lazy_glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedBufferParameterivEXT(buffer, pname, params);} - GLEEPFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedBufferParameterivEXT=GLee_Lazy_glGetNamedBufferParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedBufferPointervEXT -#define GLEE_C_DEFINED_glGetNamedBufferPointervEXT - void __stdcall GLee_Lazy_glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid* * params) {if (GLeeInit()) glGetNamedBufferPointervEXT(buffer, pname, params);} - GLEEPFNGLGETNAMEDBUFFERPOINTERVEXTPROC GLeeFuncPtr_glGetNamedBufferPointervEXT=GLee_Lazy_glGetNamedBufferPointervEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedBufferSubDataEXT -#define GLEE_C_DEFINED_glGetNamedBufferSubDataEXT - void __stdcall GLee_Lazy_glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid * data) {if (GLeeInit()) glGetNamedBufferSubDataEXT(buffer, offset, size, data);} - GLEEPFNGLGETNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glGetNamedBufferSubDataEXT=GLee_Lazy_glGetNamedBufferSubDataEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureBufferEXT -#define GLEE_C_DEFINED_glTextureBufferEXT - void __stdcall GLee_Lazy_glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) {if (GLeeInit()) glTextureBufferEXT(texture, target, internalformat, buffer);} - GLEEPFNGLTEXTUREBUFFEREXTPROC GLeeFuncPtr_glTextureBufferEXT=GLee_Lazy_glTextureBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexBufferEXT -#define GLEE_C_DEFINED_glMultiTexBufferEXT - void __stdcall GLee_Lazy_glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) {if (GLeeInit()) glMultiTexBufferEXT(texunit, target, internalformat, buffer);} - GLEEPFNGLMULTITEXBUFFEREXTPROC GLeeFuncPtr_glMultiTexBufferEXT=GLee_Lazy_glMultiTexBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedRenderbufferStorageEXT -#define GLEE_C_DEFINED_glNamedRenderbufferStorageEXT - void __stdcall GLee_Lazy_glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);} - GLEEPFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageEXT=GLee_Lazy_glNamedRenderbufferStorageEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedRenderbufferParameterivEXT -#define GLEE_C_DEFINED_glGetNamedRenderbufferParameterivEXT - void __stdcall GLee_Lazy_glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params);} - GLEEPFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedRenderbufferParameterivEXT=GLee_Lazy_glGetNamedRenderbufferParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glCheckNamedFramebufferStatusEXT -#define GLEE_C_DEFINED_glCheckNamedFramebufferStatusEXT - GLenum __stdcall GLee_Lazy_glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target) {if (GLeeInit()) return glCheckNamedFramebufferStatusEXT(framebuffer, target); return (GLenum)0;} - GLEEPFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC GLeeFuncPtr_glCheckNamedFramebufferStatusEXT=GLee_Lazy_glCheckNamedFramebufferStatusEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTexture1DEXT -#define GLEE_C_DEFINED_glNamedFramebufferTexture1DEXT - void __stdcall GLee_Lazy_glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture1DEXT=GLee_Lazy_glNamedFramebufferTexture1DEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTexture2DEXT -#define GLEE_C_DEFINED_glNamedFramebufferTexture2DEXT - void __stdcall GLee_Lazy_glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {if (GLeeInit()) glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture2DEXT=GLee_Lazy_glNamedFramebufferTexture2DEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTexture3DEXT -#define GLEE_C_DEFINED_glNamedFramebufferTexture3DEXT - void __stdcall GLee_Lazy_glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {if (GLeeInit()) glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture3DEXT=GLee_Lazy_glNamedFramebufferTexture3DEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferRenderbufferEXT -#define GLEE_C_DEFINED_glNamedFramebufferRenderbufferEXT - void __stdcall GLee_Lazy_glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {if (GLeeInit()) glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);} - GLEEPFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC GLeeFuncPtr_glNamedFramebufferRenderbufferEXT=GLee_Lazy_glNamedFramebufferRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedFramebufferAttachmentParameterivEXT -#define GLEE_C_DEFINED_glGetNamedFramebufferAttachmentParameterivEXT - void __stdcall GLee_Lazy_glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params) {if (GLeeInit()) glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);} - GLEEPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedFramebufferAttachmentParameterivEXT=GLee_Lazy_glGetNamedFramebufferAttachmentParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenerateTextureMipmapEXT -#define GLEE_C_DEFINED_glGenerateTextureMipmapEXT - void __stdcall GLee_Lazy_glGenerateTextureMipmapEXT(GLuint texture, GLenum target) {if (GLeeInit()) glGenerateTextureMipmapEXT(texture, target);} - GLEEPFNGLGENERATETEXTUREMIPMAPEXTPROC GLeeFuncPtr_glGenerateTextureMipmapEXT=GLee_Lazy_glGenerateTextureMipmapEXT; -#endif -#ifndef GLEE_C_DEFINED_glGenerateMultiTexMipmapEXT -#define GLEE_C_DEFINED_glGenerateMultiTexMipmapEXT - void __stdcall GLee_Lazy_glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target) {if (GLeeInit()) glGenerateMultiTexMipmapEXT(texunit, target);} - GLEEPFNGLGENERATEMULTITEXMIPMAPEXTPROC GLeeFuncPtr_glGenerateMultiTexMipmapEXT=GLee_Lazy_glGenerateMultiTexMipmapEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferDrawBufferEXT -#define GLEE_C_DEFINED_glFramebufferDrawBufferEXT - void __stdcall GLee_Lazy_glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode) {if (GLeeInit()) glFramebufferDrawBufferEXT(framebuffer, mode);} - GLEEPFNGLFRAMEBUFFERDRAWBUFFEREXTPROC GLeeFuncPtr_glFramebufferDrawBufferEXT=GLee_Lazy_glFramebufferDrawBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferDrawBuffersEXT -#define GLEE_C_DEFINED_glFramebufferDrawBuffersEXT - void __stdcall GLee_Lazy_glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum * bufs) {if (GLeeInit()) glFramebufferDrawBuffersEXT(framebuffer, n, bufs);} - GLEEPFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC GLeeFuncPtr_glFramebufferDrawBuffersEXT=GLee_Lazy_glFramebufferDrawBuffersEXT; -#endif -#ifndef GLEE_C_DEFINED_glFramebufferReadBufferEXT -#define GLEE_C_DEFINED_glFramebufferReadBufferEXT - void __stdcall GLee_Lazy_glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode) {if (GLeeInit()) glFramebufferReadBufferEXT(framebuffer, mode);} - GLEEPFNGLFRAMEBUFFERREADBUFFEREXTPROC GLeeFuncPtr_glFramebufferReadBufferEXT=GLee_Lazy_glFramebufferReadBufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetFramebufferParameterivEXT -#define GLEE_C_DEFINED_glGetFramebufferParameterivEXT - void __stdcall GLee_Lazy_glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint * params) {if (GLeeInit()) glGetFramebufferParameterivEXT(framebuffer, pname, params);} - GLEEPFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetFramebufferParameterivEXT=GLee_Lazy_glGetFramebufferParameterivEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedRenderbufferStorageMultisampleEXT -#define GLEE_C_DEFINED_glNamedRenderbufferStorageMultisampleEXT - void __stdcall GLee_Lazy_glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);} - GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageMultisampleEXT=GLee_Lazy_glNamedRenderbufferStorageMultisampleEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedRenderbufferStorageMultisampleCoverageEXT -#define GLEE_C_DEFINED_glNamedRenderbufferStorageMultisampleCoverageEXT - void __stdcall GLee_Lazy_glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) {if (GLeeInit()) glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);} - GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageMultisampleCoverageEXT=GLee_Lazy_glNamedRenderbufferStorageMultisampleCoverageEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTextureEXT -#define GLEE_C_DEFINED_glNamedFramebufferTextureEXT - void __stdcall GLee_Lazy_glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) {if (GLeeInit()) glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC GLeeFuncPtr_glNamedFramebufferTextureEXT=GLee_Lazy_glNamedFramebufferTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTextureLayerEXT -#define GLEE_C_DEFINED_glNamedFramebufferTextureLayerEXT - void __stdcall GLee_Lazy_glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) {if (GLeeInit()) glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC GLeeFuncPtr_glNamedFramebufferTextureLayerEXT=GLee_Lazy_glNamedFramebufferTextureLayerEXT; -#endif -#ifndef GLEE_C_DEFINED_glNamedFramebufferTextureFaceEXT -#define GLEE_C_DEFINED_glNamedFramebufferTextureFaceEXT - void __stdcall GLee_Lazy_glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) {if (GLeeInit()) glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face);} - GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC GLeeFuncPtr_glNamedFramebufferTextureFaceEXT=GLee_Lazy_glNamedFramebufferTextureFaceEXT; -#endif -#ifndef GLEE_C_DEFINED_glTextureRenderbufferEXT -#define GLEE_C_DEFINED_glTextureRenderbufferEXT - void __stdcall GLee_Lazy_glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer) {if (GLeeInit()) glTextureRenderbufferEXT(texture, target, renderbuffer);} - GLEEPFNGLTEXTURERENDERBUFFEREXTPROC GLeeFuncPtr_glTextureRenderbufferEXT=GLee_Lazy_glTextureRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glMultiTexRenderbufferEXT -#define GLEE_C_DEFINED_glMultiTexRenderbufferEXT - void __stdcall GLee_Lazy_glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer) {if (GLeeInit()) glMultiTexRenderbufferEXT(texunit, target, renderbuffer);} - GLEEPFNGLMULTITEXRENDERBUFFEREXTPROC GLeeFuncPtr_glMultiTexRenderbufferEXT=GLee_Lazy_glMultiTexRenderbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1dEXT -#define GLEE_C_DEFINED_glProgramUniform1dEXT - void __stdcall GLee_Lazy_glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x) {if (GLeeInit()) glProgramUniform1dEXT(program, location, x);} - GLEEPFNGLPROGRAMUNIFORM1DEXTPROC GLeeFuncPtr_glProgramUniform1dEXT=GLee_Lazy_glProgramUniform1dEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2dEXT -#define GLEE_C_DEFINED_glProgramUniform2dEXT - void __stdcall GLee_Lazy_glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y) {if (GLeeInit()) glProgramUniform2dEXT(program, location, x, y);} - GLEEPFNGLPROGRAMUNIFORM2DEXTPROC GLeeFuncPtr_glProgramUniform2dEXT=GLee_Lazy_glProgramUniform2dEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3dEXT -#define GLEE_C_DEFINED_glProgramUniform3dEXT - void __stdcall GLee_Lazy_glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glProgramUniform3dEXT(program, location, x, y, z);} - GLEEPFNGLPROGRAMUNIFORM3DEXTPROC GLeeFuncPtr_glProgramUniform3dEXT=GLee_Lazy_glProgramUniform3dEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4dEXT -#define GLEE_C_DEFINED_glProgramUniform4dEXT - void __stdcall GLee_Lazy_glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glProgramUniform4dEXT(program, location, x, y, z, w);} - GLEEPFNGLPROGRAMUNIFORM4DEXTPROC GLeeFuncPtr_glProgramUniform4dEXT=GLee_Lazy_glProgramUniform4dEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1dvEXT -#define GLEE_C_DEFINED_glProgramUniform1dvEXT - void __stdcall GLee_Lazy_glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform1dvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1DVEXTPROC GLeeFuncPtr_glProgramUniform1dvEXT=GLee_Lazy_glProgramUniform1dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2dvEXT -#define GLEE_C_DEFINED_glProgramUniform2dvEXT - void __stdcall GLee_Lazy_glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform2dvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2DVEXTPROC GLeeFuncPtr_glProgramUniform2dvEXT=GLee_Lazy_glProgramUniform2dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3dvEXT -#define GLEE_C_DEFINED_glProgramUniform3dvEXT - void __stdcall GLee_Lazy_glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform3dvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3DVEXTPROC GLeeFuncPtr_glProgramUniform3dvEXT=GLee_Lazy_glProgramUniform3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4dvEXT -#define GLEE_C_DEFINED_glProgramUniform4dvEXT - void __stdcall GLee_Lazy_glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble * value) {if (GLeeInit()) glProgramUniform4dvEXT(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4DVEXTPROC GLeeFuncPtr_glProgramUniform4dvEXT=GLee_Lazy_glProgramUniform4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2dvEXT=GLee_Lazy_glProgramUniformMatrix2dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3dvEXT=GLee_Lazy_glProgramUniformMatrix3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4dvEXT=GLee_Lazy_glProgramUniformMatrix4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x3dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2x3dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x3dvEXT=GLee_Lazy_glProgramUniformMatrix2x3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix2x4dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix2x4dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x4dvEXT=GLee_Lazy_glProgramUniformMatrix2x4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x2dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3x2dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x2dvEXT=GLee_Lazy_glProgramUniformMatrix3x2dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix3x4dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix3x4dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x4dvEXT=GLee_Lazy_glProgramUniformMatrix3x4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x2dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4x2dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x2dvEXT=GLee_Lazy_glProgramUniformMatrix4x2dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformMatrix4x3dvEXT -#define GLEE_C_DEFINED_glProgramUniformMatrix4x3dvEXT - void __stdcall GLee_Lazy_glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value) {if (GLeeInit()) glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value);} - GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x3dvEXT=GLee_Lazy_glProgramUniformMatrix4x3dvEXT; -#endif -#endif - -/* GL_EXT_vertex_array_bgra */ - -#ifdef __GLEE_GL_EXT_vertex_array_bgra -#endif - -/* GL_EXT_texture_swizzle */ - -#ifdef __GLEE_GL_EXT_texture_swizzle -#endif - -/* GL_NV_explicit_multisample */ - -#ifdef __GLEE_GL_NV_explicit_multisample -#ifndef GLEE_C_DEFINED_glGetMultisamplefvNV -#define GLEE_C_DEFINED_glGetMultisamplefvNV - void __stdcall GLee_Lazy_glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat * val) {if (GLeeInit()) glGetMultisamplefvNV(pname, index, val);} - GLEEPFNGLGETMULTISAMPLEFVNVPROC GLeeFuncPtr_glGetMultisamplefvNV=GLee_Lazy_glGetMultisamplefvNV; -#endif -#ifndef GLEE_C_DEFINED_glSampleMaskIndexedNV -#define GLEE_C_DEFINED_glSampleMaskIndexedNV - void __stdcall GLee_Lazy_glSampleMaskIndexedNV(GLuint index, GLbitfield mask) {if (GLeeInit()) glSampleMaskIndexedNV(index, mask);} - GLEEPFNGLSAMPLEMASKINDEXEDNVPROC GLeeFuncPtr_glSampleMaskIndexedNV=GLee_Lazy_glSampleMaskIndexedNV; -#endif -#ifndef GLEE_C_DEFINED_glTexRenderbufferNV -#define GLEE_C_DEFINED_glTexRenderbufferNV - void __stdcall GLee_Lazy_glTexRenderbufferNV(GLenum target, GLuint renderbuffer) {if (GLeeInit()) glTexRenderbufferNV(target, renderbuffer);} - GLEEPFNGLTEXRENDERBUFFERNVPROC GLeeFuncPtr_glTexRenderbufferNV=GLee_Lazy_glTexRenderbufferNV; -#endif -#endif - -/* GL_NV_transform_feedback2 */ - -#ifdef __GLEE_GL_NV_transform_feedback2 -#ifndef GLEE_C_DEFINED_glBindTransformFeedbackNV -#define GLEE_C_DEFINED_glBindTransformFeedbackNV - void __stdcall GLee_Lazy_glBindTransformFeedbackNV(GLenum target, GLuint id) {if (GLeeInit()) glBindTransformFeedbackNV(target, id);} - GLEEPFNGLBINDTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glBindTransformFeedbackNV=GLee_Lazy_glBindTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glDeleteTransformFeedbacksNV -#define GLEE_C_DEFINED_glDeleteTransformFeedbacksNV - void __stdcall GLee_Lazy_glDeleteTransformFeedbacksNV(GLsizei n, const GLuint * ids) {if (GLeeInit()) glDeleteTransformFeedbacksNV(n, ids);} - GLEEPFNGLDELETETRANSFORMFEEDBACKSNVPROC GLeeFuncPtr_glDeleteTransformFeedbacksNV=GLee_Lazy_glDeleteTransformFeedbacksNV; -#endif -#ifndef GLEE_C_DEFINED_glGenTransformFeedbacksNV -#define GLEE_C_DEFINED_glGenTransformFeedbacksNV - void __stdcall GLee_Lazy_glGenTransformFeedbacksNV(GLsizei n, GLuint * ids) {if (GLeeInit()) glGenTransformFeedbacksNV(n, ids);} - GLEEPFNGLGENTRANSFORMFEEDBACKSNVPROC GLeeFuncPtr_glGenTransformFeedbacksNV=GLee_Lazy_glGenTransformFeedbacksNV; -#endif -#ifndef GLEE_C_DEFINED_glIsTransformFeedbackNV -#define GLEE_C_DEFINED_glIsTransformFeedbackNV - GLboolean __stdcall GLee_Lazy_glIsTransformFeedbackNV(GLuint id) {if (GLeeInit()) return glIsTransformFeedbackNV(id); return (GLboolean)0;} - GLEEPFNGLISTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glIsTransformFeedbackNV=GLee_Lazy_glIsTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glPauseTransformFeedbackNV -#define GLEE_C_DEFINED_glPauseTransformFeedbackNV - void __stdcall GLee_Lazy_glPauseTransformFeedbackNV(void) {if (GLeeInit()) glPauseTransformFeedbackNV();} - GLEEPFNGLPAUSETRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glPauseTransformFeedbackNV=GLee_Lazy_glPauseTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glResumeTransformFeedbackNV -#define GLEE_C_DEFINED_glResumeTransformFeedbackNV - void __stdcall GLee_Lazy_glResumeTransformFeedbackNV(void) {if (GLeeInit()) glResumeTransformFeedbackNV();} - GLEEPFNGLRESUMETRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glResumeTransformFeedbackNV=GLee_Lazy_glResumeTransformFeedbackNV; -#endif -#ifndef GLEE_C_DEFINED_glDrawTransformFeedbackNV -#define GLEE_C_DEFINED_glDrawTransformFeedbackNV - void __stdcall GLee_Lazy_glDrawTransformFeedbackNV(GLenum mode, GLuint id) {if (GLeeInit()) glDrawTransformFeedbackNV(mode, id);} - GLEEPFNGLDRAWTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glDrawTransformFeedbackNV=GLee_Lazy_glDrawTransformFeedbackNV; -#endif -#endif - -/* GL_ATI_meminfo */ - -#ifdef __GLEE_GL_ATI_meminfo -#endif - -/* GL_AMD_performance_monitor */ - -#ifdef __GLEE_GL_AMD_performance_monitor -#ifndef GLEE_C_DEFINED_glGetPerfMonitorGroupsAMD -#define GLEE_C_DEFINED_glGetPerfMonitorGroupsAMD - void __stdcall GLee_Lazy_glGetPerfMonitorGroupsAMD(GLint * numGroups, GLsizei groupsSize, GLuint * groups) {if (GLeeInit()) glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);} - GLEEPFNGLGETPERFMONITORGROUPSAMDPROC GLeeFuncPtr_glGetPerfMonitorGroupsAMD=GLee_Lazy_glGetPerfMonitorGroupsAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetPerfMonitorCountersAMD -#define GLEE_C_DEFINED_glGetPerfMonitorCountersAMD - void __stdcall GLee_Lazy_glGetPerfMonitorCountersAMD(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters) {if (GLeeInit()) glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);} - GLEEPFNGLGETPERFMONITORCOUNTERSAMDPROC GLeeFuncPtr_glGetPerfMonitorCountersAMD=GLee_Lazy_glGetPerfMonitorCountersAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetPerfMonitorGroupStringAMD -#define GLEE_C_DEFINED_glGetPerfMonitorGroupStringAMD - void __stdcall GLee_Lazy_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString) {if (GLeeInit()) glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);} - GLEEPFNGLGETPERFMONITORGROUPSTRINGAMDPROC GLeeFuncPtr_glGetPerfMonitorGroupStringAMD=GLee_Lazy_glGetPerfMonitorGroupStringAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetPerfMonitorCounterStringAMD -#define GLEE_C_DEFINED_glGetPerfMonitorCounterStringAMD - void __stdcall GLee_Lazy_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString) {if (GLeeInit()) glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);} - GLEEPFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterStringAMD=GLee_Lazy_glGetPerfMonitorCounterStringAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetPerfMonitorCounterInfoAMD -#define GLEE_C_DEFINED_glGetPerfMonitorCounterInfoAMD - void __stdcall GLee_Lazy_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid * data) {if (GLeeInit()) glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);} - GLEEPFNGLGETPERFMONITORCOUNTERINFOAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterInfoAMD=GLee_Lazy_glGetPerfMonitorCounterInfoAMD; -#endif -#ifndef GLEE_C_DEFINED_glGenPerfMonitorsAMD -#define GLEE_C_DEFINED_glGenPerfMonitorsAMD - void __stdcall GLee_Lazy_glGenPerfMonitorsAMD(GLsizei n, GLuint * monitors) {if (GLeeInit()) glGenPerfMonitorsAMD(n, monitors);} - GLEEPFNGLGENPERFMONITORSAMDPROC GLeeFuncPtr_glGenPerfMonitorsAMD=GLee_Lazy_glGenPerfMonitorsAMD; -#endif -#ifndef GLEE_C_DEFINED_glDeletePerfMonitorsAMD -#define GLEE_C_DEFINED_glDeletePerfMonitorsAMD - void __stdcall GLee_Lazy_glDeletePerfMonitorsAMD(GLsizei n, GLuint * monitors) {if (GLeeInit()) glDeletePerfMonitorsAMD(n, monitors);} - GLEEPFNGLDELETEPERFMONITORSAMDPROC GLeeFuncPtr_glDeletePerfMonitorsAMD=GLee_Lazy_glDeletePerfMonitorsAMD; -#endif -#ifndef GLEE_C_DEFINED_glSelectPerfMonitorCountersAMD -#define GLEE_C_DEFINED_glSelectPerfMonitorCountersAMD - void __stdcall GLee_Lazy_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList) {if (GLeeInit()) glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);} - GLEEPFNGLSELECTPERFMONITORCOUNTERSAMDPROC GLeeFuncPtr_glSelectPerfMonitorCountersAMD=GLee_Lazy_glSelectPerfMonitorCountersAMD; -#endif -#ifndef GLEE_C_DEFINED_glBeginPerfMonitorAMD -#define GLEE_C_DEFINED_glBeginPerfMonitorAMD - void __stdcall GLee_Lazy_glBeginPerfMonitorAMD(GLuint monitor) {if (GLeeInit()) glBeginPerfMonitorAMD(monitor);} - GLEEPFNGLBEGINPERFMONITORAMDPROC GLeeFuncPtr_glBeginPerfMonitorAMD=GLee_Lazy_glBeginPerfMonitorAMD; -#endif -#ifndef GLEE_C_DEFINED_glEndPerfMonitorAMD -#define GLEE_C_DEFINED_glEndPerfMonitorAMD - void __stdcall GLee_Lazy_glEndPerfMonitorAMD(GLuint monitor) {if (GLeeInit()) glEndPerfMonitorAMD(monitor);} - GLEEPFNGLENDPERFMONITORAMDPROC GLeeFuncPtr_glEndPerfMonitorAMD=GLee_Lazy_glEndPerfMonitorAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetPerfMonitorCounterDataAMD -#define GLEE_C_DEFINED_glGetPerfMonitorCounterDataAMD - void __stdcall GLee_Lazy_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten) {if (GLeeInit()) glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);} - GLEEPFNGLGETPERFMONITORCOUNTERDATAAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterDataAMD=GLee_Lazy_glGetPerfMonitorCounterDataAMD; -#endif -#endif - -/* GL_AMD_texture_texture4 */ - -#ifdef __GLEE_GL_AMD_texture_texture4 -#endif - -/* GL_AMD_vertex_shader_tesselator */ - -#ifdef __GLEE_GL_AMD_vertex_shader_tesselator -#ifndef GLEE_C_DEFINED_glTessellationFactorAMD -#define GLEE_C_DEFINED_glTessellationFactorAMD - void __stdcall GLee_Lazy_glTessellationFactorAMD(GLfloat factor) {if (GLeeInit()) glTessellationFactorAMD(factor);} - GLEEPFNGLTESSELLATIONFACTORAMDPROC GLeeFuncPtr_glTessellationFactorAMD=GLee_Lazy_glTessellationFactorAMD; -#endif -#ifndef GLEE_C_DEFINED_glTessellationModeAMD -#define GLEE_C_DEFINED_glTessellationModeAMD - void __stdcall GLee_Lazy_glTessellationModeAMD(GLenum mode) {if (GLeeInit()) glTessellationModeAMD(mode);} - GLEEPFNGLTESSELLATIONMODEAMDPROC GLeeFuncPtr_glTessellationModeAMD=GLee_Lazy_glTessellationModeAMD; -#endif -#endif - -/* GL_EXT_provoking_vertex */ - -#ifdef __GLEE_GL_EXT_provoking_vertex -#ifndef GLEE_C_DEFINED_glProvokingVertexEXT -#define GLEE_C_DEFINED_glProvokingVertexEXT - void __stdcall GLee_Lazy_glProvokingVertexEXT(GLenum mode) {if (GLeeInit()) glProvokingVertexEXT(mode);} - GLEEPFNGLPROVOKINGVERTEXEXTPROC GLeeFuncPtr_glProvokingVertexEXT=GLee_Lazy_glProvokingVertexEXT; -#endif -#endif - -/* GL_EXT_texture_snorm */ - -#ifdef __GLEE_GL_EXT_texture_snorm -#endif - -/* GL_AMD_draw_buffers_blend */ - -#ifdef __GLEE_GL_AMD_draw_buffers_blend -#ifndef GLEE_C_DEFINED_glBlendFuncIndexedAMD -#define GLEE_C_DEFINED_glBlendFuncIndexedAMD - void __stdcall GLee_Lazy_glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst) {if (GLeeInit()) glBlendFuncIndexedAMD(buf, src, dst);} - GLEEPFNGLBLENDFUNCINDEXEDAMDPROC GLeeFuncPtr_glBlendFuncIndexedAMD=GLee_Lazy_glBlendFuncIndexedAMD; -#endif -#ifndef GLEE_C_DEFINED_glBlendFuncSeparateIndexedAMD -#define GLEE_C_DEFINED_glBlendFuncSeparateIndexedAMD - void __stdcall GLee_Lazy_glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {if (GLeeInit()) glBlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC GLeeFuncPtr_glBlendFuncSeparateIndexedAMD=GLee_Lazy_glBlendFuncSeparateIndexedAMD; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquationIndexedAMD -#define GLEE_C_DEFINED_glBlendEquationIndexedAMD - void __stdcall GLee_Lazy_glBlendEquationIndexedAMD(GLuint buf, GLenum mode) {if (GLeeInit()) glBlendEquationIndexedAMD(buf, mode);} - GLEEPFNGLBLENDEQUATIONINDEXEDAMDPROC GLeeFuncPtr_glBlendEquationIndexedAMD=GLee_Lazy_glBlendEquationIndexedAMD; -#endif -#ifndef GLEE_C_DEFINED_glBlendEquationSeparateIndexedAMD -#define GLEE_C_DEFINED_glBlendEquationSeparateIndexedAMD - void __stdcall GLee_Lazy_glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha) {if (GLeeInit()) glBlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha);} - GLEEPFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC GLeeFuncPtr_glBlendEquationSeparateIndexedAMD=GLee_Lazy_glBlendEquationSeparateIndexedAMD; -#endif -#endif - -/* GL_APPLE_texture_range */ - -#ifdef __GLEE_GL_APPLE_texture_range -#ifndef GLEE_C_DEFINED_glTextureRangeAPPLE -#define GLEE_C_DEFINED_glTextureRangeAPPLE - void __stdcall GLee_Lazy_glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid * pointer) {if (GLeeInit()) glTextureRangeAPPLE(target, length, pointer);} - GLEEPFNGLTEXTURERANGEAPPLEPROC GLeeFuncPtr_glTextureRangeAPPLE=GLee_Lazy_glTextureRangeAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glGetTexParameterPointervAPPLE -#define GLEE_C_DEFINED_glGetTexParameterPointervAPPLE - void __stdcall GLee_Lazy_glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid* * params) {if (GLeeInit()) glGetTexParameterPointervAPPLE(target, pname, params);} - GLEEPFNGLGETTEXPARAMETERPOINTERVAPPLEPROC GLeeFuncPtr_glGetTexParameterPointervAPPLE=GLee_Lazy_glGetTexParameterPointervAPPLE; -#endif -#endif - -/* GL_APPLE_float_pixels */ - -#ifdef __GLEE_GL_APPLE_float_pixels -#endif - -/* GL_APPLE_vertex_program_evaluators */ - -#ifdef __GLEE_GL_APPLE_vertex_program_evaluators -#ifndef GLEE_C_DEFINED_glEnableVertexAttribAPPLE -#define GLEE_C_DEFINED_glEnableVertexAttribAPPLE - void __stdcall GLee_Lazy_glEnableVertexAttribAPPLE(GLuint index, GLenum pname) {if (GLeeInit()) glEnableVertexAttribAPPLE(index, pname);} - GLEEPFNGLENABLEVERTEXATTRIBAPPLEPROC GLeeFuncPtr_glEnableVertexAttribAPPLE=GLee_Lazy_glEnableVertexAttribAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glDisableVertexAttribAPPLE -#define GLEE_C_DEFINED_glDisableVertexAttribAPPLE - void __stdcall GLee_Lazy_glDisableVertexAttribAPPLE(GLuint index, GLenum pname) {if (GLeeInit()) glDisableVertexAttribAPPLE(index, pname);} - GLEEPFNGLDISABLEVERTEXATTRIBAPPLEPROC GLeeFuncPtr_glDisableVertexAttribAPPLE=GLee_Lazy_glDisableVertexAttribAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glIsVertexAttribEnabledAPPLE -#define GLEE_C_DEFINED_glIsVertexAttribEnabledAPPLE - GLboolean __stdcall GLee_Lazy_glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname) {if (GLeeInit()) return glIsVertexAttribEnabledAPPLE(index, pname); return (GLboolean)0;} - GLEEPFNGLISVERTEXATTRIBENABLEDAPPLEPROC GLeeFuncPtr_glIsVertexAttribEnabledAPPLE=GLee_Lazy_glIsVertexAttribEnabledAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMapVertexAttrib1dAPPLE -#define GLEE_C_DEFINED_glMapVertexAttrib1dAPPLE - void __stdcall GLee_Lazy_glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points) {if (GLeeInit()) glMapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points);} - GLEEPFNGLMAPVERTEXATTRIB1DAPPLEPROC GLeeFuncPtr_glMapVertexAttrib1dAPPLE=GLee_Lazy_glMapVertexAttrib1dAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMapVertexAttrib1fAPPLE -#define GLEE_C_DEFINED_glMapVertexAttrib1fAPPLE - void __stdcall GLee_Lazy_glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points) {if (GLeeInit()) glMapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points);} - GLEEPFNGLMAPVERTEXATTRIB1FAPPLEPROC GLeeFuncPtr_glMapVertexAttrib1fAPPLE=GLee_Lazy_glMapVertexAttrib1fAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMapVertexAttrib2dAPPLE -#define GLEE_C_DEFINED_glMapVertexAttrib2dAPPLE - void __stdcall GLee_Lazy_glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points) {if (GLeeInit()) glMapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);} - GLEEPFNGLMAPVERTEXATTRIB2DAPPLEPROC GLeeFuncPtr_glMapVertexAttrib2dAPPLE=GLee_Lazy_glMapVertexAttrib2dAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glMapVertexAttrib2fAPPLE -#define GLEE_C_DEFINED_glMapVertexAttrib2fAPPLE - void __stdcall GLee_Lazy_glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points) {if (GLeeInit()) glMapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);} - GLEEPFNGLMAPVERTEXATTRIB2FAPPLEPROC GLeeFuncPtr_glMapVertexAttrib2fAPPLE=GLee_Lazy_glMapVertexAttrib2fAPPLE; -#endif -#endif - -/* GL_APPLE_aux_depth_stencil */ - -#ifdef __GLEE_GL_APPLE_aux_depth_stencil -#endif - -/* GL_APPLE_object_purgeable */ - -#ifdef __GLEE_GL_APPLE_object_purgeable -#ifndef GLEE_C_DEFINED_glObjectPurgeableAPPLE -#define GLEE_C_DEFINED_glObjectPurgeableAPPLE - GLenum __stdcall GLee_Lazy_glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) {if (GLeeInit()) return glObjectPurgeableAPPLE(objectType, name, option); return (GLenum)0;} - GLEEPFNGLOBJECTPURGEABLEAPPLEPROC GLeeFuncPtr_glObjectPurgeableAPPLE=GLee_Lazy_glObjectPurgeableAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glObjectUnpurgeableAPPLE -#define GLEE_C_DEFINED_glObjectUnpurgeableAPPLE - GLenum __stdcall GLee_Lazy_glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) {if (GLeeInit()) return glObjectUnpurgeableAPPLE(objectType, name, option); return (GLenum)0;} - GLEEPFNGLOBJECTUNPURGEABLEAPPLEPROC GLeeFuncPtr_glObjectUnpurgeableAPPLE=GLee_Lazy_glObjectUnpurgeableAPPLE; -#endif -#ifndef GLEE_C_DEFINED_glGetObjectParameterivAPPLE -#define GLEE_C_DEFINED_glGetObjectParameterivAPPLE - void __stdcall GLee_Lazy_glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint * params) {if (GLeeInit()) glGetObjectParameterivAPPLE(objectType, name, pname, params);} - GLEEPFNGLGETOBJECTPARAMETERIVAPPLEPROC GLeeFuncPtr_glGetObjectParameterivAPPLE=GLee_Lazy_glGetObjectParameterivAPPLE; -#endif -#endif - -/* GL_APPLE_row_bytes */ - -#ifdef __GLEE_GL_APPLE_row_bytes -#endif - -/* GL_APPLE_rgb_422 */ - -#ifdef __GLEE_GL_APPLE_rgb_422 -#endif - -/* GL_NV_video_capture */ - -#ifdef __GLEE_GL_NV_video_capture -#ifndef GLEE_C_DEFINED_glBeginVideoCaptureNV -#define GLEE_C_DEFINED_glBeginVideoCaptureNV - void __stdcall GLee_Lazy_glBeginVideoCaptureNV(GLuint video_capture_slot) {if (GLeeInit()) glBeginVideoCaptureNV(video_capture_slot);} - GLEEPFNGLBEGINVIDEOCAPTURENVPROC GLeeFuncPtr_glBeginVideoCaptureNV=GLee_Lazy_glBeginVideoCaptureNV; -#endif -#ifndef GLEE_C_DEFINED_glBindVideoCaptureStreamBufferNV -#define GLEE_C_DEFINED_glBindVideoCaptureStreamBufferNV - void __stdcall GLee_Lazy_glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset) {if (GLeeInit()) glBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset);} - GLEEPFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC GLeeFuncPtr_glBindVideoCaptureStreamBufferNV=GLee_Lazy_glBindVideoCaptureStreamBufferNV; -#endif -#ifndef GLEE_C_DEFINED_glBindVideoCaptureStreamTextureNV -#define GLEE_C_DEFINED_glBindVideoCaptureStreamTextureNV - void __stdcall GLee_Lazy_glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture) {if (GLeeInit()) glBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture);} - GLEEPFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC GLeeFuncPtr_glBindVideoCaptureStreamTextureNV=GLee_Lazy_glBindVideoCaptureStreamTextureNV; -#endif -#ifndef GLEE_C_DEFINED_glEndVideoCaptureNV -#define GLEE_C_DEFINED_glEndVideoCaptureNV - void __stdcall GLee_Lazy_glEndVideoCaptureNV(GLuint video_capture_slot) {if (GLeeInit()) glEndVideoCaptureNV(video_capture_slot);} - GLEEPFNGLENDVIDEOCAPTURENVPROC GLeeFuncPtr_glEndVideoCaptureNV=GLee_Lazy_glEndVideoCaptureNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoCaptureivNV -#define GLEE_C_DEFINED_glGetVideoCaptureivNV - void __stdcall GLee_Lazy_glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint * params) {if (GLeeInit()) glGetVideoCaptureivNV(video_capture_slot, pname, params);} - GLEEPFNGLGETVIDEOCAPTUREIVNVPROC GLeeFuncPtr_glGetVideoCaptureivNV=GLee_Lazy_glGetVideoCaptureivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoCaptureStreamivNV -#define GLEE_C_DEFINED_glGetVideoCaptureStreamivNV - void __stdcall GLee_Lazy_glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint * params) {if (GLeeInit()) glGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLGETVIDEOCAPTURESTREAMIVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamivNV=GLee_Lazy_glGetVideoCaptureStreamivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoCaptureStreamfvNV -#define GLEE_C_DEFINED_glGetVideoCaptureStreamfvNV - void __stdcall GLee_Lazy_glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat * params) {if (GLeeInit()) glGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLGETVIDEOCAPTURESTREAMFVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamfvNV=GLee_Lazy_glGetVideoCaptureStreamfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVideoCaptureStreamdvNV -#define GLEE_C_DEFINED_glGetVideoCaptureStreamdvNV - void __stdcall GLee_Lazy_glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLGETVIDEOCAPTURESTREAMDVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamdvNV=GLee_Lazy_glGetVideoCaptureStreamdvNV; -#endif -#ifndef GLEE_C_DEFINED_glVideoCaptureNV -#define GLEE_C_DEFINED_glVideoCaptureNV - GLenum __stdcall GLee_Lazy_glVideoCaptureNV(GLuint video_capture_slot, GLuint * sequence_num, GLuint64EXT * capture_time) {if (GLeeInit()) return glVideoCaptureNV(video_capture_slot, sequence_num, capture_time); return (GLenum)0;} - GLEEPFNGLVIDEOCAPTURENVPROC GLeeFuncPtr_glVideoCaptureNV=GLee_Lazy_glVideoCaptureNV; -#endif -#ifndef GLEE_C_DEFINED_glVideoCaptureStreamParameterivNV -#define GLEE_C_DEFINED_glVideoCaptureStreamParameterivNV - void __stdcall GLee_Lazy_glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint * params) {if (GLeeInit()) glVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterivNV=GLee_Lazy_glVideoCaptureStreamParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glVideoCaptureStreamParameterfvNV -#define GLEE_C_DEFINED_glVideoCaptureStreamParameterfvNV - void __stdcall GLee_Lazy_glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat * params) {if (GLeeInit()) glVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterfvNV=GLee_Lazy_glVideoCaptureStreamParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glVideoCaptureStreamParameterdvNV -#define GLEE_C_DEFINED_glVideoCaptureStreamParameterdvNV - void __stdcall GLee_Lazy_glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble * params) {if (GLeeInit()) glVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params);} - GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterdvNV=GLee_Lazy_glVideoCaptureStreamParameterdvNV; -#endif -#endif - -/* GL_NV_copy_image */ - -#ifdef __GLEE_GL_NV_copy_image -#ifndef GLEE_C_DEFINED_glCopyImageSubDataNV -#define GLEE_C_DEFINED_glCopyImageSubDataNV - void __stdcall GLee_Lazy_glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) glCopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);} - GLEEPFNGLCOPYIMAGESUBDATANVPROC GLeeFuncPtr_glCopyImageSubDataNV=GLee_Lazy_glCopyImageSubDataNV; -#endif -#endif - -/* GL_EXT_separate_shader_objects */ - -#ifdef __GLEE_GL_EXT_separate_shader_objects -#ifndef GLEE_C_DEFINED_glUseShaderProgramEXT -#define GLEE_C_DEFINED_glUseShaderProgramEXT - void __stdcall GLee_Lazy_glUseShaderProgramEXT(GLenum type, GLuint program) {if (GLeeInit()) glUseShaderProgramEXT(type, program);} - GLEEPFNGLUSESHADERPROGRAMEXTPROC GLeeFuncPtr_glUseShaderProgramEXT=GLee_Lazy_glUseShaderProgramEXT; -#endif -#ifndef GLEE_C_DEFINED_glActiveProgramEXT -#define GLEE_C_DEFINED_glActiveProgramEXT - void __stdcall GLee_Lazy_glActiveProgramEXT(GLuint program) {if (GLeeInit()) glActiveProgramEXT(program);} - GLEEPFNGLACTIVEPROGRAMEXTPROC GLeeFuncPtr_glActiveProgramEXT=GLee_Lazy_glActiveProgramEXT; -#endif -#ifndef GLEE_C_DEFINED_glCreateShaderProgramEXT -#define GLEE_C_DEFINED_glCreateShaderProgramEXT - GLuint __stdcall GLee_Lazy_glCreateShaderProgramEXT(GLenum type, const GLchar * string) {if (GLeeInit()) return glCreateShaderProgramEXT(type, string); return (GLuint)0;} - GLEEPFNGLCREATESHADERPROGRAMEXTPROC GLeeFuncPtr_glCreateShaderProgramEXT=GLee_Lazy_glCreateShaderProgramEXT; -#endif -#endif - -/* GL_NV_parameter_buffer_object2 */ - -#ifdef __GLEE_GL_NV_parameter_buffer_object2 -#endif - -/* GL_NV_shader_buffer_load */ - -#ifdef __GLEE_GL_NV_shader_buffer_load -#ifndef GLEE_C_DEFINED_glMakeBufferResidentNV -#define GLEE_C_DEFINED_glMakeBufferResidentNV - void __stdcall GLee_Lazy_glMakeBufferResidentNV(GLenum target, GLenum access) {if (GLeeInit()) glMakeBufferResidentNV(target, access);} - GLEEPFNGLMAKEBUFFERRESIDENTNVPROC GLeeFuncPtr_glMakeBufferResidentNV=GLee_Lazy_glMakeBufferResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeBufferNonResidentNV -#define GLEE_C_DEFINED_glMakeBufferNonResidentNV - void __stdcall GLee_Lazy_glMakeBufferNonResidentNV(GLenum target) {if (GLeeInit()) glMakeBufferNonResidentNV(target);} - GLEEPFNGLMAKEBUFFERNONRESIDENTNVPROC GLeeFuncPtr_glMakeBufferNonResidentNV=GLee_Lazy_glMakeBufferNonResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glIsBufferResidentNV -#define GLEE_C_DEFINED_glIsBufferResidentNV - GLboolean __stdcall GLee_Lazy_glIsBufferResidentNV(GLenum target) {if (GLeeInit()) return glIsBufferResidentNV(target); return (GLboolean)0;} - GLEEPFNGLISBUFFERRESIDENTNVPROC GLeeFuncPtr_glIsBufferResidentNV=GLee_Lazy_glIsBufferResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeNamedBufferResidentNV -#define GLEE_C_DEFINED_glMakeNamedBufferResidentNV - void __stdcall GLee_Lazy_glMakeNamedBufferResidentNV(GLuint buffer, GLenum access) {if (GLeeInit()) glMakeNamedBufferResidentNV(buffer, access);} - GLEEPFNGLMAKENAMEDBUFFERRESIDENTNVPROC GLeeFuncPtr_glMakeNamedBufferResidentNV=GLee_Lazy_glMakeNamedBufferResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeNamedBufferNonResidentNV -#define GLEE_C_DEFINED_glMakeNamedBufferNonResidentNV - void __stdcall GLee_Lazy_glMakeNamedBufferNonResidentNV(GLuint buffer) {if (GLeeInit()) glMakeNamedBufferNonResidentNV(buffer);} - GLEEPFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC GLeeFuncPtr_glMakeNamedBufferNonResidentNV=GLee_Lazy_glMakeNamedBufferNonResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glIsNamedBufferResidentNV -#define GLEE_C_DEFINED_glIsNamedBufferResidentNV - GLboolean __stdcall GLee_Lazy_glIsNamedBufferResidentNV(GLuint buffer) {if (GLeeInit()) return glIsNamedBufferResidentNV(buffer); return (GLboolean)0;} - GLEEPFNGLISNAMEDBUFFERRESIDENTNVPROC GLeeFuncPtr_glIsNamedBufferResidentNV=GLee_Lazy_glIsNamedBufferResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glGetBufferParameterui64vNV -#define GLEE_C_DEFINED_glGetBufferParameterui64vNV - void __stdcall GLee_Lazy_glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT * params) {if (GLeeInit()) glGetBufferParameterui64vNV(target, pname, params);} - GLEEPFNGLGETBUFFERPARAMETERUI64VNVPROC GLeeFuncPtr_glGetBufferParameterui64vNV=GLee_Lazy_glGetBufferParameterui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetNamedBufferParameterui64vNV -#define GLEE_C_DEFINED_glGetNamedBufferParameterui64vNV - void __stdcall GLee_Lazy_glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT * params) {if (GLeeInit()) glGetNamedBufferParameterui64vNV(buffer, pname, params);} - GLEEPFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC GLeeFuncPtr_glGetNamedBufferParameterui64vNV=GLee_Lazy_glGetNamedBufferParameterui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetIntegerui64vNV -#define GLEE_C_DEFINED_glGetIntegerui64vNV - void __stdcall GLee_Lazy_glGetIntegerui64vNV(GLenum value, GLuint64EXT * result) {if (GLeeInit()) glGetIntegerui64vNV(value, result);} - GLEEPFNGLGETINTEGERUI64VNVPROC GLeeFuncPtr_glGetIntegerui64vNV=GLee_Lazy_glGetIntegerui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniformui64NV -#define GLEE_C_DEFINED_glUniformui64NV - void __stdcall GLee_Lazy_glUniformui64NV(GLint location, GLuint64EXT value) {if (GLeeInit()) glUniformui64NV(location, value);} - GLEEPFNGLUNIFORMUI64NVPROC GLeeFuncPtr_glUniformui64NV=GLee_Lazy_glUniformui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniformui64vNV -#define GLEE_C_DEFINED_glUniformui64vNV - void __stdcall GLee_Lazy_glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glUniformui64vNV(location, count, value);} - GLEEPFNGLUNIFORMUI64VNVPROC GLeeFuncPtr_glUniformui64vNV=GLee_Lazy_glUniformui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformui64vNV -#define GLEE_C_DEFINED_glGetUniformui64vNV - void __stdcall GLee_Lazy_glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT * params) {if (GLeeInit()) glGetUniformui64vNV(program, location, params);} - GLEEPFNGLGETUNIFORMUI64VNVPROC GLeeFuncPtr_glGetUniformui64vNV=GLee_Lazy_glGetUniformui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformui64NV -#define GLEE_C_DEFINED_glProgramUniformui64NV - void __stdcall GLee_Lazy_glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT value) {if (GLeeInit()) glProgramUniformui64NV(program, location, value);} - GLEEPFNGLPROGRAMUNIFORMUI64NVPROC GLeeFuncPtr_glProgramUniformui64NV=GLee_Lazy_glProgramUniformui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformui64vNV -#define GLEE_C_DEFINED_glProgramUniformui64vNV - void __stdcall GLee_Lazy_glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glProgramUniformui64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORMUI64VNVPROC GLeeFuncPtr_glProgramUniformui64vNV=GLee_Lazy_glProgramUniformui64vNV; -#endif -#endif - -/* GL_NV_vertex_buffer_unified_memory */ - -#ifdef __GLEE_GL_NV_vertex_buffer_unified_memory -#ifndef GLEE_C_DEFINED_glBufferAddressRangeNV -#define GLEE_C_DEFINED_glBufferAddressRangeNV - void __stdcall GLee_Lazy_glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length) {if (GLeeInit()) glBufferAddressRangeNV(pname, index, address, length);} - GLEEPFNGLBUFFERADDRESSRANGENVPROC GLeeFuncPtr_glBufferAddressRangeNV=GLee_Lazy_glBufferAddressRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexFormatNV -#define GLEE_C_DEFINED_glVertexFormatNV - void __stdcall GLee_Lazy_glVertexFormatNV(GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glVertexFormatNV(size, type, stride);} - GLEEPFNGLVERTEXFORMATNVPROC GLeeFuncPtr_glVertexFormatNV=GLee_Lazy_glVertexFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glNormalFormatNV -#define GLEE_C_DEFINED_glNormalFormatNV - void __stdcall GLee_Lazy_glNormalFormatNV(GLenum type, GLsizei stride) {if (GLeeInit()) glNormalFormatNV(type, stride);} - GLEEPFNGLNORMALFORMATNVPROC GLeeFuncPtr_glNormalFormatNV=GLee_Lazy_glNormalFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glColorFormatNV -#define GLEE_C_DEFINED_glColorFormatNV - void __stdcall GLee_Lazy_glColorFormatNV(GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glColorFormatNV(size, type, stride);} - GLEEPFNGLCOLORFORMATNVPROC GLeeFuncPtr_glColorFormatNV=GLee_Lazy_glColorFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glIndexFormatNV -#define GLEE_C_DEFINED_glIndexFormatNV - void __stdcall GLee_Lazy_glIndexFormatNV(GLenum type, GLsizei stride) {if (GLeeInit()) glIndexFormatNV(type, stride);} - GLEEPFNGLINDEXFORMATNVPROC GLeeFuncPtr_glIndexFormatNV=GLee_Lazy_glIndexFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glTexCoordFormatNV -#define GLEE_C_DEFINED_glTexCoordFormatNV - void __stdcall GLee_Lazy_glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glTexCoordFormatNV(size, type, stride);} - GLEEPFNGLTEXCOORDFORMATNVPROC GLeeFuncPtr_glTexCoordFormatNV=GLee_Lazy_glTexCoordFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glEdgeFlagFormatNV -#define GLEE_C_DEFINED_glEdgeFlagFormatNV - void __stdcall GLee_Lazy_glEdgeFlagFormatNV(GLsizei stride) {if (GLeeInit()) glEdgeFlagFormatNV(stride);} - GLEEPFNGLEDGEFLAGFORMATNVPROC GLeeFuncPtr_glEdgeFlagFormatNV=GLee_Lazy_glEdgeFlagFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glSecondaryColorFormatNV -#define GLEE_C_DEFINED_glSecondaryColorFormatNV - void __stdcall GLee_Lazy_glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glSecondaryColorFormatNV(size, type, stride);} - GLEEPFNGLSECONDARYCOLORFORMATNVPROC GLeeFuncPtr_glSecondaryColorFormatNV=GLee_Lazy_glSecondaryColorFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glFogCoordFormatNV -#define GLEE_C_DEFINED_glFogCoordFormatNV - void __stdcall GLee_Lazy_glFogCoordFormatNV(GLenum type, GLsizei stride) {if (GLeeInit()) glFogCoordFormatNV(type, stride);} - GLEEPFNGLFOGCOORDFORMATNVPROC GLeeFuncPtr_glFogCoordFormatNV=GLee_Lazy_glFogCoordFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribFormatNV -#define GLEE_C_DEFINED_glVertexAttribFormatNV - void __stdcall GLee_Lazy_glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride) {if (GLeeInit()) glVertexAttribFormatNV(index, size, type, normalized, stride);} - GLEEPFNGLVERTEXATTRIBFORMATNVPROC GLeeFuncPtr_glVertexAttribFormatNV=GLee_Lazy_glVertexAttribFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribIFormatNV -#define GLEE_C_DEFINED_glVertexAttribIFormatNV - void __stdcall GLee_Lazy_glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glVertexAttribIFormatNV(index, size, type, stride);} - GLEEPFNGLVERTEXATTRIBIFORMATNVPROC GLeeFuncPtr_glVertexAttribIFormatNV=GLee_Lazy_glVertexAttribIFormatNV; -#endif -#ifndef GLEE_C_DEFINED_glGetIntegerui64i_vNV -#define GLEE_C_DEFINED_glGetIntegerui64i_vNV - void __stdcall GLee_Lazy_glGetIntegerui64i_vNV(GLenum value, GLuint index, GLuint64EXT * result) {if (GLeeInit()) glGetIntegerui64i_vNV(value, index, result);} - GLEEPFNGLGETINTEGERUI64I_VNVPROC GLeeFuncPtr_glGetIntegerui64i_vNV=GLee_Lazy_glGetIntegerui64i_vNV; -#endif -#endif - -/* GL_NV_texture_barrier */ - -#ifdef __GLEE_GL_NV_texture_barrier -#ifndef GLEE_C_DEFINED_glTextureBarrierNV -#define GLEE_C_DEFINED_glTextureBarrierNV - void __stdcall GLee_Lazy_glTextureBarrierNV(void) {if (GLeeInit()) glTextureBarrierNV();} - GLEEPFNGLTEXTUREBARRIERNVPROC GLeeFuncPtr_glTextureBarrierNV=GLee_Lazy_glTextureBarrierNV; -#endif -#endif - -/* GL_AMD_shader_stencil_export */ - -#ifdef __GLEE_GL_AMD_shader_stencil_export -#endif - -/* GL_AMD_seamless_cubemap_per_texture */ - -#ifdef __GLEE_GL_AMD_seamless_cubemap_per_texture -#endif - -/* GL_AMD_conservative_depth */ - -#ifdef __GLEE_GL_AMD_conservative_depth -#endif - -/* GL_EXT_shader_image_load_store */ - -#ifdef __GLEE_GL_EXT_shader_image_load_store -#ifndef GLEE_C_DEFINED_glBindImageTextureEXT -#define GLEE_C_DEFINED_glBindImageTextureEXT - void __stdcall GLee_Lazy_glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format) {if (GLeeInit()) glBindImageTextureEXT(index, texture, level, layered, layer, access, format);} - GLEEPFNGLBINDIMAGETEXTUREEXTPROC GLeeFuncPtr_glBindImageTextureEXT=GLee_Lazy_glBindImageTextureEXT; -#endif -#ifndef GLEE_C_DEFINED_glMemoryBarrierEXT -#define GLEE_C_DEFINED_glMemoryBarrierEXT - void __stdcall GLee_Lazy_glMemoryBarrierEXT(GLbitfield barriers) {if (GLeeInit()) glMemoryBarrierEXT(barriers);} - GLEEPFNGLMEMORYBARRIEREXTPROC GLeeFuncPtr_glMemoryBarrierEXT=GLee_Lazy_glMemoryBarrierEXT; -#endif -#endif - -/* GL_EXT_vertex_attrib_64bit */ - -#ifdef __GLEE_GL_EXT_vertex_attrib_64bit -#ifndef GLEE_C_DEFINED_glVertexAttribL1dEXT -#define GLEE_C_DEFINED_glVertexAttribL1dEXT - void __stdcall GLee_Lazy_glVertexAttribL1dEXT(GLuint index, GLdouble x) {if (GLeeInit()) glVertexAttribL1dEXT(index, x);} - GLEEPFNGLVERTEXATTRIBL1DEXTPROC GLeeFuncPtr_glVertexAttribL1dEXT=GLee_Lazy_glVertexAttribL1dEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2dEXT -#define GLEE_C_DEFINED_glVertexAttribL2dEXT - void __stdcall GLee_Lazy_glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y) {if (GLeeInit()) glVertexAttribL2dEXT(index, x, y);} - GLEEPFNGLVERTEXATTRIBL2DEXTPROC GLeeFuncPtr_glVertexAttribL2dEXT=GLee_Lazy_glVertexAttribL2dEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3dEXT -#define GLEE_C_DEFINED_glVertexAttribL3dEXT - void __stdcall GLee_Lazy_glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z) {if (GLeeInit()) glVertexAttribL3dEXT(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBL3DEXTPROC GLeeFuncPtr_glVertexAttribL3dEXT=GLee_Lazy_glVertexAttribL3dEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4dEXT -#define GLEE_C_DEFINED_glVertexAttribL4dEXT - void __stdcall GLee_Lazy_glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {if (GLeeInit()) glVertexAttribL4dEXT(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBL4DEXTPROC GLeeFuncPtr_glVertexAttribL4dEXT=GLee_Lazy_glVertexAttribL4dEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL1dvEXT -#define GLEE_C_DEFINED_glVertexAttribL1dvEXT - void __stdcall GLee_Lazy_glVertexAttribL1dvEXT(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL1dvEXT(index, v);} - GLEEPFNGLVERTEXATTRIBL1DVEXTPROC GLeeFuncPtr_glVertexAttribL1dvEXT=GLee_Lazy_glVertexAttribL1dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2dvEXT -#define GLEE_C_DEFINED_glVertexAttribL2dvEXT - void __stdcall GLee_Lazy_glVertexAttribL2dvEXT(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL2dvEXT(index, v);} - GLEEPFNGLVERTEXATTRIBL2DVEXTPROC GLeeFuncPtr_glVertexAttribL2dvEXT=GLee_Lazy_glVertexAttribL2dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3dvEXT -#define GLEE_C_DEFINED_glVertexAttribL3dvEXT - void __stdcall GLee_Lazy_glVertexAttribL3dvEXT(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL3dvEXT(index, v);} - GLEEPFNGLVERTEXATTRIBL3DVEXTPROC GLeeFuncPtr_glVertexAttribL3dvEXT=GLee_Lazy_glVertexAttribL3dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4dvEXT -#define GLEE_C_DEFINED_glVertexAttribL4dvEXT - void __stdcall GLee_Lazy_glVertexAttribL4dvEXT(GLuint index, const GLdouble * v) {if (GLeeInit()) glVertexAttribL4dvEXT(index, v);} - GLEEPFNGLVERTEXATTRIBL4DVEXTPROC GLeeFuncPtr_glVertexAttribL4dvEXT=GLee_Lazy_glVertexAttribL4dvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribLPointerEXT -#define GLEE_C_DEFINED_glVertexAttribLPointerEXT - void __stdcall GLee_Lazy_glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) {if (GLeeInit()) glVertexAttribLPointerEXT(index, size, type, stride, pointer);} - GLEEPFNGLVERTEXATTRIBLPOINTEREXTPROC GLeeFuncPtr_glVertexAttribLPointerEXT=GLee_Lazy_glVertexAttribLPointerEXT; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribLdvEXT -#define GLEE_C_DEFINED_glGetVertexAttribLdvEXT - void __stdcall GLee_Lazy_glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble * params) {if (GLeeInit()) glGetVertexAttribLdvEXT(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBLDVEXTPROC GLeeFuncPtr_glGetVertexAttribLdvEXT=GLee_Lazy_glGetVertexAttribLdvEXT; -#endif -#ifndef GLEE_C_DEFINED_glVertexArrayVertexAttribLOffsetEXT -#define GLEE_C_DEFINED_glVertexArrayVertexAttribLOffsetEXT - void __stdcall GLee_Lazy_glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) {if (GLeeInit()) glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset);} - GLEEPFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribLOffsetEXT=GLee_Lazy_glVertexArrayVertexAttribLOffsetEXT; -#endif -#endif - -/* GL_NV_gpu_program5 */ - -#ifdef __GLEE_GL_NV_gpu_program5 -#ifndef GLEE_C_DEFINED_glProgramSubroutineParametersuivNV -#define GLEE_C_DEFINED_glProgramSubroutineParametersuivNV - void __stdcall GLee_Lazy_glProgramSubroutineParametersuivNV(GLenum target, GLsizei count, const GLuint * params) {if (GLeeInit()) glProgramSubroutineParametersuivNV(target, count, params);} - GLEEPFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC GLeeFuncPtr_glProgramSubroutineParametersuivNV=GLee_Lazy_glProgramSubroutineParametersuivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetProgramSubroutineParameteruivNV -#define GLEE_C_DEFINED_glGetProgramSubroutineParameteruivNV - void __stdcall GLee_Lazy_glGetProgramSubroutineParameteruivNV(GLenum target, GLuint index, GLuint * param) {if (GLeeInit()) glGetProgramSubroutineParameteruivNV(target, index, param);} - GLEEPFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC GLeeFuncPtr_glGetProgramSubroutineParameteruivNV=GLee_Lazy_glGetProgramSubroutineParameteruivNV; -#endif -#endif - -/* GL_NV_gpu_shader5 */ - -#ifdef __GLEE_GL_NV_gpu_shader5 -#ifndef GLEE_C_DEFINED_glUniform1i64NV -#define GLEE_C_DEFINED_glUniform1i64NV - void __stdcall GLee_Lazy_glUniform1i64NV(GLint location, GLint64EXT x) {if (GLeeInit()) glUniform1i64NV(location, x);} - GLEEPFNGLUNIFORM1I64NVPROC GLeeFuncPtr_glUniform1i64NV=GLee_Lazy_glUniform1i64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform2i64NV -#define GLEE_C_DEFINED_glUniform2i64NV - void __stdcall GLee_Lazy_glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y) {if (GLeeInit()) glUniform2i64NV(location, x, y);} - GLEEPFNGLUNIFORM2I64NVPROC GLeeFuncPtr_glUniform2i64NV=GLee_Lazy_glUniform2i64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform3i64NV -#define GLEE_C_DEFINED_glUniform3i64NV - void __stdcall GLee_Lazy_glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) {if (GLeeInit()) glUniform3i64NV(location, x, y, z);} - GLEEPFNGLUNIFORM3I64NVPROC GLeeFuncPtr_glUniform3i64NV=GLee_Lazy_glUniform3i64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform4i64NV -#define GLEE_C_DEFINED_glUniform4i64NV - void __stdcall GLee_Lazy_glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) {if (GLeeInit()) glUniform4i64NV(location, x, y, z, w);} - GLEEPFNGLUNIFORM4I64NVPROC GLeeFuncPtr_glUniform4i64NV=GLee_Lazy_glUniform4i64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform1i64vNV -#define GLEE_C_DEFINED_glUniform1i64vNV - void __stdcall GLee_Lazy_glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glUniform1i64vNV(location, count, value);} - GLEEPFNGLUNIFORM1I64VNVPROC GLeeFuncPtr_glUniform1i64vNV=GLee_Lazy_glUniform1i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform2i64vNV -#define GLEE_C_DEFINED_glUniform2i64vNV - void __stdcall GLee_Lazy_glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glUniform2i64vNV(location, count, value);} - GLEEPFNGLUNIFORM2I64VNVPROC GLeeFuncPtr_glUniform2i64vNV=GLee_Lazy_glUniform2i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform3i64vNV -#define GLEE_C_DEFINED_glUniform3i64vNV - void __stdcall GLee_Lazy_glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glUniform3i64vNV(location, count, value);} - GLEEPFNGLUNIFORM3I64VNVPROC GLeeFuncPtr_glUniform3i64vNV=GLee_Lazy_glUniform3i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform4i64vNV -#define GLEE_C_DEFINED_glUniform4i64vNV - void __stdcall GLee_Lazy_glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glUniform4i64vNV(location, count, value);} - GLEEPFNGLUNIFORM4I64VNVPROC GLeeFuncPtr_glUniform4i64vNV=GLee_Lazy_glUniform4i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform1ui64NV -#define GLEE_C_DEFINED_glUniform1ui64NV - void __stdcall GLee_Lazy_glUniform1ui64NV(GLint location, GLuint64EXT x) {if (GLeeInit()) glUniform1ui64NV(location, x);} - GLEEPFNGLUNIFORM1UI64NVPROC GLeeFuncPtr_glUniform1ui64NV=GLee_Lazy_glUniform1ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform2ui64NV -#define GLEE_C_DEFINED_glUniform2ui64NV - void __stdcall GLee_Lazy_glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y) {if (GLeeInit()) glUniform2ui64NV(location, x, y);} - GLEEPFNGLUNIFORM2UI64NVPROC GLeeFuncPtr_glUniform2ui64NV=GLee_Lazy_glUniform2ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform3ui64NV -#define GLEE_C_DEFINED_glUniform3ui64NV - void __stdcall GLee_Lazy_glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) {if (GLeeInit()) glUniform3ui64NV(location, x, y, z);} - GLEEPFNGLUNIFORM3UI64NVPROC GLeeFuncPtr_glUniform3ui64NV=GLee_Lazy_glUniform3ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform4ui64NV -#define GLEE_C_DEFINED_glUniform4ui64NV - void __stdcall GLee_Lazy_glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) {if (GLeeInit()) glUniform4ui64NV(location, x, y, z, w);} - GLEEPFNGLUNIFORM4UI64NVPROC GLeeFuncPtr_glUniform4ui64NV=GLee_Lazy_glUniform4ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniform1ui64vNV -#define GLEE_C_DEFINED_glUniform1ui64vNV - void __stdcall GLee_Lazy_glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glUniform1ui64vNV(location, count, value);} - GLEEPFNGLUNIFORM1UI64VNVPROC GLeeFuncPtr_glUniform1ui64vNV=GLee_Lazy_glUniform1ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform2ui64vNV -#define GLEE_C_DEFINED_glUniform2ui64vNV - void __stdcall GLee_Lazy_glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glUniform2ui64vNV(location, count, value);} - GLEEPFNGLUNIFORM2UI64VNVPROC GLeeFuncPtr_glUniform2ui64vNV=GLee_Lazy_glUniform2ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform3ui64vNV -#define GLEE_C_DEFINED_glUniform3ui64vNV - void __stdcall GLee_Lazy_glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glUniform3ui64vNV(location, count, value);} - GLEEPFNGLUNIFORM3UI64VNVPROC GLeeFuncPtr_glUniform3ui64vNV=GLee_Lazy_glUniform3ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glUniform4ui64vNV -#define GLEE_C_DEFINED_glUniform4ui64vNV - void __stdcall GLee_Lazy_glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glUniform4ui64vNV(location, count, value);} - GLEEPFNGLUNIFORM4UI64VNVPROC GLeeFuncPtr_glUniform4ui64vNV=GLee_Lazy_glUniform4ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetUniformi64vNV -#define GLEE_C_DEFINED_glGetUniformi64vNV - void __stdcall GLee_Lazy_glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT * params) {if (GLeeInit()) glGetUniformi64vNV(program, location, params);} - GLEEPFNGLGETUNIFORMI64VNVPROC GLeeFuncPtr_glGetUniformi64vNV=GLee_Lazy_glGetUniformi64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1i64NV -#define GLEE_C_DEFINED_glProgramUniform1i64NV - void __stdcall GLee_Lazy_glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x) {if (GLeeInit()) glProgramUniform1i64NV(program, location, x);} - GLEEPFNGLPROGRAMUNIFORM1I64NVPROC GLeeFuncPtr_glProgramUniform1i64NV=GLee_Lazy_glProgramUniform1i64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2i64NV -#define GLEE_C_DEFINED_glProgramUniform2i64NV - void __stdcall GLee_Lazy_glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y) {if (GLeeInit()) glProgramUniform2i64NV(program, location, x, y);} - GLEEPFNGLPROGRAMUNIFORM2I64NVPROC GLeeFuncPtr_glProgramUniform2i64NV=GLee_Lazy_glProgramUniform2i64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3i64NV -#define GLEE_C_DEFINED_glProgramUniform3i64NV - void __stdcall GLee_Lazy_glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) {if (GLeeInit()) glProgramUniform3i64NV(program, location, x, y, z);} - GLEEPFNGLPROGRAMUNIFORM3I64NVPROC GLeeFuncPtr_glProgramUniform3i64NV=GLee_Lazy_glProgramUniform3i64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4i64NV -#define GLEE_C_DEFINED_glProgramUniform4i64NV - void __stdcall GLee_Lazy_glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) {if (GLeeInit()) glProgramUniform4i64NV(program, location, x, y, z, w);} - GLEEPFNGLPROGRAMUNIFORM4I64NVPROC GLeeFuncPtr_glProgramUniform4i64NV=GLee_Lazy_glProgramUniform4i64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1i64vNV -#define GLEE_C_DEFINED_glProgramUniform1i64vNV - void __stdcall GLee_Lazy_glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glProgramUniform1i64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1I64VNVPROC GLeeFuncPtr_glProgramUniform1i64vNV=GLee_Lazy_glProgramUniform1i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2i64vNV -#define GLEE_C_DEFINED_glProgramUniform2i64vNV - void __stdcall GLee_Lazy_glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glProgramUniform2i64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2I64VNVPROC GLeeFuncPtr_glProgramUniform2i64vNV=GLee_Lazy_glProgramUniform2i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3i64vNV -#define GLEE_C_DEFINED_glProgramUniform3i64vNV - void __stdcall GLee_Lazy_glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glProgramUniform3i64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3I64VNVPROC GLeeFuncPtr_glProgramUniform3i64vNV=GLee_Lazy_glProgramUniform3i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4i64vNV -#define GLEE_C_DEFINED_glProgramUniform4i64vNV - void __stdcall GLee_Lazy_glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT * value) {if (GLeeInit()) glProgramUniform4i64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4I64VNVPROC GLeeFuncPtr_glProgramUniform4i64vNV=GLee_Lazy_glProgramUniform4i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1ui64NV -#define GLEE_C_DEFINED_glProgramUniform1ui64NV - void __stdcall GLee_Lazy_glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x) {if (GLeeInit()) glProgramUniform1ui64NV(program, location, x);} - GLEEPFNGLPROGRAMUNIFORM1UI64NVPROC GLeeFuncPtr_glProgramUniform1ui64NV=GLee_Lazy_glProgramUniform1ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2ui64NV -#define GLEE_C_DEFINED_glProgramUniform2ui64NV - void __stdcall GLee_Lazy_glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y) {if (GLeeInit()) glProgramUniform2ui64NV(program, location, x, y);} - GLEEPFNGLPROGRAMUNIFORM2UI64NVPROC GLeeFuncPtr_glProgramUniform2ui64NV=GLee_Lazy_glProgramUniform2ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3ui64NV -#define GLEE_C_DEFINED_glProgramUniform3ui64NV - void __stdcall GLee_Lazy_glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) {if (GLeeInit()) glProgramUniform3ui64NV(program, location, x, y, z);} - GLEEPFNGLPROGRAMUNIFORM3UI64NVPROC GLeeFuncPtr_glProgramUniform3ui64NV=GLee_Lazy_glProgramUniform3ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4ui64NV -#define GLEE_C_DEFINED_glProgramUniform4ui64NV - void __stdcall GLee_Lazy_glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) {if (GLeeInit()) glProgramUniform4ui64NV(program, location, x, y, z, w);} - GLEEPFNGLPROGRAMUNIFORM4UI64NVPROC GLeeFuncPtr_glProgramUniform4ui64NV=GLee_Lazy_glProgramUniform4ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform1ui64vNV -#define GLEE_C_DEFINED_glProgramUniform1ui64vNV - void __stdcall GLee_Lazy_glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glProgramUniform1ui64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM1UI64VNVPROC GLeeFuncPtr_glProgramUniform1ui64vNV=GLee_Lazy_glProgramUniform1ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform2ui64vNV -#define GLEE_C_DEFINED_glProgramUniform2ui64vNV - void __stdcall GLee_Lazy_glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glProgramUniform2ui64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM2UI64VNVPROC GLeeFuncPtr_glProgramUniform2ui64vNV=GLee_Lazy_glProgramUniform2ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform3ui64vNV -#define GLEE_C_DEFINED_glProgramUniform3ui64vNV - void __stdcall GLee_Lazy_glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glProgramUniform3ui64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM3UI64VNVPROC GLeeFuncPtr_glProgramUniform3ui64vNV=GLee_Lazy_glProgramUniform3ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniform4ui64vNV -#define GLEE_C_DEFINED_glProgramUniform4ui64vNV - void __stdcall GLee_Lazy_glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value) {if (GLeeInit()) glProgramUniform4ui64vNV(program, location, count, value);} - GLEEPFNGLPROGRAMUNIFORM4UI64VNVPROC GLeeFuncPtr_glProgramUniform4ui64vNV=GLee_Lazy_glProgramUniform4ui64vNV; -#endif -#endif - -/* GL_NV_shader_buffer_store */ - -#ifdef __GLEE_GL_NV_shader_buffer_store -#endif - -/* GL_NV_tessellation_program5 */ - -#ifdef __GLEE_GL_NV_tessellation_program5 -#endif - -/* GL_NV_vertex_attrib_integer_64bit */ - -#ifdef __GLEE_GL_NV_vertex_attrib_integer_64bit -#ifndef GLEE_C_DEFINED_glVertexAttribL1i64NV -#define GLEE_C_DEFINED_glVertexAttribL1i64NV - void __stdcall GLee_Lazy_glVertexAttribL1i64NV(GLuint index, GLint64EXT x) {if (GLeeInit()) glVertexAttribL1i64NV(index, x);} - GLEEPFNGLVERTEXATTRIBL1I64NVPROC GLeeFuncPtr_glVertexAttribL1i64NV=GLee_Lazy_glVertexAttribL1i64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2i64NV -#define GLEE_C_DEFINED_glVertexAttribL2i64NV - void __stdcall GLee_Lazy_glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y) {if (GLeeInit()) glVertexAttribL2i64NV(index, x, y);} - GLEEPFNGLVERTEXATTRIBL2I64NVPROC GLeeFuncPtr_glVertexAttribL2i64NV=GLee_Lazy_glVertexAttribL2i64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3i64NV -#define GLEE_C_DEFINED_glVertexAttribL3i64NV - void __stdcall GLee_Lazy_glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z) {if (GLeeInit()) glVertexAttribL3i64NV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBL3I64NVPROC GLeeFuncPtr_glVertexAttribL3i64NV=GLee_Lazy_glVertexAttribL3i64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4i64NV -#define GLEE_C_DEFINED_glVertexAttribL4i64NV - void __stdcall GLee_Lazy_glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) {if (GLeeInit()) glVertexAttribL4i64NV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBL4I64NVPROC GLeeFuncPtr_glVertexAttribL4i64NV=GLee_Lazy_glVertexAttribL4i64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL1i64vNV -#define GLEE_C_DEFINED_glVertexAttribL1i64vNV - void __stdcall GLee_Lazy_glVertexAttribL1i64vNV(GLuint index, const GLint64EXT * v) {if (GLeeInit()) glVertexAttribL1i64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL1I64VNVPROC GLeeFuncPtr_glVertexAttribL1i64vNV=GLee_Lazy_glVertexAttribL1i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2i64vNV -#define GLEE_C_DEFINED_glVertexAttribL2i64vNV - void __stdcall GLee_Lazy_glVertexAttribL2i64vNV(GLuint index, const GLint64EXT * v) {if (GLeeInit()) glVertexAttribL2i64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL2I64VNVPROC GLeeFuncPtr_glVertexAttribL2i64vNV=GLee_Lazy_glVertexAttribL2i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3i64vNV -#define GLEE_C_DEFINED_glVertexAttribL3i64vNV - void __stdcall GLee_Lazy_glVertexAttribL3i64vNV(GLuint index, const GLint64EXT * v) {if (GLeeInit()) glVertexAttribL3i64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL3I64VNVPROC GLeeFuncPtr_glVertexAttribL3i64vNV=GLee_Lazy_glVertexAttribL3i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4i64vNV -#define GLEE_C_DEFINED_glVertexAttribL4i64vNV - void __stdcall GLee_Lazy_glVertexAttribL4i64vNV(GLuint index, const GLint64EXT * v) {if (GLeeInit()) glVertexAttribL4i64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL4I64VNVPROC GLeeFuncPtr_glVertexAttribL4i64vNV=GLee_Lazy_glVertexAttribL4i64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL1ui64NV -#define GLEE_C_DEFINED_glVertexAttribL1ui64NV - void __stdcall GLee_Lazy_glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x) {if (GLeeInit()) glVertexAttribL1ui64NV(index, x);} - GLEEPFNGLVERTEXATTRIBL1UI64NVPROC GLeeFuncPtr_glVertexAttribL1ui64NV=GLee_Lazy_glVertexAttribL1ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2ui64NV -#define GLEE_C_DEFINED_glVertexAttribL2ui64NV - void __stdcall GLee_Lazy_glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y) {if (GLeeInit()) glVertexAttribL2ui64NV(index, x, y);} - GLEEPFNGLVERTEXATTRIBL2UI64NVPROC GLeeFuncPtr_glVertexAttribL2ui64NV=GLee_Lazy_glVertexAttribL2ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3ui64NV -#define GLEE_C_DEFINED_glVertexAttribL3ui64NV - void __stdcall GLee_Lazy_glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) {if (GLeeInit()) glVertexAttribL3ui64NV(index, x, y, z);} - GLEEPFNGLVERTEXATTRIBL3UI64NVPROC GLeeFuncPtr_glVertexAttribL3ui64NV=GLee_Lazy_glVertexAttribL3ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4ui64NV -#define GLEE_C_DEFINED_glVertexAttribL4ui64NV - void __stdcall GLee_Lazy_glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) {if (GLeeInit()) glVertexAttribL4ui64NV(index, x, y, z, w);} - GLEEPFNGLVERTEXATTRIBL4UI64NVPROC GLeeFuncPtr_glVertexAttribL4ui64NV=GLee_Lazy_glVertexAttribL4ui64NV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL1ui64vNV -#define GLEE_C_DEFINED_glVertexAttribL1ui64vNV - void __stdcall GLee_Lazy_glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT * v) {if (GLeeInit()) glVertexAttribL1ui64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL1UI64VNVPROC GLeeFuncPtr_glVertexAttribL1ui64vNV=GLee_Lazy_glVertexAttribL1ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL2ui64vNV -#define GLEE_C_DEFINED_glVertexAttribL2ui64vNV - void __stdcall GLee_Lazy_glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT * v) {if (GLeeInit()) glVertexAttribL2ui64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL2UI64VNVPROC GLeeFuncPtr_glVertexAttribL2ui64vNV=GLee_Lazy_glVertexAttribL2ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL3ui64vNV -#define GLEE_C_DEFINED_glVertexAttribL3ui64vNV - void __stdcall GLee_Lazy_glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT * v) {if (GLeeInit()) glVertexAttribL3ui64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL3UI64VNVPROC GLeeFuncPtr_glVertexAttribL3ui64vNV=GLee_Lazy_glVertexAttribL3ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribL4ui64vNV -#define GLEE_C_DEFINED_glVertexAttribL4ui64vNV - void __stdcall GLee_Lazy_glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT * v) {if (GLeeInit()) glVertexAttribL4ui64vNV(index, v);} - GLEEPFNGLVERTEXATTRIBL4UI64VNVPROC GLeeFuncPtr_glVertexAttribL4ui64vNV=GLee_Lazy_glVertexAttribL4ui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribLi64vNV -#define GLEE_C_DEFINED_glGetVertexAttribLi64vNV - void __stdcall GLee_Lazy_glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT * params) {if (GLeeInit()) glGetVertexAttribLi64vNV(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBLI64VNVPROC GLeeFuncPtr_glGetVertexAttribLi64vNV=GLee_Lazy_glGetVertexAttribLi64vNV; -#endif -#ifndef GLEE_C_DEFINED_glGetVertexAttribLui64vNV -#define GLEE_C_DEFINED_glGetVertexAttribLui64vNV - void __stdcall GLee_Lazy_glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT * params) {if (GLeeInit()) glGetVertexAttribLui64vNV(index, pname, params);} - GLEEPFNGLGETVERTEXATTRIBLUI64VNVPROC GLeeFuncPtr_glGetVertexAttribLui64vNV=GLee_Lazy_glGetVertexAttribLui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glVertexAttribLFormatNV -#define GLEE_C_DEFINED_glVertexAttribLFormatNV - void __stdcall GLee_Lazy_glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride) {if (GLeeInit()) glVertexAttribLFormatNV(index, size, type, stride);} - GLEEPFNGLVERTEXATTRIBLFORMATNVPROC GLeeFuncPtr_glVertexAttribLFormatNV=GLee_Lazy_glVertexAttribLFormatNV; -#endif -#endif - -/* GL_NV_multisample_coverage */ - -#ifdef __GLEE_GL_NV_multisample_coverage -#endif - -/* GL_AMD_name_gen_delete */ - -#ifdef __GLEE_GL_AMD_name_gen_delete -#ifndef GLEE_C_DEFINED_glGenNamesAMD -#define GLEE_C_DEFINED_glGenNamesAMD - void __stdcall GLee_Lazy_glGenNamesAMD(GLenum identifier, GLuint num, GLuint * names) {if (GLeeInit()) glGenNamesAMD(identifier, num, names);} - GLEEPFNGLGENNAMESAMDPROC GLeeFuncPtr_glGenNamesAMD=GLee_Lazy_glGenNamesAMD; -#endif -#ifndef GLEE_C_DEFINED_glDeleteNamesAMD -#define GLEE_C_DEFINED_glDeleteNamesAMD - void __stdcall GLee_Lazy_glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint * names) {if (GLeeInit()) glDeleteNamesAMD(identifier, num, names);} - GLEEPFNGLDELETENAMESAMDPROC GLeeFuncPtr_glDeleteNamesAMD=GLee_Lazy_glDeleteNamesAMD; -#endif -#ifndef GLEE_C_DEFINED_glIsNameAMD -#define GLEE_C_DEFINED_glIsNameAMD - GLboolean __stdcall GLee_Lazy_glIsNameAMD(GLenum identifier, GLuint name) {if (GLeeInit()) return glIsNameAMD(identifier, name); return (GLboolean)0;} - GLEEPFNGLISNAMEAMDPROC GLeeFuncPtr_glIsNameAMD=GLee_Lazy_glIsNameAMD; -#endif -#endif - -/* GL_AMD_debug_output */ - -#ifdef __GLEE_GL_AMD_debug_output -#ifndef GLEE_C_DEFINED_glDebugMessageEnableAMD -#define GLEE_C_DEFINED_glDebugMessageEnableAMD - void __stdcall GLee_Lazy_glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled) {if (GLeeInit()) glDebugMessageEnableAMD(category, severity, count, ids, enabled);} - GLEEPFNGLDEBUGMESSAGEENABLEAMDPROC GLeeFuncPtr_glDebugMessageEnableAMD=GLee_Lazy_glDebugMessageEnableAMD; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageInsertAMD -#define GLEE_C_DEFINED_glDebugMessageInsertAMD - void __stdcall GLee_Lazy_glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar * buf) {if (GLeeInit()) glDebugMessageInsertAMD(category, severity, id, length, buf);} - GLEEPFNGLDEBUGMESSAGEINSERTAMDPROC GLeeFuncPtr_glDebugMessageInsertAMD=GLee_Lazy_glDebugMessageInsertAMD; -#endif -#ifndef GLEE_C_DEFINED_glDebugMessageCallbackAMD -#define GLEE_C_DEFINED_glDebugMessageCallbackAMD - void __stdcall GLee_Lazy_glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid * userParam) {if (GLeeInit()) glDebugMessageCallbackAMD(callback, userParam);} - GLEEPFNGLDEBUGMESSAGECALLBACKAMDPROC GLeeFuncPtr_glDebugMessageCallbackAMD=GLee_Lazy_glDebugMessageCallbackAMD; -#endif -#ifndef GLEE_C_DEFINED_glGetDebugMessageLogAMD -#define GLEE_C_DEFINED_glGetDebugMessageLogAMD - GLuint __stdcall GLee_Lazy_glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum * categories, GLuint * severities, GLuint * ids, GLsizei * lengths, GLchar * message) {if (GLeeInit()) return glGetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths, message); return (GLuint)0;} - GLEEPFNGLGETDEBUGMESSAGELOGAMDPROC GLeeFuncPtr_glGetDebugMessageLogAMD=GLee_Lazy_glGetDebugMessageLogAMD; -#endif -#endif - -/* GL_AMD_transform_feedback3_lines_triangles */ - -#ifdef __GLEE_GL_AMD_transform_feedback3_lines_triangles -#endif - -/* GL_AMD_depth_clamp_separate */ - -#ifdef __GLEE_GL_AMD_depth_clamp_separate -#endif - -/* GL_EXT_texture_sRGB_decode */ - -#ifdef __GLEE_GL_EXT_texture_sRGB_decode -#endif - -/* GL_NV_texture_multisample */ - -#ifdef __GLEE_GL_NV_texture_multisample -#ifndef GLEE_C_DEFINED_glTexImage2DMultisampleCoverageNV -#define GLEE_C_DEFINED_glTexImage2DMultisampleCoverageNV - void __stdcall GLee_Lazy_glTexImage2DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) {if (GLeeInit()) glTexImage2DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);} - GLEEPFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTexImage2DMultisampleCoverageNV=GLee_Lazy_glTexImage2DMultisampleCoverageNV; -#endif -#ifndef GLEE_C_DEFINED_glTexImage3DMultisampleCoverageNV -#define GLEE_C_DEFINED_glTexImage3DMultisampleCoverageNV - void __stdcall GLee_Lazy_glTexImage3DMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) {if (GLeeInit()) glTexImage3DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);} - GLEEPFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTexImage3DMultisampleCoverageNV=GLee_Lazy_glTexImage3DMultisampleCoverageNV; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage2DMultisampleNV -#define GLEE_C_DEFINED_glTextureImage2DMultisampleNV - void __stdcall GLee_Lazy_glTextureImage2DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) {if (GLeeInit()) glTextureImage2DMultisampleNV(texture, target, samples, internalFormat, width, height, fixedSampleLocations);} - GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC GLeeFuncPtr_glTextureImage2DMultisampleNV=GLee_Lazy_glTextureImage2DMultisampleNV; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage3DMultisampleNV -#define GLEE_C_DEFINED_glTextureImage3DMultisampleNV - void __stdcall GLee_Lazy_glTextureImage3DMultisampleNV(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) {if (GLeeInit()) glTextureImage3DMultisampleNV(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations);} - GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC GLeeFuncPtr_glTextureImage3DMultisampleNV=GLee_Lazy_glTextureImage3DMultisampleNV; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage2DMultisampleCoverageNV -#define GLEE_C_DEFINED_glTextureImage2DMultisampleCoverageNV - void __stdcall GLee_Lazy_glTextureImage2DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) {if (GLeeInit()) glTextureImage2DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);} - GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTextureImage2DMultisampleCoverageNV=GLee_Lazy_glTextureImage2DMultisampleCoverageNV; -#endif -#ifndef GLEE_C_DEFINED_glTextureImage3DMultisampleCoverageNV -#define GLEE_C_DEFINED_glTextureImage3DMultisampleCoverageNV - void __stdcall GLee_Lazy_glTextureImage3DMultisampleCoverageNV(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) {if (GLeeInit()) glTextureImage3DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);} - GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTextureImage3DMultisampleCoverageNV=GLee_Lazy_glTextureImage3DMultisampleCoverageNV; -#endif -#endif - -/* GL_AMD_blend_minmax_factor */ - -#ifdef __GLEE_GL_AMD_blend_minmax_factor -#endif - -/* GL_AMD_sample_positions */ - -#ifdef __GLEE_GL_AMD_sample_positions -#ifndef GLEE_C_DEFINED_glSetMultisamplefvAMD -#define GLEE_C_DEFINED_glSetMultisamplefvAMD - void __stdcall GLee_Lazy_glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat * val) {if (GLeeInit()) glSetMultisamplefvAMD(pname, index, val);} - GLEEPFNGLSETMULTISAMPLEFVAMDPROC GLeeFuncPtr_glSetMultisamplefvAMD=GLee_Lazy_glSetMultisamplefvAMD; -#endif -#endif - -/* GL_EXT_x11_sync_object */ - -#ifdef __GLEE_GL_EXT_x11_sync_object -#ifndef GLEE_C_DEFINED_glImportSyncEXT -#define GLEE_C_DEFINED_glImportSyncEXT - GLsync __stdcall GLee_Lazy_glImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags) {if (GLeeInit()) return glImportSyncEXT(external_sync_type, external_sync, flags); return (GLsync)0;} - GLEEPFNGLIMPORTSYNCEXTPROC GLeeFuncPtr_glImportSyncEXT=GLee_Lazy_glImportSyncEXT; -#endif -#endif - -/* GL_AMD_multi_draw_indirect */ - -#ifdef __GLEE_GL_AMD_multi_draw_indirect -#ifndef GLEE_C_DEFINED_glMultiDrawArraysIndirectAMD -#define GLEE_C_DEFINED_glMultiDrawArraysIndirectAMD - void __stdcall GLee_Lazy_glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid * indirect, GLsizei primcount, GLsizei stride) {if (GLeeInit()) glMultiDrawArraysIndirectAMD(mode, indirect, primcount, stride);} - GLEEPFNGLMULTIDRAWARRAYSINDIRECTAMDPROC GLeeFuncPtr_glMultiDrawArraysIndirectAMD=GLee_Lazy_glMultiDrawArraysIndirectAMD; -#endif -#ifndef GLEE_C_DEFINED_glMultiDrawElementsIndirectAMD -#define GLEE_C_DEFINED_glMultiDrawElementsIndirectAMD - void __stdcall GLee_Lazy_glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid * indirect, GLsizei primcount, GLsizei stride) {if (GLeeInit()) glMultiDrawElementsIndirectAMD(mode, type, indirect, primcount, stride);} - GLEEPFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC GLeeFuncPtr_glMultiDrawElementsIndirectAMD=GLee_Lazy_glMultiDrawElementsIndirectAMD; -#endif -#endif - -/* GL_EXT_framebuffer_multisample_blit_scaled */ - -#ifdef __GLEE_GL_EXT_framebuffer_multisample_blit_scaled -#endif - -/* GL_NV_path_rendering */ - -#ifdef __GLEE_GL_NV_path_rendering -#ifndef GLEE_C_DEFINED_glGenPathsNV -#define GLEE_C_DEFINED_glGenPathsNV - GLuint __stdcall GLee_Lazy_glGenPathsNV(GLsizei range) {if (GLeeInit()) return glGenPathsNV(range); return (GLuint)0;} - GLEEPFNGLGENPATHSNVPROC GLeeFuncPtr_glGenPathsNV=GLee_Lazy_glGenPathsNV; -#endif -#ifndef GLEE_C_DEFINED_glDeletePathsNV -#define GLEE_C_DEFINED_glDeletePathsNV - void __stdcall GLee_Lazy_glDeletePathsNV(GLuint path, GLsizei range) {if (GLeeInit()) glDeletePathsNV(path, range);} - GLEEPFNGLDELETEPATHSNVPROC GLeeFuncPtr_glDeletePathsNV=GLee_Lazy_glDeletePathsNV; -#endif -#ifndef GLEE_C_DEFINED_glIsPathNV -#define GLEE_C_DEFINED_glIsPathNV - GLboolean __stdcall GLee_Lazy_glIsPathNV(GLuint path) {if (GLeeInit()) return glIsPathNV(path); return (GLboolean)0;} - GLEEPFNGLISPATHNVPROC GLeeFuncPtr_glIsPathNV=GLee_Lazy_glIsPathNV; -#endif -#ifndef GLEE_C_DEFINED_glPathCommandsNV -#define GLEE_C_DEFINED_glPathCommandsNV - void __stdcall GLee_Lazy_glPathCommandsNV(GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coords) {if (GLeeInit()) glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords);} - GLEEPFNGLPATHCOMMANDSNVPROC GLeeFuncPtr_glPathCommandsNV=GLee_Lazy_glPathCommandsNV; -#endif -#ifndef GLEE_C_DEFINED_glPathCoordsNV -#define GLEE_C_DEFINED_glPathCoordsNV - void __stdcall GLee_Lazy_glPathCoordsNV(GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid * coords) {if (GLeeInit()) glPathCoordsNV(path, numCoords, coordType, coords);} - GLEEPFNGLPATHCOORDSNVPROC GLeeFuncPtr_glPathCoordsNV=GLee_Lazy_glPathCoordsNV; -#endif -#ifndef GLEE_C_DEFINED_glPathSubCommandsNV -#define GLEE_C_DEFINED_glPathSubCommandsNV - void __stdcall GLee_Lazy_glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coords) {if (GLeeInit()) glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords);} - GLEEPFNGLPATHSUBCOMMANDSNVPROC GLeeFuncPtr_glPathSubCommandsNV=GLee_Lazy_glPathSubCommandsNV; -#endif -#ifndef GLEE_C_DEFINED_glPathSubCoordsNV -#define GLEE_C_DEFINED_glPathSubCoordsNV - void __stdcall GLee_Lazy_glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid * coords) {if (GLeeInit()) glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords);} - GLEEPFNGLPATHSUBCOORDSNVPROC GLeeFuncPtr_glPathSubCoordsNV=GLee_Lazy_glPathSubCoordsNV; -#endif -#ifndef GLEE_C_DEFINED_glPathStringNV -#define GLEE_C_DEFINED_glPathStringNV - void __stdcall GLee_Lazy_glPathStringNV(GLuint path, GLenum format, GLsizei length, const GLvoid * pathString) {if (GLeeInit()) glPathStringNV(path, format, length, pathString);} - GLEEPFNGLPATHSTRINGNVPROC GLeeFuncPtr_glPathStringNV=GLee_Lazy_glPathStringNV; -#endif -#ifndef GLEE_C_DEFINED_glPathGlyphsNV -#define GLEE_C_DEFINED_glPathGlyphsNV - void __stdcall GLee_Lazy_glPathGlyphsNV(GLuint firstPathName, GLenum fontTarget, const GLvoid * fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid * charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) {if (GLeeInit()) glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale);} - GLEEPFNGLPATHGLYPHSNVPROC GLeeFuncPtr_glPathGlyphsNV=GLee_Lazy_glPathGlyphsNV; -#endif -#ifndef GLEE_C_DEFINED_glPathGlyphRangeNV -#define GLEE_C_DEFINED_glPathGlyphRangeNV - void __stdcall GLee_Lazy_glPathGlyphRangeNV(GLuint firstPathName, GLenum fontTarget, const GLvoid * fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) {if (GLeeInit()) glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale);} - GLEEPFNGLPATHGLYPHRANGENVPROC GLeeFuncPtr_glPathGlyphRangeNV=GLee_Lazy_glPathGlyphRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glWeightPathsNV -#define GLEE_C_DEFINED_glWeightPathsNV - void __stdcall GLee_Lazy_glWeightPathsNV(GLuint resultPath, GLsizei numPaths, const GLuint * paths, const GLfloat * weights) {if (GLeeInit()) glWeightPathsNV(resultPath, numPaths, paths, weights);} - GLEEPFNGLWEIGHTPATHSNVPROC GLeeFuncPtr_glWeightPathsNV=GLee_Lazy_glWeightPathsNV; -#endif -#ifndef GLEE_C_DEFINED_glCopyPathNV -#define GLEE_C_DEFINED_glCopyPathNV - void __stdcall GLee_Lazy_glCopyPathNV(GLuint resultPath, GLuint srcPath) {if (GLeeInit()) glCopyPathNV(resultPath, srcPath);} - GLEEPFNGLCOPYPATHNVPROC GLeeFuncPtr_glCopyPathNV=GLee_Lazy_glCopyPathNV; -#endif -#ifndef GLEE_C_DEFINED_glInterpolatePathsNV -#define GLEE_C_DEFINED_glInterpolatePathsNV - void __stdcall GLee_Lazy_glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight) {if (GLeeInit()) glInterpolatePathsNV(resultPath, pathA, pathB, weight);} - GLEEPFNGLINTERPOLATEPATHSNVPROC GLeeFuncPtr_glInterpolatePathsNV=GLee_Lazy_glInterpolatePathsNV; -#endif -#ifndef GLEE_C_DEFINED_glTransformPathNV -#define GLEE_C_DEFINED_glTransformPathNV - void __stdcall GLee_Lazy_glTransformPathNV(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat * transformValues) {if (GLeeInit()) glTransformPathNV(resultPath, srcPath, transformType, transformValues);} - GLEEPFNGLTRANSFORMPATHNVPROC GLeeFuncPtr_glTransformPathNV=GLee_Lazy_glTransformPathNV; -#endif -#ifndef GLEE_C_DEFINED_glPathParameterivNV -#define GLEE_C_DEFINED_glPathParameterivNV - void __stdcall GLee_Lazy_glPathParameterivNV(GLuint path, GLenum pname, const GLint * value) {if (GLeeInit()) glPathParameterivNV(path, pname, value);} - GLEEPFNGLPATHPARAMETERIVNVPROC GLeeFuncPtr_glPathParameterivNV=GLee_Lazy_glPathParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glPathParameteriNV -#define GLEE_C_DEFINED_glPathParameteriNV - void __stdcall GLee_Lazy_glPathParameteriNV(GLuint path, GLenum pname, GLint value) {if (GLeeInit()) glPathParameteriNV(path, pname, value);} - GLEEPFNGLPATHPARAMETERINVPROC GLeeFuncPtr_glPathParameteriNV=GLee_Lazy_glPathParameteriNV; -#endif -#ifndef GLEE_C_DEFINED_glPathParameterfvNV -#define GLEE_C_DEFINED_glPathParameterfvNV - void __stdcall GLee_Lazy_glPathParameterfvNV(GLuint path, GLenum pname, const GLfloat * value) {if (GLeeInit()) glPathParameterfvNV(path, pname, value);} - GLEEPFNGLPATHPARAMETERFVNVPROC GLeeFuncPtr_glPathParameterfvNV=GLee_Lazy_glPathParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glPathParameterfNV -#define GLEE_C_DEFINED_glPathParameterfNV - void __stdcall GLee_Lazy_glPathParameterfNV(GLuint path, GLenum pname, GLfloat value) {if (GLeeInit()) glPathParameterfNV(path, pname, value);} - GLEEPFNGLPATHPARAMETERFNVPROC GLeeFuncPtr_glPathParameterfNV=GLee_Lazy_glPathParameterfNV; -#endif -#ifndef GLEE_C_DEFINED_glPathDashArrayNV -#define GLEE_C_DEFINED_glPathDashArrayNV - void __stdcall GLee_Lazy_glPathDashArrayNV(GLuint path, GLsizei dashCount, const GLfloat * dashArray) {if (GLeeInit()) glPathDashArrayNV(path, dashCount, dashArray);} - GLEEPFNGLPATHDASHARRAYNVPROC GLeeFuncPtr_glPathDashArrayNV=GLee_Lazy_glPathDashArrayNV; -#endif -#ifndef GLEE_C_DEFINED_glPathStencilFuncNV -#define GLEE_C_DEFINED_glPathStencilFuncNV - void __stdcall GLee_Lazy_glPathStencilFuncNV(GLenum func, GLint ref, GLuint mask) {if (GLeeInit()) glPathStencilFuncNV(func, ref, mask);} - GLEEPFNGLPATHSTENCILFUNCNVPROC GLeeFuncPtr_glPathStencilFuncNV=GLee_Lazy_glPathStencilFuncNV; -#endif -#ifndef GLEE_C_DEFINED_glPathStencilDepthOffsetNV -#define GLEE_C_DEFINED_glPathStencilDepthOffsetNV - void __stdcall GLee_Lazy_glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units) {if (GLeeInit()) glPathStencilDepthOffsetNV(factor, units);} - GLEEPFNGLPATHSTENCILDEPTHOFFSETNVPROC GLeeFuncPtr_glPathStencilDepthOffsetNV=GLee_Lazy_glPathStencilDepthOffsetNV; -#endif -#ifndef GLEE_C_DEFINED_glStencilFillPathNV -#define GLEE_C_DEFINED_glStencilFillPathNV - void __stdcall GLee_Lazy_glStencilFillPathNV(GLuint path, GLenum fillMode, GLuint mask) {if (GLeeInit()) glStencilFillPathNV(path, fillMode, mask);} - GLEEPFNGLSTENCILFILLPATHNVPROC GLeeFuncPtr_glStencilFillPathNV=GLee_Lazy_glStencilFillPathNV; -#endif -#ifndef GLEE_C_DEFINED_glStencilStrokePathNV -#define GLEE_C_DEFINED_glStencilStrokePathNV - void __stdcall GLee_Lazy_glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask) {if (GLeeInit()) glStencilStrokePathNV(path, reference, mask);} - GLEEPFNGLSTENCILSTROKEPATHNVPROC GLeeFuncPtr_glStencilStrokePathNV=GLee_Lazy_glStencilStrokePathNV; -#endif -#ifndef GLEE_C_DEFINED_glStencilFillPathInstancedNV -#define GLEE_C_DEFINED_glStencilFillPathInstancedNV - void __stdcall GLee_Lazy_glStencilFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues) {if (GLeeInit()) glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues);} - GLEEPFNGLSTENCILFILLPATHINSTANCEDNVPROC GLeeFuncPtr_glStencilFillPathInstancedNV=GLee_Lazy_glStencilFillPathInstancedNV; -#endif -#ifndef GLEE_C_DEFINED_glStencilStrokePathInstancedNV -#define GLEE_C_DEFINED_glStencilStrokePathInstancedNV - void __stdcall GLee_Lazy_glStencilStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues) {if (GLeeInit()) glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues);} - GLEEPFNGLSTENCILSTROKEPATHINSTANCEDNVPROC GLeeFuncPtr_glStencilStrokePathInstancedNV=GLee_Lazy_glStencilStrokePathInstancedNV; -#endif -#ifndef GLEE_C_DEFINED_glPathCoverDepthFuncNV -#define GLEE_C_DEFINED_glPathCoverDepthFuncNV - void __stdcall GLee_Lazy_glPathCoverDepthFuncNV(GLenum func) {if (GLeeInit()) glPathCoverDepthFuncNV(func);} - GLEEPFNGLPATHCOVERDEPTHFUNCNVPROC GLeeFuncPtr_glPathCoverDepthFuncNV=GLee_Lazy_glPathCoverDepthFuncNV; -#endif -#ifndef GLEE_C_DEFINED_glPathColorGenNV -#define GLEE_C_DEFINED_glPathColorGenNV - void __stdcall GLee_Lazy_glPathColorGenNV(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat * coeffs) {if (GLeeInit()) glPathColorGenNV(color, genMode, colorFormat, coeffs);} - GLEEPFNGLPATHCOLORGENNVPROC GLeeFuncPtr_glPathColorGenNV=GLee_Lazy_glPathColorGenNV; -#endif -#ifndef GLEE_C_DEFINED_glPathTexGenNV -#define GLEE_C_DEFINED_glPathTexGenNV - void __stdcall GLee_Lazy_glPathTexGenNV(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat * coeffs) {if (GLeeInit()) glPathTexGenNV(texCoordSet, genMode, components, coeffs);} - GLEEPFNGLPATHTEXGENNVPROC GLeeFuncPtr_glPathTexGenNV=GLee_Lazy_glPathTexGenNV; -#endif -#ifndef GLEE_C_DEFINED_glPathFogGenNV -#define GLEE_C_DEFINED_glPathFogGenNV - void __stdcall GLee_Lazy_glPathFogGenNV(GLenum genMode) {if (GLeeInit()) glPathFogGenNV(genMode);} - GLEEPFNGLPATHFOGGENNVPROC GLeeFuncPtr_glPathFogGenNV=GLee_Lazy_glPathFogGenNV; -#endif -#ifndef GLEE_C_DEFINED_glCoverFillPathNV -#define GLEE_C_DEFINED_glCoverFillPathNV - void __stdcall GLee_Lazy_glCoverFillPathNV(GLuint path, GLenum coverMode) {if (GLeeInit()) glCoverFillPathNV(path, coverMode);} - GLEEPFNGLCOVERFILLPATHNVPROC GLeeFuncPtr_glCoverFillPathNV=GLee_Lazy_glCoverFillPathNV; -#endif -#ifndef GLEE_C_DEFINED_glCoverStrokePathNV -#define GLEE_C_DEFINED_glCoverStrokePathNV - void __stdcall GLee_Lazy_glCoverStrokePathNV(GLuint path, GLenum coverMode) {if (GLeeInit()) glCoverStrokePathNV(path, coverMode);} - GLEEPFNGLCOVERSTROKEPATHNVPROC GLeeFuncPtr_glCoverStrokePathNV=GLee_Lazy_glCoverStrokePathNV; -#endif -#ifndef GLEE_C_DEFINED_glCoverFillPathInstancedNV -#define GLEE_C_DEFINED_glCoverFillPathInstancedNV - void __stdcall GLee_Lazy_glCoverFillPathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues) {if (GLeeInit()) glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);} - GLEEPFNGLCOVERFILLPATHINSTANCEDNVPROC GLeeFuncPtr_glCoverFillPathInstancedNV=GLee_Lazy_glCoverFillPathInstancedNV; -#endif -#ifndef GLEE_C_DEFINED_glCoverStrokePathInstancedNV -#define GLEE_C_DEFINED_glCoverStrokePathInstancedNV - void __stdcall GLee_Lazy_glCoverStrokePathInstancedNV(GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues) {if (GLeeInit()) glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);} - GLEEPFNGLCOVERSTROKEPATHINSTANCEDNVPROC GLeeFuncPtr_glCoverStrokePathInstancedNV=GLee_Lazy_glCoverStrokePathInstancedNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathParameterivNV -#define GLEE_C_DEFINED_glGetPathParameterivNV - void __stdcall GLee_Lazy_glGetPathParameterivNV(GLuint path, GLenum pname, GLint * value) {if (GLeeInit()) glGetPathParameterivNV(path, pname, value);} - GLEEPFNGLGETPATHPARAMETERIVNVPROC GLeeFuncPtr_glGetPathParameterivNV=GLee_Lazy_glGetPathParameterivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathParameterfvNV -#define GLEE_C_DEFINED_glGetPathParameterfvNV - void __stdcall GLee_Lazy_glGetPathParameterfvNV(GLuint path, GLenum pname, GLfloat * value) {if (GLeeInit()) glGetPathParameterfvNV(path, pname, value);} - GLEEPFNGLGETPATHPARAMETERFVNVPROC GLeeFuncPtr_glGetPathParameterfvNV=GLee_Lazy_glGetPathParameterfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathCommandsNV -#define GLEE_C_DEFINED_glGetPathCommandsNV - void __stdcall GLee_Lazy_glGetPathCommandsNV(GLuint path, GLubyte * commands) {if (GLeeInit()) glGetPathCommandsNV(path, commands);} - GLEEPFNGLGETPATHCOMMANDSNVPROC GLeeFuncPtr_glGetPathCommandsNV=GLee_Lazy_glGetPathCommandsNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathCoordsNV -#define GLEE_C_DEFINED_glGetPathCoordsNV - void __stdcall GLee_Lazy_glGetPathCoordsNV(GLuint path, GLfloat * coords) {if (GLeeInit()) glGetPathCoordsNV(path, coords);} - GLEEPFNGLGETPATHCOORDSNVPROC GLeeFuncPtr_glGetPathCoordsNV=GLee_Lazy_glGetPathCoordsNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathDashArrayNV -#define GLEE_C_DEFINED_glGetPathDashArrayNV - void __stdcall GLee_Lazy_glGetPathDashArrayNV(GLuint path, GLfloat * dashArray) {if (GLeeInit()) glGetPathDashArrayNV(path, dashArray);} - GLEEPFNGLGETPATHDASHARRAYNVPROC GLeeFuncPtr_glGetPathDashArrayNV=GLee_Lazy_glGetPathDashArrayNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathMetricsNV -#define GLEE_C_DEFINED_glGetPathMetricsNV - void __stdcall GLee_Lazy_glGetPathMetricsNV(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLsizei stride, GLfloat * metrics) {if (GLeeInit()) glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics);} - GLEEPFNGLGETPATHMETRICSNVPROC GLeeFuncPtr_glGetPathMetricsNV=GLee_Lazy_glGetPathMetricsNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathMetricRangeNV -#define GLEE_C_DEFINED_glGetPathMetricRangeNV - void __stdcall GLee_Lazy_glGetPathMetricRangeNV(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat * metrics) {if (GLeeInit()) glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics);} - GLEEPFNGLGETPATHMETRICRANGENVPROC GLeeFuncPtr_glGetPathMetricRangeNV=GLee_Lazy_glGetPathMetricRangeNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathSpacingNV -#define GLEE_C_DEFINED_glGetPathSpacingNV - void __stdcall GLee_Lazy_glGetPathSpacingNV(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat * returnedSpacing) {if (GLeeInit()) glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing);} - GLEEPFNGLGETPATHSPACINGNVPROC GLeeFuncPtr_glGetPathSpacingNV=GLee_Lazy_glGetPathSpacingNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathColorGenivNV -#define GLEE_C_DEFINED_glGetPathColorGenivNV - void __stdcall GLee_Lazy_glGetPathColorGenivNV(GLenum color, GLenum pname, GLint * value) {if (GLeeInit()) glGetPathColorGenivNV(color, pname, value);} - GLEEPFNGLGETPATHCOLORGENIVNVPROC GLeeFuncPtr_glGetPathColorGenivNV=GLee_Lazy_glGetPathColorGenivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathColorGenfvNV -#define GLEE_C_DEFINED_glGetPathColorGenfvNV - void __stdcall GLee_Lazy_glGetPathColorGenfvNV(GLenum color, GLenum pname, GLfloat * value) {if (GLeeInit()) glGetPathColorGenfvNV(color, pname, value);} - GLEEPFNGLGETPATHCOLORGENFVNVPROC GLeeFuncPtr_glGetPathColorGenfvNV=GLee_Lazy_glGetPathColorGenfvNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathTexGenivNV -#define GLEE_C_DEFINED_glGetPathTexGenivNV - void __stdcall GLee_Lazy_glGetPathTexGenivNV(GLenum texCoordSet, GLenum pname, GLint * value) {if (GLeeInit()) glGetPathTexGenivNV(texCoordSet, pname, value);} - GLEEPFNGLGETPATHTEXGENIVNVPROC GLeeFuncPtr_glGetPathTexGenivNV=GLee_Lazy_glGetPathTexGenivNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathTexGenfvNV -#define GLEE_C_DEFINED_glGetPathTexGenfvNV - void __stdcall GLee_Lazy_glGetPathTexGenfvNV(GLenum texCoordSet, GLenum pname, GLfloat * value) {if (GLeeInit()) glGetPathTexGenfvNV(texCoordSet, pname, value);} - GLEEPFNGLGETPATHTEXGENFVNVPROC GLeeFuncPtr_glGetPathTexGenfvNV=GLee_Lazy_glGetPathTexGenfvNV; -#endif -#ifndef GLEE_C_DEFINED_glIsPointInFillPathNV -#define GLEE_C_DEFINED_glIsPointInFillPathNV - GLboolean __stdcall GLee_Lazy_glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y) {if (GLeeInit()) return glIsPointInFillPathNV(path, mask, x, y); return (GLboolean)0;} - GLEEPFNGLISPOINTINFILLPATHNVPROC GLeeFuncPtr_glIsPointInFillPathNV=GLee_Lazy_glIsPointInFillPathNV; -#endif -#ifndef GLEE_C_DEFINED_glIsPointInStrokePathNV -#define GLEE_C_DEFINED_glIsPointInStrokePathNV - GLboolean __stdcall GLee_Lazy_glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y) {if (GLeeInit()) return glIsPointInStrokePathNV(path, x, y); return (GLboolean)0;} - GLEEPFNGLISPOINTINSTROKEPATHNVPROC GLeeFuncPtr_glIsPointInStrokePathNV=GLee_Lazy_glIsPointInStrokePathNV; -#endif -#ifndef GLEE_C_DEFINED_glGetPathLengthNV -#define GLEE_C_DEFINED_glGetPathLengthNV - GLfloat __stdcall GLee_Lazy_glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments) {if (GLeeInit()) return glGetPathLengthNV(path, startSegment, numSegments); return (GLfloat)0;} - GLEEPFNGLGETPATHLENGTHNVPROC GLeeFuncPtr_glGetPathLengthNV=GLee_Lazy_glGetPathLengthNV; -#endif -#ifndef GLEE_C_DEFINED_glPointAlongPathNV -#define GLEE_C_DEFINED_glPointAlongPathNV - GLboolean __stdcall GLee_Lazy_glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat * x, GLfloat * y, GLfloat * tangentX, GLfloat * tangentY) {if (GLeeInit()) return glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY); return (GLboolean)0;} - GLEEPFNGLPOINTALONGPATHNVPROC GLeeFuncPtr_glPointAlongPathNV=GLee_Lazy_glPointAlongPathNV; -#endif -#endif - -/* GL_AMD_pinned_memory */ - -#ifdef __GLEE_GL_AMD_pinned_memory -#endif - -/* GL_AMD_stencil_operation_extended */ - -#ifdef __GLEE_GL_AMD_stencil_operation_extended -#ifndef GLEE_C_DEFINED_glStencilOpValueAMD -#define GLEE_C_DEFINED_glStencilOpValueAMD - void __stdcall GLee_Lazy_glStencilOpValueAMD(GLenum face, GLuint value) {if (GLeeInit()) glStencilOpValueAMD(face, value);} - GLEEPFNGLSTENCILOPVALUEAMDPROC GLeeFuncPtr_glStencilOpValueAMD=GLee_Lazy_glStencilOpValueAMD; -#endif -#endif - -/* GL_AMD_vertex_shader_viewport_index */ - -#ifdef __GLEE_GL_AMD_vertex_shader_viewport_index -#endif - -/* GL_AMD_vertex_shader_layer */ - -#ifdef __GLEE_GL_AMD_vertex_shader_layer -#endif - -/* GL_NV_bindless_texture */ - -#ifdef __GLEE_GL_NV_bindless_texture -#ifndef GLEE_C_DEFINED_glGetTextureHandleNV -#define GLEE_C_DEFINED_glGetTextureHandleNV - GLuint64 __stdcall GLee_Lazy_glGetTextureHandleNV(GLuint texture) {if (GLeeInit()) return glGetTextureHandleNV(texture); return (GLuint64)0;} - GLEEPFNGLGETTEXTUREHANDLENVPROC GLeeFuncPtr_glGetTextureHandleNV=GLee_Lazy_glGetTextureHandleNV; -#endif -#ifndef GLEE_C_DEFINED_glGetTextureSamplerHandleNV -#define GLEE_C_DEFINED_glGetTextureSamplerHandleNV - GLuint64 __stdcall GLee_Lazy_glGetTextureSamplerHandleNV(GLuint texture, GLuint sampler) {if (GLeeInit()) return glGetTextureSamplerHandleNV(texture, sampler); return (GLuint64)0;} - GLEEPFNGLGETTEXTURESAMPLERHANDLENVPROC GLeeFuncPtr_glGetTextureSamplerHandleNV=GLee_Lazy_glGetTextureSamplerHandleNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeTextureHandleResidentNV -#define GLEE_C_DEFINED_glMakeTextureHandleResidentNV - void __stdcall GLee_Lazy_glMakeTextureHandleResidentNV(GLuint64 handle) {if (GLeeInit()) glMakeTextureHandleResidentNV(handle);} - GLEEPFNGLMAKETEXTUREHANDLERESIDENTNVPROC GLeeFuncPtr_glMakeTextureHandleResidentNV=GLee_Lazy_glMakeTextureHandleResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeTextureHandleNonResidentNV -#define GLEE_C_DEFINED_glMakeTextureHandleNonResidentNV - void __stdcall GLee_Lazy_glMakeTextureHandleNonResidentNV(GLuint64 handle) {if (GLeeInit()) glMakeTextureHandleNonResidentNV(handle);} - GLEEPFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC GLeeFuncPtr_glMakeTextureHandleNonResidentNV=GLee_Lazy_glMakeTextureHandleNonResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glGetImageHandleNV -#define GLEE_C_DEFINED_glGetImageHandleNV - GLuint64 __stdcall GLee_Lazy_glGetImageHandleNV(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) {if (GLeeInit()) return glGetImageHandleNV(texture, level, layered, layer, format); return (GLuint64)0;} - GLEEPFNGLGETIMAGEHANDLENVPROC GLeeFuncPtr_glGetImageHandleNV=GLee_Lazy_glGetImageHandleNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeImageHandleResidentNV -#define GLEE_C_DEFINED_glMakeImageHandleResidentNV - void __stdcall GLee_Lazy_glMakeImageHandleResidentNV(GLuint64 handle, GLenum access) {if (GLeeInit()) glMakeImageHandleResidentNV(handle, access);} - GLEEPFNGLMAKEIMAGEHANDLERESIDENTNVPROC GLeeFuncPtr_glMakeImageHandleResidentNV=GLee_Lazy_glMakeImageHandleResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glMakeImageHandleNonResidentNV -#define GLEE_C_DEFINED_glMakeImageHandleNonResidentNV - void __stdcall GLee_Lazy_glMakeImageHandleNonResidentNV(GLuint64 handle) {if (GLeeInit()) glMakeImageHandleNonResidentNV(handle);} - GLEEPFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC GLeeFuncPtr_glMakeImageHandleNonResidentNV=GLee_Lazy_glMakeImageHandleNonResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glUniformHandleui64NV -#define GLEE_C_DEFINED_glUniformHandleui64NV - void __stdcall GLee_Lazy_glUniformHandleui64NV(GLint location, GLuint64 value) {if (GLeeInit()) glUniformHandleui64NV(location, value);} - GLEEPFNGLUNIFORMHANDLEUI64NVPROC GLeeFuncPtr_glUniformHandleui64NV=GLee_Lazy_glUniformHandleui64NV; -#endif -#ifndef GLEE_C_DEFINED_glUniformHandleui64vNV -#define GLEE_C_DEFINED_glUniformHandleui64vNV - void __stdcall GLee_Lazy_glUniformHandleui64vNV(GLint location, GLsizei count, const GLuint64 * value) {if (GLeeInit()) glUniformHandleui64vNV(location, count, value);} - GLEEPFNGLUNIFORMHANDLEUI64VNVPROC GLeeFuncPtr_glUniformHandleui64vNV=GLee_Lazy_glUniformHandleui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformHandleui64NV -#define GLEE_C_DEFINED_glProgramUniformHandleui64NV - void __stdcall GLee_Lazy_glProgramUniformHandleui64NV(GLuint program, GLint location, GLuint64 value) {if (GLeeInit()) glProgramUniformHandleui64NV(program, location, value);} - GLEEPFNGLPROGRAMUNIFORMHANDLEUI64NVPROC GLeeFuncPtr_glProgramUniformHandleui64NV=GLee_Lazy_glProgramUniformHandleui64NV; -#endif -#ifndef GLEE_C_DEFINED_glProgramUniformHandleui64vNV -#define GLEE_C_DEFINED_glProgramUniformHandleui64vNV - void __stdcall GLee_Lazy_glProgramUniformHandleui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64 * values) {if (GLeeInit()) glProgramUniformHandleui64vNV(program, location, count, values);} - GLEEPFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC GLeeFuncPtr_glProgramUniformHandleui64vNV=GLee_Lazy_glProgramUniformHandleui64vNV; -#endif -#ifndef GLEE_C_DEFINED_glIsTextureHandleResidentNV -#define GLEE_C_DEFINED_glIsTextureHandleResidentNV - GLboolean __stdcall GLee_Lazy_glIsTextureHandleResidentNV(GLuint64 handle) {if (GLeeInit()) return glIsTextureHandleResidentNV(handle); return (GLboolean)0;} - GLEEPFNGLISTEXTUREHANDLERESIDENTNVPROC GLeeFuncPtr_glIsTextureHandleResidentNV=GLee_Lazy_glIsTextureHandleResidentNV; -#endif -#ifndef GLEE_C_DEFINED_glIsImageHandleResidentNV -#define GLEE_C_DEFINED_glIsImageHandleResidentNV - GLboolean __stdcall GLee_Lazy_glIsImageHandleResidentNV(GLuint64 handle) {if (GLeeInit()) return glIsImageHandleResidentNV(handle); return (GLboolean)0;} - GLEEPFNGLISIMAGEHANDLERESIDENTNVPROC GLeeFuncPtr_glIsImageHandleResidentNV=GLee_Lazy_glIsImageHandleResidentNV; -#endif -#endif - -/* GL_NV_shader_atomic_float */ - -#ifdef __GLEE_GL_NV_shader_atomic_float -#endif - -/* GL_AMD_query_buffer_object */ - -#ifdef __GLEE_GL_AMD_query_buffer_object -#endif - -/* GL_NV_compute_program5 */ - -#ifdef __GLEE_GL_NV_compute_program5 -#endif - -/* GL_NV_shader_storage_buffer_object */ - -#ifdef __GLEE_GL_NV_shader_storage_buffer_object -#endif - -/* GL_NV_shader_atomic_counters */ - -#ifdef __GLEE_GL_NV_shader_atomic_counters -#endif - -/* GL_NV_deep_texture3D */ - -#ifdef __GLEE_GL_NV_deep_texture3D -#endif - -/* GL_NVX_conditional_render */ - -#ifdef __GLEE_GL_NVX_conditional_render -#ifndef GLEE_C_DEFINED_glBeginConditionalRenderNVX -#define GLEE_C_DEFINED_glBeginConditionalRenderNVX - void __stdcall GLee_Lazy_glBeginConditionalRenderNVX(GLuint id) {if (GLeeInit()) glBeginConditionalRenderNVX(id);} - GLEEPFNGLBEGINCONDITIONALRENDERNVXPROC GLeeFuncPtr_glBeginConditionalRenderNVX=GLee_Lazy_glBeginConditionalRenderNVX; -#endif -#ifndef GLEE_C_DEFINED_glEndConditionalRenderNVX -#define GLEE_C_DEFINED_glEndConditionalRenderNVX - void __stdcall GLee_Lazy_glEndConditionalRenderNVX(void) {if (GLeeInit()) glEndConditionalRenderNVX();} - GLEEPFNGLENDCONDITIONALRENDERNVXPROC GLeeFuncPtr_glEndConditionalRenderNVX=GLee_Lazy_glEndConditionalRenderNVX; -#endif -#endif - -/* GL_AMD_sparse_texture */ - -#ifdef __GLEE_GL_AMD_sparse_texture -#ifndef GLEE_C_DEFINED_glTexStorageSparseAMD -#define GLEE_C_DEFINED_glTexStorageSparseAMD - void __stdcall GLee_Lazy_glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) {if (GLeeInit()) glTexStorageSparseAMD(target, internalFormat, width, height, depth, layers, flags);} - GLEEPFNGLTEXSTORAGESPARSEAMDPROC GLeeFuncPtr_glTexStorageSparseAMD=GLee_Lazy_glTexStorageSparseAMD; -#endif -#ifndef GLEE_C_DEFINED_glTextureStorageSparseAMD -#define GLEE_C_DEFINED_glTextureStorageSparseAMD - void __stdcall GLee_Lazy_glTextureStorageSparseAMD(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) {if (GLeeInit()) glTextureStorageSparseAMD(texture, target, internalFormat, width, height, depth, layers, flags);} - GLEEPFNGLTEXTURESTORAGESPARSEAMDPROC GLeeFuncPtr_glTextureStorageSparseAMD=GLee_Lazy_glTextureStorageSparseAMD; -#endif -#endif - -/* GL_AMD_shader_trinary_minmax */ - -#ifdef __GLEE_GL_AMD_shader_trinary_minmax -#endif - -/* GL_INTEL_map_texture */ - -#ifdef __GLEE_GL_INTEL_map_texture -#ifndef GLEE_C_DEFINED_glSyncTextureINTEL -#define GLEE_C_DEFINED_glSyncTextureINTEL - void __stdcall GLee_Lazy_glSyncTextureINTEL(GLuint texture) {if (GLeeInit()) glSyncTextureINTEL(texture);} - GLEEPFNGLSYNCTEXTUREINTELPROC GLeeFuncPtr_glSyncTextureINTEL=GLee_Lazy_glSyncTextureINTEL; -#endif -#ifndef GLEE_C_DEFINED_glUnmapTexture2DINTEL -#define GLEE_C_DEFINED_glUnmapTexture2DINTEL - void __stdcall GLee_Lazy_glUnmapTexture2DINTEL(GLuint texture, GLint level) {if (GLeeInit()) glUnmapTexture2DINTEL(texture, level);} - GLEEPFNGLUNMAPTEXTURE2DINTELPROC GLeeFuncPtr_glUnmapTexture2DINTEL=GLee_Lazy_glUnmapTexture2DINTEL; -#endif -#ifndef GLEE_C_DEFINED_glMapTexture2DINTEL -#define GLEE_C_DEFINED_glMapTexture2DINTEL - GLvoid* __stdcall GLee_Lazy_glMapTexture2DINTEL(GLuint texture, GLint level, GLbitfield access, const GLint * stride, const GLenum * layout) {if (GLeeInit()) return glMapTexture2DINTEL(texture, level, access, stride, layout); return (GLvoid*)0;} - GLEEPFNGLMAPTEXTURE2DINTELPROC GLeeFuncPtr_glMapTexture2DINTEL=GLee_Lazy_glMapTexture2DINTEL; -#endif -#endif - -/* GL_NV_draw_texture */ - -#ifdef __GLEE_GL_NV_draw_texture -#ifndef GLEE_C_DEFINED_glDrawTextureNV -#define GLEE_C_DEFINED_glDrawTextureNV - void __stdcall GLee_Lazy_glDrawTextureNV(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1) {if (GLeeInit()) glDrawTextureNV(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1);} - GLEEPFNGLDRAWTEXTURENVPROC GLeeFuncPtr_glDrawTextureNV=GLee_Lazy_glDrawTextureNV; -#endif -#endif - -/* GL_SGIX_texture_select */ - -#ifdef __GLEE_GL_SGIX_texture_select -#endif - -/* GL_INGR_blend_func_separate */ - -#ifdef __GLEE_GL_INGR_blend_func_separate -#ifndef GLEE_C_DEFINED_glBlendFuncSeparateINGR -#define GLEE_C_DEFINED_glBlendFuncSeparateINGR - void __stdcall GLee_Lazy_glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {if (GLeeInit()) glBlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);} - GLEEPFNGLBLENDFUNCSEPARATEINGRPROC GLeeFuncPtr_glBlendFuncSeparateINGR=GLee_Lazy_glBlendFuncSeparateINGR; -#endif -#endif - -/* GL_SGIX_depth_pass_instrument */ - -#ifdef __GLEE_GL_SGIX_depth_pass_instrument -#endif - -/* GL_SGIX_igloo_interface */ - -#ifdef __GLEE_GL_SGIX_igloo_interface -#ifndef GLEE_C_DEFINED_glIglooInterfaceSGIX -#define GLEE_C_DEFINED_glIglooInterfaceSGIX - void __stdcall GLee_Lazy_glIglooInterfaceSGIX(GLenum pname, const GLvoid * params) {if (GLeeInit()) glIglooInterfaceSGIX(pname, params);} - GLEEPFNGLIGLOOINTERFACESGIXPROC GLeeFuncPtr_glIglooInterfaceSGIX=GLee_Lazy_glIglooInterfaceSGIX; -#endif -#endif - -/* WGL */ - -#ifdef _WIN32 - -/* Extension querying variables */ - -GLboolean _GLEE_WGL_ARB_buffer_region = GL_FALSE; -GLboolean _GLEE_WGL_ARB_multisample = GL_FALSE; -GLboolean _GLEE_WGL_ARB_extensions_string = GL_FALSE; -GLboolean _GLEE_WGL_ARB_pixel_format = GL_FALSE; -GLboolean _GLEE_WGL_ARB_make_current_read = GL_FALSE; -GLboolean _GLEE_WGL_ARB_pbuffer = GL_FALSE; -GLboolean _GLEE_WGL_ARB_render_texture = GL_FALSE; -GLboolean _GLEE_WGL_ARB_pixel_format_float = GL_FALSE; -GLboolean _GLEE_WGL_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_WGL_ARB_create_context = GL_FALSE; -GLboolean _GLEE_WGL_ARB_create_context_profile = GL_FALSE; -GLboolean _GLEE_WGL_ARB_create_context_robustness = GL_FALSE; -GLboolean _GLEE_WGL_EXT_make_current_read = GL_FALSE; -GLboolean _GLEE_WGL_EXT_pixel_format = GL_FALSE; -GLboolean _GLEE_WGL_EXT_pbuffer = GL_FALSE; -GLboolean _GLEE_WGL_EXT_depth_float = GL_FALSE; -GLboolean _GLEE_WGL_3DFX_multisample = GL_FALSE; -GLboolean _GLEE_WGL_EXT_multisample = GL_FALSE; -GLboolean _GLEE_WGL_I3D_digital_video_control = GL_FALSE; -GLboolean _GLEE_WGL_I3D_gamma = GL_FALSE; -GLboolean _GLEE_WGL_I3D_genlock = GL_FALSE; -GLboolean _GLEE_WGL_I3D_image_buffer = GL_FALSE; -GLboolean _GLEE_WGL_I3D_swap_frame_lock = GL_FALSE; -GLboolean _GLEE_WGL_NV_render_depth_texture = GL_FALSE; -GLboolean _GLEE_WGL_NV_render_texture_rectangle = GL_FALSE; -GLboolean _GLEE_WGL_ATI_pixel_format_float = GL_FALSE; -GLboolean _GLEE_WGL_NV_float_buffer = GL_FALSE; -GLboolean _GLEE_WGL_3DL_stereo_control = GL_FALSE; -GLboolean _GLEE_WGL_EXT_pixel_format_packed_float = GL_FALSE; -GLboolean _GLEE_WGL_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_WGL_NV_present_video = GL_FALSE; -GLboolean _GLEE_WGL_NV_swap_group = GL_FALSE; -GLboolean _GLEE_WGL_NV_gpu_affinity = GL_FALSE; -GLboolean _GLEE_WGL_AMD_gpu_association = GL_FALSE; -GLboolean _GLEE_WGL_NV_copy_image = GL_FALSE; -GLboolean _GLEE_WGL_NV_multisample_coverage = GL_FALSE; -GLboolean _GLEE_WGL_EXT_create_context_es2_profile = GL_FALSE; -GLboolean _GLEE_WGL_NV_DX_interop = GL_FALSE; -GLboolean _GLEE_WGL_NV_DX_interop2 = GL_FALSE; -GLboolean _GLEE_WGL_EXT_swap_control_tear = GL_FALSE; -GLboolean _GLEE_WGL_EXT_display_color_table = GL_FALSE; -GLboolean _GLEE_WGL_EXT_extensions_string = GL_FALSE; -GLboolean _GLEE_WGL_EXT_swap_control = GL_FALSE; -GLboolean _GLEE_WGL_NV_vertex_array_range = GL_FALSE; -GLboolean _GLEE_WGL_OML_sync_control = GL_FALSE; -GLboolean _GLEE_WGL_I3D_swap_frame_usage = GL_FALSE; -GLboolean _GLEE_WGL_NV_video_output = GL_FALSE; - -/* WGL Extension names */ - -char __GLeeWGLExtensionNames[47][35]={ - "WGL_ARB_buffer_region", - "WGL_ARB_multisample", - "WGL_ARB_extensions_string", - "WGL_ARB_pixel_format", - "WGL_ARB_make_current_read", - "WGL_ARB_pbuffer", - "WGL_ARB_render_texture", - "WGL_ARB_pixel_format_float", - "WGL_ARB_framebuffer_sRGB", - "WGL_ARB_create_context", - "WGL_ARB_create_context_profile", - "WGL_ARB_create_context_robustness", - "WGL_EXT_make_current_read", - "WGL_EXT_pixel_format", - "WGL_EXT_pbuffer", - "WGL_EXT_depth_float", - "WGL_3DFX_multisample", - "WGL_EXT_multisample", - "WGL_I3D_digital_video_control", - "WGL_I3D_gamma", - "WGL_I3D_genlock", - "WGL_I3D_image_buffer", - "WGL_I3D_swap_frame_lock", - "WGL_NV_render_depth_texture", - "WGL_NV_render_texture_rectangle", - "WGL_ATI_pixel_format_float", - "WGL_NV_float_buffer", - "WGL_3DL_stereo_control", - "WGL_EXT_pixel_format_packed_float", - "WGL_EXT_framebuffer_sRGB", - "WGL_NV_present_video", - "WGL_NV_swap_group", - "WGL_NV_gpu_affinity", - "WGL_AMD_gpu_association", - "WGL_NV_copy_image", - "WGL_NV_multisample_coverage", - "WGL_EXT_create_context_es2_profile", - "WGL_NV_DX_interop", - "WGL_NV_DX_interop2", - "WGL_EXT_swap_control_tear", - "WGL_EXT_display_color_table", - "WGL_EXT_extensions_string", - "WGL_EXT_swap_control", - "WGL_NV_vertex_array_range", - "WGL_OML_sync_control", - "WGL_I3D_swap_frame_usage", - "WGL_NV_video_output" -}; -int __GLeeWGLNumExtensions=47; - -/* WGL_ARB_buffer_region */ - -#ifdef __GLEE_WGL_ARB_buffer_region -#ifndef GLEE_C_DEFINED_wglCreateBufferRegionARB -#define GLEE_C_DEFINED_wglCreateBufferRegionARB - HANDLE __stdcall GLee_Lazy_wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType) {if (GLeeInit()) return wglCreateBufferRegionARB(hDC, iLayerPlane, uType); return (HANDLE)0;} - GLEEPFNWGLCREATEBUFFERREGIONARBPROC GLeeFuncPtr_wglCreateBufferRegionARB=GLee_Lazy_wglCreateBufferRegionARB; -#endif -#ifndef GLEE_C_DEFINED_wglDeleteBufferRegionARB -#define GLEE_C_DEFINED_wglDeleteBufferRegionARB - VOID __stdcall GLee_Lazy_wglDeleteBufferRegionARB(HANDLE hRegion) {if (GLeeInit()) wglDeleteBufferRegionARB(hRegion);} - GLEEPFNWGLDELETEBUFFERREGIONARBPROC GLeeFuncPtr_wglDeleteBufferRegionARB=GLee_Lazy_wglDeleteBufferRegionARB; -#endif -#ifndef GLEE_C_DEFINED_wglSaveBufferRegionARB -#define GLEE_C_DEFINED_wglSaveBufferRegionARB - BOOL __stdcall GLee_Lazy_wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height) {if (GLeeInit()) return wglSaveBufferRegionARB(hRegion, x, y, width, height); return (BOOL)0;} - GLEEPFNWGLSAVEBUFFERREGIONARBPROC GLeeFuncPtr_wglSaveBufferRegionARB=GLee_Lazy_wglSaveBufferRegionARB; -#endif -#ifndef GLEE_C_DEFINED_wglRestoreBufferRegionARB -#define GLEE_C_DEFINED_wglRestoreBufferRegionARB - BOOL __stdcall GLee_Lazy_wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc) {if (GLeeInit()) return wglRestoreBufferRegionARB(hRegion, x, y, width, height, xSrc, ySrc); return (BOOL)0;} - GLEEPFNWGLRESTOREBUFFERREGIONARBPROC GLeeFuncPtr_wglRestoreBufferRegionARB=GLee_Lazy_wglRestoreBufferRegionARB; -#endif -#endif - -/* WGL_ARB_multisample */ - -#ifdef __GLEE_WGL_ARB_multisample -#endif - -/* WGL_ARB_extensions_string */ - -#ifdef __GLEE_WGL_ARB_extensions_string -#ifndef GLEE_C_DEFINED_wglGetExtensionsStringARB -#define GLEE_C_DEFINED_wglGetExtensionsStringARB - const char * __stdcall GLee_Lazy_wglGetExtensionsStringARB(HDC hdc) {if (GLeeInit()) return wglGetExtensionsStringARB(hdc); return (const char *)0;} - GLEEPFNWGLGETEXTENSIONSSTRINGARBPROC GLeeFuncPtr_wglGetExtensionsStringARB=GLee_Lazy_wglGetExtensionsStringARB; -#endif -#endif - -/* WGL_ARB_pixel_format */ - -#ifdef __GLEE_WGL_ARB_pixel_format -#ifndef GLEE_C_DEFINED_wglGetPixelFormatAttribivARB -#define GLEE_C_DEFINED_wglGetPixelFormatAttribivARB - BOOL __stdcall GLee_Lazy_wglGetPixelFormatAttribivARB(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, int * piValues) {if (GLeeInit()) return wglGetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); return (BOOL)0;} - GLEEPFNWGLGETPIXELFORMATATTRIBIVARBPROC GLeeFuncPtr_wglGetPixelFormatAttribivARB=GLee_Lazy_wglGetPixelFormatAttribivARB; -#endif -#ifndef GLEE_C_DEFINED_wglGetPixelFormatAttribfvARB -#define GLEE_C_DEFINED_wglGetPixelFormatAttribfvARB - BOOL __stdcall GLee_Lazy_wglGetPixelFormatAttribfvARB(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, FLOAT * pfValues) {if (GLeeInit()) return wglGetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); return (BOOL)0;} - GLEEPFNWGLGETPIXELFORMATATTRIBFVARBPROC GLeeFuncPtr_wglGetPixelFormatAttribfvARB=GLee_Lazy_wglGetPixelFormatAttribfvARB; -#endif -#ifndef GLEE_C_DEFINED_wglChoosePixelFormatARB -#define GLEE_C_DEFINED_wglChoosePixelFormatARB - BOOL __stdcall GLee_Lazy_wglChoosePixelFormatARB(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats) {if (GLeeInit()) return wglChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); return (BOOL)0;} - GLEEPFNWGLCHOOSEPIXELFORMATARBPROC GLeeFuncPtr_wglChoosePixelFormatARB=GLee_Lazy_wglChoosePixelFormatARB; -#endif -#endif - -/* WGL_ARB_make_current_read */ - -#ifdef __GLEE_WGL_ARB_make_current_read -#ifndef GLEE_C_DEFINED_wglMakeContextCurrentARB -#define GLEE_C_DEFINED_wglMakeContextCurrentARB - BOOL __stdcall GLee_Lazy_wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc) {if (GLeeInit()) return wglMakeContextCurrentARB(hDrawDC, hReadDC, hglrc); return (BOOL)0;} - GLEEPFNWGLMAKECONTEXTCURRENTARBPROC GLeeFuncPtr_wglMakeContextCurrentARB=GLee_Lazy_wglMakeContextCurrentARB; -#endif -#ifndef GLEE_C_DEFINED_wglGetCurrentReadDCARB -#define GLEE_C_DEFINED_wglGetCurrentReadDCARB - HDC __stdcall GLee_Lazy_wglGetCurrentReadDCARB(void) {if (GLeeInit()) return wglGetCurrentReadDCARB(); return (HDC)0;} - GLEEPFNWGLGETCURRENTREADDCARBPROC GLeeFuncPtr_wglGetCurrentReadDCARB=GLee_Lazy_wglGetCurrentReadDCARB; -#endif -#endif - -/* WGL_ARB_pbuffer */ - -#ifdef __GLEE_WGL_ARB_pbuffer -#ifndef GLEE_C_DEFINED_wglCreatePbufferARB -#define GLEE_C_DEFINED_wglCreatePbufferARB - HPBUFFERARB __stdcall GLee_Lazy_wglCreatePbufferARB(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList) {if (GLeeInit()) return wglCreatePbufferARB(hDC, iPixelFormat, iWidth, iHeight, piAttribList); return (HPBUFFERARB)0;} - GLEEPFNWGLCREATEPBUFFERARBPROC GLeeFuncPtr_wglCreatePbufferARB=GLee_Lazy_wglCreatePbufferARB; -#endif -#ifndef GLEE_C_DEFINED_wglGetPbufferDCARB -#define GLEE_C_DEFINED_wglGetPbufferDCARB - HDC __stdcall GLee_Lazy_wglGetPbufferDCARB(HPBUFFERARB hPbuffer) {if (GLeeInit()) return wglGetPbufferDCARB(hPbuffer); return (HDC)0;} - GLEEPFNWGLGETPBUFFERDCARBPROC GLeeFuncPtr_wglGetPbufferDCARB=GLee_Lazy_wglGetPbufferDCARB; -#endif -#ifndef GLEE_C_DEFINED_wglReleasePbufferDCARB -#define GLEE_C_DEFINED_wglReleasePbufferDCARB - int __stdcall GLee_Lazy_wglReleasePbufferDCARB(HPBUFFERARB hPbuffer, HDC hDC) {if (GLeeInit()) return wglReleasePbufferDCARB(hPbuffer, hDC); return (int)0;} - GLEEPFNWGLRELEASEPBUFFERDCARBPROC GLeeFuncPtr_wglReleasePbufferDCARB=GLee_Lazy_wglReleasePbufferDCARB; -#endif -#ifndef GLEE_C_DEFINED_wglDestroyPbufferARB -#define GLEE_C_DEFINED_wglDestroyPbufferARB - BOOL __stdcall GLee_Lazy_wglDestroyPbufferARB(HPBUFFERARB hPbuffer) {if (GLeeInit()) return wglDestroyPbufferARB(hPbuffer); return (BOOL)0;} - GLEEPFNWGLDESTROYPBUFFERARBPROC GLeeFuncPtr_wglDestroyPbufferARB=GLee_Lazy_wglDestroyPbufferARB; -#endif -#ifndef GLEE_C_DEFINED_wglQueryPbufferARB -#define GLEE_C_DEFINED_wglQueryPbufferARB - BOOL __stdcall GLee_Lazy_wglQueryPbufferARB(HPBUFFERARB hPbuffer, int iAttribute, int * piValue) {if (GLeeInit()) return wglQueryPbufferARB(hPbuffer, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLQUERYPBUFFERARBPROC GLeeFuncPtr_wglQueryPbufferARB=GLee_Lazy_wglQueryPbufferARB; -#endif -#endif - -/* WGL_ARB_render_texture */ - -#ifdef __GLEE_WGL_ARB_render_texture -#ifndef GLEE_C_DEFINED_wglBindTexImageARB -#define GLEE_C_DEFINED_wglBindTexImageARB - BOOL __stdcall GLee_Lazy_wglBindTexImageARB(HPBUFFERARB hPbuffer, int iBuffer) {if (GLeeInit()) return wglBindTexImageARB(hPbuffer, iBuffer); return (BOOL)0;} - GLEEPFNWGLBINDTEXIMAGEARBPROC GLeeFuncPtr_wglBindTexImageARB=GLee_Lazy_wglBindTexImageARB; -#endif -#ifndef GLEE_C_DEFINED_wglReleaseTexImageARB -#define GLEE_C_DEFINED_wglReleaseTexImageARB - BOOL __stdcall GLee_Lazy_wglReleaseTexImageARB(HPBUFFERARB hPbuffer, int iBuffer) {if (GLeeInit()) return wglReleaseTexImageARB(hPbuffer, iBuffer); return (BOOL)0;} - GLEEPFNWGLRELEASETEXIMAGEARBPROC GLeeFuncPtr_wglReleaseTexImageARB=GLee_Lazy_wglReleaseTexImageARB; -#endif -#ifndef GLEE_C_DEFINED_wglSetPbufferAttribARB -#define GLEE_C_DEFINED_wglSetPbufferAttribARB - BOOL __stdcall GLee_Lazy_wglSetPbufferAttribARB(HPBUFFERARB hPbuffer, const int * piAttribList) {if (GLeeInit()) return wglSetPbufferAttribARB(hPbuffer, piAttribList); return (BOOL)0;} - GLEEPFNWGLSETPBUFFERATTRIBARBPROC GLeeFuncPtr_wglSetPbufferAttribARB=GLee_Lazy_wglSetPbufferAttribARB; -#endif -#endif - -/* WGL_ARB_pixel_format_float */ - -#ifdef __GLEE_WGL_ARB_pixel_format_float -#endif - -/* WGL_ARB_framebuffer_sRGB */ - -#ifdef __GLEE_WGL_ARB_framebuffer_sRGB -#endif - -/* WGL_ARB_create_context */ - -#ifdef __GLEE_WGL_ARB_create_context -#ifndef GLEE_C_DEFINED_wglCreateContextAttribsARB -#define GLEE_C_DEFINED_wglCreateContextAttribsARB - HGLRC __stdcall GLee_Lazy_wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int * attribList) {if (GLeeInit()) return wglCreateContextAttribsARB(hDC, hShareContext, attribList); return (HGLRC)0;} - GLEEPFNWGLCREATECONTEXTATTRIBSARBPROC GLeeFuncPtr_wglCreateContextAttribsARB=GLee_Lazy_wglCreateContextAttribsARB; -#endif -#endif - -/* WGL_ARB_create_context_profile */ - -#ifdef __GLEE_WGL_ARB_create_context_profile -#endif - -/* WGL_ARB_create_context_robustness */ - -#ifdef __GLEE_WGL_ARB_create_context_robustness -#endif - -/* WGL_EXT_make_current_read */ - -#ifdef __GLEE_WGL_EXT_make_current_read -#ifndef GLEE_C_DEFINED_wglMakeContextCurrentEXT -#define GLEE_C_DEFINED_wglMakeContextCurrentEXT - BOOL __stdcall GLee_Lazy_wglMakeContextCurrentEXT(HDC hDrawDC, HDC hReadDC, HGLRC hglrc) {if (GLeeInit()) return wglMakeContextCurrentEXT(hDrawDC, hReadDC, hglrc); return (BOOL)0;} - GLEEPFNWGLMAKECONTEXTCURRENTEXTPROC GLeeFuncPtr_wglMakeContextCurrentEXT=GLee_Lazy_wglMakeContextCurrentEXT; -#endif -#ifndef GLEE_C_DEFINED_wglGetCurrentReadDCEXT -#define GLEE_C_DEFINED_wglGetCurrentReadDCEXT - HDC __stdcall GLee_Lazy_wglGetCurrentReadDCEXT(void) {if (GLeeInit()) return wglGetCurrentReadDCEXT(); return (HDC)0;} - GLEEPFNWGLGETCURRENTREADDCEXTPROC GLeeFuncPtr_wglGetCurrentReadDCEXT=GLee_Lazy_wglGetCurrentReadDCEXT; -#endif -#endif - -/* WGL_EXT_pixel_format */ - -#ifdef __GLEE_WGL_EXT_pixel_format -#ifndef GLEE_C_DEFINED_wglGetPixelFormatAttribivEXT -#define GLEE_C_DEFINED_wglGetPixelFormatAttribivEXT - BOOL __stdcall GLee_Lazy_wglGetPixelFormatAttribivEXT(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, int * piValues) {if (GLeeInit()) return wglGetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); return (BOOL)0;} - GLEEPFNWGLGETPIXELFORMATATTRIBIVEXTPROC GLeeFuncPtr_wglGetPixelFormatAttribivEXT=GLee_Lazy_wglGetPixelFormatAttribivEXT; -#endif -#ifndef GLEE_C_DEFINED_wglGetPixelFormatAttribfvEXT -#define GLEE_C_DEFINED_wglGetPixelFormatAttribfvEXT - BOOL __stdcall GLee_Lazy_wglGetPixelFormatAttribfvEXT(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, FLOAT * pfValues) {if (GLeeInit()) return wglGetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); return (BOOL)0;} - GLEEPFNWGLGETPIXELFORMATATTRIBFVEXTPROC GLeeFuncPtr_wglGetPixelFormatAttribfvEXT=GLee_Lazy_wglGetPixelFormatAttribfvEXT; -#endif -#ifndef GLEE_C_DEFINED_wglChoosePixelFormatEXT -#define GLEE_C_DEFINED_wglChoosePixelFormatEXT - BOOL __stdcall GLee_Lazy_wglChoosePixelFormatEXT(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats) {if (GLeeInit()) return wglChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); return (BOOL)0;} - GLEEPFNWGLCHOOSEPIXELFORMATEXTPROC GLeeFuncPtr_wglChoosePixelFormatEXT=GLee_Lazy_wglChoosePixelFormatEXT; -#endif -#endif - -/* WGL_EXT_pbuffer */ - -#ifdef __GLEE_WGL_EXT_pbuffer -#ifndef GLEE_C_DEFINED_wglCreatePbufferEXT -#define GLEE_C_DEFINED_wglCreatePbufferEXT - HPBUFFEREXT __stdcall GLee_Lazy_wglCreatePbufferEXT(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList) {if (GLeeInit()) return wglCreatePbufferEXT(hDC, iPixelFormat, iWidth, iHeight, piAttribList); return (HPBUFFEREXT)0;} - GLEEPFNWGLCREATEPBUFFEREXTPROC GLeeFuncPtr_wglCreatePbufferEXT=GLee_Lazy_wglCreatePbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_wglGetPbufferDCEXT -#define GLEE_C_DEFINED_wglGetPbufferDCEXT - HDC __stdcall GLee_Lazy_wglGetPbufferDCEXT(HPBUFFEREXT hPbuffer) {if (GLeeInit()) return wglGetPbufferDCEXT(hPbuffer); return (HDC)0;} - GLEEPFNWGLGETPBUFFERDCEXTPROC GLeeFuncPtr_wglGetPbufferDCEXT=GLee_Lazy_wglGetPbufferDCEXT; -#endif -#ifndef GLEE_C_DEFINED_wglReleasePbufferDCEXT -#define GLEE_C_DEFINED_wglReleasePbufferDCEXT - int __stdcall GLee_Lazy_wglReleasePbufferDCEXT(HPBUFFEREXT hPbuffer, HDC hDC) {if (GLeeInit()) return wglReleasePbufferDCEXT(hPbuffer, hDC); return (int)0;} - GLEEPFNWGLRELEASEPBUFFERDCEXTPROC GLeeFuncPtr_wglReleasePbufferDCEXT=GLee_Lazy_wglReleasePbufferDCEXT; -#endif -#ifndef GLEE_C_DEFINED_wglDestroyPbufferEXT -#define GLEE_C_DEFINED_wglDestroyPbufferEXT - BOOL __stdcall GLee_Lazy_wglDestroyPbufferEXT(HPBUFFEREXT hPbuffer) {if (GLeeInit()) return wglDestroyPbufferEXT(hPbuffer); return (BOOL)0;} - GLEEPFNWGLDESTROYPBUFFEREXTPROC GLeeFuncPtr_wglDestroyPbufferEXT=GLee_Lazy_wglDestroyPbufferEXT; -#endif -#ifndef GLEE_C_DEFINED_wglQueryPbufferEXT -#define GLEE_C_DEFINED_wglQueryPbufferEXT - BOOL __stdcall GLee_Lazy_wglQueryPbufferEXT(HPBUFFEREXT hPbuffer, int iAttribute, int * piValue) {if (GLeeInit()) return wglQueryPbufferEXT(hPbuffer, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLQUERYPBUFFEREXTPROC GLeeFuncPtr_wglQueryPbufferEXT=GLee_Lazy_wglQueryPbufferEXT; -#endif -#endif - -/* WGL_EXT_depth_float */ - -#ifdef __GLEE_WGL_EXT_depth_float -#endif - -/* WGL_3DFX_multisample */ - -#ifdef __GLEE_WGL_3DFX_multisample -#endif - -/* WGL_EXT_multisample */ - -#ifdef __GLEE_WGL_EXT_multisample -#endif - -/* WGL_I3D_digital_video_control */ - -#ifdef __GLEE_WGL_I3D_digital_video_control -#ifndef GLEE_C_DEFINED_wglGetDigitalVideoParametersI3D -#define GLEE_C_DEFINED_wglGetDigitalVideoParametersI3D - BOOL __stdcall GLee_Lazy_wglGetDigitalVideoParametersI3D(HDC hDC, int iAttribute, int * piValue) {if (GLeeInit()) return wglGetDigitalVideoParametersI3D(hDC, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC GLeeFuncPtr_wglGetDigitalVideoParametersI3D=GLee_Lazy_wglGetDigitalVideoParametersI3D; -#endif -#ifndef GLEE_C_DEFINED_wglSetDigitalVideoParametersI3D -#define GLEE_C_DEFINED_wglSetDigitalVideoParametersI3D - BOOL __stdcall GLee_Lazy_wglSetDigitalVideoParametersI3D(HDC hDC, int iAttribute, const int * piValue) {if (GLeeInit()) return wglSetDigitalVideoParametersI3D(hDC, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC GLeeFuncPtr_wglSetDigitalVideoParametersI3D=GLee_Lazy_wglSetDigitalVideoParametersI3D; -#endif -#endif - -/* WGL_I3D_gamma */ - -#ifdef __GLEE_WGL_I3D_gamma -#ifndef GLEE_C_DEFINED_wglGetGammaTableParametersI3D -#define GLEE_C_DEFINED_wglGetGammaTableParametersI3D - BOOL __stdcall GLee_Lazy_wglGetGammaTableParametersI3D(HDC hDC, int iAttribute, int * piValue) {if (GLeeInit()) return wglGetGammaTableParametersI3D(hDC, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLGETGAMMATABLEPARAMETERSI3DPROC GLeeFuncPtr_wglGetGammaTableParametersI3D=GLee_Lazy_wglGetGammaTableParametersI3D; -#endif -#ifndef GLEE_C_DEFINED_wglSetGammaTableParametersI3D -#define GLEE_C_DEFINED_wglSetGammaTableParametersI3D - BOOL __stdcall GLee_Lazy_wglSetGammaTableParametersI3D(HDC hDC, int iAttribute, const int * piValue) {if (GLeeInit()) return wglSetGammaTableParametersI3D(hDC, iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLSETGAMMATABLEPARAMETERSI3DPROC GLeeFuncPtr_wglSetGammaTableParametersI3D=GLee_Lazy_wglSetGammaTableParametersI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGetGammaTableI3D -#define GLEE_C_DEFINED_wglGetGammaTableI3D - BOOL __stdcall GLee_Lazy_wglGetGammaTableI3D(HDC hDC, int iEntries, USHORT * puRed, USHORT * puGreen, USHORT * puBlue) {if (GLeeInit()) return wglGetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue); return (BOOL)0;} - GLEEPFNWGLGETGAMMATABLEI3DPROC GLeeFuncPtr_wglGetGammaTableI3D=GLee_Lazy_wglGetGammaTableI3D; -#endif -#ifndef GLEE_C_DEFINED_wglSetGammaTableI3D -#define GLEE_C_DEFINED_wglSetGammaTableI3D - BOOL __stdcall GLee_Lazy_wglSetGammaTableI3D(HDC hDC, int iEntries, const USHORT * puRed, const USHORT * puGreen, const USHORT * puBlue) {if (GLeeInit()) return wglSetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue); return (BOOL)0;} - GLEEPFNWGLSETGAMMATABLEI3DPROC GLeeFuncPtr_wglSetGammaTableI3D=GLee_Lazy_wglSetGammaTableI3D; -#endif -#endif - -/* WGL_I3D_genlock */ - -#ifdef __GLEE_WGL_I3D_genlock -#ifndef GLEE_C_DEFINED_wglEnableGenlockI3D -#define GLEE_C_DEFINED_wglEnableGenlockI3D - BOOL __stdcall GLee_Lazy_wglEnableGenlockI3D(HDC hDC) {if (GLeeInit()) return wglEnableGenlockI3D(hDC); return (BOOL)0;} - GLEEPFNWGLENABLEGENLOCKI3DPROC GLeeFuncPtr_wglEnableGenlockI3D=GLee_Lazy_wglEnableGenlockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglDisableGenlockI3D -#define GLEE_C_DEFINED_wglDisableGenlockI3D - BOOL __stdcall GLee_Lazy_wglDisableGenlockI3D(HDC hDC) {if (GLeeInit()) return wglDisableGenlockI3D(hDC); return (BOOL)0;} - GLEEPFNWGLDISABLEGENLOCKI3DPROC GLeeFuncPtr_wglDisableGenlockI3D=GLee_Lazy_wglDisableGenlockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglIsEnabledGenlockI3D -#define GLEE_C_DEFINED_wglIsEnabledGenlockI3D - BOOL __stdcall GLee_Lazy_wglIsEnabledGenlockI3D(HDC hDC, BOOL * pFlag) {if (GLeeInit()) return wglIsEnabledGenlockI3D(hDC, pFlag); return (BOOL)0;} - GLEEPFNWGLISENABLEDGENLOCKI3DPROC GLeeFuncPtr_wglIsEnabledGenlockI3D=GLee_Lazy_wglIsEnabledGenlockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGenlockSourceI3D -#define GLEE_C_DEFINED_wglGenlockSourceI3D - BOOL __stdcall GLee_Lazy_wglGenlockSourceI3D(HDC hDC, UINT uSource) {if (GLeeInit()) return wglGenlockSourceI3D(hDC, uSource); return (BOOL)0;} - GLEEPFNWGLGENLOCKSOURCEI3DPROC GLeeFuncPtr_wglGenlockSourceI3D=GLee_Lazy_wglGenlockSourceI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGetGenlockSourceI3D -#define GLEE_C_DEFINED_wglGetGenlockSourceI3D - BOOL __stdcall GLee_Lazy_wglGetGenlockSourceI3D(HDC hDC, UINT * uSource) {if (GLeeInit()) return wglGetGenlockSourceI3D(hDC, uSource); return (BOOL)0;} - GLEEPFNWGLGETGENLOCKSOURCEI3DPROC GLeeFuncPtr_wglGetGenlockSourceI3D=GLee_Lazy_wglGetGenlockSourceI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGenlockSourceEdgeI3D -#define GLEE_C_DEFINED_wglGenlockSourceEdgeI3D - BOOL __stdcall GLee_Lazy_wglGenlockSourceEdgeI3D(HDC hDC, UINT uEdge) {if (GLeeInit()) return wglGenlockSourceEdgeI3D(hDC, uEdge); return (BOOL)0;} - GLEEPFNWGLGENLOCKSOURCEEDGEI3DPROC GLeeFuncPtr_wglGenlockSourceEdgeI3D=GLee_Lazy_wglGenlockSourceEdgeI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGetGenlockSourceEdgeI3D -#define GLEE_C_DEFINED_wglGetGenlockSourceEdgeI3D - BOOL __stdcall GLee_Lazy_wglGetGenlockSourceEdgeI3D(HDC hDC, UINT * uEdge) {if (GLeeInit()) return wglGetGenlockSourceEdgeI3D(hDC, uEdge); return (BOOL)0;} - GLEEPFNWGLGETGENLOCKSOURCEEDGEI3DPROC GLeeFuncPtr_wglGetGenlockSourceEdgeI3D=GLee_Lazy_wglGetGenlockSourceEdgeI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGenlockSampleRateI3D -#define GLEE_C_DEFINED_wglGenlockSampleRateI3D - BOOL __stdcall GLee_Lazy_wglGenlockSampleRateI3D(HDC hDC, UINT uRate) {if (GLeeInit()) return wglGenlockSampleRateI3D(hDC, uRate); return (BOOL)0;} - GLEEPFNWGLGENLOCKSAMPLERATEI3DPROC GLeeFuncPtr_wglGenlockSampleRateI3D=GLee_Lazy_wglGenlockSampleRateI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGetGenlockSampleRateI3D -#define GLEE_C_DEFINED_wglGetGenlockSampleRateI3D - BOOL __stdcall GLee_Lazy_wglGetGenlockSampleRateI3D(HDC hDC, UINT * uRate) {if (GLeeInit()) return wglGetGenlockSampleRateI3D(hDC, uRate); return (BOOL)0;} - GLEEPFNWGLGETGENLOCKSAMPLERATEI3DPROC GLeeFuncPtr_wglGetGenlockSampleRateI3D=GLee_Lazy_wglGetGenlockSampleRateI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGenlockSourceDelayI3D -#define GLEE_C_DEFINED_wglGenlockSourceDelayI3D - BOOL __stdcall GLee_Lazy_wglGenlockSourceDelayI3D(HDC hDC, UINT uDelay) {if (GLeeInit()) return wglGenlockSourceDelayI3D(hDC, uDelay); return (BOOL)0;} - GLEEPFNWGLGENLOCKSOURCEDELAYI3DPROC GLeeFuncPtr_wglGenlockSourceDelayI3D=GLee_Lazy_wglGenlockSourceDelayI3D; -#endif -#ifndef GLEE_C_DEFINED_wglGetGenlockSourceDelayI3D -#define GLEE_C_DEFINED_wglGetGenlockSourceDelayI3D - BOOL __stdcall GLee_Lazy_wglGetGenlockSourceDelayI3D(HDC hDC, UINT * uDelay) {if (GLeeInit()) return wglGetGenlockSourceDelayI3D(hDC, uDelay); return (BOOL)0;} - GLEEPFNWGLGETGENLOCKSOURCEDELAYI3DPROC GLeeFuncPtr_wglGetGenlockSourceDelayI3D=GLee_Lazy_wglGetGenlockSourceDelayI3D; -#endif -#ifndef GLEE_C_DEFINED_wglQueryGenlockMaxSourceDelayI3D -#define GLEE_C_DEFINED_wglQueryGenlockMaxSourceDelayI3D - BOOL __stdcall GLee_Lazy_wglQueryGenlockMaxSourceDelayI3D(HDC hDC, UINT * uMaxLineDelay, UINT * uMaxPixelDelay) {if (GLeeInit()) return wglQueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay, uMaxPixelDelay); return (BOOL)0;} - GLEEPFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC GLeeFuncPtr_wglQueryGenlockMaxSourceDelayI3D=GLee_Lazy_wglQueryGenlockMaxSourceDelayI3D; -#endif -#endif - -/* WGL_I3D_image_buffer */ - -#ifdef __GLEE_WGL_I3D_image_buffer -#ifndef GLEE_C_DEFINED_wglCreateImageBufferI3D -#define GLEE_C_DEFINED_wglCreateImageBufferI3D - LPVOID __stdcall GLee_Lazy_wglCreateImageBufferI3D(HDC hDC, DWORD dwSize, UINT uFlags) {if (GLeeInit()) return wglCreateImageBufferI3D(hDC, dwSize, uFlags); return (LPVOID)0;} - GLEEPFNWGLCREATEIMAGEBUFFERI3DPROC GLeeFuncPtr_wglCreateImageBufferI3D=GLee_Lazy_wglCreateImageBufferI3D; -#endif -#ifndef GLEE_C_DEFINED_wglDestroyImageBufferI3D -#define GLEE_C_DEFINED_wglDestroyImageBufferI3D - BOOL __stdcall GLee_Lazy_wglDestroyImageBufferI3D(HDC hDC, LPVOID pAddress) {if (GLeeInit()) return wglDestroyImageBufferI3D(hDC, pAddress); return (BOOL)0;} - GLEEPFNWGLDESTROYIMAGEBUFFERI3DPROC GLeeFuncPtr_wglDestroyImageBufferI3D=GLee_Lazy_wglDestroyImageBufferI3D; -#endif -#ifndef GLEE_C_DEFINED_wglAssociateImageBufferEventsI3D -#define GLEE_C_DEFINED_wglAssociateImageBufferEventsI3D - BOOL __stdcall GLee_Lazy_wglAssociateImageBufferEventsI3D(HDC hDC, const HANDLE * pEvent, const LPVOID * pAddress, const DWORD * pSize, UINT count) {if (GLeeInit()) return wglAssociateImageBufferEventsI3D(hDC, pEvent, pAddress, pSize, count); return (BOOL)0;} - GLEEPFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC GLeeFuncPtr_wglAssociateImageBufferEventsI3D=GLee_Lazy_wglAssociateImageBufferEventsI3D; -#endif -#ifndef GLEE_C_DEFINED_wglReleaseImageBufferEventsI3D -#define GLEE_C_DEFINED_wglReleaseImageBufferEventsI3D - BOOL __stdcall GLee_Lazy_wglReleaseImageBufferEventsI3D(HDC hDC, const LPVOID * pAddress, UINT count) {if (GLeeInit()) return wglReleaseImageBufferEventsI3D(hDC, pAddress, count); return (BOOL)0;} - GLEEPFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC GLeeFuncPtr_wglReleaseImageBufferEventsI3D=GLee_Lazy_wglReleaseImageBufferEventsI3D; -#endif -#endif - -/* WGL_I3D_swap_frame_lock */ - -#ifdef __GLEE_WGL_I3D_swap_frame_lock -#ifndef GLEE_C_DEFINED_wglEnableFrameLockI3D -#define GLEE_C_DEFINED_wglEnableFrameLockI3D - BOOL __stdcall GLee_Lazy_wglEnableFrameLockI3D(void) {if (GLeeInit()) return wglEnableFrameLockI3D(); return (BOOL)0;} - GLEEPFNWGLENABLEFRAMELOCKI3DPROC GLeeFuncPtr_wglEnableFrameLockI3D=GLee_Lazy_wglEnableFrameLockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglDisableFrameLockI3D -#define GLEE_C_DEFINED_wglDisableFrameLockI3D - BOOL __stdcall GLee_Lazy_wglDisableFrameLockI3D(void) {if (GLeeInit()) return wglDisableFrameLockI3D(); return (BOOL)0;} - GLEEPFNWGLDISABLEFRAMELOCKI3DPROC GLeeFuncPtr_wglDisableFrameLockI3D=GLee_Lazy_wglDisableFrameLockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglIsEnabledFrameLockI3D -#define GLEE_C_DEFINED_wglIsEnabledFrameLockI3D - BOOL __stdcall GLee_Lazy_wglIsEnabledFrameLockI3D(BOOL * pFlag) {if (GLeeInit()) return wglIsEnabledFrameLockI3D(pFlag); return (BOOL)0;} - GLEEPFNWGLISENABLEDFRAMELOCKI3DPROC GLeeFuncPtr_wglIsEnabledFrameLockI3D=GLee_Lazy_wglIsEnabledFrameLockI3D; -#endif -#ifndef GLEE_C_DEFINED_wglQueryFrameLockMasterI3D -#define GLEE_C_DEFINED_wglQueryFrameLockMasterI3D - BOOL __stdcall GLee_Lazy_wglQueryFrameLockMasterI3D(BOOL * pFlag) {if (GLeeInit()) return wglQueryFrameLockMasterI3D(pFlag); return (BOOL)0;} - GLEEPFNWGLQUERYFRAMELOCKMASTERI3DPROC GLeeFuncPtr_wglQueryFrameLockMasterI3D=GLee_Lazy_wglQueryFrameLockMasterI3D; -#endif -#endif - -/* WGL_NV_render_depth_texture */ - -#ifdef __GLEE_WGL_NV_render_depth_texture -#endif - -/* WGL_NV_render_texture_rectangle */ - -#ifdef __GLEE_WGL_NV_render_texture_rectangle -#endif - -/* WGL_ATI_pixel_format_float */ - -#ifdef __GLEE_WGL_ATI_pixel_format_float -#endif - -/* WGL_NV_float_buffer */ - -#ifdef __GLEE_WGL_NV_float_buffer -#endif - -/* WGL_3DL_stereo_control */ - -#ifdef __GLEE_WGL_3DL_stereo_control -#ifndef GLEE_C_DEFINED_wglSetStereoEmitterState3DL -#define GLEE_C_DEFINED_wglSetStereoEmitterState3DL - BOOL __stdcall GLee_Lazy_wglSetStereoEmitterState3DL(HDC hDC, UINT uState) {if (GLeeInit()) return wglSetStereoEmitterState3DL(hDC, uState); return (BOOL)0;} - GLEEPFNWGLSETSTEREOEMITTERSTATE3DLPROC GLeeFuncPtr_wglSetStereoEmitterState3DL=GLee_Lazy_wglSetStereoEmitterState3DL; -#endif -#endif - -/* WGL_EXT_pixel_format_packed_float */ - -#ifdef __GLEE_WGL_EXT_pixel_format_packed_float -#endif - -/* WGL_EXT_framebuffer_sRGB */ - -#ifdef __GLEE_WGL_EXT_framebuffer_sRGB -#endif - -/* WGL_NV_present_video */ - -#ifdef __GLEE_WGL_NV_present_video -#ifndef GLEE_C_DEFINED_wglEnumerateVideoDevicesNV -#define GLEE_C_DEFINED_wglEnumerateVideoDevicesNV - int __stdcall GLee_Lazy_wglEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV * phDeviceList) {if (GLeeInit()) return wglEnumerateVideoDevicesNV(hDC, phDeviceList); return (int)0;} - GLEEPFNWGLENUMERATEVIDEODEVICESNVPROC GLeeFuncPtr_wglEnumerateVideoDevicesNV=GLee_Lazy_wglEnumerateVideoDevicesNV; -#endif -#ifndef GLEE_C_DEFINED_wglBindVideoDeviceNV -#define GLEE_C_DEFINED_wglBindVideoDeviceNV - BOOL __stdcall GLee_Lazy_wglBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int * piAttribList) {if (GLeeInit()) return wglBindVideoDeviceNV(hDC, uVideoSlot, hVideoDevice, piAttribList); return (BOOL)0;} - GLEEPFNWGLBINDVIDEODEVICENVPROC GLeeFuncPtr_wglBindVideoDeviceNV=GLee_Lazy_wglBindVideoDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_wglQueryCurrentContextNV -#define GLEE_C_DEFINED_wglQueryCurrentContextNV - BOOL __stdcall GLee_Lazy_wglQueryCurrentContextNV(int iAttribute, int * piValue) {if (GLeeInit()) return wglQueryCurrentContextNV(iAttribute, piValue); return (BOOL)0;} - GLEEPFNWGLQUERYCURRENTCONTEXTNVPROC GLeeFuncPtr_wglQueryCurrentContextNV=GLee_Lazy_wglQueryCurrentContextNV; -#endif -#endif - -/* WGL_NV_swap_group */ - -#ifdef __GLEE_WGL_NV_swap_group -#ifndef GLEE_C_DEFINED_wglJoinSwapGroupNV -#define GLEE_C_DEFINED_wglJoinSwapGroupNV - BOOL __stdcall GLee_Lazy_wglJoinSwapGroupNV(HDC hDC, GLuint group) {if (GLeeInit()) return wglJoinSwapGroupNV(hDC, group); return (BOOL)0;} - GLEEPFNWGLJOINSWAPGROUPNVPROC GLeeFuncPtr_wglJoinSwapGroupNV=GLee_Lazy_wglJoinSwapGroupNV; -#endif -#ifndef GLEE_C_DEFINED_wglBindSwapBarrierNV -#define GLEE_C_DEFINED_wglBindSwapBarrierNV - BOOL __stdcall GLee_Lazy_wglBindSwapBarrierNV(GLuint group, GLuint barrier) {if (GLeeInit()) return wglBindSwapBarrierNV(group, barrier); return (BOOL)0;} - GLEEPFNWGLBINDSWAPBARRIERNVPROC GLeeFuncPtr_wglBindSwapBarrierNV=GLee_Lazy_wglBindSwapBarrierNV; -#endif -#ifndef GLEE_C_DEFINED_wglQuerySwapGroupNV -#define GLEE_C_DEFINED_wglQuerySwapGroupNV - BOOL __stdcall GLee_Lazy_wglQuerySwapGroupNV(HDC hDC, GLuint * group, GLuint * barrier) {if (GLeeInit()) return wglQuerySwapGroupNV(hDC, group, barrier); return (BOOL)0;} - GLEEPFNWGLQUERYSWAPGROUPNVPROC GLeeFuncPtr_wglQuerySwapGroupNV=GLee_Lazy_wglQuerySwapGroupNV; -#endif -#ifndef GLEE_C_DEFINED_wglQueryMaxSwapGroupsNV -#define GLEE_C_DEFINED_wglQueryMaxSwapGroupsNV - BOOL __stdcall GLee_Lazy_wglQueryMaxSwapGroupsNV(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers) {if (GLeeInit()) return wglQueryMaxSwapGroupsNV(hDC, maxGroups, maxBarriers); return (BOOL)0;} - GLEEPFNWGLQUERYMAXSWAPGROUPSNVPROC GLeeFuncPtr_wglQueryMaxSwapGroupsNV=GLee_Lazy_wglQueryMaxSwapGroupsNV; -#endif -#ifndef GLEE_C_DEFINED_wglQueryFrameCountNV -#define GLEE_C_DEFINED_wglQueryFrameCountNV - BOOL __stdcall GLee_Lazy_wglQueryFrameCountNV(HDC hDC, GLuint * count) {if (GLeeInit()) return wglQueryFrameCountNV(hDC, count); return (BOOL)0;} - GLEEPFNWGLQUERYFRAMECOUNTNVPROC GLeeFuncPtr_wglQueryFrameCountNV=GLee_Lazy_wglQueryFrameCountNV; -#endif -#ifndef GLEE_C_DEFINED_wglResetFrameCountNV -#define GLEE_C_DEFINED_wglResetFrameCountNV - BOOL __stdcall GLee_Lazy_wglResetFrameCountNV(HDC hDC) {if (GLeeInit()) return wglResetFrameCountNV(hDC); return (BOOL)0;} - GLEEPFNWGLRESETFRAMECOUNTNVPROC GLeeFuncPtr_wglResetFrameCountNV=GLee_Lazy_wglResetFrameCountNV; -#endif -#endif - -/* WGL_NV_gpu_affinity */ - -#ifdef __GLEE_WGL_NV_gpu_affinity -#ifndef GLEE_C_DEFINED_wglEnumGpusNV -#define GLEE_C_DEFINED_wglEnumGpusNV - BOOL __stdcall GLee_Lazy_wglEnumGpusNV(UINT iGpuIndex, HGPUNV * phGpu) {if (GLeeInit()) return wglEnumGpusNV(iGpuIndex, phGpu); return (BOOL)0;} - GLEEPFNWGLENUMGPUSNVPROC GLeeFuncPtr_wglEnumGpusNV=GLee_Lazy_wglEnumGpusNV; -#endif -#ifndef GLEE_C_DEFINED_wglEnumGpuDevicesNV -#define GLEE_C_DEFINED_wglEnumGpuDevicesNV - BOOL __stdcall GLee_Lazy_wglEnumGpuDevicesNV(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice) {if (GLeeInit()) return wglEnumGpuDevicesNV(hGpu, iDeviceIndex, lpGpuDevice); return (BOOL)0;} - GLEEPFNWGLENUMGPUDEVICESNVPROC GLeeFuncPtr_wglEnumGpuDevicesNV=GLee_Lazy_wglEnumGpuDevicesNV; -#endif -#ifndef GLEE_C_DEFINED_wglCreateAffinityDCNV -#define GLEE_C_DEFINED_wglCreateAffinityDCNV - HDC __stdcall GLee_Lazy_wglCreateAffinityDCNV(const HGPUNV * phGpuList) {if (GLeeInit()) return wglCreateAffinityDCNV(phGpuList); return (HDC)0;} - GLEEPFNWGLCREATEAFFINITYDCNVPROC GLeeFuncPtr_wglCreateAffinityDCNV=GLee_Lazy_wglCreateAffinityDCNV; -#endif -#ifndef GLEE_C_DEFINED_wglEnumGpusFromAffinityDCNV -#define GLEE_C_DEFINED_wglEnumGpusFromAffinityDCNV - BOOL __stdcall GLee_Lazy_wglEnumGpusFromAffinityDCNV(HDC hAffinityDC, UINT iGpuIndex, HGPUNV * hGpu) {if (GLeeInit()) return wglEnumGpusFromAffinityDCNV(hAffinityDC, iGpuIndex, hGpu); return (BOOL)0;} - GLEEPFNWGLENUMGPUSFROMAFFINITYDCNVPROC GLeeFuncPtr_wglEnumGpusFromAffinityDCNV=GLee_Lazy_wglEnumGpusFromAffinityDCNV; -#endif -#ifndef GLEE_C_DEFINED_wglDeleteDCNV -#define GLEE_C_DEFINED_wglDeleteDCNV - BOOL __stdcall GLee_Lazy_wglDeleteDCNV(HDC hdc) {if (GLeeInit()) return wglDeleteDCNV(hdc); return (BOOL)0;} - GLEEPFNWGLDELETEDCNVPROC GLeeFuncPtr_wglDeleteDCNV=GLee_Lazy_wglDeleteDCNV; -#endif -#endif - -/* WGL_AMD_gpu_association */ - -#ifdef __GLEE_WGL_AMD_gpu_association -#ifndef GLEE_C_DEFINED_wglGetGPUIDsAMD -#define GLEE_C_DEFINED_wglGetGPUIDsAMD - UINT __stdcall GLee_Lazy_wglGetGPUIDsAMD(UINT maxCount, UINT * ids) {if (GLeeInit()) return wglGetGPUIDsAMD(maxCount, ids); return (UINT)0;} - GLEEPFNWGLGETGPUIDSAMDPROC GLeeFuncPtr_wglGetGPUIDsAMD=GLee_Lazy_wglGetGPUIDsAMD; -#endif -#ifndef GLEE_C_DEFINED_wglGetGPUInfoAMD -#define GLEE_C_DEFINED_wglGetGPUInfoAMD - INT __stdcall GLee_Lazy_wglGetGPUInfoAMD(UINT id, int property, GLenum dataType, UINT size, void * data) {if (GLeeInit()) return wglGetGPUInfoAMD(id, property, dataType, size, data); return (INT)0;} - GLEEPFNWGLGETGPUINFOAMDPROC GLeeFuncPtr_wglGetGPUInfoAMD=GLee_Lazy_wglGetGPUInfoAMD; -#endif -#ifndef GLEE_C_DEFINED_wglGetContextGPUIDAMD -#define GLEE_C_DEFINED_wglGetContextGPUIDAMD - UINT __stdcall GLee_Lazy_wglGetContextGPUIDAMD(HGLRC hglrc) {if (GLeeInit()) return wglGetContextGPUIDAMD(hglrc); return (UINT)0;} - GLEEPFNWGLGETCONTEXTGPUIDAMDPROC GLeeFuncPtr_wglGetContextGPUIDAMD=GLee_Lazy_wglGetContextGPUIDAMD; -#endif -#ifndef GLEE_C_DEFINED_wglCreateAssociatedContextAMD -#define GLEE_C_DEFINED_wglCreateAssociatedContextAMD - HGLRC __stdcall GLee_Lazy_wglCreateAssociatedContextAMD(UINT id) {if (GLeeInit()) return wglCreateAssociatedContextAMD(id); return (HGLRC)0;} - GLEEPFNWGLCREATEASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglCreateAssociatedContextAMD=GLee_Lazy_wglCreateAssociatedContextAMD; -#endif -#ifndef GLEE_C_DEFINED_wglCreateAssociatedContextAttribsAMD -#define GLEE_C_DEFINED_wglCreateAssociatedContextAttribsAMD - HGLRC __stdcall GLee_Lazy_wglCreateAssociatedContextAttribsAMD(UINT id, HGLRC hShareContext, const int * attribList) {if (GLeeInit()) return wglCreateAssociatedContextAttribsAMD(id, hShareContext, attribList); return (HGLRC)0;} - GLEEPFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC GLeeFuncPtr_wglCreateAssociatedContextAttribsAMD=GLee_Lazy_wglCreateAssociatedContextAttribsAMD; -#endif -#ifndef GLEE_C_DEFINED_wglDeleteAssociatedContextAMD -#define GLEE_C_DEFINED_wglDeleteAssociatedContextAMD - BOOL __stdcall GLee_Lazy_wglDeleteAssociatedContextAMD(HGLRC hglrc) {if (GLeeInit()) return wglDeleteAssociatedContextAMD(hglrc); return (BOOL)0;} - GLEEPFNWGLDELETEASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglDeleteAssociatedContextAMD=GLee_Lazy_wglDeleteAssociatedContextAMD; -#endif -#ifndef GLEE_C_DEFINED_wglMakeAssociatedContextCurrentAMD -#define GLEE_C_DEFINED_wglMakeAssociatedContextCurrentAMD - BOOL __stdcall GLee_Lazy_wglMakeAssociatedContextCurrentAMD(HGLRC hglrc) {if (GLeeInit()) return wglMakeAssociatedContextCurrentAMD(hglrc); return (BOOL)0;} - GLEEPFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC GLeeFuncPtr_wglMakeAssociatedContextCurrentAMD=GLee_Lazy_wglMakeAssociatedContextCurrentAMD; -#endif -#ifndef GLEE_C_DEFINED_wglGetCurrentAssociatedContextAMD -#define GLEE_C_DEFINED_wglGetCurrentAssociatedContextAMD - HGLRC __stdcall GLee_Lazy_wglGetCurrentAssociatedContextAMD(void) {if (GLeeInit()) return wglGetCurrentAssociatedContextAMD(); return (HGLRC)0;} - GLEEPFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglGetCurrentAssociatedContextAMD=GLee_Lazy_wglGetCurrentAssociatedContextAMD; -#endif -#ifndef GLEE_C_DEFINED_wglBlitContextFramebufferAMD -#define GLEE_C_DEFINED_wglBlitContextFramebufferAMD - VOID __stdcall GLee_Lazy_wglBlitContextFramebufferAMD(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {if (GLeeInit()) wglBlitContextFramebufferAMD(dstCtx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);} - GLEEPFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC GLeeFuncPtr_wglBlitContextFramebufferAMD=GLee_Lazy_wglBlitContextFramebufferAMD; -#endif -#endif - -/* WGL_NV_copy_image */ - -#ifdef __GLEE_WGL_NV_copy_image -#ifndef GLEE_C_DEFINED_wglCopyImageSubDataNV -#define GLEE_C_DEFINED_wglCopyImageSubDataNV - BOOL __stdcall GLee_Lazy_wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) return wglCopyImageSubDataNV(hSrcRC, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, hDstRC, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); return (BOOL)0;} - GLEEPFNWGLCOPYIMAGESUBDATANVPROC GLeeFuncPtr_wglCopyImageSubDataNV=GLee_Lazy_wglCopyImageSubDataNV; -#endif -#endif - -/* WGL_NV_multisample_coverage */ - -#ifdef __GLEE_WGL_NV_multisample_coverage -#endif - -/* WGL_EXT_create_context_es2_profile */ - -#ifdef __GLEE_WGL_EXT_create_context_es2_profile -#endif - -/* WGL_NV_DX_interop */ - -#ifdef __GLEE_WGL_NV_DX_interop -#ifndef GLEE_C_DEFINED_wglDXSetResourceShareHandleNV -#define GLEE_C_DEFINED_wglDXSetResourceShareHandleNV - BOOL __stdcall GLee_Lazy_wglDXSetResourceShareHandleNV(void * dxObject, HANDLE shareHandle) {if (GLeeInit()) return wglDXSetResourceShareHandleNV(dxObject, shareHandle); return (BOOL)0;} - GLEEPFNWGLDXSETRESOURCESHAREHANDLENVPROC GLeeFuncPtr_wglDXSetResourceShareHandleNV=GLee_Lazy_wglDXSetResourceShareHandleNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXOpenDeviceNV -#define GLEE_C_DEFINED_wglDXOpenDeviceNV - HANDLE __stdcall GLee_Lazy_wglDXOpenDeviceNV(void * dxDevice) {if (GLeeInit()) return wglDXOpenDeviceNV(dxDevice); return (HANDLE)0;} - GLEEPFNWGLDXOPENDEVICENVPROC GLeeFuncPtr_wglDXOpenDeviceNV=GLee_Lazy_wglDXOpenDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXCloseDeviceNV -#define GLEE_C_DEFINED_wglDXCloseDeviceNV - BOOL __stdcall GLee_Lazy_wglDXCloseDeviceNV(HANDLE hDevice) {if (GLeeInit()) return wglDXCloseDeviceNV(hDevice); return (BOOL)0;} - GLEEPFNWGLDXCLOSEDEVICENVPROC GLeeFuncPtr_wglDXCloseDeviceNV=GLee_Lazy_wglDXCloseDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXRegisterObjectNV -#define GLEE_C_DEFINED_wglDXRegisterObjectNV - HANDLE __stdcall GLee_Lazy_wglDXRegisterObjectNV(HANDLE hDevice, void * dxObject, GLuint name, GLenum type, GLenum access) {if (GLeeInit()) return wglDXRegisterObjectNV(hDevice, dxObject, name, type, access); return (HANDLE)0;} - GLEEPFNWGLDXREGISTEROBJECTNVPROC GLeeFuncPtr_wglDXRegisterObjectNV=GLee_Lazy_wglDXRegisterObjectNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXUnregisterObjectNV -#define GLEE_C_DEFINED_wglDXUnregisterObjectNV - BOOL __stdcall GLee_Lazy_wglDXUnregisterObjectNV(HANDLE hDevice, HANDLE hObject) {if (GLeeInit()) return wglDXUnregisterObjectNV(hDevice, hObject); return (BOOL)0;} - GLEEPFNWGLDXUNREGISTEROBJECTNVPROC GLeeFuncPtr_wglDXUnregisterObjectNV=GLee_Lazy_wglDXUnregisterObjectNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXObjectAccessNV -#define GLEE_C_DEFINED_wglDXObjectAccessNV - BOOL __stdcall GLee_Lazy_wglDXObjectAccessNV(HANDLE hObject, GLenum access) {if (GLeeInit()) return wglDXObjectAccessNV(hObject, access); return (BOOL)0;} - GLEEPFNWGLDXOBJECTACCESSNVPROC GLeeFuncPtr_wglDXObjectAccessNV=GLee_Lazy_wglDXObjectAccessNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXLockObjectsNV -#define GLEE_C_DEFINED_wglDXLockObjectsNV - BOOL __stdcall GLee_Lazy_wglDXLockObjectsNV(HANDLE hDevice, GLint count, HANDLE * hObjects) {if (GLeeInit()) return wglDXLockObjectsNV(hDevice, count, hObjects); return (BOOL)0;} - GLEEPFNWGLDXLOCKOBJECTSNVPROC GLeeFuncPtr_wglDXLockObjectsNV=GLee_Lazy_wglDXLockObjectsNV; -#endif -#ifndef GLEE_C_DEFINED_wglDXUnlockObjectsNV -#define GLEE_C_DEFINED_wglDXUnlockObjectsNV - BOOL __stdcall GLee_Lazy_wglDXUnlockObjectsNV(HANDLE hDevice, GLint count, HANDLE * hObjects) {if (GLeeInit()) return wglDXUnlockObjectsNV(hDevice, count, hObjects); return (BOOL)0;} - GLEEPFNWGLDXUNLOCKOBJECTSNVPROC GLeeFuncPtr_wglDXUnlockObjectsNV=GLee_Lazy_wglDXUnlockObjectsNV; -#endif -#endif - -/* WGL_NV_DX_interop2 */ - -#ifdef __GLEE_WGL_NV_DX_interop2 -#endif - -/* WGL_EXT_swap_control_tear */ - -#ifdef __GLEE_WGL_EXT_swap_control_tear -#endif - -/* WGL_EXT_display_color_table */ - -#ifdef __GLEE_WGL_EXT_display_color_table -#ifndef GLEE_C_DEFINED_wglCreateDisplayColorTableEXT -#define GLEE_C_DEFINED_wglCreateDisplayColorTableEXT - GLboolean __stdcall GLee_Lazy_wglCreateDisplayColorTableEXT(GLushort id) {if (GLeeInit()) return wglCreateDisplayColorTableEXT(id); return (GLboolean)0;} - GLEEPFNWGLCREATEDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglCreateDisplayColorTableEXT=GLee_Lazy_wglCreateDisplayColorTableEXT; -#endif -#ifndef GLEE_C_DEFINED_wglLoadDisplayColorTableEXT -#define GLEE_C_DEFINED_wglLoadDisplayColorTableEXT - GLboolean __stdcall GLee_Lazy_wglLoadDisplayColorTableEXT(const GLushort * table, GLuint length) {if (GLeeInit()) return wglLoadDisplayColorTableEXT(table, length); return (GLboolean)0;} - GLEEPFNWGLLOADDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglLoadDisplayColorTableEXT=GLee_Lazy_wglLoadDisplayColorTableEXT; -#endif -#ifndef GLEE_C_DEFINED_wglBindDisplayColorTableEXT -#define GLEE_C_DEFINED_wglBindDisplayColorTableEXT - GLboolean __stdcall GLee_Lazy_wglBindDisplayColorTableEXT(GLushort id) {if (GLeeInit()) return wglBindDisplayColorTableEXT(id); return (GLboolean)0;} - GLEEPFNWGLBINDDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglBindDisplayColorTableEXT=GLee_Lazy_wglBindDisplayColorTableEXT; -#endif -#ifndef GLEE_C_DEFINED_wglDestroyDisplayColorTableEXT -#define GLEE_C_DEFINED_wglDestroyDisplayColorTableEXT - VOID __stdcall GLee_Lazy_wglDestroyDisplayColorTableEXT(GLushort id) {if (GLeeInit()) wglDestroyDisplayColorTableEXT(id);} - GLEEPFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglDestroyDisplayColorTableEXT=GLee_Lazy_wglDestroyDisplayColorTableEXT; -#endif -#endif - -/* WGL_EXT_extensions_string */ - -#ifdef __GLEE_WGL_EXT_extensions_string -#ifndef GLEE_C_DEFINED_wglGetExtensionsStringEXT -#define GLEE_C_DEFINED_wglGetExtensionsStringEXT - const char * __stdcall GLee_Lazy_wglGetExtensionsStringEXT(void) {if (GLeeInit()) return wglGetExtensionsStringEXT(); return (const char *)0;} - GLEEPFNWGLGETEXTENSIONSSTRINGEXTPROC GLeeFuncPtr_wglGetExtensionsStringEXT=GLee_Lazy_wglGetExtensionsStringEXT; -#endif -#endif - -/* WGL_EXT_swap_control */ - -#ifdef __GLEE_WGL_EXT_swap_control -#ifndef GLEE_C_DEFINED_wglSwapIntervalEXT -#define GLEE_C_DEFINED_wglSwapIntervalEXT - BOOL __stdcall GLee_Lazy_wglSwapIntervalEXT(int interval) {if (GLeeInit()) return wglSwapIntervalEXT(interval); return (BOOL)0;} - GLEEPFNWGLSWAPINTERVALEXTPROC GLeeFuncPtr_wglSwapIntervalEXT=GLee_Lazy_wglSwapIntervalEXT; -#endif -#ifndef GLEE_C_DEFINED_wglGetSwapIntervalEXT -#define GLEE_C_DEFINED_wglGetSwapIntervalEXT - int __stdcall GLee_Lazy_wglGetSwapIntervalEXT(void) {if (GLeeInit()) return wglGetSwapIntervalEXT(); return (int)0;} - GLEEPFNWGLGETSWAPINTERVALEXTPROC GLeeFuncPtr_wglGetSwapIntervalEXT=GLee_Lazy_wglGetSwapIntervalEXT; -#endif -#endif - -/* WGL_NV_vertex_array_range */ - -#ifdef __GLEE_WGL_NV_vertex_array_range -#ifndef GLEE_C_DEFINED_wglAllocateMemoryNV -#define GLEE_C_DEFINED_wglAllocateMemoryNV - void* __stdcall GLee_Lazy_wglAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority) {if (GLeeInit()) return wglAllocateMemoryNV(size, readfreq, writefreq, priority); return (void*)0;} - GLEEPFNWGLALLOCATEMEMORYNVPROC GLeeFuncPtr_wglAllocateMemoryNV=GLee_Lazy_wglAllocateMemoryNV; -#endif -#ifndef GLEE_C_DEFINED_wglFreeMemoryNV -#define GLEE_C_DEFINED_wglFreeMemoryNV - void __stdcall GLee_Lazy_wglFreeMemoryNV(void * pointer) {if (GLeeInit()) wglFreeMemoryNV(pointer);} - GLEEPFNWGLFREEMEMORYNVPROC GLeeFuncPtr_wglFreeMemoryNV=GLee_Lazy_wglFreeMemoryNV; -#endif -#endif - -/* WGL_OML_sync_control */ - -#ifdef __GLEE_WGL_OML_sync_control -#ifndef GLEE_C_DEFINED_wglGetSyncValuesOML -#define GLEE_C_DEFINED_wglGetSyncValuesOML - BOOL __stdcall GLee_Lazy_wglGetSyncValuesOML(HDC hdc, INT64 * ust, INT64 * msc, INT64 * sbc) {if (GLeeInit()) return wglGetSyncValuesOML(hdc, ust, msc, sbc); return (BOOL)0;} - GLEEPFNWGLGETSYNCVALUESOMLPROC GLeeFuncPtr_wglGetSyncValuesOML=GLee_Lazy_wglGetSyncValuesOML; -#endif -#ifndef GLEE_C_DEFINED_wglGetMscRateOML -#define GLEE_C_DEFINED_wglGetMscRateOML - BOOL __stdcall GLee_Lazy_wglGetMscRateOML(HDC hdc, INT32 * numerator, INT32 * denominator) {if (GLeeInit()) return wglGetMscRateOML(hdc, numerator, denominator); return (BOOL)0;} - GLEEPFNWGLGETMSCRATEOMLPROC GLeeFuncPtr_wglGetMscRateOML=GLee_Lazy_wglGetMscRateOML; -#endif -#ifndef GLEE_C_DEFINED_wglSwapBuffersMscOML -#define GLEE_C_DEFINED_wglSwapBuffersMscOML - INT64 __stdcall GLee_Lazy_wglSwapBuffersMscOML(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder) {if (GLeeInit()) return wglSwapBuffersMscOML(hdc, target_msc, divisor, remainder); return (INT64)0;} - GLEEPFNWGLSWAPBUFFERSMSCOMLPROC GLeeFuncPtr_wglSwapBuffersMscOML=GLee_Lazy_wglSwapBuffersMscOML; -#endif -#ifndef GLEE_C_DEFINED_wglSwapLayerBuffersMscOML -#define GLEE_C_DEFINED_wglSwapLayerBuffersMscOML - INT64 __stdcall GLee_Lazy_wglSwapLayerBuffersMscOML(HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder) {if (GLeeInit()) return wglSwapLayerBuffersMscOML(hdc, fuPlanes, target_msc, divisor, remainder); return (INT64)0;} - GLEEPFNWGLSWAPLAYERBUFFERSMSCOMLPROC GLeeFuncPtr_wglSwapLayerBuffersMscOML=GLee_Lazy_wglSwapLayerBuffersMscOML; -#endif -#ifndef GLEE_C_DEFINED_wglWaitForMscOML -#define GLEE_C_DEFINED_wglWaitForMscOML - BOOL __stdcall GLee_Lazy_wglWaitForMscOML(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 * ust, INT64 * msc, INT64 * sbc) {if (GLeeInit()) return wglWaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc, sbc); return (BOOL)0;} - GLEEPFNWGLWAITFORMSCOMLPROC GLeeFuncPtr_wglWaitForMscOML=GLee_Lazy_wglWaitForMscOML; -#endif -#ifndef GLEE_C_DEFINED_wglWaitForSbcOML -#define GLEE_C_DEFINED_wglWaitForSbcOML - BOOL __stdcall GLee_Lazy_wglWaitForSbcOML(HDC hdc, INT64 target_sbc, INT64 * ust, INT64 * msc, INT64 * sbc) {if (GLeeInit()) return wglWaitForSbcOML(hdc, target_sbc, ust, msc, sbc); return (BOOL)0;} - GLEEPFNWGLWAITFORSBCOMLPROC GLeeFuncPtr_wglWaitForSbcOML=GLee_Lazy_wglWaitForSbcOML; -#endif -#endif - -/* WGL_I3D_swap_frame_usage */ - -#ifdef __GLEE_WGL_I3D_swap_frame_usage -#ifndef GLEE_C_DEFINED_wglGetFrameUsageI3D -#define GLEE_C_DEFINED_wglGetFrameUsageI3D - BOOL __stdcall GLee_Lazy_wglGetFrameUsageI3D(float * pUsage) {if (GLeeInit()) return wglGetFrameUsageI3D(pUsage); return (BOOL)0;} - GLEEPFNWGLGETFRAMEUSAGEI3DPROC GLeeFuncPtr_wglGetFrameUsageI3D=GLee_Lazy_wglGetFrameUsageI3D; -#endif -#ifndef GLEE_C_DEFINED_wglBeginFrameTrackingI3D -#define GLEE_C_DEFINED_wglBeginFrameTrackingI3D - BOOL __stdcall GLee_Lazy_wglBeginFrameTrackingI3D(void) {if (GLeeInit()) return wglBeginFrameTrackingI3D(); return (BOOL)0;} - GLEEPFNWGLBEGINFRAMETRACKINGI3DPROC GLeeFuncPtr_wglBeginFrameTrackingI3D=GLee_Lazy_wglBeginFrameTrackingI3D; -#endif -#ifndef GLEE_C_DEFINED_wglEndFrameTrackingI3D -#define GLEE_C_DEFINED_wglEndFrameTrackingI3D - BOOL __stdcall GLee_Lazy_wglEndFrameTrackingI3D(void) {if (GLeeInit()) return wglEndFrameTrackingI3D(); return (BOOL)0;} - GLEEPFNWGLENDFRAMETRACKINGI3DPROC GLeeFuncPtr_wglEndFrameTrackingI3D=GLee_Lazy_wglEndFrameTrackingI3D; -#endif -#ifndef GLEE_C_DEFINED_wglQueryFrameTrackingI3D -#define GLEE_C_DEFINED_wglQueryFrameTrackingI3D - BOOL __stdcall GLee_Lazy_wglQueryFrameTrackingI3D(DWORD * pFrameCount, DWORD * pMissedFrames, float * pLastMissedUsage) {if (GLeeInit()) return wglQueryFrameTrackingI3D(pFrameCount, pMissedFrames, pLastMissedUsage); return (BOOL)0;} - GLEEPFNWGLQUERYFRAMETRACKINGI3DPROC GLeeFuncPtr_wglQueryFrameTrackingI3D=GLee_Lazy_wglQueryFrameTrackingI3D; -#endif -#endif - -/* WGL_NV_video_output */ - -#ifdef __GLEE_WGL_NV_video_output -#ifndef GLEE_C_DEFINED_wglGetVideoDeviceNV -#define GLEE_C_DEFINED_wglGetVideoDeviceNV - BOOL __stdcall GLee_Lazy_wglGetVideoDeviceNV(HDC hDC, int numDevices, HPVIDEODEV * hVideoDevice) {if (GLeeInit()) return wglGetVideoDeviceNV(hDC, numDevices, hVideoDevice); return (BOOL)0;} - GLEEPFNWGLGETVIDEODEVICENVPROC GLeeFuncPtr_wglGetVideoDeviceNV=GLee_Lazy_wglGetVideoDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_wglReleaseVideoDeviceNV -#define GLEE_C_DEFINED_wglReleaseVideoDeviceNV - BOOL __stdcall GLee_Lazy_wglReleaseVideoDeviceNV(HPVIDEODEV hVideoDevice) {if (GLeeInit()) return wglReleaseVideoDeviceNV(hVideoDevice); return (BOOL)0;} - GLEEPFNWGLRELEASEVIDEODEVICENVPROC GLeeFuncPtr_wglReleaseVideoDeviceNV=GLee_Lazy_wglReleaseVideoDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_wglBindVideoImageNV -#define GLEE_C_DEFINED_wglBindVideoImageNV - BOOL __stdcall GLee_Lazy_wglBindVideoImageNV(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer) {if (GLeeInit()) return wglBindVideoImageNV(hVideoDevice, hPbuffer, iVideoBuffer); return (BOOL)0;} - GLEEPFNWGLBINDVIDEOIMAGENVPROC GLeeFuncPtr_wglBindVideoImageNV=GLee_Lazy_wglBindVideoImageNV; -#endif -#ifndef GLEE_C_DEFINED_wglReleaseVideoImageNV -#define GLEE_C_DEFINED_wglReleaseVideoImageNV - BOOL __stdcall GLee_Lazy_wglReleaseVideoImageNV(HPBUFFERARB hPbuffer, int iVideoBuffer) {if (GLeeInit()) return wglReleaseVideoImageNV(hPbuffer, iVideoBuffer); return (BOOL)0;} - GLEEPFNWGLRELEASEVIDEOIMAGENVPROC GLeeFuncPtr_wglReleaseVideoImageNV=GLee_Lazy_wglReleaseVideoImageNV; -#endif -#ifndef GLEE_C_DEFINED_wglSendPbufferToVideoNV -#define GLEE_C_DEFINED_wglSendPbufferToVideoNV - BOOL __stdcall GLee_Lazy_wglSendPbufferToVideoNV(HPBUFFERARB hPbuffer, int iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock) {if (GLeeInit()) return wglSendPbufferToVideoNV(hPbuffer, iBufferType, pulCounterPbuffer, bBlock); return (BOOL)0;} - GLEEPFNWGLSENDPBUFFERTOVIDEONVPROC GLeeFuncPtr_wglSendPbufferToVideoNV=GLee_Lazy_wglSendPbufferToVideoNV; -#endif -#ifndef GLEE_C_DEFINED_wglGetVideoInfoNV -#define GLEE_C_DEFINED_wglGetVideoInfoNV - BOOL __stdcall GLee_Lazy_wglGetVideoInfoNV(HPVIDEODEV hpVideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo) {if (GLeeInit()) return wglGetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo); return (BOOL)0;} - GLEEPFNWGLGETVIDEOINFONVPROC GLeeFuncPtr_wglGetVideoInfoNV=GLee_Lazy_wglGetVideoInfoNV; -#endif -#endif -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else /* GLX */ - -/* Extension querying variables */ - -GLboolean _GLEE_GLX_VERSION_1_3 = GL_FALSE; -GLboolean _GLEE_GLX_VERSION_1_4 = GL_FALSE; -GLboolean _GLEE_GLX_ARB_multisample = GL_FALSE; -GLboolean _GLEE_GLX_ARB_vertex_buffer_object = GL_FALSE; -GLboolean _GLEE_GLX_ARB_fbconfig_float = GL_FALSE; -GLboolean _GLEE_GLX_ARB_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_GLX_ARB_create_context = GL_FALSE; -GLboolean _GLEE_GLX_ARB_create_context_profile = GL_FALSE; -GLboolean _GLEE_GLX_ARB_create_context_robustness = GL_FALSE; -GLboolean _GLEE_GLX_SGIS_multisample = GL_FALSE; -GLboolean _GLEE_GLX_EXT_visual_info = GL_FALSE; -GLboolean _GLEE_GLX_SGI_swap_control = GL_FALSE; -GLboolean _GLEE_GLX_SGI_video_sync = GL_FALSE; -GLboolean _GLEE_GLX_SGI_make_current_read = GL_FALSE; -GLboolean _GLEE_GLX_EXT_visual_rating = GL_FALSE; -GLboolean _GLEE_GLX_EXT_import_context = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_fbconfig = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_pbuffer = GL_FALSE; -GLboolean _GLEE_GLX_SGI_cushion = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_video_resize = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_swap_group = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_swap_barrier = GL_FALSE; -GLboolean _GLEE_GLX_SGIS_blended_overlay = GL_FALSE; -GLboolean _GLEE_GLX_SGIS_shared_multisample = GL_FALSE; -GLboolean _GLEE_GLX_SUN_get_transparent_index = GL_FALSE; -GLboolean _GLEE_GLX_3DFX_multisample = GL_FALSE; -GLboolean _GLEE_GLX_MESA_copy_sub_buffer = GL_FALSE; -GLboolean _GLEE_GLX_MESA_pixmap_colormap = GL_FALSE; -GLboolean _GLEE_GLX_MESA_release_buffers = GL_FALSE; -GLboolean _GLEE_GLX_MESA_set_3dfx_mode = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_visual_select_group = GL_FALSE; -GLboolean _GLEE_GLX_OML_swap_method = GL_FALSE; -GLboolean _GLEE_GLX_OML_sync_control = GL_FALSE; -GLboolean _GLEE_GLX_NV_float_buffer = GL_FALSE; -GLboolean _GLEE_GLX_SGIX_hyperpipe = GL_FALSE; -GLboolean _GLEE_GLX_MESA_agp_offset = GL_FALSE; -GLboolean _GLEE_GLX_EXT_fbconfig_packed_float = GL_FALSE; -GLboolean _GLEE_GLX_EXT_framebuffer_sRGB = GL_FALSE; -GLboolean _GLEE_GLX_EXT_texture_from_pixmap = GL_FALSE; -GLboolean _GLEE_GLX_NV_present_video = GL_FALSE; -GLboolean _GLEE_GLX_NV_video_out = GL_FALSE; -GLboolean _GLEE_GLX_NV_swap_group = GL_FALSE; -GLboolean _GLEE_GLX_NV_video_capture = GL_FALSE; -GLboolean _GLEE_GLX_EXT_swap_control = GL_FALSE; -GLboolean _GLEE_GLX_NV_copy_image = GL_FALSE; -GLboolean _GLEE_GLX_INTEL_swap_event = GL_FALSE; -GLboolean _GLEE_GLX_NV_multisample_coverage = GL_FALSE; -GLboolean _GLEE_GLX_AMD_gpu_association = GL_FALSE; -GLboolean _GLEE_GLX_EXT_create_context_es2_profile = GL_FALSE; -GLboolean _GLEE_GLX_EXT_create_context_es_profile = GL_FALSE; -GLboolean _GLEE_GLX_EXT_swap_control_tear = GL_FALSE; -GLboolean _GLEE_GLX_EXT_buffer_age = GL_FALSE; -GLboolean _GLEE_GLX_NV_video_output = GL_FALSE; - -/* GLX Extension names */ - -char __GLeeGLXExtensionNames[53][35]={ - "GLX_VERSION_1_3", - "GLX_VERSION_1_4", - "GLX_ARB_multisample", - "GLX_ARB_vertex_buffer_object", - "GLX_ARB_fbconfig_float", - "GLX_ARB_framebuffer_sRGB", - "GLX_ARB_create_context", - "GLX_ARB_create_context_profile", - "GLX_ARB_create_context_robustness", - "GLX_SGIS_multisample", - "GLX_EXT_visual_info", - "GLX_SGI_swap_control", - "GLX_SGI_video_sync", - "GLX_SGI_make_current_read", - "GLX_EXT_visual_rating", - "GLX_EXT_import_context", - "GLX_SGIX_fbconfig", - "GLX_SGIX_pbuffer", - "GLX_SGI_cushion", - "GLX_SGIX_video_resize", - "GLX_SGIX_swap_group", - "GLX_SGIX_swap_barrier", - "GLX_SGIS_blended_overlay", - "GLX_SGIS_shared_multisample", - "GLX_SUN_get_transparent_index", - "GLX_3DFX_multisample", - "GLX_MESA_copy_sub_buffer", - "GLX_MESA_pixmap_colormap", - "GLX_MESA_release_buffers", - "GLX_MESA_set_3dfx_mode", - "GLX_SGIX_visual_select_group", - "GLX_OML_swap_method", - "GLX_OML_sync_control", - "GLX_NV_float_buffer", - "GLX_SGIX_hyperpipe", - "GLX_MESA_agp_offset", - "GLX_EXT_fbconfig_packed_float", - "GLX_EXT_framebuffer_sRGB", - "GLX_EXT_texture_from_pixmap", - "GLX_NV_present_video", - "GLX_NV_video_out", - "GLX_NV_swap_group", - "GLX_NV_video_capture", - "GLX_EXT_swap_control", - "GLX_NV_copy_image", - "GLX_INTEL_swap_event", - "GLX_NV_multisample_coverage", - "GLX_AMD_gpu_association", - "GLX_EXT_create_context_es2_profile", - "GLX_EXT_create_context_es_profile", - "GLX_EXT_swap_control_tear", - "GLX_EXT_buffer_age", - "GLX_NV_video_output" -}; -int __GLeeGLXNumExtensions=53; - -/* GLX_VERSION_1_3 */ - -#ifdef __GLEE_GLX_VERSION_1_3 -#ifndef GLEE_C_DEFINED_glXGetFBConfigs -#define GLEE_C_DEFINED_glXGetFBConfigs - GLXFBConfig * __stdcall GLee_Lazy_glXGetFBConfigs(Display * dpy, int screen, int * nelements) {if (GLeeInit()) return glXGetFBConfigs(dpy, screen, nelements); return (GLXFBConfig *)0;} - GLEEPFNGLXGETFBCONFIGSPROC GLeeFuncPtr_glXGetFBConfigs=GLee_Lazy_glXGetFBConfigs; -#endif -#ifndef GLEE_C_DEFINED_glXChooseFBConfig -#define GLEE_C_DEFINED_glXChooseFBConfig - GLXFBConfig * __stdcall GLee_Lazy_glXChooseFBConfig(Display * dpy, int screen, const int * attrib_list, int * nelements) {if (GLeeInit()) return glXChooseFBConfig(dpy, screen, attrib_list, nelements); return (GLXFBConfig *)0;} - GLEEPFNGLXCHOOSEFBCONFIGPROC GLeeFuncPtr_glXChooseFBConfig=GLee_Lazy_glXChooseFBConfig; -#endif -#ifndef GLEE_C_DEFINED_glXGetFBConfigAttrib -#define GLEE_C_DEFINED_glXGetFBConfigAttrib - int __stdcall GLee_Lazy_glXGetFBConfigAttrib(Display * dpy, GLXFBConfig config, int attribute, int * value) {if (GLeeInit()) return glXGetFBConfigAttrib(dpy, config, attribute, value); return (int)0;} - GLEEPFNGLXGETFBCONFIGATTRIBPROC GLeeFuncPtr_glXGetFBConfigAttrib=GLee_Lazy_glXGetFBConfigAttrib; -#endif -#ifndef GLEE_C_DEFINED_glXGetVisualFromFBConfig -#define GLEE_C_DEFINED_glXGetVisualFromFBConfig - XVisualInfo * __stdcall GLee_Lazy_glXGetVisualFromFBConfig(Display * dpy, GLXFBConfig config) {if (GLeeInit()) return glXGetVisualFromFBConfig(dpy, config); return (XVisualInfo *)0;} - GLEEPFNGLXGETVISUALFROMFBCONFIGPROC GLeeFuncPtr_glXGetVisualFromFBConfig=GLee_Lazy_glXGetVisualFromFBConfig; -#endif -#ifndef GLEE_C_DEFINED_glXCreateWindow -#define GLEE_C_DEFINED_glXCreateWindow - GLXWindow __stdcall GLee_Lazy_glXCreateWindow(Display * dpy, GLXFBConfig config, Window win, const int * attrib_list) {if (GLeeInit()) return glXCreateWindow(dpy, config, win, attrib_list); return (GLXWindow)0;} - GLEEPFNGLXCREATEWINDOWPROC GLeeFuncPtr_glXCreateWindow=GLee_Lazy_glXCreateWindow; -#endif -#ifndef GLEE_C_DEFINED_glXDestroyWindow -#define GLEE_C_DEFINED_glXDestroyWindow - void __stdcall GLee_Lazy_glXDestroyWindow(Display * dpy, GLXWindow win) {if (GLeeInit()) glXDestroyWindow(dpy, win);} - GLEEPFNGLXDESTROYWINDOWPROC GLeeFuncPtr_glXDestroyWindow=GLee_Lazy_glXDestroyWindow; -#endif -#ifndef GLEE_C_DEFINED_glXCreatePixmap -#define GLEE_C_DEFINED_glXCreatePixmap - GLXPixmap __stdcall GLee_Lazy_glXCreatePixmap(Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list) {if (GLeeInit()) return glXCreatePixmap(dpy, config, pixmap, attrib_list); return (GLXPixmap)0;} - GLEEPFNGLXCREATEPIXMAPPROC GLeeFuncPtr_glXCreatePixmap=GLee_Lazy_glXCreatePixmap; -#endif -#ifndef GLEE_C_DEFINED_glXDestroyPixmap -#define GLEE_C_DEFINED_glXDestroyPixmap - void __stdcall GLee_Lazy_glXDestroyPixmap(Display * dpy, GLXPixmap pixmap) {if (GLeeInit()) glXDestroyPixmap(dpy, pixmap);} - GLEEPFNGLXDESTROYPIXMAPPROC GLeeFuncPtr_glXDestroyPixmap=GLee_Lazy_glXDestroyPixmap; -#endif -#ifndef GLEE_C_DEFINED_glXCreatePbuffer -#define GLEE_C_DEFINED_glXCreatePbuffer - GLXPbuffer __stdcall GLee_Lazy_glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int * attrib_list) {if (GLeeInit()) return glXCreatePbuffer(dpy, config, attrib_list); return (GLXPbuffer)0;} - GLEEPFNGLXCREATEPBUFFERPROC GLeeFuncPtr_glXCreatePbuffer=GLee_Lazy_glXCreatePbuffer; -#endif -#ifndef GLEE_C_DEFINED_glXDestroyPbuffer -#define GLEE_C_DEFINED_glXDestroyPbuffer - void __stdcall GLee_Lazy_glXDestroyPbuffer(Display * dpy, GLXPbuffer pbuf) {if (GLeeInit()) glXDestroyPbuffer(dpy, pbuf);} - GLEEPFNGLXDESTROYPBUFFERPROC GLeeFuncPtr_glXDestroyPbuffer=GLee_Lazy_glXDestroyPbuffer; -#endif -#ifndef GLEE_C_DEFINED_glXQueryDrawable -#define GLEE_C_DEFINED_glXQueryDrawable - void __stdcall GLee_Lazy_glXQueryDrawable(Display * dpy, GLXDrawable draw, int attribute, unsigned int * value) {if (GLeeInit()) glXQueryDrawable(dpy, draw, attribute, value);} - GLEEPFNGLXQUERYDRAWABLEPROC GLeeFuncPtr_glXQueryDrawable=GLee_Lazy_glXQueryDrawable; -#endif -#ifndef GLEE_C_DEFINED_glXCreateNewContext -#define GLEE_C_DEFINED_glXCreateNewContext - GLXContext __stdcall GLee_Lazy_glXCreateNewContext(Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct) {if (GLeeInit()) return glXCreateNewContext(dpy, config, render_type, share_list, direct); return (GLXContext)0;} - GLEEPFNGLXCREATENEWCONTEXTPROC GLeeFuncPtr_glXCreateNewContext=GLee_Lazy_glXCreateNewContext; -#endif -#ifndef GLEE_C_DEFINED_glXMakeContextCurrent -#define GLEE_C_DEFINED_glXMakeContextCurrent - Bool __stdcall GLee_Lazy_glXMakeContextCurrent(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx) {if (GLeeInit()) return glXMakeContextCurrent(dpy, draw, read, ctx); return (Bool)0;} - GLEEPFNGLXMAKECONTEXTCURRENTPROC GLeeFuncPtr_glXMakeContextCurrent=GLee_Lazy_glXMakeContextCurrent; -#endif -#ifndef GLEE_C_DEFINED_glXGetCurrentReadDrawable -#define GLEE_C_DEFINED_glXGetCurrentReadDrawable - GLXDrawable __stdcall GLee_Lazy_glXGetCurrentReadDrawable(void) {if (GLeeInit()) return glXGetCurrentReadDrawable(); return (GLXDrawable)0;} - GLEEPFNGLXGETCURRENTREADDRAWABLEPROC GLeeFuncPtr_glXGetCurrentReadDrawable=GLee_Lazy_glXGetCurrentReadDrawable; -#endif -#ifndef GLEE_C_DEFINED_glXGetCurrentDisplay -#define GLEE_C_DEFINED_glXGetCurrentDisplay - Display * __stdcall GLee_Lazy_glXGetCurrentDisplay(void) {if (GLeeInit()) return glXGetCurrentDisplay(); return (Display *)0;} - GLEEPFNGLXGETCURRENTDISPLAYPROC GLeeFuncPtr_glXGetCurrentDisplay=GLee_Lazy_glXGetCurrentDisplay; -#endif -#ifndef GLEE_C_DEFINED_glXQueryContext -#define GLEE_C_DEFINED_glXQueryContext - int __stdcall GLee_Lazy_glXQueryContext(Display * dpy, GLXContext ctx, int attribute, int * value) {if (GLeeInit()) return glXQueryContext(dpy, ctx, attribute, value); return (int)0;} - GLEEPFNGLXQUERYCONTEXTPROC GLeeFuncPtr_glXQueryContext=GLee_Lazy_glXQueryContext; -#endif -#ifndef GLEE_C_DEFINED_glXSelectEvent -#define GLEE_C_DEFINED_glXSelectEvent - void __stdcall GLee_Lazy_glXSelectEvent(Display * dpy, GLXDrawable draw, unsigned long event_mask) {if (GLeeInit()) glXSelectEvent(dpy, draw, event_mask);} - GLEEPFNGLXSELECTEVENTPROC GLeeFuncPtr_glXSelectEvent=GLee_Lazy_glXSelectEvent; -#endif -#ifndef GLEE_C_DEFINED_glXGetSelectedEvent -#define GLEE_C_DEFINED_glXGetSelectedEvent - void __stdcall GLee_Lazy_glXGetSelectedEvent(Display * dpy, GLXDrawable draw, unsigned long * event_mask) {if (GLeeInit()) glXGetSelectedEvent(dpy, draw, event_mask);} - GLEEPFNGLXGETSELECTEDEVENTPROC GLeeFuncPtr_glXGetSelectedEvent=GLee_Lazy_glXGetSelectedEvent; -#endif -#endif - -/* GLX_VERSION_1_4 */ - -#ifdef __GLEE_GLX_VERSION_1_4 -#ifndef GLEE_C_DEFINED_glXGetProcAddress -#define GLEE_C_DEFINED_glXGetProcAddress - __GLXextFuncPtr __stdcall GLee_Lazy_glXGetProcAddress(const GLubyte * procName) {if (GLeeInit()) return glXGetProcAddress(procName); return (__GLXextFuncPtr)0;} - GLEEPFNGLXGETPROCADDRESSPROC GLeeFuncPtr_glXGetProcAddress=GLee_Lazy_glXGetProcAddress; -#endif -#endif - -/* GLX_ARB_multisample */ - -#ifdef __GLEE_GLX_ARB_multisample -#endif - -/* GLX_ARB_vertex_buffer_object */ - -#ifdef __GLEE_GLX_ARB_vertex_buffer_object -#endif - -/* GLX_ARB_fbconfig_float */ - -#ifdef __GLEE_GLX_ARB_fbconfig_float -#endif - -/* GLX_ARB_framebuffer_sRGB */ - -#ifdef __GLEE_GLX_ARB_framebuffer_sRGB -#endif - -/* GLX_ARB_create_context */ - -#ifdef __GLEE_GLX_ARB_create_context -#ifndef GLEE_C_DEFINED_glXCreateContextAttribsARB -#define GLEE_C_DEFINED_glXCreateContextAttribsARB - GLXContext __stdcall GLee_Lazy_glXCreateContextAttribsARB(Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list) {if (GLeeInit()) return glXCreateContextAttribsARB(dpy, config, share_context, direct, attrib_list); return (GLXContext)0;} - GLEEPFNGLXCREATECONTEXTATTRIBSARBPROC GLeeFuncPtr_glXCreateContextAttribsARB=GLee_Lazy_glXCreateContextAttribsARB; -#endif -#endif - -/* GLX_ARB_create_context_profile */ - -#ifdef __GLEE_GLX_ARB_create_context_profile -#endif - -/* GLX_ARB_create_context_robustness */ - -#ifdef __GLEE_GLX_ARB_create_context_robustness -#endif - -/* GLX_SGIS_multisample */ - -#ifdef __GLEE_GLX_SGIS_multisample -#endif - -/* GLX_EXT_visual_info */ - -#ifdef __GLEE_GLX_EXT_visual_info -#endif - -/* GLX_SGI_swap_control */ - -#ifdef __GLEE_GLX_SGI_swap_control -#ifndef GLEE_C_DEFINED_glXSwapIntervalSGI -#define GLEE_C_DEFINED_glXSwapIntervalSGI - int __stdcall GLee_Lazy_glXSwapIntervalSGI(int interval) {if (GLeeInit()) return glXSwapIntervalSGI(interval); return (int)0;} - GLEEPFNGLXSWAPINTERVALSGIPROC GLeeFuncPtr_glXSwapIntervalSGI=GLee_Lazy_glXSwapIntervalSGI; -#endif -#endif - -/* GLX_SGI_video_sync */ - -#ifdef __GLEE_GLX_SGI_video_sync -#ifndef GLEE_C_DEFINED_glXGetVideoSyncSGI -#define GLEE_C_DEFINED_glXGetVideoSyncSGI - int __stdcall GLee_Lazy_glXGetVideoSyncSGI(unsigned int * count) {if (GLeeInit()) return glXGetVideoSyncSGI(count); return (int)0;} - GLEEPFNGLXGETVIDEOSYNCSGIPROC GLeeFuncPtr_glXGetVideoSyncSGI=GLee_Lazy_glXGetVideoSyncSGI; -#endif -#ifndef GLEE_C_DEFINED_glXWaitVideoSyncSGI -#define GLEE_C_DEFINED_glXWaitVideoSyncSGI - int __stdcall GLee_Lazy_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int * count) {if (GLeeInit()) return glXWaitVideoSyncSGI(divisor, remainder, count); return (int)0;} - GLEEPFNGLXWAITVIDEOSYNCSGIPROC GLeeFuncPtr_glXWaitVideoSyncSGI=GLee_Lazy_glXWaitVideoSyncSGI; -#endif -#endif - -/* GLX_SGI_make_current_read */ - -#ifdef __GLEE_GLX_SGI_make_current_read -#ifndef GLEE_C_DEFINED_glXMakeCurrentReadSGI -#define GLEE_C_DEFINED_glXMakeCurrentReadSGI - Bool __stdcall GLee_Lazy_glXMakeCurrentReadSGI(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx) {if (GLeeInit()) return glXMakeCurrentReadSGI(dpy, draw, read, ctx); return (Bool)0;} - GLEEPFNGLXMAKECURRENTREADSGIPROC GLeeFuncPtr_glXMakeCurrentReadSGI=GLee_Lazy_glXMakeCurrentReadSGI; -#endif -#ifndef GLEE_C_DEFINED_glXGetCurrentReadDrawableSGI -#define GLEE_C_DEFINED_glXGetCurrentReadDrawableSGI - GLXDrawable __stdcall GLee_Lazy_glXGetCurrentReadDrawableSGI(void) {if (GLeeInit()) return glXGetCurrentReadDrawableSGI(); return (GLXDrawable)0;} - GLEEPFNGLXGETCURRENTREADDRAWABLESGIPROC GLeeFuncPtr_glXGetCurrentReadDrawableSGI=GLee_Lazy_glXGetCurrentReadDrawableSGI; -#endif -#endif - -/* GLX_EXT_visual_rating */ - -#ifdef __GLEE_GLX_EXT_visual_rating -#endif - -/* GLX_EXT_import_context */ - -#ifdef __GLEE_GLX_EXT_import_context -#ifndef GLEE_C_DEFINED_glXGetCurrentDisplayEXT -#define GLEE_C_DEFINED_glXGetCurrentDisplayEXT - Display * __stdcall GLee_Lazy_glXGetCurrentDisplayEXT(void) {if (GLeeInit()) return glXGetCurrentDisplayEXT(); return (Display *)0;} - GLEEPFNGLXGETCURRENTDISPLAYEXTPROC GLeeFuncPtr_glXGetCurrentDisplayEXT=GLee_Lazy_glXGetCurrentDisplayEXT; -#endif -#ifndef GLEE_C_DEFINED_glXQueryContextInfoEXT -#define GLEE_C_DEFINED_glXQueryContextInfoEXT - int __stdcall GLee_Lazy_glXQueryContextInfoEXT(Display * dpy, GLXContext context, int attribute, int * value) {if (GLeeInit()) return glXQueryContextInfoEXT(dpy, context, attribute, value); return (int)0;} - GLEEPFNGLXQUERYCONTEXTINFOEXTPROC GLeeFuncPtr_glXQueryContextInfoEXT=GLee_Lazy_glXQueryContextInfoEXT; -#endif -#ifndef GLEE_C_DEFINED_glXGetContextIDEXT -#define GLEE_C_DEFINED_glXGetContextIDEXT - GLEE_GLXContextID __stdcall GLee_Lazy_glXGetContextIDEXT(const GLXContext context) {if (GLeeInit()) return glXGetContextIDEXT(context); return (GLEE_GLXContextID)0;} - GLEEPFNGLXGETCONTEXTIDEXTPROC GLeeFuncPtr_glXGetContextIDEXT=GLee_Lazy_glXGetContextIDEXT; -#endif -#ifndef GLEE_C_DEFINED_glXImportContextEXT -#define GLEE_C_DEFINED_glXImportContextEXT - GLXContext __stdcall GLee_Lazy_glXImportContextEXT(Display * dpy, GLEE_GLXContextID contextID) {if (GLeeInit()) return glXImportContextEXT(dpy, contextID); return (GLXContext)0;} - GLEEPFNGLXIMPORTCONTEXTEXTPROC GLeeFuncPtr_glXImportContextEXT=GLee_Lazy_glXImportContextEXT; -#endif -#ifndef GLEE_C_DEFINED_glXFreeContextEXT -#define GLEE_C_DEFINED_glXFreeContextEXT - void __stdcall GLee_Lazy_glXFreeContextEXT(Display * dpy, GLXContext context) {if (GLeeInit()) glXFreeContextEXT(dpy, context);} - GLEEPFNGLXFREECONTEXTEXTPROC GLeeFuncPtr_glXFreeContextEXT=GLee_Lazy_glXFreeContextEXT; -#endif -#endif - -/* GLX_SGIX_fbconfig */ - -#ifdef __GLEE_GLX_SGIX_fbconfig -#ifndef GLEE_C_DEFINED_glXGetFBConfigAttribSGIX -#define GLEE_C_DEFINED_glXGetFBConfigAttribSGIX - int __stdcall GLee_Lazy_glXGetFBConfigAttribSGIX(Display * dpy, GLXFBConfigSGIX config, int attribute, int * value) {if (GLeeInit()) return glXGetFBConfigAttribSGIX(dpy, config, attribute, value); return (int)0;} - GLEEPFNGLXGETFBCONFIGATTRIBSGIXPROC GLeeFuncPtr_glXGetFBConfigAttribSGIX=GLee_Lazy_glXGetFBConfigAttribSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXChooseFBConfigSGIX -#define GLEE_C_DEFINED_glXChooseFBConfigSGIX - GLXFBConfigSGIX * __stdcall GLee_Lazy_glXChooseFBConfigSGIX(Display * dpy, int screen, int * attrib_list, int * nelements) {if (GLeeInit()) return glXChooseFBConfigSGIX(dpy, screen, attrib_list, nelements); return (GLXFBConfigSGIX *)0;} - GLEEPFNGLXCHOOSEFBCONFIGSGIXPROC GLeeFuncPtr_glXChooseFBConfigSGIX=GLee_Lazy_glXChooseFBConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXCreateGLXPixmapWithConfigSGIX -#define GLEE_C_DEFINED_glXCreateGLXPixmapWithConfigSGIX - GLXPixmap __stdcall GLee_Lazy_glXCreateGLXPixmapWithConfigSGIX(Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap) {if (GLeeInit()) return glXCreateGLXPixmapWithConfigSGIX(dpy, config, pixmap); return (GLXPixmap)0;} - GLEEPFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC GLeeFuncPtr_glXCreateGLXPixmapWithConfigSGIX=GLee_Lazy_glXCreateGLXPixmapWithConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXCreateContextWithConfigSGIX -#define GLEE_C_DEFINED_glXCreateContextWithConfigSGIX - GLXContext __stdcall GLee_Lazy_glXCreateContextWithConfigSGIX(Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct) {if (GLeeInit()) return glXCreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct); return (GLXContext)0;} - GLEEPFNGLXCREATECONTEXTWITHCONFIGSGIXPROC GLeeFuncPtr_glXCreateContextWithConfigSGIX=GLee_Lazy_glXCreateContextWithConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXGetVisualFromFBConfigSGIX -#define GLEE_C_DEFINED_glXGetVisualFromFBConfigSGIX - XVisualInfo * __stdcall GLee_Lazy_glXGetVisualFromFBConfigSGIX(Display * dpy, GLXFBConfigSGIX config) {if (GLeeInit()) return glXGetVisualFromFBConfigSGIX(dpy, config); return (XVisualInfo *)0;} - GLEEPFNGLXGETVISUALFROMFBCONFIGSGIXPROC GLeeFuncPtr_glXGetVisualFromFBConfigSGIX=GLee_Lazy_glXGetVisualFromFBConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXGetFBConfigFromVisualSGIX -#define GLEE_C_DEFINED_glXGetFBConfigFromVisualSGIX - GLXFBConfigSGIX __stdcall GLee_Lazy_glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * vis) {if (GLeeInit()) return glXGetFBConfigFromVisualSGIX(dpy, vis); return (GLXFBConfigSGIX)0;} - GLEEPFNGLXGETFBCONFIGFROMVISUALSGIXPROC GLeeFuncPtr_glXGetFBConfigFromVisualSGIX=GLee_Lazy_glXGetFBConfigFromVisualSGIX; -#endif -#endif - -/* GLX_SGIX_pbuffer */ - -#ifdef __GLEE_GLX_SGIX_pbuffer -#ifndef GLEE_C_DEFINED_glXCreateGLXPbufferSGIX -#define GLEE_C_DEFINED_glXCreateGLXPbufferSGIX - GLXPbufferSGIX __stdcall GLee_Lazy_glXCreateGLXPbufferSGIX(Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list) {if (GLeeInit()) return glXCreateGLXPbufferSGIX(dpy, config, width, height, attrib_list); return (GLXPbufferSGIX)0;} - GLEEPFNGLXCREATEGLXPBUFFERSGIXPROC GLeeFuncPtr_glXCreateGLXPbufferSGIX=GLee_Lazy_glXCreateGLXPbufferSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXDestroyGLXPbufferSGIX -#define GLEE_C_DEFINED_glXDestroyGLXPbufferSGIX - void __stdcall GLee_Lazy_glXDestroyGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX pbuf) {if (GLeeInit()) glXDestroyGLXPbufferSGIX(dpy, pbuf);} - GLEEPFNGLXDESTROYGLXPBUFFERSGIXPROC GLeeFuncPtr_glXDestroyGLXPbufferSGIX=GLee_Lazy_glXDestroyGLXPbufferSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryGLXPbufferSGIX -#define GLEE_C_DEFINED_glXQueryGLXPbufferSGIX - int __stdcall GLee_Lazy_glXQueryGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value) {if (GLeeInit()) return glXQueryGLXPbufferSGIX(dpy, pbuf, attribute, value); return (int)0;} - GLEEPFNGLXQUERYGLXPBUFFERSGIXPROC GLeeFuncPtr_glXQueryGLXPbufferSGIX=GLee_Lazy_glXQueryGLXPbufferSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXSelectEventSGIX -#define GLEE_C_DEFINED_glXSelectEventSGIX - void __stdcall GLee_Lazy_glXSelectEventSGIX(Display * dpy, GLXDrawable drawable, unsigned long mask) {if (GLeeInit()) glXSelectEventSGIX(dpy, drawable, mask);} - GLEEPFNGLXSELECTEVENTSGIXPROC GLeeFuncPtr_glXSelectEventSGIX=GLee_Lazy_glXSelectEventSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXGetSelectedEventSGIX -#define GLEE_C_DEFINED_glXGetSelectedEventSGIX - void __stdcall GLee_Lazy_glXGetSelectedEventSGIX(Display * dpy, GLXDrawable drawable, unsigned long * mask) {if (GLeeInit()) glXGetSelectedEventSGIX(dpy, drawable, mask);} - GLEEPFNGLXGETSELECTEDEVENTSGIXPROC GLeeFuncPtr_glXGetSelectedEventSGIX=GLee_Lazy_glXGetSelectedEventSGIX; -#endif -#endif - -/* GLX_SGI_cushion */ - -#ifdef __GLEE_GLX_SGI_cushion -#ifndef GLEE_C_DEFINED_glXCushionSGI -#define GLEE_C_DEFINED_glXCushionSGI - void __stdcall GLee_Lazy_glXCushionSGI(Display * dpy, Window window, float cushion) {if (GLeeInit()) glXCushionSGI(dpy, window, cushion);} - GLEEPFNGLXCUSHIONSGIPROC GLeeFuncPtr_glXCushionSGI=GLee_Lazy_glXCushionSGI; -#endif -#endif - -/* GLX_SGIX_video_resize */ - -#ifdef __GLEE_GLX_SGIX_video_resize -#ifndef GLEE_C_DEFINED_glXBindChannelToWindowSGIX -#define GLEE_C_DEFINED_glXBindChannelToWindowSGIX - int __stdcall GLee_Lazy_glXBindChannelToWindowSGIX(Display * display, int screen, int channel, Window window) {if (GLeeInit()) return glXBindChannelToWindowSGIX(display, screen, channel, window); return (int)0;} - GLEEPFNGLXBINDCHANNELTOWINDOWSGIXPROC GLeeFuncPtr_glXBindChannelToWindowSGIX=GLee_Lazy_glXBindChannelToWindowSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXChannelRectSGIX -#define GLEE_C_DEFINED_glXChannelRectSGIX - int __stdcall GLee_Lazy_glXChannelRectSGIX(Display * display, int screen, int channel, int x, int y, int w, int h) {if (GLeeInit()) return glXChannelRectSGIX(display, screen, channel, x, y, w, h); return (int)0;} - GLEEPFNGLXCHANNELRECTSGIXPROC GLeeFuncPtr_glXChannelRectSGIX=GLee_Lazy_glXChannelRectSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryChannelRectSGIX -#define GLEE_C_DEFINED_glXQueryChannelRectSGIX - int __stdcall GLee_Lazy_glXQueryChannelRectSGIX(Display * display, int screen, int channel, int * dx, int * dy, int * dw, int * dh) {if (GLeeInit()) return glXQueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh); return (int)0;} - GLEEPFNGLXQUERYCHANNELRECTSGIXPROC GLeeFuncPtr_glXQueryChannelRectSGIX=GLee_Lazy_glXQueryChannelRectSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryChannelDeltasSGIX -#define GLEE_C_DEFINED_glXQueryChannelDeltasSGIX - int __stdcall GLee_Lazy_glXQueryChannelDeltasSGIX(Display * display, int screen, int channel, int * x, int * y, int * w, int * h) {if (GLeeInit()) return glXQueryChannelDeltasSGIX(display, screen, channel, x, y, w, h); return (int)0;} - GLEEPFNGLXQUERYCHANNELDELTASSGIXPROC GLeeFuncPtr_glXQueryChannelDeltasSGIX=GLee_Lazy_glXQueryChannelDeltasSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXChannelRectSyncSGIX -#define GLEE_C_DEFINED_glXChannelRectSyncSGIX - int __stdcall GLee_Lazy_glXChannelRectSyncSGIX(Display * display, int screen, int channel, GLenum synctype) {if (GLeeInit()) return glXChannelRectSyncSGIX(display, screen, channel, synctype); return (int)0;} - GLEEPFNGLXCHANNELRECTSYNCSGIXPROC GLeeFuncPtr_glXChannelRectSyncSGIX=GLee_Lazy_glXChannelRectSyncSGIX; -#endif -#endif - -/* GLX_SGIX_swap_group */ - -#ifdef __GLEE_GLX_SGIX_swap_group -#ifndef GLEE_C_DEFINED_glXJoinSwapGroupSGIX -#define GLEE_C_DEFINED_glXJoinSwapGroupSGIX - void __stdcall GLee_Lazy_glXJoinSwapGroupSGIX(Display * dpy, GLXDrawable drawable, GLXDrawable member) {if (GLeeInit()) glXJoinSwapGroupSGIX(dpy, drawable, member);} - GLEEPFNGLXJOINSWAPGROUPSGIXPROC GLeeFuncPtr_glXJoinSwapGroupSGIX=GLee_Lazy_glXJoinSwapGroupSGIX; -#endif -#endif - -/* GLX_SGIX_swap_barrier */ - -#ifdef __GLEE_GLX_SGIX_swap_barrier -#ifndef GLEE_C_DEFINED_glXBindSwapBarrierSGIX -#define GLEE_C_DEFINED_glXBindSwapBarrierSGIX - void __stdcall GLee_Lazy_glXBindSwapBarrierSGIX(Display * dpy, GLXDrawable drawable, int barrier) {if (GLeeInit()) glXBindSwapBarrierSGIX(dpy, drawable, barrier);} - GLEEPFNGLXBINDSWAPBARRIERSGIXPROC GLeeFuncPtr_glXBindSwapBarrierSGIX=GLee_Lazy_glXBindSwapBarrierSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryMaxSwapBarriersSGIX -#define GLEE_C_DEFINED_glXQueryMaxSwapBarriersSGIX - Bool __stdcall GLee_Lazy_glXQueryMaxSwapBarriersSGIX(Display * dpy, int screen, int * max) {if (GLeeInit()) return glXQueryMaxSwapBarriersSGIX(dpy, screen, max); return (Bool)0;} - GLEEPFNGLXQUERYMAXSWAPBARRIERSSGIXPROC GLeeFuncPtr_glXQueryMaxSwapBarriersSGIX=GLee_Lazy_glXQueryMaxSwapBarriersSGIX; -#endif -#endif - -/* GLX_SGIS_blended_overlay */ - -#ifdef __GLEE_GLX_SGIS_blended_overlay -#endif - -/* GLX_SGIS_shared_multisample */ - -#ifdef __GLEE_GLX_SGIS_shared_multisample -#endif - -/* GLX_SUN_get_transparent_index */ - -#ifdef __GLEE_GLX_SUN_get_transparent_index -#ifndef GLEE_C_DEFINED_glXGetTransparentIndexSUN -#define GLEE_C_DEFINED_glXGetTransparentIndexSUN - Status __stdcall GLee_Lazy_glXGetTransparentIndexSUN(Display * dpy, Window overlay, Window underlay, long * pTransparentIndex) {if (GLeeInit()) return glXGetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex); return (Status)0;} - GLEEPFNGLXGETTRANSPARENTINDEXSUNPROC GLeeFuncPtr_glXGetTransparentIndexSUN=GLee_Lazy_glXGetTransparentIndexSUN; -#endif -#endif - -/* GLX_3DFX_multisample */ - -#ifdef __GLEE_GLX_3DFX_multisample -#endif - -/* GLX_MESA_copy_sub_buffer */ - -#ifdef __GLEE_GLX_MESA_copy_sub_buffer -#ifndef GLEE_C_DEFINED_glXCopySubBufferMESA -#define GLEE_C_DEFINED_glXCopySubBufferMESA - void __stdcall GLee_Lazy_glXCopySubBufferMESA(Display * dpy, GLXDrawable drawable, int x, int y, int width, int height) {if (GLeeInit()) glXCopySubBufferMESA(dpy, drawable, x, y, width, height);} - GLEEPFNGLXCOPYSUBBUFFERMESAPROC GLeeFuncPtr_glXCopySubBufferMESA=GLee_Lazy_glXCopySubBufferMESA; -#endif -#endif - -/* GLX_MESA_pixmap_colormap */ - -#ifdef __GLEE_GLX_MESA_pixmap_colormap -#ifndef GLEE_C_DEFINED_glXCreateGLXPixmapMESA -#define GLEE_C_DEFINED_glXCreateGLXPixmapMESA - GLXPixmap __stdcall GLee_Lazy_glXCreateGLXPixmapMESA(Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap) {if (GLeeInit()) return glXCreateGLXPixmapMESA(dpy, visual, pixmap, cmap); return (GLXPixmap)0;} - GLEEPFNGLXCREATEGLXPIXMAPMESAPROC GLeeFuncPtr_glXCreateGLXPixmapMESA=GLee_Lazy_glXCreateGLXPixmapMESA; -#endif -#endif - -/* GLX_MESA_release_buffers */ - -#ifdef __GLEE_GLX_MESA_release_buffers -#ifndef GLEE_C_DEFINED_glXReleaseBuffersMESA -#define GLEE_C_DEFINED_glXReleaseBuffersMESA - Bool __stdcall GLee_Lazy_glXReleaseBuffersMESA(Display * dpy, GLXDrawable drawable) {if (GLeeInit()) return glXReleaseBuffersMESA(dpy, drawable); return (Bool)0;} - GLEEPFNGLXRELEASEBUFFERSMESAPROC GLeeFuncPtr_glXReleaseBuffersMESA=GLee_Lazy_glXReleaseBuffersMESA; -#endif -#endif - -/* GLX_MESA_set_3dfx_mode */ - -#ifdef __GLEE_GLX_MESA_set_3dfx_mode -#ifndef GLEE_C_DEFINED_glXSet3DfxModeMESA -#define GLEE_C_DEFINED_glXSet3DfxModeMESA - Bool __stdcall GLee_Lazy_glXSet3DfxModeMESA(int mode) {if (GLeeInit()) return glXSet3DfxModeMESA(mode); return (Bool)0;} - GLEEPFNGLXSET3DFXMODEMESAPROC GLeeFuncPtr_glXSet3DfxModeMESA=GLee_Lazy_glXSet3DfxModeMESA; -#endif -#endif - -/* GLX_SGIX_visual_select_group */ - -#ifdef __GLEE_GLX_SGIX_visual_select_group -#endif - -/* GLX_OML_swap_method */ - -#ifdef __GLEE_GLX_OML_swap_method -#endif - -/* GLX_OML_sync_control */ - -#ifdef __GLEE_GLX_OML_sync_control -#ifndef GLEE_C_DEFINED_glXGetSyncValuesOML -#define GLEE_C_DEFINED_glXGetSyncValuesOML - Bool __stdcall GLee_Lazy_glXGetSyncValuesOML(Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc) {if (GLeeInit()) return glXGetSyncValuesOML(dpy, drawable, ust, msc, sbc); return (Bool)0;} - GLEEPFNGLXGETSYNCVALUESOMLPROC GLeeFuncPtr_glXGetSyncValuesOML=GLee_Lazy_glXGetSyncValuesOML; -#endif -#ifndef GLEE_C_DEFINED_glXGetMscRateOML -#define GLEE_C_DEFINED_glXGetMscRateOML - Bool __stdcall GLee_Lazy_glXGetMscRateOML(Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator) {if (GLeeInit()) return glXGetMscRateOML(dpy, drawable, numerator, denominator); return (Bool)0;} - GLEEPFNGLXGETMSCRATEOMLPROC GLeeFuncPtr_glXGetMscRateOML=GLee_Lazy_glXGetMscRateOML; -#endif -#ifndef GLEE_C_DEFINED_glXSwapBuffersMscOML -#define GLEE_C_DEFINED_glXSwapBuffersMscOML - int64_t __stdcall GLee_Lazy_glXSwapBuffersMscOML(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder) {if (GLeeInit()) return glXSwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder); return (int64_t)0;} - GLEEPFNGLXSWAPBUFFERSMSCOMLPROC GLeeFuncPtr_glXSwapBuffersMscOML=GLee_Lazy_glXSwapBuffersMscOML; -#endif -#ifndef GLEE_C_DEFINED_glXWaitForMscOML -#define GLEE_C_DEFINED_glXWaitForMscOML - Bool __stdcall GLee_Lazy_glXWaitForMscOML(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * ust, int64_t * msc, int64_t * sbc) {if (GLeeInit()) return glXWaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc); return (Bool)0;} - GLEEPFNGLXWAITFORMSCOMLPROC GLeeFuncPtr_glXWaitForMscOML=GLee_Lazy_glXWaitForMscOML; -#endif -#ifndef GLEE_C_DEFINED_glXWaitForSbcOML -#define GLEE_C_DEFINED_glXWaitForSbcOML - Bool __stdcall GLee_Lazy_glXWaitForSbcOML(Display * dpy, GLXDrawable drawable, int64_t target_sbc, int64_t * ust, int64_t * msc, int64_t * sbc) {if (GLeeInit()) return glXWaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc); return (Bool)0;} - GLEEPFNGLXWAITFORSBCOMLPROC GLeeFuncPtr_glXWaitForSbcOML=GLee_Lazy_glXWaitForSbcOML; -#endif -#endif - -/* GLX_NV_float_buffer */ - -#ifdef __GLEE_GLX_NV_float_buffer -#endif - -/* GLX_SGIX_hyperpipe */ - -#ifdef __GLEE_GLX_SGIX_hyperpipe -#ifndef GLEE_C_DEFINED_glXQueryHyperpipeNetworkSGIX -#define GLEE_C_DEFINED_glXQueryHyperpipeNetworkSGIX - GLXHyperpipeNetworkSGIX * __stdcall GLee_Lazy_glXQueryHyperpipeNetworkSGIX(Display * dpy, int * npipes) {if (GLeeInit()) return glXQueryHyperpipeNetworkSGIX(dpy, npipes); return (GLXHyperpipeNetworkSGIX *)0;} - GLEEPFNGLXQUERYHYPERPIPENETWORKSGIXPROC GLeeFuncPtr_glXQueryHyperpipeNetworkSGIX=GLee_Lazy_glXQueryHyperpipeNetworkSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXHyperpipeConfigSGIX -#define GLEE_C_DEFINED_glXHyperpipeConfigSGIX - int __stdcall GLee_Lazy_glXHyperpipeConfigSGIX(Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId) {if (GLeeInit()) return glXHyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId); return (int)0;} - GLEEPFNGLXHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXHyperpipeConfigSGIX=GLee_Lazy_glXHyperpipeConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryHyperpipeConfigSGIX -#define GLEE_C_DEFINED_glXQueryHyperpipeConfigSGIX - GLXHyperpipeConfigSGIX * __stdcall GLee_Lazy_glXQueryHyperpipeConfigSGIX(Display * dpy, int hpId, int * npipes) {if (GLeeInit()) return glXQueryHyperpipeConfigSGIX(dpy, hpId, npipes); return (GLXHyperpipeConfigSGIX *)0;} - GLEEPFNGLXQUERYHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXQueryHyperpipeConfigSGIX=GLee_Lazy_glXQueryHyperpipeConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXDestroyHyperpipeConfigSGIX -#define GLEE_C_DEFINED_glXDestroyHyperpipeConfigSGIX - int __stdcall GLee_Lazy_glXDestroyHyperpipeConfigSGIX(Display * dpy, int hpId) {if (GLeeInit()) return glXDestroyHyperpipeConfigSGIX(dpy, hpId); return (int)0;} - GLEEPFNGLXDESTROYHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXDestroyHyperpipeConfigSGIX=GLee_Lazy_glXDestroyHyperpipeConfigSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXBindHyperpipeSGIX -#define GLEE_C_DEFINED_glXBindHyperpipeSGIX - int __stdcall GLee_Lazy_glXBindHyperpipeSGIX(Display * dpy, int hpId) {if (GLeeInit()) return glXBindHyperpipeSGIX(dpy, hpId); return (int)0;} - GLEEPFNGLXBINDHYPERPIPESGIXPROC GLeeFuncPtr_glXBindHyperpipeSGIX=GLee_Lazy_glXBindHyperpipeSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryHyperpipeBestAttribSGIX -#define GLEE_C_DEFINED_glXQueryHyperpipeBestAttribSGIX - int __stdcall GLee_Lazy_glXQueryHyperpipeBestAttribSGIX(Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList) {if (GLeeInit()) return glXQueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList); return (int)0;} - GLEEPFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC GLeeFuncPtr_glXQueryHyperpipeBestAttribSGIX=GLee_Lazy_glXQueryHyperpipeBestAttribSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXHyperpipeAttribSGIX -#define GLEE_C_DEFINED_glXHyperpipeAttribSGIX - int __stdcall GLee_Lazy_glXHyperpipeAttribSGIX(Display * dpy, int timeSlice, int attrib, int size, void * attribList) {if (GLeeInit()) return glXHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList); return (int)0;} - GLEEPFNGLXHYPERPIPEATTRIBSGIXPROC GLeeFuncPtr_glXHyperpipeAttribSGIX=GLee_Lazy_glXHyperpipeAttribSGIX; -#endif -#ifndef GLEE_C_DEFINED_glXQueryHyperpipeAttribSGIX -#define GLEE_C_DEFINED_glXQueryHyperpipeAttribSGIX - int __stdcall GLee_Lazy_glXQueryHyperpipeAttribSGIX(Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList) {if (GLeeInit()) return glXQueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList); return (int)0;} - GLEEPFNGLXQUERYHYPERPIPEATTRIBSGIXPROC GLeeFuncPtr_glXQueryHyperpipeAttribSGIX=GLee_Lazy_glXQueryHyperpipeAttribSGIX; -#endif -#endif - -/* GLX_MESA_agp_offset */ - -#ifdef __GLEE_GLX_MESA_agp_offset -#ifndef GLEE_C_DEFINED_glXGetAGPOffsetMESA -#define GLEE_C_DEFINED_glXGetAGPOffsetMESA - unsigned int __stdcall GLee_Lazy_glXGetAGPOffsetMESA(const void * pointer) {if (GLeeInit()) return glXGetAGPOffsetMESA(pointer); return (unsigned int)0;} - GLEEPFNGLXGETAGPOFFSETMESAPROC GLeeFuncPtr_glXGetAGPOffsetMESA=GLee_Lazy_glXGetAGPOffsetMESA; -#endif -#endif - -/* GLX_EXT_fbconfig_packed_float */ - -#ifdef __GLEE_GLX_EXT_fbconfig_packed_float -#endif - -/* GLX_EXT_framebuffer_sRGB */ - -#ifdef __GLEE_GLX_EXT_framebuffer_sRGB -#endif - -/* GLX_EXT_texture_from_pixmap */ - -#ifdef __GLEE_GLX_EXT_texture_from_pixmap -#ifndef GLEE_C_DEFINED_glXBindTexImageEXT -#define GLEE_C_DEFINED_glXBindTexImageEXT - void __stdcall GLee_Lazy_glXBindTexImageEXT(Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list) {if (GLeeInit()) glXBindTexImageEXT(dpy, drawable, buffer, attrib_list);} - GLEEPFNGLXBINDTEXIMAGEEXTPROC GLeeFuncPtr_glXBindTexImageEXT=GLee_Lazy_glXBindTexImageEXT; -#endif -#ifndef GLEE_C_DEFINED_glXReleaseTexImageEXT -#define GLEE_C_DEFINED_glXReleaseTexImageEXT - void __stdcall GLee_Lazy_glXReleaseTexImageEXT(Display * dpy, GLXDrawable drawable, int buffer) {if (GLeeInit()) glXReleaseTexImageEXT(dpy, drawable, buffer);} - GLEEPFNGLXRELEASETEXIMAGEEXTPROC GLeeFuncPtr_glXReleaseTexImageEXT=GLee_Lazy_glXReleaseTexImageEXT; -#endif -#endif - -/* GLX_NV_present_video */ - -#ifdef __GLEE_GLX_NV_present_video -#ifndef GLEE_C_DEFINED_glXEnumerateVideoDevicesNV -#define GLEE_C_DEFINED_glXEnumerateVideoDevicesNV - unsigned int * __stdcall GLee_Lazy_glXEnumerateVideoDevicesNV(Display * dpy, int screen, int * nelements) {if (GLeeInit()) return glXEnumerateVideoDevicesNV(dpy, screen, nelements); return (unsigned int *)0;} - GLEEPFNGLXENUMERATEVIDEODEVICESNVPROC GLeeFuncPtr_glXEnumerateVideoDevicesNV=GLee_Lazy_glXEnumerateVideoDevicesNV; -#endif -#ifndef GLEE_C_DEFINED_glXBindVideoDeviceNV -#define GLEE_C_DEFINED_glXBindVideoDeviceNV - int __stdcall GLee_Lazy_glXBindVideoDeviceNV(Display * dpy, unsigned int video_slot, unsigned int video_device, const int * attrib_list) {if (GLeeInit()) return glXBindVideoDeviceNV(dpy, video_slot, video_device, attrib_list); return (int)0;} - GLEEPFNGLXBINDVIDEODEVICENVPROC GLeeFuncPtr_glXBindVideoDeviceNV=GLee_Lazy_glXBindVideoDeviceNV; -#endif -#endif - -/* GLX_NV_video_out */ - -#ifdef __GLEE_GLX_NV_video_out -#endif - -/* GLX_NV_swap_group */ - -#ifdef __GLEE_GLX_NV_swap_group -#ifndef GLEE_C_DEFINED_glXJoinSwapGroupNV -#define GLEE_C_DEFINED_glXJoinSwapGroupNV - Bool __stdcall GLee_Lazy_glXJoinSwapGroupNV(Display * dpy, GLXDrawable drawable, GLuint group) {if (GLeeInit()) return glXJoinSwapGroupNV(dpy, drawable, group); return (Bool)0;} - GLEEPFNGLXJOINSWAPGROUPNVPROC GLeeFuncPtr_glXJoinSwapGroupNV=GLee_Lazy_glXJoinSwapGroupNV; -#endif -#ifndef GLEE_C_DEFINED_glXBindSwapBarrierNV -#define GLEE_C_DEFINED_glXBindSwapBarrierNV - Bool __stdcall GLee_Lazy_glXBindSwapBarrierNV(Display * dpy, GLuint group, GLuint barrier) {if (GLeeInit()) return glXBindSwapBarrierNV(dpy, group, barrier); return (Bool)0;} - GLEEPFNGLXBINDSWAPBARRIERNVPROC GLeeFuncPtr_glXBindSwapBarrierNV=GLee_Lazy_glXBindSwapBarrierNV; -#endif -#ifndef GLEE_C_DEFINED_glXQuerySwapGroupNV -#define GLEE_C_DEFINED_glXQuerySwapGroupNV - Bool __stdcall GLee_Lazy_glXQuerySwapGroupNV(Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier) {if (GLeeInit()) return glXQuerySwapGroupNV(dpy, drawable, group, barrier); return (Bool)0;} - GLEEPFNGLXQUERYSWAPGROUPNVPROC GLeeFuncPtr_glXQuerySwapGroupNV=GLee_Lazy_glXQuerySwapGroupNV; -#endif -#ifndef GLEE_C_DEFINED_glXQueryMaxSwapGroupsNV -#define GLEE_C_DEFINED_glXQueryMaxSwapGroupsNV - Bool __stdcall GLee_Lazy_glXQueryMaxSwapGroupsNV(Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers) {if (GLeeInit()) return glXQueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers); return (Bool)0;} - GLEEPFNGLXQUERYMAXSWAPGROUPSNVPROC GLeeFuncPtr_glXQueryMaxSwapGroupsNV=GLee_Lazy_glXQueryMaxSwapGroupsNV; -#endif -#ifndef GLEE_C_DEFINED_glXQueryFrameCountNV -#define GLEE_C_DEFINED_glXQueryFrameCountNV - Bool __stdcall GLee_Lazy_glXQueryFrameCountNV(Display * dpy, int screen, GLuint * count) {if (GLeeInit()) return glXQueryFrameCountNV(dpy, screen, count); return (Bool)0;} - GLEEPFNGLXQUERYFRAMECOUNTNVPROC GLeeFuncPtr_glXQueryFrameCountNV=GLee_Lazy_glXQueryFrameCountNV; -#endif -#ifndef GLEE_C_DEFINED_glXResetFrameCountNV -#define GLEE_C_DEFINED_glXResetFrameCountNV - Bool __stdcall GLee_Lazy_glXResetFrameCountNV(Display * dpy, int screen) {if (GLeeInit()) return glXResetFrameCountNV(dpy, screen); return (Bool)0;} - GLEEPFNGLXRESETFRAMECOUNTNVPROC GLeeFuncPtr_glXResetFrameCountNV=GLee_Lazy_glXResetFrameCountNV; -#endif -#endif - -/* GLX_NV_video_capture */ - -#ifdef __GLEE_GLX_NV_video_capture -#ifndef GLEE_C_DEFINED_glXBindVideoCaptureDeviceNV -#define GLEE_C_DEFINED_glXBindVideoCaptureDeviceNV - int __stdcall GLee_Lazy_glXBindVideoCaptureDeviceNV(Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device) {if (GLeeInit()) return glXBindVideoCaptureDeviceNV(dpy, video_capture_slot, device); return (int)0;} - GLEEPFNGLXBINDVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXBindVideoCaptureDeviceNV=GLee_Lazy_glXBindVideoCaptureDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_glXEnumerateVideoCaptureDevicesNV -#define GLEE_C_DEFINED_glXEnumerateVideoCaptureDevicesNV - GLXVideoCaptureDeviceNV * __stdcall GLee_Lazy_glXEnumerateVideoCaptureDevicesNV(Display * dpy, int screen, int * nelements) {if (GLeeInit()) return glXEnumerateVideoCaptureDevicesNV(dpy, screen, nelements); return (GLXVideoCaptureDeviceNV *)0;} - GLEEPFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC GLeeFuncPtr_glXEnumerateVideoCaptureDevicesNV=GLee_Lazy_glXEnumerateVideoCaptureDevicesNV; -#endif -#ifndef GLEE_C_DEFINED_glXLockVideoCaptureDeviceNV -#define GLEE_C_DEFINED_glXLockVideoCaptureDeviceNV - void __stdcall GLee_Lazy_glXLockVideoCaptureDeviceNV(Display * dpy, GLXVideoCaptureDeviceNV device) {if (GLeeInit()) glXLockVideoCaptureDeviceNV(dpy, device);} - GLEEPFNGLXLOCKVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXLockVideoCaptureDeviceNV=GLee_Lazy_glXLockVideoCaptureDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_glXQueryVideoCaptureDeviceNV -#define GLEE_C_DEFINED_glXQueryVideoCaptureDeviceNV - int __stdcall GLee_Lazy_glXQueryVideoCaptureDeviceNV(Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value) {if (GLeeInit()) return glXQueryVideoCaptureDeviceNV(dpy, device, attribute, value); return (int)0;} - GLEEPFNGLXQUERYVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXQueryVideoCaptureDeviceNV=GLee_Lazy_glXQueryVideoCaptureDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_glXReleaseVideoCaptureDeviceNV -#define GLEE_C_DEFINED_glXReleaseVideoCaptureDeviceNV - void __stdcall GLee_Lazy_glXReleaseVideoCaptureDeviceNV(Display * dpy, GLXVideoCaptureDeviceNV device) {if (GLeeInit()) glXReleaseVideoCaptureDeviceNV(dpy, device);} - GLEEPFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXReleaseVideoCaptureDeviceNV=GLee_Lazy_glXReleaseVideoCaptureDeviceNV; -#endif -#endif - -/* GLX_EXT_swap_control */ - -#ifdef __GLEE_GLX_EXT_swap_control -#ifndef GLEE_C_DEFINED_glXSwapIntervalEXT -#define GLEE_C_DEFINED_glXSwapIntervalEXT - void __stdcall GLee_Lazy_glXSwapIntervalEXT(Display * dpy, GLXDrawable drawable, int interval) {if (GLeeInit()) glXSwapIntervalEXT(dpy, drawable, interval);} - GLEEPFNGLXSWAPINTERVALEXTPROC GLeeFuncPtr_glXSwapIntervalEXT=GLee_Lazy_glXSwapIntervalEXT; -#endif -#endif - -/* GLX_NV_copy_image */ - -#ifdef __GLEE_GLX_NV_copy_image -#ifndef GLEE_C_DEFINED_glXCopyImageSubDataNV -#define GLEE_C_DEFINED_glXCopyImageSubDataNV - void __stdcall GLee_Lazy_glXCopyImageSubDataNV(Display * dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) {if (GLeeInit()) glXCopyImageSubDataNV(dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);} - GLEEPFNGLXCOPYIMAGESUBDATANVPROC GLeeFuncPtr_glXCopyImageSubDataNV=GLee_Lazy_glXCopyImageSubDataNV; -#endif -#endif - -/* GLX_INTEL_swap_event */ - -#ifdef __GLEE_GLX_INTEL_swap_event -#endif - -/* GLX_NV_multisample_coverage */ - -#ifdef __GLEE_GLX_NV_multisample_coverage -#endif - -/* GLX_AMD_gpu_association */ - -#ifdef __GLEE_GLX_AMD_gpu_association -#endif - -/* GLX_EXT_create_context_es2_profile */ - -#ifdef __GLEE_GLX_EXT_create_context_es2_profile -#endif - -/* GLX_EXT_create_context_es_profile */ - -#ifdef __GLEE_GLX_EXT_create_context_es_profile -#endif - -/* GLX_EXT_swap_control_tear */ - -#ifdef __GLEE_GLX_EXT_swap_control_tear -#endif - -/* GLX_EXT_buffer_age */ - -#ifdef __GLEE_GLX_EXT_buffer_age -#endif - -/* GLX_NV_video_output */ - -#ifdef __GLEE_GLX_NV_video_output -#ifndef GLEE_C_DEFINED_glXGetVideoDeviceNV -#define GLEE_C_DEFINED_glXGetVideoDeviceNV - int __stdcall GLee_Lazy_glXGetVideoDeviceNV(Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice) {if (GLeeInit()) return glXGetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice); return (int)0;} - GLEEPFNGLXGETVIDEODEVICENVPROC GLeeFuncPtr_glXGetVideoDeviceNV=GLee_Lazy_glXGetVideoDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_glXReleaseVideoDeviceNV -#define GLEE_C_DEFINED_glXReleaseVideoDeviceNV - int __stdcall GLee_Lazy_glXReleaseVideoDeviceNV(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice) {if (GLeeInit()) return glXReleaseVideoDeviceNV(dpy, screen, VideoDevice); return (int)0;} - GLEEPFNGLXRELEASEVIDEODEVICENVPROC GLeeFuncPtr_glXReleaseVideoDeviceNV=GLee_Lazy_glXReleaseVideoDeviceNV; -#endif -#ifndef GLEE_C_DEFINED_glXBindVideoImageNV -#define GLEE_C_DEFINED_glXBindVideoImageNV - int __stdcall GLee_Lazy_glXBindVideoImageNV(Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer) {if (GLeeInit()) return glXBindVideoImageNV(dpy, VideoDevice, pbuf, iVideoBuffer); return (int)0;} - GLEEPFNGLXBINDVIDEOIMAGENVPROC GLeeFuncPtr_glXBindVideoImageNV=GLee_Lazy_glXBindVideoImageNV; -#endif -#ifndef GLEE_C_DEFINED_glXReleaseVideoImageNV -#define GLEE_C_DEFINED_glXReleaseVideoImageNV - int __stdcall GLee_Lazy_glXReleaseVideoImageNV(Display * dpy, GLXPbuffer pbuf) {if (GLeeInit()) return glXReleaseVideoImageNV(dpy, pbuf); return (int)0;} - GLEEPFNGLXRELEASEVIDEOIMAGENVPROC GLeeFuncPtr_glXReleaseVideoImageNV=GLee_Lazy_glXReleaseVideoImageNV; -#endif -#ifndef GLEE_C_DEFINED_glXSendPbufferToVideoNV -#define GLEE_C_DEFINED_glXSendPbufferToVideoNV - int __stdcall GLee_Lazy_glXSendPbufferToVideoNV(Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock) {if (GLeeInit()) return glXSendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock); return (int)0;} - GLEEPFNGLXSENDPBUFFERTOVIDEONVPROC GLeeFuncPtr_glXSendPbufferToVideoNV=GLee_Lazy_glXSendPbufferToVideoNV; -#endif -#ifndef GLEE_C_DEFINED_glXGetVideoInfoNV -#define GLEE_C_DEFINED_glXGetVideoInfoNV - int __stdcall GLee_Lazy_glXGetVideoInfoNV(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo) {if (GLeeInit()) return glXGetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo); return (int)0;} - GLEEPFNGLXGETVIDEOINFONVPROC GLeeFuncPtr_glXGetVideoInfoNV=GLee_Lazy_glXGetVideoInfoNV; -#endif -#endif -#endif /* end GLX */ -/***************************************************************** -* Extension link functions -*****************************************************************/ - -GLuint __GLeeLink_GL_VERSION_1_2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_1_2 - if ((GLeeFuncPtr_glBlendColor = (GLEEPFNGLBLENDCOLORPROC) __GLeeGetProcAddress("glBlendColor"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquation = (GLEEPFNGLBLENDEQUATIONPROC) __GLeeGetProcAddress("glBlendEquation"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawRangeElements = (GLEEPFNGLDRAWRANGEELEMENTSPROC) __GLeeGetProcAddress("glDrawRangeElements"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexImage3D = (GLEEPFNGLTEXIMAGE3DPROC) __GLeeGetProcAddress("glTexImage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexSubImage3D = (GLEEPFNGLTEXSUBIMAGE3DPROC) __GLeeGetProcAddress("glTexSubImage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTexSubImage3D = (GLEEPFNGLCOPYTEXSUBIMAGE3DPROC) __GLeeGetProcAddress("glCopyTexSubImage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorTable = (GLEEPFNGLCOLORTABLEPROC) __GLeeGetProcAddress("glColorTable"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorTableParameterfv = (GLEEPFNGLCOLORTABLEPARAMETERFVPROC) __GLeeGetProcAddress("glColorTableParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorTableParameteriv = (GLEEPFNGLCOLORTABLEPARAMETERIVPROC) __GLeeGetProcAddress("glColorTableParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyColorTable = (GLEEPFNGLCOPYCOLORTABLEPROC) __GLeeGetProcAddress("glCopyColorTable"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTable = (GLEEPFNGLGETCOLORTABLEPROC) __GLeeGetProcAddress("glGetColorTable"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameterfv = (GLEEPFNGLGETCOLORTABLEPARAMETERFVPROC) __GLeeGetProcAddress("glGetColorTableParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameteriv = (GLEEPFNGLGETCOLORTABLEPARAMETERIVPROC) __GLeeGetProcAddress("glGetColorTableParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorSubTable = (GLEEPFNGLCOLORSUBTABLEPROC) __GLeeGetProcAddress("glColorSubTable"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyColorSubTable = (GLEEPFNGLCOPYCOLORSUBTABLEPROC) __GLeeGetProcAddress("glCopyColorSubTable"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionFilter1D = (GLEEPFNGLCONVOLUTIONFILTER1DPROC) __GLeeGetProcAddress("glConvolutionFilter1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionFilter2D = (GLEEPFNGLCONVOLUTIONFILTER2DPROC) __GLeeGetProcAddress("glConvolutionFilter2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterf = (GLEEPFNGLCONVOLUTIONPARAMETERFPROC) __GLeeGetProcAddress("glConvolutionParameterf"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterfv = (GLEEPFNGLCONVOLUTIONPARAMETERFVPROC) __GLeeGetProcAddress("glConvolutionParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameteri = (GLEEPFNGLCONVOLUTIONPARAMETERIPROC) __GLeeGetProcAddress("glConvolutionParameteri"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameteriv = (GLEEPFNGLCONVOLUTIONPARAMETERIVPROC) __GLeeGetProcAddress("glConvolutionParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyConvolutionFilter1D = (GLEEPFNGLCOPYCONVOLUTIONFILTER1DPROC) __GLeeGetProcAddress("glCopyConvolutionFilter1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyConvolutionFilter2D = (GLEEPFNGLCOPYCONVOLUTIONFILTER2DPROC) __GLeeGetProcAddress("glCopyConvolutionFilter2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionFilter = (GLEEPFNGLGETCONVOLUTIONFILTERPROC) __GLeeGetProcAddress("glGetConvolutionFilter"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionParameterfv = (GLEEPFNGLGETCONVOLUTIONPARAMETERFVPROC) __GLeeGetProcAddress("glGetConvolutionParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionParameteriv = (GLEEPFNGLGETCONVOLUTIONPARAMETERIVPROC) __GLeeGetProcAddress("glGetConvolutionParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSeparableFilter = (GLEEPFNGLGETSEPARABLEFILTERPROC) __GLeeGetProcAddress("glGetSeparableFilter"))!=0) nLinked++; - if ((GLeeFuncPtr_glSeparableFilter2D = (GLEEPFNGLSEPARABLEFILTER2DPROC) __GLeeGetProcAddress("glSeparableFilter2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogram = (GLEEPFNGLGETHISTOGRAMPROC) __GLeeGetProcAddress("glGetHistogram"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogramParameterfv = (GLEEPFNGLGETHISTOGRAMPARAMETERFVPROC) __GLeeGetProcAddress("glGetHistogramParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogramParameteriv = (GLEEPFNGLGETHISTOGRAMPARAMETERIVPROC) __GLeeGetProcAddress("glGetHistogramParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmax = (GLEEPFNGLGETMINMAXPROC) __GLeeGetProcAddress("glGetMinmax"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmaxParameterfv = (GLEEPFNGLGETMINMAXPARAMETERFVPROC) __GLeeGetProcAddress("glGetMinmaxParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmaxParameteriv = (GLEEPFNGLGETMINMAXPARAMETERIVPROC) __GLeeGetProcAddress("glGetMinmaxParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glHistogram = (GLEEPFNGLHISTOGRAMPROC) __GLeeGetProcAddress("glHistogram"))!=0) nLinked++; - if ((GLeeFuncPtr_glMinmax = (GLEEPFNGLMINMAXPROC) __GLeeGetProcAddress("glMinmax"))!=0) nLinked++; - if ((GLeeFuncPtr_glResetHistogram = (GLEEPFNGLRESETHISTOGRAMPROC) __GLeeGetProcAddress("glResetHistogram"))!=0) nLinked++; - if ((GLeeFuncPtr_glResetMinmax = (GLEEPFNGLRESETMINMAXPROC) __GLeeGetProcAddress("glResetMinmax"))!=0) nLinked++; -#endif - if (nLinked==38) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_imaging(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_VERSION_1_3(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_1_3 - if ((GLeeFuncPtr_glActiveTexture = (GLEEPFNGLACTIVETEXTUREPROC) __GLeeGetProcAddress("glActiveTexture"))!=0) nLinked++; - if ((GLeeFuncPtr_glSampleCoverage = (GLEEPFNGLSAMPLECOVERAGEPROC) __GLeeGetProcAddress("glSampleCoverage"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexImage3D = (GLEEPFNGLCOMPRESSEDTEXIMAGE3DPROC) __GLeeGetProcAddress("glCompressedTexImage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexImage2D = (GLEEPFNGLCOMPRESSEDTEXIMAGE2DPROC) __GLeeGetProcAddress("glCompressedTexImage2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexImage1D = (GLEEPFNGLCOMPRESSEDTEXIMAGE1DPROC) __GLeeGetProcAddress("glCompressedTexImage1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage3D = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) __GLeeGetProcAddress("glCompressedTexSubImage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage2D = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) __GLeeGetProcAddress("glCompressedTexSubImage2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage1D = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) __GLeeGetProcAddress("glCompressedTexSubImage1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCompressedTexImage = (GLEEPFNGLGETCOMPRESSEDTEXIMAGEPROC) __GLeeGetProcAddress("glGetCompressedTexImage"))!=0) nLinked++; - if ((GLeeFuncPtr_glClientActiveTexture = (GLEEPFNGLCLIENTACTIVETEXTUREPROC) __GLeeGetProcAddress("glClientActiveTexture"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1d = (GLEEPFNGLMULTITEXCOORD1DPROC) __GLeeGetProcAddress("glMultiTexCoord1d"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1dv = (GLEEPFNGLMULTITEXCOORD1DVPROC) __GLeeGetProcAddress("glMultiTexCoord1dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1f = (GLEEPFNGLMULTITEXCOORD1FPROC) __GLeeGetProcAddress("glMultiTexCoord1f"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1fv = (GLEEPFNGLMULTITEXCOORD1FVPROC) __GLeeGetProcAddress("glMultiTexCoord1fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1i = (GLEEPFNGLMULTITEXCOORD1IPROC) __GLeeGetProcAddress("glMultiTexCoord1i"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1iv = (GLEEPFNGLMULTITEXCOORD1IVPROC) __GLeeGetProcAddress("glMultiTexCoord1iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1s = (GLEEPFNGLMULTITEXCOORD1SPROC) __GLeeGetProcAddress("glMultiTexCoord1s"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1sv = (GLEEPFNGLMULTITEXCOORD1SVPROC) __GLeeGetProcAddress("glMultiTexCoord1sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2d = (GLEEPFNGLMULTITEXCOORD2DPROC) __GLeeGetProcAddress("glMultiTexCoord2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2dv = (GLEEPFNGLMULTITEXCOORD2DVPROC) __GLeeGetProcAddress("glMultiTexCoord2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2f = (GLEEPFNGLMULTITEXCOORD2FPROC) __GLeeGetProcAddress("glMultiTexCoord2f"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2fv = (GLEEPFNGLMULTITEXCOORD2FVPROC) __GLeeGetProcAddress("glMultiTexCoord2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2i = (GLEEPFNGLMULTITEXCOORD2IPROC) __GLeeGetProcAddress("glMultiTexCoord2i"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2iv = (GLEEPFNGLMULTITEXCOORD2IVPROC) __GLeeGetProcAddress("glMultiTexCoord2iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2s = (GLEEPFNGLMULTITEXCOORD2SPROC) __GLeeGetProcAddress("glMultiTexCoord2s"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2sv = (GLEEPFNGLMULTITEXCOORD2SVPROC) __GLeeGetProcAddress("glMultiTexCoord2sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3d = (GLEEPFNGLMULTITEXCOORD3DPROC) __GLeeGetProcAddress("glMultiTexCoord3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3dv = (GLEEPFNGLMULTITEXCOORD3DVPROC) __GLeeGetProcAddress("glMultiTexCoord3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3f = (GLEEPFNGLMULTITEXCOORD3FPROC) __GLeeGetProcAddress("glMultiTexCoord3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3fv = (GLEEPFNGLMULTITEXCOORD3FVPROC) __GLeeGetProcAddress("glMultiTexCoord3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3i = (GLEEPFNGLMULTITEXCOORD3IPROC) __GLeeGetProcAddress("glMultiTexCoord3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3iv = (GLEEPFNGLMULTITEXCOORD3IVPROC) __GLeeGetProcAddress("glMultiTexCoord3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3s = (GLEEPFNGLMULTITEXCOORD3SPROC) __GLeeGetProcAddress("glMultiTexCoord3s"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3sv = (GLEEPFNGLMULTITEXCOORD3SVPROC) __GLeeGetProcAddress("glMultiTexCoord3sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4d = (GLEEPFNGLMULTITEXCOORD4DPROC) __GLeeGetProcAddress("glMultiTexCoord4d"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4dv = (GLEEPFNGLMULTITEXCOORD4DVPROC) __GLeeGetProcAddress("glMultiTexCoord4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4f = (GLEEPFNGLMULTITEXCOORD4FPROC) __GLeeGetProcAddress("glMultiTexCoord4f"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4fv = (GLEEPFNGLMULTITEXCOORD4FVPROC) __GLeeGetProcAddress("glMultiTexCoord4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4i = (GLEEPFNGLMULTITEXCOORD4IPROC) __GLeeGetProcAddress("glMultiTexCoord4i"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4iv = (GLEEPFNGLMULTITEXCOORD4IVPROC) __GLeeGetProcAddress("glMultiTexCoord4iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4s = (GLEEPFNGLMULTITEXCOORD4SPROC) __GLeeGetProcAddress("glMultiTexCoord4s"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4sv = (GLEEPFNGLMULTITEXCOORD4SVPROC) __GLeeGetProcAddress("glMultiTexCoord4sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadTransposeMatrixf = (GLEEPFNGLLOADTRANSPOSEMATRIXFPROC) __GLeeGetProcAddress("glLoadTransposeMatrixf"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadTransposeMatrixd = (GLEEPFNGLLOADTRANSPOSEMATRIXDPROC) __GLeeGetProcAddress("glLoadTransposeMatrixd"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultTransposeMatrixf = (GLEEPFNGLMULTTRANSPOSEMATRIXFPROC) __GLeeGetProcAddress("glMultTransposeMatrixf"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultTransposeMatrixd = (GLEEPFNGLMULTTRANSPOSEMATRIXDPROC) __GLeeGetProcAddress("glMultTransposeMatrixd"))!=0) nLinked++; -#endif - if (nLinked==46) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_1_4(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_1_4 - if ((GLeeFuncPtr_glBlendFuncSeparate = (GLEEPFNGLBLENDFUNCSEPARATEPROC) __GLeeGetProcAddress("glBlendFuncSeparate"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawArrays = (GLEEPFNGLMULTIDRAWARRAYSPROC) __GLeeGetProcAddress("glMultiDrawArrays"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElements = (GLEEPFNGLMULTIDRAWELEMENTSPROC) __GLeeGetProcAddress("glMultiDrawElements"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterf = (GLEEPFNGLPOINTPARAMETERFPROC) __GLeeGetProcAddress("glPointParameterf"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterfv = (GLEEPFNGLPOINTPARAMETERFVPROC) __GLeeGetProcAddress("glPointParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameteri = (GLEEPFNGLPOINTPARAMETERIPROC) __GLeeGetProcAddress("glPointParameteri"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameteriv = (GLEEPFNGLPOINTPARAMETERIVPROC) __GLeeGetProcAddress("glPointParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordf = (GLEEPFNGLFOGCOORDFPROC) __GLeeGetProcAddress("glFogCoordf"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordfv = (GLEEPFNGLFOGCOORDFVPROC) __GLeeGetProcAddress("glFogCoordfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordd = (GLEEPFNGLFOGCOORDDPROC) __GLeeGetProcAddress("glFogCoordd"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoorddv = (GLEEPFNGLFOGCOORDDVPROC) __GLeeGetProcAddress("glFogCoorddv"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordPointer = (GLEEPFNGLFOGCOORDPOINTERPROC) __GLeeGetProcAddress("glFogCoordPointer"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3b = (GLEEPFNGLSECONDARYCOLOR3BPROC) __GLeeGetProcAddress("glSecondaryColor3b"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3bv = (GLEEPFNGLSECONDARYCOLOR3BVPROC) __GLeeGetProcAddress("glSecondaryColor3bv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3d = (GLEEPFNGLSECONDARYCOLOR3DPROC) __GLeeGetProcAddress("glSecondaryColor3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3dv = (GLEEPFNGLSECONDARYCOLOR3DVPROC) __GLeeGetProcAddress("glSecondaryColor3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3f = (GLEEPFNGLSECONDARYCOLOR3FPROC) __GLeeGetProcAddress("glSecondaryColor3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3fv = (GLEEPFNGLSECONDARYCOLOR3FVPROC) __GLeeGetProcAddress("glSecondaryColor3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3i = (GLEEPFNGLSECONDARYCOLOR3IPROC) __GLeeGetProcAddress("glSecondaryColor3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3iv = (GLEEPFNGLSECONDARYCOLOR3IVPROC) __GLeeGetProcAddress("glSecondaryColor3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3s = (GLEEPFNGLSECONDARYCOLOR3SPROC) __GLeeGetProcAddress("glSecondaryColor3s"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3sv = (GLEEPFNGLSECONDARYCOLOR3SVPROC) __GLeeGetProcAddress("glSecondaryColor3sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ub = (GLEEPFNGLSECONDARYCOLOR3UBPROC) __GLeeGetProcAddress("glSecondaryColor3ub"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ubv = (GLEEPFNGLSECONDARYCOLOR3UBVPROC) __GLeeGetProcAddress("glSecondaryColor3ubv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ui = (GLEEPFNGLSECONDARYCOLOR3UIPROC) __GLeeGetProcAddress("glSecondaryColor3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3uiv = (GLEEPFNGLSECONDARYCOLOR3UIVPROC) __GLeeGetProcAddress("glSecondaryColor3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3us = (GLEEPFNGLSECONDARYCOLOR3USPROC) __GLeeGetProcAddress("glSecondaryColor3us"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3usv = (GLEEPFNGLSECONDARYCOLOR3USVPROC) __GLeeGetProcAddress("glSecondaryColor3usv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorPointer = (GLEEPFNGLSECONDARYCOLORPOINTERPROC) __GLeeGetProcAddress("glSecondaryColorPointer"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2d = (GLEEPFNGLWINDOWPOS2DPROC) __GLeeGetProcAddress("glWindowPos2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2dv = (GLEEPFNGLWINDOWPOS2DVPROC) __GLeeGetProcAddress("glWindowPos2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2f = (GLEEPFNGLWINDOWPOS2FPROC) __GLeeGetProcAddress("glWindowPos2f"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2fv = (GLEEPFNGLWINDOWPOS2FVPROC) __GLeeGetProcAddress("glWindowPos2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2i = (GLEEPFNGLWINDOWPOS2IPROC) __GLeeGetProcAddress("glWindowPos2i"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2iv = (GLEEPFNGLWINDOWPOS2IVPROC) __GLeeGetProcAddress("glWindowPos2iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2s = (GLEEPFNGLWINDOWPOS2SPROC) __GLeeGetProcAddress("glWindowPos2s"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2sv = (GLEEPFNGLWINDOWPOS2SVPROC) __GLeeGetProcAddress("glWindowPos2sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3d = (GLEEPFNGLWINDOWPOS3DPROC) __GLeeGetProcAddress("glWindowPos3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3dv = (GLEEPFNGLWINDOWPOS3DVPROC) __GLeeGetProcAddress("glWindowPos3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3f = (GLEEPFNGLWINDOWPOS3FPROC) __GLeeGetProcAddress("glWindowPos3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3fv = (GLEEPFNGLWINDOWPOS3FVPROC) __GLeeGetProcAddress("glWindowPos3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3i = (GLEEPFNGLWINDOWPOS3IPROC) __GLeeGetProcAddress("glWindowPos3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3iv = (GLEEPFNGLWINDOWPOS3IVPROC) __GLeeGetProcAddress("glWindowPos3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3s = (GLEEPFNGLWINDOWPOS3SPROC) __GLeeGetProcAddress("glWindowPos3s"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3sv = (GLEEPFNGLWINDOWPOS3SVPROC) __GLeeGetProcAddress("glWindowPos3sv"))!=0) nLinked++; -#endif - if (nLinked==45) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_1_5(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_1_5 - if ((GLeeFuncPtr_glGenQueries = (GLEEPFNGLGENQUERIESPROC) __GLeeGetProcAddress("glGenQueries"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteQueries = (GLEEPFNGLDELETEQUERIESPROC) __GLeeGetProcAddress("glDeleteQueries"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsQuery = (GLEEPFNGLISQUERYPROC) __GLeeGetProcAddress("glIsQuery"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginQuery = (GLEEPFNGLBEGINQUERYPROC) __GLeeGetProcAddress("glBeginQuery"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndQuery = (GLEEPFNGLENDQUERYPROC) __GLeeGetProcAddress("glEndQuery"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryiv = (GLEEPFNGLGETQUERYIVPROC) __GLeeGetProcAddress("glGetQueryiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectiv = (GLEEPFNGLGETQUERYOBJECTIVPROC) __GLeeGetProcAddress("glGetQueryObjectiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectuiv = (GLEEPFNGLGETQUERYOBJECTUIVPROC) __GLeeGetProcAddress("glGetQueryObjectuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBuffer = (GLEEPFNGLBINDBUFFERPROC) __GLeeGetProcAddress("glBindBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteBuffers = (GLEEPFNGLDELETEBUFFERSPROC) __GLeeGetProcAddress("glDeleteBuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenBuffers = (GLEEPFNGLGENBUFFERSPROC) __GLeeGetProcAddress("glGenBuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsBuffer = (GLEEPFNGLISBUFFERPROC) __GLeeGetProcAddress("glIsBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glBufferData = (GLEEPFNGLBUFFERDATAPROC) __GLeeGetProcAddress("glBufferData"))!=0) nLinked++; - if ((GLeeFuncPtr_glBufferSubData = (GLEEPFNGLBUFFERSUBDATAPROC) __GLeeGetProcAddress("glBufferSubData"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferSubData = (GLEEPFNGLGETBUFFERSUBDATAPROC) __GLeeGetProcAddress("glGetBufferSubData"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapBuffer = (GLEEPFNGLMAPBUFFERPROC) __GLeeGetProcAddress("glMapBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnmapBuffer = (GLEEPFNGLUNMAPBUFFERPROC) __GLeeGetProcAddress("glUnmapBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferParameteriv = (GLEEPFNGLGETBUFFERPARAMETERIVPROC) __GLeeGetProcAddress("glGetBufferParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferPointerv = (GLEEPFNGLGETBUFFERPOINTERVPROC) __GLeeGetProcAddress("glGetBufferPointerv"))!=0) nLinked++; -#endif - if (nLinked==19) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_2_0(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_2_0 - if ((GLeeFuncPtr_glBlendEquationSeparate = (GLEEPFNGLBLENDEQUATIONSEPARATEPROC) __GLeeGetProcAddress("glBlendEquationSeparate"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawBuffers = (GLEEPFNGLDRAWBUFFERSPROC) __GLeeGetProcAddress("glDrawBuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilOpSeparate = (GLEEPFNGLSTENCILOPSEPARATEPROC) __GLeeGetProcAddress("glStencilOpSeparate"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilFuncSeparate = (GLEEPFNGLSTENCILFUNCSEPARATEPROC) __GLeeGetProcAddress("glStencilFuncSeparate"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilMaskSeparate = (GLEEPFNGLSTENCILMASKSEPARATEPROC) __GLeeGetProcAddress("glStencilMaskSeparate"))!=0) nLinked++; - if ((GLeeFuncPtr_glAttachShader = (GLEEPFNGLATTACHSHADERPROC) __GLeeGetProcAddress("glAttachShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindAttribLocation = (GLEEPFNGLBINDATTRIBLOCATIONPROC) __GLeeGetProcAddress("glBindAttribLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompileShader = (GLEEPFNGLCOMPILESHADERPROC) __GLeeGetProcAddress("glCompileShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateProgram = (GLEEPFNGLCREATEPROGRAMPROC) __GLeeGetProcAddress("glCreateProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateShader = (GLEEPFNGLCREATESHADERPROC) __GLeeGetProcAddress("glCreateShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteProgram = (GLEEPFNGLDELETEPROGRAMPROC) __GLeeGetProcAddress("glDeleteProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteShader = (GLEEPFNGLDELETESHADERPROC) __GLeeGetProcAddress("glDeleteShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glDetachShader = (GLEEPFNGLDETACHSHADERPROC) __GLeeGetProcAddress("glDetachShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableVertexAttribArray = (GLEEPFNGLDISABLEVERTEXATTRIBARRAYPROC) __GLeeGetProcAddress("glDisableVertexAttribArray"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnableVertexAttribArray = (GLEEPFNGLENABLEVERTEXATTRIBARRAYPROC) __GLeeGetProcAddress("glEnableVertexAttribArray"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveAttrib = (GLEEPFNGLGETACTIVEATTRIBPROC) __GLeeGetProcAddress("glGetActiveAttrib"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniform = (GLEEPFNGLGETACTIVEUNIFORMPROC) __GLeeGetProcAddress("glGetActiveUniform"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetAttachedShaders = (GLEEPFNGLGETATTACHEDSHADERSPROC) __GLeeGetProcAddress("glGetAttachedShaders"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetAttribLocation = (GLEEPFNGLGETATTRIBLOCATIONPROC) __GLeeGetProcAddress("glGetAttribLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramiv = (GLEEPFNGLGETPROGRAMIVPROC) __GLeeGetProcAddress("glGetProgramiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramInfoLog = (GLEEPFNGLGETPROGRAMINFOLOGPROC) __GLeeGetProcAddress("glGetProgramInfoLog"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetShaderiv = (GLEEPFNGLGETSHADERIVPROC) __GLeeGetProcAddress("glGetShaderiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetShaderInfoLog = (GLEEPFNGLGETSHADERINFOLOGPROC) __GLeeGetProcAddress("glGetShaderInfoLog"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetShaderSource = (GLEEPFNGLGETSHADERSOURCEPROC) __GLeeGetProcAddress("glGetShaderSource"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformLocation = (GLEEPFNGLGETUNIFORMLOCATIONPROC) __GLeeGetProcAddress("glGetUniformLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformfv = (GLEEPFNGLGETUNIFORMFVPROC) __GLeeGetProcAddress("glGetUniformfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformiv = (GLEEPFNGLGETUNIFORMIVPROC) __GLeeGetProcAddress("glGetUniformiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribdv = (GLEEPFNGLGETVERTEXATTRIBDVPROC) __GLeeGetProcAddress("glGetVertexAttribdv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribfv = (GLEEPFNGLGETVERTEXATTRIBFVPROC) __GLeeGetProcAddress("glGetVertexAttribfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribiv = (GLEEPFNGLGETVERTEXATTRIBIVPROC) __GLeeGetProcAddress("glGetVertexAttribiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribPointerv = (GLEEPFNGLGETVERTEXATTRIBPOINTERVPROC) __GLeeGetProcAddress("glGetVertexAttribPointerv"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsProgram = (GLEEPFNGLISPROGRAMPROC) __GLeeGetProcAddress("glIsProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsShader = (GLEEPFNGLISSHADERPROC) __GLeeGetProcAddress("glIsShader"))!=0) nLinked++; - if ((GLeeFuncPtr_glLinkProgram = (GLEEPFNGLLINKPROGRAMPROC) __GLeeGetProcAddress("glLinkProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderSource = (GLEEPFNGLSHADERSOURCEPROC) __GLeeGetProcAddress("glShaderSource"))!=0) nLinked++; - if ((GLeeFuncPtr_glUseProgram = (GLEEPFNGLUSEPROGRAMPROC) __GLeeGetProcAddress("glUseProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1f = (GLEEPFNGLUNIFORM1FPROC) __GLeeGetProcAddress("glUniform1f"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2f = (GLEEPFNGLUNIFORM2FPROC) __GLeeGetProcAddress("glUniform2f"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3f = (GLEEPFNGLUNIFORM3FPROC) __GLeeGetProcAddress("glUniform3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4f = (GLEEPFNGLUNIFORM4FPROC) __GLeeGetProcAddress("glUniform4f"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1i = (GLEEPFNGLUNIFORM1IPROC) __GLeeGetProcAddress("glUniform1i"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2i = (GLEEPFNGLUNIFORM2IPROC) __GLeeGetProcAddress("glUniform2i"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3i = (GLEEPFNGLUNIFORM3IPROC) __GLeeGetProcAddress("glUniform3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4i = (GLEEPFNGLUNIFORM4IPROC) __GLeeGetProcAddress("glUniform4i"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1fv = (GLEEPFNGLUNIFORM1FVPROC) __GLeeGetProcAddress("glUniform1fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2fv = (GLEEPFNGLUNIFORM2FVPROC) __GLeeGetProcAddress("glUniform2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3fv = (GLEEPFNGLUNIFORM3FVPROC) __GLeeGetProcAddress("glUniform3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4fv = (GLEEPFNGLUNIFORM4FVPROC) __GLeeGetProcAddress("glUniform4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1iv = (GLEEPFNGLUNIFORM1IVPROC) __GLeeGetProcAddress("glUniform1iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2iv = (GLEEPFNGLUNIFORM2IVPROC) __GLeeGetProcAddress("glUniform2iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3iv = (GLEEPFNGLUNIFORM3IVPROC) __GLeeGetProcAddress("glUniform3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4iv = (GLEEPFNGLUNIFORM4IVPROC) __GLeeGetProcAddress("glUniform4iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2fv = (GLEEPFNGLUNIFORMMATRIX2FVPROC) __GLeeGetProcAddress("glUniformMatrix2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3fv = (GLEEPFNGLUNIFORMMATRIX3FVPROC) __GLeeGetProcAddress("glUniformMatrix3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4fv = (GLEEPFNGLUNIFORMMATRIX4FVPROC) __GLeeGetProcAddress("glUniformMatrix4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glValidateProgram = (GLEEPFNGLVALIDATEPROGRAMPROC) __GLeeGetProcAddress("glValidateProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1d = (GLEEPFNGLVERTEXATTRIB1DPROC) __GLeeGetProcAddress("glVertexAttrib1d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1dv = (GLEEPFNGLVERTEXATTRIB1DVPROC) __GLeeGetProcAddress("glVertexAttrib1dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1f = (GLEEPFNGLVERTEXATTRIB1FPROC) __GLeeGetProcAddress("glVertexAttrib1f"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1fv = (GLEEPFNGLVERTEXATTRIB1FVPROC) __GLeeGetProcAddress("glVertexAttrib1fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1s = (GLEEPFNGLVERTEXATTRIB1SPROC) __GLeeGetProcAddress("glVertexAttrib1s"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1sv = (GLEEPFNGLVERTEXATTRIB1SVPROC) __GLeeGetProcAddress("glVertexAttrib1sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2d = (GLEEPFNGLVERTEXATTRIB2DPROC) __GLeeGetProcAddress("glVertexAttrib2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2dv = (GLEEPFNGLVERTEXATTRIB2DVPROC) __GLeeGetProcAddress("glVertexAttrib2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2f = (GLEEPFNGLVERTEXATTRIB2FPROC) __GLeeGetProcAddress("glVertexAttrib2f"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2fv = (GLEEPFNGLVERTEXATTRIB2FVPROC) __GLeeGetProcAddress("glVertexAttrib2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2s = (GLEEPFNGLVERTEXATTRIB2SPROC) __GLeeGetProcAddress("glVertexAttrib2s"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2sv = (GLEEPFNGLVERTEXATTRIB2SVPROC) __GLeeGetProcAddress("glVertexAttrib2sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3d = (GLEEPFNGLVERTEXATTRIB3DPROC) __GLeeGetProcAddress("glVertexAttrib3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3dv = (GLEEPFNGLVERTEXATTRIB3DVPROC) __GLeeGetProcAddress("glVertexAttrib3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3f = (GLEEPFNGLVERTEXATTRIB3FPROC) __GLeeGetProcAddress("glVertexAttrib3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3fv = (GLEEPFNGLVERTEXATTRIB3FVPROC) __GLeeGetProcAddress("glVertexAttrib3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3s = (GLEEPFNGLVERTEXATTRIB3SPROC) __GLeeGetProcAddress("glVertexAttrib3s"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3sv = (GLEEPFNGLVERTEXATTRIB3SVPROC) __GLeeGetProcAddress("glVertexAttrib3sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nbv = (GLEEPFNGLVERTEXATTRIB4NBVPROC) __GLeeGetProcAddress("glVertexAttrib4Nbv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Niv = (GLEEPFNGLVERTEXATTRIB4NIVPROC) __GLeeGetProcAddress("glVertexAttrib4Niv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nsv = (GLEEPFNGLVERTEXATTRIB4NSVPROC) __GLeeGetProcAddress("glVertexAttrib4Nsv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nub = (GLEEPFNGLVERTEXATTRIB4NUBPROC) __GLeeGetProcAddress("glVertexAttrib4Nub"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nubv = (GLEEPFNGLVERTEXATTRIB4NUBVPROC) __GLeeGetProcAddress("glVertexAttrib4Nubv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nuiv = (GLEEPFNGLVERTEXATTRIB4NUIVPROC) __GLeeGetProcAddress("glVertexAttrib4Nuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4Nusv = (GLEEPFNGLVERTEXATTRIB4NUSVPROC) __GLeeGetProcAddress("glVertexAttrib4Nusv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4bv = (GLEEPFNGLVERTEXATTRIB4BVPROC) __GLeeGetProcAddress("glVertexAttrib4bv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4d = (GLEEPFNGLVERTEXATTRIB4DPROC) __GLeeGetProcAddress("glVertexAttrib4d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4dv = (GLEEPFNGLVERTEXATTRIB4DVPROC) __GLeeGetProcAddress("glVertexAttrib4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4f = (GLEEPFNGLVERTEXATTRIB4FPROC) __GLeeGetProcAddress("glVertexAttrib4f"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4fv = (GLEEPFNGLVERTEXATTRIB4FVPROC) __GLeeGetProcAddress("glVertexAttrib4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4iv = (GLEEPFNGLVERTEXATTRIB4IVPROC) __GLeeGetProcAddress("glVertexAttrib4iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4s = (GLEEPFNGLVERTEXATTRIB4SPROC) __GLeeGetProcAddress("glVertexAttrib4s"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4sv = (GLEEPFNGLVERTEXATTRIB4SVPROC) __GLeeGetProcAddress("glVertexAttrib4sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4ubv = (GLEEPFNGLVERTEXATTRIB4UBVPROC) __GLeeGetProcAddress("glVertexAttrib4ubv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4uiv = (GLEEPFNGLVERTEXATTRIB4UIVPROC) __GLeeGetProcAddress("glVertexAttrib4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4usv = (GLEEPFNGLVERTEXATTRIB4USVPROC) __GLeeGetProcAddress("glVertexAttrib4usv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribPointer = (GLEEPFNGLVERTEXATTRIBPOINTERPROC) __GLeeGetProcAddress("glVertexAttribPointer"))!=0) nLinked++; -#endif - if (nLinked==93) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_2_1(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_2_1 - if ((GLeeFuncPtr_glUniformMatrix2x3fv = (GLEEPFNGLUNIFORMMATRIX2X3FVPROC) __GLeeGetProcAddress("glUniformMatrix2x3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3x2fv = (GLEEPFNGLUNIFORMMATRIX3X2FVPROC) __GLeeGetProcAddress("glUniformMatrix3x2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2x4fv = (GLEEPFNGLUNIFORMMATRIX2X4FVPROC) __GLeeGetProcAddress("glUniformMatrix2x4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4x2fv = (GLEEPFNGLUNIFORMMATRIX4X2FVPROC) __GLeeGetProcAddress("glUniformMatrix4x2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3x4fv = (GLEEPFNGLUNIFORMMATRIX3X4FVPROC) __GLeeGetProcAddress("glUniformMatrix3x4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4x3fv = (GLEEPFNGLUNIFORMMATRIX4X3FVPROC) __GLeeGetProcAddress("glUniformMatrix4x3fv"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_3_0(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_3_0 - if ((GLeeFuncPtr_glColorMaski = (GLEEPFNGLCOLORMASKIPROC) __GLeeGetProcAddress("glColorMaski"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBooleani_v = (GLEEPFNGLGETBOOLEANI_VPROC) __GLeeGetProcAddress("glGetBooleani_v"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetIntegeri_v = (GLEEPFNGLGETINTEGERI_VPROC) __GLeeGetProcAddress("glGetIntegeri_v"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnablei = (GLEEPFNGLENABLEIPROC) __GLeeGetProcAddress("glEnablei"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisablei = (GLEEPFNGLDISABLEIPROC) __GLeeGetProcAddress("glDisablei"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsEnabledi = (GLEEPFNGLISENABLEDIPROC) __GLeeGetProcAddress("glIsEnabledi"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginTransformFeedback = (GLEEPFNGLBEGINTRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glBeginTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndTransformFeedback = (GLEEPFNGLENDTRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glEndTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferRange = (GLEEPFNGLBINDBUFFERRANGEPROC) __GLeeGetProcAddress("glBindBufferRange"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferBase = (GLEEPFNGLBINDBUFFERBASEPROC) __GLeeGetProcAddress("glBindBufferBase"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformFeedbackVaryings = (GLEEPFNGLTRANSFORMFEEDBACKVARYINGSPROC) __GLeeGetProcAddress("glTransformFeedbackVaryings"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTransformFeedbackVarying = (GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGPROC) __GLeeGetProcAddress("glGetTransformFeedbackVarying"))!=0) nLinked++; - if ((GLeeFuncPtr_glClampColor = (GLEEPFNGLCLAMPCOLORPROC) __GLeeGetProcAddress("glClampColor"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginConditionalRender = (GLEEPFNGLBEGINCONDITIONALRENDERPROC) __GLeeGetProcAddress("glBeginConditionalRender"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndConditionalRender = (GLEEPFNGLENDCONDITIONALRENDERPROC) __GLeeGetProcAddress("glEndConditionalRender"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribIPointer = (GLEEPFNGLVERTEXATTRIBIPOINTERPROC) __GLeeGetProcAddress("glVertexAttribIPointer"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribIiv = (GLEEPFNGLGETVERTEXATTRIBIIVPROC) __GLeeGetProcAddress("glGetVertexAttribIiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribIuiv = (GLEEPFNGLGETVERTEXATTRIBIUIVPROC) __GLeeGetProcAddress("glGetVertexAttribIuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI1i = (GLEEPFNGLVERTEXATTRIBI1IPROC) __GLeeGetProcAddress("glVertexAttribI1i"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI2i = (GLEEPFNGLVERTEXATTRIBI2IPROC) __GLeeGetProcAddress("glVertexAttribI2i"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI3i = (GLEEPFNGLVERTEXATTRIBI3IPROC) __GLeeGetProcAddress("glVertexAttribI3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4i = (GLEEPFNGLVERTEXATTRIBI4IPROC) __GLeeGetProcAddress("glVertexAttribI4i"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI1ui = (GLEEPFNGLVERTEXATTRIBI1UIPROC) __GLeeGetProcAddress("glVertexAttribI1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI2ui = (GLEEPFNGLVERTEXATTRIBI2UIPROC) __GLeeGetProcAddress("glVertexAttribI2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI3ui = (GLEEPFNGLVERTEXATTRIBI3UIPROC) __GLeeGetProcAddress("glVertexAttribI3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4ui = (GLEEPFNGLVERTEXATTRIBI4UIPROC) __GLeeGetProcAddress("glVertexAttribI4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI1iv = (GLEEPFNGLVERTEXATTRIBI1IVPROC) __GLeeGetProcAddress("glVertexAttribI1iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI2iv = (GLEEPFNGLVERTEXATTRIBI2IVPROC) __GLeeGetProcAddress("glVertexAttribI2iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI3iv = (GLEEPFNGLVERTEXATTRIBI3IVPROC) __GLeeGetProcAddress("glVertexAttribI3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4iv = (GLEEPFNGLVERTEXATTRIBI4IVPROC) __GLeeGetProcAddress("glVertexAttribI4iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI1uiv = (GLEEPFNGLVERTEXATTRIBI1UIVPROC) __GLeeGetProcAddress("glVertexAttribI1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI2uiv = (GLEEPFNGLVERTEXATTRIBI2UIVPROC) __GLeeGetProcAddress("glVertexAttribI2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI3uiv = (GLEEPFNGLVERTEXATTRIBI3UIVPROC) __GLeeGetProcAddress("glVertexAttribI3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4uiv = (GLEEPFNGLVERTEXATTRIBI4UIVPROC) __GLeeGetProcAddress("glVertexAttribI4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4bv = (GLEEPFNGLVERTEXATTRIBI4BVPROC) __GLeeGetProcAddress("glVertexAttribI4bv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4sv = (GLEEPFNGLVERTEXATTRIBI4SVPROC) __GLeeGetProcAddress("glVertexAttribI4sv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4ubv = (GLEEPFNGLVERTEXATTRIBI4UBVPROC) __GLeeGetProcAddress("glVertexAttribI4ubv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribI4usv = (GLEEPFNGLVERTEXATTRIBI4USVPROC) __GLeeGetProcAddress("glVertexAttribI4usv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformuiv = (GLEEPFNGLGETUNIFORMUIVPROC) __GLeeGetProcAddress("glGetUniformuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindFragDataLocation = (GLEEPFNGLBINDFRAGDATALOCATIONPROC) __GLeeGetProcAddress("glBindFragDataLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragDataLocation = (GLEEPFNGLGETFRAGDATALOCATIONPROC) __GLeeGetProcAddress("glGetFragDataLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1ui = (GLEEPFNGLUNIFORM1UIPROC) __GLeeGetProcAddress("glUniform1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2ui = (GLEEPFNGLUNIFORM2UIPROC) __GLeeGetProcAddress("glUniform2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3ui = (GLEEPFNGLUNIFORM3UIPROC) __GLeeGetProcAddress("glUniform3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4ui = (GLEEPFNGLUNIFORM4UIPROC) __GLeeGetProcAddress("glUniform4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1uiv = (GLEEPFNGLUNIFORM1UIVPROC) __GLeeGetProcAddress("glUniform1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2uiv = (GLEEPFNGLUNIFORM2UIVPROC) __GLeeGetProcAddress("glUniform2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3uiv = (GLEEPFNGLUNIFORM3UIVPROC) __GLeeGetProcAddress("glUniform3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4uiv = (GLEEPFNGLUNIFORM4UIVPROC) __GLeeGetProcAddress("glUniform4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexParameterIiv = (GLEEPFNGLTEXPARAMETERIIVPROC) __GLeeGetProcAddress("glTexParameterIiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexParameterIuiv = (GLEEPFNGLTEXPARAMETERIUIVPROC) __GLeeGetProcAddress("glTexParameterIuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterIiv = (GLEEPFNGLGETTEXPARAMETERIIVPROC) __GLeeGetProcAddress("glGetTexParameterIiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterIuiv = (GLEEPFNGLGETTEXPARAMETERIUIVPROC) __GLeeGetProcAddress("glGetTexParameterIuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearBufferiv = (GLEEPFNGLCLEARBUFFERIVPROC) __GLeeGetProcAddress("glClearBufferiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearBufferuiv = (GLEEPFNGLCLEARBUFFERUIVPROC) __GLeeGetProcAddress("glClearBufferuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearBufferfv = (GLEEPFNGLCLEARBUFFERFVPROC) __GLeeGetProcAddress("glClearBufferfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearBufferfi = (GLEEPFNGLCLEARBUFFERFIPROC) __GLeeGetProcAddress("glClearBufferfi"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetStringi = (GLEEPFNGLGETSTRINGIPROC) __GLeeGetProcAddress("glGetStringi"))!=0) nLinked++; -#endif - if (nLinked==58) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_3_1(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_3_1 - if ((GLeeFuncPtr_glDrawArraysInstanced = (GLEEPFNGLDRAWARRAYSINSTANCEDPROC) __GLeeGetProcAddress("glDrawArraysInstanced"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstanced = (GLEEPFNGLDRAWELEMENTSINSTANCEDPROC) __GLeeGetProcAddress("glDrawElementsInstanced"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexBuffer = (GLEEPFNGLTEXBUFFERPROC) __GLeeGetProcAddress("glTexBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glPrimitiveRestartIndex = (GLEEPFNGLPRIMITIVERESTARTINDEXPROC) __GLeeGetProcAddress("glPrimitiveRestartIndex"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_3_2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_3_2 - if ((GLeeFuncPtr_glGetInteger64i_v = (GLEEPFNGLGETINTEGER64I_VPROC) __GLeeGetProcAddress("glGetInteger64i_v"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferParameteri64v = (GLEEPFNGLGETBUFFERPARAMETERI64VPROC) __GLeeGetProcAddress("glGetBufferParameteri64v"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture = (GLEEPFNGLFRAMEBUFFERTEXTUREPROC) __GLeeGetProcAddress("glFramebufferTexture"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_3_3(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_3_3 - if ((GLeeFuncPtr_glVertexAttribDivisor = (GLEEPFNGLVERTEXATTRIBDIVISORPROC) __GLeeGetProcAddress("glVertexAttribDivisor"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_4_0(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_VERSION_4_0 - if ((GLeeFuncPtr_glMinSampleShading = (GLEEPFNGLMINSAMPLESHADINGPROC) __GLeeGetProcAddress("glMinSampleShading"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquationi = (GLEEPFNGLBLENDEQUATIONIPROC) __GLeeGetProcAddress("glBlendEquationi"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquationSeparatei = (GLEEPFNGLBLENDEQUATIONSEPARATEIPROC) __GLeeGetProcAddress("glBlendEquationSeparatei"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendFunci = (GLEEPFNGLBLENDFUNCIPROC) __GLeeGetProcAddress("glBlendFunci"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendFuncSeparatei = (GLEEPFNGLBLENDFUNCSEPARATEIPROC) __GLeeGetProcAddress("glBlendFuncSeparatei"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_VERSION_4_1(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_VERSION_4_2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_VERSION_4_3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_multitexture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_multitexture - if ((GLeeFuncPtr_glActiveTextureARB = (GLEEPFNGLACTIVETEXTUREARBPROC) __GLeeGetProcAddress("glActiveTextureARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glClientActiveTextureARB = (GLEEPFNGLCLIENTACTIVETEXTUREARBPROC) __GLeeGetProcAddress("glClientActiveTextureARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1dARB = (GLEEPFNGLMULTITEXCOORD1DARBPROC) __GLeeGetProcAddress("glMultiTexCoord1dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1dvARB = (GLEEPFNGLMULTITEXCOORD1DVARBPROC) __GLeeGetProcAddress("glMultiTexCoord1dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1fARB = (GLEEPFNGLMULTITEXCOORD1FARBPROC) __GLeeGetProcAddress("glMultiTexCoord1fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1fvARB = (GLEEPFNGLMULTITEXCOORD1FVARBPROC) __GLeeGetProcAddress("glMultiTexCoord1fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1iARB = (GLEEPFNGLMULTITEXCOORD1IARBPROC) __GLeeGetProcAddress("glMultiTexCoord1iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1ivARB = (GLEEPFNGLMULTITEXCOORD1IVARBPROC) __GLeeGetProcAddress("glMultiTexCoord1ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1sARB = (GLEEPFNGLMULTITEXCOORD1SARBPROC) __GLeeGetProcAddress("glMultiTexCoord1sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1svARB = (GLEEPFNGLMULTITEXCOORD1SVARBPROC) __GLeeGetProcAddress("glMultiTexCoord1svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2dARB = (GLEEPFNGLMULTITEXCOORD2DARBPROC) __GLeeGetProcAddress("glMultiTexCoord2dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2dvARB = (GLEEPFNGLMULTITEXCOORD2DVARBPROC) __GLeeGetProcAddress("glMultiTexCoord2dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2fARB = (GLEEPFNGLMULTITEXCOORD2FARBPROC) __GLeeGetProcAddress("glMultiTexCoord2fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2fvARB = (GLEEPFNGLMULTITEXCOORD2FVARBPROC) __GLeeGetProcAddress("glMultiTexCoord2fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2iARB = (GLEEPFNGLMULTITEXCOORD2IARBPROC) __GLeeGetProcAddress("glMultiTexCoord2iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2ivARB = (GLEEPFNGLMULTITEXCOORD2IVARBPROC) __GLeeGetProcAddress("glMultiTexCoord2ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2sARB = (GLEEPFNGLMULTITEXCOORD2SARBPROC) __GLeeGetProcAddress("glMultiTexCoord2sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2svARB = (GLEEPFNGLMULTITEXCOORD2SVARBPROC) __GLeeGetProcAddress("glMultiTexCoord2svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3dARB = (GLEEPFNGLMULTITEXCOORD3DARBPROC) __GLeeGetProcAddress("glMultiTexCoord3dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3dvARB = (GLEEPFNGLMULTITEXCOORD3DVARBPROC) __GLeeGetProcAddress("glMultiTexCoord3dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3fARB = (GLEEPFNGLMULTITEXCOORD3FARBPROC) __GLeeGetProcAddress("glMultiTexCoord3fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3fvARB = (GLEEPFNGLMULTITEXCOORD3FVARBPROC) __GLeeGetProcAddress("glMultiTexCoord3fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3iARB = (GLEEPFNGLMULTITEXCOORD3IARBPROC) __GLeeGetProcAddress("glMultiTexCoord3iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3ivARB = (GLEEPFNGLMULTITEXCOORD3IVARBPROC) __GLeeGetProcAddress("glMultiTexCoord3ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3sARB = (GLEEPFNGLMULTITEXCOORD3SARBPROC) __GLeeGetProcAddress("glMultiTexCoord3sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3svARB = (GLEEPFNGLMULTITEXCOORD3SVARBPROC) __GLeeGetProcAddress("glMultiTexCoord3svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4dARB = (GLEEPFNGLMULTITEXCOORD4DARBPROC) __GLeeGetProcAddress("glMultiTexCoord4dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4dvARB = (GLEEPFNGLMULTITEXCOORD4DVARBPROC) __GLeeGetProcAddress("glMultiTexCoord4dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4fARB = (GLEEPFNGLMULTITEXCOORD4FARBPROC) __GLeeGetProcAddress("glMultiTexCoord4fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4fvARB = (GLEEPFNGLMULTITEXCOORD4FVARBPROC) __GLeeGetProcAddress("glMultiTexCoord4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4iARB = (GLEEPFNGLMULTITEXCOORD4IARBPROC) __GLeeGetProcAddress("glMultiTexCoord4iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4ivARB = (GLEEPFNGLMULTITEXCOORD4IVARBPROC) __GLeeGetProcAddress("glMultiTexCoord4ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4sARB = (GLEEPFNGLMULTITEXCOORD4SARBPROC) __GLeeGetProcAddress("glMultiTexCoord4sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4svARB = (GLEEPFNGLMULTITEXCOORD4SVARBPROC) __GLeeGetProcAddress("glMultiTexCoord4svARB"))!=0) nLinked++; -#endif - if (nLinked==34) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_transpose_matrix(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_transpose_matrix - if ((GLeeFuncPtr_glLoadTransposeMatrixfARB = (GLEEPFNGLLOADTRANSPOSEMATRIXFARBPROC) __GLeeGetProcAddress("glLoadTransposeMatrixfARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadTransposeMatrixdARB = (GLEEPFNGLLOADTRANSPOSEMATRIXDARBPROC) __GLeeGetProcAddress("glLoadTransposeMatrixdARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultTransposeMatrixfARB = (GLEEPFNGLMULTTRANSPOSEMATRIXFARBPROC) __GLeeGetProcAddress("glMultTransposeMatrixfARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultTransposeMatrixdARB = (GLEEPFNGLMULTTRANSPOSEMATRIXDARBPROC) __GLeeGetProcAddress("glMultTransposeMatrixdARB"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_multisample - if ((GLeeFuncPtr_glSampleCoverageARB = (GLEEPFNGLSAMPLECOVERAGEARBPROC) __GLeeGetProcAddress("glSampleCoverageARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_env_add(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_cube_map(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_compression(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_compression - if ((GLeeFuncPtr_glCompressedTexImage3DARB = (GLEEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC) __GLeeGetProcAddress("glCompressedTexImage3DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexImage2DARB = (GLEEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC) __GLeeGetProcAddress("glCompressedTexImage2DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexImage1DARB = (GLEEPFNGLCOMPRESSEDTEXIMAGE1DARBPROC) __GLeeGetProcAddress("glCompressedTexImage1DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage3DARB = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) __GLeeGetProcAddress("glCompressedTexSubImage3DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage2DARB = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) __GLeeGetProcAddress("glCompressedTexSubImage2DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTexSubImage1DARB = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) __GLeeGetProcAddress("glCompressedTexSubImage1DARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCompressedTexImageARB = (GLEEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC) __GLeeGetProcAddress("glGetCompressedTexImageARB"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_border_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_point_parameters(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_point_parameters - if ((GLeeFuncPtr_glPointParameterfARB = (GLEEPFNGLPOINTPARAMETERFARBPROC) __GLeeGetProcAddress("glPointParameterfARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterfvARB = (GLEEPFNGLPOINTPARAMETERFVARBPROC) __GLeeGetProcAddress("glPointParameterfvARB"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_blend(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_blend - if ((GLeeFuncPtr_glWeightbvARB = (GLEEPFNGLWEIGHTBVARBPROC) __GLeeGetProcAddress("glWeightbvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightsvARB = (GLEEPFNGLWEIGHTSVARBPROC) __GLeeGetProcAddress("glWeightsvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightivARB = (GLEEPFNGLWEIGHTIVARBPROC) __GLeeGetProcAddress("glWeightivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightfvARB = (GLEEPFNGLWEIGHTFVARBPROC) __GLeeGetProcAddress("glWeightfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightdvARB = (GLEEPFNGLWEIGHTDVARBPROC) __GLeeGetProcAddress("glWeightdvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightubvARB = (GLEEPFNGLWEIGHTUBVARBPROC) __GLeeGetProcAddress("glWeightubvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightusvARB = (GLEEPFNGLWEIGHTUSVARBPROC) __GLeeGetProcAddress("glWeightusvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightuivARB = (GLEEPFNGLWEIGHTUIVARBPROC) __GLeeGetProcAddress("glWeightuivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightPointerARB = (GLEEPFNGLWEIGHTPOINTERARBPROC) __GLeeGetProcAddress("glWeightPointerARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexBlendARB = (GLEEPFNGLVERTEXBLENDARBPROC) __GLeeGetProcAddress("glVertexBlendARB"))!=0) nLinked++; -#endif - if (nLinked==10) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_matrix_palette(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_matrix_palette - if ((GLeeFuncPtr_glCurrentPaletteMatrixARB = (GLEEPFNGLCURRENTPALETTEMATRIXARBPROC) __GLeeGetProcAddress("glCurrentPaletteMatrixARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixIndexubvARB = (GLEEPFNGLMATRIXINDEXUBVARBPROC) __GLeeGetProcAddress("glMatrixIndexubvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixIndexusvARB = (GLEEPFNGLMATRIXINDEXUSVARBPROC) __GLeeGetProcAddress("glMatrixIndexusvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixIndexuivARB = (GLEEPFNGLMATRIXINDEXUIVARBPROC) __GLeeGetProcAddress("glMatrixIndexuivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixIndexPointerARB = (GLEEPFNGLMATRIXINDEXPOINTERARBPROC) __GLeeGetProcAddress("glMatrixIndexPointerARB"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_env_combine(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_env_crossbar(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_env_dot3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_mirrored_repeat(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_depth_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shadow(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shadow_ambient(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_window_pos(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_window_pos - if ((GLeeFuncPtr_glWindowPos2dARB = (GLEEPFNGLWINDOWPOS2DARBPROC) __GLeeGetProcAddress("glWindowPos2dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2dvARB = (GLEEPFNGLWINDOWPOS2DVARBPROC) __GLeeGetProcAddress("glWindowPos2dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2fARB = (GLEEPFNGLWINDOWPOS2FARBPROC) __GLeeGetProcAddress("glWindowPos2fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2fvARB = (GLEEPFNGLWINDOWPOS2FVARBPROC) __GLeeGetProcAddress("glWindowPos2fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2iARB = (GLEEPFNGLWINDOWPOS2IARBPROC) __GLeeGetProcAddress("glWindowPos2iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2ivARB = (GLEEPFNGLWINDOWPOS2IVARBPROC) __GLeeGetProcAddress("glWindowPos2ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2sARB = (GLEEPFNGLWINDOWPOS2SARBPROC) __GLeeGetProcAddress("glWindowPos2sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2svARB = (GLEEPFNGLWINDOWPOS2SVARBPROC) __GLeeGetProcAddress("glWindowPos2svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3dARB = (GLEEPFNGLWINDOWPOS3DARBPROC) __GLeeGetProcAddress("glWindowPos3dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3dvARB = (GLEEPFNGLWINDOWPOS3DVARBPROC) __GLeeGetProcAddress("glWindowPos3dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3fARB = (GLEEPFNGLWINDOWPOS3FARBPROC) __GLeeGetProcAddress("glWindowPos3fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3fvARB = (GLEEPFNGLWINDOWPOS3FVARBPROC) __GLeeGetProcAddress("glWindowPos3fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3iARB = (GLEEPFNGLWINDOWPOS3IARBPROC) __GLeeGetProcAddress("glWindowPos3iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3ivARB = (GLEEPFNGLWINDOWPOS3IVARBPROC) __GLeeGetProcAddress("glWindowPos3ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3sARB = (GLEEPFNGLWINDOWPOS3SARBPROC) __GLeeGetProcAddress("glWindowPos3sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3svARB = (GLEEPFNGLWINDOWPOS3SVARBPROC) __GLeeGetProcAddress("glWindowPos3svARB"))!=0) nLinked++; -#endif - if (nLinked==16) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_program(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_program - if ((GLeeFuncPtr_glVertexAttrib1dARB = (GLEEPFNGLVERTEXATTRIB1DARBPROC) __GLeeGetProcAddress("glVertexAttrib1dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1dvARB = (GLEEPFNGLVERTEXATTRIB1DVARBPROC) __GLeeGetProcAddress("glVertexAttrib1dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1fARB = (GLEEPFNGLVERTEXATTRIB1FARBPROC) __GLeeGetProcAddress("glVertexAttrib1fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1fvARB = (GLEEPFNGLVERTEXATTRIB1FVARBPROC) __GLeeGetProcAddress("glVertexAttrib1fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1sARB = (GLEEPFNGLVERTEXATTRIB1SARBPROC) __GLeeGetProcAddress("glVertexAttrib1sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1svARB = (GLEEPFNGLVERTEXATTRIB1SVARBPROC) __GLeeGetProcAddress("glVertexAttrib1svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2dARB = (GLEEPFNGLVERTEXATTRIB2DARBPROC) __GLeeGetProcAddress("glVertexAttrib2dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2dvARB = (GLEEPFNGLVERTEXATTRIB2DVARBPROC) __GLeeGetProcAddress("glVertexAttrib2dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2fARB = (GLEEPFNGLVERTEXATTRIB2FARBPROC) __GLeeGetProcAddress("glVertexAttrib2fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2fvARB = (GLEEPFNGLVERTEXATTRIB2FVARBPROC) __GLeeGetProcAddress("glVertexAttrib2fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2sARB = (GLEEPFNGLVERTEXATTRIB2SARBPROC) __GLeeGetProcAddress("glVertexAttrib2sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2svARB = (GLEEPFNGLVERTEXATTRIB2SVARBPROC) __GLeeGetProcAddress("glVertexAttrib2svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3dARB = (GLEEPFNGLVERTEXATTRIB3DARBPROC) __GLeeGetProcAddress("glVertexAttrib3dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3dvARB = (GLEEPFNGLVERTEXATTRIB3DVARBPROC) __GLeeGetProcAddress("glVertexAttrib3dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3fARB = (GLEEPFNGLVERTEXATTRIB3FARBPROC) __GLeeGetProcAddress("glVertexAttrib3fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3fvARB = (GLEEPFNGLVERTEXATTRIB3FVARBPROC) __GLeeGetProcAddress("glVertexAttrib3fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3sARB = (GLEEPFNGLVERTEXATTRIB3SARBPROC) __GLeeGetProcAddress("glVertexAttrib3sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3svARB = (GLEEPFNGLVERTEXATTRIB3SVARBPROC) __GLeeGetProcAddress("glVertexAttrib3svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NbvARB = (GLEEPFNGLVERTEXATTRIB4NBVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NbvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NivARB = (GLEEPFNGLVERTEXATTRIB4NIVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NsvARB = (GLEEPFNGLVERTEXATTRIB4NSVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NsvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NubARB = (GLEEPFNGLVERTEXATTRIB4NUBARBPROC) __GLeeGetProcAddress("glVertexAttrib4NubARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NubvARB = (GLEEPFNGLVERTEXATTRIB4NUBVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NubvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NuivARB = (GLEEPFNGLVERTEXATTRIB4NUIVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NuivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4NusvARB = (GLEEPFNGLVERTEXATTRIB4NUSVARBPROC) __GLeeGetProcAddress("glVertexAttrib4NusvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4bvARB = (GLEEPFNGLVERTEXATTRIB4BVARBPROC) __GLeeGetProcAddress("glVertexAttrib4bvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4dARB = (GLEEPFNGLVERTEXATTRIB4DARBPROC) __GLeeGetProcAddress("glVertexAttrib4dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4dvARB = (GLEEPFNGLVERTEXATTRIB4DVARBPROC) __GLeeGetProcAddress("glVertexAttrib4dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4fARB = (GLEEPFNGLVERTEXATTRIB4FARBPROC) __GLeeGetProcAddress("glVertexAttrib4fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4fvARB = (GLEEPFNGLVERTEXATTRIB4FVARBPROC) __GLeeGetProcAddress("glVertexAttrib4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4ivARB = (GLEEPFNGLVERTEXATTRIB4IVARBPROC) __GLeeGetProcAddress("glVertexAttrib4ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4sARB = (GLEEPFNGLVERTEXATTRIB4SARBPROC) __GLeeGetProcAddress("glVertexAttrib4sARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4svARB = (GLEEPFNGLVERTEXATTRIB4SVARBPROC) __GLeeGetProcAddress("glVertexAttrib4svARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4ubvARB = (GLEEPFNGLVERTEXATTRIB4UBVARBPROC) __GLeeGetProcAddress("glVertexAttrib4ubvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4uivARB = (GLEEPFNGLVERTEXATTRIB4UIVARBPROC) __GLeeGetProcAddress("glVertexAttrib4uivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4usvARB = (GLEEPFNGLVERTEXATTRIB4USVARBPROC) __GLeeGetProcAddress("glVertexAttrib4usvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribPointerARB = (GLEEPFNGLVERTEXATTRIBPOINTERARBPROC) __GLeeGetProcAddress("glVertexAttribPointerARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnableVertexAttribArrayARB = (GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC) __GLeeGetProcAddress("glEnableVertexAttribArrayARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableVertexAttribArrayARB = (GLEEPFNGLDISABLEVERTEXATTRIBARRAYARBPROC) __GLeeGetProcAddress("glDisableVertexAttribArrayARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramStringARB = (GLEEPFNGLPROGRAMSTRINGARBPROC) __GLeeGetProcAddress("glProgramStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindProgramARB = (GLEEPFNGLBINDPROGRAMARBPROC) __GLeeGetProcAddress("glBindProgramARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteProgramsARB = (GLEEPFNGLDELETEPROGRAMSARBPROC) __GLeeGetProcAddress("glDeleteProgramsARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenProgramsARB = (GLEEPFNGLGENPROGRAMSARBPROC) __GLeeGetProcAddress("glGenProgramsARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramEnvParameter4dARB = (GLEEPFNGLPROGRAMENVPARAMETER4DARBPROC) __GLeeGetProcAddress("glProgramEnvParameter4dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramEnvParameter4dvARB = (GLEEPFNGLPROGRAMENVPARAMETER4DVARBPROC) __GLeeGetProcAddress("glProgramEnvParameter4dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramEnvParameter4fARB = (GLEEPFNGLPROGRAMENVPARAMETER4FARBPROC) __GLeeGetProcAddress("glProgramEnvParameter4fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramEnvParameter4fvARB = (GLEEPFNGLPROGRAMENVPARAMETER4FVARBPROC) __GLeeGetProcAddress("glProgramEnvParameter4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramLocalParameter4dARB = (GLEEPFNGLPROGRAMLOCALPARAMETER4DARBPROC) __GLeeGetProcAddress("glProgramLocalParameter4dARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramLocalParameter4dvARB = (GLEEPFNGLPROGRAMLOCALPARAMETER4DVARBPROC) __GLeeGetProcAddress("glProgramLocalParameter4dvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramLocalParameter4fARB = (GLEEPFNGLPROGRAMLOCALPARAMETER4FARBPROC) __GLeeGetProcAddress("glProgramLocalParameter4fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramLocalParameter4fvARB = (GLEEPFNGLPROGRAMLOCALPARAMETER4FVARBPROC) __GLeeGetProcAddress("glProgramLocalParameter4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramEnvParameterdvARB = (GLEEPFNGLGETPROGRAMENVPARAMETERDVARBPROC) __GLeeGetProcAddress("glGetProgramEnvParameterdvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramEnvParameterfvARB = (GLEEPFNGLGETPROGRAMENVPARAMETERFVARBPROC) __GLeeGetProcAddress("glGetProgramEnvParameterfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramLocalParameterdvARB = (GLEEPFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) __GLeeGetProcAddress("glGetProgramLocalParameterdvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramLocalParameterfvARB = (GLEEPFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) __GLeeGetProcAddress("glGetProgramLocalParameterfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramivARB = (GLEEPFNGLGETPROGRAMIVARBPROC) __GLeeGetProcAddress("glGetProgramivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramStringARB = (GLEEPFNGLGETPROGRAMSTRINGARBPROC) __GLeeGetProcAddress("glGetProgramStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribdvARB = (GLEEPFNGLGETVERTEXATTRIBDVARBPROC) __GLeeGetProcAddress("glGetVertexAttribdvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribfvARB = (GLEEPFNGLGETVERTEXATTRIBFVARBPROC) __GLeeGetProcAddress("glGetVertexAttribfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribivARB = (GLEEPFNGLGETVERTEXATTRIBIVARBPROC) __GLeeGetProcAddress("glGetVertexAttribivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribPointervARB = (GLEEPFNGLGETVERTEXATTRIBPOINTERVARBPROC) __GLeeGetProcAddress("glGetVertexAttribPointervARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsProgramARB = (GLEEPFNGLISPROGRAMARBPROC) __GLeeGetProcAddress("glIsProgramARB"))!=0) nLinked++; -#endif - if (nLinked==62) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_fragment_program(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_vertex_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_buffer_object - if ((GLeeFuncPtr_glBindBufferARB = (GLEEPFNGLBINDBUFFERARBPROC) __GLeeGetProcAddress("glBindBufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteBuffersARB = (GLEEPFNGLDELETEBUFFERSARBPROC) __GLeeGetProcAddress("glDeleteBuffersARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenBuffersARB = (GLEEPFNGLGENBUFFERSARBPROC) __GLeeGetProcAddress("glGenBuffersARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsBufferARB = (GLEEPFNGLISBUFFERARBPROC) __GLeeGetProcAddress("glIsBufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBufferDataARB = (GLEEPFNGLBUFFERDATAARBPROC) __GLeeGetProcAddress("glBufferDataARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBufferSubDataARB = (GLEEPFNGLBUFFERSUBDATAARBPROC) __GLeeGetProcAddress("glBufferSubDataARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferSubDataARB = (GLEEPFNGLGETBUFFERSUBDATAARBPROC) __GLeeGetProcAddress("glGetBufferSubDataARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapBufferARB = (GLEEPFNGLMAPBUFFERARBPROC) __GLeeGetProcAddress("glMapBufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnmapBufferARB = (GLEEPFNGLUNMAPBUFFERARBPROC) __GLeeGetProcAddress("glUnmapBufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferParameterivARB = (GLEEPFNGLGETBUFFERPARAMETERIVARBPROC) __GLeeGetProcAddress("glGetBufferParameterivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferPointervARB = (GLEEPFNGLGETBUFFERPOINTERVARBPROC) __GLeeGetProcAddress("glGetBufferPointervARB"))!=0) nLinked++; -#endif - if (nLinked==11) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_occlusion_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_occlusion_query - if ((GLeeFuncPtr_glGenQueriesARB = (GLEEPFNGLGENQUERIESARBPROC) __GLeeGetProcAddress("glGenQueriesARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteQueriesARB = (GLEEPFNGLDELETEQUERIESARBPROC) __GLeeGetProcAddress("glDeleteQueriesARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsQueryARB = (GLEEPFNGLISQUERYARBPROC) __GLeeGetProcAddress("glIsQueryARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginQueryARB = (GLEEPFNGLBEGINQUERYARBPROC) __GLeeGetProcAddress("glBeginQueryARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndQueryARB = (GLEEPFNGLENDQUERYARBPROC) __GLeeGetProcAddress("glEndQueryARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryivARB = (GLEEPFNGLGETQUERYIVARBPROC) __GLeeGetProcAddress("glGetQueryivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectivARB = (GLEEPFNGLGETQUERYOBJECTIVARBPROC) __GLeeGetProcAddress("glGetQueryObjectivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectuivARB = (GLEEPFNGLGETQUERYOBJECTUIVARBPROC) __GLeeGetProcAddress("glGetQueryObjectuivARB"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_objects(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shader_objects - if ((GLeeFuncPtr_glDeleteObjectARB = (GLEEPFNGLDELETEOBJECTARBPROC) __GLeeGetProcAddress("glDeleteObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHandleARB = (GLEEPFNGLGETHANDLEARBPROC) __GLeeGetProcAddress("glGetHandleARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDetachObjectARB = (GLEEPFNGLDETACHOBJECTARBPROC) __GLeeGetProcAddress("glDetachObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateShaderObjectARB = (GLEEPFNGLCREATESHADEROBJECTARBPROC) __GLeeGetProcAddress("glCreateShaderObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderSourceARB = (GLEEPFNGLSHADERSOURCEARBPROC) __GLeeGetProcAddress("glShaderSourceARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompileShaderARB = (GLEEPFNGLCOMPILESHADERARBPROC) __GLeeGetProcAddress("glCompileShaderARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateProgramObjectARB = (GLEEPFNGLCREATEPROGRAMOBJECTARBPROC) __GLeeGetProcAddress("glCreateProgramObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glAttachObjectARB = (GLEEPFNGLATTACHOBJECTARBPROC) __GLeeGetProcAddress("glAttachObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glLinkProgramARB = (GLEEPFNGLLINKPROGRAMARBPROC) __GLeeGetProcAddress("glLinkProgramARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUseProgramObjectARB = (GLEEPFNGLUSEPROGRAMOBJECTARBPROC) __GLeeGetProcAddress("glUseProgramObjectARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glValidateProgramARB = (GLEEPFNGLVALIDATEPROGRAMARBPROC) __GLeeGetProcAddress("glValidateProgramARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1fARB = (GLEEPFNGLUNIFORM1FARBPROC) __GLeeGetProcAddress("glUniform1fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2fARB = (GLEEPFNGLUNIFORM2FARBPROC) __GLeeGetProcAddress("glUniform2fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3fARB = (GLEEPFNGLUNIFORM3FARBPROC) __GLeeGetProcAddress("glUniform3fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4fARB = (GLEEPFNGLUNIFORM4FARBPROC) __GLeeGetProcAddress("glUniform4fARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1iARB = (GLEEPFNGLUNIFORM1IARBPROC) __GLeeGetProcAddress("glUniform1iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2iARB = (GLEEPFNGLUNIFORM2IARBPROC) __GLeeGetProcAddress("glUniform2iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3iARB = (GLEEPFNGLUNIFORM3IARBPROC) __GLeeGetProcAddress("glUniform3iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4iARB = (GLEEPFNGLUNIFORM4IARBPROC) __GLeeGetProcAddress("glUniform4iARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1fvARB = (GLEEPFNGLUNIFORM1FVARBPROC) __GLeeGetProcAddress("glUniform1fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2fvARB = (GLEEPFNGLUNIFORM2FVARBPROC) __GLeeGetProcAddress("glUniform2fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3fvARB = (GLEEPFNGLUNIFORM3FVARBPROC) __GLeeGetProcAddress("glUniform3fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4fvARB = (GLEEPFNGLUNIFORM4FVARBPROC) __GLeeGetProcAddress("glUniform4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1ivARB = (GLEEPFNGLUNIFORM1IVARBPROC) __GLeeGetProcAddress("glUniform1ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2ivARB = (GLEEPFNGLUNIFORM2IVARBPROC) __GLeeGetProcAddress("glUniform2ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3ivARB = (GLEEPFNGLUNIFORM3IVARBPROC) __GLeeGetProcAddress("glUniform3ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4ivARB = (GLEEPFNGLUNIFORM4IVARBPROC) __GLeeGetProcAddress("glUniform4ivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2fvARB = (GLEEPFNGLUNIFORMMATRIX2FVARBPROC) __GLeeGetProcAddress("glUniformMatrix2fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3fvARB = (GLEEPFNGLUNIFORMMATRIX3FVARBPROC) __GLeeGetProcAddress("glUniformMatrix3fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4fvARB = (GLEEPFNGLUNIFORMMATRIX4FVARBPROC) __GLeeGetProcAddress("glUniformMatrix4fvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectParameterfvARB = (GLEEPFNGLGETOBJECTPARAMETERFVARBPROC) __GLeeGetProcAddress("glGetObjectParameterfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectParameterivARB = (GLEEPFNGLGETOBJECTPARAMETERIVARBPROC) __GLeeGetProcAddress("glGetObjectParameterivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetInfoLogARB = (GLEEPFNGLGETINFOLOGARBPROC) __GLeeGetProcAddress("glGetInfoLogARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetAttachedObjectsARB = (GLEEPFNGLGETATTACHEDOBJECTSARBPROC) __GLeeGetProcAddress("glGetAttachedObjectsARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformLocationARB = (GLEEPFNGLGETUNIFORMLOCATIONARBPROC) __GLeeGetProcAddress("glGetUniformLocationARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniformARB = (GLEEPFNGLGETACTIVEUNIFORMARBPROC) __GLeeGetProcAddress("glGetActiveUniformARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformfvARB = (GLEEPFNGLGETUNIFORMFVARBPROC) __GLeeGetProcAddress("glGetUniformfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformivARB = (GLEEPFNGLGETUNIFORMIVARBPROC) __GLeeGetProcAddress("glGetUniformivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetShaderSourceARB = (GLEEPFNGLGETSHADERSOURCEARBPROC) __GLeeGetProcAddress("glGetShaderSourceARB"))!=0) nLinked++; -#endif - if (nLinked==39) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_shader(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_shader - if ((GLeeFuncPtr_glBindAttribLocationARB = (GLEEPFNGLBINDATTRIBLOCATIONARBPROC) __GLeeGetProcAddress("glBindAttribLocationARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveAttribARB = (GLEEPFNGLGETACTIVEATTRIBARBPROC) __GLeeGetProcAddress("glGetActiveAttribARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetAttribLocationARB = (GLEEPFNGLGETATTRIBLOCATIONARBPROC) __GLeeGetProcAddress("glGetAttribLocationARB"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_fragment_shader(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shading_language_100(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_non_power_of_two(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_point_sprite(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_fragment_program_shadow(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_draw_buffers(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_draw_buffers - if ((GLeeFuncPtr_glDrawBuffersARB = (GLEEPFNGLDRAWBUFFERSARBPROC) __GLeeGetProcAddress("glDrawBuffersARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_rectangle(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_color_buffer_float(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_color_buffer_float - if ((GLeeFuncPtr_glClampColorARB = (GLEEPFNGLCLAMPCOLORARBPROC) __GLeeGetProcAddress("glClampColorARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_half_float_pixel(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_pixel_buffer_object(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_depth_buffer_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_draw_instanced(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_draw_instanced - if ((GLeeFuncPtr_glDrawArraysInstancedARB = (GLEEPFNGLDRAWARRAYSINSTANCEDARBPROC) __GLeeGetProcAddress("glDrawArraysInstancedARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstancedARB = (GLEEPFNGLDRAWELEMENTSINSTANCEDARBPROC) __GLeeGetProcAddress("glDrawElementsInstancedARB"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_framebuffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_framebuffer_object - if ((GLeeFuncPtr_glIsRenderbuffer = (GLEEPFNGLISRENDERBUFFERPROC) __GLeeGetProcAddress("glIsRenderbuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindRenderbuffer = (GLEEPFNGLBINDRENDERBUFFERPROC) __GLeeGetProcAddress("glBindRenderbuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteRenderbuffers = (GLEEPFNGLDELETERENDERBUFFERSPROC) __GLeeGetProcAddress("glDeleteRenderbuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenRenderbuffers = (GLEEPFNGLGENRENDERBUFFERSPROC) __GLeeGetProcAddress("glGenRenderbuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glRenderbufferStorage = (GLEEPFNGLRENDERBUFFERSTORAGEPROC) __GLeeGetProcAddress("glRenderbufferStorage"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetRenderbufferParameteriv = (GLEEPFNGLGETRENDERBUFFERPARAMETERIVPROC) __GLeeGetProcAddress("glGetRenderbufferParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsFramebuffer = (GLEEPFNGLISFRAMEBUFFERPROC) __GLeeGetProcAddress("glIsFramebuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindFramebuffer = (GLEEPFNGLBINDFRAMEBUFFERPROC) __GLeeGetProcAddress("glBindFramebuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteFramebuffers = (GLEEPFNGLDELETEFRAMEBUFFERSPROC) __GLeeGetProcAddress("glDeleteFramebuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenFramebuffers = (GLEEPFNGLGENFRAMEBUFFERSPROC) __GLeeGetProcAddress("glGenFramebuffers"))!=0) nLinked++; - if ((GLeeFuncPtr_glCheckFramebufferStatus = (GLEEPFNGLCHECKFRAMEBUFFERSTATUSPROC) __GLeeGetProcAddress("glCheckFramebufferStatus"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture1D = (GLEEPFNGLFRAMEBUFFERTEXTURE1DPROC) __GLeeGetProcAddress("glFramebufferTexture1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture2D = (GLEEPFNGLFRAMEBUFFERTEXTURE2DPROC) __GLeeGetProcAddress("glFramebufferTexture2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture3D = (GLEEPFNGLFRAMEBUFFERTEXTURE3DPROC) __GLeeGetProcAddress("glFramebufferTexture3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferRenderbuffer = (GLEEPFNGLFRAMEBUFFERRENDERBUFFERPROC) __GLeeGetProcAddress("glFramebufferRenderbuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFramebufferAttachmentParameteriv = (GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) __GLeeGetProcAddress("glGetFramebufferAttachmentParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenerateMipmap = (GLEEPFNGLGENERATEMIPMAPPROC) __GLeeGetProcAddress("glGenerateMipmap"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlitFramebuffer = (GLEEPFNGLBLITFRAMEBUFFERPROC) __GLeeGetProcAddress("glBlitFramebuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glRenderbufferStorageMultisample = (GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) __GLeeGetProcAddress("glRenderbufferStorageMultisample"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTextureLayer = (GLEEPFNGLFRAMEBUFFERTEXTURELAYERPROC) __GLeeGetProcAddress("glFramebufferTextureLayer"))!=0) nLinked++; -#endif - if (nLinked==20) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_geometry_shader4(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_geometry_shader4 - if ((GLeeFuncPtr_glProgramParameteriARB = (GLEEPFNGLPROGRAMPARAMETERIARBPROC) __GLeeGetProcAddress("glProgramParameteriARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTextureARB = (GLEEPFNGLFRAMEBUFFERTEXTUREARBPROC) __GLeeGetProcAddress("glFramebufferTextureARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTextureLayerARB = (GLEEPFNGLFRAMEBUFFERTEXTURELAYERARBPROC) __GLeeGetProcAddress("glFramebufferTextureLayerARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTextureFaceARB = (GLEEPFNGLFRAMEBUFFERTEXTUREFACEARBPROC) __GLeeGetProcAddress("glFramebufferTextureFaceARB"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_half_float_vertex(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_instanced_arrays(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_instanced_arrays - if ((GLeeFuncPtr_glVertexAttribDivisorARB = (GLEEPFNGLVERTEXATTRIBDIVISORARBPROC) __GLeeGetProcAddress("glVertexAttribDivisorARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_map_buffer_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_map_buffer_range - if ((GLeeFuncPtr_glMapBufferRange = (GLEEPFNGLMAPBUFFERRANGEPROC) __GLeeGetProcAddress("glMapBufferRange"))!=0) nLinked++; - if ((GLeeFuncPtr_glFlushMappedBufferRange = (GLEEPFNGLFLUSHMAPPEDBUFFERRANGEPROC) __GLeeGetProcAddress("glFlushMappedBufferRange"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_buffer_object - if ((GLeeFuncPtr_glTexBufferARB = (GLEEPFNGLTEXBUFFERARBPROC) __GLeeGetProcAddress("glTexBufferARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_compression_rgtc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_rg(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_vertex_array_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_array_object - if ((GLeeFuncPtr_glBindVertexArray = (GLEEPFNGLBINDVERTEXARRAYPROC) __GLeeGetProcAddress("glBindVertexArray"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteVertexArrays = (GLEEPFNGLDELETEVERTEXARRAYSPROC) __GLeeGetProcAddress("glDeleteVertexArrays"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenVertexArrays = (GLEEPFNGLGENVERTEXARRAYSPROC) __GLeeGetProcAddress("glGenVertexArrays"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsVertexArray = (GLEEPFNGLISVERTEXARRAYPROC) __GLeeGetProcAddress("glIsVertexArray"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_uniform_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_uniform_buffer_object - if ((GLeeFuncPtr_glGetUniformIndices = (GLEEPFNGLGETUNIFORMINDICESPROC) __GLeeGetProcAddress("glGetUniformIndices"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniformsiv = (GLEEPFNGLGETACTIVEUNIFORMSIVPROC) __GLeeGetProcAddress("glGetActiveUniformsiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniformName = (GLEEPFNGLGETACTIVEUNIFORMNAMEPROC) __GLeeGetProcAddress("glGetActiveUniformName"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformBlockIndex = (GLEEPFNGLGETUNIFORMBLOCKINDEXPROC) __GLeeGetProcAddress("glGetUniformBlockIndex"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniformBlockiv = (GLEEPFNGLGETACTIVEUNIFORMBLOCKIVPROC) __GLeeGetProcAddress("glGetActiveUniformBlockiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveUniformBlockName = (GLEEPFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) __GLeeGetProcAddress("glGetActiveUniformBlockName"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformBlockBinding = (GLEEPFNGLUNIFORMBLOCKBINDINGPROC) __GLeeGetProcAddress("glUniformBlockBinding"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_compatibility(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_copy_buffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_copy_buffer - if ((GLeeFuncPtr_glCopyBufferSubData = (GLEEPFNGLCOPYBUFFERSUBDATAPROC) __GLeeGetProcAddress("glCopyBufferSubData"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_texture_lod(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_depth_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_draw_elements_base_vertex(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_draw_elements_base_vertex - if ((GLeeFuncPtr_glDrawElementsBaseVertex = (GLEEPFNGLDRAWELEMENTSBASEVERTEXPROC) __GLeeGetProcAddress("glDrawElementsBaseVertex"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawRangeElementsBaseVertex = (GLEEPFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) __GLeeGetProcAddress("glDrawRangeElementsBaseVertex"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstancedBaseVertex = (GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) __GLeeGetProcAddress("glDrawElementsInstancedBaseVertex"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElementsBaseVertex = (GLEEPFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) __GLeeGetProcAddress("glMultiDrawElementsBaseVertex"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_fragment_coord_conventions(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_provoking_vertex(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_provoking_vertex - if ((GLeeFuncPtr_glProvokingVertex = (GLEEPFNGLPROVOKINGVERTEXPROC) __GLeeGetProcAddress("glProvokingVertex"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_seamless_cube_map(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_sync(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_sync - if ((GLeeFuncPtr_glFenceSync = (GLEEPFNGLFENCESYNCPROC) __GLeeGetProcAddress("glFenceSync"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsSync = (GLEEPFNGLISSYNCPROC) __GLeeGetProcAddress("glIsSync"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteSync = (GLEEPFNGLDELETESYNCPROC) __GLeeGetProcAddress("glDeleteSync"))!=0) nLinked++; - if ((GLeeFuncPtr_glClientWaitSync = (GLEEPFNGLCLIENTWAITSYNCPROC) __GLeeGetProcAddress("glClientWaitSync"))!=0) nLinked++; - if ((GLeeFuncPtr_glWaitSync = (GLEEPFNGLWAITSYNCPROC) __GLeeGetProcAddress("glWaitSync"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetInteger64v = (GLEEPFNGLGETINTEGER64VPROC) __GLeeGetProcAddress("glGetInteger64v"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSynciv = (GLEEPFNGLGETSYNCIVPROC) __GLeeGetProcAddress("glGetSynciv"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_multisample - if ((GLeeFuncPtr_glTexImage2DMultisample = (GLEEPFNGLTEXIMAGE2DMULTISAMPLEPROC) __GLeeGetProcAddress("glTexImage2DMultisample"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexImage3DMultisample = (GLEEPFNGLTEXIMAGE3DMULTISAMPLEPROC) __GLeeGetProcAddress("glTexImage3DMultisample"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultisamplefv = (GLEEPFNGLGETMULTISAMPLEFVPROC) __GLeeGetProcAddress("glGetMultisamplefv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSampleMaski = (GLEEPFNGLSAMPLEMASKIPROC) __GLeeGetProcAddress("glSampleMaski"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_array_bgra(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_draw_buffers_blend(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_draw_buffers_blend - if ((GLeeFuncPtr_glBlendEquationiARB = (GLEEPFNGLBLENDEQUATIONIARBPROC) __GLeeGetProcAddress("glBlendEquationiARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquationSeparateiARB = (GLEEPFNGLBLENDEQUATIONSEPARATEIARBPROC) __GLeeGetProcAddress("glBlendEquationSeparateiARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendFunciARB = (GLEEPFNGLBLENDFUNCIARBPROC) __GLeeGetProcAddress("glBlendFunciARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendFuncSeparateiARB = (GLEEPFNGLBLENDFUNCSEPARATEIARBPROC) __GLeeGetProcAddress("glBlendFuncSeparateiARB"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_sample_shading(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_sample_shading - if ((GLeeFuncPtr_glMinSampleShadingARB = (GLEEPFNGLMINSAMPLESHADINGARBPROC) __GLeeGetProcAddress("glMinSampleShadingARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_cube_map_array(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_gather(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_query_lod(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shading_language_include(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shading_language_include - if ((GLeeFuncPtr_glNamedStringARB = (GLEEPFNGLNAMEDSTRINGARBPROC) __GLeeGetProcAddress("glNamedStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteNamedStringARB = (GLEEPFNGLDELETENAMEDSTRINGARBPROC) __GLeeGetProcAddress("glDeleteNamedStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompileShaderIncludeARB = (GLEEPFNGLCOMPILESHADERINCLUDEARBPROC) __GLeeGetProcAddress("glCompileShaderIncludeARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsNamedStringARB = (GLEEPFNGLISNAMEDSTRINGARBPROC) __GLeeGetProcAddress("glIsNamedStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedStringARB = (GLEEPFNGLGETNAMEDSTRINGARBPROC) __GLeeGetProcAddress("glGetNamedStringARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedStringivARB = (GLEEPFNGLGETNAMEDSTRINGIVARBPROC) __GLeeGetProcAddress("glGetNamedStringivARB"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_compression_bptc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_blend_func_extended(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_blend_func_extended - if ((GLeeFuncPtr_glBindFragDataLocationIndexed = (GLEEPFNGLBINDFRAGDATALOCATIONINDEXEDPROC) __GLeeGetProcAddress("glBindFragDataLocationIndexed"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragDataIndex = (GLEEPFNGLGETFRAGDATAINDEXPROC) __GLeeGetProcAddress("glGetFragDataIndex"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_explicit_attrib_location(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_occlusion_query2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_sampler_objects(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_sampler_objects - if ((GLeeFuncPtr_glGenSamplers = (GLEEPFNGLGENSAMPLERSPROC) __GLeeGetProcAddress("glGenSamplers"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteSamplers = (GLEEPFNGLDELETESAMPLERSPROC) __GLeeGetProcAddress("glDeleteSamplers"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsSampler = (GLEEPFNGLISSAMPLERPROC) __GLeeGetProcAddress("glIsSampler"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindSampler = (GLEEPFNGLBINDSAMPLERPROC) __GLeeGetProcAddress("glBindSampler"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameteri = (GLEEPFNGLSAMPLERPARAMETERIPROC) __GLeeGetProcAddress("glSamplerParameteri"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameteriv = (GLEEPFNGLSAMPLERPARAMETERIVPROC) __GLeeGetProcAddress("glSamplerParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameterf = (GLEEPFNGLSAMPLERPARAMETERFPROC) __GLeeGetProcAddress("glSamplerParameterf"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameterfv = (GLEEPFNGLSAMPLERPARAMETERFVPROC) __GLeeGetProcAddress("glSamplerParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameterIiv = (GLEEPFNGLSAMPLERPARAMETERIIVPROC) __GLeeGetProcAddress("glSamplerParameterIiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplerParameterIuiv = (GLEEPFNGLSAMPLERPARAMETERIUIVPROC) __GLeeGetProcAddress("glSamplerParameterIuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSamplerParameteriv = (GLEEPFNGLGETSAMPLERPARAMETERIVPROC) __GLeeGetProcAddress("glGetSamplerParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSamplerParameterIiv = (GLEEPFNGLGETSAMPLERPARAMETERIIVPROC) __GLeeGetProcAddress("glGetSamplerParameterIiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSamplerParameterfv = (GLEEPFNGLGETSAMPLERPARAMETERFVPROC) __GLeeGetProcAddress("glGetSamplerParameterfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSamplerParameterIuiv = (GLEEPFNGLGETSAMPLERPARAMETERIUIVPROC) __GLeeGetProcAddress("glGetSamplerParameterIuiv"))!=0) nLinked++; -#endif - if (nLinked==14) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_bit_encoding(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_rgb10_a2ui(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_swizzle(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_timer_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_timer_query - if ((GLeeFuncPtr_glQueryCounter = (GLEEPFNGLQUERYCOUNTERPROC) __GLeeGetProcAddress("glQueryCounter"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjecti64v = (GLEEPFNGLGETQUERYOBJECTI64VPROC) __GLeeGetProcAddress("glGetQueryObjecti64v"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectui64v = (GLEEPFNGLGETQUERYOBJECTUI64VPROC) __GLeeGetProcAddress("glGetQueryObjectui64v"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_type_2_10_10_10_rev(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_type_2_10_10_10_rev - if ((GLeeFuncPtr_glVertexP2ui = (GLEEPFNGLVERTEXP2UIPROC) __GLeeGetProcAddress("glVertexP2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexP2uiv = (GLEEPFNGLVERTEXP2UIVPROC) __GLeeGetProcAddress("glVertexP2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexP3ui = (GLEEPFNGLVERTEXP3UIPROC) __GLeeGetProcAddress("glVertexP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexP3uiv = (GLEEPFNGLVERTEXP3UIVPROC) __GLeeGetProcAddress("glVertexP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexP4ui = (GLEEPFNGLVERTEXP4UIPROC) __GLeeGetProcAddress("glVertexP4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexP4uiv = (GLEEPFNGLVERTEXP4UIVPROC) __GLeeGetProcAddress("glVertexP4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP1ui = (GLEEPFNGLTEXCOORDP1UIPROC) __GLeeGetProcAddress("glTexCoordP1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP1uiv = (GLEEPFNGLTEXCOORDP1UIVPROC) __GLeeGetProcAddress("glTexCoordP1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP2ui = (GLEEPFNGLTEXCOORDP2UIPROC) __GLeeGetProcAddress("glTexCoordP2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP2uiv = (GLEEPFNGLTEXCOORDP2UIVPROC) __GLeeGetProcAddress("glTexCoordP2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP3ui = (GLEEPFNGLTEXCOORDP3UIPROC) __GLeeGetProcAddress("glTexCoordP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP3uiv = (GLEEPFNGLTEXCOORDP3UIVPROC) __GLeeGetProcAddress("glTexCoordP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP4ui = (GLEEPFNGLTEXCOORDP4UIPROC) __GLeeGetProcAddress("glTexCoordP4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordP4uiv = (GLEEPFNGLTEXCOORDP4UIVPROC) __GLeeGetProcAddress("glTexCoordP4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP1ui = (GLEEPFNGLMULTITEXCOORDP1UIPROC) __GLeeGetProcAddress("glMultiTexCoordP1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP1uiv = (GLEEPFNGLMULTITEXCOORDP1UIVPROC) __GLeeGetProcAddress("glMultiTexCoordP1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP2ui = (GLEEPFNGLMULTITEXCOORDP2UIPROC) __GLeeGetProcAddress("glMultiTexCoordP2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP2uiv = (GLEEPFNGLMULTITEXCOORDP2UIVPROC) __GLeeGetProcAddress("glMultiTexCoordP2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP3ui = (GLEEPFNGLMULTITEXCOORDP3UIPROC) __GLeeGetProcAddress("glMultiTexCoordP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP3uiv = (GLEEPFNGLMULTITEXCOORDP3UIVPROC) __GLeeGetProcAddress("glMultiTexCoordP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP4ui = (GLEEPFNGLMULTITEXCOORDP4UIPROC) __GLeeGetProcAddress("glMultiTexCoordP4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordP4uiv = (GLEEPFNGLMULTITEXCOORDP4UIVPROC) __GLeeGetProcAddress("glMultiTexCoordP4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalP3ui = (GLEEPFNGLNORMALP3UIPROC) __GLeeGetProcAddress("glNormalP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalP3uiv = (GLEEPFNGLNORMALP3UIVPROC) __GLeeGetProcAddress("glNormalP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorP3ui = (GLEEPFNGLCOLORP3UIPROC) __GLeeGetProcAddress("glColorP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorP3uiv = (GLEEPFNGLCOLORP3UIVPROC) __GLeeGetProcAddress("glColorP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorP4ui = (GLEEPFNGLCOLORP4UIPROC) __GLeeGetProcAddress("glColorP4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorP4uiv = (GLEEPFNGLCOLORP4UIVPROC) __GLeeGetProcAddress("glColorP4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorP3ui = (GLEEPFNGLSECONDARYCOLORP3UIPROC) __GLeeGetProcAddress("glSecondaryColorP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorP3uiv = (GLEEPFNGLSECONDARYCOLORP3UIVPROC) __GLeeGetProcAddress("glSecondaryColorP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP1ui = (GLEEPFNGLVERTEXATTRIBP1UIPROC) __GLeeGetProcAddress("glVertexAttribP1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP1uiv = (GLEEPFNGLVERTEXATTRIBP1UIVPROC) __GLeeGetProcAddress("glVertexAttribP1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP2ui = (GLEEPFNGLVERTEXATTRIBP2UIPROC) __GLeeGetProcAddress("glVertexAttribP2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP2uiv = (GLEEPFNGLVERTEXATTRIBP2UIVPROC) __GLeeGetProcAddress("glVertexAttribP2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP3ui = (GLEEPFNGLVERTEXATTRIBP3UIPROC) __GLeeGetProcAddress("glVertexAttribP3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP3uiv = (GLEEPFNGLVERTEXATTRIBP3UIVPROC) __GLeeGetProcAddress("glVertexAttribP3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP4ui = (GLEEPFNGLVERTEXATTRIBP4UIPROC) __GLeeGetProcAddress("glVertexAttribP4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribP4uiv = (GLEEPFNGLVERTEXATTRIBP4UIVPROC) __GLeeGetProcAddress("glVertexAttribP4uiv"))!=0) nLinked++; -#endif - if (nLinked==38) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_draw_indirect(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_draw_indirect - if ((GLeeFuncPtr_glDrawArraysIndirect = (GLEEPFNGLDRAWARRAYSINDIRECTPROC) __GLeeGetProcAddress("glDrawArraysIndirect"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsIndirect = (GLEEPFNGLDRAWELEMENTSINDIRECTPROC) __GLeeGetProcAddress("glDrawElementsIndirect"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_gpu_shader5(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_gpu_shader_fp64(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_gpu_shader_fp64 - if ((GLeeFuncPtr_glUniform1d = (GLEEPFNGLUNIFORM1DPROC) __GLeeGetProcAddress("glUniform1d"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2d = (GLEEPFNGLUNIFORM2DPROC) __GLeeGetProcAddress("glUniform2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3d = (GLEEPFNGLUNIFORM3DPROC) __GLeeGetProcAddress("glUniform3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4d = (GLEEPFNGLUNIFORM4DPROC) __GLeeGetProcAddress("glUniform4d"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1dv = (GLEEPFNGLUNIFORM1DVPROC) __GLeeGetProcAddress("glUniform1dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2dv = (GLEEPFNGLUNIFORM2DVPROC) __GLeeGetProcAddress("glUniform2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3dv = (GLEEPFNGLUNIFORM3DVPROC) __GLeeGetProcAddress("glUniform3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4dv = (GLEEPFNGLUNIFORM4DVPROC) __GLeeGetProcAddress("glUniform4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2dv = (GLEEPFNGLUNIFORMMATRIX2DVPROC) __GLeeGetProcAddress("glUniformMatrix2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3dv = (GLEEPFNGLUNIFORMMATRIX3DVPROC) __GLeeGetProcAddress("glUniformMatrix3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4dv = (GLEEPFNGLUNIFORMMATRIX4DVPROC) __GLeeGetProcAddress("glUniformMatrix4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2x3dv = (GLEEPFNGLUNIFORMMATRIX2X3DVPROC) __GLeeGetProcAddress("glUniformMatrix2x3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix2x4dv = (GLEEPFNGLUNIFORMMATRIX2X4DVPROC) __GLeeGetProcAddress("glUniformMatrix2x4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3x2dv = (GLEEPFNGLUNIFORMMATRIX3X2DVPROC) __GLeeGetProcAddress("glUniformMatrix3x2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix3x4dv = (GLEEPFNGLUNIFORMMATRIX3X4DVPROC) __GLeeGetProcAddress("glUniformMatrix3x4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4x2dv = (GLEEPFNGLUNIFORMMATRIX4X2DVPROC) __GLeeGetProcAddress("glUniformMatrix4x2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformMatrix4x3dv = (GLEEPFNGLUNIFORMMATRIX4X3DVPROC) __GLeeGetProcAddress("glUniformMatrix4x3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformdv = (GLEEPFNGLGETUNIFORMDVPROC) __GLeeGetProcAddress("glGetUniformdv"))!=0) nLinked++; -#endif - if (nLinked==18) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_subroutine(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shader_subroutine - if ((GLeeFuncPtr_glGetSubroutineUniformLocation = (GLEEPFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) __GLeeGetProcAddress("glGetSubroutineUniformLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSubroutineIndex = (GLEEPFNGLGETSUBROUTINEINDEXPROC) __GLeeGetProcAddress("glGetSubroutineIndex"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveSubroutineUniformiv = (GLEEPFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) __GLeeGetProcAddress("glGetActiveSubroutineUniformiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveSubroutineUniformName = (GLEEPFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) __GLeeGetProcAddress("glGetActiveSubroutineUniformName"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveSubroutineName = (GLEEPFNGLGETACTIVESUBROUTINENAMEPROC) __GLeeGetProcAddress("glGetActiveSubroutineName"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformSubroutinesuiv = (GLEEPFNGLUNIFORMSUBROUTINESUIVPROC) __GLeeGetProcAddress("glUniformSubroutinesuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformSubroutineuiv = (GLEEPFNGLGETUNIFORMSUBROUTINEUIVPROC) __GLeeGetProcAddress("glGetUniformSubroutineuiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramStageiv = (GLEEPFNGLGETPROGRAMSTAGEIVPROC) __GLeeGetProcAddress("glGetProgramStageiv"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_tessellation_shader(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_tessellation_shader - if ((GLeeFuncPtr_glPatchParameteri = (GLEEPFNGLPATCHPARAMETERIPROC) __GLeeGetProcAddress("glPatchParameteri"))!=0) nLinked++; - if ((GLeeFuncPtr_glPatchParameterfv = (GLEEPFNGLPATCHPARAMETERFVPROC) __GLeeGetProcAddress("glPatchParameterfv"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_buffer_object_rgb32(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_transform_feedback2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_transform_feedback2 - if ((GLeeFuncPtr_glBindTransformFeedback = (GLEEPFNGLBINDTRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glBindTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteTransformFeedbacks = (GLEEPFNGLDELETETRANSFORMFEEDBACKSPROC) __GLeeGetProcAddress("glDeleteTransformFeedbacks"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenTransformFeedbacks = (GLEEPFNGLGENTRANSFORMFEEDBACKSPROC) __GLeeGetProcAddress("glGenTransformFeedbacks"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsTransformFeedback = (GLEEPFNGLISTRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glIsTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glPauseTransformFeedback = (GLEEPFNGLPAUSETRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glPauseTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glResumeTransformFeedback = (GLEEPFNGLRESUMETRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glResumeTransformFeedback"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawTransformFeedback = (GLEEPFNGLDRAWTRANSFORMFEEDBACKPROC) __GLeeGetProcAddress("glDrawTransformFeedback"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_transform_feedback3(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_transform_feedback3 - if ((GLeeFuncPtr_glDrawTransformFeedbackStream = (GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) __GLeeGetProcAddress("glDrawTransformFeedbackStream"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginQueryIndexed = (GLEEPFNGLBEGINQUERYINDEXEDPROC) __GLeeGetProcAddress("glBeginQueryIndexed"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndQueryIndexed = (GLEEPFNGLENDQUERYINDEXEDPROC) __GLeeGetProcAddress("glEndQueryIndexed"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryIndexediv = (GLEEPFNGLGETQUERYINDEXEDIVPROC) __GLeeGetProcAddress("glGetQueryIndexediv"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_ES2_compatibility(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_ES2_compatibility - if ((GLeeFuncPtr_glReleaseShaderCompiler = (GLEEPFNGLRELEASESHADERCOMPILERPROC) __GLeeGetProcAddress("glReleaseShaderCompiler"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderBinary = (GLEEPFNGLSHADERBINARYPROC) __GLeeGetProcAddress("glShaderBinary"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetShaderPrecisionFormat = (GLEEPFNGLGETSHADERPRECISIONFORMATPROC) __GLeeGetProcAddress("glGetShaderPrecisionFormat"))!=0) nLinked++; - if ((GLeeFuncPtr_glDepthRangef = (GLEEPFNGLDEPTHRANGEFPROC) __GLeeGetProcAddress("glDepthRangef"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearDepthf = (GLEEPFNGLCLEARDEPTHFPROC) __GLeeGetProcAddress("glClearDepthf"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_get_program_binary(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_get_program_binary - if ((GLeeFuncPtr_glGetProgramBinary = (GLEEPFNGLGETPROGRAMBINARYPROC) __GLeeGetProcAddress("glGetProgramBinary"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramBinary = (GLEEPFNGLPROGRAMBINARYPROC) __GLeeGetProcAddress("glProgramBinary"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameteri = (GLEEPFNGLPROGRAMPARAMETERIPROC) __GLeeGetProcAddress("glProgramParameteri"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_separate_shader_objects(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_separate_shader_objects - if ((GLeeFuncPtr_glUseProgramStages = (GLEEPFNGLUSEPROGRAMSTAGESPROC) __GLeeGetProcAddress("glUseProgramStages"))!=0) nLinked++; - if ((GLeeFuncPtr_glActiveShaderProgram = (GLEEPFNGLACTIVESHADERPROGRAMPROC) __GLeeGetProcAddress("glActiveShaderProgram"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateShaderProgramv = (GLEEPFNGLCREATESHADERPROGRAMVPROC) __GLeeGetProcAddress("glCreateShaderProgramv"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindProgramPipeline = (GLEEPFNGLBINDPROGRAMPIPELINEPROC) __GLeeGetProcAddress("glBindProgramPipeline"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteProgramPipelines = (GLEEPFNGLDELETEPROGRAMPIPELINESPROC) __GLeeGetProcAddress("glDeleteProgramPipelines"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenProgramPipelines = (GLEEPFNGLGENPROGRAMPIPELINESPROC) __GLeeGetProcAddress("glGenProgramPipelines"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsProgramPipeline = (GLEEPFNGLISPROGRAMPIPELINEPROC) __GLeeGetProcAddress("glIsProgramPipeline"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramPipelineiv = (GLEEPFNGLGETPROGRAMPIPELINEIVPROC) __GLeeGetProcAddress("glGetProgramPipelineiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1i = (GLEEPFNGLPROGRAMUNIFORM1IPROC) __GLeeGetProcAddress("glProgramUniform1i"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1iv = (GLEEPFNGLPROGRAMUNIFORM1IVPROC) __GLeeGetProcAddress("glProgramUniform1iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1f = (GLEEPFNGLPROGRAMUNIFORM1FPROC) __GLeeGetProcAddress("glProgramUniform1f"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1fv = (GLEEPFNGLPROGRAMUNIFORM1FVPROC) __GLeeGetProcAddress("glProgramUniform1fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1d = (GLEEPFNGLPROGRAMUNIFORM1DPROC) __GLeeGetProcAddress("glProgramUniform1d"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1dv = (GLEEPFNGLPROGRAMUNIFORM1DVPROC) __GLeeGetProcAddress("glProgramUniform1dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1ui = (GLEEPFNGLPROGRAMUNIFORM1UIPROC) __GLeeGetProcAddress("glProgramUniform1ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1uiv = (GLEEPFNGLPROGRAMUNIFORM1UIVPROC) __GLeeGetProcAddress("glProgramUniform1uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2i = (GLEEPFNGLPROGRAMUNIFORM2IPROC) __GLeeGetProcAddress("glProgramUniform2i"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2iv = (GLEEPFNGLPROGRAMUNIFORM2IVPROC) __GLeeGetProcAddress("glProgramUniform2iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2f = (GLEEPFNGLPROGRAMUNIFORM2FPROC) __GLeeGetProcAddress("glProgramUniform2f"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2fv = (GLEEPFNGLPROGRAMUNIFORM2FVPROC) __GLeeGetProcAddress("glProgramUniform2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2d = (GLEEPFNGLPROGRAMUNIFORM2DPROC) __GLeeGetProcAddress("glProgramUniform2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2dv = (GLEEPFNGLPROGRAMUNIFORM2DVPROC) __GLeeGetProcAddress("glProgramUniform2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2ui = (GLEEPFNGLPROGRAMUNIFORM2UIPROC) __GLeeGetProcAddress("glProgramUniform2ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2uiv = (GLEEPFNGLPROGRAMUNIFORM2UIVPROC) __GLeeGetProcAddress("glProgramUniform2uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3i = (GLEEPFNGLPROGRAMUNIFORM3IPROC) __GLeeGetProcAddress("glProgramUniform3i"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3iv = (GLEEPFNGLPROGRAMUNIFORM3IVPROC) __GLeeGetProcAddress("glProgramUniform3iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3f = (GLEEPFNGLPROGRAMUNIFORM3FPROC) __GLeeGetProcAddress("glProgramUniform3f"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3fv = (GLEEPFNGLPROGRAMUNIFORM3FVPROC) __GLeeGetProcAddress("glProgramUniform3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3d = (GLEEPFNGLPROGRAMUNIFORM3DPROC) __GLeeGetProcAddress("glProgramUniform3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3dv = (GLEEPFNGLPROGRAMUNIFORM3DVPROC) __GLeeGetProcAddress("glProgramUniform3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3ui = (GLEEPFNGLPROGRAMUNIFORM3UIPROC) __GLeeGetProcAddress("glProgramUniform3ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3uiv = (GLEEPFNGLPROGRAMUNIFORM3UIVPROC) __GLeeGetProcAddress("glProgramUniform3uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4i = (GLEEPFNGLPROGRAMUNIFORM4IPROC) __GLeeGetProcAddress("glProgramUniform4i"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4iv = (GLEEPFNGLPROGRAMUNIFORM4IVPROC) __GLeeGetProcAddress("glProgramUniform4iv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4f = (GLEEPFNGLPROGRAMUNIFORM4FPROC) __GLeeGetProcAddress("glProgramUniform4f"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4fv = (GLEEPFNGLPROGRAMUNIFORM4FVPROC) __GLeeGetProcAddress("glProgramUniform4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4d = (GLEEPFNGLPROGRAMUNIFORM4DPROC) __GLeeGetProcAddress("glProgramUniform4d"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4dv = (GLEEPFNGLPROGRAMUNIFORM4DVPROC) __GLeeGetProcAddress("glProgramUniform4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4ui = (GLEEPFNGLPROGRAMUNIFORM4UIPROC) __GLeeGetProcAddress("glProgramUniform4ui"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4uiv = (GLEEPFNGLPROGRAMUNIFORM4UIVPROC) __GLeeGetProcAddress("glProgramUniform4uiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x3fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x2fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x4fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x2fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x2fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x4fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x4fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x3fv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x3fv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x3dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x2dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x4dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x2dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x4dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x3dv = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glValidateProgramPipeline = (GLEEPFNGLVALIDATEPROGRAMPIPELINEPROC) __GLeeGetProcAddress("glValidateProgramPipeline"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramPipelineInfoLog = (GLEEPFNGLGETPROGRAMPIPELINEINFOLOGPROC) __GLeeGetProcAddress("glGetProgramPipelineInfoLog"))!=0) nLinked++; -#endif - if (nLinked==60) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_precision(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_vertex_attrib_64bit(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_attrib_64bit - if ((GLeeFuncPtr_glVertexAttribL1d = (GLEEPFNGLVERTEXATTRIBL1DPROC) __GLeeGetProcAddress("glVertexAttribL1d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2d = (GLEEPFNGLVERTEXATTRIBL2DPROC) __GLeeGetProcAddress("glVertexAttribL2d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3d = (GLEEPFNGLVERTEXATTRIBL3DPROC) __GLeeGetProcAddress("glVertexAttribL3d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4d = (GLEEPFNGLVERTEXATTRIBL4DPROC) __GLeeGetProcAddress("glVertexAttribL4d"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL1dv = (GLEEPFNGLVERTEXATTRIBL1DVPROC) __GLeeGetProcAddress("glVertexAttribL1dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2dv = (GLEEPFNGLVERTEXATTRIBL2DVPROC) __GLeeGetProcAddress("glVertexAttribL2dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3dv = (GLEEPFNGLVERTEXATTRIBL3DVPROC) __GLeeGetProcAddress("glVertexAttribL3dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4dv = (GLEEPFNGLVERTEXATTRIBL4DVPROC) __GLeeGetProcAddress("glVertexAttribL4dv"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribLPointer = (GLEEPFNGLVERTEXATTRIBLPOINTERPROC) __GLeeGetProcAddress("glVertexAttribLPointer"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribLdv = (GLEEPFNGLGETVERTEXATTRIBLDVPROC) __GLeeGetProcAddress("glGetVertexAttribLdv"))!=0) nLinked++; -#endif - if (nLinked==10) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_viewport_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_viewport_array - if ((GLeeFuncPtr_glViewportArrayv = (GLEEPFNGLVIEWPORTARRAYVPROC) __GLeeGetProcAddress("glViewportArrayv"))!=0) nLinked++; - if ((GLeeFuncPtr_glViewportIndexedf = (GLEEPFNGLVIEWPORTINDEXEDFPROC) __GLeeGetProcAddress("glViewportIndexedf"))!=0) nLinked++; - if ((GLeeFuncPtr_glViewportIndexedfv = (GLEEPFNGLVIEWPORTINDEXEDFVPROC) __GLeeGetProcAddress("glViewportIndexedfv"))!=0) nLinked++; - if ((GLeeFuncPtr_glScissorArrayv = (GLEEPFNGLSCISSORARRAYVPROC) __GLeeGetProcAddress("glScissorArrayv"))!=0) nLinked++; - if ((GLeeFuncPtr_glScissorIndexed = (GLEEPFNGLSCISSORINDEXEDPROC) __GLeeGetProcAddress("glScissorIndexed"))!=0) nLinked++; - if ((GLeeFuncPtr_glScissorIndexedv = (GLEEPFNGLSCISSORINDEXEDVPROC) __GLeeGetProcAddress("glScissorIndexedv"))!=0) nLinked++; - if ((GLeeFuncPtr_glDepthRangeArrayv = (GLEEPFNGLDEPTHRANGEARRAYVPROC) __GLeeGetProcAddress("glDepthRangeArrayv"))!=0) nLinked++; - if ((GLeeFuncPtr_glDepthRangeIndexed = (GLEEPFNGLDEPTHRANGEINDEXEDPROC) __GLeeGetProcAddress("glDepthRangeIndexed"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFloati_v = (GLEEPFNGLGETFLOATI_VPROC) __GLeeGetProcAddress("glGetFloati_v"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDoublei_v = (GLEEPFNGLGETDOUBLEI_VPROC) __GLeeGetProcAddress("glGetDoublei_v"))!=0) nLinked++; -#endif - if (nLinked==10) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_cl_event(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_cl_event - if ((GLeeFuncPtr_glCreateSyncFromCLeventARB = (GLEEPFNGLCREATESYNCFROMCLEVENTARBPROC) __GLeeGetProcAddress("glCreateSyncFromCLeventARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_debug_output(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_debug_output - if ((GLeeFuncPtr_glDebugMessageControlARB = (GLEEPFNGLDEBUGMESSAGECONTROLARBPROC) __GLeeGetProcAddress("glDebugMessageControlARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageInsertARB = (GLEEPFNGLDEBUGMESSAGEINSERTARBPROC) __GLeeGetProcAddress("glDebugMessageInsertARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageCallbackARB = (GLEEPFNGLDEBUGMESSAGECALLBACKARBPROC) __GLeeGetProcAddress("glDebugMessageCallbackARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDebugMessageLogARB = (GLEEPFNGLGETDEBUGMESSAGELOGARBPROC) __GLeeGetProcAddress("glGetDebugMessageLogARB"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_robustness(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_robustness - if ((GLeeFuncPtr_glGetGraphicsResetStatusARB = (GLEEPFNGLGETGRAPHICSRESETSTATUSARBPROC) __GLeeGetProcAddress("glGetGraphicsResetStatusARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnMapdvARB = (GLEEPFNGLGETNMAPDVARBPROC) __GLeeGetProcAddress("glGetnMapdvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnMapfvARB = (GLEEPFNGLGETNMAPFVARBPROC) __GLeeGetProcAddress("glGetnMapfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnMapivARB = (GLEEPFNGLGETNMAPIVARBPROC) __GLeeGetProcAddress("glGetnMapivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnPixelMapfvARB = (GLEEPFNGLGETNPIXELMAPFVARBPROC) __GLeeGetProcAddress("glGetnPixelMapfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnPixelMapuivARB = (GLEEPFNGLGETNPIXELMAPUIVARBPROC) __GLeeGetProcAddress("glGetnPixelMapuivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnPixelMapusvARB = (GLEEPFNGLGETNPIXELMAPUSVARBPROC) __GLeeGetProcAddress("glGetnPixelMapusvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnPolygonStippleARB = (GLEEPFNGLGETNPOLYGONSTIPPLEARBPROC) __GLeeGetProcAddress("glGetnPolygonStippleARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnColorTableARB = (GLEEPFNGLGETNCOLORTABLEARBPROC) __GLeeGetProcAddress("glGetnColorTableARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnConvolutionFilterARB = (GLEEPFNGLGETNCONVOLUTIONFILTERARBPROC) __GLeeGetProcAddress("glGetnConvolutionFilterARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnSeparableFilterARB = (GLEEPFNGLGETNSEPARABLEFILTERARBPROC) __GLeeGetProcAddress("glGetnSeparableFilterARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnHistogramARB = (GLEEPFNGLGETNHISTOGRAMARBPROC) __GLeeGetProcAddress("glGetnHistogramARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnMinmaxARB = (GLEEPFNGLGETNMINMAXARBPROC) __GLeeGetProcAddress("glGetnMinmaxARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnTexImageARB = (GLEEPFNGLGETNTEXIMAGEARBPROC) __GLeeGetProcAddress("glGetnTexImageARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glReadnPixelsARB = (GLEEPFNGLREADNPIXELSARBPROC) __GLeeGetProcAddress("glReadnPixelsARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnCompressedTexImageARB = (GLEEPFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) __GLeeGetProcAddress("glGetnCompressedTexImageARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnUniformfvARB = (GLEEPFNGLGETNUNIFORMFVARBPROC) __GLeeGetProcAddress("glGetnUniformfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnUniformivARB = (GLEEPFNGLGETNUNIFORMIVARBPROC) __GLeeGetProcAddress("glGetnUniformivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnUniformuivARB = (GLEEPFNGLGETNUNIFORMUIVARBPROC) __GLeeGetProcAddress("glGetnUniformuivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetnUniformdvARB = (GLEEPFNGLGETNUNIFORMDVARBPROC) __GLeeGetProcAddress("glGetnUniformdvARB"))!=0) nLinked++; -#endif - if (nLinked==20) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_stencil_export(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_base_instance(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_base_instance - if ((GLeeFuncPtr_glDrawArraysInstancedBaseInstance = (GLEEPFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) __GLeeGetProcAddress("glDrawArraysInstancedBaseInstance"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstancedBaseInstance = (GLEEPFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) __GLeeGetProcAddress("glDrawElementsInstancedBaseInstance"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstancedBaseVertexBaseInstance = (GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) __GLeeGetProcAddress("glDrawElementsInstancedBaseVertexBaseInstance"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shading_language_420pack(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_transform_feedback_instanced(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_transform_feedback_instanced - if ((GLeeFuncPtr_glDrawTransformFeedbackInstanced = (GLEEPFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) __GLeeGetProcAddress("glDrawTransformFeedbackInstanced"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawTransformFeedbackStreamInstanced = (GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) __GLeeGetProcAddress("glDrawTransformFeedbackStreamInstanced"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_compressed_texture_pixel_storage(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_conservative_depth(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_internalformat_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_internalformat_query - if ((GLeeFuncPtr_glGetInternalformativ = (GLEEPFNGLGETINTERNALFORMATIVPROC) __GLeeGetProcAddress("glGetInternalformativ"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_map_buffer_alignment(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shader_atomic_counters(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shader_atomic_counters - if ((GLeeFuncPtr_glGetActiveAtomicCounterBufferiv = (GLEEPFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) __GLeeGetProcAddress("glGetActiveAtomicCounterBufferiv"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shader_image_load_store(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shader_image_load_store - if ((GLeeFuncPtr_glBindImageTexture = (GLEEPFNGLBINDIMAGETEXTUREPROC) __GLeeGetProcAddress("glBindImageTexture"))!=0) nLinked++; - if ((GLeeFuncPtr_glMemoryBarrier = (GLEEPFNGLMEMORYBARRIERPROC) __GLeeGetProcAddress("glMemoryBarrier"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_shading_language_packing(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_storage(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_storage - if ((GLeeFuncPtr_glTexStorage1D = (GLEEPFNGLTEXSTORAGE1DPROC) __GLeeGetProcAddress("glTexStorage1D"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexStorage2D = (GLEEPFNGLTEXSTORAGE2DPROC) __GLeeGetProcAddress("glTexStorage2D"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexStorage3D = (GLEEPFNGLTEXSTORAGE3DPROC) __GLeeGetProcAddress("glTexStorage3D"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorage1DEXT = (GLEEPFNGLTEXTURESTORAGE1DEXTPROC) __GLeeGetProcAddress("glTextureStorage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorage2DEXT = (GLEEPFNGLTEXTURESTORAGE2DEXTPROC) __GLeeGetProcAddress("glTextureStorage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorage3DEXT = (GLEEPFNGLTEXTURESTORAGE3DEXTPROC) __GLeeGetProcAddress("glTextureStorage3DEXT"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_KHR_texture_compression_astc_ldr(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_KHR_debug(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_KHR_debug - if ((GLeeFuncPtr_glDebugMessageControl = (GLEEPFNGLDEBUGMESSAGECONTROLPROC) __GLeeGetProcAddress("glDebugMessageControl"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageInsert = (GLEEPFNGLDEBUGMESSAGEINSERTPROC) __GLeeGetProcAddress("glDebugMessageInsert"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageCallback = (GLEEPFNGLDEBUGMESSAGECALLBACKPROC) __GLeeGetProcAddress("glDebugMessageCallback"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDebugMessageLog = (GLEEPFNGLGETDEBUGMESSAGELOGPROC) __GLeeGetProcAddress("glGetDebugMessageLog"))!=0) nLinked++; - if ((GLeeFuncPtr_glPushDebugGroup = (GLEEPFNGLPUSHDEBUGGROUPPROC) __GLeeGetProcAddress("glPushDebugGroup"))!=0) nLinked++; - if ((GLeeFuncPtr_glPopDebugGroup = (GLEEPFNGLPOPDEBUGGROUPPROC) __GLeeGetProcAddress("glPopDebugGroup"))!=0) nLinked++; - if ((GLeeFuncPtr_glObjectLabel = (GLEEPFNGLOBJECTLABELPROC) __GLeeGetProcAddress("glObjectLabel"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectLabel = (GLEEPFNGLGETOBJECTLABELPROC) __GLeeGetProcAddress("glGetObjectLabel"))!=0) nLinked++; - if ((GLeeFuncPtr_glObjectPtrLabel = (GLEEPFNGLOBJECTPTRLABELPROC) __GLeeGetProcAddress("glObjectPtrLabel"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectPtrLabel = (GLEEPFNGLGETOBJECTPTRLABELPROC) __GLeeGetProcAddress("glGetObjectPtrLabel"))!=0) nLinked++; -#endif - if (nLinked==10) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_arrays_of_arrays(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_clear_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_clear_buffer_object - if ((GLeeFuncPtr_glClearBufferData = (GLEEPFNGLCLEARBUFFERDATAPROC) __GLeeGetProcAddress("glClearBufferData"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearBufferSubData = (GLEEPFNGLCLEARBUFFERSUBDATAPROC) __GLeeGetProcAddress("glClearBufferSubData"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearNamedBufferDataEXT = (GLEEPFNGLCLEARNAMEDBUFFERDATAEXTPROC) __GLeeGetProcAddress("glClearNamedBufferDataEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearNamedBufferSubDataEXT = (GLEEPFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) __GLeeGetProcAddress("glClearNamedBufferSubDataEXT"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_compute_shader(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_compute_shader - if ((GLeeFuncPtr_glDispatchCompute = (GLEEPFNGLDISPATCHCOMPUTEPROC) __GLeeGetProcAddress("glDispatchCompute"))!=0) nLinked++; - if ((GLeeFuncPtr_glDispatchComputeIndirect = (GLEEPFNGLDISPATCHCOMPUTEINDIRECTPROC) __GLeeGetProcAddress("glDispatchComputeIndirect"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_copy_image(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_copy_image - if ((GLeeFuncPtr_glCopyImageSubData = (GLEEPFNGLCOPYIMAGESUBDATAPROC) __GLeeGetProcAddress("glCopyImageSubData"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_view(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_view - if ((GLeeFuncPtr_glTextureView = (GLEEPFNGLTEXTUREVIEWPROC) __GLeeGetProcAddress("glTextureView"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_vertex_attrib_binding(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_vertex_attrib_binding - if ((GLeeFuncPtr_glBindVertexBuffer = (GLEEPFNGLBINDVERTEXBUFFERPROC) __GLeeGetProcAddress("glBindVertexBuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribFormat = (GLEEPFNGLVERTEXATTRIBFORMATPROC) __GLeeGetProcAddress("glVertexAttribFormat"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribIFormat = (GLEEPFNGLVERTEXATTRIBIFORMATPROC) __GLeeGetProcAddress("glVertexAttribIFormat"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribLFormat = (GLEEPFNGLVERTEXATTRIBLFORMATPROC) __GLeeGetProcAddress("glVertexAttribLFormat"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribBinding = (GLEEPFNGLVERTEXATTRIBBINDINGPROC) __GLeeGetProcAddress("glVertexAttribBinding"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexBindingDivisor = (GLEEPFNGLVERTEXBINDINGDIVISORPROC) __GLeeGetProcAddress("glVertexBindingDivisor"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayBindVertexBufferEXT = (GLEEPFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) __GLeeGetProcAddress("glVertexArrayBindVertexBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexAttribFormatEXT = (GLEEPFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) __GLeeGetProcAddress("glVertexArrayVertexAttribFormatEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexAttribIFormatEXT = (GLEEPFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) __GLeeGetProcAddress("glVertexArrayVertexAttribIFormatEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexAttribLFormatEXT = (GLEEPFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) __GLeeGetProcAddress("glVertexArrayVertexAttribLFormatEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexAttribBindingEXT = (GLEEPFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) __GLeeGetProcAddress("glVertexArrayVertexAttribBindingEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexBindingDivisorEXT = (GLEEPFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) __GLeeGetProcAddress("glVertexArrayVertexBindingDivisorEXT"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_robustness_isolation(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_ES3_compatibility(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_explicit_uniform_location(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_fragment_layer_viewport(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_framebuffer_no_attachments(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_framebuffer_no_attachments - if ((GLeeFuncPtr_glFramebufferParameteri = (GLEEPFNGLFRAMEBUFFERPARAMETERIPROC) __GLeeGetProcAddress("glFramebufferParameteri"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFramebufferParameteriv = (GLEEPFNGLGETFRAMEBUFFERPARAMETERIVPROC) __GLeeGetProcAddress("glGetFramebufferParameteriv"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferParameteriEXT = (GLEEPFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) __GLeeGetProcAddress("glNamedFramebufferParameteriEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedFramebufferParameterivEXT = (GLEEPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetNamedFramebufferParameterivEXT"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_internalformat_query2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_internalformat_query2 - if ((GLeeFuncPtr_glGetInternalformati64v = (GLEEPFNGLGETINTERNALFORMATI64VPROC) __GLeeGetProcAddress("glGetInternalformati64v"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_invalidate_subdata(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_invalidate_subdata - if ((GLeeFuncPtr_glInvalidateTexSubImage = (GLEEPFNGLINVALIDATETEXSUBIMAGEPROC) __GLeeGetProcAddress("glInvalidateTexSubImage"))!=0) nLinked++; - if ((GLeeFuncPtr_glInvalidateTexImage = (GLEEPFNGLINVALIDATETEXIMAGEPROC) __GLeeGetProcAddress("glInvalidateTexImage"))!=0) nLinked++; - if ((GLeeFuncPtr_glInvalidateBufferSubData = (GLEEPFNGLINVALIDATEBUFFERSUBDATAPROC) __GLeeGetProcAddress("glInvalidateBufferSubData"))!=0) nLinked++; - if ((GLeeFuncPtr_glInvalidateBufferData = (GLEEPFNGLINVALIDATEBUFFERDATAPROC) __GLeeGetProcAddress("glInvalidateBufferData"))!=0) nLinked++; - if ((GLeeFuncPtr_glInvalidateFramebuffer = (GLEEPFNGLINVALIDATEFRAMEBUFFERPROC) __GLeeGetProcAddress("glInvalidateFramebuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glInvalidateSubFramebuffer = (GLEEPFNGLINVALIDATESUBFRAMEBUFFERPROC) __GLeeGetProcAddress("glInvalidateSubFramebuffer"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_multi_draw_indirect(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_multi_draw_indirect - if ((GLeeFuncPtr_glMultiDrawArraysIndirect = (GLEEPFNGLMULTIDRAWARRAYSINDIRECTPROC) __GLeeGetProcAddress("glMultiDrawArraysIndirect"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElementsIndirect = (GLEEPFNGLMULTIDRAWELEMENTSINDIRECTPROC) __GLeeGetProcAddress("glMultiDrawElementsIndirect"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_program_interface_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_program_interface_query - if ((GLeeFuncPtr_glGetProgramInterfaceiv = (GLEEPFNGLGETPROGRAMINTERFACEIVPROC) __GLeeGetProcAddress("glGetProgramInterfaceiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramResourceIndex = (GLEEPFNGLGETPROGRAMRESOURCEINDEXPROC) __GLeeGetProcAddress("glGetProgramResourceIndex"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramResourceName = (GLEEPFNGLGETPROGRAMRESOURCENAMEPROC) __GLeeGetProcAddress("glGetProgramResourceName"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramResourceiv = (GLEEPFNGLGETPROGRAMRESOURCEIVPROC) __GLeeGetProcAddress("glGetProgramResourceiv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramResourceLocation = (GLEEPFNGLGETPROGRAMRESOURCELOCATIONPROC) __GLeeGetProcAddress("glGetProgramResourceLocation"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramResourceLocationIndex = (GLEEPFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) __GLeeGetProcAddress("glGetProgramResourceLocationIndex"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_robust_buffer_access_behavior(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shader_image_size(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_shader_storage_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_shader_storage_buffer_object - if ((GLeeFuncPtr_glShaderStorageBlockBinding = (GLEEPFNGLSHADERSTORAGEBLOCKBINDINGPROC) __GLeeGetProcAddress("glShaderStorageBlockBinding"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_stencil_texturing(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_buffer_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_buffer_range - if ((GLeeFuncPtr_glTexBufferRange = (GLEEPFNGLTEXBUFFERRANGEPROC) __GLeeGetProcAddress("glTexBufferRange"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureBufferRangeEXT = (GLEEPFNGLTEXTUREBUFFERRANGEEXTPROC) __GLeeGetProcAddress("glTextureBufferRangeEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ARB_texture_query_levels(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ARB_texture_storage_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ARB_texture_storage_multisample - if ((GLeeFuncPtr_glTexStorage2DMultisample = (GLEEPFNGLTEXSTORAGE2DMULTISAMPLEPROC) __GLeeGetProcAddress("glTexStorage2DMultisample"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexStorage3DMultisample = (GLEEPFNGLTEXSTORAGE3DMULTISAMPLEPROC) __GLeeGetProcAddress("glTexStorage3DMultisample"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorage2DMultisampleEXT = (GLEEPFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) __GLeeGetProcAddress("glTextureStorage2DMultisampleEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorage3DMultisampleEXT = (GLEEPFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) __GLeeGetProcAddress("glTextureStorage3DMultisampleEXT"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_abgr(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_blend_color(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_blend_color - if ((GLeeFuncPtr_glBlendColorEXT = (GLEEPFNGLBLENDCOLOREXTPROC) __GLeeGetProcAddress("glBlendColorEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_polygon_offset(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_polygon_offset - if ((GLeeFuncPtr_glPolygonOffsetEXT = (GLEEPFNGLPOLYGONOFFSETEXTPROC) __GLeeGetProcAddress("glPolygonOffsetEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture3D(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_texture3D - if ((GLeeFuncPtr_glTexImage3DEXT = (GLEEPFNGLTEXIMAGE3DEXTPROC) __GLeeGetProcAddress("glTexImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexSubImage3DEXT = (GLEEPFNGLTEXSUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glTexSubImage3DEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_texture_filter4(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_texture_filter4 - if ((GLeeFuncPtr_glGetTexFilterFuncSGIS = (GLEEPFNGLGETTEXFILTERFUNCSGISPROC) __GLeeGetProcAddress("glGetTexFilterFuncSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexFilterFuncSGIS = (GLEEPFNGLTEXFILTERFUNCSGISPROC) __GLeeGetProcAddress("glTexFilterFuncSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_subtexture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_subtexture - if ((GLeeFuncPtr_glTexSubImage1DEXT = (GLEEPFNGLTEXSUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glTexSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexSubImage2DEXT = (GLEEPFNGLTEXSUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glTexSubImage2DEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_copy_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_copy_texture - if ((GLeeFuncPtr_glCopyTexImage1DEXT = (GLEEPFNGLCOPYTEXIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyTexImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTexImage2DEXT = (GLEEPFNGLCOPYTEXIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyTexImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTexSubImage1DEXT = (GLEEPFNGLCOPYTEXSUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyTexSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTexSubImage2DEXT = (GLEEPFNGLCOPYTEXSUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyTexSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTexSubImage3DEXT = (GLEEPFNGLCOPYTEXSUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glCopyTexSubImage3DEXT"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_histogram(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_histogram - if ((GLeeFuncPtr_glGetHistogramEXT = (GLEEPFNGLGETHISTOGRAMEXTPROC) __GLeeGetProcAddress("glGetHistogramEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogramParameterfvEXT = (GLEEPFNGLGETHISTOGRAMPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetHistogramParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogramParameterivEXT = (GLEEPFNGLGETHISTOGRAMPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetHistogramParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmaxEXT = (GLEEPFNGLGETMINMAXEXTPROC) __GLeeGetProcAddress("glGetMinmaxEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmaxParameterfvEXT = (GLEEPFNGLGETMINMAXPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetMinmaxParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMinmaxParameterivEXT = (GLEEPFNGLGETMINMAXPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetMinmaxParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glHistogramEXT = (GLEEPFNGLHISTOGRAMEXTPROC) __GLeeGetProcAddress("glHistogramEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMinmaxEXT = (GLEEPFNGLMINMAXEXTPROC) __GLeeGetProcAddress("glMinmaxEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glResetHistogramEXT = (GLEEPFNGLRESETHISTOGRAMEXTPROC) __GLeeGetProcAddress("glResetHistogramEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glResetMinmaxEXT = (GLEEPFNGLRESETMINMAXEXTPROC) __GLeeGetProcAddress("glResetMinmaxEXT"))!=0) nLinked++; -#endif - if (nLinked==10) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_convolution(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_convolution - if ((GLeeFuncPtr_glConvolutionFilter1DEXT = (GLEEPFNGLCONVOLUTIONFILTER1DEXTPROC) __GLeeGetProcAddress("glConvolutionFilter1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionFilter2DEXT = (GLEEPFNGLCONVOLUTIONFILTER2DEXTPROC) __GLeeGetProcAddress("glConvolutionFilter2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterfEXT = (GLEEPFNGLCONVOLUTIONPARAMETERFEXTPROC) __GLeeGetProcAddress("glConvolutionParameterfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterfvEXT = (GLEEPFNGLCONVOLUTIONPARAMETERFVEXTPROC) __GLeeGetProcAddress("glConvolutionParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameteriEXT = (GLEEPFNGLCONVOLUTIONPARAMETERIEXTPROC) __GLeeGetProcAddress("glConvolutionParameteriEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterivEXT = (GLEEPFNGLCONVOLUTIONPARAMETERIVEXTPROC) __GLeeGetProcAddress("glConvolutionParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyConvolutionFilter1DEXT = (GLEEPFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) __GLeeGetProcAddress("glCopyConvolutionFilter1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyConvolutionFilter2DEXT = (GLEEPFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) __GLeeGetProcAddress("glCopyConvolutionFilter2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionFilterEXT = (GLEEPFNGLGETCONVOLUTIONFILTEREXTPROC) __GLeeGetProcAddress("glGetConvolutionFilterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionParameterfvEXT = (GLEEPFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetConvolutionParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionParameterivEXT = (GLEEPFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetConvolutionParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSeparableFilterEXT = (GLEEPFNGLGETSEPARABLEFILTEREXTPROC) __GLeeGetProcAddress("glGetSeparableFilterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSeparableFilter2DEXT = (GLEEPFNGLSEPARABLEFILTER2DEXTPROC) __GLeeGetProcAddress("glSeparableFilter2DEXT"))!=0) nLinked++; -#endif - if (nLinked==13) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGI_color_matrix(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGI_color_table(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGI_color_table - if ((GLeeFuncPtr_glColorTableSGI = (GLEEPFNGLCOLORTABLESGIPROC) __GLeeGetProcAddress("glColorTableSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorTableParameterfvSGI = (GLEEPFNGLCOLORTABLEPARAMETERFVSGIPROC) __GLeeGetProcAddress("glColorTableParameterfvSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorTableParameterivSGI = (GLEEPFNGLCOLORTABLEPARAMETERIVSGIPROC) __GLeeGetProcAddress("glColorTableParameterivSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyColorTableSGI = (GLEEPFNGLCOPYCOLORTABLESGIPROC) __GLeeGetProcAddress("glCopyColorTableSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableSGI = (GLEEPFNGLGETCOLORTABLESGIPROC) __GLeeGetProcAddress("glGetColorTableSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameterfvSGI = (GLEEPFNGLGETCOLORTABLEPARAMETERFVSGIPROC) __GLeeGetProcAddress("glGetColorTableParameterfvSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameterivSGI = (GLEEPFNGLGETCOLORTABLEPARAMETERIVSGIPROC) __GLeeGetProcAddress("glGetColorTableParameterivSGI"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_pixel_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_pixel_texture - if ((GLeeFuncPtr_glPixelTexGenParameteriSGIS = (GLEEPFNGLPIXELTEXGENPARAMETERISGISPROC) __GLeeGetProcAddress("glPixelTexGenParameteriSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTexGenParameterivSGIS = (GLEEPFNGLPIXELTEXGENPARAMETERIVSGISPROC) __GLeeGetProcAddress("glPixelTexGenParameterivSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTexGenParameterfSGIS = (GLEEPFNGLPIXELTEXGENPARAMETERFSGISPROC) __GLeeGetProcAddress("glPixelTexGenParameterfSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTexGenParameterfvSGIS = (GLEEPFNGLPIXELTEXGENPARAMETERFVSGISPROC) __GLeeGetProcAddress("glPixelTexGenParameterfvSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPixelTexGenParameterivSGIS = (GLEEPFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) __GLeeGetProcAddress("glGetPixelTexGenParameterivSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPixelTexGenParameterfvSGIS = (GLEEPFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) __GLeeGetProcAddress("glGetPixelTexGenParameterfvSGIS"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_pixel_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_pixel_texture - if ((GLeeFuncPtr_glPixelTexGenSGIX = (GLEEPFNGLPIXELTEXGENSGIXPROC) __GLeeGetProcAddress("glPixelTexGenSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_texture4D(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_texture4D - if ((GLeeFuncPtr_glTexImage4DSGIS = (GLEEPFNGLTEXIMAGE4DSGISPROC) __GLeeGetProcAddress("glTexImage4DSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexSubImage4DSGIS = (GLEEPFNGLTEXSUBIMAGE4DSGISPROC) __GLeeGetProcAddress("glTexSubImage4DSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGI_texture_color_table(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_cmyka(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_texture_object - if ((GLeeFuncPtr_glAreTexturesResidentEXT = (GLEEPFNGLARETEXTURESRESIDENTEXTPROC) __GLeeGetProcAddress("glAreTexturesResidentEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindTextureEXT = (GLEEPFNGLBINDTEXTUREEXTPROC) __GLeeGetProcAddress("glBindTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteTexturesEXT = (GLEEPFNGLDELETETEXTURESEXTPROC) __GLeeGetProcAddress("glDeleteTexturesEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenTexturesEXT = (GLEEPFNGLGENTEXTURESEXTPROC) __GLeeGetProcAddress("glGenTexturesEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsTextureEXT = (GLEEPFNGLISTEXTUREEXTPROC) __GLeeGetProcAddress("glIsTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPrioritizeTexturesEXT = (GLEEPFNGLPRIORITIZETEXTURESEXTPROC) __GLeeGetProcAddress("glPrioritizeTexturesEXT"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_detail_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_detail_texture - if ((GLeeFuncPtr_glDetailTexFuncSGIS = (GLEEPFNGLDETAILTEXFUNCSGISPROC) __GLeeGetProcAddress("glDetailTexFuncSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDetailTexFuncSGIS = (GLEEPFNGLGETDETAILTEXFUNCSGISPROC) __GLeeGetProcAddress("glGetDetailTexFuncSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_sharpen_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_sharpen_texture - if ((GLeeFuncPtr_glSharpenTexFuncSGIS = (GLEEPFNGLSHARPENTEXFUNCSGISPROC) __GLeeGetProcAddress("glSharpenTexFuncSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetSharpenTexFuncSGIS = (GLEEPFNGLGETSHARPENTEXFUNCSGISPROC) __GLeeGetProcAddress("glGetSharpenTexFuncSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_packed_pixels(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_texture_lod(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_multisample - if ((GLeeFuncPtr_glSampleMaskSGIS = (GLEEPFNGLSAMPLEMASKSGISPROC) __GLeeGetProcAddress("glSampleMaskSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplePatternSGIS = (GLEEPFNGLSAMPLEPATTERNSGISPROC) __GLeeGetProcAddress("glSamplePatternSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_rescale_normal(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_vertex_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_vertex_array - if ((GLeeFuncPtr_glArrayElementEXT = (GLEEPFNGLARRAYELEMENTEXTPROC) __GLeeGetProcAddress("glArrayElementEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorPointerEXT = (GLEEPFNGLCOLORPOINTEREXTPROC) __GLeeGetProcAddress("glColorPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawArraysEXT = (GLEEPFNGLDRAWARRAYSEXTPROC) __GLeeGetProcAddress("glDrawArraysEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEdgeFlagPointerEXT = (GLEEPFNGLEDGEFLAGPOINTEREXTPROC) __GLeeGetProcAddress("glEdgeFlagPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPointervEXT = (GLEEPFNGLGETPOINTERVEXTPROC) __GLeeGetProcAddress("glGetPointervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glIndexPointerEXT = (GLEEPFNGLINDEXPOINTEREXTPROC) __GLeeGetProcAddress("glIndexPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalPointerEXT = (GLEEPFNGLNORMALPOINTEREXTPROC) __GLeeGetProcAddress("glNormalPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordPointerEXT = (GLEEPFNGLTEXCOORDPOINTEREXTPROC) __GLeeGetProcAddress("glTexCoordPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexPointerEXT = (GLEEPFNGLVERTEXPOINTEREXTPROC) __GLeeGetProcAddress("glVertexPointerEXT"))!=0) nLinked++; -#endif - if (nLinked==9) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_misc_attribute(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_generate_mipmap(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_clipmap(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_shadow(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_texture_edge_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_texture_border_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_blend_minmax(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_blend_minmax - if ((GLeeFuncPtr_glBlendEquationEXT = (GLEEPFNGLBLENDEQUATIONEXTPROC) __GLeeGetProcAddress("glBlendEquationEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_blend_subtract(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_blend_logic_op(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_interlace(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_pixel_tiles(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_texture_select(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_sprite(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_sprite - if ((GLeeFuncPtr_glSpriteParameterfSGIX = (GLEEPFNGLSPRITEPARAMETERFSGIXPROC) __GLeeGetProcAddress("glSpriteParameterfSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glSpriteParameterfvSGIX = (GLEEPFNGLSPRITEPARAMETERFVSGIXPROC) __GLeeGetProcAddress("glSpriteParameterfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glSpriteParameteriSGIX = (GLEEPFNGLSPRITEPARAMETERISGIXPROC) __GLeeGetProcAddress("glSpriteParameteriSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glSpriteParameterivSGIX = (GLEEPFNGLSPRITEPARAMETERIVSGIXPROC) __GLeeGetProcAddress("glSpriteParameterivSGIX"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_texture_multi_buffer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_point_parameters(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_point_parameters - if ((GLeeFuncPtr_glPointParameterfEXT = (GLEEPFNGLPOINTPARAMETERFEXTPROC) __GLeeGetProcAddress("glPointParameterfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterfvEXT = (GLEEPFNGLPOINTPARAMETERFVEXTPROC) __GLeeGetProcAddress("glPointParameterfvEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIS_point_parameters(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_point_parameters - if ((GLeeFuncPtr_glPointParameterfSGIS = (GLEEPFNGLPOINTPARAMETERFSGISPROC) __GLeeGetProcAddress("glPointParameterfSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterfvSGIS = (GLEEPFNGLPOINTPARAMETERFVSGISPROC) __GLeeGetProcAddress("glPointParameterfvSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_instruments(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_instruments - if ((GLeeFuncPtr_glGetInstrumentsSGIX = (GLEEPFNGLGETINSTRUMENTSSGIXPROC) __GLeeGetProcAddress("glGetInstrumentsSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glInstrumentsBufferSGIX = (GLEEPFNGLINSTRUMENTSBUFFERSGIXPROC) __GLeeGetProcAddress("glInstrumentsBufferSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glPollInstrumentsSGIX = (GLEEPFNGLPOLLINSTRUMENTSSGIXPROC) __GLeeGetProcAddress("glPollInstrumentsSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glReadInstrumentsSGIX = (GLEEPFNGLREADINSTRUMENTSSGIXPROC) __GLeeGetProcAddress("glReadInstrumentsSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glStartInstrumentsSGIX = (GLEEPFNGLSTARTINSTRUMENTSSGIXPROC) __GLeeGetProcAddress("glStartInstrumentsSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glStopInstrumentsSGIX = (GLEEPFNGLSTOPINSTRUMENTSSGIXPROC) __GLeeGetProcAddress("glStopInstrumentsSGIX"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_texture_scale_bias(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_framezoom(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_framezoom - if ((GLeeFuncPtr_glFrameZoomSGIX = (GLEEPFNGLFRAMEZOOMSGIXPROC) __GLeeGetProcAddress("glFrameZoomSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_tag_sample_buffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_tag_sample_buffer - if ((GLeeFuncPtr_glTagSampleBufferSGIX = (GLEEPFNGLTAGSAMPLEBUFFERSGIXPROC) __GLeeGetProcAddress("glTagSampleBufferSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_FfdMaskSGIX(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_polynomial_ffd(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_polynomial_ffd - if ((GLeeFuncPtr_glDeformationMap3dSGIX = (GLEEPFNGLDEFORMATIONMAP3DSGIXPROC) __GLeeGetProcAddress("glDeformationMap3dSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeformationMap3fSGIX = (GLEEPFNGLDEFORMATIONMAP3FSGIXPROC) __GLeeGetProcAddress("glDeformationMap3fSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeformSGIX = (GLEEPFNGLDEFORMSGIXPROC) __GLeeGetProcAddress("glDeformSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadIdentityDeformationMapSGIX = (GLEEPFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) __GLeeGetProcAddress("glLoadIdentityDeformationMapSGIX"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_reference_plane(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_reference_plane - if ((GLeeFuncPtr_glReferencePlaneSGIX = (GLEEPFNGLREFERENCEPLANESGIXPROC) __GLeeGetProcAddress("glReferencePlaneSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_flush_raster(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_flush_raster - if ((GLeeFuncPtr_glFlushRasterSGIX = (GLEEPFNGLFLUSHRASTERSGIXPROC) __GLeeGetProcAddress("glFlushRasterSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_depth_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_fog_function(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_fog_function - if ((GLeeFuncPtr_glFogFuncSGIS = (GLEEPFNGLFOGFUNCSGISPROC) __GLeeGetProcAddress("glFogFuncSGIS"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFogFuncSGIS = (GLEEPFNGLGETFOGFUNCSGISPROC) __GLeeGetProcAddress("glGetFogFuncSGIS"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_fog_offset(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_HP_image_transform(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_HP_image_transform - if ((GLeeFuncPtr_glImageTransformParameteriHP = (GLEEPFNGLIMAGETRANSFORMPARAMETERIHPPROC) __GLeeGetProcAddress("glImageTransformParameteriHP"))!=0) nLinked++; - if ((GLeeFuncPtr_glImageTransformParameterfHP = (GLEEPFNGLIMAGETRANSFORMPARAMETERFHPPROC) __GLeeGetProcAddress("glImageTransformParameterfHP"))!=0) nLinked++; - if ((GLeeFuncPtr_glImageTransformParameterivHP = (GLEEPFNGLIMAGETRANSFORMPARAMETERIVHPPROC) __GLeeGetProcAddress("glImageTransformParameterivHP"))!=0) nLinked++; - if ((GLeeFuncPtr_glImageTransformParameterfvHP = (GLEEPFNGLIMAGETRANSFORMPARAMETERFVHPPROC) __GLeeGetProcAddress("glImageTransformParameterfvHP"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetImageTransformParameterivHP = (GLEEPFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) __GLeeGetProcAddress("glGetImageTransformParameterivHP"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetImageTransformParameterfvHP = (GLEEPFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) __GLeeGetProcAddress("glGetImageTransformParameterfvHP"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_HP_convolution_border_modes(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INGR_palette_buffer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_texture_add_env(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_color_subtable(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_color_subtable - if ((GLeeFuncPtr_glColorSubTableEXT = (GLEEPFNGLCOLORSUBTABLEEXTPROC) __GLeeGetProcAddress("glColorSubTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyColorSubTableEXT = (GLEEPFNGLCOPYCOLORSUBTABLEEXTPROC) __GLeeGetProcAddress("glCopyColorSubTableEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_PGI_vertex_hints(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_PGI_misc_hints(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_PGI_misc_hints - if ((GLeeFuncPtr_glHintPGI = (GLEEPFNGLHINTPGIPROC) __GLeeGetProcAddress("glHintPGI"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_paletted_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_paletted_texture - if ((GLeeFuncPtr_glColorTableEXT = (GLEEPFNGLCOLORTABLEEXTPROC) __GLeeGetProcAddress("glColorTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableEXT = (GLEEPFNGLGETCOLORTABLEEXTPROC) __GLeeGetProcAddress("glGetColorTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameterivEXT = (GLEEPFNGLGETCOLORTABLEPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetColorTableParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetColorTableParameterfvEXT = (GLEEPFNGLGETCOLORTABLEPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetColorTableParameterfvEXT"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_clip_volume_hint(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_list_priority(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_list_priority - if ((GLeeFuncPtr_glGetListParameterfvSGIX = (GLEEPFNGLGETLISTPARAMETERFVSGIXPROC) __GLeeGetProcAddress("glGetListParameterfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetListParameterivSGIX = (GLEEPFNGLGETLISTPARAMETERIVSGIXPROC) __GLeeGetProcAddress("glGetListParameterivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glListParameterfSGIX = (GLEEPFNGLLISTPARAMETERFSGIXPROC) __GLeeGetProcAddress("glListParameterfSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glListParameterfvSGIX = (GLEEPFNGLLISTPARAMETERFVSGIXPROC) __GLeeGetProcAddress("glListParameterfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glListParameteriSGIX = (GLEEPFNGLLISTPARAMETERISGIXPROC) __GLeeGetProcAddress("glListParameteriSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glListParameterivSGIX = (GLEEPFNGLLISTPARAMETERIVSGIXPROC) __GLeeGetProcAddress("glListParameterivSGIX"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_ir_instrument1(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_calligraphic_fragment(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_texture_lod_bias(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_shadow_ambient(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_index_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_index_material(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_index_material - if ((GLeeFuncPtr_glIndexMaterialEXT = (GLEEPFNGLINDEXMATERIALEXTPROC) __GLeeGetProcAddress("glIndexMaterialEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_index_func(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_index_func - if ((GLeeFuncPtr_glIndexFuncEXT = (GLEEPFNGLINDEXFUNCEXTPROC) __GLeeGetProcAddress("glIndexFuncEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_index_array_formats(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_compiled_vertex_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_compiled_vertex_array - if ((GLeeFuncPtr_glLockArraysEXT = (GLEEPFNGLLOCKARRAYSEXTPROC) __GLeeGetProcAddress("glLockArraysEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnlockArraysEXT = (GLEEPFNGLUNLOCKARRAYSEXTPROC) __GLeeGetProcAddress("glUnlockArraysEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_cull_vertex(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_cull_vertex - if ((GLeeFuncPtr_glCullParameterdvEXT = (GLEEPFNGLCULLPARAMETERDVEXTPROC) __GLeeGetProcAddress("glCullParameterdvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCullParameterfvEXT = (GLEEPFNGLCULLPARAMETERFVEXTPROC) __GLeeGetProcAddress("glCullParameterfvEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_ycrcb(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_fragment_lighting(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_fragment_lighting - if ((GLeeFuncPtr_glFragmentColorMaterialSGIX = (GLEEPFNGLFRAGMENTCOLORMATERIALSGIXPROC) __GLeeGetProcAddress("glFragmentColorMaterialSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightfSGIX = (GLEEPFNGLFRAGMENTLIGHTFSGIXPROC) __GLeeGetProcAddress("glFragmentLightfSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightfvSGIX = (GLEEPFNGLFRAGMENTLIGHTFVSGIXPROC) __GLeeGetProcAddress("glFragmentLightfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightiSGIX = (GLEEPFNGLFRAGMENTLIGHTISGIXPROC) __GLeeGetProcAddress("glFragmentLightiSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightivSGIX = (GLEEPFNGLFRAGMENTLIGHTIVSGIXPROC) __GLeeGetProcAddress("glFragmentLightivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightModelfSGIX = (GLEEPFNGLFRAGMENTLIGHTMODELFSGIXPROC) __GLeeGetProcAddress("glFragmentLightModelfSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightModelfvSGIX = (GLEEPFNGLFRAGMENTLIGHTMODELFVSGIXPROC) __GLeeGetProcAddress("glFragmentLightModelfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightModeliSGIX = (GLEEPFNGLFRAGMENTLIGHTMODELISGIXPROC) __GLeeGetProcAddress("glFragmentLightModeliSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentLightModelivSGIX = (GLEEPFNGLFRAGMENTLIGHTMODELIVSGIXPROC) __GLeeGetProcAddress("glFragmentLightModelivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentMaterialfSGIX = (GLEEPFNGLFRAGMENTMATERIALFSGIXPROC) __GLeeGetProcAddress("glFragmentMaterialfSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentMaterialfvSGIX = (GLEEPFNGLFRAGMENTMATERIALFVSGIXPROC) __GLeeGetProcAddress("glFragmentMaterialfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentMaterialiSGIX = (GLEEPFNGLFRAGMENTMATERIALISGIXPROC) __GLeeGetProcAddress("glFragmentMaterialiSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFragmentMaterialivSGIX = (GLEEPFNGLFRAGMENTMATERIALIVSGIXPROC) __GLeeGetProcAddress("glFragmentMaterialivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragmentLightfvSGIX = (GLEEPFNGLGETFRAGMENTLIGHTFVSGIXPROC) __GLeeGetProcAddress("glGetFragmentLightfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragmentLightivSGIX = (GLEEPFNGLGETFRAGMENTLIGHTIVSGIXPROC) __GLeeGetProcAddress("glGetFragmentLightivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragmentMaterialfvSGIX = (GLEEPFNGLGETFRAGMENTMATERIALFVSGIXPROC) __GLeeGetProcAddress("glGetFragmentMaterialfvSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragmentMaterialivSGIX = (GLEEPFNGLGETFRAGMENTMATERIALIVSGIXPROC) __GLeeGetProcAddress("glGetFragmentMaterialivSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glLightEnviSGIX = (GLEEPFNGLLIGHTENVISGIXPROC) __GLeeGetProcAddress("glLightEnviSGIX"))!=0) nLinked++; -#endif - if (nLinked==18) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_IBM_rasterpos_clip(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_HP_texture_lighting(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_draw_range_elements(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_draw_range_elements - if ((GLeeFuncPtr_glDrawRangeElementsEXT = (GLEEPFNGLDRAWRANGEELEMENTSEXTPROC) __GLeeGetProcAddress("glDrawRangeElementsEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_WIN_phong_shading(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_WIN_specular_fog(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_light_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_light_texture - if ((GLeeFuncPtr_glApplyTextureEXT = (GLEEPFNGLAPPLYTEXTUREEXTPROC) __GLeeGetProcAddress("glApplyTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureLightEXT = (GLEEPFNGLTEXTURELIGHTEXTPROC) __GLeeGetProcAddress("glTextureLightEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureMaterialEXT = (GLEEPFNGLTEXTUREMATERIALEXTPROC) __GLeeGetProcAddress("glTextureMaterialEXT"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_blend_alpha_minmax(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_impact_pixel_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_bgra(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_async(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_async - if ((GLeeFuncPtr_glAsyncMarkerSGIX = (GLEEPFNGLASYNCMARKERSGIXPROC) __GLeeGetProcAddress("glAsyncMarkerSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glFinishAsyncSGIX = (GLEEPFNGLFINISHASYNCSGIXPROC) __GLeeGetProcAddress("glFinishAsyncSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glPollAsyncSGIX = (GLEEPFNGLPOLLASYNCSGIXPROC) __GLeeGetProcAddress("glPollAsyncSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenAsyncMarkersSGIX = (GLEEPFNGLGENASYNCMARKERSSGIXPROC) __GLeeGetProcAddress("glGenAsyncMarkersSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteAsyncMarkersSGIX = (GLEEPFNGLDELETEASYNCMARKERSSGIXPROC) __GLeeGetProcAddress("glDeleteAsyncMarkersSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsAsyncMarkerSGIX = (GLEEPFNGLISASYNCMARKERSGIXPROC) __GLeeGetProcAddress("glIsAsyncMarkerSGIX"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_async_pixel(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_async_histogram(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INTEL_texture_scissor(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INTEL_parallel_arrays(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_INTEL_parallel_arrays - if ((GLeeFuncPtr_glVertexPointervINTEL = (GLEEPFNGLVERTEXPOINTERVINTELPROC) __GLeeGetProcAddress("glVertexPointervINTEL"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalPointervINTEL = (GLEEPFNGLNORMALPOINTERVINTELPROC) __GLeeGetProcAddress("glNormalPointervINTEL"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorPointervINTEL = (GLEEPFNGLCOLORPOINTERVINTELPROC) __GLeeGetProcAddress("glColorPointervINTEL"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordPointervINTEL = (GLEEPFNGLTEXCOORDPOINTERVINTELPROC) __GLeeGetProcAddress("glTexCoordPointervINTEL"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_HP_occlusion_test(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_pixel_transform(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_pixel_transform - if ((GLeeFuncPtr_glPixelTransformParameteriEXT = (GLEEPFNGLPIXELTRANSFORMPARAMETERIEXTPROC) __GLeeGetProcAddress("glPixelTransformParameteriEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTransformParameterfEXT = (GLEEPFNGLPIXELTRANSFORMPARAMETERFEXTPROC) __GLeeGetProcAddress("glPixelTransformParameterfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTransformParameterivEXT = (GLEEPFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) __GLeeGetProcAddress("glPixelTransformParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTransformParameterfvEXT = (GLEEPFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) __GLeeGetProcAddress("glPixelTransformParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPixelTransformParameterivEXT = (GLEEPFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetPixelTransformParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPixelTransformParameterfvEXT = (GLEEPFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetPixelTransformParameterfvEXT"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_pixel_transform_color_table(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_shared_texture_palette(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_separate_specular_color(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_secondary_color(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_secondary_color - if ((GLeeFuncPtr_glSecondaryColor3bEXT = (GLEEPFNGLSECONDARYCOLOR3BEXTPROC) __GLeeGetProcAddress("glSecondaryColor3bEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3bvEXT = (GLEEPFNGLSECONDARYCOLOR3BVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3bvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3dEXT = (GLEEPFNGLSECONDARYCOLOR3DEXTPROC) __GLeeGetProcAddress("glSecondaryColor3dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3dvEXT = (GLEEPFNGLSECONDARYCOLOR3DVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3fEXT = (GLEEPFNGLSECONDARYCOLOR3FEXTPROC) __GLeeGetProcAddress("glSecondaryColor3fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3fvEXT = (GLEEPFNGLSECONDARYCOLOR3FVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3iEXT = (GLEEPFNGLSECONDARYCOLOR3IEXTPROC) __GLeeGetProcAddress("glSecondaryColor3iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ivEXT = (GLEEPFNGLSECONDARYCOLOR3IVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3sEXT = (GLEEPFNGLSECONDARYCOLOR3SEXTPROC) __GLeeGetProcAddress("glSecondaryColor3sEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3svEXT = (GLEEPFNGLSECONDARYCOLOR3SVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3svEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ubEXT = (GLEEPFNGLSECONDARYCOLOR3UBEXTPROC) __GLeeGetProcAddress("glSecondaryColor3ubEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3ubvEXT = (GLEEPFNGLSECONDARYCOLOR3UBVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3ubvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3uiEXT = (GLEEPFNGLSECONDARYCOLOR3UIEXTPROC) __GLeeGetProcAddress("glSecondaryColor3uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3uivEXT = (GLEEPFNGLSECONDARYCOLOR3UIVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3usEXT = (GLEEPFNGLSECONDARYCOLOR3USEXTPROC) __GLeeGetProcAddress("glSecondaryColor3usEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3usvEXT = (GLEEPFNGLSECONDARYCOLOR3USVEXTPROC) __GLeeGetProcAddress("glSecondaryColor3usvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorPointerEXT = (GLEEPFNGLSECONDARYCOLORPOINTEREXTPROC) __GLeeGetProcAddress("glSecondaryColorPointerEXT"))!=0) nLinked++; -#endif - if (nLinked==17) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_perturb_normal(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_texture_perturb_normal - if ((GLeeFuncPtr_glTextureNormalEXT = (GLEEPFNGLTEXTURENORMALEXTPROC) __GLeeGetProcAddress("glTextureNormalEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_multi_draw_arrays(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_multi_draw_arrays - if ((GLeeFuncPtr_glMultiDrawArraysEXT = (GLEEPFNGLMULTIDRAWARRAYSEXTPROC) __GLeeGetProcAddress("glMultiDrawArraysEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElementsEXT = (GLEEPFNGLMULTIDRAWELEMENTSEXTPROC) __GLeeGetProcAddress("glMultiDrawElementsEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_fog_coord(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_fog_coord - if ((GLeeFuncPtr_glFogCoordfEXT = (GLEEPFNGLFOGCOORDFEXTPROC) __GLeeGetProcAddress("glFogCoordfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordfvEXT = (GLEEPFNGLFOGCOORDFVEXTPROC) __GLeeGetProcAddress("glFogCoordfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoorddEXT = (GLEEPFNGLFOGCOORDDEXTPROC) __GLeeGetProcAddress("glFogCoorddEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoorddvEXT = (GLEEPFNGLFOGCOORDDVEXTPROC) __GLeeGetProcAddress("glFogCoorddvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordPointerEXT = (GLEEPFNGLFOGCOORDPOINTEREXTPROC) __GLeeGetProcAddress("glFogCoordPointerEXT"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_REND_screen_coordinates(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_coordinate_frame(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_coordinate_frame - if ((GLeeFuncPtr_glTangent3bEXT = (GLEEPFNGLTANGENT3BEXTPROC) __GLeeGetProcAddress("glTangent3bEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3bvEXT = (GLEEPFNGLTANGENT3BVEXTPROC) __GLeeGetProcAddress("glTangent3bvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3dEXT = (GLEEPFNGLTANGENT3DEXTPROC) __GLeeGetProcAddress("glTangent3dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3dvEXT = (GLEEPFNGLTANGENT3DVEXTPROC) __GLeeGetProcAddress("glTangent3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3fEXT = (GLEEPFNGLTANGENT3FEXTPROC) __GLeeGetProcAddress("glTangent3fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3fvEXT = (GLEEPFNGLTANGENT3FVEXTPROC) __GLeeGetProcAddress("glTangent3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3iEXT = (GLEEPFNGLTANGENT3IEXTPROC) __GLeeGetProcAddress("glTangent3iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3ivEXT = (GLEEPFNGLTANGENT3IVEXTPROC) __GLeeGetProcAddress("glTangent3ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3sEXT = (GLEEPFNGLTANGENT3SEXTPROC) __GLeeGetProcAddress("glTangent3sEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangent3svEXT = (GLEEPFNGLTANGENT3SVEXTPROC) __GLeeGetProcAddress("glTangent3svEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3bEXT = (GLEEPFNGLBINORMAL3BEXTPROC) __GLeeGetProcAddress("glBinormal3bEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3bvEXT = (GLEEPFNGLBINORMAL3BVEXTPROC) __GLeeGetProcAddress("glBinormal3bvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3dEXT = (GLEEPFNGLBINORMAL3DEXTPROC) __GLeeGetProcAddress("glBinormal3dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3dvEXT = (GLEEPFNGLBINORMAL3DVEXTPROC) __GLeeGetProcAddress("glBinormal3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3fEXT = (GLEEPFNGLBINORMAL3FEXTPROC) __GLeeGetProcAddress("glBinormal3fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3fvEXT = (GLEEPFNGLBINORMAL3FVEXTPROC) __GLeeGetProcAddress("glBinormal3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3iEXT = (GLEEPFNGLBINORMAL3IEXTPROC) __GLeeGetProcAddress("glBinormal3iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3ivEXT = (GLEEPFNGLBINORMAL3IVEXTPROC) __GLeeGetProcAddress("glBinormal3ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3sEXT = (GLEEPFNGLBINORMAL3SEXTPROC) __GLeeGetProcAddress("glBinormal3sEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormal3svEXT = (GLEEPFNGLBINORMAL3SVEXTPROC) __GLeeGetProcAddress("glBinormal3svEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTangentPointerEXT = (GLEEPFNGLTANGENTPOINTEREXTPROC) __GLeeGetProcAddress("glTangentPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBinormalPointerEXT = (GLEEPFNGLBINORMALPOINTEREXTPROC) __GLeeGetProcAddress("glBinormalPointerEXT"))!=0) nLinked++; -#endif - if (nLinked==22) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_env_combine(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_specular_vector(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_transform_hint(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_fog_scale(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SUNX_constant_data(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SUNX_constant_data - if ((GLeeFuncPtr_glFinishTextureSUNX = (GLEEPFNGLFINISHTEXTURESUNXPROC) __GLeeGetProcAddress("glFinishTextureSUNX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SUN_global_alpha(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SUN_global_alpha - if ((GLeeFuncPtr_glGlobalAlphaFactorbSUN = (GLEEPFNGLGLOBALALPHAFACTORBSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactorbSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactorsSUN = (GLEEPFNGLGLOBALALPHAFACTORSSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactorsSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactoriSUN = (GLEEPFNGLGLOBALALPHAFACTORISUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactoriSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactorfSUN = (GLEEPFNGLGLOBALALPHAFACTORFSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactorfSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactordSUN = (GLEEPFNGLGLOBALALPHAFACTORDSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactordSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactorubSUN = (GLEEPFNGLGLOBALALPHAFACTORUBSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactorubSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactorusSUN = (GLEEPFNGLGLOBALALPHAFACTORUSSUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactorusSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glGlobalAlphaFactoruiSUN = (GLEEPFNGLGLOBALALPHAFACTORUISUNPROC) __GLeeGetProcAddress("glGlobalAlphaFactoruiSUN"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SUN_triangle_list(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SUN_triangle_list - if ((GLeeFuncPtr_glReplacementCodeuiSUN = (GLEEPFNGLREPLACEMENTCODEUISUNPROC) __GLeeGetProcAddress("glReplacementCodeuiSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeusSUN = (GLEEPFNGLREPLACEMENTCODEUSSUNPROC) __GLeeGetProcAddress("glReplacementCodeusSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeubSUN = (GLEEPFNGLREPLACEMENTCODEUBSUNPROC) __GLeeGetProcAddress("glReplacementCodeubSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuivSUN = (GLEEPFNGLREPLACEMENTCODEUIVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuivSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeusvSUN = (GLEEPFNGLREPLACEMENTCODEUSVSUNPROC) __GLeeGetProcAddress("glReplacementCodeusvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeubvSUN = (GLEEPFNGLREPLACEMENTCODEUBVSUNPROC) __GLeeGetProcAddress("glReplacementCodeubvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodePointerSUN = (GLEEPFNGLREPLACEMENTCODEPOINTERSUNPROC) __GLeeGetProcAddress("glReplacementCodePointerSUN"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SUN_vertex(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SUN_vertex - if ((GLeeFuncPtr_glColor4ubVertex2fSUN = (GLEEPFNGLCOLOR4UBVERTEX2FSUNPROC) __GLeeGetProcAddress("glColor4ubVertex2fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4ubVertex2fvSUN = (GLEEPFNGLCOLOR4UBVERTEX2FVSUNPROC) __GLeeGetProcAddress("glColor4ubVertex2fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4ubVertex3fSUN = (GLEEPFNGLCOLOR4UBVERTEX3FSUNPROC) __GLeeGetProcAddress("glColor4ubVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4ubVertex3fvSUN = (GLEEPFNGLCOLOR4UBVERTEX3FVSUNPROC) __GLeeGetProcAddress("glColor4ubVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3fVertex3fSUN = (GLEEPFNGLCOLOR3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glColor3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3fVertex3fvSUN = (GLEEPFNGLCOLOR3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glColor3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3fVertex3fSUN = (GLEEPFNGLNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3fVertex3fvSUN = (GLEEPFNGLNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4fNormal3fVertex3fSUN = (GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glColor4fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4fNormal3fVertex3fvSUN = (GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glColor4fNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fVertex3fSUN = (GLEEPFNGLTEXCOORD2FVERTEX3FSUNPROC) __GLeeGetProcAddress("glTexCoord2fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fVertex3fvSUN = (GLEEPFNGLTEXCOORD2FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glTexCoord2fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4fVertex4fSUN = (GLEEPFNGLTEXCOORD4FVERTEX4FSUNPROC) __GLeeGetProcAddress("glTexCoord4fVertex4fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4fVertex4fvSUN = (GLEEPFNGLTEXCOORD4FVERTEX4FVSUNPROC) __GLeeGetProcAddress("glTexCoord4fVertex4fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor4ubVertex3fSUN = (GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor4ubVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor4ubVertex3fvSUN = (GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor4ubVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor3fVertex3fSUN = (GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor3fVertex3fvSUN = (GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fNormal3fVertex3fSUN = (GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glTexCoord2fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fNormal3fVertex3fvSUN = (GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glTexCoord2fNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fSUN = (GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor4fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fvSUN = (GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glTexCoord2fColor4fNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fSUN = (GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) __GLeeGetProcAddress("glTexCoord4fColor4fNormal3fVertex4fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fvSUN = (GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) __GLeeGetProcAddress("glTexCoord4fColor4fNormal3fVertex4fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor4ubVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor4ubVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor4fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiColor4fNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"))!=0) nLinked++; - if ((GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) __GLeeGetProcAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"))!=0) nLinked++; -#endif - if (nLinked==40) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_blend_func_separate(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_blend_func_separate - if ((GLeeFuncPtr_glBlendFuncSeparateEXT = (GLEEPFNGLBLENDFUNCSEPARATEEXTPROC) __GLeeGetProcAddress("glBlendFuncSeparateEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_INGR_color_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INGR_interlace_read(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_stencil_wrap(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_422_pixels(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texgen_reflection(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_cube_map(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SUN_convolution_border_modes(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_env_add(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_lod_bias(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_filter_anisotropic(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_vertex_weighting(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_vertex_weighting - if ((GLeeFuncPtr_glVertexWeightfEXT = (GLEEPFNGLVERTEXWEIGHTFEXTPROC) __GLeeGetProcAddress("glVertexWeightfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexWeightfvEXT = (GLEEPFNGLVERTEXWEIGHTFVEXTPROC) __GLeeGetProcAddress("glVertexWeightfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexWeightPointerEXT = (GLEEPFNGLVERTEXWEIGHTPOINTEREXTPROC) __GLeeGetProcAddress("glVertexWeightPointerEXT"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_light_max_exponent(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_array_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_vertex_array_range - if ((GLeeFuncPtr_glFlushVertexArrayRangeNV = (GLEEPFNGLFLUSHVERTEXARRAYRANGENVPROC) __GLeeGetProcAddress("glFlushVertexArrayRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayRangeNV = (GLEEPFNGLVERTEXARRAYRANGENVPROC) __GLeeGetProcAddress("glVertexArrayRangeNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_register_combiners(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_register_combiners - if ((GLeeFuncPtr_glCombinerParameterfvNV = (GLEEPFNGLCOMBINERPARAMETERFVNVPROC) __GLeeGetProcAddress("glCombinerParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCombinerParameterfNV = (GLEEPFNGLCOMBINERPARAMETERFNVPROC) __GLeeGetProcAddress("glCombinerParameterfNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCombinerParameterivNV = (GLEEPFNGLCOMBINERPARAMETERIVNVPROC) __GLeeGetProcAddress("glCombinerParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCombinerParameteriNV = (GLEEPFNGLCOMBINERPARAMETERINVPROC) __GLeeGetProcAddress("glCombinerParameteriNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCombinerInputNV = (GLEEPFNGLCOMBINERINPUTNVPROC) __GLeeGetProcAddress("glCombinerInputNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCombinerOutputNV = (GLEEPFNGLCOMBINEROUTPUTNVPROC) __GLeeGetProcAddress("glCombinerOutputNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFinalCombinerInputNV = (GLEEPFNGLFINALCOMBINERINPUTNVPROC) __GLeeGetProcAddress("glFinalCombinerInputNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCombinerInputParameterfvNV = (GLEEPFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetCombinerInputParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCombinerInputParameterivNV = (GLEEPFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetCombinerInputParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCombinerOutputParameterfvNV = (GLEEPFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetCombinerOutputParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCombinerOutputParameterivNV = (GLEEPFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetCombinerOutputParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFinalCombinerInputParameterfvNV = (GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetFinalCombinerInputParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFinalCombinerInputParameterivNV = (GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetFinalCombinerInputParameterivNV"))!=0) nLinked++; -#endif - if (nLinked==13) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_fog_distance(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texgen_emboss(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_blend_square(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texture_env_combine4(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_MESA_resize_buffers(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_MESA_resize_buffers - if ((GLeeFuncPtr_glResizeBuffersMESA = (GLEEPFNGLRESIZEBUFFERSMESAPROC) __GLeeGetProcAddress("glResizeBuffersMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_MESA_window_pos(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_MESA_window_pos - if ((GLeeFuncPtr_glWindowPos2dMESA = (GLEEPFNGLWINDOWPOS2DMESAPROC) __GLeeGetProcAddress("glWindowPos2dMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2dvMESA = (GLEEPFNGLWINDOWPOS2DVMESAPROC) __GLeeGetProcAddress("glWindowPos2dvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2fMESA = (GLEEPFNGLWINDOWPOS2FMESAPROC) __GLeeGetProcAddress("glWindowPos2fMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2fvMESA = (GLEEPFNGLWINDOWPOS2FVMESAPROC) __GLeeGetProcAddress("glWindowPos2fvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2iMESA = (GLEEPFNGLWINDOWPOS2IMESAPROC) __GLeeGetProcAddress("glWindowPos2iMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2ivMESA = (GLEEPFNGLWINDOWPOS2IVMESAPROC) __GLeeGetProcAddress("glWindowPos2ivMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2sMESA = (GLEEPFNGLWINDOWPOS2SMESAPROC) __GLeeGetProcAddress("glWindowPos2sMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos2svMESA = (GLEEPFNGLWINDOWPOS2SVMESAPROC) __GLeeGetProcAddress("glWindowPos2svMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3dMESA = (GLEEPFNGLWINDOWPOS3DMESAPROC) __GLeeGetProcAddress("glWindowPos3dMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3dvMESA = (GLEEPFNGLWINDOWPOS3DVMESAPROC) __GLeeGetProcAddress("glWindowPos3dvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3fMESA = (GLEEPFNGLWINDOWPOS3FMESAPROC) __GLeeGetProcAddress("glWindowPos3fMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3fvMESA = (GLEEPFNGLWINDOWPOS3FVMESAPROC) __GLeeGetProcAddress("glWindowPos3fvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3iMESA = (GLEEPFNGLWINDOWPOS3IMESAPROC) __GLeeGetProcAddress("glWindowPos3iMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3ivMESA = (GLEEPFNGLWINDOWPOS3IVMESAPROC) __GLeeGetProcAddress("glWindowPos3ivMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3sMESA = (GLEEPFNGLWINDOWPOS3SMESAPROC) __GLeeGetProcAddress("glWindowPos3sMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos3svMESA = (GLEEPFNGLWINDOWPOS3SVMESAPROC) __GLeeGetProcAddress("glWindowPos3svMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4dMESA = (GLEEPFNGLWINDOWPOS4DMESAPROC) __GLeeGetProcAddress("glWindowPos4dMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4dvMESA = (GLEEPFNGLWINDOWPOS4DVMESAPROC) __GLeeGetProcAddress("glWindowPos4dvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4fMESA = (GLEEPFNGLWINDOWPOS4FMESAPROC) __GLeeGetProcAddress("glWindowPos4fMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4fvMESA = (GLEEPFNGLWINDOWPOS4FVMESAPROC) __GLeeGetProcAddress("glWindowPos4fvMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4iMESA = (GLEEPFNGLWINDOWPOS4IMESAPROC) __GLeeGetProcAddress("glWindowPos4iMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4ivMESA = (GLEEPFNGLWINDOWPOS4IVMESAPROC) __GLeeGetProcAddress("glWindowPos4ivMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4sMESA = (GLEEPFNGLWINDOWPOS4SMESAPROC) __GLeeGetProcAddress("glWindowPos4sMESA"))!=0) nLinked++; - if ((GLeeFuncPtr_glWindowPos4svMESA = (GLEEPFNGLWINDOWPOS4SVMESAPROC) __GLeeGetProcAddress("glWindowPos4svMESA"))!=0) nLinked++; -#endif - if (nLinked==24) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_compression_s3tc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_IBM_cull_vertex(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_IBM_multimode_draw_arrays(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_IBM_multimode_draw_arrays - if ((GLeeFuncPtr_glMultiModeDrawArraysIBM = (GLEEPFNGLMULTIMODEDRAWARRAYSIBMPROC) __GLeeGetProcAddress("glMultiModeDrawArraysIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiModeDrawElementsIBM = (GLEEPFNGLMULTIMODEDRAWELEMENTSIBMPROC) __GLeeGetProcAddress("glMultiModeDrawElementsIBM"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_IBM_vertex_array_lists(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_IBM_vertex_array_lists - if ((GLeeFuncPtr_glColorPointerListIBM = (GLEEPFNGLCOLORPOINTERLISTIBMPROC) __GLeeGetProcAddress("glColorPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorPointerListIBM = (GLEEPFNGLSECONDARYCOLORPOINTERLISTIBMPROC) __GLeeGetProcAddress("glSecondaryColorPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glEdgeFlagPointerListIBM = (GLEEPFNGLEDGEFLAGPOINTERLISTIBMPROC) __GLeeGetProcAddress("glEdgeFlagPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordPointerListIBM = (GLEEPFNGLFOGCOORDPOINTERLISTIBMPROC) __GLeeGetProcAddress("glFogCoordPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glIndexPointerListIBM = (GLEEPFNGLINDEXPOINTERLISTIBMPROC) __GLeeGetProcAddress("glIndexPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalPointerListIBM = (GLEEPFNGLNORMALPOINTERLISTIBMPROC) __GLeeGetProcAddress("glNormalPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordPointerListIBM = (GLEEPFNGLTEXCOORDPOINTERLISTIBMPROC) __GLeeGetProcAddress("glTexCoordPointerListIBM"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexPointerListIBM = (GLEEPFNGLVERTEXPOINTERLISTIBMPROC) __GLeeGetProcAddress("glVertexPointerListIBM"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_subsample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_ycrcb_subsample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_ycrcba(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGI_depth_pass_instrument(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_3DFX_texture_compression_FXT1(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_3DFX_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_3DFX_tbuffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_3DFX_tbuffer - if ((GLeeFuncPtr_glTbufferMask3DFX = (GLEEPFNGLTBUFFERMASK3DFXPROC) __GLeeGetProcAddress("glTbufferMask3DFX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_multisample - if ((GLeeFuncPtr_glSampleMaskEXT = (GLEEPFNGLSAMPLEMASKEXTPROC) __GLeeGetProcAddress("glSampleMaskEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSamplePatternEXT = (GLEEPFNGLSAMPLEPATTERNEXTPROC) __GLeeGetProcAddress("glSamplePatternEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_vertex_preclip(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_convolution_accuracy(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_resample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_point_line_texgen(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIS_texture_color_mask(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIS_texture_color_mask - if ((GLeeFuncPtr_glTextureColorMaskSGIS = (GLEEPFNGLTEXTURECOLORMASKSGISPROC) __GLeeGetProcAddress("glTextureColorMaskSGIS"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_env_dot3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_texture_mirror_once(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_fence(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_fence - if ((GLeeFuncPtr_glDeleteFencesNV = (GLEEPFNGLDELETEFENCESNVPROC) __GLeeGetProcAddress("glDeleteFencesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenFencesNV = (GLEEPFNGLGENFENCESNVPROC) __GLeeGetProcAddress("glGenFencesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsFenceNV = (GLEEPFNGLISFENCENVPROC) __GLeeGetProcAddress("glIsFenceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTestFenceNV = (GLEEPFNGLTESTFENCENVPROC) __GLeeGetProcAddress("glTestFenceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFenceivNV = (GLEEPFNGLGETFENCEIVNVPROC) __GLeeGetProcAddress("glGetFenceivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFinishFenceNV = (GLEEPFNGLFINISHFENCENVPROC) __GLeeGetProcAddress("glFinishFenceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glSetFenceNV = (GLEEPFNGLSETFENCENVPROC) __GLeeGetProcAddress("glSetFenceNV"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_IBM_texture_mirrored_repeat(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_evaluators(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_evaluators - if ((GLeeFuncPtr_glMapControlPointsNV = (GLEEPFNGLMAPCONTROLPOINTSNVPROC) __GLeeGetProcAddress("glMapControlPointsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapParameterivNV = (GLEEPFNGLMAPPARAMETERIVNVPROC) __GLeeGetProcAddress("glMapParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapParameterfvNV = (GLEEPFNGLMAPPARAMETERFVNVPROC) __GLeeGetProcAddress("glMapParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapControlPointsNV = (GLEEPFNGLGETMAPCONTROLPOINTSNVPROC) __GLeeGetProcAddress("glGetMapControlPointsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapParameterivNV = (GLEEPFNGLGETMAPPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetMapParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapParameterfvNV = (GLEEPFNGLGETMAPPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetMapParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapAttribParameterivNV = (GLEEPFNGLGETMAPATTRIBPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetMapAttribParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapAttribParameterfvNV = (GLEEPFNGLGETMAPATTRIBPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetMapAttribParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEvalMapsNV = (GLEEPFNGLEVALMAPSNVPROC) __GLeeGetProcAddress("glEvalMapsNV"))!=0) nLinked++; -#endif - if (nLinked==9) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_packed_depth_stencil(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_register_combiners2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_register_combiners2 - if ((GLeeFuncPtr_glCombinerStageParameterfvNV = (GLEEPFNGLCOMBINERSTAGEPARAMETERFVNVPROC) __GLeeGetProcAddress("glCombinerStageParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCombinerStageParameterfvNV = (GLEEPFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetCombinerStageParameterfvNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_texture_compression_vtc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texture_rectangle(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texture_shader(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texture_shader2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_array_range2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_program(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_vertex_program - if ((GLeeFuncPtr_glAreProgramsResidentNV = (GLEEPFNGLAREPROGRAMSRESIDENTNVPROC) __GLeeGetProcAddress("glAreProgramsResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindProgramNV = (GLEEPFNGLBINDPROGRAMNVPROC) __GLeeGetProcAddress("glBindProgramNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteProgramsNV = (GLEEPFNGLDELETEPROGRAMSNVPROC) __GLeeGetProcAddress("glDeleteProgramsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glExecuteProgramNV = (GLEEPFNGLEXECUTEPROGRAMNVPROC) __GLeeGetProcAddress("glExecuteProgramNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenProgramsNV = (GLEEPFNGLGENPROGRAMSNVPROC) __GLeeGetProcAddress("glGenProgramsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramParameterdvNV = (GLEEPFNGLGETPROGRAMPARAMETERDVNVPROC) __GLeeGetProcAddress("glGetProgramParameterdvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramParameterfvNV = (GLEEPFNGLGETPROGRAMPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetProgramParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramivNV = (GLEEPFNGLGETPROGRAMIVNVPROC) __GLeeGetProcAddress("glGetProgramivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramStringNV = (GLEEPFNGLGETPROGRAMSTRINGNVPROC) __GLeeGetProcAddress("glGetProgramStringNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTrackMatrixivNV = (GLEEPFNGLGETTRACKMATRIXIVNVPROC) __GLeeGetProcAddress("glGetTrackMatrixivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribdvNV = (GLEEPFNGLGETVERTEXATTRIBDVNVPROC) __GLeeGetProcAddress("glGetVertexAttribdvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribfvNV = (GLEEPFNGLGETVERTEXATTRIBFVNVPROC) __GLeeGetProcAddress("glGetVertexAttribfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribivNV = (GLEEPFNGLGETVERTEXATTRIBIVNVPROC) __GLeeGetProcAddress("glGetVertexAttribivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribPointervNV = (GLEEPFNGLGETVERTEXATTRIBPOINTERVNVPROC) __GLeeGetProcAddress("glGetVertexAttribPointervNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsProgramNV = (GLEEPFNGLISPROGRAMNVPROC) __GLeeGetProcAddress("glIsProgramNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadProgramNV = (GLEEPFNGLLOADPROGRAMNVPROC) __GLeeGetProcAddress("glLoadProgramNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameter4dNV = (GLEEPFNGLPROGRAMPARAMETER4DNVPROC) __GLeeGetProcAddress("glProgramParameter4dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameter4dvNV = (GLEEPFNGLPROGRAMPARAMETER4DVNVPROC) __GLeeGetProcAddress("glProgramParameter4dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameter4fNV = (GLEEPFNGLPROGRAMPARAMETER4FNVPROC) __GLeeGetProcAddress("glProgramParameter4fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameter4fvNV = (GLEEPFNGLPROGRAMPARAMETER4FVNVPROC) __GLeeGetProcAddress("glProgramParameter4fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameters4dvNV = (GLEEPFNGLPROGRAMPARAMETERS4DVNVPROC) __GLeeGetProcAddress("glProgramParameters4dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramParameters4fvNV = (GLEEPFNGLPROGRAMPARAMETERS4FVNVPROC) __GLeeGetProcAddress("glProgramParameters4fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glRequestResidentProgramsNV = (GLEEPFNGLREQUESTRESIDENTPROGRAMSNVPROC) __GLeeGetProcAddress("glRequestResidentProgramsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTrackMatrixNV = (GLEEPFNGLTRACKMATRIXNVPROC) __GLeeGetProcAddress("glTrackMatrixNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribPointerNV = (GLEEPFNGLVERTEXATTRIBPOINTERNVPROC) __GLeeGetProcAddress("glVertexAttribPointerNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1dNV = (GLEEPFNGLVERTEXATTRIB1DNVPROC) __GLeeGetProcAddress("glVertexAttrib1dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1dvNV = (GLEEPFNGLVERTEXATTRIB1DVNVPROC) __GLeeGetProcAddress("glVertexAttrib1dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1fNV = (GLEEPFNGLVERTEXATTRIB1FNVPROC) __GLeeGetProcAddress("glVertexAttrib1fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1fvNV = (GLEEPFNGLVERTEXATTRIB1FVNVPROC) __GLeeGetProcAddress("glVertexAttrib1fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1sNV = (GLEEPFNGLVERTEXATTRIB1SNVPROC) __GLeeGetProcAddress("glVertexAttrib1sNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1svNV = (GLEEPFNGLVERTEXATTRIB1SVNVPROC) __GLeeGetProcAddress("glVertexAttrib1svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2dNV = (GLEEPFNGLVERTEXATTRIB2DNVPROC) __GLeeGetProcAddress("glVertexAttrib2dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2dvNV = (GLEEPFNGLVERTEXATTRIB2DVNVPROC) __GLeeGetProcAddress("glVertexAttrib2dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2fNV = (GLEEPFNGLVERTEXATTRIB2FNVPROC) __GLeeGetProcAddress("glVertexAttrib2fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2fvNV = (GLEEPFNGLVERTEXATTRIB2FVNVPROC) __GLeeGetProcAddress("glVertexAttrib2fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2sNV = (GLEEPFNGLVERTEXATTRIB2SNVPROC) __GLeeGetProcAddress("glVertexAttrib2sNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2svNV = (GLEEPFNGLVERTEXATTRIB2SVNVPROC) __GLeeGetProcAddress("glVertexAttrib2svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3dNV = (GLEEPFNGLVERTEXATTRIB3DNVPROC) __GLeeGetProcAddress("glVertexAttrib3dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3dvNV = (GLEEPFNGLVERTEXATTRIB3DVNVPROC) __GLeeGetProcAddress("glVertexAttrib3dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3fNV = (GLEEPFNGLVERTEXATTRIB3FNVPROC) __GLeeGetProcAddress("glVertexAttrib3fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3fvNV = (GLEEPFNGLVERTEXATTRIB3FVNVPROC) __GLeeGetProcAddress("glVertexAttrib3fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3sNV = (GLEEPFNGLVERTEXATTRIB3SNVPROC) __GLeeGetProcAddress("glVertexAttrib3sNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3svNV = (GLEEPFNGLVERTEXATTRIB3SVNVPROC) __GLeeGetProcAddress("glVertexAttrib3svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4dNV = (GLEEPFNGLVERTEXATTRIB4DNVPROC) __GLeeGetProcAddress("glVertexAttrib4dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4dvNV = (GLEEPFNGLVERTEXATTRIB4DVNVPROC) __GLeeGetProcAddress("glVertexAttrib4dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4fNV = (GLEEPFNGLVERTEXATTRIB4FNVPROC) __GLeeGetProcAddress("glVertexAttrib4fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4fvNV = (GLEEPFNGLVERTEXATTRIB4FVNVPROC) __GLeeGetProcAddress("glVertexAttrib4fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4sNV = (GLEEPFNGLVERTEXATTRIB4SNVPROC) __GLeeGetProcAddress("glVertexAttrib4sNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4svNV = (GLEEPFNGLVERTEXATTRIB4SVNVPROC) __GLeeGetProcAddress("glVertexAttrib4svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4ubNV = (GLEEPFNGLVERTEXATTRIB4UBNVPROC) __GLeeGetProcAddress("glVertexAttrib4ubNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4ubvNV = (GLEEPFNGLVERTEXATTRIB4UBVNVPROC) __GLeeGetProcAddress("glVertexAttrib4ubvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs1dvNV = (GLEEPFNGLVERTEXATTRIBS1DVNVPROC) __GLeeGetProcAddress("glVertexAttribs1dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs1fvNV = (GLEEPFNGLVERTEXATTRIBS1FVNVPROC) __GLeeGetProcAddress("glVertexAttribs1fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs1svNV = (GLEEPFNGLVERTEXATTRIBS1SVNVPROC) __GLeeGetProcAddress("glVertexAttribs1svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs2dvNV = (GLEEPFNGLVERTEXATTRIBS2DVNVPROC) __GLeeGetProcAddress("glVertexAttribs2dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs2fvNV = (GLEEPFNGLVERTEXATTRIBS2FVNVPROC) __GLeeGetProcAddress("glVertexAttribs2fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs2svNV = (GLEEPFNGLVERTEXATTRIBS2SVNVPROC) __GLeeGetProcAddress("glVertexAttribs2svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs3dvNV = (GLEEPFNGLVERTEXATTRIBS3DVNVPROC) __GLeeGetProcAddress("glVertexAttribs3dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs3fvNV = (GLEEPFNGLVERTEXATTRIBS3FVNVPROC) __GLeeGetProcAddress("glVertexAttribs3fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs3svNV = (GLEEPFNGLVERTEXATTRIBS3SVNVPROC) __GLeeGetProcAddress("glVertexAttribs3svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs4dvNV = (GLEEPFNGLVERTEXATTRIBS4DVNVPROC) __GLeeGetProcAddress("glVertexAttribs4dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs4fvNV = (GLEEPFNGLVERTEXATTRIBS4FVNVPROC) __GLeeGetProcAddress("glVertexAttribs4fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs4svNV = (GLEEPFNGLVERTEXATTRIBS4SVNVPROC) __GLeeGetProcAddress("glVertexAttribs4svNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs4ubvNV = (GLEEPFNGLVERTEXATTRIBS4UBVNVPROC) __GLeeGetProcAddress("glVertexAttribs4ubvNV"))!=0) nLinked++; -#endif - if (nLinked==64) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_texture_coordinate_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_scalebias_hint(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_OML_interlace(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_OML_subsample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_OML_resample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_copy_depth_to_color(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_envmap_bumpmap(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_envmap_bumpmap - if ((GLeeFuncPtr_glTexBumpParameterivATI = (GLEEPFNGLTEXBUMPPARAMETERIVATIPROC) __GLeeGetProcAddress("glTexBumpParameterivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexBumpParameterfvATI = (GLEEPFNGLTEXBUMPPARAMETERFVATIPROC) __GLeeGetProcAddress("glTexBumpParameterfvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexBumpParameterivATI = (GLEEPFNGLGETTEXBUMPPARAMETERIVATIPROC) __GLeeGetProcAddress("glGetTexBumpParameterivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexBumpParameterfvATI = (GLEEPFNGLGETTEXBUMPPARAMETERFVATIPROC) __GLeeGetProcAddress("glGetTexBumpParameterfvATI"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_fragment_shader(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_fragment_shader - if ((GLeeFuncPtr_glGenFragmentShadersATI = (GLEEPFNGLGENFRAGMENTSHADERSATIPROC) __GLeeGetProcAddress("glGenFragmentShadersATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindFragmentShaderATI = (GLEEPFNGLBINDFRAGMENTSHADERATIPROC) __GLeeGetProcAddress("glBindFragmentShaderATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteFragmentShaderATI = (GLEEPFNGLDELETEFRAGMENTSHADERATIPROC) __GLeeGetProcAddress("glDeleteFragmentShaderATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginFragmentShaderATI = (GLEEPFNGLBEGINFRAGMENTSHADERATIPROC) __GLeeGetProcAddress("glBeginFragmentShaderATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndFragmentShaderATI = (GLEEPFNGLENDFRAGMENTSHADERATIPROC) __GLeeGetProcAddress("glEndFragmentShaderATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glPassTexCoordATI = (GLEEPFNGLPASSTEXCOORDATIPROC) __GLeeGetProcAddress("glPassTexCoordATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glSampleMapATI = (GLEEPFNGLSAMPLEMAPATIPROC) __GLeeGetProcAddress("glSampleMapATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorFragmentOp1ATI = (GLEEPFNGLCOLORFRAGMENTOP1ATIPROC) __GLeeGetProcAddress("glColorFragmentOp1ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorFragmentOp2ATI = (GLEEPFNGLCOLORFRAGMENTOP2ATIPROC) __GLeeGetProcAddress("glColorFragmentOp2ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorFragmentOp3ATI = (GLEEPFNGLCOLORFRAGMENTOP3ATIPROC) __GLeeGetProcAddress("glColorFragmentOp3ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glAlphaFragmentOp1ATI = (GLEEPFNGLALPHAFRAGMENTOP1ATIPROC) __GLeeGetProcAddress("glAlphaFragmentOp1ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glAlphaFragmentOp2ATI = (GLEEPFNGLALPHAFRAGMENTOP2ATIPROC) __GLeeGetProcAddress("glAlphaFragmentOp2ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glAlphaFragmentOp3ATI = (GLEEPFNGLALPHAFRAGMENTOP3ATIPROC) __GLeeGetProcAddress("glAlphaFragmentOp3ATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glSetFragmentShaderConstantATI = (GLEEPFNGLSETFRAGMENTSHADERCONSTANTATIPROC) __GLeeGetProcAddress("glSetFragmentShaderConstantATI"))!=0) nLinked++; -#endif - if (nLinked==14) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_pn_triangles(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_pn_triangles - if ((GLeeFuncPtr_glPNTrianglesiATI = (GLEEPFNGLPNTRIANGLESIATIPROC) __GLeeGetProcAddress("glPNTrianglesiATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glPNTrianglesfATI = (GLEEPFNGLPNTRIANGLESFATIPROC) __GLeeGetProcAddress("glPNTrianglesfATI"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_vertex_array_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_vertex_array_object - if ((GLeeFuncPtr_glNewObjectBufferATI = (GLEEPFNGLNEWOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glNewObjectBufferATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsObjectBufferATI = (GLEEPFNGLISOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glIsObjectBufferATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glUpdateObjectBufferATI = (GLEEPFNGLUPDATEOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glUpdateObjectBufferATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectBufferfvATI = (GLEEPFNGLGETOBJECTBUFFERFVATIPROC) __GLeeGetProcAddress("glGetObjectBufferfvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectBufferivATI = (GLEEPFNGLGETOBJECTBUFFERIVATIPROC) __GLeeGetProcAddress("glGetObjectBufferivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glFreeObjectBufferATI = (GLEEPFNGLFREEOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glFreeObjectBufferATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glArrayObjectATI = (GLEEPFNGLARRAYOBJECTATIPROC) __GLeeGetProcAddress("glArrayObjectATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetArrayObjectfvATI = (GLEEPFNGLGETARRAYOBJECTFVATIPROC) __GLeeGetProcAddress("glGetArrayObjectfvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetArrayObjectivATI = (GLEEPFNGLGETARRAYOBJECTIVATIPROC) __GLeeGetProcAddress("glGetArrayObjectivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantArrayObjectATI = (GLEEPFNGLVARIANTARRAYOBJECTATIPROC) __GLeeGetProcAddress("glVariantArrayObjectATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantArrayObjectfvATI = (GLEEPFNGLGETVARIANTARRAYOBJECTFVATIPROC) __GLeeGetProcAddress("glGetVariantArrayObjectfvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantArrayObjectivATI = (GLEEPFNGLGETVARIANTARRAYOBJECTIVATIPROC) __GLeeGetProcAddress("glGetVariantArrayObjectivATI"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_vertex_shader(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_vertex_shader - if ((GLeeFuncPtr_glBeginVertexShaderEXT = (GLEEPFNGLBEGINVERTEXSHADEREXTPROC) __GLeeGetProcAddress("glBeginVertexShaderEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndVertexShaderEXT = (GLEEPFNGLENDVERTEXSHADEREXTPROC) __GLeeGetProcAddress("glEndVertexShaderEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindVertexShaderEXT = (GLEEPFNGLBINDVERTEXSHADEREXTPROC) __GLeeGetProcAddress("glBindVertexShaderEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenVertexShadersEXT = (GLEEPFNGLGENVERTEXSHADERSEXTPROC) __GLeeGetProcAddress("glGenVertexShadersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteVertexShaderEXT = (GLEEPFNGLDELETEVERTEXSHADEREXTPROC) __GLeeGetProcAddress("glDeleteVertexShaderEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderOp1EXT = (GLEEPFNGLSHADEROP1EXTPROC) __GLeeGetProcAddress("glShaderOp1EXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderOp2EXT = (GLEEPFNGLSHADEROP2EXTPROC) __GLeeGetProcAddress("glShaderOp2EXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glShaderOp3EXT = (GLEEPFNGLSHADEROP3EXTPROC) __GLeeGetProcAddress("glShaderOp3EXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSwizzleEXT = (GLEEPFNGLSWIZZLEEXTPROC) __GLeeGetProcAddress("glSwizzleEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glWriteMaskEXT = (GLEEPFNGLWRITEMASKEXTPROC) __GLeeGetProcAddress("glWriteMaskEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glInsertComponentEXT = (GLEEPFNGLINSERTCOMPONENTEXTPROC) __GLeeGetProcAddress("glInsertComponentEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glExtractComponentEXT = (GLEEPFNGLEXTRACTCOMPONENTEXTPROC) __GLeeGetProcAddress("glExtractComponentEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenSymbolsEXT = (GLEEPFNGLGENSYMBOLSEXTPROC) __GLeeGetProcAddress("glGenSymbolsEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSetInvariantEXT = (GLEEPFNGLSETINVARIANTEXTPROC) __GLeeGetProcAddress("glSetInvariantEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glSetLocalConstantEXT = (GLEEPFNGLSETLOCALCONSTANTEXTPROC) __GLeeGetProcAddress("glSetLocalConstantEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantbvEXT = (GLEEPFNGLVARIANTBVEXTPROC) __GLeeGetProcAddress("glVariantbvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantsvEXT = (GLEEPFNGLVARIANTSVEXTPROC) __GLeeGetProcAddress("glVariantsvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantivEXT = (GLEEPFNGLVARIANTIVEXTPROC) __GLeeGetProcAddress("glVariantivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantfvEXT = (GLEEPFNGLVARIANTFVEXTPROC) __GLeeGetProcAddress("glVariantfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantdvEXT = (GLEEPFNGLVARIANTDVEXTPROC) __GLeeGetProcAddress("glVariantdvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantubvEXT = (GLEEPFNGLVARIANTUBVEXTPROC) __GLeeGetProcAddress("glVariantubvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantusvEXT = (GLEEPFNGLVARIANTUSVEXTPROC) __GLeeGetProcAddress("glVariantusvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantuivEXT = (GLEEPFNGLVARIANTUIVEXTPROC) __GLeeGetProcAddress("glVariantuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVariantPointerEXT = (GLEEPFNGLVARIANTPOINTEREXTPROC) __GLeeGetProcAddress("glVariantPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnableVariantClientStateEXT = (GLEEPFNGLENABLEVARIANTCLIENTSTATEEXTPROC) __GLeeGetProcAddress("glEnableVariantClientStateEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableVariantClientStateEXT = (GLEEPFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) __GLeeGetProcAddress("glDisableVariantClientStateEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindLightParameterEXT = (GLEEPFNGLBINDLIGHTPARAMETEREXTPROC) __GLeeGetProcAddress("glBindLightParameterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindMaterialParameterEXT = (GLEEPFNGLBINDMATERIALPARAMETEREXTPROC) __GLeeGetProcAddress("glBindMaterialParameterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindTexGenParameterEXT = (GLEEPFNGLBINDTEXGENPARAMETEREXTPROC) __GLeeGetProcAddress("glBindTexGenParameterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindTextureUnitParameterEXT = (GLEEPFNGLBINDTEXTUREUNITPARAMETEREXTPROC) __GLeeGetProcAddress("glBindTextureUnitParameterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindParameterEXT = (GLEEPFNGLBINDPARAMETEREXTPROC) __GLeeGetProcAddress("glBindParameterEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsVariantEnabledEXT = (GLEEPFNGLISVARIANTENABLEDEXTPROC) __GLeeGetProcAddress("glIsVariantEnabledEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantBooleanvEXT = (GLEEPFNGLGETVARIANTBOOLEANVEXTPROC) __GLeeGetProcAddress("glGetVariantBooleanvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantIntegervEXT = (GLEEPFNGLGETVARIANTINTEGERVEXTPROC) __GLeeGetProcAddress("glGetVariantIntegervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantFloatvEXT = (GLEEPFNGLGETVARIANTFLOATVEXTPROC) __GLeeGetProcAddress("glGetVariantFloatvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVariantPointervEXT = (GLEEPFNGLGETVARIANTPOINTERVEXTPROC) __GLeeGetProcAddress("glGetVariantPointervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetInvariantBooleanvEXT = (GLEEPFNGLGETINVARIANTBOOLEANVEXTPROC) __GLeeGetProcAddress("glGetInvariantBooleanvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetInvariantIntegervEXT = (GLEEPFNGLGETINVARIANTINTEGERVEXTPROC) __GLeeGetProcAddress("glGetInvariantIntegervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetInvariantFloatvEXT = (GLEEPFNGLGETINVARIANTFLOATVEXTPROC) __GLeeGetProcAddress("glGetInvariantFloatvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetLocalConstantBooleanvEXT = (GLEEPFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) __GLeeGetProcAddress("glGetLocalConstantBooleanvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetLocalConstantIntegervEXT = (GLEEPFNGLGETLOCALCONSTANTINTEGERVEXTPROC) __GLeeGetProcAddress("glGetLocalConstantIntegervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetLocalConstantFloatvEXT = (GLEEPFNGLGETLOCALCONSTANTFLOATVEXTPROC) __GLeeGetProcAddress("glGetLocalConstantFloatvEXT"))!=0) nLinked++; -#endif - if (nLinked==42) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_vertex_streams(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_vertex_streams - if ((GLeeFuncPtr_glVertexStream1sATI = (GLEEPFNGLVERTEXSTREAM1SATIPROC) __GLeeGetProcAddress("glVertexStream1sATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1svATI = (GLEEPFNGLVERTEXSTREAM1SVATIPROC) __GLeeGetProcAddress("glVertexStream1svATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1iATI = (GLEEPFNGLVERTEXSTREAM1IATIPROC) __GLeeGetProcAddress("glVertexStream1iATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1ivATI = (GLEEPFNGLVERTEXSTREAM1IVATIPROC) __GLeeGetProcAddress("glVertexStream1ivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1fATI = (GLEEPFNGLVERTEXSTREAM1FATIPROC) __GLeeGetProcAddress("glVertexStream1fATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1fvATI = (GLEEPFNGLVERTEXSTREAM1FVATIPROC) __GLeeGetProcAddress("glVertexStream1fvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1dATI = (GLEEPFNGLVERTEXSTREAM1DATIPROC) __GLeeGetProcAddress("glVertexStream1dATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream1dvATI = (GLEEPFNGLVERTEXSTREAM1DVATIPROC) __GLeeGetProcAddress("glVertexStream1dvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2sATI = (GLEEPFNGLVERTEXSTREAM2SATIPROC) __GLeeGetProcAddress("glVertexStream2sATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2svATI = (GLEEPFNGLVERTEXSTREAM2SVATIPROC) __GLeeGetProcAddress("glVertexStream2svATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2iATI = (GLEEPFNGLVERTEXSTREAM2IATIPROC) __GLeeGetProcAddress("glVertexStream2iATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2ivATI = (GLEEPFNGLVERTEXSTREAM2IVATIPROC) __GLeeGetProcAddress("glVertexStream2ivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2fATI = (GLEEPFNGLVERTEXSTREAM2FATIPROC) __GLeeGetProcAddress("glVertexStream2fATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2fvATI = (GLEEPFNGLVERTEXSTREAM2FVATIPROC) __GLeeGetProcAddress("glVertexStream2fvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2dATI = (GLEEPFNGLVERTEXSTREAM2DATIPROC) __GLeeGetProcAddress("glVertexStream2dATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream2dvATI = (GLEEPFNGLVERTEXSTREAM2DVATIPROC) __GLeeGetProcAddress("glVertexStream2dvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3sATI = (GLEEPFNGLVERTEXSTREAM3SATIPROC) __GLeeGetProcAddress("glVertexStream3sATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3svATI = (GLEEPFNGLVERTEXSTREAM3SVATIPROC) __GLeeGetProcAddress("glVertexStream3svATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3iATI = (GLEEPFNGLVERTEXSTREAM3IATIPROC) __GLeeGetProcAddress("glVertexStream3iATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3ivATI = (GLEEPFNGLVERTEXSTREAM3IVATIPROC) __GLeeGetProcAddress("glVertexStream3ivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3fATI = (GLEEPFNGLVERTEXSTREAM3FATIPROC) __GLeeGetProcAddress("glVertexStream3fATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3fvATI = (GLEEPFNGLVERTEXSTREAM3FVATIPROC) __GLeeGetProcAddress("glVertexStream3fvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3dATI = (GLEEPFNGLVERTEXSTREAM3DATIPROC) __GLeeGetProcAddress("glVertexStream3dATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream3dvATI = (GLEEPFNGLVERTEXSTREAM3DVATIPROC) __GLeeGetProcAddress("glVertexStream3dvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4sATI = (GLEEPFNGLVERTEXSTREAM4SATIPROC) __GLeeGetProcAddress("glVertexStream4sATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4svATI = (GLEEPFNGLVERTEXSTREAM4SVATIPROC) __GLeeGetProcAddress("glVertexStream4svATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4iATI = (GLEEPFNGLVERTEXSTREAM4IATIPROC) __GLeeGetProcAddress("glVertexStream4iATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4ivATI = (GLEEPFNGLVERTEXSTREAM4IVATIPROC) __GLeeGetProcAddress("glVertexStream4ivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4fATI = (GLEEPFNGLVERTEXSTREAM4FATIPROC) __GLeeGetProcAddress("glVertexStream4fATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4fvATI = (GLEEPFNGLVERTEXSTREAM4FVATIPROC) __GLeeGetProcAddress("glVertexStream4fvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4dATI = (GLEEPFNGLVERTEXSTREAM4DATIPROC) __GLeeGetProcAddress("glVertexStream4dATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexStream4dvATI = (GLEEPFNGLVERTEXSTREAM4DVATIPROC) __GLeeGetProcAddress("glVertexStream4dvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3bATI = (GLEEPFNGLNORMALSTREAM3BATIPROC) __GLeeGetProcAddress("glNormalStream3bATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3bvATI = (GLEEPFNGLNORMALSTREAM3BVATIPROC) __GLeeGetProcAddress("glNormalStream3bvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3sATI = (GLEEPFNGLNORMALSTREAM3SATIPROC) __GLeeGetProcAddress("glNormalStream3sATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3svATI = (GLEEPFNGLNORMALSTREAM3SVATIPROC) __GLeeGetProcAddress("glNormalStream3svATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3iATI = (GLEEPFNGLNORMALSTREAM3IATIPROC) __GLeeGetProcAddress("glNormalStream3iATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3ivATI = (GLEEPFNGLNORMALSTREAM3IVATIPROC) __GLeeGetProcAddress("glNormalStream3ivATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3fATI = (GLEEPFNGLNORMALSTREAM3FATIPROC) __GLeeGetProcAddress("glNormalStream3fATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3fvATI = (GLEEPFNGLNORMALSTREAM3FVATIPROC) __GLeeGetProcAddress("glNormalStream3fvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3dATI = (GLEEPFNGLNORMALSTREAM3DATIPROC) __GLeeGetProcAddress("glNormalStream3dATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalStream3dvATI = (GLEEPFNGLNORMALSTREAM3DVATIPROC) __GLeeGetProcAddress("glNormalStream3dvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glClientActiveVertexStreamATI = (GLEEPFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) __GLeeGetProcAddress("glClientActiveVertexStreamATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexBlendEnviATI = (GLEEPFNGLVERTEXBLENDENVIATIPROC) __GLeeGetProcAddress("glVertexBlendEnviATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexBlendEnvfATI = (GLEEPFNGLVERTEXBLENDENVFATIPROC) __GLeeGetProcAddress("glVertexBlendEnvfATI"))!=0) nLinked++; -#endif - if (nLinked==45) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_element_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_element_array - if ((GLeeFuncPtr_glElementPointerATI = (GLEEPFNGLELEMENTPOINTERATIPROC) __GLeeGetProcAddress("glElementPointerATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementArrayATI = (GLEEPFNGLDRAWELEMENTARRAYATIPROC) __GLeeGetProcAddress("glDrawElementArrayATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawRangeElementArrayATI = (GLEEPFNGLDRAWRANGEELEMENTARRAYATIPROC) __GLeeGetProcAddress("glDrawRangeElementArrayATI"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SUN_mesh_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SUN_mesh_array - if ((GLeeFuncPtr_glDrawMeshArraysSUN = (GLEEPFNGLDRAWMESHARRAYSSUNPROC) __GLeeGetProcAddress("glDrawMeshArraysSUN"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SUN_slice_accum(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_multisample_filter_hint(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_depth_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_occlusion_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_occlusion_query - if ((GLeeFuncPtr_glGenOcclusionQueriesNV = (GLEEPFNGLGENOCCLUSIONQUERIESNVPROC) __GLeeGetProcAddress("glGenOcclusionQueriesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteOcclusionQueriesNV = (GLEEPFNGLDELETEOCCLUSIONQUERIESNVPROC) __GLeeGetProcAddress("glDeleteOcclusionQueriesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsOcclusionQueryNV = (GLEEPFNGLISOCCLUSIONQUERYNVPROC) __GLeeGetProcAddress("glIsOcclusionQueryNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginOcclusionQueryNV = (GLEEPFNGLBEGINOCCLUSIONQUERYNVPROC) __GLeeGetProcAddress("glBeginOcclusionQueryNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndOcclusionQueryNV = (GLEEPFNGLENDOCCLUSIONQUERYNVPROC) __GLeeGetProcAddress("glEndOcclusionQueryNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetOcclusionQueryivNV = (GLEEPFNGLGETOCCLUSIONQUERYIVNVPROC) __GLeeGetProcAddress("glGetOcclusionQueryivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetOcclusionQueryuivNV = (GLEEPFNGLGETOCCLUSIONQUERYUIVNVPROC) __GLeeGetProcAddress("glGetOcclusionQueryuivNV"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_point_sprite(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_point_sprite - if ((GLeeFuncPtr_glPointParameteriNV = (GLEEPFNGLPOINTPARAMETERINVPROC) __GLeeGetProcAddress("glPointParameteriNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterivNV = (GLEEPFNGLPOINTPARAMETERIVNVPROC) __GLeeGetProcAddress("glPointParameterivNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_texture_shader3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_program1_1(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_shadow_funcs(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_stencil_two_side(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_stencil_two_side - if ((GLeeFuncPtr_glActiveStencilFaceEXT = (GLEEPFNGLACTIVESTENCILFACEEXTPROC) __GLeeGetProcAddress("glActiveStencilFaceEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_text_fragment_shader(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_client_storage(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_element_array(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_element_array - if ((GLeeFuncPtr_glElementPointerAPPLE = (GLEEPFNGLELEMENTPOINTERAPPLEPROC) __GLeeGetProcAddress("glElementPointerAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementArrayAPPLE = (GLEEPFNGLDRAWELEMENTARRAYAPPLEPROC) __GLeeGetProcAddress("glDrawElementArrayAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawRangeElementArrayAPPLE = (GLEEPFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) __GLeeGetProcAddress("glDrawRangeElementArrayAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElementArrayAPPLE = (GLEEPFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) __GLeeGetProcAddress("glMultiDrawElementArrayAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawRangeElementArrayAPPLE = (GLEEPFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) __GLeeGetProcAddress("glMultiDrawRangeElementArrayAPPLE"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_fence(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_fence - if ((GLeeFuncPtr_glGenFencesAPPLE = (GLEEPFNGLGENFENCESAPPLEPROC) __GLeeGetProcAddress("glGenFencesAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteFencesAPPLE = (GLEEPFNGLDELETEFENCESAPPLEPROC) __GLeeGetProcAddress("glDeleteFencesAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glSetFenceAPPLE = (GLEEPFNGLSETFENCEAPPLEPROC) __GLeeGetProcAddress("glSetFenceAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsFenceAPPLE = (GLEEPFNGLISFENCEAPPLEPROC) __GLeeGetProcAddress("glIsFenceAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glTestFenceAPPLE = (GLEEPFNGLTESTFENCEAPPLEPROC) __GLeeGetProcAddress("glTestFenceAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glFinishFenceAPPLE = (GLEEPFNGLFINISHFENCEAPPLEPROC) __GLeeGetProcAddress("glFinishFenceAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glTestObjectAPPLE = (GLEEPFNGLTESTOBJECTAPPLEPROC) __GLeeGetProcAddress("glTestObjectAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glFinishObjectAPPLE = (GLEEPFNGLFINISHOBJECTAPPLEPROC) __GLeeGetProcAddress("glFinishObjectAPPLE"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_vertex_array_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_vertex_array_object - if ((GLeeFuncPtr_glBindVertexArrayAPPLE = (GLEEPFNGLBINDVERTEXARRAYAPPLEPROC) __GLeeGetProcAddress("glBindVertexArrayAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteVertexArraysAPPLE = (GLEEPFNGLDELETEVERTEXARRAYSAPPLEPROC) __GLeeGetProcAddress("glDeleteVertexArraysAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenVertexArraysAPPLE = (GLEEPFNGLGENVERTEXARRAYSAPPLEPROC) __GLeeGetProcAddress("glGenVertexArraysAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsVertexArrayAPPLE = (GLEEPFNGLISVERTEXARRAYAPPLEPROC) __GLeeGetProcAddress("glIsVertexArrayAPPLE"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_vertex_array_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_vertex_array_range - if ((GLeeFuncPtr_glVertexArrayRangeAPPLE = (GLEEPFNGLVERTEXARRAYRANGEAPPLEPROC) __GLeeGetProcAddress("glVertexArrayRangeAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glFlushVertexArrayRangeAPPLE = (GLEEPFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) __GLeeGetProcAddress("glFlushVertexArrayRangeAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayParameteriAPPLE = (GLEEPFNGLVERTEXARRAYPARAMETERIAPPLEPROC) __GLeeGetProcAddress("glVertexArrayParameteriAPPLE"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_ycbcr_422(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_S3_s3tc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_draw_buffers(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_draw_buffers - if ((GLeeFuncPtr_glDrawBuffersATI = (GLEEPFNGLDRAWBUFFERSATIPROC) __GLeeGetProcAddress("glDrawBuffersATI"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_pixel_format_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_texture_env_combine3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_texture_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_float_buffer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_fragment_program(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_fragment_program - if ((GLeeFuncPtr_glProgramNamedParameter4fNV = (GLEEPFNGLPROGRAMNAMEDPARAMETER4FNVPROC) __GLeeGetProcAddress("glProgramNamedParameter4fNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramNamedParameter4fvNV = (GLEEPFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) __GLeeGetProcAddress("glProgramNamedParameter4fvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramNamedParameter4dNV = (GLEEPFNGLPROGRAMNAMEDPARAMETER4DNVPROC) __GLeeGetProcAddress("glProgramNamedParameter4dNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramNamedParameter4dvNV = (GLEEPFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) __GLeeGetProcAddress("glProgramNamedParameter4dvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramNamedParameterfvNV = (GLEEPFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetProgramNamedParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramNamedParameterdvNV = (GLEEPFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) __GLeeGetProcAddress("glGetProgramNamedParameterdvNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_half_float(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_half_float - if ((GLeeFuncPtr_glVertex2hNV = (GLEEPFNGLVERTEX2HNVPROC) __GLeeGetProcAddress("glVertex2hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex2hvNV = (GLEEPFNGLVERTEX2HVNVPROC) __GLeeGetProcAddress("glVertex2hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3hNV = (GLEEPFNGLVERTEX3HNVPROC) __GLeeGetProcAddress("glVertex3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3hvNV = (GLEEPFNGLVERTEX3HVNVPROC) __GLeeGetProcAddress("glVertex3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4hNV = (GLEEPFNGLVERTEX4HNVPROC) __GLeeGetProcAddress("glVertex4hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4hvNV = (GLEEPFNGLVERTEX4HVNVPROC) __GLeeGetProcAddress("glVertex4hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3hNV = (GLEEPFNGLNORMAL3HNVPROC) __GLeeGetProcAddress("glNormal3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3hvNV = (GLEEPFNGLNORMAL3HVNVPROC) __GLeeGetProcAddress("glNormal3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3hNV = (GLEEPFNGLCOLOR3HNVPROC) __GLeeGetProcAddress("glColor3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3hvNV = (GLEEPFNGLCOLOR3HVNVPROC) __GLeeGetProcAddress("glColor3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4hNV = (GLEEPFNGLCOLOR4HNVPROC) __GLeeGetProcAddress("glColor4hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4hvNV = (GLEEPFNGLCOLOR4HVNVPROC) __GLeeGetProcAddress("glColor4hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1hNV = (GLEEPFNGLTEXCOORD1HNVPROC) __GLeeGetProcAddress("glTexCoord1hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1hvNV = (GLEEPFNGLTEXCOORD1HVNVPROC) __GLeeGetProcAddress("glTexCoord1hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2hNV = (GLEEPFNGLTEXCOORD2HNVPROC) __GLeeGetProcAddress("glTexCoord2hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2hvNV = (GLEEPFNGLTEXCOORD2HVNVPROC) __GLeeGetProcAddress("glTexCoord2hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3hNV = (GLEEPFNGLTEXCOORD3HNVPROC) __GLeeGetProcAddress("glTexCoord3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3hvNV = (GLEEPFNGLTEXCOORD3HVNVPROC) __GLeeGetProcAddress("glTexCoord3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4hNV = (GLEEPFNGLTEXCOORD4HNVPROC) __GLeeGetProcAddress("glTexCoord4hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4hvNV = (GLEEPFNGLTEXCOORD4HVNVPROC) __GLeeGetProcAddress("glTexCoord4hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1hNV = (GLEEPFNGLMULTITEXCOORD1HNVPROC) __GLeeGetProcAddress("glMultiTexCoord1hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1hvNV = (GLEEPFNGLMULTITEXCOORD1HVNVPROC) __GLeeGetProcAddress("glMultiTexCoord1hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2hNV = (GLEEPFNGLMULTITEXCOORD2HNVPROC) __GLeeGetProcAddress("glMultiTexCoord2hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2hvNV = (GLEEPFNGLMULTITEXCOORD2HVNVPROC) __GLeeGetProcAddress("glMultiTexCoord2hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3hNV = (GLEEPFNGLMULTITEXCOORD3HNVPROC) __GLeeGetProcAddress("glMultiTexCoord3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3hvNV = (GLEEPFNGLMULTITEXCOORD3HVNVPROC) __GLeeGetProcAddress("glMultiTexCoord3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4hNV = (GLEEPFNGLMULTITEXCOORD4HNVPROC) __GLeeGetProcAddress("glMultiTexCoord4hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4hvNV = (GLEEPFNGLMULTITEXCOORD4HVNVPROC) __GLeeGetProcAddress("glMultiTexCoord4hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordhNV = (GLEEPFNGLFOGCOORDHNVPROC) __GLeeGetProcAddress("glFogCoordhNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordhvNV = (GLEEPFNGLFOGCOORDHVNVPROC) __GLeeGetProcAddress("glFogCoordhvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3hNV = (GLEEPFNGLSECONDARYCOLOR3HNVPROC) __GLeeGetProcAddress("glSecondaryColor3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColor3hvNV = (GLEEPFNGLSECONDARYCOLOR3HVNVPROC) __GLeeGetProcAddress("glSecondaryColor3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexWeighthNV = (GLEEPFNGLVERTEXWEIGHTHNVPROC) __GLeeGetProcAddress("glVertexWeighthNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexWeighthvNV = (GLEEPFNGLVERTEXWEIGHTHVNVPROC) __GLeeGetProcAddress("glVertexWeighthvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1hNV = (GLEEPFNGLVERTEXATTRIB1HNVPROC) __GLeeGetProcAddress("glVertexAttrib1hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib1hvNV = (GLEEPFNGLVERTEXATTRIB1HVNVPROC) __GLeeGetProcAddress("glVertexAttrib1hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2hNV = (GLEEPFNGLVERTEXATTRIB2HNVPROC) __GLeeGetProcAddress("glVertexAttrib2hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib2hvNV = (GLEEPFNGLVERTEXATTRIB2HVNVPROC) __GLeeGetProcAddress("glVertexAttrib2hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3hNV = (GLEEPFNGLVERTEXATTRIB3HNVPROC) __GLeeGetProcAddress("glVertexAttrib3hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib3hvNV = (GLEEPFNGLVERTEXATTRIB3HVNVPROC) __GLeeGetProcAddress("glVertexAttrib3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4hNV = (GLEEPFNGLVERTEXATTRIB4HNVPROC) __GLeeGetProcAddress("glVertexAttrib4hNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttrib4hvNV = (GLEEPFNGLVERTEXATTRIB4HVNVPROC) __GLeeGetProcAddress("glVertexAttrib4hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs1hvNV = (GLEEPFNGLVERTEXATTRIBS1HVNVPROC) __GLeeGetProcAddress("glVertexAttribs1hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs2hvNV = (GLEEPFNGLVERTEXATTRIBS2HVNVPROC) __GLeeGetProcAddress("glVertexAttribs2hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs3hvNV = (GLEEPFNGLVERTEXATTRIBS3HVNVPROC) __GLeeGetProcAddress("glVertexAttribs3hvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribs4hvNV = (GLEEPFNGLVERTEXATTRIBS4HVNVPROC) __GLeeGetProcAddress("glVertexAttribs4hvNV"))!=0) nLinked++; -#endif - if (nLinked==46) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_pixel_data_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_pixel_data_range - if ((GLeeFuncPtr_glPixelDataRangeNV = (GLEEPFNGLPIXELDATARANGENVPROC) __GLeeGetProcAddress("glPixelDataRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFlushPixelDataRangeNV = (GLEEPFNGLFLUSHPIXELDATARANGENVPROC) __GLeeGetProcAddress("glFlushPixelDataRangeNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_primitive_restart(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_primitive_restart - if ((GLeeFuncPtr_glPrimitiveRestartNV = (GLEEPFNGLPRIMITIVERESTARTNVPROC) __GLeeGetProcAddress("glPrimitiveRestartNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPrimitiveRestartIndexNV = (GLEEPFNGLPRIMITIVERESTARTINDEXNVPROC) __GLeeGetProcAddress("glPrimitiveRestartIndexNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_texture_expand_normal(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_program2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_ATI_map_object_buffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_map_object_buffer - if ((GLeeFuncPtr_glMapObjectBufferATI = (GLEEPFNGLMAPOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glMapObjectBufferATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnmapObjectBufferATI = (GLEEPFNGLUNMAPOBJECTBUFFERATIPROC) __GLeeGetProcAddress("glUnmapObjectBufferATI"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_separate_stencil(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_separate_stencil - if ((GLeeFuncPtr_glStencilOpSeparateATI = (GLEEPFNGLSTENCILOPSEPARATEATIPROC) __GLeeGetProcAddress("glStencilOpSeparateATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilFuncSeparateATI = (GLEEPFNGLSTENCILFUNCSEPARATEATIPROC) __GLeeGetProcAddress("glStencilFuncSeparateATI"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_vertex_attrib_array_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_ATI_vertex_attrib_array_object - if ((GLeeFuncPtr_glVertexAttribArrayObjectATI = (GLEEPFNGLVERTEXATTRIBARRAYOBJECTATIPROC) __GLeeGetProcAddress("glVertexAttribArrayObjectATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribArrayObjectfvATI = (GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) __GLeeGetProcAddress("glGetVertexAttribArrayObjectfvATI"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribArrayObjectivATI = (GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) __GLeeGetProcAddress("glGetVertexAttribArrayObjectivATI"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_OES_byte_coordinates(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_OES_byte_coordinates - if ((GLeeFuncPtr_glMultiTexCoord1bOES = (GLEEPFNGLMULTITEXCOORD1BOESPROC) __GLeeGetProcAddress("glMultiTexCoord1bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1bvOES = (GLEEPFNGLMULTITEXCOORD1BVOESPROC) __GLeeGetProcAddress("glMultiTexCoord1bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2bOES = (GLEEPFNGLMULTITEXCOORD2BOESPROC) __GLeeGetProcAddress("glMultiTexCoord2bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2bvOES = (GLEEPFNGLMULTITEXCOORD2BVOESPROC) __GLeeGetProcAddress("glMultiTexCoord2bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3bOES = (GLEEPFNGLMULTITEXCOORD3BOESPROC) __GLeeGetProcAddress("glMultiTexCoord3bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3bvOES = (GLEEPFNGLMULTITEXCOORD3BVOESPROC) __GLeeGetProcAddress("glMultiTexCoord3bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4bOES = (GLEEPFNGLMULTITEXCOORD4BOESPROC) __GLeeGetProcAddress("glMultiTexCoord4bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4bvOES = (GLEEPFNGLMULTITEXCOORD4BVOESPROC) __GLeeGetProcAddress("glMultiTexCoord4bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1bOES = (GLEEPFNGLTEXCOORD1BOESPROC) __GLeeGetProcAddress("glTexCoord1bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1bvOES = (GLEEPFNGLTEXCOORD1BVOESPROC) __GLeeGetProcAddress("glTexCoord1bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2bOES = (GLEEPFNGLTEXCOORD2BOESPROC) __GLeeGetProcAddress("glTexCoord2bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2bvOES = (GLEEPFNGLTEXCOORD2BVOESPROC) __GLeeGetProcAddress("glTexCoord2bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3bOES = (GLEEPFNGLTEXCOORD3BOESPROC) __GLeeGetProcAddress("glTexCoord3bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3bvOES = (GLEEPFNGLTEXCOORD3BVOESPROC) __GLeeGetProcAddress("glTexCoord3bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4bOES = (GLEEPFNGLTEXCOORD4BOESPROC) __GLeeGetProcAddress("glTexCoord4bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4bvOES = (GLEEPFNGLTEXCOORD4BVOESPROC) __GLeeGetProcAddress("glTexCoord4bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex2bOES = (GLEEPFNGLVERTEX2BOESPROC) __GLeeGetProcAddress("glVertex2bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex2bvOES = (GLEEPFNGLVERTEX2BVOESPROC) __GLeeGetProcAddress("glVertex2bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3bOES = (GLEEPFNGLVERTEX3BOESPROC) __GLeeGetProcAddress("glVertex3bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3bvOES = (GLEEPFNGLVERTEX3BVOESPROC) __GLeeGetProcAddress("glVertex3bvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4bOES = (GLEEPFNGLVERTEX4BOESPROC) __GLeeGetProcAddress("glVertex4bOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4bvOES = (GLEEPFNGLVERTEX4BVOESPROC) __GLeeGetProcAddress("glVertex4bvOES"))!=0) nLinked++; -#endif - if (nLinked==22) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_OES_fixed_point(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_OES_fixed_point - if ((GLeeFuncPtr_glAccumxOES = (GLEEPFNGLACCUMXOESPROC) __GLeeGetProcAddress("glAccumxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glAlphaFuncxOES = (GLEEPFNGLALPHAFUNCXOESPROC) __GLeeGetProcAddress("glAlphaFuncxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glBitmapxOES = (GLEEPFNGLBITMAPXOESPROC) __GLeeGetProcAddress("glBitmapxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendColorxOES = (GLEEPFNGLBLENDCOLORXOESPROC) __GLeeGetProcAddress("glBlendColorxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearAccumxOES = (GLEEPFNGLCLEARACCUMXOESPROC) __GLeeGetProcAddress("glClearAccumxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearColorxOES = (GLEEPFNGLCLEARCOLORXOESPROC) __GLeeGetProcAddress("glClearColorxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearDepthxOES = (GLEEPFNGLCLEARDEPTHXOESPROC) __GLeeGetProcAddress("glClearDepthxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClipPlanexOES = (GLEEPFNGLCLIPPLANEXOESPROC) __GLeeGetProcAddress("glClipPlanexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3xOES = (GLEEPFNGLCOLOR3XOESPROC) __GLeeGetProcAddress("glColor3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4xOES = (GLEEPFNGLCOLOR4XOESPROC) __GLeeGetProcAddress("glColor4xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor3xvOES = (GLEEPFNGLCOLOR3XVOESPROC) __GLeeGetProcAddress("glColor3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glColor4xvOES = (GLEEPFNGLCOLOR4XVOESPROC) __GLeeGetProcAddress("glColor4xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterxOES = (GLEEPFNGLCONVOLUTIONPARAMETERXOESPROC) __GLeeGetProcAddress("glConvolutionParameterxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glConvolutionParameterxvOES = (GLEEPFNGLCONVOLUTIONPARAMETERXVOESPROC) __GLeeGetProcAddress("glConvolutionParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glDepthRangexOES = (GLEEPFNGLDEPTHRANGEXOESPROC) __GLeeGetProcAddress("glDepthRangexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glEvalCoord1xOES = (GLEEPFNGLEVALCOORD1XOESPROC) __GLeeGetProcAddress("glEvalCoord1xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glEvalCoord2xOES = (GLEEPFNGLEVALCOORD2XOESPROC) __GLeeGetProcAddress("glEvalCoord2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glEvalCoord1xvOES = (GLEEPFNGLEVALCOORD1XVOESPROC) __GLeeGetProcAddress("glEvalCoord1xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glEvalCoord2xvOES = (GLEEPFNGLEVALCOORD2XVOESPROC) __GLeeGetProcAddress("glEvalCoord2xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glFeedbackBufferxOES = (GLEEPFNGLFEEDBACKBUFFERXOESPROC) __GLeeGetProcAddress("glFeedbackBufferxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogxOES = (GLEEPFNGLFOGXOESPROC) __GLeeGetProcAddress("glFogxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogxvOES = (GLEEPFNGLFOGXVOESPROC) __GLeeGetProcAddress("glFogxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glFrustumxOES = (GLEEPFNGLFRUSTUMXOESPROC) __GLeeGetProcAddress("glFrustumxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetClipPlanexOES = (GLEEPFNGLGETCLIPPLANEXOESPROC) __GLeeGetProcAddress("glGetClipPlanexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetConvolutionParameterxvOES = (GLEEPFNGLGETCONVOLUTIONPARAMETERXVOESPROC) __GLeeGetProcAddress("glGetConvolutionParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFixedvOES = (GLEEPFNGLGETFIXEDVOESPROC) __GLeeGetProcAddress("glGetFixedvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetHistogramParameterxvOES = (GLEEPFNGLGETHISTOGRAMPARAMETERXVOESPROC) __GLeeGetProcAddress("glGetHistogramParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetLightxOES = (GLEEPFNGLGETLIGHTXOESPROC) __GLeeGetProcAddress("glGetLightxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMapxvOES = (GLEEPFNGLGETMAPXVOESPROC) __GLeeGetProcAddress("glGetMapxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMaterialxOES = (GLEEPFNGLGETMATERIALXOESPROC) __GLeeGetProcAddress("glGetMaterialxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPixelMapxv = (GLEEPFNGLGETPIXELMAPXVPROC) __GLeeGetProcAddress("glGetPixelMapxv"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexEnvxvOES = (GLEEPFNGLGETTEXENVXVOESPROC) __GLeeGetProcAddress("glGetTexEnvxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexGenxvOES = (GLEEPFNGLGETTEXGENXVOESPROC) __GLeeGetProcAddress("glGetTexGenxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexLevelParameterxvOES = (GLEEPFNGLGETTEXLEVELPARAMETERXVOESPROC) __GLeeGetProcAddress("glGetTexLevelParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterxvOES = (GLEEPFNGLGETTEXPARAMETERXVOESPROC) __GLeeGetProcAddress("glGetTexParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glIndexxOES = (GLEEPFNGLINDEXXOESPROC) __GLeeGetProcAddress("glIndexxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glIndexxvOES = (GLEEPFNGLINDEXXVOESPROC) __GLeeGetProcAddress("glIndexxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLightModelxOES = (GLEEPFNGLLIGHTMODELXOESPROC) __GLeeGetProcAddress("glLightModelxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLightModelxvOES = (GLEEPFNGLLIGHTMODELXVOESPROC) __GLeeGetProcAddress("glLightModelxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLightxOES = (GLEEPFNGLLIGHTXOESPROC) __GLeeGetProcAddress("glLightxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLightxvOES = (GLEEPFNGLLIGHTXVOESPROC) __GLeeGetProcAddress("glLightxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLineWidthxOES = (GLEEPFNGLLINEWIDTHXOESPROC) __GLeeGetProcAddress("glLineWidthxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadMatrixxOES = (GLEEPFNGLLOADMATRIXXOESPROC) __GLeeGetProcAddress("glLoadMatrixxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glLoadTransposeMatrixxOES = (GLEEPFNGLLOADTRANSPOSEMATRIXXOESPROC) __GLeeGetProcAddress("glLoadTransposeMatrixxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMap1xOES = (GLEEPFNGLMAP1XOESPROC) __GLeeGetProcAddress("glMap1xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMap2xOES = (GLEEPFNGLMAP2XOESPROC) __GLeeGetProcAddress("glMap2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapGrid1xOES = (GLEEPFNGLMAPGRID1XOESPROC) __GLeeGetProcAddress("glMapGrid1xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapGrid2xOES = (GLEEPFNGLMAPGRID2XOESPROC) __GLeeGetProcAddress("glMapGrid2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMaterialxOES = (GLEEPFNGLMATERIALXOESPROC) __GLeeGetProcAddress("glMaterialxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMaterialxvOES = (GLEEPFNGLMATERIALXVOESPROC) __GLeeGetProcAddress("glMaterialxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultMatrixxOES = (GLEEPFNGLMULTMATRIXXOESPROC) __GLeeGetProcAddress("glMultMatrixxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultTransposeMatrixxOES = (GLEEPFNGLMULTTRANSPOSEMATRIXXOESPROC) __GLeeGetProcAddress("glMultTransposeMatrixxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1xOES = (GLEEPFNGLMULTITEXCOORD1XOESPROC) __GLeeGetProcAddress("glMultiTexCoord1xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2xOES = (GLEEPFNGLMULTITEXCOORD2XOESPROC) __GLeeGetProcAddress("glMultiTexCoord2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3xOES = (GLEEPFNGLMULTITEXCOORD3XOESPROC) __GLeeGetProcAddress("glMultiTexCoord3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4xOES = (GLEEPFNGLMULTITEXCOORD4XOESPROC) __GLeeGetProcAddress("glMultiTexCoord4xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord1xvOES = (GLEEPFNGLMULTITEXCOORD1XVOESPROC) __GLeeGetProcAddress("glMultiTexCoord1xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord2xvOES = (GLEEPFNGLMULTITEXCOORD2XVOESPROC) __GLeeGetProcAddress("glMultiTexCoord2xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord3xvOES = (GLEEPFNGLMULTITEXCOORD3XVOESPROC) __GLeeGetProcAddress("glMultiTexCoord3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoord4xvOES = (GLEEPFNGLMULTITEXCOORD4XVOESPROC) __GLeeGetProcAddress("glMultiTexCoord4xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3xOES = (GLEEPFNGLNORMAL3XOESPROC) __GLeeGetProcAddress("glNormal3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormal3xvOES = (GLEEPFNGLNORMAL3XVOESPROC) __GLeeGetProcAddress("glNormal3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glOrthoxOES = (GLEEPFNGLORTHOXOESPROC) __GLeeGetProcAddress("glOrthoxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPassThroughxOES = (GLEEPFNGLPASSTHROUGHXOESPROC) __GLeeGetProcAddress("glPassThroughxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelMapx = (GLEEPFNGLPIXELMAPXPROC) __GLeeGetProcAddress("glPixelMapx"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelStorex = (GLEEPFNGLPIXELSTOREXPROC) __GLeeGetProcAddress("glPixelStorex"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelTransferxOES = (GLEEPFNGLPIXELTRANSFERXOESPROC) __GLeeGetProcAddress("glPixelTransferxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPixelZoomxOES = (GLEEPFNGLPIXELZOOMXOESPROC) __GLeeGetProcAddress("glPixelZoomxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointParameterxvOES = (GLEEPFNGLPOINTPARAMETERXVOESPROC) __GLeeGetProcAddress("glPointParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointSizexOES = (GLEEPFNGLPOINTSIZEXOESPROC) __GLeeGetProcAddress("glPointSizexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPolygonOffsetxOES = (GLEEPFNGLPOLYGONOFFSETXOESPROC) __GLeeGetProcAddress("glPolygonOffsetxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glPrioritizeTexturesxOES = (GLEEPFNGLPRIORITIZETEXTURESXOESPROC) __GLeeGetProcAddress("glPrioritizeTexturesxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos2xOES = (GLEEPFNGLRASTERPOS2XOESPROC) __GLeeGetProcAddress("glRasterPos2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos3xOES = (GLEEPFNGLRASTERPOS3XOESPROC) __GLeeGetProcAddress("glRasterPos3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos4xOES = (GLEEPFNGLRASTERPOS4XOESPROC) __GLeeGetProcAddress("glRasterPos4xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos2xvOES = (GLEEPFNGLRASTERPOS2XVOESPROC) __GLeeGetProcAddress("glRasterPos2xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos3xvOES = (GLEEPFNGLRASTERPOS3XVOESPROC) __GLeeGetProcAddress("glRasterPos3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRasterPos4xvOES = (GLEEPFNGLRASTERPOS4XVOESPROC) __GLeeGetProcAddress("glRasterPos4xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRectxOES = (GLEEPFNGLRECTXOESPROC) __GLeeGetProcAddress("glRectxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRectxvOES = (GLEEPFNGLRECTXVOESPROC) __GLeeGetProcAddress("glRectxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glRotatexOES = (GLEEPFNGLROTATEXOESPROC) __GLeeGetProcAddress("glRotatexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glSampleCoverageOES = (GLEEPFNGLSAMPLECOVERAGEOESPROC) __GLeeGetProcAddress("glSampleCoverageOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glScalexOES = (GLEEPFNGLSCALEXOESPROC) __GLeeGetProcAddress("glScalexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1xOES = (GLEEPFNGLTEXCOORD1XOESPROC) __GLeeGetProcAddress("glTexCoord1xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2xOES = (GLEEPFNGLTEXCOORD2XOESPROC) __GLeeGetProcAddress("glTexCoord2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3xOES = (GLEEPFNGLTEXCOORD3XOESPROC) __GLeeGetProcAddress("glTexCoord3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4xOES = (GLEEPFNGLTEXCOORD4XOESPROC) __GLeeGetProcAddress("glTexCoord4xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord1xvOES = (GLEEPFNGLTEXCOORD1XVOESPROC) __GLeeGetProcAddress("glTexCoord1xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord2xvOES = (GLEEPFNGLTEXCOORD2XVOESPROC) __GLeeGetProcAddress("glTexCoord2xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord3xvOES = (GLEEPFNGLTEXCOORD3XVOESPROC) __GLeeGetProcAddress("glTexCoord3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoord4xvOES = (GLEEPFNGLTEXCOORD4XVOESPROC) __GLeeGetProcAddress("glTexCoord4xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexEnvxOES = (GLEEPFNGLTEXENVXOESPROC) __GLeeGetProcAddress("glTexEnvxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexEnvxvOES = (GLEEPFNGLTEXENVXVOESPROC) __GLeeGetProcAddress("glTexEnvxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexGenxOES = (GLEEPFNGLTEXGENXOESPROC) __GLeeGetProcAddress("glTexGenxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexGenxvOES = (GLEEPFNGLTEXGENXVOESPROC) __GLeeGetProcAddress("glTexGenxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexParameterxOES = (GLEEPFNGLTEXPARAMETERXOESPROC) __GLeeGetProcAddress("glTexParameterxOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexParameterxvOES = (GLEEPFNGLTEXPARAMETERXVOESPROC) __GLeeGetProcAddress("glTexParameterxvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glTranslatexOES = (GLEEPFNGLTRANSLATEXOESPROC) __GLeeGetProcAddress("glTranslatexOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex2xOES = (GLEEPFNGLVERTEX2XOESPROC) __GLeeGetProcAddress("glVertex2xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3xOES = (GLEEPFNGLVERTEX3XOESPROC) __GLeeGetProcAddress("glVertex3xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4xOES = (GLEEPFNGLVERTEX4XOESPROC) __GLeeGetProcAddress("glVertex4xOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex2xvOES = (GLEEPFNGLVERTEX2XVOESPROC) __GLeeGetProcAddress("glVertex2xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex3xvOES = (GLEEPFNGLVERTEX3XVOESPROC) __GLeeGetProcAddress("glVertex3xvOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertex4xvOES = (GLEEPFNGLVERTEX4XVOESPROC) __GLeeGetProcAddress("glVertex4xvOES"))!=0) nLinked++; -#endif - if (nLinked==104) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_OES_single_precision(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_OES_single_precision - if ((GLeeFuncPtr_glDepthRangefOES = (GLEEPFNGLDEPTHRANGEFOESPROC) __GLeeGetProcAddress("glDepthRangefOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glFrustumfOES = (GLEEPFNGLFRUSTUMFOESPROC) __GLeeGetProcAddress("glFrustumfOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glOrthofOES = (GLEEPFNGLORTHOFOESPROC) __GLeeGetProcAddress("glOrthofOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClipPlanefOES = (GLEEPFNGLCLIPPLANEFOESPROC) __GLeeGetProcAddress("glClipPlanefOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearDepthfOES = (GLEEPFNGLCLEARDEPTHFOESPROC) __GLeeGetProcAddress("glClearDepthfOES"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetClipPlanefOES = (GLEEPFNGLGETCLIPPLANEFOESPROC) __GLeeGetProcAddress("glGetClipPlanefOES"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_OES_compressed_paletted_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_OES_read_format(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_OES_query_matrix(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_OES_query_matrix - if ((GLeeFuncPtr_glQueryMatrixxOES = (GLEEPFNGLQUERYMATRIXXOESPROC) __GLeeGetProcAddress("glQueryMatrixxOES"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_depth_bounds_test(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_depth_bounds_test - if ((GLeeFuncPtr_glDepthBoundsEXT = (GLEEPFNGLDEPTHBOUNDSEXTPROC) __GLeeGetProcAddress("glDepthBoundsEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_mirror_clamp(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_blend_equation_separate(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_blend_equation_separate - if ((GLeeFuncPtr_glBlendEquationSeparateEXT = (GLEEPFNGLBLENDEQUATIONSEPARATEEXTPROC) __GLeeGetProcAddress("glBlendEquationSeparateEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_MESA_pack_invert(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_MESA_ycbcr_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_pixel_buffer_object(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_fragment_program_option(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_fragment_program2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_program2_option(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_program3(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_framebuffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_framebuffer_object - if ((GLeeFuncPtr_glIsRenderbufferEXT = (GLEEPFNGLISRENDERBUFFEREXTPROC) __GLeeGetProcAddress("glIsRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindRenderbufferEXT = (GLEEPFNGLBINDRENDERBUFFEREXTPROC) __GLeeGetProcAddress("glBindRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteRenderbuffersEXT = (GLEEPFNGLDELETERENDERBUFFERSEXTPROC) __GLeeGetProcAddress("glDeleteRenderbuffersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenRenderbuffersEXT = (GLEEPFNGLGENRENDERBUFFERSEXTPROC) __GLeeGetProcAddress("glGenRenderbuffersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glRenderbufferStorageEXT = (GLEEPFNGLRENDERBUFFERSTORAGEEXTPROC) __GLeeGetProcAddress("glRenderbufferStorageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetRenderbufferParameterivEXT = (GLEEPFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetRenderbufferParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsFramebufferEXT = (GLEEPFNGLISFRAMEBUFFEREXTPROC) __GLeeGetProcAddress("glIsFramebufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindFramebufferEXT = (GLEEPFNGLBINDFRAMEBUFFEREXTPROC) __GLeeGetProcAddress("glBindFramebufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteFramebuffersEXT = (GLEEPFNGLDELETEFRAMEBUFFERSEXTPROC) __GLeeGetProcAddress("glDeleteFramebuffersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenFramebuffersEXT = (GLEEPFNGLGENFRAMEBUFFERSEXTPROC) __GLeeGetProcAddress("glGenFramebuffersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCheckFramebufferStatusEXT = (GLEEPFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) __GLeeGetProcAddress("glCheckFramebufferStatusEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture1DEXT = (GLEEPFNGLFRAMEBUFFERTEXTURE1DEXTPROC) __GLeeGetProcAddress("glFramebufferTexture1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture2DEXT = (GLEEPFNGLFRAMEBUFFERTEXTURE2DEXTPROC) __GLeeGetProcAddress("glFramebufferTexture2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferTexture3DEXT = (GLEEPFNGLFRAMEBUFFERTEXTURE3DEXTPROC) __GLeeGetProcAddress("glFramebufferTexture3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferRenderbufferEXT = (GLEEPFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) __GLeeGetProcAddress("glFramebufferRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFramebufferAttachmentParameterivEXT = (GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetFramebufferAttachmentParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenerateMipmapEXT = (GLEEPFNGLGENERATEMIPMAPEXTPROC) __GLeeGetProcAddress("glGenerateMipmapEXT"))!=0) nLinked++; -#endif - if (nLinked==17) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_GREMEDY_string_marker(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_GREMEDY_string_marker - if ((GLeeFuncPtr_glStringMarkerGREMEDY = (GLEEPFNGLSTRINGMARKERGREMEDYPROC) __GLeeGetProcAddress("glStringMarkerGREMEDY"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_packed_depth_stencil(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_stencil_clear_tag(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_stencil_clear_tag - if ((GLeeFuncPtr_glStencilClearTagEXT = (GLEEPFNGLSTENCILCLEARTAGEXTPROC) __GLeeGetProcAddress("glStencilClearTagEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_framebuffer_blit(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_framebuffer_blit - if ((GLeeFuncPtr_glBlitFramebufferEXT = (GLEEPFNGLBLITFRAMEBUFFEREXTPROC) __GLeeGetProcAddress("glBlitFramebufferEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_framebuffer_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_framebuffer_multisample - if ((GLeeFuncPtr_glRenderbufferStorageMultisampleEXT = (GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) __GLeeGetProcAddress("glRenderbufferStorageMultisampleEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_MESAX_texture_stack(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_timer_query(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_timer_query - if ((GLeeFuncPtr_glGetQueryObjecti64vEXT = (GLEEPFNGLGETQUERYOBJECTI64VEXTPROC) __GLeeGetProcAddress("glGetQueryObjecti64vEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetQueryObjectui64vEXT = (GLEEPFNGLGETQUERYOBJECTUI64VEXTPROC) __GLeeGetProcAddress("glGetQueryObjectui64vEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_gpu_program_parameters(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_gpu_program_parameters - if ((GLeeFuncPtr_glProgramEnvParameters4fvEXT = (GLEEPFNGLPROGRAMENVPARAMETERS4FVEXTPROC) __GLeeGetProcAddress("glProgramEnvParameters4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramLocalParameters4fvEXT = (GLEEPFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) __GLeeGetProcAddress("glProgramLocalParameters4fvEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_flush_buffer_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_flush_buffer_range - if ((GLeeFuncPtr_glBufferParameteriAPPLE = (GLEEPFNGLBUFFERPARAMETERIAPPLEPROC) __GLeeGetProcAddress("glBufferParameteriAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glFlushMappedBufferRangeAPPLE = (GLEEPFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) __GLeeGetProcAddress("glFlushMappedBufferRangeAPPLE"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_gpu_shader4(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_gpu_shader4 - if ((GLeeFuncPtr_glGetUniformuivEXT = (GLEEPFNGLGETUNIFORMUIVEXTPROC) __GLeeGetProcAddress("glGetUniformuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindFragDataLocationEXT = (GLEEPFNGLBINDFRAGDATALOCATIONEXTPROC) __GLeeGetProcAddress("glBindFragDataLocationEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFragDataLocationEXT = (GLEEPFNGLGETFRAGDATALOCATIONEXTPROC) __GLeeGetProcAddress("glGetFragDataLocationEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1uiEXT = (GLEEPFNGLUNIFORM1UIEXTPROC) __GLeeGetProcAddress("glUniform1uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2uiEXT = (GLEEPFNGLUNIFORM2UIEXTPROC) __GLeeGetProcAddress("glUniform2uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3uiEXT = (GLEEPFNGLUNIFORM3UIEXTPROC) __GLeeGetProcAddress("glUniform3uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4uiEXT = (GLEEPFNGLUNIFORM4UIEXTPROC) __GLeeGetProcAddress("glUniform4uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1uivEXT = (GLEEPFNGLUNIFORM1UIVEXTPROC) __GLeeGetProcAddress("glUniform1uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2uivEXT = (GLEEPFNGLUNIFORM2UIVEXTPROC) __GLeeGetProcAddress("glUniform2uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3uivEXT = (GLEEPFNGLUNIFORM3UIVEXTPROC) __GLeeGetProcAddress("glUniform3uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4uivEXT = (GLEEPFNGLUNIFORM4UIVEXTPROC) __GLeeGetProcAddress("glUniform4uivEXT"))!=0) nLinked++; -#endif - if (nLinked==11) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_draw_instanced(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_draw_instanced - if ((GLeeFuncPtr_glDrawArraysInstancedEXT = (GLEEPFNGLDRAWARRAYSINSTANCEDEXTPROC) __GLeeGetProcAddress("glDrawArraysInstancedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawElementsInstancedEXT = (GLEEPFNGLDRAWELEMENTSINSTANCEDEXTPROC) __GLeeGetProcAddress("glDrawElementsInstancedEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_packed_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_array(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_texture_buffer_object - if ((GLeeFuncPtr_glTexBufferEXT = (GLEEPFNGLTEXBUFFEREXTPROC) __GLeeGetProcAddress("glTexBufferEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_compression_latc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_compression_rgtc(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_shared_exponent(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_depth_buffer_float(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_depth_buffer_float - if ((GLeeFuncPtr_glDepthRangedNV = (GLEEPFNGLDEPTHRANGEDNVPROC) __GLeeGetProcAddress("glDepthRangedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearDepthdNV = (GLEEPFNGLCLEARDEPTHDNVPROC) __GLeeGetProcAddress("glClearDepthdNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDepthBoundsdNV = (GLEEPFNGLDEPTHBOUNDSDNVPROC) __GLeeGetProcAddress("glDepthBoundsdNV"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_framebuffer_multisample_coverage(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_framebuffer_multisample_coverage - if ((GLeeFuncPtr_glRenderbufferStorageMultisampleCoverageNV = (GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) __GLeeGetProcAddress("glRenderbufferStorageMultisampleCoverageNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_geometry_shader4(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_parameter_buffer_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_parameter_buffer_object - if ((GLeeFuncPtr_glProgramBufferParametersfvNV = (GLEEPFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) __GLeeGetProcAddress("glProgramBufferParametersfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramBufferParametersIivNV = (GLEEPFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) __GLeeGetProcAddress("glProgramBufferParametersIivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramBufferParametersIuivNV = (GLEEPFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) __GLeeGetProcAddress("glProgramBufferParametersIuivNV"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_draw_buffers2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_draw_buffers2 - if ((GLeeFuncPtr_glColorMaskIndexedEXT = (GLEEPFNGLCOLORMASKINDEXEDEXTPROC) __GLeeGetProcAddress("glColorMaskIndexedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBooleanIndexedvEXT = (GLEEPFNGLGETBOOLEANINDEXEDVEXTPROC) __GLeeGetProcAddress("glGetBooleanIndexedvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetIntegerIndexedvEXT = (GLEEPFNGLGETINTEGERINDEXEDVEXTPROC) __GLeeGetProcAddress("glGetIntegerIndexedvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnableIndexedEXT = (GLEEPFNGLENABLEINDEXEDEXTPROC) __GLeeGetProcAddress("glEnableIndexedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableIndexedEXT = (GLEEPFNGLDISABLEINDEXEDEXTPROC) __GLeeGetProcAddress("glDisableIndexedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsEnabledIndexedEXT = (GLEEPFNGLISENABLEDINDEXEDEXTPROC) __GLeeGetProcAddress("glIsEnabledIndexedEXT"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_transform_feedback(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_transform_feedback - if ((GLeeFuncPtr_glBeginTransformFeedbackNV = (GLEEPFNGLBEGINTRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glBeginTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndTransformFeedbackNV = (GLEEPFNGLENDTRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glEndTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformFeedbackAttribsNV = (GLEEPFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) __GLeeGetProcAddress("glTransformFeedbackAttribsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferRangeNV = (GLEEPFNGLBINDBUFFERRANGENVPROC) __GLeeGetProcAddress("glBindBufferRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferOffsetNV = (GLEEPFNGLBINDBUFFEROFFSETNVPROC) __GLeeGetProcAddress("glBindBufferOffsetNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferBaseNV = (GLEEPFNGLBINDBUFFERBASENVPROC) __GLeeGetProcAddress("glBindBufferBaseNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformFeedbackVaryingsNV = (GLEEPFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) __GLeeGetProcAddress("glTransformFeedbackVaryingsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glActiveVaryingNV = (GLEEPFNGLACTIVEVARYINGNVPROC) __GLeeGetProcAddress("glActiveVaryingNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVaryingLocationNV = (GLEEPFNGLGETVARYINGLOCATIONNVPROC) __GLeeGetProcAddress("glGetVaryingLocationNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetActiveVaryingNV = (GLEEPFNGLGETACTIVEVARYINGNVPROC) __GLeeGetProcAddress("glGetActiveVaryingNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTransformFeedbackVaryingNV = (GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) __GLeeGetProcAddress("glGetTransformFeedbackVaryingNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformFeedbackStreamAttribsNV = (GLEEPFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) __GLeeGetProcAddress("glTransformFeedbackStreamAttribsNV"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_bindable_uniform(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_bindable_uniform - if ((GLeeFuncPtr_glUniformBufferEXT = (GLEEPFNGLUNIFORMBUFFEREXTPROC) __GLeeGetProcAddress("glUniformBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformBufferSizeEXT = (GLEEPFNGLGETUNIFORMBUFFERSIZEEXTPROC) __GLeeGetProcAddress("glGetUniformBufferSizeEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformOffsetEXT = (GLEEPFNGLGETUNIFORMOFFSETEXTPROC) __GLeeGetProcAddress("glGetUniformOffsetEXT"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_integer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_texture_integer - if ((GLeeFuncPtr_glTexParameterIivEXT = (GLEEPFNGLTEXPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glTexParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexParameterIuivEXT = (GLEEPFNGLTEXPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glTexParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterIivEXT = (GLEEPFNGLGETTEXPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glGetTexParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterIuivEXT = (GLEEPFNGLGETTEXPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glGetTexParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearColorIiEXT = (GLEEPFNGLCLEARCOLORIIEXTPROC) __GLeeGetProcAddress("glClearColorIiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glClearColorIuiEXT = (GLEEPFNGLCLEARCOLORIUIEXTPROC) __GLeeGetProcAddress("glClearColorIuiEXT"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_GREMEDY_frame_terminator(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_GREMEDY_frame_terminator - if ((GLeeFuncPtr_glFrameTerminatorGREMEDY = (GLEEPFNGLFRAMETERMINATORGREMEDYPROC) __GLeeGetProcAddress("glFrameTerminatorGREMEDY"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_conditional_render(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_conditional_render - if ((GLeeFuncPtr_glBeginConditionalRenderNV = (GLEEPFNGLBEGINCONDITIONALRENDERNVPROC) __GLeeGetProcAddress("glBeginConditionalRenderNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndConditionalRenderNV = (GLEEPFNGLENDCONDITIONALRENDERNVPROC) __GLeeGetProcAddress("glEndConditionalRenderNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_present_video(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_present_video - if ((GLeeFuncPtr_glPresentFrameKeyedNV = (GLEEPFNGLPRESENTFRAMEKEYEDNVPROC) __GLeeGetProcAddress("glPresentFrameKeyedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPresentFrameDualFillNV = (GLEEPFNGLPRESENTFRAMEDUALFILLNVPROC) __GLeeGetProcAddress("glPresentFrameDualFillNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoivNV = (GLEEPFNGLGETVIDEOIVNVPROC) __GLeeGetProcAddress("glGetVideoivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideouivNV = (GLEEPFNGLGETVIDEOUIVNVPROC) __GLeeGetProcAddress("glGetVideouivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoi64vNV = (GLEEPFNGLGETVIDEOI64VNVPROC) __GLeeGetProcAddress("glGetVideoi64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoui64vNV = (GLEEPFNGLGETVIDEOUI64VNVPROC) __GLeeGetProcAddress("glGetVideoui64vNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_transform_feedback(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_transform_feedback - if ((GLeeFuncPtr_glBeginTransformFeedbackEXT = (GLEEPFNGLBEGINTRANSFORMFEEDBACKEXTPROC) __GLeeGetProcAddress("glBeginTransformFeedbackEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndTransformFeedbackEXT = (GLEEPFNGLENDTRANSFORMFEEDBACKEXTPROC) __GLeeGetProcAddress("glEndTransformFeedbackEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferRangeEXT = (GLEEPFNGLBINDBUFFERRANGEEXTPROC) __GLeeGetProcAddress("glBindBufferRangeEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferOffsetEXT = (GLEEPFNGLBINDBUFFEROFFSETEXTPROC) __GLeeGetProcAddress("glBindBufferOffsetEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindBufferBaseEXT = (GLEEPFNGLBINDBUFFERBASEEXTPROC) __GLeeGetProcAddress("glBindBufferBaseEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformFeedbackVaryingsEXT = (GLEEPFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) __GLeeGetProcAddress("glTransformFeedbackVaryingsEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTransformFeedbackVaryingEXT = (GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) __GLeeGetProcAddress("glGetTransformFeedbackVaryingEXT"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_direct_state_access(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_direct_state_access - if ((GLeeFuncPtr_glClientAttribDefaultEXT = (GLEEPFNGLCLIENTATTRIBDEFAULTEXTPROC) __GLeeGetProcAddress("glClientAttribDefaultEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glPushClientAttribDefaultEXT = (GLEEPFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) __GLeeGetProcAddress("glPushClientAttribDefaultEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixLoadfEXT = (GLEEPFNGLMATRIXLOADFEXTPROC) __GLeeGetProcAddress("glMatrixLoadfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixLoaddEXT = (GLEEPFNGLMATRIXLOADDEXTPROC) __GLeeGetProcAddress("glMatrixLoaddEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixMultfEXT = (GLEEPFNGLMATRIXMULTFEXTPROC) __GLeeGetProcAddress("glMatrixMultfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixMultdEXT = (GLEEPFNGLMATRIXMULTDEXTPROC) __GLeeGetProcAddress("glMatrixMultdEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixLoadIdentityEXT = (GLEEPFNGLMATRIXLOADIDENTITYEXTPROC) __GLeeGetProcAddress("glMatrixLoadIdentityEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixRotatefEXT = (GLEEPFNGLMATRIXROTATEFEXTPROC) __GLeeGetProcAddress("glMatrixRotatefEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixRotatedEXT = (GLEEPFNGLMATRIXROTATEDEXTPROC) __GLeeGetProcAddress("glMatrixRotatedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixScalefEXT = (GLEEPFNGLMATRIXSCALEFEXTPROC) __GLeeGetProcAddress("glMatrixScalefEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixScaledEXT = (GLEEPFNGLMATRIXSCALEDEXTPROC) __GLeeGetProcAddress("glMatrixScaledEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixTranslatefEXT = (GLEEPFNGLMATRIXTRANSLATEFEXTPROC) __GLeeGetProcAddress("glMatrixTranslatefEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixTranslatedEXT = (GLEEPFNGLMATRIXTRANSLATEDEXTPROC) __GLeeGetProcAddress("glMatrixTranslatedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixFrustumEXT = (GLEEPFNGLMATRIXFRUSTUMEXTPROC) __GLeeGetProcAddress("glMatrixFrustumEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixOrthoEXT = (GLEEPFNGLMATRIXORTHOEXTPROC) __GLeeGetProcAddress("glMatrixOrthoEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixPopEXT = (GLEEPFNGLMATRIXPOPEXTPROC) __GLeeGetProcAddress("glMatrixPopEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixPushEXT = (GLEEPFNGLMATRIXPUSHEXTPROC) __GLeeGetProcAddress("glMatrixPushEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixLoadTransposefEXT = (GLEEPFNGLMATRIXLOADTRANSPOSEFEXTPROC) __GLeeGetProcAddress("glMatrixLoadTransposefEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixLoadTransposedEXT = (GLEEPFNGLMATRIXLOADTRANSPOSEDEXTPROC) __GLeeGetProcAddress("glMatrixLoadTransposedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixMultTransposefEXT = (GLEEPFNGLMATRIXMULTTRANSPOSEFEXTPROC) __GLeeGetProcAddress("glMatrixMultTransposefEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMatrixMultTransposedEXT = (GLEEPFNGLMATRIXMULTTRANSPOSEDEXTPROC) __GLeeGetProcAddress("glMatrixMultTransposedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameterfEXT = (GLEEPFNGLTEXTUREPARAMETERFEXTPROC) __GLeeGetProcAddress("glTextureParameterfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameterfvEXT = (GLEEPFNGLTEXTUREPARAMETERFVEXTPROC) __GLeeGetProcAddress("glTextureParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameteriEXT = (GLEEPFNGLTEXTUREPARAMETERIEXTPROC) __GLeeGetProcAddress("glTextureParameteriEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameterivEXT = (GLEEPFNGLTEXTUREPARAMETERIVEXTPROC) __GLeeGetProcAddress("glTextureParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage1DEXT = (GLEEPFNGLTEXTUREIMAGE1DEXTPROC) __GLeeGetProcAddress("glTextureImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage2DEXT = (GLEEPFNGLTEXTUREIMAGE2DEXTPROC) __GLeeGetProcAddress("glTextureImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureSubImage1DEXT = (GLEEPFNGLTEXTURESUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glTextureSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureSubImage2DEXT = (GLEEPFNGLTEXTURESUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glTextureSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTextureImage1DEXT = (GLEEPFNGLCOPYTEXTUREIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyTextureImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTextureImage2DEXT = (GLEEPFNGLCOPYTEXTUREIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyTextureImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTextureSubImage1DEXT = (GLEEPFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyTextureSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTextureSubImage2DEXT = (GLEEPFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyTextureSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureImageEXT = (GLEEPFNGLGETTEXTUREIMAGEEXTPROC) __GLeeGetProcAddress("glGetTextureImageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureParameterfvEXT = (GLEEPFNGLGETTEXTUREPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetTextureParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureParameterivEXT = (GLEEPFNGLGETTEXTUREPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetTextureParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureLevelParameterfvEXT = (GLEEPFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetTextureLevelParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureLevelParameterivEXT = (GLEEPFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetTextureLevelParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage3DEXT = (GLEEPFNGLTEXTUREIMAGE3DEXTPROC) __GLeeGetProcAddress("glTextureImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureSubImage3DEXT = (GLEEPFNGLTEXTURESUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glTextureSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyTextureSubImage3DEXT = (GLEEPFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glCopyTextureSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameterfEXT = (GLEEPFNGLMULTITEXPARAMETERFEXTPROC) __GLeeGetProcAddress("glMultiTexParameterfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameterfvEXT = (GLEEPFNGLMULTITEXPARAMETERFVEXTPROC) __GLeeGetProcAddress("glMultiTexParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameteriEXT = (GLEEPFNGLMULTITEXPARAMETERIEXTPROC) __GLeeGetProcAddress("glMultiTexParameteriEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameterivEXT = (GLEEPFNGLMULTITEXPARAMETERIVEXTPROC) __GLeeGetProcAddress("glMultiTexParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexImage1DEXT = (GLEEPFNGLMULTITEXIMAGE1DEXTPROC) __GLeeGetProcAddress("glMultiTexImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexImage2DEXT = (GLEEPFNGLMULTITEXIMAGE2DEXTPROC) __GLeeGetProcAddress("glMultiTexImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexSubImage1DEXT = (GLEEPFNGLMULTITEXSUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glMultiTexSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexSubImage2DEXT = (GLEEPFNGLMULTITEXSUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glMultiTexSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyMultiTexImage1DEXT = (GLEEPFNGLCOPYMULTITEXIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyMultiTexImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyMultiTexImage2DEXT = (GLEEPFNGLCOPYMULTITEXIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyMultiTexImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyMultiTexSubImage1DEXT = (GLEEPFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glCopyMultiTexSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyMultiTexSubImage2DEXT = (GLEEPFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glCopyMultiTexSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexImageEXT = (GLEEPFNGLGETMULTITEXIMAGEEXTPROC) __GLeeGetProcAddress("glGetMultiTexImageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexParameterfvEXT = (GLEEPFNGLGETMULTITEXPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetMultiTexParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexParameterivEXT = (GLEEPFNGLGETMULTITEXPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexLevelParameterfvEXT = (GLEEPFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetMultiTexLevelParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexLevelParameterivEXT = (GLEEPFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexLevelParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexImage3DEXT = (GLEEPFNGLMULTITEXIMAGE3DEXTPROC) __GLeeGetProcAddress("glMultiTexImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexSubImage3DEXT = (GLEEPFNGLMULTITEXSUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glMultiTexSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyMultiTexSubImage3DEXT = (GLEEPFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glCopyMultiTexSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindMultiTextureEXT = (GLEEPFNGLBINDMULTITEXTUREEXTPROC) __GLeeGetProcAddress("glBindMultiTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glEnableClientStateIndexedEXT = (GLEEPFNGLENABLECLIENTSTATEINDEXEDEXTPROC) __GLeeGetProcAddress("glEnableClientStateIndexedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableClientStateIndexedEXT = (GLEEPFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) __GLeeGetProcAddress("glDisableClientStateIndexedEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexCoordPointerEXT = (GLEEPFNGLMULTITEXCOORDPOINTEREXTPROC) __GLeeGetProcAddress("glMultiTexCoordPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexEnvfEXT = (GLEEPFNGLMULTITEXENVFEXTPROC) __GLeeGetProcAddress("glMultiTexEnvfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexEnvfvEXT = (GLEEPFNGLMULTITEXENVFVEXTPROC) __GLeeGetProcAddress("glMultiTexEnvfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexEnviEXT = (GLEEPFNGLMULTITEXENVIEXTPROC) __GLeeGetProcAddress("glMultiTexEnviEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexEnvivEXT = (GLEEPFNGLMULTITEXENVIVEXTPROC) __GLeeGetProcAddress("glMultiTexEnvivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGendEXT = (GLEEPFNGLMULTITEXGENDEXTPROC) __GLeeGetProcAddress("glMultiTexGendEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGendvEXT = (GLEEPFNGLMULTITEXGENDVEXTPROC) __GLeeGetProcAddress("glMultiTexGendvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGenfEXT = (GLEEPFNGLMULTITEXGENFEXTPROC) __GLeeGetProcAddress("glMultiTexGenfEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGenfvEXT = (GLEEPFNGLMULTITEXGENFVEXTPROC) __GLeeGetProcAddress("glMultiTexGenfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGeniEXT = (GLEEPFNGLMULTITEXGENIEXTPROC) __GLeeGetProcAddress("glMultiTexGeniEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexGenivEXT = (GLEEPFNGLMULTITEXGENIVEXTPROC) __GLeeGetProcAddress("glMultiTexGenivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexEnvfvEXT = (GLEEPFNGLGETMULTITEXENVFVEXTPROC) __GLeeGetProcAddress("glGetMultiTexEnvfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexEnvivEXT = (GLEEPFNGLGETMULTITEXENVIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexEnvivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexGendvEXT = (GLEEPFNGLGETMULTITEXGENDVEXTPROC) __GLeeGetProcAddress("glGetMultiTexGendvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexGenfvEXT = (GLEEPFNGLGETMULTITEXGENFVEXTPROC) __GLeeGetProcAddress("glGetMultiTexGenfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexGenivEXT = (GLEEPFNGLGETMULTITEXGENIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexGenivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFloatIndexedvEXT = (GLEEPFNGLGETFLOATINDEXEDVEXTPROC) __GLeeGetProcAddress("glGetFloatIndexedvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDoubleIndexedvEXT = (GLEEPFNGLGETDOUBLEINDEXEDVEXTPROC) __GLeeGetProcAddress("glGetDoubleIndexedvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPointerIndexedvEXT = (GLEEPFNGLGETPOINTERINDEXEDVEXTPROC) __GLeeGetProcAddress("glGetPointerIndexedvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureImage3DEXT = (GLEEPFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) __GLeeGetProcAddress("glCompressedTextureImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureImage2DEXT = (GLEEPFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) __GLeeGetProcAddress("glCompressedTextureImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureImage1DEXT = (GLEEPFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) __GLeeGetProcAddress("glCompressedTextureImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureSubImage3DEXT = (GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glCompressedTextureSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureSubImage2DEXT = (GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glCompressedTextureSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedTextureSubImage1DEXT = (GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glCompressedTextureSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCompressedTextureImageEXT = (GLEEPFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) __GLeeGetProcAddress("glGetCompressedTextureImageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexImage3DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexImage2DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexImage1DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexSubImage3DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexSubImage3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexSubImage2DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexSubImage2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCompressedMultiTexSubImage1DEXT = (GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) __GLeeGetProcAddress("glCompressedMultiTexSubImage1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetCompressedMultiTexImageEXT = (GLEEPFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) __GLeeGetProcAddress("glGetCompressedMultiTexImageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramStringEXT = (GLEEPFNGLNAMEDPROGRAMSTRINGEXTPROC) __GLeeGetProcAddress("glNamedProgramStringEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameter4dEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameter4dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameter4dvEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameter4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameter4fEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameter4fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameter4fvEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameter4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramLocalParameterdvEXT = (GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) __GLeeGetProcAddress("glGetNamedProgramLocalParameterdvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramLocalParameterfvEXT = (GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) __GLeeGetProcAddress("glGetNamedProgramLocalParameterfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramivEXT = (GLEEPFNGLGETNAMEDPROGRAMIVEXTPROC) __GLeeGetProcAddress("glGetNamedProgramivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramStringEXT = (GLEEPFNGLGETNAMEDPROGRAMSTRINGEXTPROC) __GLeeGetProcAddress("glGetNamedProgramStringEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameters4fvEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameters4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameterI4iEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameterI4iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameterI4ivEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameterI4ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParametersI4ivEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParametersI4ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameterI4uiEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameterI4uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParameterI4uivEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParameterI4uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedProgramLocalParametersI4uivEXT = (GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) __GLeeGetProcAddress("glNamedProgramLocalParametersI4uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramLocalParameterIivEXT = (GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glGetNamedProgramLocalParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedProgramLocalParameterIuivEXT = (GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glGetNamedProgramLocalParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameterIivEXT = (GLEEPFNGLTEXTUREPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glTextureParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureParameterIuivEXT = (GLEEPFNGLTEXTUREPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glTextureParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureParameterIivEXT = (GLEEPFNGLGETTEXTUREPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glGetTextureParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureParameterIuivEXT = (GLEEPFNGLGETTEXTUREPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glGetTextureParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameterIivEXT = (GLEEPFNGLMULTITEXPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glMultiTexParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexParameterIuivEXT = (GLEEPFNGLMULTITEXPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glMultiTexParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexParameterIivEXT = (GLEEPFNGLGETMULTITEXPARAMETERIIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexParameterIivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetMultiTexParameterIuivEXT = (GLEEPFNGLGETMULTITEXPARAMETERIUIVEXTPROC) __GLeeGetProcAddress("glGetMultiTexParameterIuivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1fEXT = (GLEEPFNGLPROGRAMUNIFORM1FEXTPROC) __GLeeGetProcAddress("glProgramUniform1fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2fEXT = (GLEEPFNGLPROGRAMUNIFORM2FEXTPROC) __GLeeGetProcAddress("glProgramUniform2fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3fEXT = (GLEEPFNGLPROGRAMUNIFORM3FEXTPROC) __GLeeGetProcAddress("glProgramUniform3fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4fEXT = (GLEEPFNGLPROGRAMUNIFORM4FEXTPROC) __GLeeGetProcAddress("glProgramUniform4fEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1iEXT = (GLEEPFNGLPROGRAMUNIFORM1IEXTPROC) __GLeeGetProcAddress("glProgramUniform1iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2iEXT = (GLEEPFNGLPROGRAMUNIFORM2IEXTPROC) __GLeeGetProcAddress("glProgramUniform2iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3iEXT = (GLEEPFNGLPROGRAMUNIFORM3IEXTPROC) __GLeeGetProcAddress("glProgramUniform3iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4iEXT = (GLEEPFNGLPROGRAMUNIFORM4IEXTPROC) __GLeeGetProcAddress("glProgramUniform4iEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1fvEXT = (GLEEPFNGLPROGRAMUNIFORM1FVEXTPROC) __GLeeGetProcAddress("glProgramUniform1fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2fvEXT = (GLEEPFNGLPROGRAMUNIFORM2FVEXTPROC) __GLeeGetProcAddress("glProgramUniform2fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3fvEXT = (GLEEPFNGLPROGRAMUNIFORM3FVEXTPROC) __GLeeGetProcAddress("glProgramUniform3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4fvEXT = (GLEEPFNGLPROGRAMUNIFORM4FVEXTPROC) __GLeeGetProcAddress("glProgramUniform4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1ivEXT = (GLEEPFNGLPROGRAMUNIFORM1IVEXTPROC) __GLeeGetProcAddress("glProgramUniform1ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2ivEXT = (GLEEPFNGLPROGRAMUNIFORM2IVEXTPROC) __GLeeGetProcAddress("glProgramUniform2ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3ivEXT = (GLEEPFNGLPROGRAMUNIFORM3IVEXTPROC) __GLeeGetProcAddress("glProgramUniform3ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4ivEXT = (GLEEPFNGLPROGRAMUNIFORM4IVEXTPROC) __GLeeGetProcAddress("glProgramUniform4ivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x3fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x2fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x2fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x4fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x2fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x2fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x4fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x4fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x3fvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x3fvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1uiEXT = (GLEEPFNGLPROGRAMUNIFORM1UIEXTPROC) __GLeeGetProcAddress("glProgramUniform1uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2uiEXT = (GLEEPFNGLPROGRAMUNIFORM2UIEXTPROC) __GLeeGetProcAddress("glProgramUniform2uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3uiEXT = (GLEEPFNGLPROGRAMUNIFORM3UIEXTPROC) __GLeeGetProcAddress("glProgramUniform3uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4uiEXT = (GLEEPFNGLPROGRAMUNIFORM4UIEXTPROC) __GLeeGetProcAddress("glProgramUniform4uiEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1uivEXT = (GLEEPFNGLPROGRAMUNIFORM1UIVEXTPROC) __GLeeGetProcAddress("glProgramUniform1uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2uivEXT = (GLEEPFNGLPROGRAMUNIFORM2UIVEXTPROC) __GLeeGetProcAddress("glProgramUniform2uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3uivEXT = (GLEEPFNGLPROGRAMUNIFORM3UIVEXTPROC) __GLeeGetProcAddress("glProgramUniform3uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4uivEXT = (GLEEPFNGLPROGRAMUNIFORM4UIVEXTPROC) __GLeeGetProcAddress("glProgramUniform4uivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedBufferDataEXT = (GLEEPFNGLNAMEDBUFFERDATAEXTPROC) __GLeeGetProcAddress("glNamedBufferDataEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedBufferSubDataEXT = (GLEEPFNGLNAMEDBUFFERSUBDATAEXTPROC) __GLeeGetProcAddress("glNamedBufferSubDataEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapNamedBufferEXT = (GLEEPFNGLMAPNAMEDBUFFEREXTPROC) __GLeeGetProcAddress("glMapNamedBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnmapNamedBufferEXT = (GLEEPFNGLUNMAPNAMEDBUFFEREXTPROC) __GLeeGetProcAddress("glUnmapNamedBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapNamedBufferRangeEXT = (GLEEPFNGLMAPNAMEDBUFFERRANGEEXTPROC) __GLeeGetProcAddress("glMapNamedBufferRangeEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFlushMappedNamedBufferRangeEXT = (GLEEPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) __GLeeGetProcAddress("glFlushMappedNamedBufferRangeEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedCopyBufferSubDataEXT = (GLEEPFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) __GLeeGetProcAddress("glNamedCopyBufferSubDataEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedBufferParameterivEXT = (GLEEPFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetNamedBufferParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedBufferPointervEXT = (GLEEPFNGLGETNAMEDBUFFERPOINTERVEXTPROC) __GLeeGetProcAddress("glGetNamedBufferPointervEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedBufferSubDataEXT = (GLEEPFNGLGETNAMEDBUFFERSUBDATAEXTPROC) __GLeeGetProcAddress("glGetNamedBufferSubDataEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureBufferEXT = (GLEEPFNGLTEXTUREBUFFEREXTPROC) __GLeeGetProcAddress("glTextureBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexBufferEXT = (GLEEPFNGLMULTITEXBUFFEREXTPROC) __GLeeGetProcAddress("glMultiTexBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedRenderbufferStorageEXT = (GLEEPFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) __GLeeGetProcAddress("glNamedRenderbufferStorageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedRenderbufferParameterivEXT = (GLEEPFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetNamedRenderbufferParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCheckNamedFramebufferStatusEXT = (GLEEPFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) __GLeeGetProcAddress("glCheckNamedFramebufferStatusEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTexture1DEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) __GLeeGetProcAddress("glNamedFramebufferTexture1DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTexture2DEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) __GLeeGetProcAddress("glNamedFramebufferTexture2DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTexture3DEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) __GLeeGetProcAddress("glNamedFramebufferTexture3DEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferRenderbufferEXT = (GLEEPFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) __GLeeGetProcAddress("glNamedFramebufferRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedFramebufferAttachmentParameterivEXT = (GLEEPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetNamedFramebufferAttachmentParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenerateTextureMipmapEXT = (GLEEPFNGLGENERATETEXTUREMIPMAPEXTPROC) __GLeeGetProcAddress("glGenerateTextureMipmapEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenerateMultiTexMipmapEXT = (GLEEPFNGLGENERATEMULTITEXMIPMAPEXTPROC) __GLeeGetProcAddress("glGenerateMultiTexMipmapEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferDrawBufferEXT = (GLEEPFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) __GLeeGetProcAddress("glFramebufferDrawBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferDrawBuffersEXT = (GLEEPFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) __GLeeGetProcAddress("glFramebufferDrawBuffersEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glFramebufferReadBufferEXT = (GLEEPFNGLFRAMEBUFFERREADBUFFEREXTPROC) __GLeeGetProcAddress("glFramebufferReadBufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetFramebufferParameterivEXT = (GLEEPFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) __GLeeGetProcAddress("glGetFramebufferParameterivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedRenderbufferStorageMultisampleEXT = (GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) __GLeeGetProcAddress("glNamedRenderbufferStorageMultisampleEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedRenderbufferStorageMultisampleCoverageEXT = (GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) __GLeeGetProcAddress("glNamedRenderbufferStorageMultisampleCoverageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTextureEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) __GLeeGetProcAddress("glNamedFramebufferTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTextureLayerEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) __GLeeGetProcAddress("glNamedFramebufferTextureLayerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glNamedFramebufferTextureFaceEXT = (GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) __GLeeGetProcAddress("glNamedFramebufferTextureFaceEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureRenderbufferEXT = (GLEEPFNGLTEXTURERENDERBUFFEREXTPROC) __GLeeGetProcAddress("glTextureRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiTexRenderbufferEXT = (GLEEPFNGLMULTITEXRENDERBUFFEREXTPROC) __GLeeGetProcAddress("glMultiTexRenderbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1dEXT = (GLEEPFNGLPROGRAMUNIFORM1DEXTPROC) __GLeeGetProcAddress("glProgramUniform1dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2dEXT = (GLEEPFNGLPROGRAMUNIFORM2DEXTPROC) __GLeeGetProcAddress("glProgramUniform2dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3dEXT = (GLEEPFNGLPROGRAMUNIFORM3DEXTPROC) __GLeeGetProcAddress("glProgramUniform3dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4dEXT = (GLEEPFNGLPROGRAMUNIFORM4DEXTPROC) __GLeeGetProcAddress("glProgramUniform4dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1dvEXT = (GLEEPFNGLPROGRAMUNIFORM1DVEXTPROC) __GLeeGetProcAddress("glProgramUniform1dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2dvEXT = (GLEEPFNGLPROGRAMUNIFORM2DVEXTPROC) __GLeeGetProcAddress("glProgramUniform2dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3dvEXT = (GLEEPFNGLPROGRAMUNIFORM3DVEXTPROC) __GLeeGetProcAddress("glProgramUniform3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4dvEXT = (GLEEPFNGLPROGRAMUNIFORM4DVEXTPROC) __GLeeGetProcAddress("glProgramUniform4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x3dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix2x4dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix2x4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x2dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x2dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix3x4dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix3x4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x2dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x2dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformMatrix4x3dvEXT = (GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) __GLeeGetProcAddress("glProgramUniformMatrix4x3dvEXT"))!=0) nLinked++; -#endif - if (nLinked==206) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_vertex_array_bgra(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_swizzle(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_explicit_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_explicit_multisample - if ((GLeeFuncPtr_glGetMultisamplefvNV = (GLEEPFNGLGETMULTISAMPLEFVNVPROC) __GLeeGetProcAddress("glGetMultisamplefvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glSampleMaskIndexedNV = (GLEEPFNGLSAMPLEMASKINDEXEDNVPROC) __GLeeGetProcAddress("glSampleMaskIndexedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexRenderbufferNV = (GLEEPFNGLTEXRENDERBUFFERNVPROC) __GLeeGetProcAddress("glTexRenderbufferNV"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_transform_feedback2(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_transform_feedback2 - if ((GLeeFuncPtr_glBindTransformFeedbackNV = (GLEEPFNGLBINDTRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glBindTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteTransformFeedbacksNV = (GLEEPFNGLDELETETRANSFORMFEEDBACKSNVPROC) __GLeeGetProcAddress("glDeleteTransformFeedbacksNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenTransformFeedbacksNV = (GLEEPFNGLGENTRANSFORMFEEDBACKSNVPROC) __GLeeGetProcAddress("glGenTransformFeedbacksNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsTransformFeedbackNV = (GLEEPFNGLISTRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glIsTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPauseTransformFeedbackNV = (GLEEPFNGLPAUSETRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glPauseTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glResumeTransformFeedbackNV = (GLEEPFNGLRESUMETRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glResumeTransformFeedbackNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDrawTransformFeedbackNV = (GLEEPFNGLDRAWTRANSFORMFEEDBACKNVPROC) __GLeeGetProcAddress("glDrawTransformFeedbackNV"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_ATI_meminfo(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_performance_monitor(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_performance_monitor - if ((GLeeFuncPtr_glGetPerfMonitorGroupsAMD = (GLEEPFNGLGETPERFMONITORGROUPSAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorGroupsAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPerfMonitorCountersAMD = (GLEEPFNGLGETPERFMONITORCOUNTERSAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorCountersAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPerfMonitorGroupStringAMD = (GLEEPFNGLGETPERFMONITORGROUPSTRINGAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorGroupStringAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPerfMonitorCounterStringAMD = (GLEEPFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorCounterStringAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPerfMonitorCounterInfoAMD = (GLEEPFNGLGETPERFMONITORCOUNTERINFOAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorCounterInfoAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGenPerfMonitorsAMD = (GLEEPFNGLGENPERFMONITORSAMDPROC) __GLeeGetProcAddress("glGenPerfMonitorsAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeletePerfMonitorsAMD = (GLEEPFNGLDELETEPERFMONITORSAMDPROC) __GLeeGetProcAddress("glDeletePerfMonitorsAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glSelectPerfMonitorCountersAMD = (GLEEPFNGLSELECTPERFMONITORCOUNTERSAMDPROC) __GLeeGetProcAddress("glSelectPerfMonitorCountersAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glBeginPerfMonitorAMD = (GLEEPFNGLBEGINPERFMONITORAMDPROC) __GLeeGetProcAddress("glBeginPerfMonitorAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndPerfMonitorAMD = (GLEEPFNGLENDPERFMONITORAMDPROC) __GLeeGetProcAddress("glEndPerfMonitorAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPerfMonitorCounterDataAMD = (GLEEPFNGLGETPERFMONITORCOUNTERDATAAMDPROC) __GLeeGetProcAddress("glGetPerfMonitorCounterDataAMD"))!=0) nLinked++; -#endif - if (nLinked==11) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_texture_texture4(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_vertex_shader_tesselator(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_vertex_shader_tesselator - if ((GLeeFuncPtr_glTessellationFactorAMD = (GLEEPFNGLTESSELLATIONFACTORAMDPROC) __GLeeGetProcAddress("glTessellationFactorAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glTessellationModeAMD = (GLEEPFNGLTESSELLATIONMODEAMDPROC) __GLeeGetProcAddress("glTessellationModeAMD"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_provoking_vertex(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_provoking_vertex - if ((GLeeFuncPtr_glProvokingVertexEXT = (GLEEPFNGLPROVOKINGVERTEXEXTPROC) __GLeeGetProcAddress("glProvokingVertexEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_texture_snorm(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_draw_buffers_blend(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_draw_buffers_blend - if ((GLeeFuncPtr_glBlendFuncIndexedAMD = (GLEEPFNGLBLENDFUNCINDEXEDAMDPROC) __GLeeGetProcAddress("glBlendFuncIndexedAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendFuncSeparateIndexedAMD = (GLEEPFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) __GLeeGetProcAddress("glBlendFuncSeparateIndexedAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquationIndexedAMD = (GLEEPFNGLBLENDEQUATIONINDEXEDAMDPROC) __GLeeGetProcAddress("glBlendEquationIndexedAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glBlendEquationSeparateIndexedAMD = (GLEEPFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) __GLeeGetProcAddress("glBlendEquationSeparateIndexedAMD"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_texture_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_texture_range - if ((GLeeFuncPtr_glTextureRangeAPPLE = (GLEEPFNGLTEXTURERANGEAPPLEPROC) __GLeeGetProcAddress("glTextureRangeAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTexParameterPointervAPPLE = (GLEEPFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) __GLeeGetProcAddress("glGetTexParameterPointervAPPLE"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_float_pixels(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_vertex_program_evaluators(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_vertex_program_evaluators - if ((GLeeFuncPtr_glEnableVertexAttribAPPLE = (GLEEPFNGLENABLEVERTEXATTRIBAPPLEPROC) __GLeeGetProcAddress("glEnableVertexAttribAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glDisableVertexAttribAPPLE = (GLEEPFNGLDISABLEVERTEXATTRIBAPPLEPROC) __GLeeGetProcAddress("glDisableVertexAttribAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsVertexAttribEnabledAPPLE = (GLEEPFNGLISVERTEXATTRIBENABLEDAPPLEPROC) __GLeeGetProcAddress("glIsVertexAttribEnabledAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapVertexAttrib1dAPPLE = (GLEEPFNGLMAPVERTEXATTRIB1DAPPLEPROC) __GLeeGetProcAddress("glMapVertexAttrib1dAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapVertexAttrib1fAPPLE = (GLEEPFNGLMAPVERTEXATTRIB1FAPPLEPROC) __GLeeGetProcAddress("glMapVertexAttrib1fAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapVertexAttrib2dAPPLE = (GLEEPFNGLMAPVERTEXATTRIB2DAPPLEPROC) __GLeeGetProcAddress("glMapVertexAttrib2dAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapVertexAttrib2fAPPLE = (GLEEPFNGLMAPVERTEXATTRIB2FAPPLEPROC) __GLeeGetProcAddress("glMapVertexAttrib2fAPPLE"))!=0) nLinked++; -#endif - if (nLinked==7) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_aux_depth_stencil(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_object_purgeable(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_APPLE_object_purgeable - if ((GLeeFuncPtr_glObjectPurgeableAPPLE = (GLEEPFNGLOBJECTPURGEABLEAPPLEPROC) __GLeeGetProcAddress("glObjectPurgeableAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glObjectUnpurgeableAPPLE = (GLEEPFNGLOBJECTUNPURGEABLEAPPLEPROC) __GLeeGetProcAddress("glObjectUnpurgeableAPPLE"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetObjectParameterivAPPLE = (GLEEPFNGLGETOBJECTPARAMETERIVAPPLEPROC) __GLeeGetProcAddress("glGetObjectParameterivAPPLE"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_APPLE_row_bytes(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_APPLE_rgb_422(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_video_capture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_video_capture - if ((GLeeFuncPtr_glBeginVideoCaptureNV = (GLEEPFNGLBEGINVIDEOCAPTURENVPROC) __GLeeGetProcAddress("glBeginVideoCaptureNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindVideoCaptureStreamBufferNV = (GLEEPFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) __GLeeGetProcAddress("glBindVideoCaptureStreamBufferNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glBindVideoCaptureStreamTextureNV = (GLEEPFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) __GLeeGetProcAddress("glBindVideoCaptureStreamTextureNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndVideoCaptureNV = (GLEEPFNGLENDVIDEOCAPTURENVPROC) __GLeeGetProcAddress("glEndVideoCaptureNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoCaptureivNV = (GLEEPFNGLGETVIDEOCAPTUREIVNVPROC) __GLeeGetProcAddress("glGetVideoCaptureivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoCaptureStreamivNV = (GLEEPFNGLGETVIDEOCAPTURESTREAMIVNVPROC) __GLeeGetProcAddress("glGetVideoCaptureStreamivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoCaptureStreamfvNV = (GLEEPFNGLGETVIDEOCAPTURESTREAMFVNVPROC) __GLeeGetProcAddress("glGetVideoCaptureStreamfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVideoCaptureStreamdvNV = (GLEEPFNGLGETVIDEOCAPTURESTREAMDVNVPROC) __GLeeGetProcAddress("glGetVideoCaptureStreamdvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVideoCaptureNV = (GLEEPFNGLVIDEOCAPTURENVPROC) __GLeeGetProcAddress("glVideoCaptureNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVideoCaptureStreamParameterivNV = (GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) __GLeeGetProcAddress("glVideoCaptureStreamParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVideoCaptureStreamParameterfvNV = (GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) __GLeeGetProcAddress("glVideoCaptureStreamParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVideoCaptureStreamParameterdvNV = (GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) __GLeeGetProcAddress("glVideoCaptureStreamParameterdvNV"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_copy_image(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_copy_image - if ((GLeeFuncPtr_glCopyImageSubDataNV = (GLEEPFNGLCOPYIMAGESUBDATANVPROC) __GLeeGetProcAddress("glCopyImageSubDataNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_separate_shader_objects(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_separate_shader_objects - if ((GLeeFuncPtr_glUseShaderProgramEXT = (GLEEPFNGLUSESHADERPROGRAMEXTPROC) __GLeeGetProcAddress("glUseShaderProgramEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glActiveProgramEXT = (GLEEPFNGLACTIVEPROGRAMEXTPROC) __GLeeGetProcAddress("glActiveProgramEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glCreateShaderProgramEXT = (GLEEPFNGLCREATESHADERPROGRAMEXTPROC) __GLeeGetProcAddress("glCreateShaderProgramEXT"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_parameter_buffer_object2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_shader_buffer_load(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_shader_buffer_load - if ((GLeeFuncPtr_glMakeBufferResidentNV = (GLEEPFNGLMAKEBUFFERRESIDENTNVPROC) __GLeeGetProcAddress("glMakeBufferResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeBufferNonResidentNV = (GLEEPFNGLMAKEBUFFERNONRESIDENTNVPROC) __GLeeGetProcAddress("glMakeBufferNonResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsBufferResidentNV = (GLEEPFNGLISBUFFERRESIDENTNVPROC) __GLeeGetProcAddress("glIsBufferResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeNamedBufferResidentNV = (GLEEPFNGLMAKENAMEDBUFFERRESIDENTNVPROC) __GLeeGetProcAddress("glMakeNamedBufferResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeNamedBufferNonResidentNV = (GLEEPFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) __GLeeGetProcAddress("glMakeNamedBufferNonResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsNamedBufferResidentNV = (GLEEPFNGLISNAMEDBUFFERRESIDENTNVPROC) __GLeeGetProcAddress("glIsNamedBufferResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetBufferParameterui64vNV = (GLEEPFNGLGETBUFFERPARAMETERUI64VNVPROC) __GLeeGetProcAddress("glGetBufferParameterui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetNamedBufferParameterui64vNV = (GLEEPFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) __GLeeGetProcAddress("glGetNamedBufferParameterui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetIntegerui64vNV = (GLEEPFNGLGETINTEGERUI64VNVPROC) __GLeeGetProcAddress("glGetIntegerui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformui64NV = (GLEEPFNGLUNIFORMUI64NVPROC) __GLeeGetProcAddress("glUniformui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformui64vNV = (GLEEPFNGLUNIFORMUI64VNVPROC) __GLeeGetProcAddress("glUniformui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformui64vNV = (GLEEPFNGLGETUNIFORMUI64VNVPROC) __GLeeGetProcAddress("glGetUniformui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformui64NV = (GLEEPFNGLPROGRAMUNIFORMUI64NVPROC) __GLeeGetProcAddress("glProgramUniformui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformui64vNV = (GLEEPFNGLPROGRAMUNIFORMUI64VNVPROC) __GLeeGetProcAddress("glProgramUniformui64vNV"))!=0) nLinked++; -#endif - if (nLinked==14) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_vertex_buffer_unified_memory(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_vertex_buffer_unified_memory - if ((GLeeFuncPtr_glBufferAddressRangeNV = (GLEEPFNGLBUFFERADDRESSRANGENVPROC) __GLeeGetProcAddress("glBufferAddressRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexFormatNV = (GLEEPFNGLVERTEXFORMATNVPROC) __GLeeGetProcAddress("glVertexFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glNormalFormatNV = (GLEEPFNGLNORMALFORMATNVPROC) __GLeeGetProcAddress("glNormalFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glColorFormatNV = (GLEEPFNGLCOLORFORMATNVPROC) __GLeeGetProcAddress("glColorFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIndexFormatNV = (GLEEPFNGLINDEXFORMATNVPROC) __GLeeGetProcAddress("glIndexFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexCoordFormatNV = (GLEEPFNGLTEXCOORDFORMATNVPROC) __GLeeGetProcAddress("glTexCoordFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glEdgeFlagFormatNV = (GLEEPFNGLEDGEFLAGFORMATNVPROC) __GLeeGetProcAddress("glEdgeFlagFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glSecondaryColorFormatNV = (GLEEPFNGLSECONDARYCOLORFORMATNVPROC) __GLeeGetProcAddress("glSecondaryColorFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glFogCoordFormatNV = (GLEEPFNGLFOGCOORDFORMATNVPROC) __GLeeGetProcAddress("glFogCoordFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribFormatNV = (GLEEPFNGLVERTEXATTRIBFORMATNVPROC) __GLeeGetProcAddress("glVertexAttribFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribIFormatNV = (GLEEPFNGLVERTEXATTRIBIFORMATNVPROC) __GLeeGetProcAddress("glVertexAttribIFormatNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetIntegerui64i_vNV = (GLEEPFNGLGETINTEGERUI64I_VNVPROC) __GLeeGetProcAddress("glGetIntegerui64i_vNV"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_texture_barrier(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_texture_barrier - if ((GLeeFuncPtr_glTextureBarrierNV = (GLEEPFNGLTEXTUREBARRIERNVPROC) __GLeeGetProcAddress("glTextureBarrierNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_shader_stencil_export(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_seamless_cubemap_per_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_conservative_depth(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_shader_image_load_store(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_shader_image_load_store - if ((GLeeFuncPtr_glBindImageTextureEXT = (GLEEPFNGLBINDIMAGETEXTUREEXTPROC) __GLeeGetProcAddress("glBindImageTextureEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glMemoryBarrierEXT = (GLEEPFNGLMEMORYBARRIEREXTPROC) __GLeeGetProcAddress("glMemoryBarrierEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_vertex_attrib_64bit(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_vertex_attrib_64bit - if ((GLeeFuncPtr_glVertexAttribL1dEXT = (GLEEPFNGLVERTEXATTRIBL1DEXTPROC) __GLeeGetProcAddress("glVertexAttribL1dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2dEXT = (GLEEPFNGLVERTEXATTRIBL2DEXTPROC) __GLeeGetProcAddress("glVertexAttribL2dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3dEXT = (GLEEPFNGLVERTEXATTRIBL3DEXTPROC) __GLeeGetProcAddress("glVertexAttribL3dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4dEXT = (GLEEPFNGLVERTEXATTRIBL4DEXTPROC) __GLeeGetProcAddress("glVertexAttribL4dEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL1dvEXT = (GLEEPFNGLVERTEXATTRIBL1DVEXTPROC) __GLeeGetProcAddress("glVertexAttribL1dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2dvEXT = (GLEEPFNGLVERTEXATTRIBL2DVEXTPROC) __GLeeGetProcAddress("glVertexAttribL2dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3dvEXT = (GLEEPFNGLVERTEXATTRIBL3DVEXTPROC) __GLeeGetProcAddress("glVertexAttribL3dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4dvEXT = (GLEEPFNGLVERTEXATTRIBL4DVEXTPROC) __GLeeGetProcAddress("glVertexAttribL4dvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribLPointerEXT = (GLEEPFNGLVERTEXATTRIBLPOINTEREXTPROC) __GLeeGetProcAddress("glVertexAttribLPointerEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribLdvEXT = (GLEEPFNGLGETVERTEXATTRIBLDVEXTPROC) __GLeeGetProcAddress("glGetVertexAttribLdvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexArrayVertexAttribLOffsetEXT = (GLEEPFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) __GLeeGetProcAddress("glVertexArrayVertexAttribLOffsetEXT"))!=0) nLinked++; -#endif - if (nLinked==11) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_gpu_program5(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_gpu_program5 - if ((GLeeFuncPtr_glProgramSubroutineParametersuivNV = (GLEEPFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) __GLeeGetProcAddress("glProgramSubroutineParametersuivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetProgramSubroutineParameteruivNV = (GLEEPFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) __GLeeGetProcAddress("glGetProgramSubroutineParameteruivNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_gpu_shader5(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_gpu_shader5 - if ((GLeeFuncPtr_glUniform1i64NV = (GLEEPFNGLUNIFORM1I64NVPROC) __GLeeGetProcAddress("glUniform1i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2i64NV = (GLEEPFNGLUNIFORM2I64NVPROC) __GLeeGetProcAddress("glUniform2i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3i64NV = (GLEEPFNGLUNIFORM3I64NVPROC) __GLeeGetProcAddress("glUniform3i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4i64NV = (GLEEPFNGLUNIFORM4I64NVPROC) __GLeeGetProcAddress("glUniform4i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1i64vNV = (GLEEPFNGLUNIFORM1I64VNVPROC) __GLeeGetProcAddress("glUniform1i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2i64vNV = (GLEEPFNGLUNIFORM2I64VNVPROC) __GLeeGetProcAddress("glUniform2i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3i64vNV = (GLEEPFNGLUNIFORM3I64VNVPROC) __GLeeGetProcAddress("glUniform3i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4i64vNV = (GLEEPFNGLUNIFORM4I64VNVPROC) __GLeeGetProcAddress("glUniform4i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1ui64NV = (GLEEPFNGLUNIFORM1UI64NVPROC) __GLeeGetProcAddress("glUniform1ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2ui64NV = (GLEEPFNGLUNIFORM2UI64NVPROC) __GLeeGetProcAddress("glUniform2ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3ui64NV = (GLEEPFNGLUNIFORM3UI64NVPROC) __GLeeGetProcAddress("glUniform3ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4ui64NV = (GLEEPFNGLUNIFORM4UI64NVPROC) __GLeeGetProcAddress("glUniform4ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform1ui64vNV = (GLEEPFNGLUNIFORM1UI64VNVPROC) __GLeeGetProcAddress("glUniform1ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform2ui64vNV = (GLEEPFNGLUNIFORM2UI64VNVPROC) __GLeeGetProcAddress("glUniform2ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform3ui64vNV = (GLEEPFNGLUNIFORM3UI64VNVPROC) __GLeeGetProcAddress("glUniform3ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniform4ui64vNV = (GLEEPFNGLUNIFORM4UI64VNVPROC) __GLeeGetProcAddress("glUniform4ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetUniformi64vNV = (GLEEPFNGLGETUNIFORMI64VNVPROC) __GLeeGetProcAddress("glGetUniformi64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1i64NV = (GLEEPFNGLPROGRAMUNIFORM1I64NVPROC) __GLeeGetProcAddress("glProgramUniform1i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2i64NV = (GLEEPFNGLPROGRAMUNIFORM2I64NVPROC) __GLeeGetProcAddress("glProgramUniform2i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3i64NV = (GLEEPFNGLPROGRAMUNIFORM3I64NVPROC) __GLeeGetProcAddress("glProgramUniform3i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4i64NV = (GLEEPFNGLPROGRAMUNIFORM4I64NVPROC) __GLeeGetProcAddress("glProgramUniform4i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1i64vNV = (GLEEPFNGLPROGRAMUNIFORM1I64VNVPROC) __GLeeGetProcAddress("glProgramUniform1i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2i64vNV = (GLEEPFNGLPROGRAMUNIFORM2I64VNVPROC) __GLeeGetProcAddress("glProgramUniform2i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3i64vNV = (GLEEPFNGLPROGRAMUNIFORM3I64VNVPROC) __GLeeGetProcAddress("glProgramUniform3i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4i64vNV = (GLEEPFNGLPROGRAMUNIFORM4I64VNVPROC) __GLeeGetProcAddress("glProgramUniform4i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1ui64NV = (GLEEPFNGLPROGRAMUNIFORM1UI64NVPROC) __GLeeGetProcAddress("glProgramUniform1ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2ui64NV = (GLEEPFNGLPROGRAMUNIFORM2UI64NVPROC) __GLeeGetProcAddress("glProgramUniform2ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3ui64NV = (GLEEPFNGLPROGRAMUNIFORM3UI64NVPROC) __GLeeGetProcAddress("glProgramUniform3ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4ui64NV = (GLEEPFNGLPROGRAMUNIFORM4UI64NVPROC) __GLeeGetProcAddress("glProgramUniform4ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform1ui64vNV = (GLEEPFNGLPROGRAMUNIFORM1UI64VNVPROC) __GLeeGetProcAddress("glProgramUniform1ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform2ui64vNV = (GLEEPFNGLPROGRAMUNIFORM2UI64VNVPROC) __GLeeGetProcAddress("glProgramUniform2ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform3ui64vNV = (GLEEPFNGLPROGRAMUNIFORM3UI64VNVPROC) __GLeeGetProcAddress("glProgramUniform3ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniform4ui64vNV = (GLEEPFNGLPROGRAMUNIFORM4UI64VNVPROC) __GLeeGetProcAddress("glProgramUniform4ui64vNV"))!=0) nLinked++; -#endif - if (nLinked==33) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_shader_buffer_store(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_tessellation_program5(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_vertex_attrib_integer_64bit(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_vertex_attrib_integer_64bit - if ((GLeeFuncPtr_glVertexAttribL1i64NV = (GLEEPFNGLVERTEXATTRIBL1I64NVPROC) __GLeeGetProcAddress("glVertexAttribL1i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2i64NV = (GLEEPFNGLVERTEXATTRIBL2I64NVPROC) __GLeeGetProcAddress("glVertexAttribL2i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3i64NV = (GLEEPFNGLVERTEXATTRIBL3I64NVPROC) __GLeeGetProcAddress("glVertexAttribL3i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4i64NV = (GLEEPFNGLVERTEXATTRIBL4I64NVPROC) __GLeeGetProcAddress("glVertexAttribL4i64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL1i64vNV = (GLEEPFNGLVERTEXATTRIBL1I64VNVPROC) __GLeeGetProcAddress("glVertexAttribL1i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2i64vNV = (GLEEPFNGLVERTEXATTRIBL2I64VNVPROC) __GLeeGetProcAddress("glVertexAttribL2i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3i64vNV = (GLEEPFNGLVERTEXATTRIBL3I64VNVPROC) __GLeeGetProcAddress("glVertexAttribL3i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4i64vNV = (GLEEPFNGLVERTEXATTRIBL4I64VNVPROC) __GLeeGetProcAddress("glVertexAttribL4i64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL1ui64NV = (GLEEPFNGLVERTEXATTRIBL1UI64NVPROC) __GLeeGetProcAddress("glVertexAttribL1ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2ui64NV = (GLEEPFNGLVERTEXATTRIBL2UI64NVPROC) __GLeeGetProcAddress("glVertexAttribL2ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3ui64NV = (GLEEPFNGLVERTEXATTRIBL3UI64NVPROC) __GLeeGetProcAddress("glVertexAttribL3ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4ui64NV = (GLEEPFNGLVERTEXATTRIBL4UI64NVPROC) __GLeeGetProcAddress("glVertexAttribL4ui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL1ui64vNV = (GLEEPFNGLVERTEXATTRIBL1UI64VNVPROC) __GLeeGetProcAddress("glVertexAttribL1ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL2ui64vNV = (GLEEPFNGLVERTEXATTRIBL2UI64VNVPROC) __GLeeGetProcAddress("glVertexAttribL2ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL3ui64vNV = (GLEEPFNGLVERTEXATTRIBL3UI64VNVPROC) __GLeeGetProcAddress("glVertexAttribL3ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribL4ui64vNV = (GLEEPFNGLVERTEXATTRIBL4UI64VNVPROC) __GLeeGetProcAddress("glVertexAttribL4ui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribLi64vNV = (GLEEPFNGLGETVERTEXATTRIBLI64VNVPROC) __GLeeGetProcAddress("glGetVertexAttribLi64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetVertexAttribLui64vNV = (GLEEPFNGLGETVERTEXATTRIBLUI64VNVPROC) __GLeeGetProcAddress("glGetVertexAttribLui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glVertexAttribLFormatNV = (GLEEPFNGLVERTEXATTRIBLFORMATNVPROC) __GLeeGetProcAddress("glVertexAttribLFormatNV"))!=0) nLinked++; -#endif - if (nLinked==19) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_multisample_coverage(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_name_gen_delete(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_name_gen_delete - if ((GLeeFuncPtr_glGenNamesAMD = (GLEEPFNGLGENNAMESAMDPROC) __GLeeGetProcAddress("glGenNamesAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeleteNamesAMD = (GLEEPFNGLDELETENAMESAMDPROC) __GLeeGetProcAddress("glDeleteNamesAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsNameAMD = (GLEEPFNGLISNAMEAMDPROC) __GLeeGetProcAddress("glIsNameAMD"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_debug_output(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_debug_output - if ((GLeeFuncPtr_glDebugMessageEnableAMD = (GLEEPFNGLDEBUGMESSAGEENABLEAMDPROC) __GLeeGetProcAddress("glDebugMessageEnableAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageInsertAMD = (GLEEPFNGLDEBUGMESSAGEINSERTAMDPROC) __GLeeGetProcAddress("glDebugMessageInsertAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glDebugMessageCallbackAMD = (GLEEPFNGLDEBUGMESSAGECALLBACKAMDPROC) __GLeeGetProcAddress("glDebugMessageCallbackAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetDebugMessageLogAMD = (GLEEPFNGLGETDEBUGMESSAGELOGAMDPROC) __GLeeGetProcAddress("glGetDebugMessageLogAMD"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_transform_feedback3_lines_triangles(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_depth_clamp_separate(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_EXT_texture_sRGB_decode(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_texture_multisample(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_texture_multisample - if ((GLeeFuncPtr_glTexImage2DMultisampleCoverageNV = (GLEEPFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) __GLeeGetProcAddress("glTexImage2DMultisampleCoverageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTexImage3DMultisampleCoverageNV = (GLEEPFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) __GLeeGetProcAddress("glTexImage3DMultisampleCoverageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage2DMultisampleNV = (GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) __GLeeGetProcAddress("glTextureImage2DMultisampleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage3DMultisampleNV = (GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) __GLeeGetProcAddress("glTextureImage3DMultisampleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage2DMultisampleCoverageNV = (GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) __GLeeGetProcAddress("glTextureImage2DMultisampleCoverageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureImage3DMultisampleCoverageNV = (GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) __GLeeGetProcAddress("glTextureImage3DMultisampleCoverageNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_blend_minmax_factor(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_sample_positions(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_sample_positions - if ((GLeeFuncPtr_glSetMultisamplefvAMD = (GLEEPFNGLSETMULTISAMPLEFVAMDPROC) __GLeeGetProcAddress("glSetMultisamplefvAMD"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_x11_sync_object(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_EXT_x11_sync_object - if ((GLeeFuncPtr_glImportSyncEXT = (GLEEPFNGLIMPORTSYNCEXTPROC) __GLeeGetProcAddress("glImportSyncEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_multi_draw_indirect(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_multi_draw_indirect - if ((GLeeFuncPtr_glMultiDrawArraysIndirectAMD = (GLEEPFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) __GLeeGetProcAddress("glMultiDrawArraysIndirectAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glMultiDrawElementsIndirectAMD = (GLEEPFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) __GLeeGetProcAddress("glMultiDrawElementsIndirectAMD"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_EXT_framebuffer_multisample_blit_scaled(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_path_rendering(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_path_rendering - if ((GLeeFuncPtr_glGenPathsNV = (GLEEPFNGLGENPATHSNVPROC) __GLeeGetProcAddress("glGenPathsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glDeletePathsNV = (GLEEPFNGLDELETEPATHSNVPROC) __GLeeGetProcAddress("glDeletePathsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsPathNV = (GLEEPFNGLISPATHNVPROC) __GLeeGetProcAddress("glIsPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathCommandsNV = (GLEEPFNGLPATHCOMMANDSNVPROC) __GLeeGetProcAddress("glPathCommandsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathCoordsNV = (GLEEPFNGLPATHCOORDSNVPROC) __GLeeGetProcAddress("glPathCoordsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathSubCommandsNV = (GLEEPFNGLPATHSUBCOMMANDSNVPROC) __GLeeGetProcAddress("glPathSubCommandsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathSubCoordsNV = (GLEEPFNGLPATHSUBCOORDSNVPROC) __GLeeGetProcAddress("glPathSubCoordsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathStringNV = (GLEEPFNGLPATHSTRINGNVPROC) __GLeeGetProcAddress("glPathStringNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathGlyphsNV = (GLEEPFNGLPATHGLYPHSNVPROC) __GLeeGetProcAddress("glPathGlyphsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathGlyphRangeNV = (GLEEPFNGLPATHGLYPHRANGENVPROC) __GLeeGetProcAddress("glPathGlyphRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glWeightPathsNV = (GLEEPFNGLWEIGHTPATHSNVPROC) __GLeeGetProcAddress("glWeightPathsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCopyPathNV = (GLEEPFNGLCOPYPATHNVPROC) __GLeeGetProcAddress("glCopyPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glInterpolatePathsNV = (GLEEPFNGLINTERPOLATEPATHSNVPROC) __GLeeGetProcAddress("glInterpolatePathsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glTransformPathNV = (GLEEPFNGLTRANSFORMPATHNVPROC) __GLeeGetProcAddress("glTransformPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathParameterivNV = (GLEEPFNGLPATHPARAMETERIVNVPROC) __GLeeGetProcAddress("glPathParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathParameteriNV = (GLEEPFNGLPATHPARAMETERINVPROC) __GLeeGetProcAddress("glPathParameteriNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathParameterfvNV = (GLEEPFNGLPATHPARAMETERFVNVPROC) __GLeeGetProcAddress("glPathParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathParameterfNV = (GLEEPFNGLPATHPARAMETERFNVPROC) __GLeeGetProcAddress("glPathParameterfNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathDashArrayNV = (GLEEPFNGLPATHDASHARRAYNVPROC) __GLeeGetProcAddress("glPathDashArrayNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathStencilFuncNV = (GLEEPFNGLPATHSTENCILFUNCNVPROC) __GLeeGetProcAddress("glPathStencilFuncNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathStencilDepthOffsetNV = (GLEEPFNGLPATHSTENCILDEPTHOFFSETNVPROC) __GLeeGetProcAddress("glPathStencilDepthOffsetNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilFillPathNV = (GLEEPFNGLSTENCILFILLPATHNVPROC) __GLeeGetProcAddress("glStencilFillPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilStrokePathNV = (GLEEPFNGLSTENCILSTROKEPATHNVPROC) __GLeeGetProcAddress("glStencilStrokePathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilFillPathInstancedNV = (GLEEPFNGLSTENCILFILLPATHINSTANCEDNVPROC) __GLeeGetProcAddress("glStencilFillPathInstancedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glStencilStrokePathInstancedNV = (GLEEPFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) __GLeeGetProcAddress("glStencilStrokePathInstancedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathCoverDepthFuncNV = (GLEEPFNGLPATHCOVERDEPTHFUNCNVPROC) __GLeeGetProcAddress("glPathCoverDepthFuncNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathColorGenNV = (GLEEPFNGLPATHCOLORGENNVPROC) __GLeeGetProcAddress("glPathColorGenNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathTexGenNV = (GLEEPFNGLPATHTEXGENNVPROC) __GLeeGetProcAddress("glPathTexGenNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPathFogGenNV = (GLEEPFNGLPATHFOGGENNVPROC) __GLeeGetProcAddress("glPathFogGenNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCoverFillPathNV = (GLEEPFNGLCOVERFILLPATHNVPROC) __GLeeGetProcAddress("glCoverFillPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCoverStrokePathNV = (GLEEPFNGLCOVERSTROKEPATHNVPROC) __GLeeGetProcAddress("glCoverStrokePathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCoverFillPathInstancedNV = (GLEEPFNGLCOVERFILLPATHINSTANCEDNVPROC) __GLeeGetProcAddress("glCoverFillPathInstancedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glCoverStrokePathInstancedNV = (GLEEPFNGLCOVERSTROKEPATHINSTANCEDNVPROC) __GLeeGetProcAddress("glCoverStrokePathInstancedNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathParameterivNV = (GLEEPFNGLGETPATHPARAMETERIVNVPROC) __GLeeGetProcAddress("glGetPathParameterivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathParameterfvNV = (GLEEPFNGLGETPATHPARAMETERFVNVPROC) __GLeeGetProcAddress("glGetPathParameterfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathCommandsNV = (GLEEPFNGLGETPATHCOMMANDSNVPROC) __GLeeGetProcAddress("glGetPathCommandsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathCoordsNV = (GLEEPFNGLGETPATHCOORDSNVPROC) __GLeeGetProcAddress("glGetPathCoordsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathDashArrayNV = (GLEEPFNGLGETPATHDASHARRAYNVPROC) __GLeeGetProcAddress("glGetPathDashArrayNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathMetricsNV = (GLEEPFNGLGETPATHMETRICSNVPROC) __GLeeGetProcAddress("glGetPathMetricsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathMetricRangeNV = (GLEEPFNGLGETPATHMETRICRANGENVPROC) __GLeeGetProcAddress("glGetPathMetricRangeNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathSpacingNV = (GLEEPFNGLGETPATHSPACINGNVPROC) __GLeeGetProcAddress("glGetPathSpacingNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathColorGenivNV = (GLEEPFNGLGETPATHCOLORGENIVNVPROC) __GLeeGetProcAddress("glGetPathColorGenivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathColorGenfvNV = (GLEEPFNGLGETPATHCOLORGENFVNVPROC) __GLeeGetProcAddress("glGetPathColorGenfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathTexGenivNV = (GLEEPFNGLGETPATHTEXGENIVNVPROC) __GLeeGetProcAddress("glGetPathTexGenivNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathTexGenfvNV = (GLEEPFNGLGETPATHTEXGENFVNVPROC) __GLeeGetProcAddress("glGetPathTexGenfvNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsPointInFillPathNV = (GLEEPFNGLISPOINTINFILLPATHNVPROC) __GLeeGetProcAddress("glIsPointInFillPathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsPointInStrokePathNV = (GLEEPFNGLISPOINTINSTROKEPATHNVPROC) __GLeeGetProcAddress("glIsPointInStrokePathNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetPathLengthNV = (GLEEPFNGLGETPATHLENGTHNVPROC) __GLeeGetProcAddress("glGetPathLengthNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glPointAlongPathNV = (GLEEPFNGLPOINTALONGPATHNVPROC) __GLeeGetProcAddress("glPointAlongPathNV"))!=0) nLinked++; -#endif - if (nLinked==49) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_pinned_memory(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_stencil_operation_extended(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_stencil_operation_extended - if ((GLeeFuncPtr_glStencilOpValueAMD = (GLEEPFNGLSTENCILOPVALUEAMDPROC) __GLeeGetProcAddress("glStencilOpValueAMD"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_vertex_shader_viewport_index(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_vertex_shader_layer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_bindless_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_bindless_texture - if ((GLeeFuncPtr_glGetTextureHandleNV = (GLEEPFNGLGETTEXTUREHANDLENVPROC) __GLeeGetProcAddress("glGetTextureHandleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetTextureSamplerHandleNV = (GLEEPFNGLGETTEXTURESAMPLERHANDLENVPROC) __GLeeGetProcAddress("glGetTextureSamplerHandleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeTextureHandleResidentNV = (GLEEPFNGLMAKETEXTUREHANDLERESIDENTNVPROC) __GLeeGetProcAddress("glMakeTextureHandleResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeTextureHandleNonResidentNV = (GLEEPFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) __GLeeGetProcAddress("glMakeTextureHandleNonResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glGetImageHandleNV = (GLEEPFNGLGETIMAGEHANDLENVPROC) __GLeeGetProcAddress("glGetImageHandleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeImageHandleResidentNV = (GLEEPFNGLMAKEIMAGEHANDLERESIDENTNVPROC) __GLeeGetProcAddress("glMakeImageHandleResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glMakeImageHandleNonResidentNV = (GLEEPFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) __GLeeGetProcAddress("glMakeImageHandleNonResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformHandleui64NV = (GLEEPFNGLUNIFORMHANDLEUI64NVPROC) __GLeeGetProcAddress("glUniformHandleui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glUniformHandleui64vNV = (GLEEPFNGLUNIFORMHANDLEUI64VNVPROC) __GLeeGetProcAddress("glUniformHandleui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformHandleui64NV = (GLEEPFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) __GLeeGetProcAddress("glProgramUniformHandleui64NV"))!=0) nLinked++; - if ((GLeeFuncPtr_glProgramUniformHandleui64vNV = (GLEEPFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) __GLeeGetProcAddress("glProgramUniformHandleui64vNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsTextureHandleResidentNV = (GLEEPFNGLISTEXTUREHANDLERESIDENTNVPROC) __GLeeGetProcAddress("glIsTextureHandleResidentNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glIsImageHandleResidentNV = (GLEEPFNGLISIMAGEHANDLERESIDENTNVPROC) __GLeeGetProcAddress("glIsImageHandleResidentNV"))!=0) nLinked++; -#endif - if (nLinked==13) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_shader_atomic_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_AMD_query_buffer_object(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_compute_program5(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_shader_storage_buffer_object(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_shader_atomic_counters(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NV_deep_texture3D(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_NVX_conditional_render(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NVX_conditional_render - if ((GLeeFuncPtr_glBeginConditionalRenderNVX = (GLEEPFNGLBEGINCONDITIONALRENDERNVXPROC) __GLeeGetProcAddress("glBeginConditionalRenderNVX"))!=0) nLinked++; - if ((GLeeFuncPtr_glEndConditionalRenderNVX = (GLEEPFNGLENDCONDITIONALRENDERNVXPROC) __GLeeGetProcAddress("glEndConditionalRenderNVX"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_sparse_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_AMD_sparse_texture - if ((GLeeFuncPtr_glTexStorageSparseAMD = (GLEEPFNGLTEXSTORAGESPARSEAMDPROC) __GLeeGetProcAddress("glTexStorageSparseAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_glTextureStorageSparseAMD = (GLEEPFNGLTEXTURESTORAGESPARSEAMDPROC) __GLeeGetProcAddress("glTextureStorageSparseAMD"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_AMD_shader_trinary_minmax(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INTEL_map_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_INTEL_map_texture - if ((GLeeFuncPtr_glSyncTextureINTEL = (GLEEPFNGLSYNCTEXTUREINTELPROC) __GLeeGetProcAddress("glSyncTextureINTEL"))!=0) nLinked++; - if ((GLeeFuncPtr_glUnmapTexture2DINTEL = (GLEEPFNGLUNMAPTEXTURE2DINTELPROC) __GLeeGetProcAddress("glUnmapTexture2DINTEL"))!=0) nLinked++; - if ((GLeeFuncPtr_glMapTexture2DINTEL = (GLEEPFNGLMAPTEXTURE2DINTELPROC) __GLeeGetProcAddress("glMapTexture2DINTEL"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_NV_draw_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_NV_draw_texture - if ((GLeeFuncPtr_glDrawTextureNV = (GLEEPFNGLDRAWTEXTURENVPROC) __GLeeGetProcAddress("glDrawTextureNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_texture_select(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_INGR_blend_func_separate(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_INGR_blend_func_separate - if ((GLeeFuncPtr_glBlendFuncSeparateINGR = (GLEEPFNGLBLENDFUNCSEPARATEINGRPROC) __GLeeGetProcAddress("glBlendFuncSeparateINGR"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GL_SGIX_depth_pass_instrument(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GL_SGIX_igloo_interface(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GL_SGIX_igloo_interface - if ((GLeeFuncPtr_glIglooInterfaceSGIX = (GLEEPFNGLIGLOOINTERFACESGIXPROC) __GLeeGetProcAddress("glIglooInterfaceSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLEE_LINK_FUNCTION __GLeeGLLoadFunction[463]; - -void initGLLoadFunctions(void) -{ - __GLeeGLLoadFunction[0]=__GLeeLink_GL_VERSION_1_2; - __GLeeGLLoadFunction[1]=__GLeeLink_GL_ARB_imaging; - __GLeeGLLoadFunction[2]=__GLeeLink_GL_VERSION_1_3; - __GLeeGLLoadFunction[3]=__GLeeLink_GL_VERSION_1_4; - __GLeeGLLoadFunction[4]=__GLeeLink_GL_VERSION_1_5; - __GLeeGLLoadFunction[5]=__GLeeLink_GL_VERSION_2_0; - __GLeeGLLoadFunction[6]=__GLeeLink_GL_VERSION_2_1; - __GLeeGLLoadFunction[7]=__GLeeLink_GL_VERSION_3_0; - __GLeeGLLoadFunction[8]=__GLeeLink_GL_VERSION_3_1; - __GLeeGLLoadFunction[9]=__GLeeLink_GL_VERSION_3_2; - __GLeeGLLoadFunction[10]=__GLeeLink_GL_VERSION_3_3; - __GLeeGLLoadFunction[11]=__GLeeLink_GL_VERSION_4_0; - __GLeeGLLoadFunction[12]=__GLeeLink_GL_VERSION_4_1; - __GLeeGLLoadFunction[13]=__GLeeLink_GL_VERSION_4_2; - __GLeeGLLoadFunction[14]=__GLeeLink_GL_VERSION_4_3; - __GLeeGLLoadFunction[15]=__GLeeLink_GL_ARB_multitexture; - __GLeeGLLoadFunction[16]=__GLeeLink_GL_ARB_transpose_matrix; - __GLeeGLLoadFunction[17]=__GLeeLink_GL_ARB_multisample; - __GLeeGLLoadFunction[18]=__GLeeLink_GL_ARB_texture_env_add; - __GLeeGLLoadFunction[19]=__GLeeLink_GL_ARB_texture_cube_map; - __GLeeGLLoadFunction[20]=__GLeeLink_GL_ARB_texture_compression; - __GLeeGLLoadFunction[21]=__GLeeLink_GL_ARB_texture_border_clamp; - __GLeeGLLoadFunction[22]=__GLeeLink_GL_ARB_point_parameters; - __GLeeGLLoadFunction[23]=__GLeeLink_GL_ARB_vertex_blend; - __GLeeGLLoadFunction[24]=__GLeeLink_GL_ARB_matrix_palette; - __GLeeGLLoadFunction[25]=__GLeeLink_GL_ARB_texture_env_combine; - __GLeeGLLoadFunction[26]=__GLeeLink_GL_ARB_texture_env_crossbar; - __GLeeGLLoadFunction[27]=__GLeeLink_GL_ARB_texture_env_dot3; - __GLeeGLLoadFunction[28]=__GLeeLink_GL_ARB_texture_mirrored_repeat; - __GLeeGLLoadFunction[29]=__GLeeLink_GL_ARB_depth_texture; - __GLeeGLLoadFunction[30]=__GLeeLink_GL_ARB_shadow; - __GLeeGLLoadFunction[31]=__GLeeLink_GL_ARB_shadow_ambient; - __GLeeGLLoadFunction[32]=__GLeeLink_GL_ARB_window_pos; - __GLeeGLLoadFunction[33]=__GLeeLink_GL_ARB_vertex_program; - __GLeeGLLoadFunction[34]=__GLeeLink_GL_ARB_fragment_program; - __GLeeGLLoadFunction[35]=__GLeeLink_GL_ARB_vertex_buffer_object; - __GLeeGLLoadFunction[36]=__GLeeLink_GL_ARB_occlusion_query; - __GLeeGLLoadFunction[37]=__GLeeLink_GL_ARB_shader_objects; - __GLeeGLLoadFunction[38]=__GLeeLink_GL_ARB_vertex_shader; - __GLeeGLLoadFunction[39]=__GLeeLink_GL_ARB_fragment_shader; - __GLeeGLLoadFunction[40]=__GLeeLink_GL_ARB_shading_language_100; - __GLeeGLLoadFunction[41]=__GLeeLink_GL_ARB_texture_non_power_of_two; - __GLeeGLLoadFunction[42]=__GLeeLink_GL_ARB_point_sprite; - __GLeeGLLoadFunction[43]=__GLeeLink_GL_ARB_fragment_program_shadow; - __GLeeGLLoadFunction[44]=__GLeeLink_GL_ARB_draw_buffers; - __GLeeGLLoadFunction[45]=__GLeeLink_GL_ARB_texture_rectangle; - __GLeeGLLoadFunction[46]=__GLeeLink_GL_ARB_color_buffer_float; - __GLeeGLLoadFunction[47]=__GLeeLink_GL_ARB_half_float_pixel; - __GLeeGLLoadFunction[48]=__GLeeLink_GL_ARB_texture_float; - __GLeeGLLoadFunction[49]=__GLeeLink_GL_ARB_pixel_buffer_object; - __GLeeGLLoadFunction[50]=__GLeeLink_GL_ARB_depth_buffer_float; - __GLeeGLLoadFunction[51]=__GLeeLink_GL_ARB_draw_instanced; - __GLeeGLLoadFunction[52]=__GLeeLink_GL_ARB_framebuffer_object; - __GLeeGLLoadFunction[53]=__GLeeLink_GL_ARB_framebuffer_sRGB; - __GLeeGLLoadFunction[54]=__GLeeLink_GL_ARB_geometry_shader4; - __GLeeGLLoadFunction[55]=__GLeeLink_GL_ARB_half_float_vertex; - __GLeeGLLoadFunction[56]=__GLeeLink_GL_ARB_instanced_arrays; - __GLeeGLLoadFunction[57]=__GLeeLink_GL_ARB_map_buffer_range; - __GLeeGLLoadFunction[58]=__GLeeLink_GL_ARB_texture_buffer_object; - __GLeeGLLoadFunction[59]=__GLeeLink_GL_ARB_texture_compression_rgtc; - __GLeeGLLoadFunction[60]=__GLeeLink_GL_ARB_texture_rg; - __GLeeGLLoadFunction[61]=__GLeeLink_GL_ARB_vertex_array_object; - __GLeeGLLoadFunction[62]=__GLeeLink_GL_ARB_uniform_buffer_object; - __GLeeGLLoadFunction[63]=__GLeeLink_GL_ARB_compatibility; - __GLeeGLLoadFunction[64]=__GLeeLink_GL_ARB_copy_buffer; - __GLeeGLLoadFunction[65]=__GLeeLink_GL_ARB_shader_texture_lod; - __GLeeGLLoadFunction[66]=__GLeeLink_GL_ARB_depth_clamp; - __GLeeGLLoadFunction[67]=__GLeeLink_GL_ARB_draw_elements_base_vertex; - __GLeeGLLoadFunction[68]=__GLeeLink_GL_ARB_fragment_coord_conventions; - __GLeeGLLoadFunction[69]=__GLeeLink_GL_ARB_provoking_vertex; - __GLeeGLLoadFunction[70]=__GLeeLink_GL_ARB_seamless_cube_map; - __GLeeGLLoadFunction[71]=__GLeeLink_GL_ARB_sync; - __GLeeGLLoadFunction[72]=__GLeeLink_GL_ARB_texture_multisample; - __GLeeGLLoadFunction[73]=__GLeeLink_GL_ARB_vertex_array_bgra; - __GLeeGLLoadFunction[74]=__GLeeLink_GL_ARB_draw_buffers_blend; - __GLeeGLLoadFunction[75]=__GLeeLink_GL_ARB_sample_shading; - __GLeeGLLoadFunction[76]=__GLeeLink_GL_ARB_texture_cube_map_array; - __GLeeGLLoadFunction[77]=__GLeeLink_GL_ARB_texture_gather; - __GLeeGLLoadFunction[78]=__GLeeLink_GL_ARB_texture_query_lod; - __GLeeGLLoadFunction[79]=__GLeeLink_GL_ARB_shading_language_include; - __GLeeGLLoadFunction[80]=__GLeeLink_GL_ARB_texture_compression_bptc; - __GLeeGLLoadFunction[81]=__GLeeLink_GL_ARB_blend_func_extended; - __GLeeGLLoadFunction[82]=__GLeeLink_GL_ARB_explicit_attrib_location; - __GLeeGLLoadFunction[83]=__GLeeLink_GL_ARB_occlusion_query2; - __GLeeGLLoadFunction[84]=__GLeeLink_GL_ARB_sampler_objects; - __GLeeGLLoadFunction[85]=__GLeeLink_GL_ARB_shader_bit_encoding; - __GLeeGLLoadFunction[86]=__GLeeLink_GL_ARB_texture_rgb10_a2ui; - __GLeeGLLoadFunction[87]=__GLeeLink_GL_ARB_texture_swizzle; - __GLeeGLLoadFunction[88]=__GLeeLink_GL_ARB_timer_query; - __GLeeGLLoadFunction[89]=__GLeeLink_GL_ARB_vertex_type_2_10_10_10_rev; - __GLeeGLLoadFunction[90]=__GLeeLink_GL_ARB_draw_indirect; - __GLeeGLLoadFunction[91]=__GLeeLink_GL_ARB_gpu_shader5; - __GLeeGLLoadFunction[92]=__GLeeLink_GL_ARB_gpu_shader_fp64; - __GLeeGLLoadFunction[93]=__GLeeLink_GL_ARB_shader_subroutine; - __GLeeGLLoadFunction[94]=__GLeeLink_GL_ARB_tessellation_shader; - __GLeeGLLoadFunction[95]=__GLeeLink_GL_ARB_texture_buffer_object_rgb32; - __GLeeGLLoadFunction[96]=__GLeeLink_GL_ARB_transform_feedback2; - __GLeeGLLoadFunction[97]=__GLeeLink_GL_ARB_transform_feedback3; - __GLeeGLLoadFunction[98]=__GLeeLink_GL_ARB_ES2_compatibility; - __GLeeGLLoadFunction[99]=__GLeeLink_GL_ARB_get_program_binary; - __GLeeGLLoadFunction[100]=__GLeeLink_GL_ARB_separate_shader_objects; - __GLeeGLLoadFunction[101]=__GLeeLink_GL_ARB_shader_precision; - __GLeeGLLoadFunction[102]=__GLeeLink_GL_ARB_vertex_attrib_64bit; - __GLeeGLLoadFunction[103]=__GLeeLink_GL_ARB_viewport_array; - __GLeeGLLoadFunction[104]=__GLeeLink_GL_ARB_cl_event; - __GLeeGLLoadFunction[105]=__GLeeLink_GL_ARB_debug_output; - __GLeeGLLoadFunction[106]=__GLeeLink_GL_ARB_robustness; - __GLeeGLLoadFunction[107]=__GLeeLink_GL_ARB_shader_stencil_export; - __GLeeGLLoadFunction[108]=__GLeeLink_GL_ARB_base_instance; - __GLeeGLLoadFunction[109]=__GLeeLink_GL_ARB_shading_language_420pack; - __GLeeGLLoadFunction[110]=__GLeeLink_GL_ARB_transform_feedback_instanced; - __GLeeGLLoadFunction[111]=__GLeeLink_GL_ARB_compressed_texture_pixel_storage; - __GLeeGLLoadFunction[112]=__GLeeLink_GL_ARB_conservative_depth; - __GLeeGLLoadFunction[113]=__GLeeLink_GL_ARB_internalformat_query; - __GLeeGLLoadFunction[114]=__GLeeLink_GL_ARB_map_buffer_alignment; - __GLeeGLLoadFunction[115]=__GLeeLink_GL_ARB_shader_atomic_counters; - __GLeeGLLoadFunction[116]=__GLeeLink_GL_ARB_shader_image_load_store; - __GLeeGLLoadFunction[117]=__GLeeLink_GL_ARB_shading_language_packing; - __GLeeGLLoadFunction[118]=__GLeeLink_GL_ARB_texture_storage; - __GLeeGLLoadFunction[119]=__GLeeLink_GL_KHR_texture_compression_astc_ldr; - __GLeeGLLoadFunction[120]=__GLeeLink_GL_KHR_debug; - __GLeeGLLoadFunction[121]=__GLeeLink_GL_ARB_arrays_of_arrays; - __GLeeGLLoadFunction[122]=__GLeeLink_GL_ARB_clear_buffer_object; - __GLeeGLLoadFunction[123]=__GLeeLink_GL_ARB_compute_shader; - __GLeeGLLoadFunction[124]=__GLeeLink_GL_ARB_copy_image; - __GLeeGLLoadFunction[125]=__GLeeLink_GL_ARB_texture_view; - __GLeeGLLoadFunction[126]=__GLeeLink_GL_ARB_vertex_attrib_binding; - __GLeeGLLoadFunction[127]=__GLeeLink_GL_ARB_robustness_isolation; - __GLeeGLLoadFunction[128]=__GLeeLink_GL_ARB_ES3_compatibility; - __GLeeGLLoadFunction[129]=__GLeeLink_GL_ARB_explicit_uniform_location; - __GLeeGLLoadFunction[130]=__GLeeLink_GL_ARB_fragment_layer_viewport; - __GLeeGLLoadFunction[131]=__GLeeLink_GL_ARB_framebuffer_no_attachments; - __GLeeGLLoadFunction[132]=__GLeeLink_GL_ARB_internalformat_query2; - __GLeeGLLoadFunction[133]=__GLeeLink_GL_ARB_invalidate_subdata; - __GLeeGLLoadFunction[134]=__GLeeLink_GL_ARB_multi_draw_indirect; - __GLeeGLLoadFunction[135]=__GLeeLink_GL_ARB_program_interface_query; - __GLeeGLLoadFunction[136]=__GLeeLink_GL_ARB_robust_buffer_access_behavior; - __GLeeGLLoadFunction[137]=__GLeeLink_GL_ARB_shader_image_size; - __GLeeGLLoadFunction[138]=__GLeeLink_GL_ARB_shader_storage_buffer_object; - __GLeeGLLoadFunction[139]=__GLeeLink_GL_ARB_stencil_texturing; - __GLeeGLLoadFunction[140]=__GLeeLink_GL_ARB_texture_buffer_range; - __GLeeGLLoadFunction[141]=__GLeeLink_GL_ARB_texture_query_levels; - __GLeeGLLoadFunction[142]=__GLeeLink_GL_ARB_texture_storage_multisample; - __GLeeGLLoadFunction[143]=__GLeeLink_GL_EXT_abgr; - __GLeeGLLoadFunction[144]=__GLeeLink_GL_EXT_blend_color; - __GLeeGLLoadFunction[145]=__GLeeLink_GL_EXT_polygon_offset; - __GLeeGLLoadFunction[146]=__GLeeLink_GL_EXT_texture; - __GLeeGLLoadFunction[147]=__GLeeLink_GL_EXT_texture3D; - __GLeeGLLoadFunction[148]=__GLeeLink_GL_SGIS_texture_filter4; - __GLeeGLLoadFunction[149]=__GLeeLink_GL_EXT_subtexture; - __GLeeGLLoadFunction[150]=__GLeeLink_GL_EXT_copy_texture; - __GLeeGLLoadFunction[151]=__GLeeLink_GL_EXT_histogram; - __GLeeGLLoadFunction[152]=__GLeeLink_GL_EXT_convolution; - __GLeeGLLoadFunction[153]=__GLeeLink_GL_SGI_color_matrix; - __GLeeGLLoadFunction[154]=__GLeeLink_GL_SGI_color_table; - __GLeeGLLoadFunction[155]=__GLeeLink_GL_SGIS_pixel_texture; - __GLeeGLLoadFunction[156]=__GLeeLink_GL_SGIX_pixel_texture; - __GLeeGLLoadFunction[157]=__GLeeLink_GL_SGIS_texture4D; - __GLeeGLLoadFunction[158]=__GLeeLink_GL_SGI_texture_color_table; - __GLeeGLLoadFunction[159]=__GLeeLink_GL_EXT_cmyka; - __GLeeGLLoadFunction[160]=__GLeeLink_GL_EXT_texture_object; - __GLeeGLLoadFunction[161]=__GLeeLink_GL_SGIS_detail_texture; - __GLeeGLLoadFunction[162]=__GLeeLink_GL_SGIS_sharpen_texture; - __GLeeGLLoadFunction[163]=__GLeeLink_GL_EXT_packed_pixels; - __GLeeGLLoadFunction[164]=__GLeeLink_GL_SGIS_texture_lod; - __GLeeGLLoadFunction[165]=__GLeeLink_GL_SGIS_multisample; - __GLeeGLLoadFunction[166]=__GLeeLink_GL_EXT_rescale_normal; - __GLeeGLLoadFunction[167]=__GLeeLink_GL_EXT_vertex_array; - __GLeeGLLoadFunction[168]=__GLeeLink_GL_EXT_misc_attribute; - __GLeeGLLoadFunction[169]=__GLeeLink_GL_SGIS_generate_mipmap; - __GLeeGLLoadFunction[170]=__GLeeLink_GL_SGIX_clipmap; - __GLeeGLLoadFunction[171]=__GLeeLink_GL_SGIX_shadow; - __GLeeGLLoadFunction[172]=__GLeeLink_GL_SGIS_texture_edge_clamp; - __GLeeGLLoadFunction[173]=__GLeeLink_GL_SGIS_texture_border_clamp; - __GLeeGLLoadFunction[174]=__GLeeLink_GL_EXT_blend_minmax; - __GLeeGLLoadFunction[175]=__GLeeLink_GL_EXT_blend_subtract; - __GLeeGLLoadFunction[176]=__GLeeLink_GL_EXT_blend_logic_op; - __GLeeGLLoadFunction[177]=__GLeeLink_GL_SGIX_interlace; - __GLeeGLLoadFunction[178]=__GLeeLink_GL_SGIX_pixel_tiles; - __GLeeGLLoadFunction[179]=__GLeeLink_GL_SGIS_texture_select; - __GLeeGLLoadFunction[180]=__GLeeLink_GL_SGIX_sprite; - __GLeeGLLoadFunction[181]=__GLeeLink_GL_SGIX_texture_multi_buffer; - __GLeeGLLoadFunction[182]=__GLeeLink_GL_EXT_point_parameters; - __GLeeGLLoadFunction[183]=__GLeeLink_GL_SGIS_point_parameters; - __GLeeGLLoadFunction[184]=__GLeeLink_GL_SGIX_instruments; - __GLeeGLLoadFunction[185]=__GLeeLink_GL_SGIX_texture_scale_bias; - __GLeeGLLoadFunction[186]=__GLeeLink_GL_SGIX_framezoom; - __GLeeGLLoadFunction[187]=__GLeeLink_GL_SGIX_tag_sample_buffer; - __GLeeGLLoadFunction[188]=__GLeeLink_GL_FfdMaskSGIX; - __GLeeGLLoadFunction[189]=__GLeeLink_GL_SGIX_polynomial_ffd; - __GLeeGLLoadFunction[190]=__GLeeLink_GL_SGIX_reference_plane; - __GLeeGLLoadFunction[191]=__GLeeLink_GL_SGIX_flush_raster; - __GLeeGLLoadFunction[192]=__GLeeLink_GL_SGIX_depth_texture; - __GLeeGLLoadFunction[193]=__GLeeLink_GL_SGIS_fog_function; - __GLeeGLLoadFunction[194]=__GLeeLink_GL_SGIX_fog_offset; - __GLeeGLLoadFunction[195]=__GLeeLink_GL_HP_image_transform; - __GLeeGLLoadFunction[196]=__GLeeLink_GL_HP_convolution_border_modes; - __GLeeGLLoadFunction[197]=__GLeeLink_GL_INGR_palette_buffer; - __GLeeGLLoadFunction[198]=__GLeeLink_GL_SGIX_texture_add_env; - __GLeeGLLoadFunction[199]=__GLeeLink_GL_EXT_color_subtable; - __GLeeGLLoadFunction[200]=__GLeeLink_GL_PGI_vertex_hints; - __GLeeGLLoadFunction[201]=__GLeeLink_GL_PGI_misc_hints; - __GLeeGLLoadFunction[202]=__GLeeLink_GL_EXT_paletted_texture; - __GLeeGLLoadFunction[203]=__GLeeLink_GL_EXT_clip_volume_hint; - __GLeeGLLoadFunction[204]=__GLeeLink_GL_SGIX_list_priority; - __GLeeGLLoadFunction[205]=__GLeeLink_GL_SGIX_ir_instrument1; - __GLeeGLLoadFunction[206]=__GLeeLink_GL_SGIX_calligraphic_fragment; - __GLeeGLLoadFunction[207]=__GLeeLink_GL_SGIX_texture_lod_bias; - __GLeeGLLoadFunction[208]=__GLeeLink_GL_SGIX_shadow_ambient; - __GLeeGLLoadFunction[209]=__GLeeLink_GL_EXT_index_texture; - __GLeeGLLoadFunction[210]=__GLeeLink_GL_EXT_index_material; - __GLeeGLLoadFunction[211]=__GLeeLink_GL_EXT_index_func; - __GLeeGLLoadFunction[212]=__GLeeLink_GL_EXT_index_array_formats; - __GLeeGLLoadFunction[213]=__GLeeLink_GL_EXT_compiled_vertex_array; - __GLeeGLLoadFunction[214]=__GLeeLink_GL_EXT_cull_vertex; - __GLeeGLLoadFunction[215]=__GLeeLink_GL_SGIX_ycrcb; - __GLeeGLLoadFunction[216]=__GLeeLink_GL_SGIX_fragment_lighting; - __GLeeGLLoadFunction[217]=__GLeeLink_GL_IBM_rasterpos_clip; - __GLeeGLLoadFunction[218]=__GLeeLink_GL_HP_texture_lighting; - __GLeeGLLoadFunction[219]=__GLeeLink_GL_EXT_draw_range_elements; - __GLeeGLLoadFunction[220]=__GLeeLink_GL_WIN_phong_shading; - __GLeeGLLoadFunction[221]=__GLeeLink_GL_WIN_specular_fog; - __GLeeGLLoadFunction[222]=__GLeeLink_GL_EXT_light_texture; - __GLeeGLLoadFunction[223]=__GLeeLink_GL_SGIX_blend_alpha_minmax; - __GLeeGLLoadFunction[224]=__GLeeLink_GL_SGIX_impact_pixel_texture; - __GLeeGLLoadFunction[225]=__GLeeLink_GL_EXT_bgra; - __GLeeGLLoadFunction[226]=__GLeeLink_GL_SGIX_async; - __GLeeGLLoadFunction[227]=__GLeeLink_GL_SGIX_async_pixel; - __GLeeGLLoadFunction[228]=__GLeeLink_GL_SGIX_async_histogram; - __GLeeGLLoadFunction[229]=__GLeeLink_GL_INTEL_texture_scissor; - __GLeeGLLoadFunction[230]=__GLeeLink_GL_INTEL_parallel_arrays; - __GLeeGLLoadFunction[231]=__GLeeLink_GL_HP_occlusion_test; - __GLeeGLLoadFunction[232]=__GLeeLink_GL_EXT_pixel_transform; - __GLeeGLLoadFunction[233]=__GLeeLink_GL_EXT_pixel_transform_color_table; - __GLeeGLLoadFunction[234]=__GLeeLink_GL_EXT_shared_texture_palette; - __GLeeGLLoadFunction[235]=__GLeeLink_GL_EXT_separate_specular_color; - __GLeeGLLoadFunction[236]=__GLeeLink_GL_EXT_secondary_color; - __GLeeGLLoadFunction[237]=__GLeeLink_GL_EXT_texture_perturb_normal; - __GLeeGLLoadFunction[238]=__GLeeLink_GL_EXT_multi_draw_arrays; - __GLeeGLLoadFunction[239]=__GLeeLink_GL_EXT_fog_coord; - __GLeeGLLoadFunction[240]=__GLeeLink_GL_REND_screen_coordinates; - __GLeeGLLoadFunction[241]=__GLeeLink_GL_EXT_coordinate_frame; - __GLeeGLLoadFunction[242]=__GLeeLink_GL_EXT_texture_env_combine; - __GLeeGLLoadFunction[243]=__GLeeLink_GL_APPLE_specular_vector; - __GLeeGLLoadFunction[244]=__GLeeLink_GL_APPLE_transform_hint; - __GLeeGLLoadFunction[245]=__GLeeLink_GL_SGIX_fog_scale; - __GLeeGLLoadFunction[246]=__GLeeLink_GL_SUNX_constant_data; - __GLeeGLLoadFunction[247]=__GLeeLink_GL_SUN_global_alpha; - __GLeeGLLoadFunction[248]=__GLeeLink_GL_SUN_triangle_list; - __GLeeGLLoadFunction[249]=__GLeeLink_GL_SUN_vertex; - __GLeeGLLoadFunction[250]=__GLeeLink_GL_EXT_blend_func_separate; - __GLeeGLLoadFunction[251]=__GLeeLink_GL_INGR_color_clamp; - __GLeeGLLoadFunction[252]=__GLeeLink_GL_INGR_interlace_read; - __GLeeGLLoadFunction[253]=__GLeeLink_GL_EXT_stencil_wrap; - __GLeeGLLoadFunction[254]=__GLeeLink_GL_EXT_422_pixels; - __GLeeGLLoadFunction[255]=__GLeeLink_GL_NV_texgen_reflection; - __GLeeGLLoadFunction[256]=__GLeeLink_GL_EXT_texture_cube_map; - __GLeeGLLoadFunction[257]=__GLeeLink_GL_SUN_convolution_border_modes; - __GLeeGLLoadFunction[258]=__GLeeLink_GL_EXT_texture_env_add; - __GLeeGLLoadFunction[259]=__GLeeLink_GL_EXT_texture_lod_bias; - __GLeeGLLoadFunction[260]=__GLeeLink_GL_EXT_texture_filter_anisotropic; - __GLeeGLLoadFunction[261]=__GLeeLink_GL_EXT_vertex_weighting; - __GLeeGLLoadFunction[262]=__GLeeLink_GL_NV_light_max_exponent; - __GLeeGLLoadFunction[263]=__GLeeLink_GL_NV_vertex_array_range; - __GLeeGLLoadFunction[264]=__GLeeLink_GL_NV_register_combiners; - __GLeeGLLoadFunction[265]=__GLeeLink_GL_NV_fog_distance; - __GLeeGLLoadFunction[266]=__GLeeLink_GL_NV_texgen_emboss; - __GLeeGLLoadFunction[267]=__GLeeLink_GL_NV_blend_square; - __GLeeGLLoadFunction[268]=__GLeeLink_GL_NV_texture_env_combine4; - __GLeeGLLoadFunction[269]=__GLeeLink_GL_MESA_resize_buffers; - __GLeeGLLoadFunction[270]=__GLeeLink_GL_MESA_window_pos; - __GLeeGLLoadFunction[271]=__GLeeLink_GL_EXT_texture_compression_s3tc; - __GLeeGLLoadFunction[272]=__GLeeLink_GL_IBM_cull_vertex; - __GLeeGLLoadFunction[273]=__GLeeLink_GL_IBM_multimode_draw_arrays; - __GLeeGLLoadFunction[274]=__GLeeLink_GL_IBM_vertex_array_lists; - __GLeeGLLoadFunction[275]=__GLeeLink_GL_SGIX_subsample; - __GLeeGLLoadFunction[276]=__GLeeLink_GL_SGIX_ycrcb_subsample; - __GLeeGLLoadFunction[277]=__GLeeLink_GL_SGIX_ycrcba; - __GLeeGLLoadFunction[278]=__GLeeLink_GL_SGI_depth_pass_instrument; - __GLeeGLLoadFunction[279]=__GLeeLink_GL_3DFX_texture_compression_FXT1; - __GLeeGLLoadFunction[280]=__GLeeLink_GL_3DFX_multisample; - __GLeeGLLoadFunction[281]=__GLeeLink_GL_3DFX_tbuffer; - __GLeeGLLoadFunction[282]=__GLeeLink_GL_EXT_multisample; - __GLeeGLLoadFunction[283]=__GLeeLink_GL_SGIX_vertex_preclip; - __GLeeGLLoadFunction[284]=__GLeeLink_GL_SGIX_convolution_accuracy; - __GLeeGLLoadFunction[285]=__GLeeLink_GL_SGIX_resample; - __GLeeGLLoadFunction[286]=__GLeeLink_GL_SGIS_point_line_texgen; - __GLeeGLLoadFunction[287]=__GLeeLink_GL_SGIS_texture_color_mask; - __GLeeGLLoadFunction[288]=__GLeeLink_GL_EXT_texture_env_dot3; - __GLeeGLLoadFunction[289]=__GLeeLink_GL_ATI_texture_mirror_once; - __GLeeGLLoadFunction[290]=__GLeeLink_GL_NV_fence; - __GLeeGLLoadFunction[291]=__GLeeLink_GL_IBM_texture_mirrored_repeat; - __GLeeGLLoadFunction[292]=__GLeeLink_GL_NV_evaluators; - __GLeeGLLoadFunction[293]=__GLeeLink_GL_NV_packed_depth_stencil; - __GLeeGLLoadFunction[294]=__GLeeLink_GL_NV_register_combiners2; - __GLeeGLLoadFunction[295]=__GLeeLink_GL_NV_texture_compression_vtc; - __GLeeGLLoadFunction[296]=__GLeeLink_GL_NV_texture_rectangle; - __GLeeGLLoadFunction[297]=__GLeeLink_GL_NV_texture_shader; - __GLeeGLLoadFunction[298]=__GLeeLink_GL_NV_texture_shader2; - __GLeeGLLoadFunction[299]=__GLeeLink_GL_NV_vertex_array_range2; - __GLeeGLLoadFunction[300]=__GLeeLink_GL_NV_vertex_program; - __GLeeGLLoadFunction[301]=__GLeeLink_GL_SGIX_texture_coordinate_clamp; - __GLeeGLLoadFunction[302]=__GLeeLink_GL_SGIX_scalebias_hint; - __GLeeGLLoadFunction[303]=__GLeeLink_GL_OML_interlace; - __GLeeGLLoadFunction[304]=__GLeeLink_GL_OML_subsample; - __GLeeGLLoadFunction[305]=__GLeeLink_GL_OML_resample; - __GLeeGLLoadFunction[306]=__GLeeLink_GL_NV_copy_depth_to_color; - __GLeeGLLoadFunction[307]=__GLeeLink_GL_ATI_envmap_bumpmap; - __GLeeGLLoadFunction[308]=__GLeeLink_GL_ATI_fragment_shader; - __GLeeGLLoadFunction[309]=__GLeeLink_GL_ATI_pn_triangles; - __GLeeGLLoadFunction[310]=__GLeeLink_GL_ATI_vertex_array_object; - __GLeeGLLoadFunction[311]=__GLeeLink_GL_EXT_vertex_shader; - __GLeeGLLoadFunction[312]=__GLeeLink_GL_ATI_vertex_streams; - __GLeeGLLoadFunction[313]=__GLeeLink_GL_ATI_element_array; - __GLeeGLLoadFunction[314]=__GLeeLink_GL_SUN_mesh_array; - __GLeeGLLoadFunction[315]=__GLeeLink_GL_SUN_slice_accum; - __GLeeGLLoadFunction[316]=__GLeeLink_GL_NV_multisample_filter_hint; - __GLeeGLLoadFunction[317]=__GLeeLink_GL_NV_depth_clamp; - __GLeeGLLoadFunction[318]=__GLeeLink_GL_NV_occlusion_query; - __GLeeGLLoadFunction[319]=__GLeeLink_GL_NV_point_sprite; - __GLeeGLLoadFunction[320]=__GLeeLink_GL_NV_texture_shader3; - __GLeeGLLoadFunction[321]=__GLeeLink_GL_NV_vertex_program1_1; - __GLeeGLLoadFunction[322]=__GLeeLink_GL_EXT_shadow_funcs; - __GLeeGLLoadFunction[323]=__GLeeLink_GL_EXT_stencil_two_side; - __GLeeGLLoadFunction[324]=__GLeeLink_GL_ATI_text_fragment_shader; - __GLeeGLLoadFunction[325]=__GLeeLink_GL_APPLE_client_storage; - __GLeeGLLoadFunction[326]=__GLeeLink_GL_APPLE_element_array; - __GLeeGLLoadFunction[327]=__GLeeLink_GL_APPLE_fence; - __GLeeGLLoadFunction[328]=__GLeeLink_GL_APPLE_vertex_array_object; - __GLeeGLLoadFunction[329]=__GLeeLink_GL_APPLE_vertex_array_range; - __GLeeGLLoadFunction[330]=__GLeeLink_GL_APPLE_ycbcr_422; - __GLeeGLLoadFunction[331]=__GLeeLink_GL_S3_s3tc; - __GLeeGLLoadFunction[332]=__GLeeLink_GL_ATI_draw_buffers; - __GLeeGLLoadFunction[333]=__GLeeLink_GL_ATI_pixel_format_float; - __GLeeGLLoadFunction[334]=__GLeeLink_GL_ATI_texture_env_combine3; - __GLeeGLLoadFunction[335]=__GLeeLink_GL_ATI_texture_float; - __GLeeGLLoadFunction[336]=__GLeeLink_GL_NV_float_buffer; - __GLeeGLLoadFunction[337]=__GLeeLink_GL_NV_fragment_program; - __GLeeGLLoadFunction[338]=__GLeeLink_GL_NV_half_float; - __GLeeGLLoadFunction[339]=__GLeeLink_GL_NV_pixel_data_range; - __GLeeGLLoadFunction[340]=__GLeeLink_GL_NV_primitive_restart; - __GLeeGLLoadFunction[341]=__GLeeLink_GL_NV_texture_expand_normal; - __GLeeGLLoadFunction[342]=__GLeeLink_GL_NV_vertex_program2; - __GLeeGLLoadFunction[343]=__GLeeLink_GL_ATI_map_object_buffer; - __GLeeGLLoadFunction[344]=__GLeeLink_GL_ATI_separate_stencil; - __GLeeGLLoadFunction[345]=__GLeeLink_GL_ATI_vertex_attrib_array_object; - __GLeeGLLoadFunction[346]=__GLeeLink_GL_OES_byte_coordinates; - __GLeeGLLoadFunction[347]=__GLeeLink_GL_OES_fixed_point; - __GLeeGLLoadFunction[348]=__GLeeLink_GL_OES_single_precision; - __GLeeGLLoadFunction[349]=__GLeeLink_GL_OES_compressed_paletted_texture; - __GLeeGLLoadFunction[350]=__GLeeLink_GL_OES_read_format; - __GLeeGLLoadFunction[351]=__GLeeLink_GL_OES_query_matrix; - __GLeeGLLoadFunction[352]=__GLeeLink_GL_EXT_depth_bounds_test; - __GLeeGLLoadFunction[353]=__GLeeLink_GL_EXT_texture_mirror_clamp; - __GLeeGLLoadFunction[354]=__GLeeLink_GL_EXT_blend_equation_separate; - __GLeeGLLoadFunction[355]=__GLeeLink_GL_MESA_pack_invert; - __GLeeGLLoadFunction[356]=__GLeeLink_GL_MESA_ycbcr_texture; - __GLeeGLLoadFunction[357]=__GLeeLink_GL_EXT_pixel_buffer_object; - __GLeeGLLoadFunction[358]=__GLeeLink_GL_NV_fragment_program_option; - __GLeeGLLoadFunction[359]=__GLeeLink_GL_NV_fragment_program2; - __GLeeGLLoadFunction[360]=__GLeeLink_GL_NV_vertex_program2_option; - __GLeeGLLoadFunction[361]=__GLeeLink_GL_NV_vertex_program3; - __GLeeGLLoadFunction[362]=__GLeeLink_GL_EXT_framebuffer_object; - __GLeeGLLoadFunction[363]=__GLeeLink_GL_GREMEDY_string_marker; - __GLeeGLLoadFunction[364]=__GLeeLink_GL_EXT_packed_depth_stencil; - __GLeeGLLoadFunction[365]=__GLeeLink_GL_EXT_stencil_clear_tag; - __GLeeGLLoadFunction[366]=__GLeeLink_GL_EXT_texture_sRGB; - __GLeeGLLoadFunction[367]=__GLeeLink_GL_EXT_framebuffer_blit; - __GLeeGLLoadFunction[368]=__GLeeLink_GL_EXT_framebuffer_multisample; - __GLeeGLLoadFunction[369]=__GLeeLink_GL_MESAX_texture_stack; - __GLeeGLLoadFunction[370]=__GLeeLink_GL_EXT_timer_query; - __GLeeGLLoadFunction[371]=__GLeeLink_GL_EXT_gpu_program_parameters; - __GLeeGLLoadFunction[372]=__GLeeLink_GL_APPLE_flush_buffer_range; - __GLeeGLLoadFunction[373]=__GLeeLink_GL_EXT_gpu_shader4; - __GLeeGLLoadFunction[374]=__GLeeLink_GL_EXT_draw_instanced; - __GLeeGLLoadFunction[375]=__GLeeLink_GL_EXT_packed_float; - __GLeeGLLoadFunction[376]=__GLeeLink_GL_EXT_texture_array; - __GLeeGLLoadFunction[377]=__GLeeLink_GL_EXT_texture_buffer_object; - __GLeeGLLoadFunction[378]=__GLeeLink_GL_EXT_texture_compression_latc; - __GLeeGLLoadFunction[379]=__GLeeLink_GL_EXT_texture_compression_rgtc; - __GLeeGLLoadFunction[380]=__GLeeLink_GL_EXT_texture_shared_exponent; - __GLeeGLLoadFunction[381]=__GLeeLink_GL_NV_depth_buffer_float; - __GLeeGLLoadFunction[382]=__GLeeLink_GL_NV_framebuffer_multisample_coverage; - __GLeeGLLoadFunction[383]=__GLeeLink_GL_EXT_framebuffer_sRGB; - __GLeeGLLoadFunction[384]=__GLeeLink_GL_NV_geometry_shader4; - __GLeeGLLoadFunction[385]=__GLeeLink_GL_NV_parameter_buffer_object; - __GLeeGLLoadFunction[386]=__GLeeLink_GL_EXT_draw_buffers2; - __GLeeGLLoadFunction[387]=__GLeeLink_GL_NV_transform_feedback; - __GLeeGLLoadFunction[388]=__GLeeLink_GL_EXT_bindable_uniform; - __GLeeGLLoadFunction[389]=__GLeeLink_GL_EXT_texture_integer; - __GLeeGLLoadFunction[390]=__GLeeLink_GL_GREMEDY_frame_terminator; - __GLeeGLLoadFunction[391]=__GLeeLink_GL_NV_conditional_render; - __GLeeGLLoadFunction[392]=__GLeeLink_GL_NV_present_video; - __GLeeGLLoadFunction[393]=__GLeeLink_GL_EXT_transform_feedback; - __GLeeGLLoadFunction[394]=__GLeeLink_GL_EXT_direct_state_access; - __GLeeGLLoadFunction[395]=__GLeeLink_GL_EXT_vertex_array_bgra; - __GLeeGLLoadFunction[396]=__GLeeLink_GL_EXT_texture_swizzle; - __GLeeGLLoadFunction[397]=__GLeeLink_GL_NV_explicit_multisample; - __GLeeGLLoadFunction[398]=__GLeeLink_GL_NV_transform_feedback2; - __GLeeGLLoadFunction[399]=__GLeeLink_GL_ATI_meminfo; - __GLeeGLLoadFunction[400]=__GLeeLink_GL_AMD_performance_monitor; - __GLeeGLLoadFunction[401]=__GLeeLink_GL_AMD_texture_texture4; - __GLeeGLLoadFunction[402]=__GLeeLink_GL_AMD_vertex_shader_tesselator; - __GLeeGLLoadFunction[403]=__GLeeLink_GL_EXT_provoking_vertex; - __GLeeGLLoadFunction[404]=__GLeeLink_GL_EXT_texture_snorm; - __GLeeGLLoadFunction[405]=__GLeeLink_GL_AMD_draw_buffers_blend; - __GLeeGLLoadFunction[406]=__GLeeLink_GL_APPLE_texture_range; - __GLeeGLLoadFunction[407]=__GLeeLink_GL_APPLE_float_pixels; - __GLeeGLLoadFunction[408]=__GLeeLink_GL_APPLE_vertex_program_evaluators; - __GLeeGLLoadFunction[409]=__GLeeLink_GL_APPLE_aux_depth_stencil; - __GLeeGLLoadFunction[410]=__GLeeLink_GL_APPLE_object_purgeable; - __GLeeGLLoadFunction[411]=__GLeeLink_GL_APPLE_row_bytes; - __GLeeGLLoadFunction[412]=__GLeeLink_GL_APPLE_rgb_422; - __GLeeGLLoadFunction[413]=__GLeeLink_GL_NV_video_capture; - __GLeeGLLoadFunction[414]=__GLeeLink_GL_NV_copy_image; - __GLeeGLLoadFunction[415]=__GLeeLink_GL_EXT_separate_shader_objects; - __GLeeGLLoadFunction[416]=__GLeeLink_GL_NV_parameter_buffer_object2; - __GLeeGLLoadFunction[417]=__GLeeLink_GL_NV_shader_buffer_load; - __GLeeGLLoadFunction[418]=__GLeeLink_GL_NV_vertex_buffer_unified_memory; - __GLeeGLLoadFunction[419]=__GLeeLink_GL_NV_texture_barrier; - __GLeeGLLoadFunction[420]=__GLeeLink_GL_AMD_shader_stencil_export; - __GLeeGLLoadFunction[421]=__GLeeLink_GL_AMD_seamless_cubemap_per_texture; - __GLeeGLLoadFunction[422]=__GLeeLink_GL_AMD_conservative_depth; - __GLeeGLLoadFunction[423]=__GLeeLink_GL_EXT_shader_image_load_store; - __GLeeGLLoadFunction[424]=__GLeeLink_GL_EXT_vertex_attrib_64bit; - __GLeeGLLoadFunction[425]=__GLeeLink_GL_NV_gpu_program5; - __GLeeGLLoadFunction[426]=__GLeeLink_GL_NV_gpu_shader5; - __GLeeGLLoadFunction[427]=__GLeeLink_GL_NV_shader_buffer_store; - __GLeeGLLoadFunction[428]=__GLeeLink_GL_NV_tessellation_program5; - __GLeeGLLoadFunction[429]=__GLeeLink_GL_NV_vertex_attrib_integer_64bit; - __GLeeGLLoadFunction[430]=__GLeeLink_GL_NV_multisample_coverage; - __GLeeGLLoadFunction[431]=__GLeeLink_GL_AMD_name_gen_delete; - __GLeeGLLoadFunction[432]=__GLeeLink_GL_AMD_debug_output; - __GLeeGLLoadFunction[433]=__GLeeLink_GL_AMD_transform_feedback3_lines_triangles; - __GLeeGLLoadFunction[434]=__GLeeLink_GL_AMD_depth_clamp_separate; - __GLeeGLLoadFunction[435]=__GLeeLink_GL_EXT_texture_sRGB_decode; - __GLeeGLLoadFunction[436]=__GLeeLink_GL_NV_texture_multisample; - __GLeeGLLoadFunction[437]=__GLeeLink_GL_AMD_blend_minmax_factor; - __GLeeGLLoadFunction[438]=__GLeeLink_GL_AMD_sample_positions; - __GLeeGLLoadFunction[439]=__GLeeLink_GL_EXT_x11_sync_object; - __GLeeGLLoadFunction[440]=__GLeeLink_GL_AMD_multi_draw_indirect; - __GLeeGLLoadFunction[441]=__GLeeLink_GL_EXT_framebuffer_multisample_blit_scaled; - __GLeeGLLoadFunction[442]=__GLeeLink_GL_NV_path_rendering; - __GLeeGLLoadFunction[443]=__GLeeLink_GL_AMD_pinned_memory; - __GLeeGLLoadFunction[444]=__GLeeLink_GL_AMD_stencil_operation_extended; - __GLeeGLLoadFunction[445]=__GLeeLink_GL_AMD_vertex_shader_viewport_index; - __GLeeGLLoadFunction[446]=__GLeeLink_GL_AMD_vertex_shader_layer; - __GLeeGLLoadFunction[447]=__GLeeLink_GL_NV_bindless_texture; - __GLeeGLLoadFunction[448]=__GLeeLink_GL_NV_shader_atomic_float; - __GLeeGLLoadFunction[449]=__GLeeLink_GL_AMD_query_buffer_object; - __GLeeGLLoadFunction[450]=__GLeeLink_GL_NV_compute_program5; - __GLeeGLLoadFunction[451]=__GLeeLink_GL_NV_shader_storage_buffer_object; - __GLeeGLLoadFunction[452]=__GLeeLink_GL_NV_shader_atomic_counters; - __GLeeGLLoadFunction[453]=__GLeeLink_GL_NV_deep_texture3D; - __GLeeGLLoadFunction[454]=__GLeeLink_GL_NVX_conditional_render; - __GLeeGLLoadFunction[455]=__GLeeLink_GL_AMD_sparse_texture; - __GLeeGLLoadFunction[456]=__GLeeLink_GL_AMD_shader_trinary_minmax; - __GLeeGLLoadFunction[457]=__GLeeLink_GL_INTEL_map_texture; - __GLeeGLLoadFunction[458]=__GLeeLink_GL_NV_draw_texture; - __GLeeGLLoadFunction[459]=__GLeeLink_GL_SGIX_texture_select; - __GLeeGLLoadFunction[460]=__GLeeLink_GL_INGR_blend_func_separate; - __GLeeGLLoadFunction[461]=__GLeeLink_GL_SGIX_depth_pass_instrument; - __GLeeGLLoadFunction[462]=__GLeeLink_GL_SGIX_igloo_interface; -} - -#ifdef _WIN32 -GLuint __GLeeLink_WGL_ARB_buffer_region(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_buffer_region - if ((GLeeFuncPtr_wglCreateBufferRegionARB = (GLEEPFNWGLCREATEBUFFERREGIONARBPROC) __GLeeGetProcAddress("wglCreateBufferRegionARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDeleteBufferRegionARB = (GLEEPFNWGLDELETEBUFFERREGIONARBPROC) __GLeeGetProcAddress("wglDeleteBufferRegionARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSaveBufferRegionARB = (GLEEPFNWGLSAVEBUFFERREGIONARBPROC) __GLeeGetProcAddress("wglSaveBufferRegionARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglRestoreBufferRegionARB = (GLEEPFNWGLRESTOREBUFFERREGIONARBPROC) __GLeeGetProcAddress("wglRestoreBufferRegionARB"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_ARB_extensions_string(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_extensions_string - if ((GLeeFuncPtr_wglGetExtensionsStringARB = (GLEEPFNWGLGETEXTENSIONSSTRINGARBPROC) __GLeeGetProcAddress("wglGetExtensionsStringARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_pixel_format(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_pixel_format - if ((GLeeFuncPtr_wglGetPixelFormatAttribivARB = (GLEEPFNWGLGETPIXELFORMATATTRIBIVARBPROC) __GLeeGetProcAddress("wglGetPixelFormatAttribivARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetPixelFormatAttribfvARB = (GLEEPFNWGLGETPIXELFORMATATTRIBFVARBPROC) __GLeeGetProcAddress("wglGetPixelFormatAttribfvARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglChoosePixelFormatARB = (GLEEPFNWGLCHOOSEPIXELFORMATARBPROC) __GLeeGetProcAddress("wglChoosePixelFormatARB"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_make_current_read(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_make_current_read - if ((GLeeFuncPtr_wglMakeContextCurrentARB = (GLEEPFNWGLMAKECONTEXTCURRENTARBPROC) __GLeeGetProcAddress("wglMakeContextCurrentARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetCurrentReadDCARB = (GLEEPFNWGLGETCURRENTREADDCARBPROC) __GLeeGetProcAddress("wglGetCurrentReadDCARB"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_pbuffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_pbuffer - if ((GLeeFuncPtr_wglCreatePbufferARB = (GLEEPFNWGLCREATEPBUFFERARBPROC) __GLeeGetProcAddress("wglCreatePbufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetPbufferDCARB = (GLEEPFNWGLGETPBUFFERDCARBPROC) __GLeeGetProcAddress("wglGetPbufferDCARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleasePbufferDCARB = (GLEEPFNWGLRELEASEPBUFFERDCARBPROC) __GLeeGetProcAddress("wglReleasePbufferDCARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDestroyPbufferARB = (GLEEPFNWGLDESTROYPBUFFERARBPROC) __GLeeGetProcAddress("wglDestroyPbufferARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryPbufferARB = (GLEEPFNWGLQUERYPBUFFERARBPROC) __GLeeGetProcAddress("wglQueryPbufferARB"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_render_texture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_render_texture - if ((GLeeFuncPtr_wglBindTexImageARB = (GLEEPFNWGLBINDTEXIMAGEARBPROC) __GLeeGetProcAddress("wglBindTexImageARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleaseTexImageARB = (GLEEPFNWGLRELEASETEXIMAGEARBPROC) __GLeeGetProcAddress("wglReleaseTexImageARB"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSetPbufferAttribARB = (GLEEPFNWGLSETPBUFFERATTRIBARBPROC) __GLeeGetProcAddress("wglSetPbufferAttribARB"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_pixel_format_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_ARB_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_ARB_create_context(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_ARB_create_context - if ((GLeeFuncPtr_wglCreateContextAttribsARB = (GLEEPFNWGLCREATECONTEXTATTRIBSARBPROC) __GLeeGetProcAddress("wglCreateContextAttribsARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_ARB_create_context_profile(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_ARB_create_context_robustness(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_make_current_read(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_make_current_read - if ((GLeeFuncPtr_wglMakeContextCurrentEXT = (GLEEPFNWGLMAKECONTEXTCURRENTEXTPROC) __GLeeGetProcAddress("wglMakeContextCurrentEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetCurrentReadDCEXT = (GLEEPFNWGLGETCURRENTREADDCEXTPROC) __GLeeGetProcAddress("wglGetCurrentReadDCEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_pixel_format(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_pixel_format - if ((GLeeFuncPtr_wglGetPixelFormatAttribivEXT = (GLEEPFNWGLGETPIXELFORMATATTRIBIVEXTPROC) __GLeeGetProcAddress("wglGetPixelFormatAttribivEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetPixelFormatAttribfvEXT = (GLEEPFNWGLGETPIXELFORMATATTRIBFVEXTPROC) __GLeeGetProcAddress("wglGetPixelFormatAttribfvEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglChoosePixelFormatEXT = (GLEEPFNWGLCHOOSEPIXELFORMATEXTPROC) __GLeeGetProcAddress("wglChoosePixelFormatEXT"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_pbuffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_pbuffer - if ((GLeeFuncPtr_wglCreatePbufferEXT = (GLEEPFNWGLCREATEPBUFFEREXTPROC) __GLeeGetProcAddress("wglCreatePbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetPbufferDCEXT = (GLEEPFNWGLGETPBUFFERDCEXTPROC) __GLeeGetProcAddress("wglGetPbufferDCEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleasePbufferDCEXT = (GLEEPFNWGLRELEASEPBUFFERDCEXTPROC) __GLeeGetProcAddress("wglReleasePbufferDCEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDestroyPbufferEXT = (GLEEPFNWGLDESTROYPBUFFEREXTPROC) __GLeeGetProcAddress("wglDestroyPbufferEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryPbufferEXT = (GLEEPFNWGLQUERYPBUFFEREXTPROC) __GLeeGetProcAddress("wglQueryPbufferEXT"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_depth_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_3DFX_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_I3D_digital_video_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_digital_video_control - if ((GLeeFuncPtr_wglGetDigitalVideoParametersI3D = (GLEEPFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) __GLeeGetProcAddress("wglGetDigitalVideoParametersI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSetDigitalVideoParametersI3D = (GLEEPFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) __GLeeGetProcAddress("wglSetDigitalVideoParametersI3D"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_I3D_gamma(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_gamma - if ((GLeeFuncPtr_wglGetGammaTableParametersI3D = (GLEEPFNWGLGETGAMMATABLEPARAMETERSI3DPROC) __GLeeGetProcAddress("wglGetGammaTableParametersI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSetGammaTableParametersI3D = (GLEEPFNWGLSETGAMMATABLEPARAMETERSI3DPROC) __GLeeGetProcAddress("wglSetGammaTableParametersI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGammaTableI3D = (GLEEPFNWGLGETGAMMATABLEI3DPROC) __GLeeGetProcAddress("wglGetGammaTableI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSetGammaTableI3D = (GLEEPFNWGLSETGAMMATABLEI3DPROC) __GLeeGetProcAddress("wglSetGammaTableI3D"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_I3D_genlock(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_genlock - if ((GLeeFuncPtr_wglEnableGenlockI3D = (GLEEPFNWGLENABLEGENLOCKI3DPROC) __GLeeGetProcAddress("wglEnableGenlockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDisableGenlockI3D = (GLEEPFNWGLDISABLEGENLOCKI3DPROC) __GLeeGetProcAddress("wglDisableGenlockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglIsEnabledGenlockI3D = (GLEEPFNWGLISENABLEDGENLOCKI3DPROC) __GLeeGetProcAddress("wglIsEnabledGenlockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGenlockSourceI3D = (GLEEPFNWGLGENLOCKSOURCEI3DPROC) __GLeeGetProcAddress("wglGenlockSourceI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGenlockSourceI3D = (GLEEPFNWGLGETGENLOCKSOURCEI3DPROC) __GLeeGetProcAddress("wglGetGenlockSourceI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGenlockSourceEdgeI3D = (GLEEPFNWGLGENLOCKSOURCEEDGEI3DPROC) __GLeeGetProcAddress("wglGenlockSourceEdgeI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGenlockSourceEdgeI3D = (GLEEPFNWGLGETGENLOCKSOURCEEDGEI3DPROC) __GLeeGetProcAddress("wglGetGenlockSourceEdgeI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGenlockSampleRateI3D = (GLEEPFNWGLGENLOCKSAMPLERATEI3DPROC) __GLeeGetProcAddress("wglGenlockSampleRateI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGenlockSampleRateI3D = (GLEEPFNWGLGETGENLOCKSAMPLERATEI3DPROC) __GLeeGetProcAddress("wglGetGenlockSampleRateI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGenlockSourceDelayI3D = (GLEEPFNWGLGENLOCKSOURCEDELAYI3DPROC) __GLeeGetProcAddress("wglGenlockSourceDelayI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGenlockSourceDelayI3D = (GLEEPFNWGLGETGENLOCKSOURCEDELAYI3DPROC) __GLeeGetProcAddress("wglGetGenlockSourceDelayI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryGenlockMaxSourceDelayI3D = (GLEEPFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) __GLeeGetProcAddress("wglQueryGenlockMaxSourceDelayI3D"))!=0) nLinked++; -#endif - if (nLinked==12) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_I3D_image_buffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_image_buffer - if ((GLeeFuncPtr_wglCreateImageBufferI3D = (GLEEPFNWGLCREATEIMAGEBUFFERI3DPROC) __GLeeGetProcAddress("wglCreateImageBufferI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDestroyImageBufferI3D = (GLEEPFNWGLDESTROYIMAGEBUFFERI3DPROC) __GLeeGetProcAddress("wglDestroyImageBufferI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglAssociateImageBufferEventsI3D = (GLEEPFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) __GLeeGetProcAddress("wglAssociateImageBufferEventsI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleaseImageBufferEventsI3D = (GLEEPFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) __GLeeGetProcAddress("wglReleaseImageBufferEventsI3D"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_I3D_swap_frame_lock(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_swap_frame_lock - if ((GLeeFuncPtr_wglEnableFrameLockI3D = (GLEEPFNWGLENABLEFRAMELOCKI3DPROC) __GLeeGetProcAddress("wglEnableFrameLockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDisableFrameLockI3D = (GLEEPFNWGLDISABLEFRAMELOCKI3DPROC) __GLeeGetProcAddress("wglDisableFrameLockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglIsEnabledFrameLockI3D = (GLEEPFNWGLISENABLEDFRAMELOCKI3DPROC) __GLeeGetProcAddress("wglIsEnabledFrameLockI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryFrameLockMasterI3D = (GLEEPFNWGLQUERYFRAMELOCKMASTERI3DPROC) __GLeeGetProcAddress("wglQueryFrameLockMasterI3D"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_render_depth_texture(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_NV_render_texture_rectangle(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_ATI_pixel_format_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_NV_float_buffer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_3DL_stereo_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_3DL_stereo_control - if ((GLeeFuncPtr_wglSetStereoEmitterState3DL = (GLEEPFNWGLSETSTEREOEMITTERSTATE3DLPROC) __GLeeGetProcAddress("wglSetStereoEmitterState3DL"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_pixel_format_packed_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_NV_present_video(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_present_video - if ((GLeeFuncPtr_wglEnumerateVideoDevicesNV = (GLEEPFNWGLENUMERATEVIDEODEVICESNVPROC) __GLeeGetProcAddress("wglEnumerateVideoDevicesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBindVideoDeviceNV = (GLEEPFNWGLBINDVIDEODEVICENVPROC) __GLeeGetProcAddress("wglBindVideoDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryCurrentContextNV = (GLEEPFNWGLQUERYCURRENTCONTEXTNVPROC) __GLeeGetProcAddress("wglQueryCurrentContextNV"))!=0) nLinked++; -#endif - if (nLinked==3) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_swap_group(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_swap_group - if ((GLeeFuncPtr_wglJoinSwapGroupNV = (GLEEPFNWGLJOINSWAPGROUPNVPROC) __GLeeGetProcAddress("wglJoinSwapGroupNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBindSwapBarrierNV = (GLEEPFNWGLBINDSWAPBARRIERNVPROC) __GLeeGetProcAddress("wglBindSwapBarrierNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQuerySwapGroupNV = (GLEEPFNWGLQUERYSWAPGROUPNVPROC) __GLeeGetProcAddress("wglQuerySwapGroupNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryMaxSwapGroupsNV = (GLEEPFNWGLQUERYMAXSWAPGROUPSNVPROC) __GLeeGetProcAddress("wglQueryMaxSwapGroupsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryFrameCountNV = (GLEEPFNWGLQUERYFRAMECOUNTNVPROC) __GLeeGetProcAddress("wglQueryFrameCountNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglResetFrameCountNV = (GLEEPFNWGLRESETFRAMECOUNTNVPROC) __GLeeGetProcAddress("wglResetFrameCountNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_gpu_affinity(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_gpu_affinity - if ((GLeeFuncPtr_wglEnumGpusNV = (GLEEPFNWGLENUMGPUSNVPROC) __GLeeGetProcAddress("wglEnumGpusNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglEnumGpuDevicesNV = (GLEEPFNWGLENUMGPUDEVICESNVPROC) __GLeeGetProcAddress("wglEnumGpuDevicesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglCreateAffinityDCNV = (GLEEPFNWGLCREATEAFFINITYDCNVPROC) __GLeeGetProcAddress("wglCreateAffinityDCNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglEnumGpusFromAffinityDCNV = (GLEEPFNWGLENUMGPUSFROMAFFINITYDCNVPROC) __GLeeGetProcAddress("wglEnumGpusFromAffinityDCNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDeleteDCNV = (GLEEPFNWGLDELETEDCNVPROC) __GLeeGetProcAddress("wglDeleteDCNV"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_AMD_gpu_association(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_AMD_gpu_association - if ((GLeeFuncPtr_wglGetGPUIDsAMD = (GLEEPFNWGLGETGPUIDSAMDPROC) __GLeeGetProcAddress("wglGetGPUIDsAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetGPUInfoAMD = (GLEEPFNWGLGETGPUINFOAMDPROC) __GLeeGetProcAddress("wglGetGPUInfoAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetContextGPUIDAMD = (GLEEPFNWGLGETCONTEXTGPUIDAMDPROC) __GLeeGetProcAddress("wglGetContextGPUIDAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglCreateAssociatedContextAMD = (GLEEPFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) __GLeeGetProcAddress("wglCreateAssociatedContextAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglCreateAssociatedContextAttribsAMD = (GLEEPFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) __GLeeGetProcAddress("wglCreateAssociatedContextAttribsAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDeleteAssociatedContextAMD = (GLEEPFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) __GLeeGetProcAddress("wglDeleteAssociatedContextAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglMakeAssociatedContextCurrentAMD = (GLEEPFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) __GLeeGetProcAddress("wglMakeAssociatedContextCurrentAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetCurrentAssociatedContextAMD = (GLEEPFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) __GLeeGetProcAddress("wglGetCurrentAssociatedContextAMD"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBlitContextFramebufferAMD = (GLEEPFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) __GLeeGetProcAddress("wglBlitContextFramebufferAMD"))!=0) nLinked++; -#endif - if (nLinked==9) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_copy_image(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_copy_image - if ((GLeeFuncPtr_wglCopyImageSubDataNV = (GLEEPFNWGLCOPYIMAGESUBDATANVPROC) __GLeeGetProcAddress("wglCopyImageSubDataNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_multisample_coverage(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_create_context_es2_profile(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_NV_DX_interop(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_DX_interop - if ((GLeeFuncPtr_wglDXSetResourceShareHandleNV = (GLEEPFNWGLDXSETRESOURCESHAREHANDLENVPROC) __GLeeGetProcAddress("wglDXSetResourceShareHandleNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXOpenDeviceNV = (GLEEPFNWGLDXOPENDEVICENVPROC) __GLeeGetProcAddress("wglDXOpenDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXCloseDeviceNV = (GLEEPFNWGLDXCLOSEDEVICENVPROC) __GLeeGetProcAddress("wglDXCloseDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXRegisterObjectNV = (GLEEPFNWGLDXREGISTEROBJECTNVPROC) __GLeeGetProcAddress("wglDXRegisterObjectNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXUnregisterObjectNV = (GLEEPFNWGLDXUNREGISTEROBJECTNVPROC) __GLeeGetProcAddress("wglDXUnregisterObjectNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXObjectAccessNV = (GLEEPFNWGLDXOBJECTACCESSNVPROC) __GLeeGetProcAddress("wglDXObjectAccessNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXLockObjectsNV = (GLEEPFNWGLDXLOCKOBJECTSNVPROC) __GLeeGetProcAddress("wglDXLockObjectsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDXUnlockObjectsNV = (GLEEPFNWGLDXUNLOCKOBJECTSNVPROC) __GLeeGetProcAddress("wglDXUnlockObjectsNV"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_DX_interop2(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_swap_control_tear(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_WGL_EXT_display_color_table(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_display_color_table - if ((GLeeFuncPtr_wglCreateDisplayColorTableEXT = (GLEEPFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) __GLeeGetProcAddress("wglCreateDisplayColorTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglLoadDisplayColorTableEXT = (GLEEPFNWGLLOADDISPLAYCOLORTABLEEXTPROC) __GLeeGetProcAddress("wglLoadDisplayColorTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBindDisplayColorTableEXT = (GLEEPFNWGLBINDDISPLAYCOLORTABLEEXTPROC) __GLeeGetProcAddress("wglBindDisplayColorTableEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglDestroyDisplayColorTableEXT = (GLEEPFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) __GLeeGetProcAddress("wglDestroyDisplayColorTableEXT"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_extensions_string(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_extensions_string - if ((GLeeFuncPtr_wglGetExtensionsStringEXT = (GLEEPFNWGLGETEXTENSIONSSTRINGEXTPROC) __GLeeGetProcAddress("wglGetExtensionsStringEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_EXT_swap_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_EXT_swap_control - if ((GLeeFuncPtr_wglSwapIntervalEXT = (GLEEPFNWGLSWAPINTERVALEXTPROC) __GLeeGetProcAddress("wglSwapIntervalEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetSwapIntervalEXT = (GLEEPFNWGLGETSWAPINTERVALEXTPROC) __GLeeGetProcAddress("wglGetSwapIntervalEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_vertex_array_range(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_vertex_array_range - if ((GLeeFuncPtr_wglAllocateMemoryNV = (GLEEPFNWGLALLOCATEMEMORYNVPROC) __GLeeGetProcAddress("wglAllocateMemoryNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglFreeMemoryNV = (GLEEPFNWGLFREEMEMORYNVPROC) __GLeeGetProcAddress("wglFreeMemoryNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_OML_sync_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_OML_sync_control - if ((GLeeFuncPtr_wglGetSyncValuesOML = (GLEEPFNWGLGETSYNCVALUESOMLPROC) __GLeeGetProcAddress("wglGetSyncValuesOML"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetMscRateOML = (GLEEPFNWGLGETMSCRATEOMLPROC) __GLeeGetProcAddress("wglGetMscRateOML"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSwapBuffersMscOML = (GLEEPFNWGLSWAPBUFFERSMSCOMLPROC) __GLeeGetProcAddress("wglSwapBuffersMscOML"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSwapLayerBuffersMscOML = (GLEEPFNWGLSWAPLAYERBUFFERSMSCOMLPROC) __GLeeGetProcAddress("wglSwapLayerBuffersMscOML"))!=0) nLinked++; - if ((GLeeFuncPtr_wglWaitForMscOML = (GLEEPFNWGLWAITFORMSCOMLPROC) __GLeeGetProcAddress("wglWaitForMscOML"))!=0) nLinked++; - if ((GLeeFuncPtr_wglWaitForSbcOML = (GLEEPFNWGLWAITFORSBCOMLPROC) __GLeeGetProcAddress("wglWaitForSbcOML"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_I3D_swap_frame_usage(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_I3D_swap_frame_usage - if ((GLeeFuncPtr_wglGetFrameUsageI3D = (GLEEPFNWGLGETFRAMEUSAGEI3DPROC) __GLeeGetProcAddress("wglGetFrameUsageI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBeginFrameTrackingI3D = (GLEEPFNWGLBEGINFRAMETRACKINGI3DPROC) __GLeeGetProcAddress("wglBeginFrameTrackingI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglEndFrameTrackingI3D = (GLEEPFNWGLENDFRAMETRACKINGI3DPROC) __GLeeGetProcAddress("wglEndFrameTrackingI3D"))!=0) nLinked++; - if ((GLeeFuncPtr_wglQueryFrameTrackingI3D = (GLEEPFNWGLQUERYFRAMETRACKINGI3DPROC) __GLeeGetProcAddress("wglQueryFrameTrackingI3D"))!=0) nLinked++; -#endif - if (nLinked==4) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_WGL_NV_video_output(void) -{ - GLint nLinked=0; -#ifdef __GLEE_WGL_NV_video_output - if ((GLeeFuncPtr_wglGetVideoDeviceNV = (GLEEPFNWGLGETVIDEODEVICENVPROC) __GLeeGetProcAddress("wglGetVideoDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleaseVideoDeviceNV = (GLEEPFNWGLRELEASEVIDEODEVICENVPROC) __GLeeGetProcAddress("wglReleaseVideoDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglBindVideoImageNV = (GLEEPFNWGLBINDVIDEOIMAGENVPROC) __GLeeGetProcAddress("wglBindVideoImageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglReleaseVideoImageNV = (GLEEPFNWGLRELEASEVIDEOIMAGENVPROC) __GLeeGetProcAddress("wglReleaseVideoImageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglSendPbufferToVideoNV = (GLEEPFNWGLSENDPBUFFERTOVIDEONVPROC) __GLeeGetProcAddress("wglSendPbufferToVideoNV"))!=0) nLinked++; - if ((GLeeFuncPtr_wglGetVideoInfoNV = (GLEEPFNWGLGETVIDEOINFONVPROC) __GLeeGetProcAddress("wglGetVideoInfoNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLEE_LINK_FUNCTION __GLeeWGLLoadFunction[47]; - -void initWGLLoadFunctions(void) -{ - __GLeeWGLLoadFunction[0]=__GLeeLink_WGL_ARB_buffer_region; - __GLeeWGLLoadFunction[1]=__GLeeLink_WGL_ARB_multisample; - __GLeeWGLLoadFunction[2]=__GLeeLink_WGL_ARB_extensions_string; - __GLeeWGLLoadFunction[3]=__GLeeLink_WGL_ARB_pixel_format; - __GLeeWGLLoadFunction[4]=__GLeeLink_WGL_ARB_make_current_read; - __GLeeWGLLoadFunction[5]=__GLeeLink_WGL_ARB_pbuffer; - __GLeeWGLLoadFunction[6]=__GLeeLink_WGL_ARB_render_texture; - __GLeeWGLLoadFunction[7]=__GLeeLink_WGL_ARB_pixel_format_float; - __GLeeWGLLoadFunction[8]=__GLeeLink_WGL_ARB_framebuffer_sRGB; - __GLeeWGLLoadFunction[9]=__GLeeLink_WGL_ARB_create_context; - __GLeeWGLLoadFunction[10]=__GLeeLink_WGL_ARB_create_context_profile; - __GLeeWGLLoadFunction[11]=__GLeeLink_WGL_ARB_create_context_robustness; - __GLeeWGLLoadFunction[12]=__GLeeLink_WGL_EXT_make_current_read; - __GLeeWGLLoadFunction[13]=__GLeeLink_WGL_EXT_pixel_format; - __GLeeWGLLoadFunction[14]=__GLeeLink_WGL_EXT_pbuffer; - __GLeeWGLLoadFunction[15]=__GLeeLink_WGL_EXT_depth_float; - __GLeeWGLLoadFunction[16]=__GLeeLink_WGL_3DFX_multisample; - __GLeeWGLLoadFunction[17]=__GLeeLink_WGL_EXT_multisample; - __GLeeWGLLoadFunction[18]=__GLeeLink_WGL_I3D_digital_video_control; - __GLeeWGLLoadFunction[19]=__GLeeLink_WGL_I3D_gamma; - __GLeeWGLLoadFunction[20]=__GLeeLink_WGL_I3D_genlock; - __GLeeWGLLoadFunction[21]=__GLeeLink_WGL_I3D_image_buffer; - __GLeeWGLLoadFunction[22]=__GLeeLink_WGL_I3D_swap_frame_lock; - __GLeeWGLLoadFunction[23]=__GLeeLink_WGL_NV_render_depth_texture; - __GLeeWGLLoadFunction[24]=__GLeeLink_WGL_NV_render_texture_rectangle; - __GLeeWGLLoadFunction[25]=__GLeeLink_WGL_ATI_pixel_format_float; - __GLeeWGLLoadFunction[26]=__GLeeLink_WGL_NV_float_buffer; - __GLeeWGLLoadFunction[27]=__GLeeLink_WGL_3DL_stereo_control; - __GLeeWGLLoadFunction[28]=__GLeeLink_WGL_EXT_pixel_format_packed_float; - __GLeeWGLLoadFunction[29]=__GLeeLink_WGL_EXT_framebuffer_sRGB; - __GLeeWGLLoadFunction[30]=__GLeeLink_WGL_NV_present_video; - __GLeeWGLLoadFunction[31]=__GLeeLink_WGL_NV_swap_group; - __GLeeWGLLoadFunction[32]=__GLeeLink_WGL_NV_gpu_affinity; - __GLeeWGLLoadFunction[33]=__GLeeLink_WGL_AMD_gpu_association; - __GLeeWGLLoadFunction[34]=__GLeeLink_WGL_NV_copy_image; - __GLeeWGLLoadFunction[35]=__GLeeLink_WGL_NV_multisample_coverage; - __GLeeWGLLoadFunction[36]=__GLeeLink_WGL_EXT_create_context_es2_profile; - __GLeeWGLLoadFunction[37]=__GLeeLink_WGL_NV_DX_interop; - __GLeeWGLLoadFunction[38]=__GLeeLink_WGL_NV_DX_interop2; - __GLeeWGLLoadFunction[39]=__GLeeLink_WGL_EXT_swap_control_tear; - __GLeeWGLLoadFunction[40]=__GLeeLink_WGL_EXT_display_color_table; - __GLeeWGLLoadFunction[41]=__GLeeLink_WGL_EXT_extensions_string; - __GLeeWGLLoadFunction[42]=__GLeeLink_WGL_EXT_swap_control; - __GLeeWGLLoadFunction[43]=__GLeeLink_WGL_NV_vertex_array_range; - __GLeeWGLLoadFunction[44]=__GLeeLink_WGL_OML_sync_control; - __GLeeWGLLoadFunction[45]=__GLeeLink_WGL_I3D_swap_frame_usage; - __GLeeWGLLoadFunction[46]=__GLeeLink_WGL_NV_video_output; -} - -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else /* Linux */ -GLuint __GLeeLink_GLX_VERSION_1_3(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_VERSION_1_3 - if ((GLeeFuncPtr_glXGetFBConfigs = (GLEEPFNGLXGETFBCONFIGSPROC) __GLeeGetProcAddress("glXGetFBConfigs"))!=0) nLinked++; - if ((GLeeFuncPtr_glXChooseFBConfig = (GLEEPFNGLXCHOOSEFBCONFIGPROC) __GLeeGetProcAddress("glXChooseFBConfig"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetFBConfigAttrib = (GLEEPFNGLXGETFBCONFIGATTRIBPROC) __GLeeGetProcAddress("glXGetFBConfigAttrib"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetVisualFromFBConfig = (GLEEPFNGLXGETVISUALFROMFBCONFIGPROC) __GLeeGetProcAddress("glXGetVisualFromFBConfig"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreateWindow = (GLEEPFNGLXCREATEWINDOWPROC) __GLeeGetProcAddress("glXCreateWindow"))!=0) nLinked++; - if ((GLeeFuncPtr_glXDestroyWindow = (GLEEPFNGLXDESTROYWINDOWPROC) __GLeeGetProcAddress("glXDestroyWindow"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreatePixmap = (GLEEPFNGLXCREATEPIXMAPPROC) __GLeeGetProcAddress("glXCreatePixmap"))!=0) nLinked++; - if ((GLeeFuncPtr_glXDestroyPixmap = (GLEEPFNGLXDESTROYPIXMAPPROC) __GLeeGetProcAddress("glXDestroyPixmap"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreatePbuffer = (GLEEPFNGLXCREATEPBUFFERPROC) __GLeeGetProcAddress("glXCreatePbuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glXDestroyPbuffer = (GLEEPFNGLXDESTROYPBUFFERPROC) __GLeeGetProcAddress("glXDestroyPbuffer"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryDrawable = (GLEEPFNGLXQUERYDRAWABLEPROC) __GLeeGetProcAddress("glXQueryDrawable"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreateNewContext = (GLEEPFNGLXCREATENEWCONTEXTPROC) __GLeeGetProcAddress("glXCreateNewContext"))!=0) nLinked++; - if ((GLeeFuncPtr_glXMakeContextCurrent = (GLEEPFNGLXMAKECONTEXTCURRENTPROC) __GLeeGetProcAddress("glXMakeContextCurrent"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetCurrentReadDrawable = (GLEEPFNGLXGETCURRENTREADDRAWABLEPROC) __GLeeGetProcAddress("glXGetCurrentReadDrawable"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetCurrentDisplay = (GLEEPFNGLXGETCURRENTDISPLAYPROC) __GLeeGetProcAddress("glXGetCurrentDisplay"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryContext = (GLEEPFNGLXQUERYCONTEXTPROC) __GLeeGetProcAddress("glXQueryContext"))!=0) nLinked++; - if ((GLeeFuncPtr_glXSelectEvent = (GLEEPFNGLXSELECTEVENTPROC) __GLeeGetProcAddress("glXSelectEvent"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetSelectedEvent = (GLEEPFNGLXGETSELECTEDEVENTPROC) __GLeeGetProcAddress("glXGetSelectedEvent"))!=0) nLinked++; -#endif - if (nLinked==18) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_VERSION_1_4(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_VERSION_1_4 - if ((GLeeFuncPtr_glXGetProcAddress = (GLEEPFNGLXGETPROCADDRESSPROC) __GLeeGetProcAddress("glXGetProcAddress"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_ARB_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_ARB_vertex_buffer_object(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_ARB_fbconfig_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_ARB_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_ARB_create_context(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_ARB_create_context - if ((GLeeFuncPtr_glXCreateContextAttribsARB = (GLEEPFNGLXCREATECONTEXTATTRIBSARBPROC) __GLeeGetProcAddress("glXCreateContextAttribsARB"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_ARB_create_context_profile(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_ARB_create_context_robustness(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_SGIS_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_visual_info(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_SGI_swap_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGI_swap_control - if ((GLeeFuncPtr_glXSwapIntervalSGI = (GLEEPFNGLXSWAPINTERVALSGIPROC) __GLeeGetProcAddress("glXSwapIntervalSGI"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGI_video_sync(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGI_video_sync - if ((GLeeFuncPtr_glXGetVideoSyncSGI = (GLEEPFNGLXGETVIDEOSYNCSGIPROC) __GLeeGetProcAddress("glXGetVideoSyncSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glXWaitVideoSyncSGI = (GLEEPFNGLXWAITVIDEOSYNCSGIPROC) __GLeeGetProcAddress("glXWaitVideoSyncSGI"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGI_make_current_read(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGI_make_current_read - if ((GLeeFuncPtr_glXMakeCurrentReadSGI = (GLEEPFNGLXMAKECURRENTREADSGIPROC) __GLeeGetProcAddress("glXMakeCurrentReadSGI"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetCurrentReadDrawableSGI = (GLEEPFNGLXGETCURRENTREADDRAWABLESGIPROC) __GLeeGetProcAddress("glXGetCurrentReadDrawableSGI"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_EXT_visual_rating(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_import_context(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_EXT_import_context - if ((GLeeFuncPtr_glXGetCurrentDisplayEXT = (GLEEPFNGLXGETCURRENTDISPLAYEXTPROC) __GLeeGetProcAddress("glXGetCurrentDisplayEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryContextInfoEXT = (GLEEPFNGLXQUERYCONTEXTINFOEXTPROC) __GLeeGetProcAddress("glXQueryContextInfoEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetContextIDEXT = (GLEEPFNGLXGETCONTEXTIDEXTPROC) __GLeeGetProcAddress("glXGetContextIDEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glXImportContextEXT = (GLEEPFNGLXIMPORTCONTEXTEXTPROC) __GLeeGetProcAddress("glXImportContextEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glXFreeContextEXT = (GLEEPFNGLXFREECONTEXTEXTPROC) __GLeeGetProcAddress("glXFreeContextEXT"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_fbconfig(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_fbconfig - if ((GLeeFuncPtr_glXGetFBConfigAttribSGIX = (GLEEPFNGLXGETFBCONFIGATTRIBSGIXPROC) __GLeeGetProcAddress("glXGetFBConfigAttribSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXChooseFBConfigSGIX = (GLEEPFNGLXCHOOSEFBCONFIGSGIXPROC) __GLeeGetProcAddress("glXChooseFBConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreateGLXPixmapWithConfigSGIX = (GLEEPFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) __GLeeGetProcAddress("glXCreateGLXPixmapWithConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXCreateContextWithConfigSGIX = (GLEEPFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) __GLeeGetProcAddress("glXCreateContextWithConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetVisualFromFBConfigSGIX = (GLEEPFNGLXGETVISUALFROMFBCONFIGSGIXPROC) __GLeeGetProcAddress("glXGetVisualFromFBConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetFBConfigFromVisualSGIX = (GLEEPFNGLXGETFBCONFIGFROMVISUALSGIXPROC) __GLeeGetProcAddress("glXGetFBConfigFromVisualSGIX"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_pbuffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_pbuffer - if ((GLeeFuncPtr_glXCreateGLXPbufferSGIX = (GLEEPFNGLXCREATEGLXPBUFFERSGIXPROC) __GLeeGetProcAddress("glXCreateGLXPbufferSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXDestroyGLXPbufferSGIX = (GLEEPFNGLXDESTROYGLXPBUFFERSGIXPROC) __GLeeGetProcAddress("glXDestroyGLXPbufferSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryGLXPbufferSGIX = (GLEEPFNGLXQUERYGLXPBUFFERSGIXPROC) __GLeeGetProcAddress("glXQueryGLXPbufferSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXSelectEventSGIX = (GLEEPFNGLXSELECTEVENTSGIXPROC) __GLeeGetProcAddress("glXSelectEventSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetSelectedEventSGIX = (GLEEPFNGLXGETSELECTEDEVENTSGIXPROC) __GLeeGetProcAddress("glXGetSelectedEventSGIX"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGI_cushion(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGI_cushion - if ((GLeeFuncPtr_glXCushionSGI = (GLEEPFNGLXCUSHIONSGIPROC) __GLeeGetProcAddress("glXCushionSGI"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_video_resize(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_video_resize - if ((GLeeFuncPtr_glXBindChannelToWindowSGIX = (GLEEPFNGLXBINDCHANNELTOWINDOWSGIXPROC) __GLeeGetProcAddress("glXBindChannelToWindowSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXChannelRectSGIX = (GLEEPFNGLXCHANNELRECTSGIXPROC) __GLeeGetProcAddress("glXChannelRectSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryChannelRectSGIX = (GLEEPFNGLXQUERYCHANNELRECTSGIXPROC) __GLeeGetProcAddress("glXQueryChannelRectSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryChannelDeltasSGIX = (GLEEPFNGLXQUERYCHANNELDELTASSGIXPROC) __GLeeGetProcAddress("glXQueryChannelDeltasSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXChannelRectSyncSGIX = (GLEEPFNGLXCHANNELRECTSYNCSGIXPROC) __GLeeGetProcAddress("glXChannelRectSyncSGIX"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_swap_group(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_swap_group - if ((GLeeFuncPtr_glXJoinSwapGroupSGIX = (GLEEPFNGLXJOINSWAPGROUPSGIXPROC) __GLeeGetProcAddress("glXJoinSwapGroupSGIX"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_swap_barrier(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_swap_barrier - if ((GLeeFuncPtr_glXBindSwapBarrierSGIX = (GLEEPFNGLXBINDSWAPBARRIERSGIXPROC) __GLeeGetProcAddress("glXBindSwapBarrierSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryMaxSwapBarriersSGIX = (GLEEPFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) __GLeeGetProcAddress("glXQueryMaxSwapBarriersSGIX"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIS_blended_overlay(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_SGIS_shared_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_SUN_get_transparent_index(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SUN_get_transparent_index - if ((GLeeFuncPtr_glXGetTransparentIndexSUN = (GLEEPFNGLXGETTRANSPARENTINDEXSUNPROC) __GLeeGetProcAddress("glXGetTransparentIndexSUN"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_3DFX_multisample(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_MESA_copy_sub_buffer(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_MESA_copy_sub_buffer - if ((GLeeFuncPtr_glXCopySubBufferMESA = (GLEEPFNGLXCOPYSUBBUFFERMESAPROC) __GLeeGetProcAddress("glXCopySubBufferMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_MESA_pixmap_colormap(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_MESA_pixmap_colormap - if ((GLeeFuncPtr_glXCreateGLXPixmapMESA = (GLEEPFNGLXCREATEGLXPIXMAPMESAPROC) __GLeeGetProcAddress("glXCreateGLXPixmapMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_MESA_release_buffers(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_MESA_release_buffers - if ((GLeeFuncPtr_glXReleaseBuffersMESA = (GLEEPFNGLXRELEASEBUFFERSMESAPROC) __GLeeGetProcAddress("glXReleaseBuffersMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_MESA_set_3dfx_mode(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_MESA_set_3dfx_mode - if ((GLeeFuncPtr_glXSet3DfxModeMESA = (GLEEPFNGLXSET3DFXMODEMESAPROC) __GLeeGetProcAddress("glXSet3DfxModeMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_SGIX_visual_select_group(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_OML_swap_method(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_OML_sync_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_OML_sync_control - if ((GLeeFuncPtr_glXGetSyncValuesOML = (GLEEPFNGLXGETSYNCVALUESOMLPROC) __GLeeGetProcAddress("glXGetSyncValuesOML"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetMscRateOML = (GLEEPFNGLXGETMSCRATEOMLPROC) __GLeeGetProcAddress("glXGetMscRateOML"))!=0) nLinked++; - if ((GLeeFuncPtr_glXSwapBuffersMscOML = (GLEEPFNGLXSWAPBUFFERSMSCOMLPROC) __GLeeGetProcAddress("glXSwapBuffersMscOML"))!=0) nLinked++; - if ((GLeeFuncPtr_glXWaitForMscOML = (GLEEPFNGLXWAITFORMSCOMLPROC) __GLeeGetProcAddress("glXWaitForMscOML"))!=0) nLinked++; - if ((GLeeFuncPtr_glXWaitForSbcOML = (GLEEPFNGLXWAITFORSBCOMLPROC) __GLeeGetProcAddress("glXWaitForSbcOML"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_NV_float_buffer(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_SGIX_hyperpipe(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_SGIX_hyperpipe - if ((GLeeFuncPtr_glXQueryHyperpipeNetworkSGIX = (GLEEPFNGLXQUERYHYPERPIPENETWORKSGIXPROC) __GLeeGetProcAddress("glXQueryHyperpipeNetworkSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXHyperpipeConfigSGIX = (GLEEPFNGLXHYPERPIPECONFIGSGIXPROC) __GLeeGetProcAddress("glXHyperpipeConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryHyperpipeConfigSGIX = (GLEEPFNGLXQUERYHYPERPIPECONFIGSGIXPROC) __GLeeGetProcAddress("glXQueryHyperpipeConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXDestroyHyperpipeConfigSGIX = (GLEEPFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) __GLeeGetProcAddress("glXDestroyHyperpipeConfigSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXBindHyperpipeSGIX = (GLEEPFNGLXBINDHYPERPIPESGIXPROC) __GLeeGetProcAddress("glXBindHyperpipeSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryHyperpipeBestAttribSGIX = (GLEEPFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) __GLeeGetProcAddress("glXQueryHyperpipeBestAttribSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXHyperpipeAttribSGIX = (GLEEPFNGLXHYPERPIPEATTRIBSGIXPROC) __GLeeGetProcAddress("glXHyperpipeAttribSGIX"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryHyperpipeAttribSGIX = (GLEEPFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) __GLeeGetProcAddress("glXQueryHyperpipeAttribSGIX"))!=0) nLinked++; -#endif - if (nLinked==8) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_MESA_agp_offset(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_MESA_agp_offset - if ((GLeeFuncPtr_glXGetAGPOffsetMESA = (GLEEPFNGLXGETAGPOFFSETMESAPROC) __GLeeGetProcAddress("glXGetAGPOffsetMESA"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_EXT_fbconfig_packed_float(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_framebuffer_sRGB(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_texture_from_pixmap(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_EXT_texture_from_pixmap - if ((GLeeFuncPtr_glXBindTexImageEXT = (GLEEPFNGLXBINDTEXIMAGEEXTPROC) __GLeeGetProcAddress("glXBindTexImageEXT"))!=0) nLinked++; - if ((GLeeFuncPtr_glXReleaseTexImageEXT = (GLEEPFNGLXRELEASETEXIMAGEEXTPROC) __GLeeGetProcAddress("glXReleaseTexImageEXT"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_NV_present_video(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_NV_present_video - if ((GLeeFuncPtr_glXEnumerateVideoDevicesNV = (GLEEPFNGLXENUMERATEVIDEODEVICESNVPROC) __GLeeGetProcAddress("glXEnumerateVideoDevicesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXBindVideoDeviceNV = (GLEEPFNGLXBINDVIDEODEVICENVPROC) __GLeeGetProcAddress("glXBindVideoDeviceNV"))!=0) nLinked++; -#endif - if (nLinked==2) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_NV_video_out(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_NV_swap_group(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_NV_swap_group - if ((GLeeFuncPtr_glXJoinSwapGroupNV = (GLEEPFNGLXJOINSWAPGROUPNVPROC) __GLeeGetProcAddress("glXJoinSwapGroupNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXBindSwapBarrierNV = (GLEEPFNGLXBINDSWAPBARRIERNVPROC) __GLeeGetProcAddress("glXBindSwapBarrierNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQuerySwapGroupNV = (GLEEPFNGLXQUERYSWAPGROUPNVPROC) __GLeeGetProcAddress("glXQuerySwapGroupNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryMaxSwapGroupsNV = (GLEEPFNGLXQUERYMAXSWAPGROUPSNVPROC) __GLeeGetProcAddress("glXQueryMaxSwapGroupsNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryFrameCountNV = (GLEEPFNGLXQUERYFRAMECOUNTNVPROC) __GLeeGetProcAddress("glXQueryFrameCountNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXResetFrameCountNV = (GLEEPFNGLXRESETFRAMECOUNTNVPROC) __GLeeGetProcAddress("glXResetFrameCountNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_NV_video_capture(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_NV_video_capture - if ((GLeeFuncPtr_glXBindVideoCaptureDeviceNV = (GLEEPFNGLXBINDVIDEOCAPTUREDEVICENVPROC) __GLeeGetProcAddress("glXBindVideoCaptureDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXEnumerateVideoCaptureDevicesNV = (GLEEPFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) __GLeeGetProcAddress("glXEnumerateVideoCaptureDevicesNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXLockVideoCaptureDeviceNV = (GLEEPFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) __GLeeGetProcAddress("glXLockVideoCaptureDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXQueryVideoCaptureDeviceNV = (GLEEPFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) __GLeeGetProcAddress("glXQueryVideoCaptureDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXReleaseVideoCaptureDeviceNV = (GLEEPFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) __GLeeGetProcAddress("glXReleaseVideoCaptureDeviceNV"))!=0) nLinked++; -#endif - if (nLinked==5) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_EXT_swap_control(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_EXT_swap_control - if ((GLeeFuncPtr_glXSwapIntervalEXT = (GLEEPFNGLXSWAPINTERVALEXTPROC) __GLeeGetProcAddress("glXSwapIntervalEXT"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_NV_copy_image(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_NV_copy_image - if ((GLeeFuncPtr_glXCopyImageSubDataNV = (GLEEPFNGLXCOPYIMAGESUBDATANVPROC) __GLeeGetProcAddress("glXCopyImageSubDataNV"))!=0) nLinked++; -#endif - if (nLinked==1) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLuint __GLeeLink_GLX_INTEL_swap_event(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_NV_multisample_coverage(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_AMD_gpu_association(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_create_context_es2_profile(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_create_context_es_profile(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_swap_control_tear(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_EXT_buffer_age(void) {return GLEE_LINK_COMPLETE;} - -GLuint __GLeeLink_GLX_NV_video_output(void) -{ - GLint nLinked=0; -#ifdef __GLEE_GLX_NV_video_output - if ((GLeeFuncPtr_glXGetVideoDeviceNV = (GLEEPFNGLXGETVIDEODEVICENVPROC) __GLeeGetProcAddress("glXGetVideoDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXReleaseVideoDeviceNV = (GLEEPFNGLXRELEASEVIDEODEVICENVPROC) __GLeeGetProcAddress("glXReleaseVideoDeviceNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXBindVideoImageNV = (GLEEPFNGLXBINDVIDEOIMAGENVPROC) __GLeeGetProcAddress("glXBindVideoImageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXReleaseVideoImageNV = (GLEEPFNGLXRELEASEVIDEOIMAGENVPROC) __GLeeGetProcAddress("glXReleaseVideoImageNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXSendPbufferToVideoNV = (GLEEPFNGLXSENDPBUFFERTOVIDEONVPROC) __GLeeGetProcAddress("glXSendPbufferToVideoNV"))!=0) nLinked++; - if ((GLeeFuncPtr_glXGetVideoInfoNV = (GLEEPFNGLXGETVIDEOINFONVPROC) __GLeeGetProcAddress("glXGetVideoInfoNV"))!=0) nLinked++; -#endif - if (nLinked==6) return GLEE_LINK_COMPLETE; - if (nLinked==0) return GLEE_LINK_FAIL; - return GLEE_LINK_PARTIAL; -} - -GLEE_LINK_FUNCTION __GLeeGLXLoadFunction[53]; - -void initGLXLoadFunctions(void) -{ - __GLeeGLXLoadFunction[0]=__GLeeLink_GLX_VERSION_1_3; - __GLeeGLXLoadFunction[1]=__GLeeLink_GLX_VERSION_1_4; - __GLeeGLXLoadFunction[2]=__GLeeLink_GLX_ARB_multisample; - __GLeeGLXLoadFunction[3]=__GLeeLink_GLX_ARB_vertex_buffer_object; - __GLeeGLXLoadFunction[4]=__GLeeLink_GLX_ARB_fbconfig_float; - __GLeeGLXLoadFunction[5]=__GLeeLink_GLX_ARB_framebuffer_sRGB; - __GLeeGLXLoadFunction[6]=__GLeeLink_GLX_ARB_create_context; - __GLeeGLXLoadFunction[7]=__GLeeLink_GLX_ARB_create_context_profile; - __GLeeGLXLoadFunction[8]=__GLeeLink_GLX_ARB_create_context_robustness; - __GLeeGLXLoadFunction[9]=__GLeeLink_GLX_SGIS_multisample; - __GLeeGLXLoadFunction[10]=__GLeeLink_GLX_EXT_visual_info; - __GLeeGLXLoadFunction[11]=__GLeeLink_GLX_SGI_swap_control; - __GLeeGLXLoadFunction[12]=__GLeeLink_GLX_SGI_video_sync; - __GLeeGLXLoadFunction[13]=__GLeeLink_GLX_SGI_make_current_read; - __GLeeGLXLoadFunction[14]=__GLeeLink_GLX_EXT_visual_rating; - __GLeeGLXLoadFunction[15]=__GLeeLink_GLX_EXT_import_context; - __GLeeGLXLoadFunction[16]=__GLeeLink_GLX_SGIX_fbconfig; - __GLeeGLXLoadFunction[17]=__GLeeLink_GLX_SGIX_pbuffer; - __GLeeGLXLoadFunction[18]=__GLeeLink_GLX_SGI_cushion; - __GLeeGLXLoadFunction[19]=__GLeeLink_GLX_SGIX_video_resize; - __GLeeGLXLoadFunction[20]=__GLeeLink_GLX_SGIX_swap_group; - __GLeeGLXLoadFunction[21]=__GLeeLink_GLX_SGIX_swap_barrier; - __GLeeGLXLoadFunction[22]=__GLeeLink_GLX_SGIS_blended_overlay; - __GLeeGLXLoadFunction[23]=__GLeeLink_GLX_SGIS_shared_multisample; - __GLeeGLXLoadFunction[24]=__GLeeLink_GLX_SUN_get_transparent_index; - __GLeeGLXLoadFunction[25]=__GLeeLink_GLX_3DFX_multisample; - __GLeeGLXLoadFunction[26]=__GLeeLink_GLX_MESA_copy_sub_buffer; - __GLeeGLXLoadFunction[27]=__GLeeLink_GLX_MESA_pixmap_colormap; - __GLeeGLXLoadFunction[28]=__GLeeLink_GLX_MESA_release_buffers; - __GLeeGLXLoadFunction[29]=__GLeeLink_GLX_MESA_set_3dfx_mode; - __GLeeGLXLoadFunction[30]=__GLeeLink_GLX_SGIX_visual_select_group; - __GLeeGLXLoadFunction[31]=__GLeeLink_GLX_OML_swap_method; - __GLeeGLXLoadFunction[32]=__GLeeLink_GLX_OML_sync_control; - __GLeeGLXLoadFunction[33]=__GLeeLink_GLX_NV_float_buffer; - __GLeeGLXLoadFunction[34]=__GLeeLink_GLX_SGIX_hyperpipe; - __GLeeGLXLoadFunction[35]=__GLeeLink_GLX_MESA_agp_offset; - __GLeeGLXLoadFunction[36]=__GLeeLink_GLX_EXT_fbconfig_packed_float; - __GLeeGLXLoadFunction[37]=__GLeeLink_GLX_EXT_framebuffer_sRGB; - __GLeeGLXLoadFunction[38]=__GLeeLink_GLX_EXT_texture_from_pixmap; - __GLeeGLXLoadFunction[39]=__GLeeLink_GLX_NV_present_video; - __GLeeGLXLoadFunction[40]=__GLeeLink_GLX_NV_video_out; - __GLeeGLXLoadFunction[41]=__GLeeLink_GLX_NV_swap_group; - __GLeeGLXLoadFunction[42]=__GLeeLink_GLX_NV_video_capture; - __GLeeGLXLoadFunction[43]=__GLeeLink_GLX_EXT_swap_control; - __GLeeGLXLoadFunction[44]=__GLeeLink_GLX_NV_copy_image; - __GLeeGLXLoadFunction[45]=__GLeeLink_GLX_INTEL_swap_event; - __GLeeGLXLoadFunction[46]=__GLeeLink_GLX_NV_multisample_coverage; - __GLeeGLXLoadFunction[47]=__GLeeLink_GLX_AMD_gpu_association; - __GLeeGLXLoadFunction[48]=__GLeeLink_GLX_EXT_create_context_es2_profile; - __GLeeGLXLoadFunction[49]=__GLeeLink_GLX_EXT_create_context_es_profile; - __GLeeGLXLoadFunction[50]=__GLeeLink_GLX_EXT_swap_control_tear; - __GLeeGLXLoadFunction[51]=__GLeeLink_GLX_EXT_buffer_age; - __GLeeGLXLoadFunction[52]=__GLeeLink_GLX_NV_video_output; -} - -#endif /* end Linux */ - - -/***************************************************************** - * GLee internal types - *****************************************************************/ -typedef struct -{ - char ** names; - int * lengths; - int numNames; -}ExtensionList; - - -/***************************************************************** - * GLee internal variables - *****************************************************************/ -char GLeeErrorString[256]=""; - - -/***************************************************************** - * GLee internal functions - *****************************************************************/ - -void __GLeeExtList_init(ExtensionList *extList) -{ - extList->names=0; - extList->lengths=0; - extList->numNames=0; -} - -void __GLeeExtList_clean(ExtensionList *extList) -{ - int a; - for (a=0;anumNames;a++) - { - if (extList->names[a]!=0) free((void *)extList->names[a]); - } - if (extList->names!=0) free((void *)extList->names); - if (extList->lengths!=0) free((void *)extList->lengths); - extList->names=0; - extList->lengths=0; - extList->numNames=0; -} - -void __GLeeExtList_add(ExtensionList *extList, const char * extName) -{ - int length=strlen(extName)+1; - int i=extList->numNames; - int n=i+1; - if (i==0) - { - extList->lengths=(int *)malloc(sizeof(int)); - extList->names=(char **)malloc(sizeof(char *)); - }else - { - extList->lengths=(int *)realloc((void *)extList->lengths, n*sizeof(int)); - extList->names=(char **)realloc((void *)extList->names, n*sizeof(char *)); - } - extList->names[i]=strdup(extName); - extList->lengths[i]=length; - extList->numNames++; -} - -const char *__GLeeGetExtStrPlat( void ) -{ -#ifdef _WIN32 - if (!_GLEE_WGL_ARB_extensions_string) - wglGetExtensionsStringARB = (GLEEPFNWGLGETEXTENSIONSSTRINGARBPROC) wglGetProcAddress("wglGetExtensionsStringARB"); - - if (wglGetExtensionsStringARB) - return (const char *)wglGetExtensionsStringARB(wglGetCurrentDC()); -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else - Display *dpy=glXGetCurrentDisplay(); - if(dpy) - { - int dpynr=DefaultScreen(dpy); - return (const char*)glXQueryExtensionsString(dpy,dpynr); - } -#endif - return 0; -} - -void __GLeeWriteError(const char * errorStr) -{ - int a=0; - for (a=0;a<256;a++) - { - GLeeErrorString[a]=errorStr[a]; - } - GLeeErrorString[255]='\0'; -} - -int __GLeeGetVersionNumber(char *versionStr) -{ - int major=(int)versionStr[0]-(int)'0'; - int minor=(int)versionStr[2]-(int)'0'; - return major<<8 | minor; -} - -GLboolean __GLeeGetExtensions(ExtensionList* extList) -{ - const char * platExtStr; - const char * glExtStr; - char * extStr; - char * p; - int totalExtStrLen = 0; - int addASpace; - - /* read the platform specific extension string */ - platExtStr=__GLeeGetExtStrPlat(); - if (!platExtStr) platExtStr=""; - else totalExtStrLen = strlen(platExtStr); - - glExtStr=(const char *)glGetString(GL_EXTENSIONS); - if (glExtStr==0) - { - __GLeeWriteError("glGetString(GL_EXTENSIONS) failed."); - return GL_FALSE; - } - - /* If the last character of platExtStr is not a space, we need to add one when we concatenate the extension strings*/ - addASpace = 0; - if ( totalExtStrLen ) - { - if ( platExtStr[ totalExtStrLen-1 ] != ' ') - { - addASpace = 1; - totalExtStrLen++; - } - } - - /* allocate the extension string */ - totalExtStrLen += strlen(glExtStr); - extStr=(char *)malloc( totalExtStrLen+1 ); /* allow for a null terminator */ - - /* concatenate the two extension strings */ - snprintf(extStr,totalExtStrLen+1,addASpace?"%s %s":"%s%s",platExtStr,glExtStr); - - /* extract the extensions */ - for (p = extStr + totalExtStrLen; p > extStr; --p) { - if (*p == ' ') { - __GLeeExtList_add(extList,p+1); - *p = 0; - } - } - __GLeeExtList_add(extList,extStr); - free((void *)extStr); - return GL_TRUE; - } - - -GLboolean __GLeeCheckExtension(const char * name, ExtensionList *extensionNames) -{ - int n=extensionNames->numNames; - int a; - for (a=0;anames[a],name)==0) - return GL_TRUE; - } - return GL_FALSE; -} - -GLEE_EXTERN GLint __GLeeGetExtensionNumber(const char *extensionName, int type) -{ - int a; - switch (type) - { - case 0: - for (a=0;a<__GLeeGLNumExtensions;a++) - if (strcmp(extensionName,__GLeeGLExtensionNames[a])==0) return a; - return -1; -#ifdef _WIN32 - case 1: - for (a=0;a<__GLeeWGLNumExtensions;a++) - if (strcmp(extensionName,__GLeeWGLExtensionNames[a])==0) return a; - return -1; -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else - case 2: - for (a=0;a<__GLeeGLXNumExtensions;a++) - if (strcmp(extensionName,__GLeeGLXExtensionNames[a])==0) return a; - return -1; -#endif - } - return -1; -} - -/***************************************************************** - * GLee external functions - *****************************************************************/ - -#ifdef _WIN32 -GLEE_EXTERN const char * GLeeGetExtStrWGL( void ) -{ - return __GLeeGetExtStrPlat(); -} -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else -GLEE_EXTERN const char * GLeeGetExtStrGLX( void ) -{ - return __GLeeGetExtStrPlat(); -} -#endif - -GLEE_EXTERN const char * GLeeGetExtStrGL( void ) -{ - return (const char *)glGetString(GL_EXTENSIONS); -} - -GLEE_EXTERN const char * GLeeGetErrorString( void ) -{ - return GLeeErrorString; -} - -GLboolean __GLeeInitedLoadFunctions=GL_FALSE; - -GLEE_EXTERN GLint GLeeForceLink(const char * extensionName) -{ - int type=0; - int extNum; - int len=strlen(extensionName); - if (len<5) return GLEE_LINK_FAIL; - if (!__GLeeInitedLoadFunctions) - { - if (!__GLeeInited) GLeeInit(); - initGLLoadFunctions(); -#ifdef _WIN32 - initWGLLoadFunctions(); -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else - initGLXLoadFunctions(); -#endif - __GLeeInitedLoadFunctions=GL_TRUE; - } - if (extensionName[0]=='W') type=1; - else if (extensionName[2]=='X') type=2; - extNum=__GLeeGetExtensionNumber(extensionName,type); - if (extNum==-1) return GLEE_LINK_FAIL; - if (type==0) return __GLeeGLLoadFunction[extNum](); -#ifdef _WIN32 - if (type==1) return __GLeeWGLLoadFunction[extNum](); -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else - if (type==2) return __GLeeGLXLoadFunction[extNum](); -#endif - return GLEE_LINK_FAIL; -} - -GLEE_EXTERN GLboolean GLeeEnabled(GLboolean * extensionQueryingVariable) -{ - if (!__GLeeInited) GLeeInit(); - return *extensionQueryingVariable; -} - -GLEE_EXTERN GLboolean GLeeInit( void ) -{ - int version; - ExtensionList extensionNames; - - if (__GLeeInited) - { - return GL_FALSE; - } - - __GLeeExtList_init(&extensionNames); - if (!__GLeeGetExtensions(&extensionNames)) - { - __GLeeWriteError("GL extension querying failed."); - __GLeeExtList_clean(&extensionNames); - return GL_FALSE; - } - - version=__GLeeGetVersionNumber((char *)glGetString(GL_VERSION)); - - __GLeeInited = GL_TRUE; - - -/***************************************************************** - * Autogenerated linking functions - *****************************************************************/ - if (version>=258) - { - _GLEE_VERSION_1_2 = GL_TRUE; - __GLeeLink_GL_VERSION_1_2(); - } - if (__GLeeCheckExtension("GL_ARB_imaging", &extensionNames) ) - { - _GLEE_ARB_imaging = GL_TRUE; - __GLeeLink_GL_ARB_imaging(); - } - if (version>=259) - { - _GLEE_VERSION_1_3 = GL_TRUE; - __GLeeLink_GL_VERSION_1_3(); - } - if (version>=260) - { - _GLEE_VERSION_1_4 = GL_TRUE; - __GLeeLink_GL_VERSION_1_4(); - } - if (version>=261) - { - _GLEE_VERSION_1_5 = GL_TRUE; - __GLeeLink_GL_VERSION_1_5(); - } - if (version>=512) - { - _GLEE_VERSION_2_0 = GL_TRUE; - __GLeeLink_GL_VERSION_2_0(); - } - if (version>=513) - { - _GLEE_VERSION_2_1 = GL_TRUE; - __GLeeLink_GL_VERSION_2_1(); - } - if (version>=768) - { - _GLEE_VERSION_3_0 = GL_TRUE; - __GLeeLink_GL_VERSION_3_0(); - } - if (version>=769) - { - _GLEE_VERSION_3_1 = GL_TRUE; - __GLeeLink_GL_VERSION_3_1(); - } - if (version>=770) - { - _GLEE_VERSION_3_2 = GL_TRUE; - __GLeeLink_GL_VERSION_3_2(); - } - if (version>=771) - { - _GLEE_VERSION_3_3 = GL_TRUE; - __GLeeLink_GL_VERSION_3_3(); - } - if (version>=1024) - { - _GLEE_VERSION_4_0 = GL_TRUE; - __GLeeLink_GL_VERSION_4_0(); - } - if (version>=1025) - { - _GLEE_VERSION_4_1 = GL_TRUE; - __GLeeLink_GL_VERSION_4_1(); - } - if (version>=1026) - { - _GLEE_VERSION_4_2 = GL_TRUE; - __GLeeLink_GL_VERSION_4_2(); - } - if (version>=1027) - { - _GLEE_VERSION_4_3 = GL_TRUE; - __GLeeLink_GL_VERSION_4_3(); - } - if (__GLeeCheckExtension("GL_ARB_multitexture", &extensionNames) ) - { - _GLEE_ARB_multitexture = GL_TRUE; - __GLeeLink_GL_ARB_multitexture(); - } - if (__GLeeCheckExtension("GL_ARB_transpose_matrix", &extensionNames) ) - { - _GLEE_ARB_transpose_matrix = GL_TRUE; - __GLeeLink_GL_ARB_transpose_matrix(); - } - if (__GLeeCheckExtension("GL_ARB_multisample", &extensionNames) ) - { - _GLEE_ARB_multisample = GL_TRUE; - __GLeeLink_GL_ARB_multisample(); - } - if (__GLeeCheckExtension("GL_ARB_texture_env_add", &extensionNames) ) - { - _GLEE_ARB_texture_env_add = GL_TRUE; - __GLeeLink_GL_ARB_texture_env_add(); - } - if (__GLeeCheckExtension("GL_ARB_texture_cube_map", &extensionNames) ) - { - _GLEE_ARB_texture_cube_map = GL_TRUE; - __GLeeLink_GL_ARB_texture_cube_map(); - } - if (__GLeeCheckExtension("GL_ARB_texture_compression", &extensionNames) ) - { - _GLEE_ARB_texture_compression = GL_TRUE; - __GLeeLink_GL_ARB_texture_compression(); - } - if (__GLeeCheckExtension("GL_ARB_texture_border_clamp", &extensionNames) ) - { - _GLEE_ARB_texture_border_clamp = GL_TRUE; - __GLeeLink_GL_ARB_texture_border_clamp(); - } - if (__GLeeCheckExtension("GL_ARB_point_parameters", &extensionNames) ) - { - _GLEE_ARB_point_parameters = GL_TRUE; - __GLeeLink_GL_ARB_point_parameters(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_blend", &extensionNames) ) - { - _GLEE_ARB_vertex_blend = GL_TRUE; - __GLeeLink_GL_ARB_vertex_blend(); - } - if (__GLeeCheckExtension("GL_ARB_matrix_palette", &extensionNames) ) - { - _GLEE_ARB_matrix_palette = GL_TRUE; - __GLeeLink_GL_ARB_matrix_palette(); - } - if (__GLeeCheckExtension("GL_ARB_texture_env_combine", &extensionNames) ) - { - _GLEE_ARB_texture_env_combine = GL_TRUE; - __GLeeLink_GL_ARB_texture_env_combine(); - } - if (__GLeeCheckExtension("GL_ARB_texture_env_crossbar", &extensionNames) ) - { - _GLEE_ARB_texture_env_crossbar = GL_TRUE; - __GLeeLink_GL_ARB_texture_env_crossbar(); - } - if (__GLeeCheckExtension("GL_ARB_texture_env_dot3", &extensionNames) ) - { - _GLEE_ARB_texture_env_dot3 = GL_TRUE; - __GLeeLink_GL_ARB_texture_env_dot3(); - } - if (__GLeeCheckExtension("GL_ARB_texture_mirrored_repeat", &extensionNames) ) - { - _GLEE_ARB_texture_mirrored_repeat = GL_TRUE; - __GLeeLink_GL_ARB_texture_mirrored_repeat(); - } - if (__GLeeCheckExtension("GL_ARB_depth_texture", &extensionNames) ) - { - _GLEE_ARB_depth_texture = GL_TRUE; - __GLeeLink_GL_ARB_depth_texture(); - } - if (__GLeeCheckExtension("GL_ARB_shadow", &extensionNames) ) - { - _GLEE_ARB_shadow = GL_TRUE; - __GLeeLink_GL_ARB_shadow(); - } - if (__GLeeCheckExtension("GL_ARB_shadow_ambient", &extensionNames) ) - { - _GLEE_ARB_shadow_ambient = GL_TRUE; - __GLeeLink_GL_ARB_shadow_ambient(); - } - if (__GLeeCheckExtension("GL_ARB_window_pos", &extensionNames) ) - { - _GLEE_ARB_window_pos = GL_TRUE; - __GLeeLink_GL_ARB_window_pos(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_program", &extensionNames) ) - { - _GLEE_ARB_vertex_program = GL_TRUE; - __GLeeLink_GL_ARB_vertex_program(); - } - if (__GLeeCheckExtension("GL_ARB_fragment_program", &extensionNames) ) - { - _GLEE_ARB_fragment_program = GL_TRUE; - __GLeeLink_GL_ARB_fragment_program(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_buffer_object", &extensionNames) ) - { - _GLEE_ARB_vertex_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_vertex_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_occlusion_query", &extensionNames) ) - { - _GLEE_ARB_occlusion_query = GL_TRUE; - __GLeeLink_GL_ARB_occlusion_query(); - } - if (__GLeeCheckExtension("GL_ARB_shader_objects", &extensionNames) ) - { - _GLEE_ARB_shader_objects = GL_TRUE; - __GLeeLink_GL_ARB_shader_objects(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_shader", &extensionNames) ) - { - _GLEE_ARB_vertex_shader = GL_TRUE; - __GLeeLink_GL_ARB_vertex_shader(); - } - if (__GLeeCheckExtension("GL_ARB_fragment_shader", &extensionNames) ) - { - _GLEE_ARB_fragment_shader = GL_TRUE; - __GLeeLink_GL_ARB_fragment_shader(); - } - if (__GLeeCheckExtension("GL_ARB_shading_language_100", &extensionNames) ) - { - _GLEE_ARB_shading_language_100 = GL_TRUE; - __GLeeLink_GL_ARB_shading_language_100(); - } - if (__GLeeCheckExtension("GL_ARB_texture_non_power_of_two", &extensionNames) ) - { - _GLEE_ARB_texture_non_power_of_two = GL_TRUE; - __GLeeLink_GL_ARB_texture_non_power_of_two(); - } - if (__GLeeCheckExtension("GL_ARB_point_sprite", &extensionNames) ) - { - _GLEE_ARB_point_sprite = GL_TRUE; - __GLeeLink_GL_ARB_point_sprite(); - } - if (__GLeeCheckExtension("GL_ARB_fragment_program_shadow", &extensionNames) ) - { - _GLEE_ARB_fragment_program_shadow = GL_TRUE; - __GLeeLink_GL_ARB_fragment_program_shadow(); - } - if (__GLeeCheckExtension("GL_ARB_draw_buffers", &extensionNames) ) - { - _GLEE_ARB_draw_buffers = GL_TRUE; - __GLeeLink_GL_ARB_draw_buffers(); - } - if (__GLeeCheckExtension("GL_ARB_texture_rectangle", &extensionNames) ) - { - _GLEE_ARB_texture_rectangle = GL_TRUE; - __GLeeLink_GL_ARB_texture_rectangle(); - } - if (__GLeeCheckExtension("GL_ARB_color_buffer_float", &extensionNames) ) - { - _GLEE_ARB_color_buffer_float = GL_TRUE; - __GLeeLink_GL_ARB_color_buffer_float(); - } - if (__GLeeCheckExtension("GL_ARB_half_float_pixel", &extensionNames) ) - { - _GLEE_ARB_half_float_pixel = GL_TRUE; - __GLeeLink_GL_ARB_half_float_pixel(); - } - if (__GLeeCheckExtension("GL_ARB_texture_float", &extensionNames) ) - { - _GLEE_ARB_texture_float = GL_TRUE; - __GLeeLink_GL_ARB_texture_float(); - } - if (__GLeeCheckExtension("GL_ARB_pixel_buffer_object", &extensionNames) ) - { - _GLEE_ARB_pixel_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_pixel_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_depth_buffer_float", &extensionNames) ) - { - _GLEE_ARB_depth_buffer_float = GL_TRUE; - __GLeeLink_GL_ARB_depth_buffer_float(); - } - if (__GLeeCheckExtension("GL_ARB_draw_instanced", &extensionNames) ) - { - _GLEE_ARB_draw_instanced = GL_TRUE; - __GLeeLink_GL_ARB_draw_instanced(); - } - if (__GLeeCheckExtension("GL_ARB_framebuffer_object", &extensionNames) ) - { - _GLEE_ARB_framebuffer_object = GL_TRUE; - __GLeeLink_GL_ARB_framebuffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_ARB_framebuffer_sRGB = GL_TRUE; - __GLeeLink_GL_ARB_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("GL_ARB_geometry_shader4", &extensionNames) ) - { - _GLEE_ARB_geometry_shader4 = GL_TRUE; - __GLeeLink_GL_ARB_geometry_shader4(); - } - if (__GLeeCheckExtension("GL_ARB_half_float_vertex", &extensionNames) ) - { - _GLEE_ARB_half_float_vertex = GL_TRUE; - __GLeeLink_GL_ARB_half_float_vertex(); - } - if (__GLeeCheckExtension("GL_ARB_instanced_arrays", &extensionNames) ) - { - _GLEE_ARB_instanced_arrays = GL_TRUE; - __GLeeLink_GL_ARB_instanced_arrays(); - } - if (__GLeeCheckExtension("GL_ARB_map_buffer_range", &extensionNames) ) - { - _GLEE_ARB_map_buffer_range = GL_TRUE; - __GLeeLink_GL_ARB_map_buffer_range(); - } - if (__GLeeCheckExtension("GL_ARB_texture_buffer_object", &extensionNames) ) - { - _GLEE_ARB_texture_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_texture_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_texture_compression_rgtc", &extensionNames) ) - { - _GLEE_ARB_texture_compression_rgtc = GL_TRUE; - __GLeeLink_GL_ARB_texture_compression_rgtc(); - } - if (__GLeeCheckExtension("GL_ARB_texture_rg", &extensionNames) ) - { - _GLEE_ARB_texture_rg = GL_TRUE; - __GLeeLink_GL_ARB_texture_rg(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_array_object", &extensionNames) ) - { - _GLEE_ARB_vertex_array_object = GL_TRUE; - __GLeeLink_GL_ARB_vertex_array_object(); - } - if (__GLeeCheckExtension("GL_ARB_uniform_buffer_object", &extensionNames) ) - { - _GLEE_ARB_uniform_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_uniform_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_compatibility", &extensionNames) ) - { - _GLEE_ARB_compatibility = GL_TRUE; - __GLeeLink_GL_ARB_compatibility(); - } - if (__GLeeCheckExtension("GL_ARB_copy_buffer", &extensionNames) ) - { - _GLEE_ARB_copy_buffer = GL_TRUE; - __GLeeLink_GL_ARB_copy_buffer(); - } - if (__GLeeCheckExtension("GL_ARB_shader_texture_lod", &extensionNames) ) - { - _GLEE_ARB_shader_texture_lod = GL_TRUE; - __GLeeLink_GL_ARB_shader_texture_lod(); - } - if (__GLeeCheckExtension("GL_ARB_depth_clamp", &extensionNames) ) - { - _GLEE_ARB_depth_clamp = GL_TRUE; - __GLeeLink_GL_ARB_depth_clamp(); - } - if (__GLeeCheckExtension("GL_ARB_draw_elements_base_vertex", &extensionNames) ) - { - _GLEE_ARB_draw_elements_base_vertex = GL_TRUE; - __GLeeLink_GL_ARB_draw_elements_base_vertex(); - } - if (__GLeeCheckExtension("GL_ARB_fragment_coord_conventions", &extensionNames) ) - { - _GLEE_ARB_fragment_coord_conventions = GL_TRUE; - __GLeeLink_GL_ARB_fragment_coord_conventions(); - } - if (__GLeeCheckExtension("GL_ARB_provoking_vertex", &extensionNames) ) - { - _GLEE_ARB_provoking_vertex = GL_TRUE; - __GLeeLink_GL_ARB_provoking_vertex(); - } - if (__GLeeCheckExtension("GL_ARB_seamless_cube_map", &extensionNames) ) - { - _GLEE_ARB_seamless_cube_map = GL_TRUE; - __GLeeLink_GL_ARB_seamless_cube_map(); - } - if (__GLeeCheckExtension("GL_ARB_sync", &extensionNames) ) - { - _GLEE_ARB_sync = GL_TRUE; - __GLeeLink_GL_ARB_sync(); - } - if (__GLeeCheckExtension("GL_ARB_texture_multisample", &extensionNames) ) - { - _GLEE_ARB_texture_multisample = GL_TRUE; - __GLeeLink_GL_ARB_texture_multisample(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_array_bgra", &extensionNames) ) - { - _GLEE_ARB_vertex_array_bgra = GL_TRUE; - __GLeeLink_GL_ARB_vertex_array_bgra(); - } - if (__GLeeCheckExtension("GL_ARB_draw_buffers_blend", &extensionNames) ) - { - _GLEE_ARB_draw_buffers_blend = GL_TRUE; - __GLeeLink_GL_ARB_draw_buffers_blend(); - } - if (__GLeeCheckExtension("GL_ARB_sample_shading", &extensionNames) ) - { - _GLEE_ARB_sample_shading = GL_TRUE; - __GLeeLink_GL_ARB_sample_shading(); - } - if (__GLeeCheckExtension("GL_ARB_texture_cube_map_array", &extensionNames) ) - { - _GLEE_ARB_texture_cube_map_array = GL_TRUE; - __GLeeLink_GL_ARB_texture_cube_map_array(); - } - if (__GLeeCheckExtension("GL_ARB_texture_gather", &extensionNames) ) - { - _GLEE_ARB_texture_gather = GL_TRUE; - __GLeeLink_GL_ARB_texture_gather(); - } - if (__GLeeCheckExtension("GL_ARB_texture_query_lod", &extensionNames) ) - { - _GLEE_ARB_texture_query_lod = GL_TRUE; - __GLeeLink_GL_ARB_texture_query_lod(); - } - if (__GLeeCheckExtension("GL_ARB_shading_language_include", &extensionNames) ) - { - _GLEE_ARB_shading_language_include = GL_TRUE; - __GLeeLink_GL_ARB_shading_language_include(); - } - if (__GLeeCheckExtension("GL_ARB_texture_compression_bptc", &extensionNames) ) - { - _GLEE_ARB_texture_compression_bptc = GL_TRUE; - __GLeeLink_GL_ARB_texture_compression_bptc(); - } - if (__GLeeCheckExtension("GL_ARB_blend_func_extended", &extensionNames) ) - { - _GLEE_ARB_blend_func_extended = GL_TRUE; - __GLeeLink_GL_ARB_blend_func_extended(); - } - if (__GLeeCheckExtension("GL_ARB_explicit_attrib_location", &extensionNames) ) - { - _GLEE_ARB_explicit_attrib_location = GL_TRUE; - __GLeeLink_GL_ARB_explicit_attrib_location(); - } - if (__GLeeCheckExtension("GL_ARB_occlusion_query2", &extensionNames) ) - { - _GLEE_ARB_occlusion_query2 = GL_TRUE; - __GLeeLink_GL_ARB_occlusion_query2(); - } - if (__GLeeCheckExtension("GL_ARB_sampler_objects", &extensionNames) ) - { - _GLEE_ARB_sampler_objects = GL_TRUE; - __GLeeLink_GL_ARB_sampler_objects(); - } - if (__GLeeCheckExtension("GL_ARB_shader_bit_encoding", &extensionNames) ) - { - _GLEE_ARB_shader_bit_encoding = GL_TRUE; - __GLeeLink_GL_ARB_shader_bit_encoding(); - } - if (__GLeeCheckExtension("GL_ARB_texture_rgb10_a2ui", &extensionNames) ) - { - _GLEE_ARB_texture_rgb10_a2ui = GL_TRUE; - __GLeeLink_GL_ARB_texture_rgb10_a2ui(); - } - if (__GLeeCheckExtension("GL_ARB_texture_swizzle", &extensionNames) ) - { - _GLEE_ARB_texture_swizzle = GL_TRUE; - __GLeeLink_GL_ARB_texture_swizzle(); - } - if (__GLeeCheckExtension("GL_ARB_timer_query", &extensionNames) ) - { - _GLEE_ARB_timer_query = GL_TRUE; - __GLeeLink_GL_ARB_timer_query(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_type_2_10_10_10_rev", &extensionNames) ) - { - _GLEE_ARB_vertex_type_2_10_10_10_rev = GL_TRUE; - __GLeeLink_GL_ARB_vertex_type_2_10_10_10_rev(); - } - if (__GLeeCheckExtension("GL_ARB_draw_indirect", &extensionNames) ) - { - _GLEE_ARB_draw_indirect = GL_TRUE; - __GLeeLink_GL_ARB_draw_indirect(); - } - if (__GLeeCheckExtension("GL_ARB_gpu_shader5", &extensionNames) ) - { - _GLEE_ARB_gpu_shader5 = GL_TRUE; - __GLeeLink_GL_ARB_gpu_shader5(); - } - if (__GLeeCheckExtension("GL_ARB_gpu_shader_fp64", &extensionNames) ) - { - _GLEE_ARB_gpu_shader_fp64 = GL_TRUE; - __GLeeLink_GL_ARB_gpu_shader_fp64(); - } - if (__GLeeCheckExtension("GL_ARB_shader_subroutine", &extensionNames) ) - { - _GLEE_ARB_shader_subroutine = GL_TRUE; - __GLeeLink_GL_ARB_shader_subroutine(); - } - if (__GLeeCheckExtension("GL_ARB_tessellation_shader", &extensionNames) ) - { - _GLEE_ARB_tessellation_shader = GL_TRUE; - __GLeeLink_GL_ARB_tessellation_shader(); - } - if (__GLeeCheckExtension("GL_ARB_texture_buffer_object_rgb32", &extensionNames) ) - { - _GLEE_ARB_texture_buffer_object_rgb32 = GL_TRUE; - __GLeeLink_GL_ARB_texture_buffer_object_rgb32(); - } - if (__GLeeCheckExtension("GL_ARB_transform_feedback2", &extensionNames) ) - { - _GLEE_ARB_transform_feedback2 = GL_TRUE; - __GLeeLink_GL_ARB_transform_feedback2(); - } - if (__GLeeCheckExtension("GL_ARB_transform_feedback3", &extensionNames) ) - { - _GLEE_ARB_transform_feedback3 = GL_TRUE; - __GLeeLink_GL_ARB_transform_feedback3(); - } - if (__GLeeCheckExtension("GL_ARB_ES2_compatibility", &extensionNames) ) - { - _GLEE_ARB_ES2_compatibility = GL_TRUE; - __GLeeLink_GL_ARB_ES2_compatibility(); - } - if (__GLeeCheckExtension("GL_ARB_get_program_binary", &extensionNames) ) - { - _GLEE_ARB_get_program_binary = GL_TRUE; - __GLeeLink_GL_ARB_get_program_binary(); - } - if (__GLeeCheckExtension("GL_ARB_separate_shader_objects", &extensionNames) ) - { - _GLEE_ARB_separate_shader_objects = GL_TRUE; - __GLeeLink_GL_ARB_separate_shader_objects(); - } - if (__GLeeCheckExtension("GL_ARB_shader_precision", &extensionNames) ) - { - _GLEE_ARB_shader_precision = GL_TRUE; - __GLeeLink_GL_ARB_shader_precision(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_attrib_64bit", &extensionNames) ) - { - _GLEE_ARB_vertex_attrib_64bit = GL_TRUE; - __GLeeLink_GL_ARB_vertex_attrib_64bit(); - } - if (__GLeeCheckExtension("GL_ARB_viewport_array", &extensionNames) ) - { - _GLEE_ARB_viewport_array = GL_TRUE; - __GLeeLink_GL_ARB_viewport_array(); - } - if (__GLeeCheckExtension("GL_ARB_cl_event", &extensionNames) ) - { - _GLEE_ARB_cl_event = GL_TRUE; - __GLeeLink_GL_ARB_cl_event(); - } - if (__GLeeCheckExtension("GL_ARB_debug_output", &extensionNames) ) - { - _GLEE_ARB_debug_output = GL_TRUE; - __GLeeLink_GL_ARB_debug_output(); - } - if (__GLeeCheckExtension("GL_ARB_robustness", &extensionNames) ) - { - _GLEE_ARB_robustness = GL_TRUE; - __GLeeLink_GL_ARB_robustness(); - } - if (__GLeeCheckExtension("GL_ARB_shader_stencil_export", &extensionNames) ) - { - _GLEE_ARB_shader_stencil_export = GL_TRUE; - __GLeeLink_GL_ARB_shader_stencil_export(); - } - if (__GLeeCheckExtension("GL_ARB_base_instance", &extensionNames) ) - { - _GLEE_ARB_base_instance = GL_TRUE; - __GLeeLink_GL_ARB_base_instance(); - } - if (__GLeeCheckExtension("GL_ARB_shading_language_420pack", &extensionNames) ) - { - _GLEE_ARB_shading_language_420pack = GL_TRUE; - __GLeeLink_GL_ARB_shading_language_420pack(); - } - if (__GLeeCheckExtension("GL_ARB_transform_feedback_instanced", &extensionNames) ) - { - _GLEE_ARB_transform_feedback_instanced = GL_TRUE; - __GLeeLink_GL_ARB_transform_feedback_instanced(); - } - if (__GLeeCheckExtension("GL_ARB_compressed_texture_pixel_storage", &extensionNames) ) - { - _GLEE_ARB_compressed_texture_pixel_storage = GL_TRUE; - __GLeeLink_GL_ARB_compressed_texture_pixel_storage(); - } - if (__GLeeCheckExtension("GL_ARB_conservative_depth", &extensionNames) ) - { - _GLEE_ARB_conservative_depth = GL_TRUE; - __GLeeLink_GL_ARB_conservative_depth(); - } - if (__GLeeCheckExtension("GL_ARB_internalformat_query", &extensionNames) ) - { - _GLEE_ARB_internalformat_query = GL_TRUE; - __GLeeLink_GL_ARB_internalformat_query(); - } - if (__GLeeCheckExtension("GL_ARB_map_buffer_alignment", &extensionNames) ) - { - _GLEE_ARB_map_buffer_alignment = GL_TRUE; - __GLeeLink_GL_ARB_map_buffer_alignment(); - } - if (__GLeeCheckExtension("GL_ARB_shader_atomic_counters", &extensionNames) ) - { - _GLEE_ARB_shader_atomic_counters = GL_TRUE; - __GLeeLink_GL_ARB_shader_atomic_counters(); - } - if (__GLeeCheckExtension("GL_ARB_shader_image_load_store", &extensionNames) ) - { - _GLEE_ARB_shader_image_load_store = GL_TRUE; - __GLeeLink_GL_ARB_shader_image_load_store(); - } - if (__GLeeCheckExtension("GL_ARB_shading_language_packing", &extensionNames) ) - { - _GLEE_ARB_shading_language_packing = GL_TRUE; - __GLeeLink_GL_ARB_shading_language_packing(); - } - if (__GLeeCheckExtension("GL_ARB_texture_storage", &extensionNames) ) - { - _GLEE_ARB_texture_storage = GL_TRUE; - __GLeeLink_GL_ARB_texture_storage(); - } - if (__GLeeCheckExtension("GL_KHR_texture_compression_astc_ldr", &extensionNames) ) - { - _GLEE_KHR_texture_compression_astc_ldr = GL_TRUE; - __GLeeLink_GL_KHR_texture_compression_astc_ldr(); - } - if (__GLeeCheckExtension("GL_KHR_debug", &extensionNames) ) - { - _GLEE_KHR_debug = GL_TRUE; - __GLeeLink_GL_KHR_debug(); - } - if (__GLeeCheckExtension("GL_ARB_arrays_of_arrays", &extensionNames) ) - { - _GLEE_ARB_arrays_of_arrays = GL_TRUE; - __GLeeLink_GL_ARB_arrays_of_arrays(); - } - if (__GLeeCheckExtension("GL_ARB_clear_buffer_object", &extensionNames) ) - { - _GLEE_ARB_clear_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_clear_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_compute_shader", &extensionNames) ) - { - _GLEE_ARB_compute_shader = GL_TRUE; - __GLeeLink_GL_ARB_compute_shader(); - } - if (__GLeeCheckExtension("GL_ARB_copy_image", &extensionNames) ) - { - _GLEE_ARB_copy_image = GL_TRUE; - __GLeeLink_GL_ARB_copy_image(); - } - if (__GLeeCheckExtension("GL_ARB_texture_view", &extensionNames) ) - { - _GLEE_ARB_texture_view = GL_TRUE; - __GLeeLink_GL_ARB_texture_view(); - } - if (__GLeeCheckExtension("GL_ARB_vertex_attrib_binding", &extensionNames) ) - { - _GLEE_ARB_vertex_attrib_binding = GL_TRUE; - __GLeeLink_GL_ARB_vertex_attrib_binding(); - } - if (__GLeeCheckExtension("GL_ARB_robustness_isolation", &extensionNames) ) - { - _GLEE_ARB_robustness_isolation = GL_TRUE; - __GLeeLink_GL_ARB_robustness_isolation(); - } - if (__GLeeCheckExtension("GL_ARB_ES3_compatibility", &extensionNames) ) - { - _GLEE_ARB_ES3_compatibility = GL_TRUE; - __GLeeLink_GL_ARB_ES3_compatibility(); - } - if (__GLeeCheckExtension("GL_ARB_explicit_uniform_location", &extensionNames) ) - { - _GLEE_ARB_explicit_uniform_location = GL_TRUE; - __GLeeLink_GL_ARB_explicit_uniform_location(); - } - if (__GLeeCheckExtension("GL_ARB_fragment_layer_viewport", &extensionNames) ) - { - _GLEE_ARB_fragment_layer_viewport = GL_TRUE; - __GLeeLink_GL_ARB_fragment_layer_viewport(); - } - if (__GLeeCheckExtension("GL_ARB_framebuffer_no_attachments", &extensionNames) ) - { - _GLEE_ARB_framebuffer_no_attachments = GL_TRUE; - __GLeeLink_GL_ARB_framebuffer_no_attachments(); - } - if (__GLeeCheckExtension("GL_ARB_internalformat_query2", &extensionNames) ) - { - _GLEE_ARB_internalformat_query2 = GL_TRUE; - __GLeeLink_GL_ARB_internalformat_query2(); - } - if (__GLeeCheckExtension("GL_ARB_invalidate_subdata", &extensionNames) ) - { - _GLEE_ARB_invalidate_subdata = GL_TRUE; - __GLeeLink_GL_ARB_invalidate_subdata(); - } - if (__GLeeCheckExtension("GL_ARB_multi_draw_indirect", &extensionNames) ) - { - _GLEE_ARB_multi_draw_indirect = GL_TRUE; - __GLeeLink_GL_ARB_multi_draw_indirect(); - } - if (__GLeeCheckExtension("GL_ARB_program_interface_query", &extensionNames) ) - { - _GLEE_ARB_program_interface_query = GL_TRUE; - __GLeeLink_GL_ARB_program_interface_query(); - } - if (__GLeeCheckExtension("GL_ARB_robust_buffer_access_behavior", &extensionNames) ) - { - _GLEE_ARB_robust_buffer_access_behavior = GL_TRUE; - __GLeeLink_GL_ARB_robust_buffer_access_behavior(); - } - if (__GLeeCheckExtension("GL_ARB_shader_image_size", &extensionNames) ) - { - _GLEE_ARB_shader_image_size = GL_TRUE; - __GLeeLink_GL_ARB_shader_image_size(); - } - if (__GLeeCheckExtension("GL_ARB_shader_storage_buffer_object", &extensionNames) ) - { - _GLEE_ARB_shader_storage_buffer_object = GL_TRUE; - __GLeeLink_GL_ARB_shader_storage_buffer_object(); - } - if (__GLeeCheckExtension("GL_ARB_stencil_texturing", &extensionNames) ) - { - _GLEE_ARB_stencil_texturing = GL_TRUE; - __GLeeLink_GL_ARB_stencil_texturing(); - } - if (__GLeeCheckExtension("GL_ARB_texture_buffer_range", &extensionNames) ) - { - _GLEE_ARB_texture_buffer_range = GL_TRUE; - __GLeeLink_GL_ARB_texture_buffer_range(); - } - if (__GLeeCheckExtension("GL_ARB_texture_query_levels", &extensionNames) ) - { - _GLEE_ARB_texture_query_levels = GL_TRUE; - __GLeeLink_GL_ARB_texture_query_levels(); - } - if (__GLeeCheckExtension("GL_ARB_texture_storage_multisample", &extensionNames) ) - { - _GLEE_ARB_texture_storage_multisample = GL_TRUE; - __GLeeLink_GL_ARB_texture_storage_multisample(); - } - if (__GLeeCheckExtension("GL_EXT_abgr", &extensionNames) ) - { - _GLEE_EXT_abgr = GL_TRUE; - __GLeeLink_GL_EXT_abgr(); - } - if (__GLeeCheckExtension("GL_EXT_blend_color", &extensionNames) ) - { - _GLEE_EXT_blend_color = GL_TRUE; - __GLeeLink_GL_EXT_blend_color(); - } - if (__GLeeCheckExtension("GL_EXT_polygon_offset", &extensionNames) ) - { - _GLEE_EXT_polygon_offset = GL_TRUE; - __GLeeLink_GL_EXT_polygon_offset(); - } - if (__GLeeCheckExtension("GL_EXT_texture", &extensionNames) ) - { - _GLEE_EXT_texture = GL_TRUE; - __GLeeLink_GL_EXT_texture(); - } - if (__GLeeCheckExtension("GL_EXT_texture3D", &extensionNames) ) - { - _GLEE_EXT_texture3D = GL_TRUE; - __GLeeLink_GL_EXT_texture3D(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_filter4", &extensionNames) ) - { - _GLEE_SGIS_texture_filter4 = GL_TRUE; - __GLeeLink_GL_SGIS_texture_filter4(); - } - if (__GLeeCheckExtension("GL_EXT_subtexture", &extensionNames) ) - { - _GLEE_EXT_subtexture = GL_TRUE; - __GLeeLink_GL_EXT_subtexture(); - } - if (__GLeeCheckExtension("GL_EXT_copy_texture", &extensionNames) ) - { - _GLEE_EXT_copy_texture = GL_TRUE; - __GLeeLink_GL_EXT_copy_texture(); - } - if (__GLeeCheckExtension("GL_EXT_histogram", &extensionNames) ) - { - _GLEE_EXT_histogram = GL_TRUE; - __GLeeLink_GL_EXT_histogram(); - } - if (__GLeeCheckExtension("GL_EXT_convolution", &extensionNames) ) - { - _GLEE_EXT_convolution = GL_TRUE; - __GLeeLink_GL_EXT_convolution(); - } - if (__GLeeCheckExtension("GL_SGI_color_matrix", &extensionNames) ) - { - _GLEE_SGI_color_matrix = GL_TRUE; - __GLeeLink_GL_SGI_color_matrix(); - } - if (__GLeeCheckExtension("GL_SGI_color_table", &extensionNames) ) - { - _GLEE_SGI_color_table = GL_TRUE; - __GLeeLink_GL_SGI_color_table(); - } - if (__GLeeCheckExtension("GL_SGIS_pixel_texture", &extensionNames) ) - { - _GLEE_SGIS_pixel_texture = GL_TRUE; - __GLeeLink_GL_SGIS_pixel_texture(); - } - if (__GLeeCheckExtension("GL_SGIX_pixel_texture", &extensionNames) ) - { - _GLEE_SGIX_pixel_texture = GL_TRUE; - __GLeeLink_GL_SGIX_pixel_texture(); - } - if (__GLeeCheckExtension("GL_SGIS_texture4D", &extensionNames) ) - { - _GLEE_SGIS_texture4D = GL_TRUE; - __GLeeLink_GL_SGIS_texture4D(); - } - if (__GLeeCheckExtension("GL_SGI_texture_color_table", &extensionNames) ) - { - _GLEE_SGI_texture_color_table = GL_TRUE; - __GLeeLink_GL_SGI_texture_color_table(); - } - if (__GLeeCheckExtension("GL_EXT_cmyka", &extensionNames) ) - { - _GLEE_EXT_cmyka = GL_TRUE; - __GLeeLink_GL_EXT_cmyka(); - } - if (__GLeeCheckExtension("GL_EXT_texture_object", &extensionNames) ) - { - _GLEE_EXT_texture_object = GL_TRUE; - __GLeeLink_GL_EXT_texture_object(); - } - if (__GLeeCheckExtension("GL_SGIS_detail_texture", &extensionNames) ) - { - _GLEE_SGIS_detail_texture = GL_TRUE; - __GLeeLink_GL_SGIS_detail_texture(); - } - if (__GLeeCheckExtension("GL_SGIS_sharpen_texture", &extensionNames) ) - { - _GLEE_SGIS_sharpen_texture = GL_TRUE; - __GLeeLink_GL_SGIS_sharpen_texture(); - } - if (__GLeeCheckExtension("GL_EXT_packed_pixels", &extensionNames) ) - { - _GLEE_EXT_packed_pixels = GL_TRUE; - __GLeeLink_GL_EXT_packed_pixels(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_lod", &extensionNames) ) - { - _GLEE_SGIS_texture_lod = GL_TRUE; - __GLeeLink_GL_SGIS_texture_lod(); - } - if (__GLeeCheckExtension("GL_SGIS_multisample", &extensionNames) ) - { - _GLEE_SGIS_multisample = GL_TRUE; - __GLeeLink_GL_SGIS_multisample(); - } - if (__GLeeCheckExtension("GL_EXT_rescale_normal", &extensionNames) ) - { - _GLEE_EXT_rescale_normal = GL_TRUE; - __GLeeLink_GL_EXT_rescale_normal(); - } - if (__GLeeCheckExtension("GL_EXT_vertex_array", &extensionNames) ) - { - _GLEE_EXT_vertex_array = GL_TRUE; - __GLeeLink_GL_EXT_vertex_array(); - } - if (__GLeeCheckExtension("GL_EXT_misc_attribute", &extensionNames) ) - { - _GLEE_EXT_misc_attribute = GL_TRUE; - __GLeeLink_GL_EXT_misc_attribute(); - } - if (__GLeeCheckExtension("GL_SGIS_generate_mipmap", &extensionNames) ) - { - _GLEE_SGIS_generate_mipmap = GL_TRUE; - __GLeeLink_GL_SGIS_generate_mipmap(); - } - if (__GLeeCheckExtension("GL_SGIX_clipmap", &extensionNames) ) - { - _GLEE_SGIX_clipmap = GL_TRUE; - __GLeeLink_GL_SGIX_clipmap(); - } - if (__GLeeCheckExtension("GL_SGIX_shadow", &extensionNames) ) - { - _GLEE_SGIX_shadow = GL_TRUE; - __GLeeLink_GL_SGIX_shadow(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_edge_clamp", &extensionNames) ) - { - _GLEE_SGIS_texture_edge_clamp = GL_TRUE; - __GLeeLink_GL_SGIS_texture_edge_clamp(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_border_clamp", &extensionNames) ) - { - _GLEE_SGIS_texture_border_clamp = GL_TRUE; - __GLeeLink_GL_SGIS_texture_border_clamp(); - } - if (__GLeeCheckExtension("GL_EXT_blend_minmax", &extensionNames) ) - { - _GLEE_EXT_blend_minmax = GL_TRUE; - __GLeeLink_GL_EXT_blend_minmax(); - } - if (__GLeeCheckExtension("GL_EXT_blend_subtract", &extensionNames) ) - { - _GLEE_EXT_blend_subtract = GL_TRUE; - __GLeeLink_GL_EXT_blend_subtract(); - } - if (__GLeeCheckExtension("GL_EXT_blend_logic_op", &extensionNames) ) - { - _GLEE_EXT_blend_logic_op = GL_TRUE; - __GLeeLink_GL_EXT_blend_logic_op(); - } - if (__GLeeCheckExtension("GL_SGIX_interlace", &extensionNames) ) - { - _GLEE_SGIX_interlace = GL_TRUE; - __GLeeLink_GL_SGIX_interlace(); - } - if (__GLeeCheckExtension("GL_SGIX_pixel_tiles", &extensionNames) ) - { - _GLEE_SGIX_pixel_tiles = GL_TRUE; - __GLeeLink_GL_SGIX_pixel_tiles(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_select", &extensionNames) ) - { - _GLEE_SGIS_texture_select = GL_TRUE; - __GLeeLink_GL_SGIS_texture_select(); - } - if (__GLeeCheckExtension("GL_SGIX_sprite", &extensionNames) ) - { - _GLEE_SGIX_sprite = GL_TRUE; - __GLeeLink_GL_SGIX_sprite(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_multi_buffer", &extensionNames) ) - { - _GLEE_SGIX_texture_multi_buffer = GL_TRUE; - __GLeeLink_GL_SGIX_texture_multi_buffer(); - } - if (__GLeeCheckExtension("GL_EXT_point_parameters", &extensionNames) ) - { - _GLEE_EXT_point_parameters = GL_TRUE; - __GLeeLink_GL_EXT_point_parameters(); - } - if (__GLeeCheckExtension("GL_SGIS_point_parameters", &extensionNames) ) - { - _GLEE_SGIS_point_parameters = GL_TRUE; - __GLeeLink_GL_SGIS_point_parameters(); - } - if (__GLeeCheckExtension("GL_SGIX_instruments", &extensionNames) ) - { - _GLEE_SGIX_instruments = GL_TRUE; - __GLeeLink_GL_SGIX_instruments(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_scale_bias", &extensionNames) ) - { - _GLEE_SGIX_texture_scale_bias = GL_TRUE; - __GLeeLink_GL_SGIX_texture_scale_bias(); - } - if (__GLeeCheckExtension("GL_SGIX_framezoom", &extensionNames) ) - { - _GLEE_SGIX_framezoom = GL_TRUE; - __GLeeLink_GL_SGIX_framezoom(); - } - if (__GLeeCheckExtension("GL_SGIX_tag_sample_buffer", &extensionNames) ) - { - _GLEE_SGIX_tag_sample_buffer = GL_TRUE; - __GLeeLink_GL_SGIX_tag_sample_buffer(); - } - if (__GLeeCheckExtension("GL_FfdMaskSGIX", &extensionNames) ) - { - _GLEE_FfdMaskSGIX = GL_TRUE; - __GLeeLink_GL_FfdMaskSGIX(); - } - if (__GLeeCheckExtension("GL_SGIX_polynomial_ffd", &extensionNames) ) - { - _GLEE_SGIX_polynomial_ffd = GL_TRUE; - __GLeeLink_GL_SGIX_polynomial_ffd(); - } - if (__GLeeCheckExtension("GL_SGIX_reference_plane", &extensionNames) ) - { - _GLEE_SGIX_reference_plane = GL_TRUE; - __GLeeLink_GL_SGIX_reference_plane(); - } - if (__GLeeCheckExtension("GL_SGIX_flush_raster", &extensionNames) ) - { - _GLEE_SGIX_flush_raster = GL_TRUE; - __GLeeLink_GL_SGIX_flush_raster(); - } - if (__GLeeCheckExtension("GL_SGIX_depth_texture", &extensionNames) ) - { - _GLEE_SGIX_depth_texture = GL_TRUE; - __GLeeLink_GL_SGIX_depth_texture(); - } - if (__GLeeCheckExtension("GL_SGIS_fog_function", &extensionNames) ) - { - _GLEE_SGIS_fog_function = GL_TRUE; - __GLeeLink_GL_SGIS_fog_function(); - } - if (__GLeeCheckExtension("GL_SGIX_fog_offset", &extensionNames) ) - { - _GLEE_SGIX_fog_offset = GL_TRUE; - __GLeeLink_GL_SGIX_fog_offset(); - } - if (__GLeeCheckExtension("GL_HP_image_transform", &extensionNames) ) - { - _GLEE_HP_image_transform = GL_TRUE; - __GLeeLink_GL_HP_image_transform(); - } - if (__GLeeCheckExtension("GL_HP_convolution_border_modes", &extensionNames) ) - { - _GLEE_HP_convolution_border_modes = GL_TRUE; - __GLeeLink_GL_HP_convolution_border_modes(); - } - if (__GLeeCheckExtension("GL_INGR_palette_buffer", &extensionNames) ) - { - _GLEE_INGR_palette_buffer = GL_TRUE; - __GLeeLink_GL_INGR_palette_buffer(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_add_env", &extensionNames) ) - { - _GLEE_SGIX_texture_add_env = GL_TRUE; - __GLeeLink_GL_SGIX_texture_add_env(); - } - if (__GLeeCheckExtension("GL_EXT_color_subtable", &extensionNames) ) - { - _GLEE_EXT_color_subtable = GL_TRUE; - __GLeeLink_GL_EXT_color_subtable(); - } - if (__GLeeCheckExtension("GL_PGI_vertex_hints", &extensionNames) ) - { - _GLEE_PGI_vertex_hints = GL_TRUE; - __GLeeLink_GL_PGI_vertex_hints(); - } - if (__GLeeCheckExtension("GL_PGI_misc_hints", &extensionNames) ) - { - _GLEE_PGI_misc_hints = GL_TRUE; - __GLeeLink_GL_PGI_misc_hints(); - } - if (__GLeeCheckExtension("GL_EXT_paletted_texture", &extensionNames) ) - { - _GLEE_EXT_paletted_texture = GL_TRUE; - __GLeeLink_GL_EXT_paletted_texture(); - } - if (__GLeeCheckExtension("GL_EXT_clip_volume_hint", &extensionNames) ) - { - _GLEE_EXT_clip_volume_hint = GL_TRUE; - __GLeeLink_GL_EXT_clip_volume_hint(); - } - if (__GLeeCheckExtension("GL_SGIX_list_priority", &extensionNames) ) - { - _GLEE_SGIX_list_priority = GL_TRUE; - __GLeeLink_GL_SGIX_list_priority(); - } - if (__GLeeCheckExtension("GL_SGIX_ir_instrument1", &extensionNames) ) - { - _GLEE_SGIX_ir_instrument1 = GL_TRUE; - __GLeeLink_GL_SGIX_ir_instrument1(); - } - if (__GLeeCheckExtension("GL_SGIX_calligraphic_fragment", &extensionNames) ) - { - _GLEE_SGIX_calligraphic_fragment = GL_TRUE; - __GLeeLink_GL_SGIX_calligraphic_fragment(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_lod_bias", &extensionNames) ) - { - _GLEE_SGIX_texture_lod_bias = GL_TRUE; - __GLeeLink_GL_SGIX_texture_lod_bias(); - } - if (__GLeeCheckExtension("GL_SGIX_shadow_ambient", &extensionNames) ) - { - _GLEE_SGIX_shadow_ambient = GL_TRUE; - __GLeeLink_GL_SGIX_shadow_ambient(); - } - if (__GLeeCheckExtension("GL_EXT_index_texture", &extensionNames) ) - { - _GLEE_EXT_index_texture = GL_TRUE; - __GLeeLink_GL_EXT_index_texture(); - } - if (__GLeeCheckExtension("GL_EXT_index_material", &extensionNames) ) - { - _GLEE_EXT_index_material = GL_TRUE; - __GLeeLink_GL_EXT_index_material(); - } - if (__GLeeCheckExtension("GL_EXT_index_func", &extensionNames) ) - { - _GLEE_EXT_index_func = GL_TRUE; - __GLeeLink_GL_EXT_index_func(); - } - if (__GLeeCheckExtension("GL_EXT_index_array_formats", &extensionNames) ) - { - _GLEE_EXT_index_array_formats = GL_TRUE; - __GLeeLink_GL_EXT_index_array_formats(); - } - if (__GLeeCheckExtension("GL_EXT_compiled_vertex_array", &extensionNames) ) - { - _GLEE_EXT_compiled_vertex_array = GL_TRUE; - __GLeeLink_GL_EXT_compiled_vertex_array(); - } - if (__GLeeCheckExtension("GL_EXT_cull_vertex", &extensionNames) ) - { - _GLEE_EXT_cull_vertex = GL_TRUE; - __GLeeLink_GL_EXT_cull_vertex(); - } - if (__GLeeCheckExtension("GL_SGIX_ycrcb", &extensionNames) ) - { - _GLEE_SGIX_ycrcb = GL_TRUE; - __GLeeLink_GL_SGIX_ycrcb(); - } - if (__GLeeCheckExtension("GL_SGIX_fragment_lighting", &extensionNames) ) - { - _GLEE_SGIX_fragment_lighting = GL_TRUE; - __GLeeLink_GL_SGIX_fragment_lighting(); - } - if (__GLeeCheckExtension("GL_IBM_rasterpos_clip", &extensionNames) ) - { - _GLEE_IBM_rasterpos_clip = GL_TRUE; - __GLeeLink_GL_IBM_rasterpos_clip(); - } - if (__GLeeCheckExtension("GL_HP_texture_lighting", &extensionNames) ) - { - _GLEE_HP_texture_lighting = GL_TRUE; - __GLeeLink_GL_HP_texture_lighting(); - } - if (__GLeeCheckExtension("GL_EXT_draw_range_elements", &extensionNames) ) - { - _GLEE_EXT_draw_range_elements = GL_TRUE; - __GLeeLink_GL_EXT_draw_range_elements(); - } - if (__GLeeCheckExtension("GL_WIN_phong_shading", &extensionNames) ) - { - _GLEE_WIN_phong_shading = GL_TRUE; - __GLeeLink_GL_WIN_phong_shading(); - } - if (__GLeeCheckExtension("GL_WIN_specular_fog", &extensionNames) ) - { - _GLEE_WIN_specular_fog = GL_TRUE; - __GLeeLink_GL_WIN_specular_fog(); - } - if (__GLeeCheckExtension("GL_EXT_light_texture", &extensionNames) ) - { - _GLEE_EXT_light_texture = GL_TRUE; - __GLeeLink_GL_EXT_light_texture(); - } - if (__GLeeCheckExtension("GL_SGIX_blend_alpha_minmax", &extensionNames) ) - { - _GLEE_SGIX_blend_alpha_minmax = GL_TRUE; - __GLeeLink_GL_SGIX_blend_alpha_minmax(); - } - if (__GLeeCheckExtension("GL_SGIX_impact_pixel_texture", &extensionNames) ) - { - _GLEE_SGIX_impact_pixel_texture = GL_TRUE; - __GLeeLink_GL_SGIX_impact_pixel_texture(); - } - if (__GLeeCheckExtension("GL_EXT_bgra", &extensionNames) ) - { - _GLEE_EXT_bgra = GL_TRUE; - __GLeeLink_GL_EXT_bgra(); - } - if (__GLeeCheckExtension("GL_SGIX_async", &extensionNames) ) - { - _GLEE_SGIX_async = GL_TRUE; - __GLeeLink_GL_SGIX_async(); - } - if (__GLeeCheckExtension("GL_SGIX_async_pixel", &extensionNames) ) - { - _GLEE_SGIX_async_pixel = GL_TRUE; - __GLeeLink_GL_SGIX_async_pixel(); - } - if (__GLeeCheckExtension("GL_SGIX_async_histogram", &extensionNames) ) - { - _GLEE_SGIX_async_histogram = GL_TRUE; - __GLeeLink_GL_SGIX_async_histogram(); - } - if (__GLeeCheckExtension("GL_INTEL_texture_scissor", &extensionNames) ) - { - _GLEE_INTEL_texture_scissor = GL_TRUE; - __GLeeLink_GL_INTEL_texture_scissor(); - } - if (__GLeeCheckExtension("GL_INTEL_parallel_arrays", &extensionNames) ) - { - _GLEE_INTEL_parallel_arrays = GL_TRUE; - __GLeeLink_GL_INTEL_parallel_arrays(); - } - if (__GLeeCheckExtension("GL_HP_occlusion_test", &extensionNames) ) - { - _GLEE_HP_occlusion_test = GL_TRUE; - __GLeeLink_GL_HP_occlusion_test(); - } - if (__GLeeCheckExtension("GL_EXT_pixel_transform", &extensionNames) ) - { - _GLEE_EXT_pixel_transform = GL_TRUE; - __GLeeLink_GL_EXT_pixel_transform(); - } - if (__GLeeCheckExtension("GL_EXT_pixel_transform_color_table", &extensionNames) ) - { - _GLEE_EXT_pixel_transform_color_table = GL_TRUE; - __GLeeLink_GL_EXT_pixel_transform_color_table(); - } - if (__GLeeCheckExtension("GL_EXT_shared_texture_palette", &extensionNames) ) - { - _GLEE_EXT_shared_texture_palette = GL_TRUE; - __GLeeLink_GL_EXT_shared_texture_palette(); - } - if (__GLeeCheckExtension("GL_EXT_separate_specular_color", &extensionNames) ) - { - _GLEE_EXT_separate_specular_color = GL_TRUE; - __GLeeLink_GL_EXT_separate_specular_color(); - } - if (__GLeeCheckExtension("GL_EXT_secondary_color", &extensionNames) ) - { - _GLEE_EXT_secondary_color = GL_TRUE; - __GLeeLink_GL_EXT_secondary_color(); - } - if (__GLeeCheckExtension("GL_EXT_texture_perturb_normal", &extensionNames) ) - { - _GLEE_EXT_texture_perturb_normal = GL_TRUE; - __GLeeLink_GL_EXT_texture_perturb_normal(); - } - if (__GLeeCheckExtension("GL_EXT_multi_draw_arrays", &extensionNames) ) - { - _GLEE_EXT_multi_draw_arrays = GL_TRUE; - __GLeeLink_GL_EXT_multi_draw_arrays(); - } - if (__GLeeCheckExtension("GL_EXT_fog_coord", &extensionNames) ) - { - _GLEE_EXT_fog_coord = GL_TRUE; - __GLeeLink_GL_EXT_fog_coord(); - } - if (__GLeeCheckExtension("GL_REND_screen_coordinates", &extensionNames) ) - { - _GLEE_REND_screen_coordinates = GL_TRUE; - __GLeeLink_GL_REND_screen_coordinates(); - } - if (__GLeeCheckExtension("GL_EXT_coordinate_frame", &extensionNames) ) - { - _GLEE_EXT_coordinate_frame = GL_TRUE; - __GLeeLink_GL_EXT_coordinate_frame(); - } - if (__GLeeCheckExtension("GL_EXT_texture_env_combine", &extensionNames) ) - { - _GLEE_EXT_texture_env_combine = GL_TRUE; - __GLeeLink_GL_EXT_texture_env_combine(); - } - if (__GLeeCheckExtension("GL_APPLE_specular_vector", &extensionNames) ) - { - _GLEE_APPLE_specular_vector = GL_TRUE; - __GLeeLink_GL_APPLE_specular_vector(); - } - if (__GLeeCheckExtension("GL_APPLE_transform_hint", &extensionNames) ) - { - _GLEE_APPLE_transform_hint = GL_TRUE; - __GLeeLink_GL_APPLE_transform_hint(); - } - if (__GLeeCheckExtension("GL_SGIX_fog_scale", &extensionNames) ) - { - _GLEE_SGIX_fog_scale = GL_TRUE; - __GLeeLink_GL_SGIX_fog_scale(); - } - if (__GLeeCheckExtension("GL_SUNX_constant_data", &extensionNames) ) - { - _GLEE_SUNX_constant_data = GL_TRUE; - __GLeeLink_GL_SUNX_constant_data(); - } - if (__GLeeCheckExtension("GL_SUN_global_alpha", &extensionNames) ) - { - _GLEE_SUN_global_alpha = GL_TRUE; - __GLeeLink_GL_SUN_global_alpha(); - } - if (__GLeeCheckExtension("GL_SUN_triangle_list", &extensionNames) ) - { - _GLEE_SUN_triangle_list = GL_TRUE; - __GLeeLink_GL_SUN_triangle_list(); - } - if (__GLeeCheckExtension("GL_SUN_vertex", &extensionNames) ) - { - _GLEE_SUN_vertex = GL_TRUE; - __GLeeLink_GL_SUN_vertex(); - } - if (__GLeeCheckExtension("GL_EXT_blend_func_separate", &extensionNames) ) - { - _GLEE_EXT_blend_func_separate = GL_TRUE; - __GLeeLink_GL_EXT_blend_func_separate(); - } - if (__GLeeCheckExtension("GL_INGR_color_clamp", &extensionNames) ) - { - _GLEE_INGR_color_clamp = GL_TRUE; - __GLeeLink_GL_INGR_color_clamp(); - } - if (__GLeeCheckExtension("GL_INGR_interlace_read", &extensionNames) ) - { - _GLEE_INGR_interlace_read = GL_TRUE; - __GLeeLink_GL_INGR_interlace_read(); - } - if (__GLeeCheckExtension("GL_EXT_stencil_wrap", &extensionNames) ) - { - _GLEE_EXT_stencil_wrap = GL_TRUE; - __GLeeLink_GL_EXT_stencil_wrap(); - } - if (__GLeeCheckExtension("GL_EXT_422_pixels", &extensionNames) ) - { - _GLEE_EXT_422_pixels = GL_TRUE; - __GLeeLink_GL_EXT_422_pixels(); - } - if (__GLeeCheckExtension("GL_NV_texgen_reflection", &extensionNames) ) - { - _GLEE_NV_texgen_reflection = GL_TRUE; - __GLeeLink_GL_NV_texgen_reflection(); - } - if (__GLeeCheckExtension("GL_EXT_texture_cube_map", &extensionNames) ) - { - _GLEE_EXT_texture_cube_map = GL_TRUE; - __GLeeLink_GL_EXT_texture_cube_map(); - } - if (__GLeeCheckExtension("GL_SUN_convolution_border_modes", &extensionNames) ) - { - _GLEE_SUN_convolution_border_modes = GL_TRUE; - __GLeeLink_GL_SUN_convolution_border_modes(); - } - if (__GLeeCheckExtension("GL_EXT_texture_env_add", &extensionNames) ) - { - _GLEE_EXT_texture_env_add = GL_TRUE; - __GLeeLink_GL_EXT_texture_env_add(); - } - if (__GLeeCheckExtension("GL_EXT_texture_lod_bias", &extensionNames) ) - { - _GLEE_EXT_texture_lod_bias = GL_TRUE; - __GLeeLink_GL_EXT_texture_lod_bias(); - } - if (__GLeeCheckExtension("GL_EXT_texture_filter_anisotropic", &extensionNames) ) - { - _GLEE_EXT_texture_filter_anisotropic = GL_TRUE; - __GLeeLink_GL_EXT_texture_filter_anisotropic(); - } - if (__GLeeCheckExtension("GL_EXT_vertex_weighting", &extensionNames) ) - { - _GLEE_EXT_vertex_weighting = GL_TRUE; - __GLeeLink_GL_EXT_vertex_weighting(); - } - if (__GLeeCheckExtension("GL_NV_light_max_exponent", &extensionNames) ) - { - _GLEE_NV_light_max_exponent = GL_TRUE; - __GLeeLink_GL_NV_light_max_exponent(); - } - if (__GLeeCheckExtension("GL_NV_vertex_array_range", &extensionNames) ) - { - _GLEE_NV_vertex_array_range = GL_TRUE; - __GLeeLink_GL_NV_vertex_array_range(); - } - if (__GLeeCheckExtension("GL_NV_register_combiners", &extensionNames) ) - { - _GLEE_NV_register_combiners = GL_TRUE; - __GLeeLink_GL_NV_register_combiners(); - } - if (__GLeeCheckExtension("GL_NV_fog_distance", &extensionNames) ) - { - _GLEE_NV_fog_distance = GL_TRUE; - __GLeeLink_GL_NV_fog_distance(); - } - if (__GLeeCheckExtension("GL_NV_texgen_emboss", &extensionNames) ) - { - _GLEE_NV_texgen_emboss = GL_TRUE; - __GLeeLink_GL_NV_texgen_emboss(); - } - if (__GLeeCheckExtension("GL_NV_blend_square", &extensionNames) ) - { - _GLEE_NV_blend_square = GL_TRUE; - __GLeeLink_GL_NV_blend_square(); - } - if (__GLeeCheckExtension("GL_NV_texture_env_combine4", &extensionNames) ) - { - _GLEE_NV_texture_env_combine4 = GL_TRUE; - __GLeeLink_GL_NV_texture_env_combine4(); - } - if (__GLeeCheckExtension("GL_MESA_resize_buffers", &extensionNames) ) - { - _GLEE_MESA_resize_buffers = GL_TRUE; - __GLeeLink_GL_MESA_resize_buffers(); - } - if (__GLeeCheckExtension("GL_MESA_window_pos", &extensionNames) ) - { - _GLEE_MESA_window_pos = GL_TRUE; - __GLeeLink_GL_MESA_window_pos(); - } - if (__GLeeCheckExtension("GL_EXT_texture_compression_s3tc", &extensionNames) ) - { - _GLEE_EXT_texture_compression_s3tc = GL_TRUE; - __GLeeLink_GL_EXT_texture_compression_s3tc(); - } - if (__GLeeCheckExtension("GL_IBM_cull_vertex", &extensionNames) ) - { - _GLEE_IBM_cull_vertex = GL_TRUE; - __GLeeLink_GL_IBM_cull_vertex(); - } - if (__GLeeCheckExtension("GL_IBM_multimode_draw_arrays", &extensionNames) ) - { - _GLEE_IBM_multimode_draw_arrays = GL_TRUE; - __GLeeLink_GL_IBM_multimode_draw_arrays(); - } - if (__GLeeCheckExtension("GL_IBM_vertex_array_lists", &extensionNames) ) - { - _GLEE_IBM_vertex_array_lists = GL_TRUE; - __GLeeLink_GL_IBM_vertex_array_lists(); - } - if (__GLeeCheckExtension("GL_SGIX_subsample", &extensionNames) ) - { - _GLEE_SGIX_subsample = GL_TRUE; - __GLeeLink_GL_SGIX_subsample(); - } - if (__GLeeCheckExtension("GL_SGIX_ycrcb_subsample", &extensionNames) ) - { - _GLEE_SGIX_ycrcb_subsample = GL_TRUE; - __GLeeLink_GL_SGIX_ycrcb_subsample(); - } - if (__GLeeCheckExtension("GL_SGIX_ycrcba", &extensionNames) ) - { - _GLEE_SGIX_ycrcba = GL_TRUE; - __GLeeLink_GL_SGIX_ycrcba(); - } - if (__GLeeCheckExtension("GL_SGI_depth_pass_instrument", &extensionNames) ) - { - _GLEE_SGI_depth_pass_instrument = GL_TRUE; - __GLeeLink_GL_SGI_depth_pass_instrument(); - } - if (__GLeeCheckExtension("GL_3DFX_texture_compression_FXT1", &extensionNames) ) - { - _GLEE_3DFX_texture_compression_FXT1 = GL_TRUE; - __GLeeLink_GL_3DFX_texture_compression_FXT1(); - } - if (__GLeeCheckExtension("GL_3DFX_multisample", &extensionNames) ) - { - _GLEE_3DFX_multisample = GL_TRUE; - __GLeeLink_GL_3DFX_multisample(); - } - if (__GLeeCheckExtension("GL_3DFX_tbuffer", &extensionNames) ) - { - _GLEE_3DFX_tbuffer = GL_TRUE; - __GLeeLink_GL_3DFX_tbuffer(); - } - if (__GLeeCheckExtension("GL_EXT_multisample", &extensionNames) ) - { - _GLEE_EXT_multisample = GL_TRUE; - __GLeeLink_GL_EXT_multisample(); - } - if (__GLeeCheckExtension("GL_SGIX_vertex_preclip", &extensionNames) ) - { - _GLEE_SGIX_vertex_preclip = GL_TRUE; - __GLeeLink_GL_SGIX_vertex_preclip(); - } - if (__GLeeCheckExtension("GL_SGIX_convolution_accuracy", &extensionNames) ) - { - _GLEE_SGIX_convolution_accuracy = GL_TRUE; - __GLeeLink_GL_SGIX_convolution_accuracy(); - } - if (__GLeeCheckExtension("GL_SGIX_resample", &extensionNames) ) - { - _GLEE_SGIX_resample = GL_TRUE; - __GLeeLink_GL_SGIX_resample(); - } - if (__GLeeCheckExtension("GL_SGIS_point_line_texgen", &extensionNames) ) - { - _GLEE_SGIS_point_line_texgen = GL_TRUE; - __GLeeLink_GL_SGIS_point_line_texgen(); - } - if (__GLeeCheckExtension("GL_SGIS_texture_color_mask", &extensionNames) ) - { - _GLEE_SGIS_texture_color_mask = GL_TRUE; - __GLeeLink_GL_SGIS_texture_color_mask(); - } - if (__GLeeCheckExtension("GL_EXT_texture_env_dot3", &extensionNames) ) - { - _GLEE_EXT_texture_env_dot3 = GL_TRUE; - __GLeeLink_GL_EXT_texture_env_dot3(); - } - if (__GLeeCheckExtension("GL_ATI_texture_mirror_once", &extensionNames) ) - { - _GLEE_ATI_texture_mirror_once = GL_TRUE; - __GLeeLink_GL_ATI_texture_mirror_once(); - } - if (__GLeeCheckExtension("GL_NV_fence", &extensionNames) ) - { - _GLEE_NV_fence = GL_TRUE; - __GLeeLink_GL_NV_fence(); - } - if (__GLeeCheckExtension("GL_IBM_texture_mirrored_repeat", &extensionNames) ) - { - _GLEE_IBM_texture_mirrored_repeat = GL_TRUE; - __GLeeLink_GL_IBM_texture_mirrored_repeat(); - } - if (__GLeeCheckExtension("GL_NV_evaluators", &extensionNames) ) - { - _GLEE_NV_evaluators = GL_TRUE; - __GLeeLink_GL_NV_evaluators(); - } - if (__GLeeCheckExtension("GL_NV_packed_depth_stencil", &extensionNames) ) - { - _GLEE_NV_packed_depth_stencil = GL_TRUE; - __GLeeLink_GL_NV_packed_depth_stencil(); - } - if (__GLeeCheckExtension("GL_NV_register_combiners2", &extensionNames) ) - { - _GLEE_NV_register_combiners2 = GL_TRUE; - __GLeeLink_GL_NV_register_combiners2(); - } - if (__GLeeCheckExtension("GL_NV_texture_compression_vtc", &extensionNames) ) - { - _GLEE_NV_texture_compression_vtc = GL_TRUE; - __GLeeLink_GL_NV_texture_compression_vtc(); - } - if (__GLeeCheckExtension("GL_NV_texture_rectangle", &extensionNames) ) - { - _GLEE_NV_texture_rectangle = GL_TRUE; - __GLeeLink_GL_NV_texture_rectangle(); - } - if (__GLeeCheckExtension("GL_NV_texture_shader", &extensionNames) ) - { - _GLEE_NV_texture_shader = GL_TRUE; - __GLeeLink_GL_NV_texture_shader(); - } - if (__GLeeCheckExtension("GL_NV_texture_shader2", &extensionNames) ) - { - _GLEE_NV_texture_shader2 = GL_TRUE; - __GLeeLink_GL_NV_texture_shader2(); - } - if (__GLeeCheckExtension("GL_NV_vertex_array_range2", &extensionNames) ) - { - _GLEE_NV_vertex_array_range2 = GL_TRUE; - __GLeeLink_GL_NV_vertex_array_range2(); - } - if (__GLeeCheckExtension("GL_NV_vertex_program", &extensionNames) ) - { - _GLEE_NV_vertex_program = GL_TRUE; - __GLeeLink_GL_NV_vertex_program(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_coordinate_clamp", &extensionNames) ) - { - _GLEE_SGIX_texture_coordinate_clamp = GL_TRUE; - __GLeeLink_GL_SGIX_texture_coordinate_clamp(); - } - if (__GLeeCheckExtension("GL_SGIX_scalebias_hint", &extensionNames) ) - { - _GLEE_SGIX_scalebias_hint = GL_TRUE; - __GLeeLink_GL_SGIX_scalebias_hint(); - } - if (__GLeeCheckExtension("GL_OML_interlace", &extensionNames) ) - { - _GLEE_OML_interlace = GL_TRUE; - __GLeeLink_GL_OML_interlace(); - } - if (__GLeeCheckExtension("GL_OML_subsample", &extensionNames) ) - { - _GLEE_OML_subsample = GL_TRUE; - __GLeeLink_GL_OML_subsample(); - } - if (__GLeeCheckExtension("GL_OML_resample", &extensionNames) ) - { - _GLEE_OML_resample = GL_TRUE; - __GLeeLink_GL_OML_resample(); - } - if (__GLeeCheckExtension("GL_NV_copy_depth_to_color", &extensionNames) ) - { - _GLEE_NV_copy_depth_to_color = GL_TRUE; - __GLeeLink_GL_NV_copy_depth_to_color(); - } - if (__GLeeCheckExtension("GL_ATI_envmap_bumpmap", &extensionNames) ) - { - _GLEE_ATI_envmap_bumpmap = GL_TRUE; - __GLeeLink_GL_ATI_envmap_bumpmap(); - } - if (__GLeeCheckExtension("GL_ATI_fragment_shader", &extensionNames) ) - { - _GLEE_ATI_fragment_shader = GL_TRUE; - __GLeeLink_GL_ATI_fragment_shader(); - } - if (__GLeeCheckExtension("GL_ATI_pn_triangles", &extensionNames) ) - { - _GLEE_ATI_pn_triangles = GL_TRUE; - __GLeeLink_GL_ATI_pn_triangles(); - } - if (__GLeeCheckExtension("GL_ATI_vertex_array_object", &extensionNames) ) - { - _GLEE_ATI_vertex_array_object = GL_TRUE; - __GLeeLink_GL_ATI_vertex_array_object(); - } - if (__GLeeCheckExtension("GL_EXT_vertex_shader", &extensionNames) ) - { - _GLEE_EXT_vertex_shader = GL_TRUE; - __GLeeLink_GL_EXT_vertex_shader(); - } - if (__GLeeCheckExtension("GL_ATI_vertex_streams", &extensionNames) ) - { - _GLEE_ATI_vertex_streams = GL_TRUE; - __GLeeLink_GL_ATI_vertex_streams(); - } - if (__GLeeCheckExtension("GL_ATI_element_array", &extensionNames) ) - { - _GLEE_ATI_element_array = GL_TRUE; - __GLeeLink_GL_ATI_element_array(); - } - if (__GLeeCheckExtension("GL_SUN_mesh_array", &extensionNames) ) - { - _GLEE_SUN_mesh_array = GL_TRUE; - __GLeeLink_GL_SUN_mesh_array(); - } - if (__GLeeCheckExtension("GL_SUN_slice_accum", &extensionNames) ) - { - _GLEE_SUN_slice_accum = GL_TRUE; - __GLeeLink_GL_SUN_slice_accum(); - } - if (__GLeeCheckExtension("GL_NV_multisample_filter_hint", &extensionNames) ) - { - _GLEE_NV_multisample_filter_hint = GL_TRUE; - __GLeeLink_GL_NV_multisample_filter_hint(); - } - if (__GLeeCheckExtension("GL_NV_depth_clamp", &extensionNames) ) - { - _GLEE_NV_depth_clamp = GL_TRUE; - __GLeeLink_GL_NV_depth_clamp(); - } - if (__GLeeCheckExtension("GL_NV_occlusion_query", &extensionNames) ) - { - _GLEE_NV_occlusion_query = GL_TRUE; - __GLeeLink_GL_NV_occlusion_query(); - } - if (__GLeeCheckExtension("GL_NV_point_sprite", &extensionNames) ) - { - _GLEE_NV_point_sprite = GL_TRUE; - __GLeeLink_GL_NV_point_sprite(); - } - if (__GLeeCheckExtension("GL_NV_texture_shader3", &extensionNames) ) - { - _GLEE_NV_texture_shader3 = GL_TRUE; - __GLeeLink_GL_NV_texture_shader3(); - } - if (__GLeeCheckExtension("GL_NV_vertex_program1_1", &extensionNames) ) - { - _GLEE_NV_vertex_program1_1 = GL_TRUE; - __GLeeLink_GL_NV_vertex_program1_1(); - } - if (__GLeeCheckExtension("GL_EXT_shadow_funcs", &extensionNames) ) - { - _GLEE_EXT_shadow_funcs = GL_TRUE; - __GLeeLink_GL_EXT_shadow_funcs(); - } - if (__GLeeCheckExtension("GL_EXT_stencil_two_side", &extensionNames) ) - { - _GLEE_EXT_stencil_two_side = GL_TRUE; - __GLeeLink_GL_EXT_stencil_two_side(); - } - if (__GLeeCheckExtension("GL_ATI_text_fragment_shader", &extensionNames) ) - { - _GLEE_ATI_text_fragment_shader = GL_TRUE; - __GLeeLink_GL_ATI_text_fragment_shader(); - } - if (__GLeeCheckExtension("GL_APPLE_client_storage", &extensionNames) ) - { - _GLEE_APPLE_client_storage = GL_TRUE; - __GLeeLink_GL_APPLE_client_storage(); - } - if (__GLeeCheckExtension("GL_APPLE_element_array", &extensionNames) ) - { - _GLEE_APPLE_element_array = GL_TRUE; - __GLeeLink_GL_APPLE_element_array(); - } - if (__GLeeCheckExtension("GL_APPLE_fence", &extensionNames) ) - { - _GLEE_APPLE_fence = GL_TRUE; - __GLeeLink_GL_APPLE_fence(); - } - if (__GLeeCheckExtension("GL_APPLE_vertex_array_object", &extensionNames) ) - { - _GLEE_APPLE_vertex_array_object = GL_TRUE; - __GLeeLink_GL_APPLE_vertex_array_object(); - } - if (__GLeeCheckExtension("GL_APPLE_vertex_array_range", &extensionNames) ) - { - _GLEE_APPLE_vertex_array_range = GL_TRUE; - __GLeeLink_GL_APPLE_vertex_array_range(); - } - if (__GLeeCheckExtension("GL_APPLE_ycbcr_422", &extensionNames) ) - { - _GLEE_APPLE_ycbcr_422 = GL_TRUE; - __GLeeLink_GL_APPLE_ycbcr_422(); - } - if (__GLeeCheckExtension("GL_S3_s3tc", &extensionNames) ) - { - _GLEE_S3_s3tc = GL_TRUE; - __GLeeLink_GL_S3_s3tc(); - } - if (__GLeeCheckExtension("GL_ATI_draw_buffers", &extensionNames) ) - { - _GLEE_ATI_draw_buffers = GL_TRUE; - __GLeeLink_GL_ATI_draw_buffers(); - } - if (__GLeeCheckExtension("GL_ATI_pixel_format_float", &extensionNames) ) - { - _GLEE_ATI_pixel_format_float = GL_TRUE; - __GLeeLink_GL_ATI_pixel_format_float(); - } - if (__GLeeCheckExtension("GL_ATI_texture_env_combine3", &extensionNames) ) - { - _GLEE_ATI_texture_env_combine3 = GL_TRUE; - __GLeeLink_GL_ATI_texture_env_combine3(); - } - if (__GLeeCheckExtension("GL_ATI_texture_float", &extensionNames) ) - { - _GLEE_ATI_texture_float = GL_TRUE; - __GLeeLink_GL_ATI_texture_float(); - } - if (__GLeeCheckExtension("GL_NV_float_buffer", &extensionNames) ) - { - _GLEE_NV_float_buffer = GL_TRUE; - __GLeeLink_GL_NV_float_buffer(); - } - if (__GLeeCheckExtension("GL_NV_fragment_program", &extensionNames) ) - { - _GLEE_NV_fragment_program = GL_TRUE; - __GLeeLink_GL_NV_fragment_program(); - } - if (__GLeeCheckExtension("GL_NV_half_float", &extensionNames) ) - { - _GLEE_NV_half_float = GL_TRUE; - __GLeeLink_GL_NV_half_float(); - } - if (__GLeeCheckExtension("GL_NV_pixel_data_range", &extensionNames) ) - { - _GLEE_NV_pixel_data_range = GL_TRUE; - __GLeeLink_GL_NV_pixel_data_range(); - } - if (__GLeeCheckExtension("GL_NV_primitive_restart", &extensionNames) ) - { - _GLEE_NV_primitive_restart = GL_TRUE; - __GLeeLink_GL_NV_primitive_restart(); - } - if (__GLeeCheckExtension("GL_NV_texture_expand_normal", &extensionNames) ) - { - _GLEE_NV_texture_expand_normal = GL_TRUE; - __GLeeLink_GL_NV_texture_expand_normal(); - } - if (__GLeeCheckExtension("GL_NV_vertex_program2", &extensionNames) ) - { - _GLEE_NV_vertex_program2 = GL_TRUE; - __GLeeLink_GL_NV_vertex_program2(); - } - if (__GLeeCheckExtension("GL_ATI_map_object_buffer", &extensionNames) ) - { - _GLEE_ATI_map_object_buffer = GL_TRUE; - __GLeeLink_GL_ATI_map_object_buffer(); - } - if (__GLeeCheckExtension("GL_ATI_separate_stencil", &extensionNames) ) - { - _GLEE_ATI_separate_stencil = GL_TRUE; - __GLeeLink_GL_ATI_separate_stencil(); - } - if (__GLeeCheckExtension("GL_ATI_vertex_attrib_array_object", &extensionNames) ) - { - _GLEE_ATI_vertex_attrib_array_object = GL_TRUE; - __GLeeLink_GL_ATI_vertex_attrib_array_object(); - } - if (__GLeeCheckExtension("GL_OES_byte_coordinates", &extensionNames) ) - { - _GLEE_OES_byte_coordinates = GL_TRUE; - __GLeeLink_GL_OES_byte_coordinates(); - } - if (__GLeeCheckExtension("GL_OES_fixed_point", &extensionNames) ) - { - _GLEE_OES_fixed_point = GL_TRUE; - __GLeeLink_GL_OES_fixed_point(); - } - if (__GLeeCheckExtension("GL_OES_single_precision", &extensionNames) ) - { - _GLEE_OES_single_precision = GL_TRUE; - __GLeeLink_GL_OES_single_precision(); - } - if (__GLeeCheckExtension("GL_OES_compressed_paletted_texture", &extensionNames) ) - { - _GLEE_OES_compressed_paletted_texture = GL_TRUE; - __GLeeLink_GL_OES_compressed_paletted_texture(); - } - if (__GLeeCheckExtension("GL_OES_read_format", &extensionNames) ) - { - _GLEE_OES_read_format = GL_TRUE; - __GLeeLink_GL_OES_read_format(); - } - if (__GLeeCheckExtension("GL_OES_query_matrix", &extensionNames) ) - { - _GLEE_OES_query_matrix = GL_TRUE; - __GLeeLink_GL_OES_query_matrix(); - } - if (__GLeeCheckExtension("GL_EXT_depth_bounds_test", &extensionNames) ) - { - _GLEE_EXT_depth_bounds_test = GL_TRUE; - __GLeeLink_GL_EXT_depth_bounds_test(); - } - if (__GLeeCheckExtension("GL_EXT_texture_mirror_clamp", &extensionNames) ) - { - _GLEE_EXT_texture_mirror_clamp = GL_TRUE; - __GLeeLink_GL_EXT_texture_mirror_clamp(); - } - if (__GLeeCheckExtension("GL_EXT_blend_equation_separate", &extensionNames) ) - { - _GLEE_EXT_blend_equation_separate = GL_TRUE; - __GLeeLink_GL_EXT_blend_equation_separate(); - } - if (__GLeeCheckExtension("GL_MESA_pack_invert", &extensionNames) ) - { - _GLEE_MESA_pack_invert = GL_TRUE; - __GLeeLink_GL_MESA_pack_invert(); - } - if (__GLeeCheckExtension("GL_MESA_ycbcr_texture", &extensionNames) ) - { - _GLEE_MESA_ycbcr_texture = GL_TRUE; - __GLeeLink_GL_MESA_ycbcr_texture(); - } - if (__GLeeCheckExtension("GL_EXT_pixel_buffer_object", &extensionNames) ) - { - _GLEE_EXT_pixel_buffer_object = GL_TRUE; - __GLeeLink_GL_EXT_pixel_buffer_object(); - } - if (__GLeeCheckExtension("GL_NV_fragment_program_option", &extensionNames) ) - { - _GLEE_NV_fragment_program_option = GL_TRUE; - __GLeeLink_GL_NV_fragment_program_option(); - } - if (__GLeeCheckExtension("GL_NV_fragment_program2", &extensionNames) ) - { - _GLEE_NV_fragment_program2 = GL_TRUE; - __GLeeLink_GL_NV_fragment_program2(); - } - if (__GLeeCheckExtension("GL_NV_vertex_program2_option", &extensionNames) ) - { - _GLEE_NV_vertex_program2_option = GL_TRUE; - __GLeeLink_GL_NV_vertex_program2_option(); - } - if (__GLeeCheckExtension("GL_NV_vertex_program3", &extensionNames) ) - { - _GLEE_NV_vertex_program3 = GL_TRUE; - __GLeeLink_GL_NV_vertex_program3(); - } - if (__GLeeCheckExtension("GL_EXT_framebuffer_object", &extensionNames) ) - { - _GLEE_EXT_framebuffer_object = GL_TRUE; - __GLeeLink_GL_EXT_framebuffer_object(); - } - if (__GLeeCheckExtension("GL_GREMEDY_string_marker", &extensionNames) ) - { - _GLEE_GREMEDY_string_marker = GL_TRUE; - __GLeeLink_GL_GREMEDY_string_marker(); - } - if (__GLeeCheckExtension("GL_EXT_packed_depth_stencil", &extensionNames) ) - { - _GLEE_EXT_packed_depth_stencil = GL_TRUE; - __GLeeLink_GL_EXT_packed_depth_stencil(); - } - if (__GLeeCheckExtension("GL_EXT_stencil_clear_tag", &extensionNames) ) - { - _GLEE_EXT_stencil_clear_tag = GL_TRUE; - __GLeeLink_GL_EXT_stencil_clear_tag(); - } - if (__GLeeCheckExtension("GL_EXT_texture_sRGB", &extensionNames) ) - { - _GLEE_EXT_texture_sRGB = GL_TRUE; - __GLeeLink_GL_EXT_texture_sRGB(); - } - if (__GLeeCheckExtension("GL_EXT_framebuffer_blit", &extensionNames) ) - { - _GLEE_EXT_framebuffer_blit = GL_TRUE; - __GLeeLink_GL_EXT_framebuffer_blit(); - } - if (__GLeeCheckExtension("GL_EXT_framebuffer_multisample", &extensionNames) ) - { - _GLEE_EXT_framebuffer_multisample = GL_TRUE; - __GLeeLink_GL_EXT_framebuffer_multisample(); - } - if (__GLeeCheckExtension("GL_MESAX_texture_stack", &extensionNames) ) - { - _GLEE_MESAX_texture_stack = GL_TRUE; - __GLeeLink_GL_MESAX_texture_stack(); - } - if (__GLeeCheckExtension("GL_EXT_timer_query", &extensionNames) ) - { - _GLEE_EXT_timer_query = GL_TRUE; - __GLeeLink_GL_EXT_timer_query(); - } - if (__GLeeCheckExtension("GL_EXT_gpu_program_parameters", &extensionNames) ) - { - _GLEE_EXT_gpu_program_parameters = GL_TRUE; - __GLeeLink_GL_EXT_gpu_program_parameters(); - } - if (__GLeeCheckExtension("GL_APPLE_flush_buffer_range", &extensionNames) ) - { - _GLEE_APPLE_flush_buffer_range = GL_TRUE; - __GLeeLink_GL_APPLE_flush_buffer_range(); - } - if (__GLeeCheckExtension("GL_EXT_gpu_shader4", &extensionNames) ) - { - _GLEE_EXT_gpu_shader4 = GL_TRUE; - __GLeeLink_GL_EXT_gpu_shader4(); - } - if (__GLeeCheckExtension("GL_EXT_draw_instanced", &extensionNames) ) - { - _GLEE_EXT_draw_instanced = GL_TRUE; - __GLeeLink_GL_EXT_draw_instanced(); - } - if (__GLeeCheckExtension("GL_EXT_packed_float", &extensionNames) ) - { - _GLEE_EXT_packed_float = GL_TRUE; - __GLeeLink_GL_EXT_packed_float(); - } - if (__GLeeCheckExtension("GL_EXT_texture_array", &extensionNames) ) - { - _GLEE_EXT_texture_array = GL_TRUE; - __GLeeLink_GL_EXT_texture_array(); - } - if (__GLeeCheckExtension("GL_EXT_texture_buffer_object", &extensionNames) ) - { - _GLEE_EXT_texture_buffer_object = GL_TRUE; - __GLeeLink_GL_EXT_texture_buffer_object(); - } - if (__GLeeCheckExtension("GL_EXT_texture_compression_latc", &extensionNames) ) - { - _GLEE_EXT_texture_compression_latc = GL_TRUE; - __GLeeLink_GL_EXT_texture_compression_latc(); - } - if (__GLeeCheckExtension("GL_EXT_texture_compression_rgtc", &extensionNames) ) - { - _GLEE_EXT_texture_compression_rgtc = GL_TRUE; - __GLeeLink_GL_EXT_texture_compression_rgtc(); - } - if (__GLeeCheckExtension("GL_EXT_texture_shared_exponent", &extensionNames) ) - { - _GLEE_EXT_texture_shared_exponent = GL_TRUE; - __GLeeLink_GL_EXT_texture_shared_exponent(); - } - if (__GLeeCheckExtension("GL_NV_depth_buffer_float", &extensionNames) ) - { - _GLEE_NV_depth_buffer_float = GL_TRUE; - __GLeeLink_GL_NV_depth_buffer_float(); - } - if (__GLeeCheckExtension("GL_NV_framebuffer_multisample_coverage", &extensionNames) ) - { - _GLEE_NV_framebuffer_multisample_coverage = GL_TRUE; - __GLeeLink_GL_NV_framebuffer_multisample_coverage(); - } - if (__GLeeCheckExtension("GL_EXT_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_EXT_framebuffer_sRGB = GL_TRUE; - __GLeeLink_GL_EXT_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("GL_NV_geometry_shader4", &extensionNames) ) - { - _GLEE_NV_geometry_shader4 = GL_TRUE; - __GLeeLink_GL_NV_geometry_shader4(); - } - if (__GLeeCheckExtension("GL_NV_parameter_buffer_object", &extensionNames) ) - { - _GLEE_NV_parameter_buffer_object = GL_TRUE; - __GLeeLink_GL_NV_parameter_buffer_object(); - } - if (__GLeeCheckExtension("GL_EXT_draw_buffers2", &extensionNames) ) - { - _GLEE_EXT_draw_buffers2 = GL_TRUE; - __GLeeLink_GL_EXT_draw_buffers2(); - } - if (__GLeeCheckExtension("GL_NV_transform_feedback", &extensionNames) ) - { - _GLEE_NV_transform_feedback = GL_TRUE; - __GLeeLink_GL_NV_transform_feedback(); - } - if (__GLeeCheckExtension("GL_EXT_bindable_uniform", &extensionNames) ) - { - _GLEE_EXT_bindable_uniform = GL_TRUE; - __GLeeLink_GL_EXT_bindable_uniform(); - } - if (__GLeeCheckExtension("GL_EXT_texture_integer", &extensionNames) ) - { - _GLEE_EXT_texture_integer = GL_TRUE; - __GLeeLink_GL_EXT_texture_integer(); - } - if (__GLeeCheckExtension("GL_GREMEDY_frame_terminator", &extensionNames) ) - { - _GLEE_GREMEDY_frame_terminator = GL_TRUE; - __GLeeLink_GL_GREMEDY_frame_terminator(); - } - if (__GLeeCheckExtension("GL_NV_conditional_render", &extensionNames) ) - { - _GLEE_NV_conditional_render = GL_TRUE; - __GLeeLink_GL_NV_conditional_render(); - } - if (__GLeeCheckExtension("GL_NV_present_video", &extensionNames) ) - { - _GLEE_NV_present_video = GL_TRUE; - __GLeeLink_GL_NV_present_video(); - } - if (__GLeeCheckExtension("GL_EXT_transform_feedback", &extensionNames) ) - { - _GLEE_EXT_transform_feedback = GL_TRUE; - __GLeeLink_GL_EXT_transform_feedback(); - } - if (__GLeeCheckExtension("GL_EXT_direct_state_access", &extensionNames) ) - { - _GLEE_EXT_direct_state_access = GL_TRUE; - __GLeeLink_GL_EXT_direct_state_access(); - } - if (__GLeeCheckExtension("GL_EXT_vertex_array_bgra", &extensionNames) ) - { - _GLEE_EXT_vertex_array_bgra = GL_TRUE; - __GLeeLink_GL_EXT_vertex_array_bgra(); - } - if (__GLeeCheckExtension("GL_EXT_texture_swizzle", &extensionNames) ) - { - _GLEE_EXT_texture_swizzle = GL_TRUE; - __GLeeLink_GL_EXT_texture_swizzle(); - } - if (__GLeeCheckExtension("GL_NV_explicit_multisample", &extensionNames) ) - { - _GLEE_NV_explicit_multisample = GL_TRUE; - __GLeeLink_GL_NV_explicit_multisample(); - } - if (__GLeeCheckExtension("GL_NV_transform_feedback2", &extensionNames) ) - { - _GLEE_NV_transform_feedback2 = GL_TRUE; - __GLeeLink_GL_NV_transform_feedback2(); - } - if (__GLeeCheckExtension("GL_ATI_meminfo", &extensionNames) ) - { - _GLEE_ATI_meminfo = GL_TRUE; - __GLeeLink_GL_ATI_meminfo(); - } - if (__GLeeCheckExtension("GL_AMD_performance_monitor", &extensionNames) ) - { - _GLEE_AMD_performance_monitor = GL_TRUE; - __GLeeLink_GL_AMD_performance_monitor(); - } - if (__GLeeCheckExtension("GL_AMD_texture_texture4", &extensionNames) ) - { - _GLEE_AMD_texture_texture4 = GL_TRUE; - __GLeeLink_GL_AMD_texture_texture4(); - } - if (__GLeeCheckExtension("GL_AMD_vertex_shader_tesselator", &extensionNames) ) - { - _GLEE_AMD_vertex_shader_tesselator = GL_TRUE; - __GLeeLink_GL_AMD_vertex_shader_tesselator(); - } - if (__GLeeCheckExtension("GL_EXT_provoking_vertex", &extensionNames) ) - { - _GLEE_EXT_provoking_vertex = GL_TRUE; - __GLeeLink_GL_EXT_provoking_vertex(); - } - if (__GLeeCheckExtension("GL_EXT_texture_snorm", &extensionNames) ) - { - _GLEE_EXT_texture_snorm = GL_TRUE; - __GLeeLink_GL_EXT_texture_snorm(); - } - if (__GLeeCheckExtension("GL_AMD_draw_buffers_blend", &extensionNames) ) - { - _GLEE_AMD_draw_buffers_blend = GL_TRUE; - __GLeeLink_GL_AMD_draw_buffers_blend(); - } - if (__GLeeCheckExtension("GL_APPLE_texture_range", &extensionNames) ) - { - _GLEE_APPLE_texture_range = GL_TRUE; - __GLeeLink_GL_APPLE_texture_range(); - } - if (__GLeeCheckExtension("GL_APPLE_float_pixels", &extensionNames) ) - { - _GLEE_APPLE_float_pixels = GL_TRUE; - __GLeeLink_GL_APPLE_float_pixels(); - } - if (__GLeeCheckExtension("GL_APPLE_vertex_program_evaluators", &extensionNames) ) - { - _GLEE_APPLE_vertex_program_evaluators = GL_TRUE; - __GLeeLink_GL_APPLE_vertex_program_evaluators(); - } - if (__GLeeCheckExtension("GL_APPLE_aux_depth_stencil", &extensionNames) ) - { - _GLEE_APPLE_aux_depth_stencil = GL_TRUE; - __GLeeLink_GL_APPLE_aux_depth_stencil(); - } - if (__GLeeCheckExtension("GL_APPLE_object_purgeable", &extensionNames) ) - { - _GLEE_APPLE_object_purgeable = GL_TRUE; - __GLeeLink_GL_APPLE_object_purgeable(); - } - if (__GLeeCheckExtension("GL_APPLE_row_bytes", &extensionNames) ) - { - _GLEE_APPLE_row_bytes = GL_TRUE; - __GLeeLink_GL_APPLE_row_bytes(); - } - if (__GLeeCheckExtension("GL_APPLE_rgb_422", &extensionNames) ) - { - _GLEE_APPLE_rgb_422 = GL_TRUE; - __GLeeLink_GL_APPLE_rgb_422(); - } - if (__GLeeCheckExtension("GL_NV_video_capture", &extensionNames) ) - { - _GLEE_NV_video_capture = GL_TRUE; - __GLeeLink_GL_NV_video_capture(); - } - if (__GLeeCheckExtension("GL_NV_copy_image", &extensionNames) ) - { - _GLEE_NV_copy_image = GL_TRUE; - __GLeeLink_GL_NV_copy_image(); - } - if (__GLeeCheckExtension("GL_EXT_separate_shader_objects", &extensionNames) ) - { - _GLEE_EXT_separate_shader_objects = GL_TRUE; - __GLeeLink_GL_EXT_separate_shader_objects(); - } - if (__GLeeCheckExtension("GL_NV_parameter_buffer_object2", &extensionNames) ) - { - _GLEE_NV_parameter_buffer_object2 = GL_TRUE; - __GLeeLink_GL_NV_parameter_buffer_object2(); - } - if (__GLeeCheckExtension("GL_NV_shader_buffer_load", &extensionNames) ) - { - _GLEE_NV_shader_buffer_load = GL_TRUE; - __GLeeLink_GL_NV_shader_buffer_load(); - } - if (__GLeeCheckExtension("GL_NV_vertex_buffer_unified_memory", &extensionNames) ) - { - _GLEE_NV_vertex_buffer_unified_memory = GL_TRUE; - __GLeeLink_GL_NV_vertex_buffer_unified_memory(); - } - if (__GLeeCheckExtension("GL_NV_texture_barrier", &extensionNames) ) - { - _GLEE_NV_texture_barrier = GL_TRUE; - __GLeeLink_GL_NV_texture_barrier(); - } - if (__GLeeCheckExtension("GL_AMD_shader_stencil_export", &extensionNames) ) - { - _GLEE_AMD_shader_stencil_export = GL_TRUE; - __GLeeLink_GL_AMD_shader_stencil_export(); - } - if (__GLeeCheckExtension("GL_AMD_seamless_cubemap_per_texture", &extensionNames) ) - { - _GLEE_AMD_seamless_cubemap_per_texture = GL_TRUE; - __GLeeLink_GL_AMD_seamless_cubemap_per_texture(); - } - if (__GLeeCheckExtension("GL_AMD_conservative_depth", &extensionNames) ) - { - _GLEE_AMD_conservative_depth = GL_TRUE; - __GLeeLink_GL_AMD_conservative_depth(); - } - if (__GLeeCheckExtension("GL_EXT_shader_image_load_store", &extensionNames) ) - { - _GLEE_EXT_shader_image_load_store = GL_TRUE; - __GLeeLink_GL_EXT_shader_image_load_store(); - } - if (__GLeeCheckExtension("GL_EXT_vertex_attrib_64bit", &extensionNames) ) - { - _GLEE_EXT_vertex_attrib_64bit = GL_TRUE; - __GLeeLink_GL_EXT_vertex_attrib_64bit(); - } - if (__GLeeCheckExtension("GL_NV_gpu_program5", &extensionNames) ) - { - _GLEE_NV_gpu_program5 = GL_TRUE; - __GLeeLink_GL_NV_gpu_program5(); - } - if (__GLeeCheckExtension("GL_NV_gpu_shader5", &extensionNames) ) - { - _GLEE_NV_gpu_shader5 = GL_TRUE; - __GLeeLink_GL_NV_gpu_shader5(); - } - if (__GLeeCheckExtension("GL_NV_shader_buffer_store", &extensionNames) ) - { - _GLEE_NV_shader_buffer_store = GL_TRUE; - __GLeeLink_GL_NV_shader_buffer_store(); - } - if (__GLeeCheckExtension("GL_NV_tessellation_program5", &extensionNames) ) - { - _GLEE_NV_tessellation_program5 = GL_TRUE; - __GLeeLink_GL_NV_tessellation_program5(); - } - if (__GLeeCheckExtension("GL_NV_vertex_attrib_integer_64bit", &extensionNames) ) - { - _GLEE_NV_vertex_attrib_integer_64bit = GL_TRUE; - __GLeeLink_GL_NV_vertex_attrib_integer_64bit(); - } - if (__GLeeCheckExtension("GL_NV_multisample_coverage", &extensionNames) ) - { - _GLEE_NV_multisample_coverage = GL_TRUE; - __GLeeLink_GL_NV_multisample_coverage(); - } - if (__GLeeCheckExtension("GL_AMD_name_gen_delete", &extensionNames) ) - { - _GLEE_AMD_name_gen_delete = GL_TRUE; - __GLeeLink_GL_AMD_name_gen_delete(); - } - if (__GLeeCheckExtension("GL_AMD_debug_output", &extensionNames) ) - { - _GLEE_AMD_debug_output = GL_TRUE; - __GLeeLink_GL_AMD_debug_output(); - } - if (__GLeeCheckExtension("GL_AMD_transform_feedback3_lines_triangles", &extensionNames) ) - { - _GLEE_AMD_transform_feedback3_lines_triangles = GL_TRUE; - __GLeeLink_GL_AMD_transform_feedback3_lines_triangles(); - } - if (__GLeeCheckExtension("GL_AMD_depth_clamp_separate", &extensionNames) ) - { - _GLEE_AMD_depth_clamp_separate = GL_TRUE; - __GLeeLink_GL_AMD_depth_clamp_separate(); - } - if (__GLeeCheckExtension("GL_EXT_texture_sRGB_decode", &extensionNames) ) - { - _GLEE_EXT_texture_sRGB_decode = GL_TRUE; - __GLeeLink_GL_EXT_texture_sRGB_decode(); - } - if (__GLeeCheckExtension("GL_NV_texture_multisample", &extensionNames) ) - { - _GLEE_NV_texture_multisample = GL_TRUE; - __GLeeLink_GL_NV_texture_multisample(); - } - if (__GLeeCheckExtension("GL_AMD_blend_minmax_factor", &extensionNames) ) - { - _GLEE_AMD_blend_minmax_factor = GL_TRUE; - __GLeeLink_GL_AMD_blend_minmax_factor(); - } - if (__GLeeCheckExtension("GL_AMD_sample_positions", &extensionNames) ) - { - _GLEE_AMD_sample_positions = GL_TRUE; - __GLeeLink_GL_AMD_sample_positions(); - } - if (__GLeeCheckExtension("GL_EXT_x11_sync_object", &extensionNames) ) - { - _GLEE_EXT_x11_sync_object = GL_TRUE; - __GLeeLink_GL_EXT_x11_sync_object(); - } - if (__GLeeCheckExtension("GL_AMD_multi_draw_indirect", &extensionNames) ) - { - _GLEE_AMD_multi_draw_indirect = GL_TRUE; - __GLeeLink_GL_AMD_multi_draw_indirect(); - } - if (__GLeeCheckExtension("GL_EXT_framebuffer_multisample_blit_scaled", &extensionNames) ) - { - _GLEE_EXT_framebuffer_multisample_blit_scaled = GL_TRUE; - __GLeeLink_GL_EXT_framebuffer_multisample_blit_scaled(); - } - if (__GLeeCheckExtension("GL_NV_path_rendering", &extensionNames) ) - { - _GLEE_NV_path_rendering = GL_TRUE; - __GLeeLink_GL_NV_path_rendering(); - } - if (__GLeeCheckExtension("GL_AMD_pinned_memory", &extensionNames) ) - { - _GLEE_AMD_pinned_memory = GL_TRUE; - __GLeeLink_GL_AMD_pinned_memory(); - } - if (__GLeeCheckExtension("GL_AMD_stencil_operation_extended", &extensionNames) ) - { - _GLEE_AMD_stencil_operation_extended = GL_TRUE; - __GLeeLink_GL_AMD_stencil_operation_extended(); - } - if (__GLeeCheckExtension("GL_AMD_vertex_shader_viewport_index", &extensionNames) ) - { - _GLEE_AMD_vertex_shader_viewport_index = GL_TRUE; - __GLeeLink_GL_AMD_vertex_shader_viewport_index(); - } - if (__GLeeCheckExtension("GL_AMD_vertex_shader_layer", &extensionNames) ) - { - _GLEE_AMD_vertex_shader_layer = GL_TRUE; - __GLeeLink_GL_AMD_vertex_shader_layer(); - } - if (__GLeeCheckExtension("GL_NV_bindless_texture", &extensionNames) ) - { - _GLEE_NV_bindless_texture = GL_TRUE; - __GLeeLink_GL_NV_bindless_texture(); - } - if (__GLeeCheckExtension("GL_NV_shader_atomic_float", &extensionNames) ) - { - _GLEE_NV_shader_atomic_float = GL_TRUE; - __GLeeLink_GL_NV_shader_atomic_float(); - } - if (__GLeeCheckExtension("GL_AMD_query_buffer_object", &extensionNames) ) - { - _GLEE_AMD_query_buffer_object = GL_TRUE; - __GLeeLink_GL_AMD_query_buffer_object(); - } - if (__GLeeCheckExtension("GL_NV_compute_program5", &extensionNames) ) - { - _GLEE_NV_compute_program5 = GL_TRUE; - __GLeeLink_GL_NV_compute_program5(); - } - if (__GLeeCheckExtension("GL_NV_shader_storage_buffer_object", &extensionNames) ) - { - _GLEE_NV_shader_storage_buffer_object = GL_TRUE; - __GLeeLink_GL_NV_shader_storage_buffer_object(); - } - if (__GLeeCheckExtension("GL_NV_shader_atomic_counters", &extensionNames) ) - { - _GLEE_NV_shader_atomic_counters = GL_TRUE; - __GLeeLink_GL_NV_shader_atomic_counters(); - } - if (__GLeeCheckExtension("GL_NV_deep_texture3D", &extensionNames) ) - { - _GLEE_NV_deep_texture3D = GL_TRUE; - __GLeeLink_GL_NV_deep_texture3D(); - } - if (__GLeeCheckExtension("GL_NVX_conditional_render", &extensionNames) ) - { - _GLEE_NVX_conditional_render = GL_TRUE; - __GLeeLink_GL_NVX_conditional_render(); - } - if (__GLeeCheckExtension("GL_AMD_sparse_texture", &extensionNames) ) - { - _GLEE_AMD_sparse_texture = GL_TRUE; - __GLeeLink_GL_AMD_sparse_texture(); - } - if (__GLeeCheckExtension("GL_AMD_shader_trinary_minmax", &extensionNames) ) - { - _GLEE_AMD_shader_trinary_minmax = GL_TRUE; - __GLeeLink_GL_AMD_shader_trinary_minmax(); - } - if (__GLeeCheckExtension("GL_INTEL_map_texture", &extensionNames) ) - { - _GLEE_INTEL_map_texture = GL_TRUE; - __GLeeLink_GL_INTEL_map_texture(); - } - if (__GLeeCheckExtension("GL_NV_draw_texture", &extensionNames) ) - { - _GLEE_NV_draw_texture = GL_TRUE; - __GLeeLink_GL_NV_draw_texture(); - } - if (__GLeeCheckExtension("GL_SGIX_texture_select", &extensionNames) ) - { - _GLEE_SGIX_texture_select = GL_TRUE; - __GLeeLink_GL_SGIX_texture_select(); - } - if (__GLeeCheckExtension("GL_INGR_blend_func_separate", &extensionNames) ) - { - _GLEE_INGR_blend_func_separate = GL_TRUE; - __GLeeLink_GL_INGR_blend_func_separate(); - } - if (__GLeeCheckExtension("GL_SGIX_depth_pass_instrument", &extensionNames) ) - { - _GLEE_SGIX_depth_pass_instrument = GL_TRUE; - __GLeeLink_GL_SGIX_depth_pass_instrument(); - } - if (__GLeeCheckExtension("GL_SGIX_igloo_interface", &extensionNames) ) - { - _GLEE_SGIX_igloo_interface = GL_TRUE; - __GLeeLink_GL_SGIX_igloo_interface(); - } -#ifdef _WIN32 - if (__GLeeCheckExtension("WGL_ARB_buffer_region", &extensionNames) ) - { - _GLEE_WGL_ARB_buffer_region = GL_TRUE; - __GLeeLink_WGL_ARB_buffer_region(); - } - if (__GLeeCheckExtension("WGL_ARB_multisample", &extensionNames) ) - { - _GLEE_WGL_ARB_multisample = GL_TRUE; - __GLeeLink_WGL_ARB_multisample(); - } - if (__GLeeCheckExtension("WGL_ARB_extensions_string", &extensionNames) ) - { - _GLEE_WGL_ARB_extensions_string = GL_TRUE; - __GLeeLink_WGL_ARB_extensions_string(); - } - if (__GLeeCheckExtension("WGL_ARB_pixel_format", &extensionNames) ) - { - _GLEE_WGL_ARB_pixel_format = GL_TRUE; - __GLeeLink_WGL_ARB_pixel_format(); - } - if (__GLeeCheckExtension("WGL_ARB_make_current_read", &extensionNames) ) - { - _GLEE_WGL_ARB_make_current_read = GL_TRUE; - __GLeeLink_WGL_ARB_make_current_read(); - } - if (__GLeeCheckExtension("WGL_ARB_pbuffer", &extensionNames) ) - { - _GLEE_WGL_ARB_pbuffer = GL_TRUE; - __GLeeLink_WGL_ARB_pbuffer(); - } - if (__GLeeCheckExtension("WGL_ARB_render_texture", &extensionNames) ) - { - _GLEE_WGL_ARB_render_texture = GL_TRUE; - __GLeeLink_WGL_ARB_render_texture(); - } - if (__GLeeCheckExtension("WGL_ARB_pixel_format_float", &extensionNames) ) - { - _GLEE_WGL_ARB_pixel_format_float = GL_TRUE; - __GLeeLink_WGL_ARB_pixel_format_float(); - } - if (__GLeeCheckExtension("WGL_ARB_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_WGL_ARB_framebuffer_sRGB = GL_TRUE; - __GLeeLink_WGL_ARB_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("WGL_ARB_create_context", &extensionNames) ) - { - _GLEE_WGL_ARB_create_context = GL_TRUE; - __GLeeLink_WGL_ARB_create_context(); - } - if (__GLeeCheckExtension("WGL_ARB_create_context_profile", &extensionNames) ) - { - _GLEE_WGL_ARB_create_context_profile = GL_TRUE; - __GLeeLink_WGL_ARB_create_context_profile(); - } - if (__GLeeCheckExtension("WGL_ARB_create_context_robustness", &extensionNames) ) - { - _GLEE_WGL_ARB_create_context_robustness = GL_TRUE; - __GLeeLink_WGL_ARB_create_context_robustness(); - } - if (__GLeeCheckExtension("WGL_EXT_make_current_read", &extensionNames) ) - { - _GLEE_WGL_EXT_make_current_read = GL_TRUE; - __GLeeLink_WGL_EXT_make_current_read(); - } - if (__GLeeCheckExtension("WGL_EXT_pixel_format", &extensionNames) ) - { - _GLEE_WGL_EXT_pixel_format = GL_TRUE; - __GLeeLink_WGL_EXT_pixel_format(); - } - if (__GLeeCheckExtension("WGL_EXT_pbuffer", &extensionNames) ) - { - _GLEE_WGL_EXT_pbuffer = GL_TRUE; - __GLeeLink_WGL_EXT_pbuffer(); - } - if (__GLeeCheckExtension("WGL_EXT_depth_float", &extensionNames) ) - { - _GLEE_WGL_EXT_depth_float = GL_TRUE; - __GLeeLink_WGL_EXT_depth_float(); - } - if (__GLeeCheckExtension("WGL_3DFX_multisample", &extensionNames) ) - { - _GLEE_WGL_3DFX_multisample = GL_TRUE; - __GLeeLink_WGL_3DFX_multisample(); - } - if (__GLeeCheckExtension("WGL_EXT_multisample", &extensionNames) ) - { - _GLEE_WGL_EXT_multisample = GL_TRUE; - __GLeeLink_WGL_EXT_multisample(); - } - if (__GLeeCheckExtension("WGL_I3D_digital_video_control", &extensionNames) ) - { - _GLEE_WGL_I3D_digital_video_control = GL_TRUE; - __GLeeLink_WGL_I3D_digital_video_control(); - } - if (__GLeeCheckExtension("WGL_I3D_gamma", &extensionNames) ) - { - _GLEE_WGL_I3D_gamma = GL_TRUE; - __GLeeLink_WGL_I3D_gamma(); - } - if (__GLeeCheckExtension("WGL_I3D_genlock", &extensionNames) ) - { - _GLEE_WGL_I3D_genlock = GL_TRUE; - __GLeeLink_WGL_I3D_genlock(); - } - if (__GLeeCheckExtension("WGL_I3D_image_buffer", &extensionNames) ) - { - _GLEE_WGL_I3D_image_buffer = GL_TRUE; - __GLeeLink_WGL_I3D_image_buffer(); - } - if (__GLeeCheckExtension("WGL_I3D_swap_frame_lock", &extensionNames) ) - { - _GLEE_WGL_I3D_swap_frame_lock = GL_TRUE; - __GLeeLink_WGL_I3D_swap_frame_lock(); - } - if (__GLeeCheckExtension("WGL_NV_render_depth_texture", &extensionNames) ) - { - _GLEE_WGL_NV_render_depth_texture = GL_TRUE; - __GLeeLink_WGL_NV_render_depth_texture(); - } - if (__GLeeCheckExtension("WGL_NV_render_texture_rectangle", &extensionNames) ) - { - _GLEE_WGL_NV_render_texture_rectangle = GL_TRUE; - __GLeeLink_WGL_NV_render_texture_rectangle(); - } - if (__GLeeCheckExtension("WGL_ATI_pixel_format_float", &extensionNames) ) - { - _GLEE_WGL_ATI_pixel_format_float = GL_TRUE; - __GLeeLink_WGL_ATI_pixel_format_float(); - } - if (__GLeeCheckExtension("WGL_NV_float_buffer", &extensionNames) ) - { - _GLEE_WGL_NV_float_buffer = GL_TRUE; - __GLeeLink_WGL_NV_float_buffer(); - } - if (__GLeeCheckExtension("WGL_3DL_stereo_control", &extensionNames) ) - { - _GLEE_WGL_3DL_stereo_control = GL_TRUE; - __GLeeLink_WGL_3DL_stereo_control(); - } - if (__GLeeCheckExtension("WGL_EXT_pixel_format_packed_float", &extensionNames) ) - { - _GLEE_WGL_EXT_pixel_format_packed_float = GL_TRUE; - __GLeeLink_WGL_EXT_pixel_format_packed_float(); - } - if (__GLeeCheckExtension("WGL_EXT_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_WGL_EXT_framebuffer_sRGB = GL_TRUE; - __GLeeLink_WGL_EXT_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("WGL_NV_present_video", &extensionNames) ) - { - _GLEE_WGL_NV_present_video = GL_TRUE; - __GLeeLink_WGL_NV_present_video(); - } - if (__GLeeCheckExtension("WGL_NV_swap_group", &extensionNames) ) - { - _GLEE_WGL_NV_swap_group = GL_TRUE; - __GLeeLink_WGL_NV_swap_group(); - } - if (__GLeeCheckExtension("WGL_NV_gpu_affinity", &extensionNames) ) - { - _GLEE_WGL_NV_gpu_affinity = GL_TRUE; - __GLeeLink_WGL_NV_gpu_affinity(); - } - if (__GLeeCheckExtension("WGL_AMD_gpu_association", &extensionNames) ) - { - _GLEE_WGL_AMD_gpu_association = GL_TRUE; - __GLeeLink_WGL_AMD_gpu_association(); - } - if (__GLeeCheckExtension("WGL_NV_copy_image", &extensionNames) ) - { - _GLEE_WGL_NV_copy_image = GL_TRUE; - __GLeeLink_WGL_NV_copy_image(); - } - if (__GLeeCheckExtension("WGL_NV_multisample_coverage", &extensionNames) ) - { - _GLEE_WGL_NV_multisample_coverage = GL_TRUE; - __GLeeLink_WGL_NV_multisample_coverage(); - } - if (__GLeeCheckExtension("WGL_EXT_create_context_es2_profile", &extensionNames) ) - { - _GLEE_WGL_EXT_create_context_es2_profile = GL_TRUE; - __GLeeLink_WGL_EXT_create_context_es2_profile(); - } - if (__GLeeCheckExtension("WGL_NV_DX_interop", &extensionNames) ) - { - _GLEE_WGL_NV_DX_interop = GL_TRUE; - __GLeeLink_WGL_NV_DX_interop(); - } - if (__GLeeCheckExtension("WGL_NV_DX_interop2", &extensionNames) ) - { - _GLEE_WGL_NV_DX_interop2 = GL_TRUE; - __GLeeLink_WGL_NV_DX_interop2(); - } - if (__GLeeCheckExtension("WGL_EXT_swap_control_tear", &extensionNames) ) - { - _GLEE_WGL_EXT_swap_control_tear = GL_TRUE; - __GLeeLink_WGL_EXT_swap_control_tear(); - } - if (__GLeeCheckExtension("WGL_EXT_display_color_table", &extensionNames) ) - { - _GLEE_WGL_EXT_display_color_table = GL_TRUE; - __GLeeLink_WGL_EXT_display_color_table(); - } - if (__GLeeCheckExtension("WGL_EXT_extensions_string", &extensionNames) ) - { - _GLEE_WGL_EXT_extensions_string = GL_TRUE; - __GLeeLink_WGL_EXT_extensions_string(); - } - if (__GLeeCheckExtension("WGL_EXT_swap_control", &extensionNames) ) - { - _GLEE_WGL_EXT_swap_control = GL_TRUE; - __GLeeLink_WGL_EXT_swap_control(); - } - if (__GLeeCheckExtension("WGL_NV_vertex_array_range", &extensionNames) ) - { - _GLEE_WGL_NV_vertex_array_range = GL_TRUE; - __GLeeLink_WGL_NV_vertex_array_range(); - } - if (__GLeeCheckExtension("WGL_OML_sync_control", &extensionNames) ) - { - _GLEE_WGL_OML_sync_control = GL_TRUE; - __GLeeLink_WGL_OML_sync_control(); - } - if (__GLeeCheckExtension("WGL_I3D_swap_frame_usage", &extensionNames) ) - { - _GLEE_WGL_I3D_swap_frame_usage = GL_TRUE; - __GLeeLink_WGL_I3D_swap_frame_usage(); - } - if (__GLeeCheckExtension("WGL_NV_video_output", &extensionNames) ) - { - _GLEE_WGL_NV_video_output = GL_TRUE; - __GLeeLink_WGL_NV_video_output(); - } -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else /* GLX */ - if (__GLeeCheckExtension("GLX_VERSION_1_3", &extensionNames) ) - { - _GLEE_GLX_VERSION_1_3 = GL_TRUE; - __GLeeLink_GLX_VERSION_1_3(); - } - if (__GLeeCheckExtension("GLX_VERSION_1_4", &extensionNames) ) - { - _GLEE_GLX_VERSION_1_4 = GL_TRUE; - __GLeeLink_GLX_VERSION_1_4(); - } - if (__GLeeCheckExtension("GLX_ARB_multisample", &extensionNames) ) - { - _GLEE_GLX_ARB_multisample = GL_TRUE; - __GLeeLink_GLX_ARB_multisample(); - } - if (__GLeeCheckExtension("GLX_ARB_vertex_buffer_object", &extensionNames) ) - { - _GLEE_GLX_ARB_vertex_buffer_object = GL_TRUE; - __GLeeLink_GLX_ARB_vertex_buffer_object(); - } - if (__GLeeCheckExtension("GLX_ARB_fbconfig_float", &extensionNames) ) - { - _GLEE_GLX_ARB_fbconfig_float = GL_TRUE; - __GLeeLink_GLX_ARB_fbconfig_float(); - } - if (__GLeeCheckExtension("GLX_ARB_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_GLX_ARB_framebuffer_sRGB = GL_TRUE; - __GLeeLink_GLX_ARB_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("GLX_ARB_create_context", &extensionNames) ) - { - _GLEE_GLX_ARB_create_context = GL_TRUE; - __GLeeLink_GLX_ARB_create_context(); - } - if (__GLeeCheckExtension("GLX_ARB_create_context_profile", &extensionNames) ) - { - _GLEE_GLX_ARB_create_context_profile = GL_TRUE; - __GLeeLink_GLX_ARB_create_context_profile(); - } - if (__GLeeCheckExtension("GLX_ARB_create_context_robustness", &extensionNames) ) - { - _GLEE_GLX_ARB_create_context_robustness = GL_TRUE; - __GLeeLink_GLX_ARB_create_context_robustness(); - } - if (__GLeeCheckExtension("GLX_SGIS_multisample", &extensionNames) ) - { - _GLEE_GLX_SGIS_multisample = GL_TRUE; - __GLeeLink_GLX_SGIS_multisample(); - } - if (__GLeeCheckExtension("GLX_EXT_visual_info", &extensionNames) ) - { - _GLEE_GLX_EXT_visual_info = GL_TRUE; - __GLeeLink_GLX_EXT_visual_info(); - } - if (__GLeeCheckExtension("GLX_SGI_swap_control", &extensionNames) ) - { - _GLEE_GLX_SGI_swap_control = GL_TRUE; - __GLeeLink_GLX_SGI_swap_control(); - } - if (__GLeeCheckExtension("GLX_SGI_video_sync", &extensionNames) ) - { - _GLEE_GLX_SGI_video_sync = GL_TRUE; - __GLeeLink_GLX_SGI_video_sync(); - } - if (__GLeeCheckExtension("GLX_SGI_make_current_read", &extensionNames) ) - { - _GLEE_GLX_SGI_make_current_read = GL_TRUE; - __GLeeLink_GLX_SGI_make_current_read(); - } - if (__GLeeCheckExtension("GLX_EXT_visual_rating", &extensionNames) ) - { - _GLEE_GLX_EXT_visual_rating = GL_TRUE; - __GLeeLink_GLX_EXT_visual_rating(); - } - if (__GLeeCheckExtension("GLX_EXT_import_context", &extensionNames) ) - { - _GLEE_GLX_EXT_import_context = GL_TRUE; - __GLeeLink_GLX_EXT_import_context(); - } - if (__GLeeCheckExtension("GLX_SGIX_fbconfig", &extensionNames) ) - { - _GLEE_GLX_SGIX_fbconfig = GL_TRUE; - __GLeeLink_GLX_SGIX_fbconfig(); - } - if (__GLeeCheckExtension("GLX_SGIX_pbuffer", &extensionNames) ) - { - _GLEE_GLX_SGIX_pbuffer = GL_TRUE; - __GLeeLink_GLX_SGIX_pbuffer(); - } - if (__GLeeCheckExtension("GLX_SGI_cushion", &extensionNames) ) - { - _GLEE_GLX_SGI_cushion = GL_TRUE; - __GLeeLink_GLX_SGI_cushion(); - } - if (__GLeeCheckExtension("GLX_SGIX_video_resize", &extensionNames) ) - { - _GLEE_GLX_SGIX_video_resize = GL_TRUE; - __GLeeLink_GLX_SGIX_video_resize(); - } - if (__GLeeCheckExtension("GLX_SGIX_swap_group", &extensionNames) ) - { - _GLEE_GLX_SGIX_swap_group = GL_TRUE; - __GLeeLink_GLX_SGIX_swap_group(); - } - if (__GLeeCheckExtension("GLX_SGIX_swap_barrier", &extensionNames) ) - { - _GLEE_GLX_SGIX_swap_barrier = GL_TRUE; - __GLeeLink_GLX_SGIX_swap_barrier(); - } - if (__GLeeCheckExtension("GLX_SGIS_blended_overlay", &extensionNames) ) - { - _GLEE_GLX_SGIS_blended_overlay = GL_TRUE; - __GLeeLink_GLX_SGIS_blended_overlay(); - } - if (__GLeeCheckExtension("GLX_SGIS_shared_multisample", &extensionNames) ) - { - _GLEE_GLX_SGIS_shared_multisample = GL_TRUE; - __GLeeLink_GLX_SGIS_shared_multisample(); - } - if (__GLeeCheckExtension("GLX_SUN_get_transparent_index", &extensionNames) ) - { - _GLEE_GLX_SUN_get_transparent_index = GL_TRUE; - __GLeeLink_GLX_SUN_get_transparent_index(); - } - if (__GLeeCheckExtension("GLX_3DFX_multisample", &extensionNames) ) - { - _GLEE_GLX_3DFX_multisample = GL_TRUE; - __GLeeLink_GLX_3DFX_multisample(); - } - if (__GLeeCheckExtension("GLX_MESA_copy_sub_buffer", &extensionNames) ) - { - _GLEE_GLX_MESA_copy_sub_buffer = GL_TRUE; - __GLeeLink_GLX_MESA_copy_sub_buffer(); - } - if (__GLeeCheckExtension("GLX_MESA_pixmap_colormap", &extensionNames) ) - { - _GLEE_GLX_MESA_pixmap_colormap = GL_TRUE; - __GLeeLink_GLX_MESA_pixmap_colormap(); - } - if (__GLeeCheckExtension("GLX_MESA_release_buffers", &extensionNames) ) - { - _GLEE_GLX_MESA_release_buffers = GL_TRUE; - __GLeeLink_GLX_MESA_release_buffers(); - } - if (__GLeeCheckExtension("GLX_MESA_set_3dfx_mode", &extensionNames) ) - { - _GLEE_GLX_MESA_set_3dfx_mode = GL_TRUE; - __GLeeLink_GLX_MESA_set_3dfx_mode(); - } - if (__GLeeCheckExtension("GLX_SGIX_visual_select_group", &extensionNames) ) - { - _GLEE_GLX_SGIX_visual_select_group = GL_TRUE; - __GLeeLink_GLX_SGIX_visual_select_group(); - } - if (__GLeeCheckExtension("GLX_OML_swap_method", &extensionNames) ) - { - _GLEE_GLX_OML_swap_method = GL_TRUE; - __GLeeLink_GLX_OML_swap_method(); - } - if (__GLeeCheckExtension("GLX_OML_sync_control", &extensionNames) ) - { - _GLEE_GLX_OML_sync_control = GL_TRUE; - __GLeeLink_GLX_OML_sync_control(); - } - if (__GLeeCheckExtension("GLX_NV_float_buffer", &extensionNames) ) - { - _GLEE_GLX_NV_float_buffer = GL_TRUE; - __GLeeLink_GLX_NV_float_buffer(); - } - if (__GLeeCheckExtension("GLX_SGIX_hyperpipe", &extensionNames) ) - { - _GLEE_GLX_SGIX_hyperpipe = GL_TRUE; - __GLeeLink_GLX_SGIX_hyperpipe(); - } - if (__GLeeCheckExtension("GLX_MESA_agp_offset", &extensionNames) ) - { - _GLEE_GLX_MESA_agp_offset = GL_TRUE; - __GLeeLink_GLX_MESA_agp_offset(); - } - if (__GLeeCheckExtension("GLX_EXT_fbconfig_packed_float", &extensionNames) ) - { - _GLEE_GLX_EXT_fbconfig_packed_float = GL_TRUE; - __GLeeLink_GLX_EXT_fbconfig_packed_float(); - } - if (__GLeeCheckExtension("GLX_EXT_framebuffer_sRGB", &extensionNames) ) - { - _GLEE_GLX_EXT_framebuffer_sRGB = GL_TRUE; - __GLeeLink_GLX_EXT_framebuffer_sRGB(); - } - if (__GLeeCheckExtension("GLX_EXT_texture_from_pixmap", &extensionNames) ) - { - _GLEE_GLX_EXT_texture_from_pixmap = GL_TRUE; - __GLeeLink_GLX_EXT_texture_from_pixmap(); - } - if (__GLeeCheckExtension("GLX_NV_present_video", &extensionNames) ) - { - _GLEE_GLX_NV_present_video = GL_TRUE; - __GLeeLink_GLX_NV_present_video(); - } - if (__GLeeCheckExtension("GLX_NV_video_out", &extensionNames) ) - { - _GLEE_GLX_NV_video_out = GL_TRUE; - __GLeeLink_GLX_NV_video_out(); - } - if (__GLeeCheckExtension("GLX_NV_swap_group", &extensionNames) ) - { - _GLEE_GLX_NV_swap_group = GL_TRUE; - __GLeeLink_GLX_NV_swap_group(); - } - if (__GLeeCheckExtension("GLX_NV_video_capture", &extensionNames) ) - { - _GLEE_GLX_NV_video_capture = GL_TRUE; - __GLeeLink_GLX_NV_video_capture(); - } - if (__GLeeCheckExtension("GLX_EXT_swap_control", &extensionNames) ) - { - _GLEE_GLX_EXT_swap_control = GL_TRUE; - __GLeeLink_GLX_EXT_swap_control(); - } - if (__GLeeCheckExtension("GLX_NV_copy_image", &extensionNames) ) - { - _GLEE_GLX_NV_copy_image = GL_TRUE; - __GLeeLink_GLX_NV_copy_image(); - } - if (__GLeeCheckExtension("GLX_INTEL_swap_event", &extensionNames) ) - { - _GLEE_GLX_INTEL_swap_event = GL_TRUE; - __GLeeLink_GLX_INTEL_swap_event(); - } - if (__GLeeCheckExtension("GLX_NV_multisample_coverage", &extensionNames) ) - { - _GLEE_GLX_NV_multisample_coverage = GL_TRUE; - __GLeeLink_GLX_NV_multisample_coverage(); - } - if (__GLeeCheckExtension("GLX_AMD_gpu_association", &extensionNames) ) - { - _GLEE_GLX_AMD_gpu_association = GL_TRUE; - __GLeeLink_GLX_AMD_gpu_association(); - } - if (__GLeeCheckExtension("GLX_EXT_create_context_es2_profile", &extensionNames) ) - { - _GLEE_GLX_EXT_create_context_es2_profile = GL_TRUE; - __GLeeLink_GLX_EXT_create_context_es2_profile(); - } - if (__GLeeCheckExtension("GLX_EXT_create_context_es_profile", &extensionNames) ) - { - _GLEE_GLX_EXT_create_context_es_profile = GL_TRUE; - __GLeeLink_GLX_EXT_create_context_es_profile(); - } - if (__GLeeCheckExtension("GLX_EXT_swap_control_tear", &extensionNames) ) - { - _GLEE_GLX_EXT_swap_control_tear = GL_TRUE; - __GLeeLink_GLX_EXT_swap_control_tear(); - } - if (__GLeeCheckExtension("GLX_EXT_buffer_age", &extensionNames) ) - { - _GLEE_GLX_EXT_buffer_age = GL_TRUE; - __GLeeLink_GLX_EXT_buffer_age(); - } - if (__GLeeCheckExtension("GLX_NV_video_output", &extensionNames) ) - { - _GLEE_GLX_NV_video_output = GL_TRUE; - __GLeeLink_GLX_NV_video_output(); - } -#endif /* end GLX */ - - __GLeeExtList_clean(&extensionNames); - return GL_TRUE; -} diff --git a/src/modules/graphics/opengl/GLee.h b/src/modules/graphics/opengl/GLee.h deleted file mode 100644 index 35c101a6a..000000000 --- a/src/modules/graphics/opengl/GLee.h +++ /dev/null @@ -1,24528 +0,0 @@ -/*************************************************************************** -* -* GLee.h -* GLee (OpenGL Easy Extension library) -* Version : 5.5 -* -* Copyright (c)2011 Ben Woodhouse All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are -* met: -* 1. Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer as -* the first lines of this file unmodified. -* 2. Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY BEN WOODHOUSE ``AS IS'' AND ANY EXPRESS OR -* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -* IN NO EVENT SHALL BEN WOODHOUSE BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* Web: http://elf-stone.com/glee.php -* -* [This file was automatically generated by GLeeGen 7.0 -* -***************************************************************************/ - -#ifndef __glee_h_ -#define __glee_h_ - -#ifdef __gl_h_ - #error gl.h included before GLee.h -#endif - -#ifdef __glext_h_ - #error glext.h included before GLee.h -#endif - -#ifdef __wglext_h_ - #error wglext.h included before GLee.h -#endif - -#ifdef __glxext_h_ - #error glxext.h included before GLee.h -#endif - -#ifdef _WIN32 - #define WIN32_LEAN_AND_MEAN - #include - #include -#elif defined(__APPLE__) || defined(__APPLE_CC__) - #define GL_GLEXT_LEGACY - #include -#else // GLX - #define __glext_h_ /* prevent glext.h from being included */ - #define __glxext_h_ /* prevent glxext.h from being included */ - #define GLX_GLXEXT_PROTOTYPES - #include - #include - - typedef XID GLEE_GLXContextID; -#endif - -#ifndef APIENTRY - #define APIENTRY -#endif - -#ifndef APIENTRYP - #define APIENTRYP APIENTRY * -#endif - -#define GLEE_EXTERN extern - -#ifdef __cplusplus - extern "C" { /* begin C linkage */ -#endif - -#define GLEE_LINK_FAIL 0 -#define GLEE_LINK_PARTIAL 1 -#define GLEE_LINK_COMPLETE 2 - -typedef void (*GLEE_FUNC)(void); - -struct _cl_context; -struct _cl_event; - -/* Extension querying variables */ - -GLEE_EXTERN GLboolean _GLEE_VERSION_1_2; -GLEE_EXTERN GLboolean _GLEE_ARB_imaging; -GLEE_EXTERN GLboolean _GLEE_VERSION_1_3; -GLEE_EXTERN GLboolean _GLEE_VERSION_1_4; -GLEE_EXTERN GLboolean _GLEE_VERSION_1_5; -GLEE_EXTERN GLboolean _GLEE_VERSION_2_0; -GLEE_EXTERN GLboolean _GLEE_VERSION_2_1; -GLEE_EXTERN GLboolean _GLEE_VERSION_3_0; -GLEE_EXTERN GLboolean _GLEE_VERSION_3_1; -GLEE_EXTERN GLboolean _GLEE_VERSION_3_2; -GLEE_EXTERN GLboolean _GLEE_VERSION_3_3; -GLEE_EXTERN GLboolean _GLEE_VERSION_4_0; -GLEE_EXTERN GLboolean _GLEE_VERSION_4_1; -GLEE_EXTERN GLboolean _GLEE_VERSION_4_2; -GLEE_EXTERN GLboolean _GLEE_VERSION_4_3; -GLEE_EXTERN GLboolean _GLEE_ARB_multitexture; -GLEE_EXTERN GLboolean _GLEE_ARB_transpose_matrix; -GLEE_EXTERN GLboolean _GLEE_ARB_multisample; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_env_add; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_cube_map; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_compression; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_border_clamp; -GLEE_EXTERN GLboolean _GLEE_ARB_point_parameters; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_blend; -GLEE_EXTERN GLboolean _GLEE_ARB_matrix_palette; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_env_combine; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_env_crossbar; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_env_dot3; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_mirrored_repeat; -GLEE_EXTERN GLboolean _GLEE_ARB_depth_texture; -GLEE_EXTERN GLboolean _GLEE_ARB_shadow; -GLEE_EXTERN GLboolean _GLEE_ARB_shadow_ambient; -GLEE_EXTERN GLboolean _GLEE_ARB_window_pos; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_program; -GLEE_EXTERN GLboolean _GLEE_ARB_fragment_program; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_occlusion_query; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_objects; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_shader; -GLEE_EXTERN GLboolean _GLEE_ARB_fragment_shader; -GLEE_EXTERN GLboolean _GLEE_ARB_shading_language_100; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_non_power_of_two; -GLEE_EXTERN GLboolean _GLEE_ARB_point_sprite; -GLEE_EXTERN GLboolean _GLEE_ARB_fragment_program_shadow; -GLEE_EXTERN GLboolean _GLEE_ARB_draw_buffers; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_rectangle; -GLEE_EXTERN GLboolean _GLEE_ARB_color_buffer_float; -GLEE_EXTERN GLboolean _GLEE_ARB_half_float_pixel; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_float; -GLEE_EXTERN GLboolean _GLEE_ARB_pixel_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_depth_buffer_float; -GLEE_EXTERN GLboolean _GLEE_ARB_draw_instanced; -GLEE_EXTERN GLboolean _GLEE_ARB_framebuffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_ARB_geometry_shader4; -GLEE_EXTERN GLboolean _GLEE_ARB_half_float_vertex; -GLEE_EXTERN GLboolean _GLEE_ARB_instanced_arrays; -GLEE_EXTERN GLboolean _GLEE_ARB_map_buffer_range; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_compression_rgtc; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_rg; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_array_object; -GLEE_EXTERN GLboolean _GLEE_ARB_uniform_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_compatibility; -GLEE_EXTERN GLboolean _GLEE_ARB_copy_buffer; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_texture_lod; -GLEE_EXTERN GLboolean _GLEE_ARB_depth_clamp; -GLEE_EXTERN GLboolean _GLEE_ARB_draw_elements_base_vertex; -GLEE_EXTERN GLboolean _GLEE_ARB_fragment_coord_conventions; -GLEE_EXTERN GLboolean _GLEE_ARB_provoking_vertex; -GLEE_EXTERN GLboolean _GLEE_ARB_seamless_cube_map; -GLEE_EXTERN GLboolean _GLEE_ARB_sync; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_multisample; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_array_bgra; -GLEE_EXTERN GLboolean _GLEE_ARB_draw_buffers_blend; -GLEE_EXTERN GLboolean _GLEE_ARB_sample_shading; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_cube_map_array; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_gather; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_query_lod; -GLEE_EXTERN GLboolean _GLEE_ARB_shading_language_include; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_compression_bptc; -GLEE_EXTERN GLboolean _GLEE_ARB_blend_func_extended; -GLEE_EXTERN GLboolean _GLEE_ARB_explicit_attrib_location; -GLEE_EXTERN GLboolean _GLEE_ARB_occlusion_query2; -GLEE_EXTERN GLboolean _GLEE_ARB_sampler_objects; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_bit_encoding; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_rgb10_a2ui; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_swizzle; -GLEE_EXTERN GLboolean _GLEE_ARB_timer_query; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_type_2_10_10_10_rev; -GLEE_EXTERN GLboolean _GLEE_ARB_draw_indirect; -GLEE_EXTERN GLboolean _GLEE_ARB_gpu_shader5; -GLEE_EXTERN GLboolean _GLEE_ARB_gpu_shader_fp64; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_subroutine; -GLEE_EXTERN GLboolean _GLEE_ARB_tessellation_shader; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_buffer_object_rgb32; -GLEE_EXTERN GLboolean _GLEE_ARB_transform_feedback2; -GLEE_EXTERN GLboolean _GLEE_ARB_transform_feedback3; -GLEE_EXTERN GLboolean _GLEE_ARB_ES2_compatibility; -GLEE_EXTERN GLboolean _GLEE_ARB_get_program_binary; -GLEE_EXTERN GLboolean _GLEE_ARB_separate_shader_objects; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_precision; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_attrib_64bit; -GLEE_EXTERN GLboolean _GLEE_ARB_viewport_array; -GLEE_EXTERN GLboolean _GLEE_ARB_cl_event; -GLEE_EXTERN GLboolean _GLEE_ARB_debug_output; -GLEE_EXTERN GLboolean _GLEE_ARB_robustness; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_stencil_export; -GLEE_EXTERN GLboolean _GLEE_ARB_base_instance; -GLEE_EXTERN GLboolean _GLEE_ARB_shading_language_420pack; -GLEE_EXTERN GLboolean _GLEE_ARB_transform_feedback_instanced; -GLEE_EXTERN GLboolean _GLEE_ARB_compressed_texture_pixel_storage; -GLEE_EXTERN GLboolean _GLEE_ARB_conservative_depth; -GLEE_EXTERN GLboolean _GLEE_ARB_internalformat_query; -GLEE_EXTERN GLboolean _GLEE_ARB_map_buffer_alignment; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_atomic_counters; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_image_load_store; -GLEE_EXTERN GLboolean _GLEE_ARB_shading_language_packing; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_storage; -GLEE_EXTERN GLboolean _GLEE_KHR_texture_compression_astc_ldr; -GLEE_EXTERN GLboolean _GLEE_KHR_debug; -GLEE_EXTERN GLboolean _GLEE_ARB_arrays_of_arrays; -GLEE_EXTERN GLboolean _GLEE_ARB_clear_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_compute_shader; -GLEE_EXTERN GLboolean _GLEE_ARB_copy_image; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_view; -GLEE_EXTERN GLboolean _GLEE_ARB_vertex_attrib_binding; -GLEE_EXTERN GLboolean _GLEE_ARB_robustness_isolation; -GLEE_EXTERN GLboolean _GLEE_ARB_ES3_compatibility; -GLEE_EXTERN GLboolean _GLEE_ARB_explicit_uniform_location; -GLEE_EXTERN GLboolean _GLEE_ARB_fragment_layer_viewport; -GLEE_EXTERN GLboolean _GLEE_ARB_framebuffer_no_attachments; -GLEE_EXTERN GLboolean _GLEE_ARB_internalformat_query2; -GLEE_EXTERN GLboolean _GLEE_ARB_invalidate_subdata; -GLEE_EXTERN GLboolean _GLEE_ARB_multi_draw_indirect; -GLEE_EXTERN GLboolean _GLEE_ARB_program_interface_query; -GLEE_EXTERN GLboolean _GLEE_ARB_robust_buffer_access_behavior; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_image_size; -GLEE_EXTERN GLboolean _GLEE_ARB_shader_storage_buffer_object; -GLEE_EXTERN GLboolean _GLEE_ARB_stencil_texturing; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_buffer_range; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_query_levels; -GLEE_EXTERN GLboolean _GLEE_ARB_texture_storage_multisample; -GLEE_EXTERN GLboolean _GLEE_EXT_abgr; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_color; -GLEE_EXTERN GLboolean _GLEE_EXT_polygon_offset; -GLEE_EXTERN GLboolean _GLEE_EXT_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_texture3D; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_filter4; -GLEE_EXTERN GLboolean _GLEE_EXT_subtexture; -GLEE_EXTERN GLboolean _GLEE_EXT_copy_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_histogram; -GLEE_EXTERN GLboolean _GLEE_EXT_convolution; -GLEE_EXTERN GLboolean _GLEE_SGI_color_matrix; -GLEE_EXTERN GLboolean _GLEE_SGI_color_table; -GLEE_EXTERN GLboolean _GLEE_SGIS_pixel_texture; -GLEE_EXTERN GLboolean _GLEE_SGIX_pixel_texture; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture4D; -GLEE_EXTERN GLboolean _GLEE_SGI_texture_color_table; -GLEE_EXTERN GLboolean _GLEE_EXT_cmyka; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_object; -GLEE_EXTERN GLboolean _GLEE_SGIS_detail_texture; -GLEE_EXTERN GLboolean _GLEE_SGIS_sharpen_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_packed_pixels; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_lod; -GLEE_EXTERN GLboolean _GLEE_SGIS_multisample; -GLEE_EXTERN GLboolean _GLEE_EXT_rescale_normal; -GLEE_EXTERN GLboolean _GLEE_EXT_vertex_array; -GLEE_EXTERN GLboolean _GLEE_EXT_misc_attribute; -GLEE_EXTERN GLboolean _GLEE_SGIS_generate_mipmap; -GLEE_EXTERN GLboolean _GLEE_SGIX_clipmap; -GLEE_EXTERN GLboolean _GLEE_SGIX_shadow; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_edge_clamp; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_border_clamp; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_minmax; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_subtract; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_logic_op; -GLEE_EXTERN GLboolean _GLEE_SGIX_interlace; -GLEE_EXTERN GLboolean _GLEE_SGIX_pixel_tiles; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_select; -GLEE_EXTERN GLboolean _GLEE_SGIX_sprite; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_multi_buffer; -GLEE_EXTERN GLboolean _GLEE_EXT_point_parameters; -GLEE_EXTERN GLboolean _GLEE_SGIS_point_parameters; -GLEE_EXTERN GLboolean _GLEE_SGIX_instruments; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_scale_bias; -GLEE_EXTERN GLboolean _GLEE_SGIX_framezoom; -GLEE_EXTERN GLboolean _GLEE_SGIX_tag_sample_buffer; -GLEE_EXTERN GLboolean _GLEE_FfdMaskSGIX; -GLEE_EXTERN GLboolean _GLEE_SGIX_polynomial_ffd; -GLEE_EXTERN GLboolean _GLEE_SGIX_reference_plane; -GLEE_EXTERN GLboolean _GLEE_SGIX_flush_raster; -GLEE_EXTERN GLboolean _GLEE_SGIX_depth_texture; -GLEE_EXTERN GLboolean _GLEE_SGIS_fog_function; -GLEE_EXTERN GLboolean _GLEE_SGIX_fog_offset; -GLEE_EXTERN GLboolean _GLEE_HP_image_transform; -GLEE_EXTERN GLboolean _GLEE_HP_convolution_border_modes; -GLEE_EXTERN GLboolean _GLEE_INGR_palette_buffer; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_add_env; -GLEE_EXTERN GLboolean _GLEE_EXT_color_subtable; -GLEE_EXTERN GLboolean _GLEE_PGI_vertex_hints; -GLEE_EXTERN GLboolean _GLEE_PGI_misc_hints; -GLEE_EXTERN GLboolean _GLEE_EXT_paletted_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_clip_volume_hint; -GLEE_EXTERN GLboolean _GLEE_SGIX_list_priority; -GLEE_EXTERN GLboolean _GLEE_SGIX_ir_instrument1; -GLEE_EXTERN GLboolean _GLEE_SGIX_calligraphic_fragment; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_lod_bias; -GLEE_EXTERN GLboolean _GLEE_SGIX_shadow_ambient; -GLEE_EXTERN GLboolean _GLEE_EXT_index_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_index_material; -GLEE_EXTERN GLboolean _GLEE_EXT_index_func; -GLEE_EXTERN GLboolean _GLEE_EXT_index_array_formats; -GLEE_EXTERN GLboolean _GLEE_EXT_compiled_vertex_array; -GLEE_EXTERN GLboolean _GLEE_EXT_cull_vertex; -GLEE_EXTERN GLboolean _GLEE_SGIX_ycrcb; -GLEE_EXTERN GLboolean _GLEE_SGIX_fragment_lighting; -GLEE_EXTERN GLboolean _GLEE_IBM_rasterpos_clip; -GLEE_EXTERN GLboolean _GLEE_HP_texture_lighting; -GLEE_EXTERN GLboolean _GLEE_EXT_draw_range_elements; -GLEE_EXTERN GLboolean _GLEE_WIN_phong_shading; -GLEE_EXTERN GLboolean _GLEE_WIN_specular_fog; -GLEE_EXTERN GLboolean _GLEE_EXT_light_texture; -GLEE_EXTERN GLboolean _GLEE_SGIX_blend_alpha_minmax; -GLEE_EXTERN GLboolean _GLEE_SGIX_impact_pixel_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_bgra; -GLEE_EXTERN GLboolean _GLEE_SGIX_async; -GLEE_EXTERN GLboolean _GLEE_SGIX_async_pixel; -GLEE_EXTERN GLboolean _GLEE_SGIX_async_histogram; -GLEE_EXTERN GLboolean _GLEE_INTEL_texture_scissor; -GLEE_EXTERN GLboolean _GLEE_INTEL_parallel_arrays; -GLEE_EXTERN GLboolean _GLEE_HP_occlusion_test; -GLEE_EXTERN GLboolean _GLEE_EXT_pixel_transform; -GLEE_EXTERN GLboolean _GLEE_EXT_pixel_transform_color_table; -GLEE_EXTERN GLboolean _GLEE_EXT_shared_texture_palette; -GLEE_EXTERN GLboolean _GLEE_EXT_separate_specular_color; -GLEE_EXTERN GLboolean _GLEE_EXT_secondary_color; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_perturb_normal; -GLEE_EXTERN GLboolean _GLEE_EXT_multi_draw_arrays; -GLEE_EXTERN GLboolean _GLEE_EXT_fog_coord; -GLEE_EXTERN GLboolean _GLEE_REND_screen_coordinates; -GLEE_EXTERN GLboolean _GLEE_EXT_coordinate_frame; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_env_combine; -GLEE_EXTERN GLboolean _GLEE_APPLE_specular_vector; -GLEE_EXTERN GLboolean _GLEE_APPLE_transform_hint; -GLEE_EXTERN GLboolean _GLEE_SGIX_fog_scale; -GLEE_EXTERN GLboolean _GLEE_SUNX_constant_data; -GLEE_EXTERN GLboolean _GLEE_SUN_global_alpha; -GLEE_EXTERN GLboolean _GLEE_SUN_triangle_list; -GLEE_EXTERN GLboolean _GLEE_SUN_vertex; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_func_separate; -GLEE_EXTERN GLboolean _GLEE_INGR_color_clamp; -GLEE_EXTERN GLboolean _GLEE_INGR_interlace_read; -GLEE_EXTERN GLboolean _GLEE_EXT_stencil_wrap; -GLEE_EXTERN GLboolean _GLEE_EXT_422_pixels; -GLEE_EXTERN GLboolean _GLEE_NV_texgen_reflection; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_cube_map; -GLEE_EXTERN GLboolean _GLEE_SUN_convolution_border_modes; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_env_add; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_lod_bias; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_filter_anisotropic; -GLEE_EXTERN GLboolean _GLEE_EXT_vertex_weighting; -GLEE_EXTERN GLboolean _GLEE_NV_light_max_exponent; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_array_range; -GLEE_EXTERN GLboolean _GLEE_NV_register_combiners; -GLEE_EXTERN GLboolean _GLEE_NV_fog_distance; -GLEE_EXTERN GLboolean _GLEE_NV_texgen_emboss; -GLEE_EXTERN GLboolean _GLEE_NV_blend_square; -GLEE_EXTERN GLboolean _GLEE_NV_texture_env_combine4; -GLEE_EXTERN GLboolean _GLEE_MESA_resize_buffers; -GLEE_EXTERN GLboolean _GLEE_MESA_window_pos; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_compression_s3tc; -GLEE_EXTERN GLboolean _GLEE_IBM_cull_vertex; -GLEE_EXTERN GLboolean _GLEE_IBM_multimode_draw_arrays; -GLEE_EXTERN GLboolean _GLEE_IBM_vertex_array_lists; -GLEE_EXTERN GLboolean _GLEE_SGIX_subsample; -GLEE_EXTERN GLboolean _GLEE_SGIX_ycrcb_subsample; -GLEE_EXTERN GLboolean _GLEE_SGIX_ycrcba; -GLEE_EXTERN GLboolean _GLEE_SGI_depth_pass_instrument; -GLEE_EXTERN GLboolean _GLEE_3DFX_texture_compression_FXT1; -GLEE_EXTERN GLboolean _GLEE_3DFX_multisample; -GLEE_EXTERN GLboolean _GLEE_3DFX_tbuffer; -GLEE_EXTERN GLboolean _GLEE_EXT_multisample; -GLEE_EXTERN GLboolean _GLEE_SGIX_vertex_preclip; -GLEE_EXTERN GLboolean _GLEE_SGIX_convolution_accuracy; -GLEE_EXTERN GLboolean _GLEE_SGIX_resample; -GLEE_EXTERN GLboolean _GLEE_SGIS_point_line_texgen; -GLEE_EXTERN GLboolean _GLEE_SGIS_texture_color_mask; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_env_dot3; -GLEE_EXTERN GLboolean _GLEE_ATI_texture_mirror_once; -GLEE_EXTERN GLboolean _GLEE_NV_fence; -GLEE_EXTERN GLboolean _GLEE_IBM_texture_mirrored_repeat; -GLEE_EXTERN GLboolean _GLEE_NV_evaluators; -GLEE_EXTERN GLboolean _GLEE_NV_packed_depth_stencil; -GLEE_EXTERN GLboolean _GLEE_NV_register_combiners2; -GLEE_EXTERN GLboolean _GLEE_NV_texture_compression_vtc; -GLEE_EXTERN GLboolean _GLEE_NV_texture_rectangle; -GLEE_EXTERN GLboolean _GLEE_NV_texture_shader; -GLEE_EXTERN GLboolean _GLEE_NV_texture_shader2; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_array_range2; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_program; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_coordinate_clamp; -GLEE_EXTERN GLboolean _GLEE_SGIX_scalebias_hint; -GLEE_EXTERN GLboolean _GLEE_OML_interlace; -GLEE_EXTERN GLboolean _GLEE_OML_subsample; -GLEE_EXTERN GLboolean _GLEE_OML_resample; -GLEE_EXTERN GLboolean _GLEE_NV_copy_depth_to_color; -GLEE_EXTERN GLboolean _GLEE_ATI_envmap_bumpmap; -GLEE_EXTERN GLboolean _GLEE_ATI_fragment_shader; -GLEE_EXTERN GLboolean _GLEE_ATI_pn_triangles; -GLEE_EXTERN GLboolean _GLEE_ATI_vertex_array_object; -GLEE_EXTERN GLboolean _GLEE_EXT_vertex_shader; -GLEE_EXTERN GLboolean _GLEE_ATI_vertex_streams; -GLEE_EXTERN GLboolean _GLEE_ATI_element_array; -GLEE_EXTERN GLboolean _GLEE_SUN_mesh_array; -GLEE_EXTERN GLboolean _GLEE_SUN_slice_accum; -GLEE_EXTERN GLboolean _GLEE_NV_multisample_filter_hint; -GLEE_EXTERN GLboolean _GLEE_NV_depth_clamp; -GLEE_EXTERN GLboolean _GLEE_NV_occlusion_query; -GLEE_EXTERN GLboolean _GLEE_NV_point_sprite; -GLEE_EXTERN GLboolean _GLEE_NV_texture_shader3; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_program1_1; -GLEE_EXTERN GLboolean _GLEE_EXT_shadow_funcs; -GLEE_EXTERN GLboolean _GLEE_EXT_stencil_two_side; -GLEE_EXTERN GLboolean _GLEE_ATI_text_fragment_shader; -GLEE_EXTERN GLboolean _GLEE_APPLE_client_storage; -GLEE_EXTERN GLboolean _GLEE_APPLE_element_array; -GLEE_EXTERN GLboolean _GLEE_APPLE_fence; -GLEE_EXTERN GLboolean _GLEE_APPLE_vertex_array_object; -GLEE_EXTERN GLboolean _GLEE_APPLE_vertex_array_range; -GLEE_EXTERN GLboolean _GLEE_APPLE_ycbcr_422; -GLEE_EXTERN GLboolean _GLEE_S3_s3tc; -GLEE_EXTERN GLboolean _GLEE_ATI_draw_buffers; -GLEE_EXTERN GLboolean _GLEE_ATI_pixel_format_float; -GLEE_EXTERN GLboolean _GLEE_ATI_texture_env_combine3; -GLEE_EXTERN GLboolean _GLEE_ATI_texture_float; -GLEE_EXTERN GLboolean _GLEE_NV_float_buffer; -GLEE_EXTERN GLboolean _GLEE_NV_fragment_program; -GLEE_EXTERN GLboolean _GLEE_NV_half_float; -GLEE_EXTERN GLboolean _GLEE_NV_pixel_data_range; -GLEE_EXTERN GLboolean _GLEE_NV_primitive_restart; -GLEE_EXTERN GLboolean _GLEE_NV_texture_expand_normal; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_program2; -GLEE_EXTERN GLboolean _GLEE_ATI_map_object_buffer; -GLEE_EXTERN GLboolean _GLEE_ATI_separate_stencil; -GLEE_EXTERN GLboolean _GLEE_ATI_vertex_attrib_array_object; -GLEE_EXTERN GLboolean _GLEE_OES_byte_coordinates; -GLEE_EXTERN GLboolean _GLEE_OES_fixed_point; -GLEE_EXTERN GLboolean _GLEE_OES_single_precision; -GLEE_EXTERN GLboolean _GLEE_OES_compressed_paletted_texture; -GLEE_EXTERN GLboolean _GLEE_OES_read_format; -GLEE_EXTERN GLboolean _GLEE_OES_query_matrix; -GLEE_EXTERN GLboolean _GLEE_EXT_depth_bounds_test; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_mirror_clamp; -GLEE_EXTERN GLboolean _GLEE_EXT_blend_equation_separate; -GLEE_EXTERN GLboolean _GLEE_MESA_pack_invert; -GLEE_EXTERN GLboolean _GLEE_MESA_ycbcr_texture; -GLEE_EXTERN GLboolean _GLEE_EXT_pixel_buffer_object; -GLEE_EXTERN GLboolean _GLEE_NV_fragment_program_option; -GLEE_EXTERN GLboolean _GLEE_NV_fragment_program2; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_program2_option; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_program3; -GLEE_EXTERN GLboolean _GLEE_EXT_framebuffer_object; -GLEE_EXTERN GLboolean _GLEE_GREMEDY_string_marker; -GLEE_EXTERN GLboolean _GLEE_EXT_packed_depth_stencil; -GLEE_EXTERN GLboolean _GLEE_EXT_stencil_clear_tag; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_sRGB; -GLEE_EXTERN GLboolean _GLEE_EXT_framebuffer_blit; -GLEE_EXTERN GLboolean _GLEE_EXT_framebuffer_multisample; -GLEE_EXTERN GLboolean _GLEE_MESAX_texture_stack; -GLEE_EXTERN GLboolean _GLEE_EXT_timer_query; -GLEE_EXTERN GLboolean _GLEE_EXT_gpu_program_parameters; -GLEE_EXTERN GLboolean _GLEE_APPLE_flush_buffer_range; -GLEE_EXTERN GLboolean _GLEE_EXT_gpu_shader4; -GLEE_EXTERN GLboolean _GLEE_EXT_draw_instanced; -GLEE_EXTERN GLboolean _GLEE_EXT_packed_float; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_array; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_buffer_object; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_compression_latc; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_compression_rgtc; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_shared_exponent; -GLEE_EXTERN GLboolean _GLEE_NV_depth_buffer_float; -GLEE_EXTERN GLboolean _GLEE_NV_framebuffer_multisample_coverage; -GLEE_EXTERN GLboolean _GLEE_EXT_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_NV_geometry_shader4; -GLEE_EXTERN GLboolean _GLEE_NV_parameter_buffer_object; -GLEE_EXTERN GLboolean _GLEE_EXT_draw_buffers2; -GLEE_EXTERN GLboolean _GLEE_NV_transform_feedback; -GLEE_EXTERN GLboolean _GLEE_EXT_bindable_uniform; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_integer; -GLEE_EXTERN GLboolean _GLEE_GREMEDY_frame_terminator; -GLEE_EXTERN GLboolean _GLEE_NV_conditional_render; -GLEE_EXTERN GLboolean _GLEE_NV_present_video; -GLEE_EXTERN GLboolean _GLEE_EXT_transform_feedback; -GLEE_EXTERN GLboolean _GLEE_EXT_direct_state_access; -GLEE_EXTERN GLboolean _GLEE_EXT_vertex_array_bgra; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_swizzle; -GLEE_EXTERN GLboolean _GLEE_NV_explicit_multisample; -GLEE_EXTERN GLboolean _GLEE_NV_transform_feedback2; -GLEE_EXTERN GLboolean _GLEE_ATI_meminfo; -GLEE_EXTERN GLboolean _GLEE_AMD_performance_monitor; -GLEE_EXTERN GLboolean _GLEE_AMD_texture_texture4; -GLEE_EXTERN GLboolean _GLEE_AMD_vertex_shader_tesselator; -GLEE_EXTERN GLboolean _GLEE_EXT_provoking_vertex; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_snorm; -GLEE_EXTERN GLboolean _GLEE_AMD_draw_buffers_blend; -GLEE_EXTERN GLboolean _GLEE_APPLE_texture_range; -GLEE_EXTERN GLboolean _GLEE_APPLE_float_pixels; -GLEE_EXTERN GLboolean _GLEE_APPLE_vertex_program_evaluators; -GLEE_EXTERN GLboolean _GLEE_APPLE_aux_depth_stencil; -GLEE_EXTERN GLboolean _GLEE_APPLE_object_purgeable; -GLEE_EXTERN GLboolean _GLEE_APPLE_row_bytes; -GLEE_EXTERN GLboolean _GLEE_APPLE_rgb_422; -GLEE_EXTERN GLboolean _GLEE_NV_video_capture; -GLEE_EXTERN GLboolean _GLEE_NV_copy_image; -GLEE_EXTERN GLboolean _GLEE_EXT_separate_shader_objects; -GLEE_EXTERN GLboolean _GLEE_NV_parameter_buffer_object2; -GLEE_EXTERN GLboolean _GLEE_NV_shader_buffer_load; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_buffer_unified_memory; -GLEE_EXTERN GLboolean _GLEE_NV_texture_barrier; -GLEE_EXTERN GLboolean _GLEE_AMD_shader_stencil_export; -GLEE_EXTERN GLboolean _GLEE_AMD_seamless_cubemap_per_texture; -GLEE_EXTERN GLboolean _GLEE_AMD_conservative_depth; -GLEE_EXTERN GLboolean _GLEE_EXT_shader_image_load_store; -GLEE_EXTERN GLboolean _GLEE_EXT_vertex_attrib_64bit; -GLEE_EXTERN GLboolean _GLEE_NV_gpu_program5; -GLEE_EXTERN GLboolean _GLEE_NV_gpu_shader5; -GLEE_EXTERN GLboolean _GLEE_NV_shader_buffer_store; -GLEE_EXTERN GLboolean _GLEE_NV_tessellation_program5; -GLEE_EXTERN GLboolean _GLEE_NV_vertex_attrib_integer_64bit; -GLEE_EXTERN GLboolean _GLEE_NV_multisample_coverage; -GLEE_EXTERN GLboolean _GLEE_AMD_name_gen_delete; -GLEE_EXTERN GLboolean _GLEE_AMD_debug_output; -GLEE_EXTERN GLboolean _GLEE_AMD_transform_feedback3_lines_triangles; -GLEE_EXTERN GLboolean _GLEE_AMD_depth_clamp_separate; -GLEE_EXTERN GLboolean _GLEE_EXT_texture_sRGB_decode; -GLEE_EXTERN GLboolean _GLEE_NV_texture_multisample; -GLEE_EXTERN GLboolean _GLEE_AMD_blend_minmax_factor; -GLEE_EXTERN GLboolean _GLEE_AMD_sample_positions; -GLEE_EXTERN GLboolean _GLEE_EXT_x11_sync_object; -GLEE_EXTERN GLboolean _GLEE_AMD_multi_draw_indirect; -GLEE_EXTERN GLboolean _GLEE_EXT_framebuffer_multisample_blit_scaled; -GLEE_EXTERN GLboolean _GLEE_NV_path_rendering; -GLEE_EXTERN GLboolean _GLEE_AMD_pinned_memory; -GLEE_EXTERN GLboolean _GLEE_AMD_stencil_operation_extended; -GLEE_EXTERN GLboolean _GLEE_AMD_vertex_shader_viewport_index; -GLEE_EXTERN GLboolean _GLEE_AMD_vertex_shader_layer; -GLEE_EXTERN GLboolean _GLEE_NV_bindless_texture; -GLEE_EXTERN GLboolean _GLEE_NV_shader_atomic_float; -GLEE_EXTERN GLboolean _GLEE_AMD_query_buffer_object; -GLEE_EXTERN GLboolean _GLEE_NV_compute_program5; -GLEE_EXTERN GLboolean _GLEE_NV_shader_storage_buffer_object; -GLEE_EXTERN GLboolean _GLEE_NV_shader_atomic_counters; -GLEE_EXTERN GLboolean _GLEE_NV_deep_texture3D; -GLEE_EXTERN GLboolean _GLEE_NVX_conditional_render; -GLEE_EXTERN GLboolean _GLEE_AMD_sparse_texture; -GLEE_EXTERN GLboolean _GLEE_AMD_shader_trinary_minmax; -GLEE_EXTERN GLboolean _GLEE_INTEL_map_texture; -GLEE_EXTERN GLboolean _GLEE_NV_draw_texture; -GLEE_EXTERN GLboolean _GLEE_SGIX_texture_select; -GLEE_EXTERN GLboolean _GLEE_INGR_blend_func_separate; -GLEE_EXTERN GLboolean _GLEE_SGIX_depth_pass_instrument; -GLEE_EXTERN GLboolean _GLEE_SGIX_igloo_interface; - -/* Aliases for extension querying variables */ - -#define GLEE_VERSION_1_2 GLeeEnabled(&_GLEE_VERSION_1_2) -#define GLEE_ARB_imaging GLeeEnabled(&_GLEE_ARB_imaging) -#define GLEE_VERSION_1_3 GLeeEnabled(&_GLEE_VERSION_1_3) -#define GLEE_VERSION_1_4 GLeeEnabled(&_GLEE_VERSION_1_4) -#define GLEE_VERSION_1_5 GLeeEnabled(&_GLEE_VERSION_1_5) -#define GLEE_VERSION_2_0 GLeeEnabled(&_GLEE_VERSION_2_0) -#define GLEE_VERSION_2_1 GLeeEnabled(&_GLEE_VERSION_2_1) -#define GLEE_VERSION_3_0 GLeeEnabled(&_GLEE_VERSION_3_0) -#define GLEE_VERSION_3_1 GLeeEnabled(&_GLEE_VERSION_3_1) -#define GLEE_VERSION_3_2 GLeeEnabled(&_GLEE_VERSION_3_2) -#define GLEE_VERSION_3_3 GLeeEnabled(&_GLEE_VERSION_3_3) -#define GLEE_VERSION_4_0 GLeeEnabled(&_GLEE_VERSION_4_0) -#define GLEE_VERSION_4_1 GLeeEnabled(&_GLEE_VERSION_4_1) -#define GLEE_VERSION_4_2 GLeeEnabled(&_GLEE_VERSION_4_2) -#define GLEE_VERSION_4_3 GLeeEnabled(&_GLEE_VERSION_4_3) -#define GLEE_ARB_multitexture GLeeEnabled(&_GLEE_ARB_multitexture) -#define GLEE_ARB_transpose_matrix GLeeEnabled(&_GLEE_ARB_transpose_matrix) -#define GLEE_ARB_multisample GLeeEnabled(&_GLEE_ARB_multisample) -#define GLEE_ARB_texture_env_add GLeeEnabled(&_GLEE_ARB_texture_env_add) -#define GLEE_ARB_texture_cube_map GLeeEnabled(&_GLEE_ARB_texture_cube_map) -#define GLEE_ARB_texture_compression GLeeEnabled(&_GLEE_ARB_texture_compression) -#define GLEE_ARB_texture_border_clamp GLeeEnabled(&_GLEE_ARB_texture_border_clamp) -#define GLEE_ARB_point_parameters GLeeEnabled(&_GLEE_ARB_point_parameters) -#define GLEE_ARB_vertex_blend GLeeEnabled(&_GLEE_ARB_vertex_blend) -#define GLEE_ARB_matrix_palette GLeeEnabled(&_GLEE_ARB_matrix_palette) -#define GLEE_ARB_texture_env_combine GLeeEnabled(&_GLEE_ARB_texture_env_combine) -#define GLEE_ARB_texture_env_crossbar GLeeEnabled(&_GLEE_ARB_texture_env_crossbar) -#define GLEE_ARB_texture_env_dot3 GLeeEnabled(&_GLEE_ARB_texture_env_dot3) -#define GLEE_ARB_texture_mirrored_repeat GLeeEnabled(&_GLEE_ARB_texture_mirrored_repeat) -#define GLEE_ARB_depth_texture GLeeEnabled(&_GLEE_ARB_depth_texture) -#define GLEE_ARB_shadow GLeeEnabled(&_GLEE_ARB_shadow) -#define GLEE_ARB_shadow_ambient GLeeEnabled(&_GLEE_ARB_shadow_ambient) -#define GLEE_ARB_window_pos GLeeEnabled(&_GLEE_ARB_window_pos) -#define GLEE_ARB_vertex_program GLeeEnabled(&_GLEE_ARB_vertex_program) -#define GLEE_ARB_fragment_program GLeeEnabled(&_GLEE_ARB_fragment_program) -#define GLEE_ARB_vertex_buffer_object GLeeEnabled(&_GLEE_ARB_vertex_buffer_object) -#define GLEE_ARB_occlusion_query GLeeEnabled(&_GLEE_ARB_occlusion_query) -#define GLEE_ARB_shader_objects GLeeEnabled(&_GLEE_ARB_shader_objects) -#define GLEE_ARB_vertex_shader GLeeEnabled(&_GLEE_ARB_vertex_shader) -#define GLEE_ARB_fragment_shader GLeeEnabled(&_GLEE_ARB_fragment_shader) -#define GLEE_ARB_shading_language_100 GLeeEnabled(&_GLEE_ARB_shading_language_100) -#define GLEE_ARB_texture_non_power_of_two GLeeEnabled(&_GLEE_ARB_texture_non_power_of_two) -#define GLEE_ARB_point_sprite GLeeEnabled(&_GLEE_ARB_point_sprite) -#define GLEE_ARB_fragment_program_shadow GLeeEnabled(&_GLEE_ARB_fragment_program_shadow) -#define GLEE_ARB_draw_buffers GLeeEnabled(&_GLEE_ARB_draw_buffers) -#define GLEE_ARB_texture_rectangle GLeeEnabled(&_GLEE_ARB_texture_rectangle) -#define GLEE_ARB_color_buffer_float GLeeEnabled(&_GLEE_ARB_color_buffer_float) -#define GLEE_ARB_half_float_pixel GLeeEnabled(&_GLEE_ARB_half_float_pixel) -#define GLEE_ARB_texture_float GLeeEnabled(&_GLEE_ARB_texture_float) -#define GLEE_ARB_pixel_buffer_object GLeeEnabled(&_GLEE_ARB_pixel_buffer_object) -#define GLEE_ARB_depth_buffer_float GLeeEnabled(&_GLEE_ARB_depth_buffer_float) -#define GLEE_ARB_draw_instanced GLeeEnabled(&_GLEE_ARB_draw_instanced) -#define GLEE_ARB_framebuffer_object GLeeEnabled(&_GLEE_ARB_framebuffer_object) -#define GLEE_ARB_framebuffer_sRGB GLeeEnabled(&_GLEE_ARB_framebuffer_sRGB) -#define GLEE_ARB_geometry_shader4 GLeeEnabled(&_GLEE_ARB_geometry_shader4) -#define GLEE_ARB_half_float_vertex GLeeEnabled(&_GLEE_ARB_half_float_vertex) -#define GLEE_ARB_instanced_arrays GLeeEnabled(&_GLEE_ARB_instanced_arrays) -#define GLEE_ARB_map_buffer_range GLeeEnabled(&_GLEE_ARB_map_buffer_range) -#define GLEE_ARB_texture_buffer_object GLeeEnabled(&_GLEE_ARB_texture_buffer_object) -#define GLEE_ARB_texture_compression_rgtc GLeeEnabled(&_GLEE_ARB_texture_compression_rgtc) -#define GLEE_ARB_texture_rg GLeeEnabled(&_GLEE_ARB_texture_rg) -#define GLEE_ARB_vertex_array_object GLeeEnabled(&_GLEE_ARB_vertex_array_object) -#define GLEE_ARB_uniform_buffer_object GLeeEnabled(&_GLEE_ARB_uniform_buffer_object) -#define GLEE_ARB_compatibility GLeeEnabled(&_GLEE_ARB_compatibility) -#define GLEE_ARB_copy_buffer GLeeEnabled(&_GLEE_ARB_copy_buffer) -#define GLEE_ARB_shader_texture_lod GLeeEnabled(&_GLEE_ARB_shader_texture_lod) -#define GLEE_ARB_depth_clamp GLeeEnabled(&_GLEE_ARB_depth_clamp) -#define GLEE_ARB_draw_elements_base_vertex GLeeEnabled(&_GLEE_ARB_draw_elements_base_vertex) -#define GLEE_ARB_fragment_coord_conventions GLeeEnabled(&_GLEE_ARB_fragment_coord_conventions) -#define GLEE_ARB_provoking_vertex GLeeEnabled(&_GLEE_ARB_provoking_vertex) -#define GLEE_ARB_seamless_cube_map GLeeEnabled(&_GLEE_ARB_seamless_cube_map) -#define GLEE_ARB_sync GLeeEnabled(&_GLEE_ARB_sync) -#define GLEE_ARB_texture_multisample GLeeEnabled(&_GLEE_ARB_texture_multisample) -#define GLEE_ARB_vertex_array_bgra GLeeEnabled(&_GLEE_ARB_vertex_array_bgra) -#define GLEE_ARB_draw_buffers_blend GLeeEnabled(&_GLEE_ARB_draw_buffers_blend) -#define GLEE_ARB_sample_shading GLeeEnabled(&_GLEE_ARB_sample_shading) -#define GLEE_ARB_texture_cube_map_array GLeeEnabled(&_GLEE_ARB_texture_cube_map_array) -#define GLEE_ARB_texture_gather GLeeEnabled(&_GLEE_ARB_texture_gather) -#define GLEE_ARB_texture_query_lod GLeeEnabled(&_GLEE_ARB_texture_query_lod) -#define GLEE_ARB_shading_language_include GLeeEnabled(&_GLEE_ARB_shading_language_include) -#define GLEE_ARB_texture_compression_bptc GLeeEnabled(&_GLEE_ARB_texture_compression_bptc) -#define GLEE_ARB_blend_func_extended GLeeEnabled(&_GLEE_ARB_blend_func_extended) -#define GLEE_ARB_explicit_attrib_location GLeeEnabled(&_GLEE_ARB_explicit_attrib_location) -#define GLEE_ARB_occlusion_query2 GLeeEnabled(&_GLEE_ARB_occlusion_query2) -#define GLEE_ARB_sampler_objects GLeeEnabled(&_GLEE_ARB_sampler_objects) -#define GLEE_ARB_shader_bit_encoding GLeeEnabled(&_GLEE_ARB_shader_bit_encoding) -#define GLEE_ARB_texture_rgb10_a2ui GLeeEnabled(&_GLEE_ARB_texture_rgb10_a2ui) -#define GLEE_ARB_texture_swizzle GLeeEnabled(&_GLEE_ARB_texture_swizzle) -#define GLEE_ARB_timer_query GLeeEnabled(&_GLEE_ARB_timer_query) -#define GLEE_ARB_vertex_type_2_10_10_10_rev GLeeEnabled(&_GLEE_ARB_vertex_type_2_10_10_10_rev) -#define GLEE_ARB_draw_indirect GLeeEnabled(&_GLEE_ARB_draw_indirect) -#define GLEE_ARB_gpu_shader5 GLeeEnabled(&_GLEE_ARB_gpu_shader5) -#define GLEE_ARB_gpu_shader_fp64 GLeeEnabled(&_GLEE_ARB_gpu_shader_fp64) -#define GLEE_ARB_shader_subroutine GLeeEnabled(&_GLEE_ARB_shader_subroutine) -#define GLEE_ARB_tessellation_shader GLeeEnabled(&_GLEE_ARB_tessellation_shader) -#define GLEE_ARB_texture_buffer_object_rgb32 GLeeEnabled(&_GLEE_ARB_texture_buffer_object_rgb32) -#define GLEE_ARB_transform_feedback2 GLeeEnabled(&_GLEE_ARB_transform_feedback2) -#define GLEE_ARB_transform_feedback3 GLeeEnabled(&_GLEE_ARB_transform_feedback3) -#define GLEE_ARB_ES2_compatibility GLeeEnabled(&_GLEE_ARB_ES2_compatibility) -#define GLEE_ARB_get_program_binary GLeeEnabled(&_GLEE_ARB_get_program_binary) -#define GLEE_ARB_separate_shader_objects GLeeEnabled(&_GLEE_ARB_separate_shader_objects) -#define GLEE_ARB_shader_precision GLeeEnabled(&_GLEE_ARB_shader_precision) -#define GLEE_ARB_vertex_attrib_64bit GLeeEnabled(&_GLEE_ARB_vertex_attrib_64bit) -#define GLEE_ARB_viewport_array GLeeEnabled(&_GLEE_ARB_viewport_array) -#define GLEE_ARB_cl_event GLeeEnabled(&_GLEE_ARB_cl_event) -#define GLEE_ARB_debug_output GLeeEnabled(&_GLEE_ARB_debug_output) -#define GLEE_ARB_robustness GLeeEnabled(&_GLEE_ARB_robustness) -#define GLEE_ARB_shader_stencil_export GLeeEnabled(&_GLEE_ARB_shader_stencil_export) -#define GLEE_ARB_base_instance GLeeEnabled(&_GLEE_ARB_base_instance) -#define GLEE_ARB_shading_language_420pack GLeeEnabled(&_GLEE_ARB_shading_language_420pack) -#define GLEE_ARB_transform_feedback_instanced GLeeEnabled(&_GLEE_ARB_transform_feedback_instanced) -#define GLEE_ARB_compressed_texture_pixel_storage GLeeEnabled(&_GLEE_ARB_compressed_texture_pixel_storage) -#define GLEE_ARB_conservative_depth GLeeEnabled(&_GLEE_ARB_conservative_depth) -#define GLEE_ARB_internalformat_query GLeeEnabled(&_GLEE_ARB_internalformat_query) -#define GLEE_ARB_map_buffer_alignment GLeeEnabled(&_GLEE_ARB_map_buffer_alignment) -#define GLEE_ARB_shader_atomic_counters GLeeEnabled(&_GLEE_ARB_shader_atomic_counters) -#define GLEE_ARB_shader_image_load_store GLeeEnabled(&_GLEE_ARB_shader_image_load_store) -#define GLEE_ARB_shading_language_packing GLeeEnabled(&_GLEE_ARB_shading_language_packing) -#define GLEE_ARB_texture_storage GLeeEnabled(&_GLEE_ARB_texture_storage) -#define GLEE_KHR_texture_compression_astc_ldr GLeeEnabled(&_GLEE_KHR_texture_compression_astc_ldr) -#define GLEE_KHR_debug GLeeEnabled(&_GLEE_KHR_debug) -#define GLEE_ARB_arrays_of_arrays GLeeEnabled(&_GLEE_ARB_arrays_of_arrays) -#define GLEE_ARB_clear_buffer_object GLeeEnabled(&_GLEE_ARB_clear_buffer_object) -#define GLEE_ARB_compute_shader GLeeEnabled(&_GLEE_ARB_compute_shader) -#define GLEE_ARB_copy_image GLeeEnabled(&_GLEE_ARB_copy_image) -#define GLEE_ARB_texture_view GLeeEnabled(&_GLEE_ARB_texture_view) -#define GLEE_ARB_vertex_attrib_binding GLeeEnabled(&_GLEE_ARB_vertex_attrib_binding) -#define GLEE_ARB_robustness_isolation GLeeEnabled(&_GLEE_ARB_robustness_isolation) -#define GLEE_ARB_ES3_compatibility GLeeEnabled(&_GLEE_ARB_ES3_compatibility) -#define GLEE_ARB_explicit_uniform_location GLeeEnabled(&_GLEE_ARB_explicit_uniform_location) -#define GLEE_ARB_fragment_layer_viewport GLeeEnabled(&_GLEE_ARB_fragment_layer_viewport) -#define GLEE_ARB_framebuffer_no_attachments GLeeEnabled(&_GLEE_ARB_framebuffer_no_attachments) -#define GLEE_ARB_internalformat_query2 GLeeEnabled(&_GLEE_ARB_internalformat_query2) -#define GLEE_ARB_invalidate_subdata GLeeEnabled(&_GLEE_ARB_invalidate_subdata) -#define GLEE_ARB_multi_draw_indirect GLeeEnabled(&_GLEE_ARB_multi_draw_indirect) -#define GLEE_ARB_program_interface_query GLeeEnabled(&_GLEE_ARB_program_interface_query) -#define GLEE_ARB_robust_buffer_access_behavior GLeeEnabled(&_GLEE_ARB_robust_buffer_access_behavior) -#define GLEE_ARB_shader_image_size GLeeEnabled(&_GLEE_ARB_shader_image_size) -#define GLEE_ARB_shader_storage_buffer_object GLeeEnabled(&_GLEE_ARB_shader_storage_buffer_object) -#define GLEE_ARB_stencil_texturing GLeeEnabled(&_GLEE_ARB_stencil_texturing) -#define GLEE_ARB_texture_buffer_range GLeeEnabled(&_GLEE_ARB_texture_buffer_range) -#define GLEE_ARB_texture_query_levels GLeeEnabled(&_GLEE_ARB_texture_query_levels) -#define GLEE_ARB_texture_storage_multisample GLeeEnabled(&_GLEE_ARB_texture_storage_multisample) -#define GLEE_EXT_abgr GLeeEnabled(&_GLEE_EXT_abgr) -#define GLEE_EXT_blend_color GLeeEnabled(&_GLEE_EXT_blend_color) -#define GLEE_EXT_polygon_offset GLeeEnabled(&_GLEE_EXT_polygon_offset) -#define GLEE_EXT_texture GLeeEnabled(&_GLEE_EXT_texture) -#define GLEE_EXT_texture3D GLeeEnabled(&_GLEE_EXT_texture3D) -#define GLEE_SGIS_texture_filter4 GLeeEnabled(&_GLEE_SGIS_texture_filter4) -#define GLEE_EXT_subtexture GLeeEnabled(&_GLEE_EXT_subtexture) -#define GLEE_EXT_copy_texture GLeeEnabled(&_GLEE_EXT_copy_texture) -#define GLEE_EXT_histogram GLeeEnabled(&_GLEE_EXT_histogram) -#define GLEE_EXT_convolution GLeeEnabled(&_GLEE_EXT_convolution) -#define GLEE_SGI_color_matrix GLeeEnabled(&_GLEE_SGI_color_matrix) -#define GLEE_SGI_color_table GLeeEnabled(&_GLEE_SGI_color_table) -#define GLEE_SGIS_pixel_texture GLeeEnabled(&_GLEE_SGIS_pixel_texture) -#define GLEE_SGIX_pixel_texture GLeeEnabled(&_GLEE_SGIX_pixel_texture) -#define GLEE_SGIS_texture4D GLeeEnabled(&_GLEE_SGIS_texture4D) -#define GLEE_SGI_texture_color_table GLeeEnabled(&_GLEE_SGI_texture_color_table) -#define GLEE_EXT_cmyka GLeeEnabled(&_GLEE_EXT_cmyka) -#define GLEE_EXT_texture_object GLeeEnabled(&_GLEE_EXT_texture_object) -#define GLEE_SGIS_detail_texture GLeeEnabled(&_GLEE_SGIS_detail_texture) -#define GLEE_SGIS_sharpen_texture GLeeEnabled(&_GLEE_SGIS_sharpen_texture) -#define GLEE_EXT_packed_pixels GLeeEnabled(&_GLEE_EXT_packed_pixels) -#define GLEE_SGIS_texture_lod GLeeEnabled(&_GLEE_SGIS_texture_lod) -#define GLEE_SGIS_multisample GLeeEnabled(&_GLEE_SGIS_multisample) -#define GLEE_EXT_rescale_normal GLeeEnabled(&_GLEE_EXT_rescale_normal) -#define GLEE_EXT_vertex_array GLeeEnabled(&_GLEE_EXT_vertex_array) -#define GLEE_EXT_misc_attribute GLeeEnabled(&_GLEE_EXT_misc_attribute) -#define GLEE_SGIS_generate_mipmap GLeeEnabled(&_GLEE_SGIS_generate_mipmap) -#define GLEE_SGIX_clipmap GLeeEnabled(&_GLEE_SGIX_clipmap) -#define GLEE_SGIX_shadow GLeeEnabled(&_GLEE_SGIX_shadow) -#define GLEE_SGIS_texture_edge_clamp GLeeEnabled(&_GLEE_SGIS_texture_edge_clamp) -#define GLEE_SGIS_texture_border_clamp GLeeEnabled(&_GLEE_SGIS_texture_border_clamp) -#define GLEE_EXT_blend_minmax GLeeEnabled(&_GLEE_EXT_blend_minmax) -#define GLEE_EXT_blend_subtract GLeeEnabled(&_GLEE_EXT_blend_subtract) -#define GLEE_EXT_blend_logic_op GLeeEnabled(&_GLEE_EXT_blend_logic_op) -#define GLEE_SGIX_interlace GLeeEnabled(&_GLEE_SGIX_interlace) -#define GLEE_SGIX_pixel_tiles GLeeEnabled(&_GLEE_SGIX_pixel_tiles) -#define GLEE_SGIS_texture_select GLeeEnabled(&_GLEE_SGIS_texture_select) -#define GLEE_SGIX_sprite GLeeEnabled(&_GLEE_SGIX_sprite) -#define GLEE_SGIX_texture_multi_buffer GLeeEnabled(&_GLEE_SGIX_texture_multi_buffer) -#define GLEE_EXT_point_parameters GLeeEnabled(&_GLEE_EXT_point_parameters) -#define GLEE_SGIS_point_parameters GLeeEnabled(&_GLEE_SGIS_point_parameters) -#define GLEE_SGIX_instruments GLeeEnabled(&_GLEE_SGIX_instruments) -#define GLEE_SGIX_texture_scale_bias GLeeEnabled(&_GLEE_SGIX_texture_scale_bias) -#define GLEE_SGIX_framezoom GLeeEnabled(&_GLEE_SGIX_framezoom) -#define GLEE_SGIX_tag_sample_buffer GLeeEnabled(&_GLEE_SGIX_tag_sample_buffer) -#define GLEE_FfdMaskSGIX GLeeEnabled(&_GLEE_FfdMaskSGIX) -#define GLEE_SGIX_polynomial_ffd GLeeEnabled(&_GLEE_SGIX_polynomial_ffd) -#define GLEE_SGIX_reference_plane GLeeEnabled(&_GLEE_SGIX_reference_plane) -#define GLEE_SGIX_flush_raster GLeeEnabled(&_GLEE_SGIX_flush_raster) -#define GLEE_SGIX_depth_texture GLeeEnabled(&_GLEE_SGIX_depth_texture) -#define GLEE_SGIS_fog_function GLeeEnabled(&_GLEE_SGIS_fog_function) -#define GLEE_SGIX_fog_offset GLeeEnabled(&_GLEE_SGIX_fog_offset) -#define GLEE_HP_image_transform GLeeEnabled(&_GLEE_HP_image_transform) -#define GLEE_HP_convolution_border_modes GLeeEnabled(&_GLEE_HP_convolution_border_modes) -#define GLEE_INGR_palette_buffer GLeeEnabled(&_GLEE_INGR_palette_buffer) -#define GLEE_SGIX_texture_add_env GLeeEnabled(&_GLEE_SGIX_texture_add_env) -#define GLEE_EXT_color_subtable GLeeEnabled(&_GLEE_EXT_color_subtable) -#define GLEE_PGI_vertex_hints GLeeEnabled(&_GLEE_PGI_vertex_hints) -#define GLEE_PGI_misc_hints GLeeEnabled(&_GLEE_PGI_misc_hints) -#define GLEE_EXT_paletted_texture GLeeEnabled(&_GLEE_EXT_paletted_texture) -#define GLEE_EXT_clip_volume_hint GLeeEnabled(&_GLEE_EXT_clip_volume_hint) -#define GLEE_SGIX_list_priority GLeeEnabled(&_GLEE_SGIX_list_priority) -#define GLEE_SGIX_ir_instrument1 GLeeEnabled(&_GLEE_SGIX_ir_instrument1) -#define GLEE_SGIX_calligraphic_fragment GLeeEnabled(&_GLEE_SGIX_calligraphic_fragment) -#define GLEE_SGIX_texture_lod_bias GLeeEnabled(&_GLEE_SGIX_texture_lod_bias) -#define GLEE_SGIX_shadow_ambient GLeeEnabled(&_GLEE_SGIX_shadow_ambient) -#define GLEE_EXT_index_texture GLeeEnabled(&_GLEE_EXT_index_texture) -#define GLEE_EXT_index_material GLeeEnabled(&_GLEE_EXT_index_material) -#define GLEE_EXT_index_func GLeeEnabled(&_GLEE_EXT_index_func) -#define GLEE_EXT_index_array_formats GLeeEnabled(&_GLEE_EXT_index_array_formats) -#define GLEE_EXT_compiled_vertex_array GLeeEnabled(&_GLEE_EXT_compiled_vertex_array) -#define GLEE_EXT_cull_vertex GLeeEnabled(&_GLEE_EXT_cull_vertex) -#define GLEE_SGIX_ycrcb GLeeEnabled(&_GLEE_SGIX_ycrcb) -#define GLEE_SGIX_fragment_lighting GLeeEnabled(&_GLEE_SGIX_fragment_lighting) -#define GLEE_IBM_rasterpos_clip GLeeEnabled(&_GLEE_IBM_rasterpos_clip) -#define GLEE_HP_texture_lighting GLeeEnabled(&_GLEE_HP_texture_lighting) -#define GLEE_EXT_draw_range_elements GLeeEnabled(&_GLEE_EXT_draw_range_elements) -#define GLEE_WIN_phong_shading GLeeEnabled(&_GLEE_WIN_phong_shading) -#define GLEE_WIN_specular_fog GLeeEnabled(&_GLEE_WIN_specular_fog) -#define GLEE_EXT_light_texture GLeeEnabled(&_GLEE_EXT_light_texture) -#define GLEE_SGIX_blend_alpha_minmax GLeeEnabled(&_GLEE_SGIX_blend_alpha_minmax) -#define GLEE_SGIX_impact_pixel_texture GLeeEnabled(&_GLEE_SGIX_impact_pixel_texture) -#define GLEE_EXT_bgra GLeeEnabled(&_GLEE_EXT_bgra) -#define GLEE_SGIX_async GLeeEnabled(&_GLEE_SGIX_async) -#define GLEE_SGIX_async_pixel GLeeEnabled(&_GLEE_SGIX_async_pixel) -#define GLEE_SGIX_async_histogram GLeeEnabled(&_GLEE_SGIX_async_histogram) -#define GLEE_INTEL_texture_scissor GLeeEnabled(&_GLEE_INTEL_texture_scissor) -#define GLEE_INTEL_parallel_arrays GLeeEnabled(&_GLEE_INTEL_parallel_arrays) -#define GLEE_HP_occlusion_test GLeeEnabled(&_GLEE_HP_occlusion_test) -#define GLEE_EXT_pixel_transform GLeeEnabled(&_GLEE_EXT_pixel_transform) -#define GLEE_EXT_pixel_transform_color_table GLeeEnabled(&_GLEE_EXT_pixel_transform_color_table) -#define GLEE_EXT_shared_texture_palette GLeeEnabled(&_GLEE_EXT_shared_texture_palette) -#define GLEE_EXT_separate_specular_color GLeeEnabled(&_GLEE_EXT_separate_specular_color) -#define GLEE_EXT_secondary_color GLeeEnabled(&_GLEE_EXT_secondary_color) -#define GLEE_EXT_texture_perturb_normal GLeeEnabled(&_GLEE_EXT_texture_perturb_normal) -#define GLEE_EXT_multi_draw_arrays GLeeEnabled(&_GLEE_EXT_multi_draw_arrays) -#define GLEE_EXT_fog_coord GLeeEnabled(&_GLEE_EXT_fog_coord) -#define GLEE_REND_screen_coordinates GLeeEnabled(&_GLEE_REND_screen_coordinates) -#define GLEE_EXT_coordinate_frame GLeeEnabled(&_GLEE_EXT_coordinate_frame) -#define GLEE_EXT_texture_env_combine GLeeEnabled(&_GLEE_EXT_texture_env_combine) -#define GLEE_APPLE_specular_vector GLeeEnabled(&_GLEE_APPLE_specular_vector) -#define GLEE_APPLE_transform_hint GLeeEnabled(&_GLEE_APPLE_transform_hint) -#define GLEE_SGIX_fog_scale GLeeEnabled(&_GLEE_SGIX_fog_scale) -#define GLEE_SUNX_constant_data GLeeEnabled(&_GLEE_SUNX_constant_data) -#define GLEE_SUN_global_alpha GLeeEnabled(&_GLEE_SUN_global_alpha) -#define GLEE_SUN_triangle_list GLeeEnabled(&_GLEE_SUN_triangle_list) -#define GLEE_SUN_vertex GLeeEnabled(&_GLEE_SUN_vertex) -#define GLEE_EXT_blend_func_separate GLeeEnabled(&_GLEE_EXT_blend_func_separate) -#define GLEE_INGR_color_clamp GLeeEnabled(&_GLEE_INGR_color_clamp) -#define GLEE_INGR_interlace_read GLeeEnabled(&_GLEE_INGR_interlace_read) -#define GLEE_EXT_stencil_wrap GLeeEnabled(&_GLEE_EXT_stencil_wrap) -#define GLEE_EXT_422_pixels GLeeEnabled(&_GLEE_EXT_422_pixels) -#define GLEE_NV_texgen_reflection GLeeEnabled(&_GLEE_NV_texgen_reflection) -#define GLEE_EXT_texture_cube_map GLeeEnabled(&_GLEE_EXT_texture_cube_map) -#define GLEE_SUN_convolution_border_modes GLeeEnabled(&_GLEE_SUN_convolution_border_modes) -#define GLEE_EXT_texture_env_add GLeeEnabled(&_GLEE_EXT_texture_env_add) -#define GLEE_EXT_texture_lod_bias GLeeEnabled(&_GLEE_EXT_texture_lod_bias) -#define GLEE_EXT_texture_filter_anisotropic GLeeEnabled(&_GLEE_EXT_texture_filter_anisotropic) -#define GLEE_EXT_vertex_weighting GLeeEnabled(&_GLEE_EXT_vertex_weighting) -#define GLEE_NV_light_max_exponent GLeeEnabled(&_GLEE_NV_light_max_exponent) -#define GLEE_NV_vertex_array_range GLeeEnabled(&_GLEE_NV_vertex_array_range) -#define GLEE_NV_register_combiners GLeeEnabled(&_GLEE_NV_register_combiners) -#define GLEE_NV_fog_distance GLeeEnabled(&_GLEE_NV_fog_distance) -#define GLEE_NV_texgen_emboss GLeeEnabled(&_GLEE_NV_texgen_emboss) -#define GLEE_NV_blend_square GLeeEnabled(&_GLEE_NV_blend_square) -#define GLEE_NV_texture_env_combine4 GLeeEnabled(&_GLEE_NV_texture_env_combine4) -#define GLEE_MESA_resize_buffers GLeeEnabled(&_GLEE_MESA_resize_buffers) -#define GLEE_MESA_window_pos GLeeEnabled(&_GLEE_MESA_window_pos) -#define GLEE_EXT_texture_compression_s3tc GLeeEnabled(&_GLEE_EXT_texture_compression_s3tc) -#define GLEE_IBM_cull_vertex GLeeEnabled(&_GLEE_IBM_cull_vertex) -#define GLEE_IBM_multimode_draw_arrays GLeeEnabled(&_GLEE_IBM_multimode_draw_arrays) -#define GLEE_IBM_vertex_array_lists GLeeEnabled(&_GLEE_IBM_vertex_array_lists) -#define GLEE_SGIX_subsample GLeeEnabled(&_GLEE_SGIX_subsample) -#define GLEE_SGIX_ycrcb_subsample GLeeEnabled(&_GLEE_SGIX_ycrcb_subsample) -#define GLEE_SGIX_ycrcba GLeeEnabled(&_GLEE_SGIX_ycrcba) -#define GLEE_SGI_depth_pass_instrument GLeeEnabled(&_GLEE_SGI_depth_pass_instrument) -#define GLEE_3DFX_texture_compression_FXT1 GLeeEnabled(&_GLEE_3DFX_texture_compression_FXT1) -#define GLEE_3DFX_multisample GLeeEnabled(&_GLEE_3DFX_multisample) -#define GLEE_3DFX_tbuffer GLeeEnabled(&_GLEE_3DFX_tbuffer) -#define GLEE_EXT_multisample GLeeEnabled(&_GLEE_EXT_multisample) -#define GLEE_SGIX_vertex_preclip GLeeEnabled(&_GLEE_SGIX_vertex_preclip) -#define GLEE_SGIX_convolution_accuracy GLeeEnabled(&_GLEE_SGIX_convolution_accuracy) -#define GLEE_SGIX_resample GLeeEnabled(&_GLEE_SGIX_resample) -#define GLEE_SGIS_point_line_texgen GLeeEnabled(&_GLEE_SGIS_point_line_texgen) -#define GLEE_SGIS_texture_color_mask GLeeEnabled(&_GLEE_SGIS_texture_color_mask) -#define GLEE_EXT_texture_env_dot3 GLeeEnabled(&_GLEE_EXT_texture_env_dot3) -#define GLEE_ATI_texture_mirror_once GLeeEnabled(&_GLEE_ATI_texture_mirror_once) -#define GLEE_NV_fence GLeeEnabled(&_GLEE_NV_fence) -#define GLEE_IBM_texture_mirrored_repeat GLeeEnabled(&_GLEE_IBM_texture_mirrored_repeat) -#define GLEE_NV_evaluators GLeeEnabled(&_GLEE_NV_evaluators) -#define GLEE_NV_packed_depth_stencil GLeeEnabled(&_GLEE_NV_packed_depth_stencil) -#define GLEE_NV_register_combiners2 GLeeEnabled(&_GLEE_NV_register_combiners2) -#define GLEE_NV_texture_compression_vtc GLeeEnabled(&_GLEE_NV_texture_compression_vtc) -#define GLEE_NV_texture_rectangle GLeeEnabled(&_GLEE_NV_texture_rectangle) -#define GLEE_NV_texture_shader GLeeEnabled(&_GLEE_NV_texture_shader) -#define GLEE_NV_texture_shader2 GLeeEnabled(&_GLEE_NV_texture_shader2) -#define GLEE_NV_vertex_array_range2 GLeeEnabled(&_GLEE_NV_vertex_array_range2) -#define GLEE_NV_vertex_program GLeeEnabled(&_GLEE_NV_vertex_program) -#define GLEE_SGIX_texture_coordinate_clamp GLeeEnabled(&_GLEE_SGIX_texture_coordinate_clamp) -#define GLEE_SGIX_scalebias_hint GLeeEnabled(&_GLEE_SGIX_scalebias_hint) -#define GLEE_OML_interlace GLeeEnabled(&_GLEE_OML_interlace) -#define GLEE_OML_subsample GLeeEnabled(&_GLEE_OML_subsample) -#define GLEE_OML_resample GLeeEnabled(&_GLEE_OML_resample) -#define GLEE_NV_copy_depth_to_color GLeeEnabled(&_GLEE_NV_copy_depth_to_color) -#define GLEE_ATI_envmap_bumpmap GLeeEnabled(&_GLEE_ATI_envmap_bumpmap) -#define GLEE_ATI_fragment_shader GLeeEnabled(&_GLEE_ATI_fragment_shader) -#define GLEE_ATI_pn_triangles GLeeEnabled(&_GLEE_ATI_pn_triangles) -#define GLEE_ATI_vertex_array_object GLeeEnabled(&_GLEE_ATI_vertex_array_object) -#define GLEE_EXT_vertex_shader GLeeEnabled(&_GLEE_EXT_vertex_shader) -#define GLEE_ATI_vertex_streams GLeeEnabled(&_GLEE_ATI_vertex_streams) -#define GLEE_ATI_element_array GLeeEnabled(&_GLEE_ATI_element_array) -#define GLEE_SUN_mesh_array GLeeEnabled(&_GLEE_SUN_mesh_array) -#define GLEE_SUN_slice_accum GLeeEnabled(&_GLEE_SUN_slice_accum) -#define GLEE_NV_multisample_filter_hint GLeeEnabled(&_GLEE_NV_multisample_filter_hint) -#define GLEE_NV_depth_clamp GLeeEnabled(&_GLEE_NV_depth_clamp) -#define GLEE_NV_occlusion_query GLeeEnabled(&_GLEE_NV_occlusion_query) -#define GLEE_NV_point_sprite GLeeEnabled(&_GLEE_NV_point_sprite) -#define GLEE_NV_texture_shader3 GLeeEnabled(&_GLEE_NV_texture_shader3) -#define GLEE_NV_vertex_program1_1 GLeeEnabled(&_GLEE_NV_vertex_program1_1) -#define GLEE_EXT_shadow_funcs GLeeEnabled(&_GLEE_EXT_shadow_funcs) -#define GLEE_EXT_stencil_two_side GLeeEnabled(&_GLEE_EXT_stencil_two_side) -#define GLEE_ATI_text_fragment_shader GLeeEnabled(&_GLEE_ATI_text_fragment_shader) -#define GLEE_APPLE_client_storage GLeeEnabled(&_GLEE_APPLE_client_storage) -#define GLEE_APPLE_element_array GLeeEnabled(&_GLEE_APPLE_element_array) -#define GLEE_APPLE_fence GLeeEnabled(&_GLEE_APPLE_fence) -#define GLEE_APPLE_vertex_array_object GLeeEnabled(&_GLEE_APPLE_vertex_array_object) -#define GLEE_APPLE_vertex_array_range GLeeEnabled(&_GLEE_APPLE_vertex_array_range) -#define GLEE_APPLE_ycbcr_422 GLeeEnabled(&_GLEE_APPLE_ycbcr_422) -#define GLEE_S3_s3tc GLeeEnabled(&_GLEE_S3_s3tc) -#define GLEE_ATI_draw_buffers GLeeEnabled(&_GLEE_ATI_draw_buffers) -#define GLEE_ATI_pixel_format_float GLeeEnabled(&_GLEE_ATI_pixel_format_float) -#define GLEE_ATI_texture_env_combine3 GLeeEnabled(&_GLEE_ATI_texture_env_combine3) -#define GLEE_ATI_texture_float GLeeEnabled(&_GLEE_ATI_texture_float) -#define GLEE_NV_float_buffer GLeeEnabled(&_GLEE_NV_float_buffer) -#define GLEE_NV_fragment_program GLeeEnabled(&_GLEE_NV_fragment_program) -#define GLEE_NV_half_float GLeeEnabled(&_GLEE_NV_half_float) -#define GLEE_NV_pixel_data_range GLeeEnabled(&_GLEE_NV_pixel_data_range) -#define GLEE_NV_primitive_restart GLeeEnabled(&_GLEE_NV_primitive_restart) -#define GLEE_NV_texture_expand_normal GLeeEnabled(&_GLEE_NV_texture_expand_normal) -#define GLEE_NV_vertex_program2 GLeeEnabled(&_GLEE_NV_vertex_program2) -#define GLEE_ATI_map_object_buffer GLeeEnabled(&_GLEE_ATI_map_object_buffer) -#define GLEE_ATI_separate_stencil GLeeEnabled(&_GLEE_ATI_separate_stencil) -#define GLEE_ATI_vertex_attrib_array_object GLeeEnabled(&_GLEE_ATI_vertex_attrib_array_object) -#define GLEE_OES_byte_coordinates GLeeEnabled(&_GLEE_OES_byte_coordinates) -#define GLEE_OES_fixed_point GLeeEnabled(&_GLEE_OES_fixed_point) -#define GLEE_OES_single_precision GLeeEnabled(&_GLEE_OES_single_precision) -#define GLEE_OES_compressed_paletted_texture GLeeEnabled(&_GLEE_OES_compressed_paletted_texture) -#define GLEE_OES_read_format GLeeEnabled(&_GLEE_OES_read_format) -#define GLEE_OES_query_matrix GLeeEnabled(&_GLEE_OES_query_matrix) -#define GLEE_EXT_depth_bounds_test GLeeEnabled(&_GLEE_EXT_depth_bounds_test) -#define GLEE_EXT_texture_mirror_clamp GLeeEnabled(&_GLEE_EXT_texture_mirror_clamp) -#define GLEE_EXT_blend_equation_separate GLeeEnabled(&_GLEE_EXT_blend_equation_separate) -#define GLEE_MESA_pack_invert GLeeEnabled(&_GLEE_MESA_pack_invert) -#define GLEE_MESA_ycbcr_texture GLeeEnabled(&_GLEE_MESA_ycbcr_texture) -#define GLEE_EXT_pixel_buffer_object GLeeEnabled(&_GLEE_EXT_pixel_buffer_object) -#define GLEE_NV_fragment_program_option GLeeEnabled(&_GLEE_NV_fragment_program_option) -#define GLEE_NV_fragment_program2 GLeeEnabled(&_GLEE_NV_fragment_program2) -#define GLEE_NV_vertex_program2_option GLeeEnabled(&_GLEE_NV_vertex_program2_option) -#define GLEE_NV_vertex_program3 GLeeEnabled(&_GLEE_NV_vertex_program3) -#define GLEE_EXT_framebuffer_object GLeeEnabled(&_GLEE_EXT_framebuffer_object) -#define GLEE_GREMEDY_string_marker GLeeEnabled(&_GLEE_GREMEDY_string_marker) -#define GLEE_EXT_packed_depth_stencil GLeeEnabled(&_GLEE_EXT_packed_depth_stencil) -#define GLEE_EXT_stencil_clear_tag GLeeEnabled(&_GLEE_EXT_stencil_clear_tag) -#define GLEE_EXT_texture_sRGB GLeeEnabled(&_GLEE_EXT_texture_sRGB) -#define GLEE_EXT_framebuffer_blit GLeeEnabled(&_GLEE_EXT_framebuffer_blit) -#define GLEE_EXT_framebuffer_multisample GLeeEnabled(&_GLEE_EXT_framebuffer_multisample) -#define GLEE_MESAX_texture_stack GLeeEnabled(&_GLEE_MESAX_texture_stack) -#define GLEE_EXT_timer_query GLeeEnabled(&_GLEE_EXT_timer_query) -#define GLEE_EXT_gpu_program_parameters GLeeEnabled(&_GLEE_EXT_gpu_program_parameters) -#define GLEE_APPLE_flush_buffer_range GLeeEnabled(&_GLEE_APPLE_flush_buffer_range) -#define GLEE_EXT_gpu_shader4 GLeeEnabled(&_GLEE_EXT_gpu_shader4) -#define GLEE_EXT_draw_instanced GLeeEnabled(&_GLEE_EXT_draw_instanced) -#define GLEE_EXT_packed_float GLeeEnabled(&_GLEE_EXT_packed_float) -#define GLEE_EXT_texture_array GLeeEnabled(&_GLEE_EXT_texture_array) -#define GLEE_EXT_texture_buffer_object GLeeEnabled(&_GLEE_EXT_texture_buffer_object) -#define GLEE_EXT_texture_compression_latc GLeeEnabled(&_GLEE_EXT_texture_compression_latc) -#define GLEE_EXT_texture_compression_rgtc GLeeEnabled(&_GLEE_EXT_texture_compression_rgtc) -#define GLEE_EXT_texture_shared_exponent GLeeEnabled(&_GLEE_EXT_texture_shared_exponent) -#define GLEE_NV_depth_buffer_float GLeeEnabled(&_GLEE_NV_depth_buffer_float) -#define GLEE_NV_framebuffer_multisample_coverage GLeeEnabled(&_GLEE_NV_framebuffer_multisample_coverage) -#define GLEE_EXT_framebuffer_sRGB GLeeEnabled(&_GLEE_EXT_framebuffer_sRGB) -#define GLEE_NV_geometry_shader4 GLeeEnabled(&_GLEE_NV_geometry_shader4) -#define GLEE_NV_parameter_buffer_object GLeeEnabled(&_GLEE_NV_parameter_buffer_object) -#define GLEE_EXT_draw_buffers2 GLeeEnabled(&_GLEE_EXT_draw_buffers2) -#define GLEE_NV_transform_feedback GLeeEnabled(&_GLEE_NV_transform_feedback) -#define GLEE_EXT_bindable_uniform GLeeEnabled(&_GLEE_EXT_bindable_uniform) -#define GLEE_EXT_texture_integer GLeeEnabled(&_GLEE_EXT_texture_integer) -#define GLEE_GREMEDY_frame_terminator GLeeEnabled(&_GLEE_GREMEDY_frame_terminator) -#define GLEE_NV_conditional_render GLeeEnabled(&_GLEE_NV_conditional_render) -#define GLEE_NV_present_video GLeeEnabled(&_GLEE_NV_present_video) -#define GLEE_EXT_transform_feedback GLeeEnabled(&_GLEE_EXT_transform_feedback) -#define GLEE_EXT_direct_state_access GLeeEnabled(&_GLEE_EXT_direct_state_access) -#define GLEE_EXT_vertex_array_bgra GLeeEnabled(&_GLEE_EXT_vertex_array_bgra) -#define GLEE_EXT_texture_swizzle GLeeEnabled(&_GLEE_EXT_texture_swizzle) -#define GLEE_NV_explicit_multisample GLeeEnabled(&_GLEE_NV_explicit_multisample) -#define GLEE_NV_transform_feedback2 GLeeEnabled(&_GLEE_NV_transform_feedback2) -#define GLEE_ATI_meminfo GLeeEnabled(&_GLEE_ATI_meminfo) -#define GLEE_AMD_performance_monitor GLeeEnabled(&_GLEE_AMD_performance_monitor) -#define GLEE_AMD_texture_texture4 GLeeEnabled(&_GLEE_AMD_texture_texture4) -#define GLEE_AMD_vertex_shader_tesselator GLeeEnabled(&_GLEE_AMD_vertex_shader_tesselator) -#define GLEE_EXT_provoking_vertex GLeeEnabled(&_GLEE_EXT_provoking_vertex) -#define GLEE_EXT_texture_snorm GLeeEnabled(&_GLEE_EXT_texture_snorm) -#define GLEE_AMD_draw_buffers_blend GLeeEnabled(&_GLEE_AMD_draw_buffers_blend) -#define GLEE_APPLE_texture_range GLeeEnabled(&_GLEE_APPLE_texture_range) -#define GLEE_APPLE_float_pixels GLeeEnabled(&_GLEE_APPLE_float_pixels) -#define GLEE_APPLE_vertex_program_evaluators GLeeEnabled(&_GLEE_APPLE_vertex_program_evaluators) -#define GLEE_APPLE_aux_depth_stencil GLeeEnabled(&_GLEE_APPLE_aux_depth_stencil) -#define GLEE_APPLE_object_purgeable GLeeEnabled(&_GLEE_APPLE_object_purgeable) -#define GLEE_APPLE_row_bytes GLeeEnabled(&_GLEE_APPLE_row_bytes) -#define GLEE_APPLE_rgb_422 GLeeEnabled(&_GLEE_APPLE_rgb_422) -#define GLEE_NV_video_capture GLeeEnabled(&_GLEE_NV_video_capture) -#define GLEE_NV_copy_image GLeeEnabled(&_GLEE_NV_copy_image) -#define GLEE_EXT_separate_shader_objects GLeeEnabled(&_GLEE_EXT_separate_shader_objects) -#define GLEE_NV_parameter_buffer_object2 GLeeEnabled(&_GLEE_NV_parameter_buffer_object2) -#define GLEE_NV_shader_buffer_load GLeeEnabled(&_GLEE_NV_shader_buffer_load) -#define GLEE_NV_vertex_buffer_unified_memory GLeeEnabled(&_GLEE_NV_vertex_buffer_unified_memory) -#define GLEE_NV_texture_barrier GLeeEnabled(&_GLEE_NV_texture_barrier) -#define GLEE_AMD_shader_stencil_export GLeeEnabled(&_GLEE_AMD_shader_stencil_export) -#define GLEE_AMD_seamless_cubemap_per_texture GLeeEnabled(&_GLEE_AMD_seamless_cubemap_per_texture) -#define GLEE_AMD_conservative_depth GLeeEnabled(&_GLEE_AMD_conservative_depth) -#define GLEE_EXT_shader_image_load_store GLeeEnabled(&_GLEE_EXT_shader_image_load_store) -#define GLEE_EXT_vertex_attrib_64bit GLeeEnabled(&_GLEE_EXT_vertex_attrib_64bit) -#define GLEE_NV_gpu_program5 GLeeEnabled(&_GLEE_NV_gpu_program5) -#define GLEE_NV_gpu_shader5 GLeeEnabled(&_GLEE_NV_gpu_shader5) -#define GLEE_NV_shader_buffer_store GLeeEnabled(&_GLEE_NV_shader_buffer_store) -#define GLEE_NV_tessellation_program5 GLeeEnabled(&_GLEE_NV_tessellation_program5) -#define GLEE_NV_vertex_attrib_integer_64bit GLeeEnabled(&_GLEE_NV_vertex_attrib_integer_64bit) -#define GLEE_NV_multisample_coverage GLeeEnabled(&_GLEE_NV_multisample_coverage) -#define GLEE_AMD_name_gen_delete GLeeEnabled(&_GLEE_AMD_name_gen_delete) -#define GLEE_AMD_debug_output GLeeEnabled(&_GLEE_AMD_debug_output) -#define GLEE_AMD_transform_feedback3_lines_triangles GLeeEnabled(&_GLEE_AMD_transform_feedback3_lines_triangles) -#define GLEE_AMD_depth_clamp_separate GLeeEnabled(&_GLEE_AMD_depth_clamp_separate) -#define GLEE_EXT_texture_sRGB_decode GLeeEnabled(&_GLEE_EXT_texture_sRGB_decode) -#define GLEE_NV_texture_multisample GLeeEnabled(&_GLEE_NV_texture_multisample) -#define GLEE_AMD_blend_minmax_factor GLeeEnabled(&_GLEE_AMD_blend_minmax_factor) -#define GLEE_AMD_sample_positions GLeeEnabled(&_GLEE_AMD_sample_positions) -#define GLEE_EXT_x11_sync_object GLeeEnabled(&_GLEE_EXT_x11_sync_object) -#define GLEE_AMD_multi_draw_indirect GLeeEnabled(&_GLEE_AMD_multi_draw_indirect) -#define GLEE_EXT_framebuffer_multisample_blit_scaled GLeeEnabled(&_GLEE_EXT_framebuffer_multisample_blit_scaled) -#define GLEE_NV_path_rendering GLeeEnabled(&_GLEE_NV_path_rendering) -#define GLEE_AMD_pinned_memory GLeeEnabled(&_GLEE_AMD_pinned_memory) -#define GLEE_AMD_stencil_operation_extended GLeeEnabled(&_GLEE_AMD_stencil_operation_extended) -#define GLEE_AMD_vertex_shader_viewport_index GLeeEnabled(&_GLEE_AMD_vertex_shader_viewport_index) -#define GLEE_AMD_vertex_shader_layer GLeeEnabled(&_GLEE_AMD_vertex_shader_layer) -#define GLEE_NV_bindless_texture GLeeEnabled(&_GLEE_NV_bindless_texture) -#define GLEE_NV_shader_atomic_float GLeeEnabled(&_GLEE_NV_shader_atomic_float) -#define GLEE_AMD_query_buffer_object GLeeEnabled(&_GLEE_AMD_query_buffer_object) -#define GLEE_NV_compute_program5 GLeeEnabled(&_GLEE_NV_compute_program5) -#define GLEE_NV_shader_storage_buffer_object GLeeEnabled(&_GLEE_NV_shader_storage_buffer_object) -#define GLEE_NV_shader_atomic_counters GLeeEnabled(&_GLEE_NV_shader_atomic_counters) -#define GLEE_NV_deep_texture3D GLeeEnabled(&_GLEE_NV_deep_texture3D) -#define GLEE_NVX_conditional_render GLeeEnabled(&_GLEE_NVX_conditional_render) -#define GLEE_AMD_sparse_texture GLeeEnabled(&_GLEE_AMD_sparse_texture) -#define GLEE_AMD_shader_trinary_minmax GLeeEnabled(&_GLEE_AMD_shader_trinary_minmax) -#define GLEE_INTEL_map_texture GLeeEnabled(&_GLEE_INTEL_map_texture) -#define GLEE_NV_draw_texture GLeeEnabled(&_GLEE_NV_draw_texture) -#define GLEE_SGIX_texture_select GLeeEnabled(&_GLEE_SGIX_texture_select) -#define GLEE_INGR_blend_func_separate GLeeEnabled(&_GLEE_INGR_blend_func_separate) -#define GLEE_SGIX_depth_pass_instrument GLeeEnabled(&_GLEE_SGIX_depth_pass_instrument) -#define GLEE_SGIX_igloo_interface GLeeEnabled(&_GLEE_SGIX_igloo_interface) - - -/***************************************************************** - * Additional types needed for extensions - *****************************************************************/ - -/* Used for GLSL shader text */ -#ifndef GL_VERSION_2_0 - typedef char GLchar; -#endif - -#ifdef _MSC_VER - #if _MSC_VER >= 1600 - #include - #else - typedef __int32 int32_t; - typedef unsigned __int32 uint32_t; - typedef __int64 int64_t; - typedef unsigned __int64 uint64_t; - #endif -#else - #include - #include -#endif - -#ifndef GL_VERSION_1_5 - typedef ptrdiff_t GLintptr; - typedef ptrdiff_t GLsizeiptr; -#endif - -#ifndef GL_NV_half_float - typedef unsigned short GLhalfNV; -#endif - -#ifndef GL_ARB_vertex_buffer_object - /* awful hack to work around issue with GLee and Mac OS 10.9's gltypes.h */ -#if defined(__APPLE__) - typedef long GLintptrARB; - typedef long GLsizeiptrARB; -#else - typedef ptrdiff_t GLintptrARB; - typedef ptrdiff_t GLsizeiptrARB; -#endif -#endif - -#ifndef GL_ARB_shader_objects -#if defined(__APPLE__) - typedef void *GLhandleARB; -#else - typedef int GLhandleARB; -#endif - typedef char GLcharARB; -#endif - -#ifndef GL_EXT_timer_query - typedef signed long long GLint64EXT; - typedef unsigned long long GLuint64EXT; -#endif - -#ifndef GL_ARB_sync - typedef int64_t GLint64; - typedef uint64_t GLuint64; - typedef struct __GLsync *GLsync; -#endif - -#ifndef GL_ARB_cl_event - /* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */ - struct _cl_context; - struct _cl_event; -#endif - -#ifndef GL_ARB_debug_output - typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); -#endif - -#ifndef GL_AMD_debug_output - typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); -#endif - -#ifndef GL_KHR_debug - typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); -#endif - -#ifndef GL_NV_vdpau_interop - typedef GLintptr GLvdpauSurfaceNV; -#endif - -#ifndef GL_OES_fixed_point - /* GLint must be 32 bits, a relatively safe assumption on modern CPUs */ - typedef GLint GLfixed; -#endif - -/* Platform-specific */ - -#ifdef _WIN32 - - /* WGL */ - - #ifndef WGL_ARB_pbuffer - DECLARE_HANDLE(HPBUFFERARB); - #endif - - #ifndef WGL_EXT_pbuffer - DECLARE_HANDLE(HPBUFFEREXT); - #endif - - #ifndef WGL_NV_video_output - DECLARE_HANDLE(HPVIDEODEV); - #endif - - #ifndef WGL_NV_present_video - DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); - #endif - - #ifndef WGL_NV_gpu_affinity - DECLARE_HANDLE(HPGPUNV); - DECLARE_HANDLE(HGPUNV); - - typedef struct _GPU_DEVICE { - DWORD cb; - CHAR DeviceName[32]; - CHAR DeviceString[128]; - DWORD Flags; - RECT rcVirtualScreen; - } GPU_DEVICE, *PGPU_DEVICE; - #endif - - #ifndef WGL_NV_video_capture - DECLARE_HANDLE(HVIDEOINPUTDEVICENV); - #endif - -#elif defined(__APPLE__) || defined(__APPLE_CC__) - - /* Mac OS X */ - -#else - - /* GLX */ - - typedef void (*__GLXextFuncPtr)(void); - - #ifndef GLX_ARB_get_proc_address - #define GLX_ARB_get_proc_address 1 - extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *); - extern void ( * glXGetProcAddressARB (const GLubyte *procName))(void); - typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName); - #endif - - #ifndef GLX_SGIX_fbconfig - typedef XID GLXFBConfigIDSGIX; - typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; - #endif - - #ifndef GLX_SGIX_pbuffer - typedef XID GLXPbufferSGIX; - typedef struct { - int type; - unsigned long serial; - Bool send_event; - Display *display; - GLXDrawable drawable; - int event_type; - int draw_type; - unsigned int mask; - int x, y; - int width, height; - int count; - } GLXBufferClobberEventSGIX; - #endif - - #ifndef GLX_SGIX_hyperpipe - #define _GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 - typedef struct - { - char pipeName[_GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int networkId; - } GLXHyperpipeNetworkSGIX; - - typedef struct - { - char pipeName[_GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int channel; - unsigned int participationType; - int timeSlice; - } GLXHyperpipeConfigSGIX; - - typedef struct - { - char pipeName[_GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int srcXOrigin; - int srcYOrigin; - int srcWidth; - int srcHeight; - int destXOrigin; - int destYOrigin; - int destWidth; - int destHeight; - } GLXPipeRect; - - typedef struct - { - char pipeName[_GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; - int XOrigin; - int YOrigin; - int maxHeight; - int maxWidth; - } GLXPipeRectLimits; - #endif - - #ifndef GLX_NV_video_output - typedef unsigned int GLXVideoDeviceNV; - #endif // GLX_NV_video_output - - #ifndef GLX_NV_video_capture - typedef XID GLXVideoCaptureDeviceNV; - #endif // GLX_NV_video_output - -#endif /* end platform specific */ - - - -/* GL_VERSION_1_2 */ - -#ifndef GL_VERSION_1_2 -#define GL_VERSION_1_2 1 -#define __GLEE_GL_VERSION_1_2 1 -/* Constants */ -#define GL_UNSIGNED_BYTE_3_3_2 0x8032 -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_INT_8_8_8_8 0x8035 -#define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_TEXTURE_BINDING_3D 0x806A -#define GL_PACK_SKIP_IMAGES 0x806B -#define GL_PACK_IMAGE_HEIGHT 0x806C -#define GL_UNPACK_SKIP_IMAGES 0x806D -#define GL_UNPACK_IMAGE_HEIGHT 0x806E -#define GL_TEXTURE_3D 0x806F -#define GL_PROXY_TEXTURE_3D 0x8070 -#define GL_TEXTURE_DEPTH 0x8071 -#define GL_TEXTURE_WRAP_R 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 -#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 -#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_BGR 0x80E0 -#define GL_BGRA 0x80E1 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_TEXTURE_MIN_LOD 0x813A -#define GL_TEXTURE_MAX_LOD 0x813B -#define GL_TEXTURE_BASE_LEVEL 0x813C -#define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 -#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 -#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E -#define GL_RESCALE_NORMAL 0x803A -#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 -#define GL_SINGLE_COLOR 0x81F9 -#define GL_SEPARATE_SPECULAR_COLOR 0x81FA -#define GL_ALIASED_POINT_SIZE_RANGE 0x846D -#ifndef GLEE_H_DEFINED_glBlendColor -#define GLEE_H_DEFINED_glBlendColor - typedef void (APIENTRYP GLEEPFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - GLEE_EXTERN GLEEPFNGLBLENDCOLORPROC GLeeFuncPtr_glBlendColor; - #define glBlendColor GLeeFuncPtr_glBlendColor -#endif -#ifndef GLEE_H_DEFINED_glBlendEquation -#define GLEE_H_DEFINED_glBlendEquation - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONPROC GLeeFuncPtr_glBlendEquation; - #define glBlendEquation GLeeFuncPtr_glBlendEquation -#endif -#ifndef GLEE_H_DEFINED_glDrawRangeElements -#define GLEE_H_DEFINED_glDrawRangeElements - typedef void (APIENTRYP GLEEPFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); - GLEE_EXTERN GLEEPFNGLDRAWRANGEELEMENTSPROC GLeeFuncPtr_glDrawRangeElements; - #define glDrawRangeElements GLeeFuncPtr_glDrawRangeElements -#endif -#ifndef GLEE_H_DEFINED_glTexImage3D -#define GLEE_H_DEFINED_glTexImage3D - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXIMAGE3DPROC GLeeFuncPtr_glTexImage3D; - #define glTexImage3D GLeeFuncPtr_glTexImage3D -#endif -#ifndef GLEE_H_DEFINED_glTexSubImage3D -#define GLEE_H_DEFINED_glTexSubImage3D - typedef void (APIENTRYP GLEEPFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXSUBIMAGE3DPROC GLeeFuncPtr_glTexSubImage3D; - #define glTexSubImage3D GLeeFuncPtr_glTexSubImage3D -#endif -#ifndef GLEE_H_DEFINED_glCopyTexSubImage3D -#define GLEE_H_DEFINED_glCopyTexSubImage3D - typedef void (APIENTRYP GLEEPFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYTEXSUBIMAGE3DPROC GLeeFuncPtr_glCopyTexSubImage3D; - #define glCopyTexSubImage3D GLeeFuncPtr_glCopyTexSubImage3D -#endif -#ifndef GLEE_H_DEFINED_glColorTable -#define GLEE_H_DEFINED_glColorTable - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); - GLEE_EXTERN GLEEPFNGLCOLORTABLEPROC GLeeFuncPtr_glColorTable; - #define glColorTable GLeeFuncPtr_glColorTable -#endif -#ifndef GLEE_H_DEFINED_glColorTableParameterfv -#define GLEE_H_DEFINED_glColorTableParameterfv - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCOLORTABLEPARAMETERFVPROC GLeeFuncPtr_glColorTableParameterfv; - #define glColorTableParameterfv GLeeFuncPtr_glColorTableParameterfv -#endif -#ifndef GLEE_H_DEFINED_glColorTableParameteriv -#define GLEE_H_DEFINED_glColorTableParameteriv - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLCOLORTABLEPARAMETERIVPROC GLeeFuncPtr_glColorTableParameteriv; - #define glColorTableParameteriv GLeeFuncPtr_glColorTableParameteriv -#endif -#ifndef GLEE_H_DEFINED_glCopyColorTable -#define GLEE_H_DEFINED_glCopyColorTable - typedef void (APIENTRYP GLEEPFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCOLORTABLEPROC GLeeFuncPtr_glCopyColorTable; - #define glCopyColorTable GLeeFuncPtr_glCopyColorTable -#endif -#ifndef GLEE_H_DEFINED_glGetColorTable -#define GLEE_H_DEFINED_glGetColorTable - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid * table); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPROC GLeeFuncPtr_glGetColorTable; - #define glGetColorTable GLeeFuncPtr_glGetColorTable -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameterfv -#define GLEE_H_DEFINED_glGetColorTableParameterfv - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERFVPROC GLeeFuncPtr_glGetColorTableParameterfv; - #define glGetColorTableParameterfv GLeeFuncPtr_glGetColorTableParameterfv -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameteriv -#define GLEE_H_DEFINED_glGetColorTableParameteriv - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERIVPROC GLeeFuncPtr_glGetColorTableParameteriv; - #define glGetColorTableParameteriv GLeeFuncPtr_glGetColorTableParameteriv -#endif -#ifndef GLEE_H_DEFINED_glColorSubTable -#define GLEE_H_DEFINED_glColorSubTable - typedef void (APIENTRYP GLEEPFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOLORSUBTABLEPROC GLeeFuncPtr_glColorSubTable; - #define glColorSubTable GLeeFuncPtr_glColorSubTable -#endif -#ifndef GLEE_H_DEFINED_glCopyColorSubTable -#define GLEE_H_DEFINED_glCopyColorSubTable - typedef void (APIENTRYP GLEEPFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCOLORSUBTABLEPROC GLeeFuncPtr_glCopyColorSubTable; - #define glCopyColorSubTable GLeeFuncPtr_glCopyColorSubTable -#endif -#ifndef GLEE_H_DEFINED_glConvolutionFilter1D -#define GLEE_H_DEFINED_glConvolutionFilter1D - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONFILTER1DPROC GLeeFuncPtr_glConvolutionFilter1D; - #define glConvolutionFilter1D GLeeFuncPtr_glConvolutionFilter1D -#endif -#ifndef GLEE_H_DEFINED_glConvolutionFilter2D -#define GLEE_H_DEFINED_glConvolutionFilter2D - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONFILTER2DPROC GLeeFuncPtr_glConvolutionFilter2D; - #define glConvolutionFilter2D GLeeFuncPtr_glConvolutionFilter2D -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterf -#define GLEE_H_DEFINED_glConvolutionParameterf - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERFPROC GLeeFuncPtr_glConvolutionParameterf; - #define glConvolutionParameterf GLeeFuncPtr_glConvolutionParameterf -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterfv -#define GLEE_H_DEFINED_glConvolutionParameterfv - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERFVPROC GLeeFuncPtr_glConvolutionParameterfv; - #define glConvolutionParameterfv GLeeFuncPtr_glConvolutionParameterfv -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameteri -#define GLEE_H_DEFINED_glConvolutionParameteri - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERIPROC GLeeFuncPtr_glConvolutionParameteri; - #define glConvolutionParameteri GLeeFuncPtr_glConvolutionParameteri -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameteriv -#define GLEE_H_DEFINED_glConvolutionParameteriv - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERIVPROC GLeeFuncPtr_glConvolutionParameteriv; - #define glConvolutionParameteriv GLeeFuncPtr_glConvolutionParameteriv -#endif -#ifndef GLEE_H_DEFINED_glCopyConvolutionFilter1D -#define GLEE_H_DEFINED_glCopyConvolutionFilter1D - typedef void (APIENTRYP GLEEPFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCONVOLUTIONFILTER1DPROC GLeeFuncPtr_glCopyConvolutionFilter1D; - #define glCopyConvolutionFilter1D GLeeFuncPtr_glCopyConvolutionFilter1D -#endif -#ifndef GLEE_H_DEFINED_glCopyConvolutionFilter2D -#define GLEE_H_DEFINED_glCopyConvolutionFilter2D - typedef void (APIENTRYP GLEEPFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYCONVOLUTIONFILTER2DPROC GLeeFuncPtr_glCopyConvolutionFilter2D; - #define glCopyConvolutionFilter2D GLeeFuncPtr_glCopyConvolutionFilter2D -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionFilter -#define GLEE_H_DEFINED_glGetConvolutionFilter - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid * image); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONFILTERPROC GLeeFuncPtr_glGetConvolutionFilter; - #define glGetConvolutionFilter GLeeFuncPtr_glGetConvolutionFilter -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionParameterfv -#define GLEE_H_DEFINED_glGetConvolutionParameterfv - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONPARAMETERFVPROC GLeeFuncPtr_glGetConvolutionParameterfv; - #define glGetConvolutionParameterfv GLeeFuncPtr_glGetConvolutionParameterfv -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionParameteriv -#define GLEE_H_DEFINED_glGetConvolutionParameteriv - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONPARAMETERIVPROC GLeeFuncPtr_glGetConvolutionParameteriv; - #define glGetConvolutionParameteriv GLeeFuncPtr_glGetConvolutionParameteriv -#endif -#ifndef GLEE_H_DEFINED_glGetSeparableFilter -#define GLEE_H_DEFINED_glGetSeparableFilter - typedef void (APIENTRYP GLEEPFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); - GLEE_EXTERN GLEEPFNGLGETSEPARABLEFILTERPROC GLeeFuncPtr_glGetSeparableFilter; - #define glGetSeparableFilter GLeeFuncPtr_glGetSeparableFilter -#endif -#ifndef GLEE_H_DEFINED_glSeparableFilter2D -#define GLEE_H_DEFINED_glSeparableFilter2D - typedef void (APIENTRYP GLEEPFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); - GLEE_EXTERN GLEEPFNGLSEPARABLEFILTER2DPROC GLeeFuncPtr_glSeparableFilter2D; - #define glSeparableFilter2D GLeeFuncPtr_glSeparableFilter2D -#endif -#ifndef GLEE_H_DEFINED_glGetHistogram -#define GLEE_H_DEFINED_glGetHistogram - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPROC GLeeFuncPtr_glGetHistogram; - #define glGetHistogram GLeeFuncPtr_glGetHistogram -#endif -#ifndef GLEE_H_DEFINED_glGetHistogramParameterfv -#define GLEE_H_DEFINED_glGetHistogramParameterfv - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPARAMETERFVPROC GLeeFuncPtr_glGetHistogramParameterfv; - #define glGetHistogramParameterfv GLeeFuncPtr_glGetHistogramParameterfv -#endif -#ifndef GLEE_H_DEFINED_glGetHistogramParameteriv -#define GLEE_H_DEFINED_glGetHistogramParameteriv - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPARAMETERIVPROC GLeeFuncPtr_glGetHistogramParameteriv; - #define glGetHistogramParameteriv GLeeFuncPtr_glGetHistogramParameteriv -#endif -#ifndef GLEE_H_DEFINED_glGetMinmax -#define GLEE_H_DEFINED_glGetMinmax - typedef void (APIENTRYP GLEEPFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETMINMAXPROC GLeeFuncPtr_glGetMinmax; - #define glGetMinmax GLeeFuncPtr_glGetMinmax -#endif -#ifndef GLEE_H_DEFINED_glGetMinmaxParameterfv -#define GLEE_H_DEFINED_glGetMinmaxParameterfv - typedef void (APIENTRYP GLEEPFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMINMAXPARAMETERFVPROC GLeeFuncPtr_glGetMinmaxParameterfv; - #define glGetMinmaxParameterfv GLeeFuncPtr_glGetMinmaxParameterfv -#endif -#ifndef GLEE_H_DEFINED_glGetMinmaxParameteriv -#define GLEE_H_DEFINED_glGetMinmaxParameteriv - typedef void (APIENTRYP GLEEPFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMINMAXPARAMETERIVPROC GLeeFuncPtr_glGetMinmaxParameteriv; - #define glGetMinmaxParameteriv GLeeFuncPtr_glGetMinmaxParameteriv -#endif -#ifndef GLEE_H_DEFINED_glHistogram -#define GLEE_H_DEFINED_glHistogram - typedef void (APIENTRYP GLEEPFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); - GLEE_EXTERN GLEEPFNGLHISTOGRAMPROC GLeeFuncPtr_glHistogram; - #define glHistogram GLeeFuncPtr_glHistogram -#endif -#ifndef GLEE_H_DEFINED_glMinmax -#define GLEE_H_DEFINED_glMinmax - typedef void (APIENTRYP GLEEPFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); - GLEE_EXTERN GLEEPFNGLMINMAXPROC GLeeFuncPtr_glMinmax; - #define glMinmax GLeeFuncPtr_glMinmax -#endif -#ifndef GLEE_H_DEFINED_glResetHistogram -#define GLEE_H_DEFINED_glResetHistogram - typedef void (APIENTRYP GLEEPFNGLRESETHISTOGRAMPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLRESETHISTOGRAMPROC GLeeFuncPtr_glResetHistogram; - #define glResetHistogram GLeeFuncPtr_glResetHistogram -#endif -#ifndef GLEE_H_DEFINED_glResetMinmax -#define GLEE_H_DEFINED_glResetMinmax - typedef void (APIENTRYP GLEEPFNGLRESETMINMAXPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLRESETMINMAXPROC GLeeFuncPtr_glResetMinmax; - #define glResetMinmax GLeeFuncPtr_glResetMinmax -#endif -#endif - -/* GL_ARB_imaging */ - -#ifndef GL_ARB_imaging -#define GL_ARB_imaging 1 -#define __GLEE_GL_ARB_imaging 1 -/* Constants */ -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_BLEND_COLOR 0x8005 -#define GL_FUNC_ADD 0x8006 -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 -#define GL_BLEND_EQUATION 0x8009 -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#define GL_CONVOLUTION_1D 0x8010 -#define GL_CONVOLUTION_2D 0x8011 -#define GL_SEPARABLE_2D 0x8012 -#define GL_CONVOLUTION_BORDER_MODE 0x8013 -#define GL_CONVOLUTION_FILTER_SCALE 0x8014 -#define GL_CONVOLUTION_FILTER_BIAS 0x8015 -#define GL_REDUCE 0x8016 -#define GL_CONVOLUTION_FORMAT 0x8017 -#define GL_CONVOLUTION_WIDTH 0x8018 -#define GL_CONVOLUTION_HEIGHT 0x8019 -#define GL_MAX_CONVOLUTION_WIDTH 0x801A -#define GL_MAX_CONVOLUTION_HEIGHT 0x801B -#define GL_POST_CONVOLUTION_RED_SCALE 0x801C -#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D -#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E -#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F -#define GL_POST_CONVOLUTION_RED_BIAS 0x8020 -#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 -#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 -#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 -#define GL_HISTOGRAM 0x8024 -#define GL_PROXY_HISTOGRAM 0x8025 -#define GL_HISTOGRAM_WIDTH 0x8026 -#define GL_HISTOGRAM_FORMAT 0x8027 -#define GL_HISTOGRAM_RED_SIZE 0x8028 -#define GL_HISTOGRAM_GREEN_SIZE 0x8029 -#define GL_HISTOGRAM_BLUE_SIZE 0x802A -#define GL_HISTOGRAM_ALPHA_SIZE 0x802B -#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C -#define GL_HISTOGRAM_SINK 0x802D -#define GL_MINMAX 0x802E -#define GL_MINMAX_FORMAT 0x802F -#define GL_MINMAX_SINK 0x8030 -#define GL_TABLE_TOO_LARGE 0x8031 -#define GL_COLOR_MATRIX 0x80B1 -#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 -#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 -#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 -#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 -#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 -#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 -#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 -#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 -#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA -#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB -#define GL_COLOR_TABLE 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 -#define GL_PROXY_COLOR_TABLE 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 -#define GL_COLOR_TABLE_SCALE 0x80D6 -#define GL_COLOR_TABLE_BIAS 0x80D7 -#define GL_COLOR_TABLE_FORMAT 0x80D8 -#define GL_COLOR_TABLE_WIDTH 0x80D9 -#define GL_COLOR_TABLE_RED_SIZE 0x80DA -#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB -#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC -#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD -#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE -#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF -#define GL_CONSTANT_BORDER 0x8151 -#define GL_REPLICATE_BORDER 0x8153 -#define GL_CONVOLUTION_BORDER_COLOR 0x8154 -#endif - -/* GL_VERSION_1_3 */ - -#ifndef GL_VERSION_1_3 -#define GL_VERSION_1_3 1 -#define __GLEE_GL_VERSION_1_3 1 -/* Constants */ -#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_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_ACTIVE_TEXTURE 0x84E0 -#define GL_MULTISAMPLE 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE 0x809F -#define GL_SAMPLE_COVERAGE 0x80A0 -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C -#define GL_COMPRESSED_RGB 0x84ED -#define GL_COMPRESSED_RGBA 0x84EE -#define GL_TEXTURE_COMPRESSION_HINT 0x84EF -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 -#define GL_TEXTURE_COMPRESSED 0x86A1 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 -#define GL_CLAMP_TO_BORDER 0x812D -#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 -#define GL_MAX_TEXTURE_UNITS 0x84E2 -#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 -#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 -#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 -#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 -#define GL_MULTISAMPLE_BIT 0x20000000 -#define GL_NORMAL_MAP 0x8511 -#define GL_REFLECTION_MAP 0x8512 -#define GL_COMPRESSED_ALPHA 0x84E9 -#define GL_COMPRESSED_LUMINANCE 0x84EA -#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB -#define GL_COMPRESSED_INTENSITY 0x84EC -#define GL_COMBINE 0x8570 -#define GL_COMBINE_RGB 0x8571 -#define GL_COMBINE_ALPHA 0x8572 -#define GL_SOURCE0_RGB 0x8580 -#define GL_SOURCE1_RGB 0x8581 -#define GL_SOURCE2_RGB 0x8582 -#define GL_SOURCE0_ALPHA 0x8588 -#define GL_SOURCE1_ALPHA 0x8589 -#define GL_SOURCE2_ALPHA 0x858A -#define GL_OPERAND0_RGB 0x8590 -#define GL_OPERAND1_RGB 0x8591 -#define GL_OPERAND2_RGB 0x8592 -#define GL_OPERAND0_ALPHA 0x8598 -#define GL_OPERAND1_ALPHA 0x8599 -#define GL_OPERAND2_ALPHA 0x859A -#define GL_RGB_SCALE 0x8573 -#define GL_ADD_SIGNED 0x8574 -#define GL_INTERPOLATE 0x8575 -#define GL_SUBTRACT 0x84E7 -#define GL_CONSTANT 0x8576 -#define GL_PRIMARY_COLOR 0x8577 -#define GL_PREVIOUS 0x8578 -#define GL_DOT3_RGB 0x86AE -#define GL_DOT3_RGBA 0x86AF -#ifndef GLEE_H_DEFINED_glActiveTexture -#define GLEE_H_DEFINED_glActiveTexture - typedef void (APIENTRYP GLEEPFNGLACTIVETEXTUREPROC) (GLenum texture); - GLEE_EXTERN GLEEPFNGLACTIVETEXTUREPROC GLeeFuncPtr_glActiveTexture; - #define glActiveTexture GLeeFuncPtr_glActiveTexture -#endif -#ifndef GLEE_H_DEFINED_glSampleCoverage -#define GLEE_H_DEFINED_glSampleCoverage - typedef void (APIENTRYP GLEEPFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert); - GLEE_EXTERN GLEEPFNGLSAMPLECOVERAGEPROC GLeeFuncPtr_glSampleCoverage; - #define glSampleCoverage GLeeFuncPtr_glSampleCoverage -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexImage3D -#define GLEE_H_DEFINED_glCompressedTexImage3D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE3DPROC GLeeFuncPtr_glCompressedTexImage3D; - #define glCompressedTexImage3D GLeeFuncPtr_glCompressedTexImage3D -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexImage2D -#define GLEE_H_DEFINED_glCompressedTexImage2D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE2DPROC GLeeFuncPtr_glCompressedTexImage2D; - #define glCompressedTexImage2D GLeeFuncPtr_glCompressedTexImage2D -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexImage1D -#define GLEE_H_DEFINED_glCompressedTexImage1D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE1DPROC GLeeFuncPtr_glCompressedTexImage1D; - #define glCompressedTexImage1D GLeeFuncPtr_glCompressedTexImage1D -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage3D -#define GLEE_H_DEFINED_glCompressedTexSubImage3D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DPROC GLeeFuncPtr_glCompressedTexSubImage3D; - #define glCompressedTexSubImage3D GLeeFuncPtr_glCompressedTexSubImage3D -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage2D -#define GLEE_H_DEFINED_glCompressedTexSubImage2D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DPROC GLeeFuncPtr_glCompressedTexSubImage2D; - #define glCompressedTexSubImage2D GLeeFuncPtr_glCompressedTexSubImage2D -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage1D -#define GLEE_H_DEFINED_glCompressedTexSubImage1D - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DPROC GLeeFuncPtr_glCompressedTexSubImage1D; - #define glCompressedTexSubImage1D GLeeFuncPtr_glCompressedTexSubImage1D -#endif -#ifndef GLEE_H_DEFINED_glGetCompressedTexImage -#define GLEE_H_DEFINED_glGetCompressedTexImage - typedef void (APIENTRYP GLEEPFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETCOMPRESSEDTEXIMAGEPROC GLeeFuncPtr_glGetCompressedTexImage; - #define glGetCompressedTexImage GLeeFuncPtr_glGetCompressedTexImage -#endif -#ifndef GLEE_H_DEFINED_glClientActiveTexture -#define GLEE_H_DEFINED_glClientActiveTexture - typedef void (APIENTRYP GLEEPFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); - GLEE_EXTERN GLEEPFNGLCLIENTACTIVETEXTUREPROC GLeeFuncPtr_glClientActiveTexture; - #define glClientActiveTexture GLeeFuncPtr_glClientActiveTexture -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1d -#define GLEE_H_DEFINED_glMultiTexCoord1d - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1DPROC GLeeFuncPtr_glMultiTexCoord1d; - #define glMultiTexCoord1d GLeeFuncPtr_glMultiTexCoord1d -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1dv -#define GLEE_H_DEFINED_glMultiTexCoord1dv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1DVPROC GLeeFuncPtr_glMultiTexCoord1dv; - #define glMultiTexCoord1dv GLeeFuncPtr_glMultiTexCoord1dv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1f -#define GLEE_H_DEFINED_glMultiTexCoord1f - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1FPROC GLeeFuncPtr_glMultiTexCoord1f; - #define glMultiTexCoord1f GLeeFuncPtr_glMultiTexCoord1f -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1fv -#define GLEE_H_DEFINED_glMultiTexCoord1fv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1FVPROC GLeeFuncPtr_glMultiTexCoord1fv; - #define glMultiTexCoord1fv GLeeFuncPtr_glMultiTexCoord1fv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1i -#define GLEE_H_DEFINED_glMultiTexCoord1i - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1IPROC GLeeFuncPtr_glMultiTexCoord1i; - #define glMultiTexCoord1i GLeeFuncPtr_glMultiTexCoord1i -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1iv -#define GLEE_H_DEFINED_glMultiTexCoord1iv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1IVPROC GLeeFuncPtr_glMultiTexCoord1iv; - #define glMultiTexCoord1iv GLeeFuncPtr_glMultiTexCoord1iv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1s -#define GLEE_H_DEFINED_glMultiTexCoord1s - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1SPROC GLeeFuncPtr_glMultiTexCoord1s; - #define glMultiTexCoord1s GLeeFuncPtr_glMultiTexCoord1s -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1sv -#define GLEE_H_DEFINED_glMultiTexCoord1sv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1SVPROC GLeeFuncPtr_glMultiTexCoord1sv; - #define glMultiTexCoord1sv GLeeFuncPtr_glMultiTexCoord1sv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2d -#define GLEE_H_DEFINED_glMultiTexCoord2d - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2DPROC GLeeFuncPtr_glMultiTexCoord2d; - #define glMultiTexCoord2d GLeeFuncPtr_glMultiTexCoord2d -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2dv -#define GLEE_H_DEFINED_glMultiTexCoord2dv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2DVPROC GLeeFuncPtr_glMultiTexCoord2dv; - #define glMultiTexCoord2dv GLeeFuncPtr_glMultiTexCoord2dv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2f -#define GLEE_H_DEFINED_glMultiTexCoord2f - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2FPROC GLeeFuncPtr_glMultiTexCoord2f; - #define glMultiTexCoord2f GLeeFuncPtr_glMultiTexCoord2f -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2fv -#define GLEE_H_DEFINED_glMultiTexCoord2fv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2FVPROC GLeeFuncPtr_glMultiTexCoord2fv; - #define glMultiTexCoord2fv GLeeFuncPtr_glMultiTexCoord2fv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2i -#define GLEE_H_DEFINED_glMultiTexCoord2i - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2IPROC GLeeFuncPtr_glMultiTexCoord2i; - #define glMultiTexCoord2i GLeeFuncPtr_glMultiTexCoord2i -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2iv -#define GLEE_H_DEFINED_glMultiTexCoord2iv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2IVPROC GLeeFuncPtr_glMultiTexCoord2iv; - #define glMultiTexCoord2iv GLeeFuncPtr_glMultiTexCoord2iv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2s -#define GLEE_H_DEFINED_glMultiTexCoord2s - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2SPROC GLeeFuncPtr_glMultiTexCoord2s; - #define glMultiTexCoord2s GLeeFuncPtr_glMultiTexCoord2s -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2sv -#define GLEE_H_DEFINED_glMultiTexCoord2sv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2SVPROC GLeeFuncPtr_glMultiTexCoord2sv; - #define glMultiTexCoord2sv GLeeFuncPtr_glMultiTexCoord2sv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3d -#define GLEE_H_DEFINED_glMultiTexCoord3d - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3DPROC GLeeFuncPtr_glMultiTexCoord3d; - #define glMultiTexCoord3d GLeeFuncPtr_glMultiTexCoord3d -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3dv -#define GLEE_H_DEFINED_glMultiTexCoord3dv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3DVPROC GLeeFuncPtr_glMultiTexCoord3dv; - #define glMultiTexCoord3dv GLeeFuncPtr_glMultiTexCoord3dv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3f -#define GLEE_H_DEFINED_glMultiTexCoord3f - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3FPROC GLeeFuncPtr_glMultiTexCoord3f; - #define glMultiTexCoord3f GLeeFuncPtr_glMultiTexCoord3f -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3fv -#define GLEE_H_DEFINED_glMultiTexCoord3fv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3FVPROC GLeeFuncPtr_glMultiTexCoord3fv; - #define glMultiTexCoord3fv GLeeFuncPtr_glMultiTexCoord3fv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3i -#define GLEE_H_DEFINED_glMultiTexCoord3i - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3IPROC GLeeFuncPtr_glMultiTexCoord3i; - #define glMultiTexCoord3i GLeeFuncPtr_glMultiTexCoord3i -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3iv -#define GLEE_H_DEFINED_glMultiTexCoord3iv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3IVPROC GLeeFuncPtr_glMultiTexCoord3iv; - #define glMultiTexCoord3iv GLeeFuncPtr_glMultiTexCoord3iv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3s -#define GLEE_H_DEFINED_glMultiTexCoord3s - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3SPROC GLeeFuncPtr_glMultiTexCoord3s; - #define glMultiTexCoord3s GLeeFuncPtr_glMultiTexCoord3s -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3sv -#define GLEE_H_DEFINED_glMultiTexCoord3sv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3SVPROC GLeeFuncPtr_glMultiTexCoord3sv; - #define glMultiTexCoord3sv GLeeFuncPtr_glMultiTexCoord3sv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4d -#define GLEE_H_DEFINED_glMultiTexCoord4d - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4DPROC GLeeFuncPtr_glMultiTexCoord4d; - #define glMultiTexCoord4d GLeeFuncPtr_glMultiTexCoord4d -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4dv -#define GLEE_H_DEFINED_glMultiTexCoord4dv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4DVPROC GLeeFuncPtr_glMultiTexCoord4dv; - #define glMultiTexCoord4dv GLeeFuncPtr_glMultiTexCoord4dv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4f -#define GLEE_H_DEFINED_glMultiTexCoord4f - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4FPROC GLeeFuncPtr_glMultiTexCoord4f; - #define glMultiTexCoord4f GLeeFuncPtr_glMultiTexCoord4f -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4fv -#define GLEE_H_DEFINED_glMultiTexCoord4fv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4FVPROC GLeeFuncPtr_glMultiTexCoord4fv; - #define glMultiTexCoord4fv GLeeFuncPtr_glMultiTexCoord4fv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4i -#define GLEE_H_DEFINED_glMultiTexCoord4i - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4IPROC GLeeFuncPtr_glMultiTexCoord4i; - #define glMultiTexCoord4i GLeeFuncPtr_glMultiTexCoord4i -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4iv -#define GLEE_H_DEFINED_glMultiTexCoord4iv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4IVPROC GLeeFuncPtr_glMultiTexCoord4iv; - #define glMultiTexCoord4iv GLeeFuncPtr_glMultiTexCoord4iv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4s -#define GLEE_H_DEFINED_glMultiTexCoord4s - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4SPROC GLeeFuncPtr_glMultiTexCoord4s; - #define glMultiTexCoord4s GLeeFuncPtr_glMultiTexCoord4s -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4sv -#define GLEE_H_DEFINED_glMultiTexCoord4sv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4SVPROC GLeeFuncPtr_glMultiTexCoord4sv; - #define glMultiTexCoord4sv GLeeFuncPtr_glMultiTexCoord4sv -#endif -#ifndef GLEE_H_DEFINED_glLoadTransposeMatrixf -#define GLEE_H_DEFINED_glLoadTransposeMatrixf - typedef void (APIENTRYP GLEEPFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat * m); - GLEE_EXTERN GLEEPFNGLLOADTRANSPOSEMATRIXFPROC GLeeFuncPtr_glLoadTransposeMatrixf; - #define glLoadTransposeMatrixf GLeeFuncPtr_glLoadTransposeMatrixf -#endif -#ifndef GLEE_H_DEFINED_glLoadTransposeMatrixd -#define GLEE_H_DEFINED_glLoadTransposeMatrixd - typedef void (APIENTRYP GLEEPFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble * m); - GLEE_EXTERN GLEEPFNGLLOADTRANSPOSEMATRIXDPROC GLeeFuncPtr_glLoadTransposeMatrixd; - #define glLoadTransposeMatrixd GLeeFuncPtr_glLoadTransposeMatrixd -#endif -#ifndef GLEE_H_DEFINED_glMultTransposeMatrixf -#define GLEE_H_DEFINED_glMultTransposeMatrixf - typedef void (APIENTRYP GLEEPFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMULTTRANSPOSEMATRIXFPROC GLeeFuncPtr_glMultTransposeMatrixf; - #define glMultTransposeMatrixf GLeeFuncPtr_glMultTransposeMatrixf -#endif -#ifndef GLEE_H_DEFINED_glMultTransposeMatrixd -#define GLEE_H_DEFINED_glMultTransposeMatrixd - typedef void (APIENTRYP GLEEPFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMULTTRANSPOSEMATRIXDPROC GLeeFuncPtr_glMultTransposeMatrixd; - #define glMultTransposeMatrixd GLeeFuncPtr_glMultTransposeMatrixd -#endif -#endif - -/* GL_VERSION_1_4 */ - -#ifndef GL_VERSION_1_4 -#define GL_VERSION_1_4 1 -#define __GLEE_GL_VERSION_1_4 1 -/* Constants */ -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_DEPTH_COMPONENT32 0x81A7 -#define GL_MIRRORED_REPEAT 0x8370 -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD -#define GL_TEXTURE_LOD_BIAS 0x8501 -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 -#define GL_TEXTURE_DEPTH_SIZE 0x884A -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_POINT_SIZE_MIN 0x8126 -#define GL_POINT_SIZE_MAX 0x8127 -#define GL_POINT_DISTANCE_ATTENUATION 0x8129 -#define GL_GENERATE_MIPMAP 0x8191 -#define GL_GENERATE_MIPMAP_HINT 0x8192 -#define GL_FOG_COORDINATE_SOURCE 0x8450 -#define GL_FOG_COORDINATE 0x8451 -#define GL_FRAGMENT_DEPTH 0x8452 -#define GL_CURRENT_FOG_COORDINATE 0x8453 -#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 -#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 -#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 -#define GL_FOG_COORDINATE_ARRAY 0x8457 -#define GL_COLOR_SUM 0x8458 -#define GL_CURRENT_SECONDARY_COLOR 0x8459 -#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A -#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B -#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C -#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D -#define GL_SECONDARY_COLOR_ARRAY 0x845E -#define GL_TEXTURE_FILTER_CONTROL 0x8500 -#define GL_DEPTH_TEXTURE_MODE 0x884B -#define GL_COMPARE_R_TO_TEXTURE 0x884E -#ifndef GLEE_H_DEFINED_glBlendFuncSeparate -#define GLEE_H_DEFINED_glBlendFuncSeparate - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEPROC GLeeFuncPtr_glBlendFuncSeparate; - #define glBlendFuncSeparate GLeeFuncPtr_glBlendFuncSeparate -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawArrays -#define GLEE_H_DEFINED_glMultiDrawArrays - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWARRAYSPROC GLeeFuncPtr_glMultiDrawArrays; - #define glMultiDrawArrays GLeeFuncPtr_glMultiDrawArrays -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElements -#define GLEE_H_DEFINED_glMultiDrawElements - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei drawcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTSPROC GLeeFuncPtr_glMultiDrawElements; - #define glMultiDrawElements GLeeFuncPtr_glMultiDrawElements -#endif -#ifndef GLEE_H_DEFINED_glPointParameterf -#define GLEE_H_DEFINED_glPointParameterf - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFPROC GLeeFuncPtr_glPointParameterf; - #define glPointParameterf GLeeFuncPtr_glPointParameterf -#endif -#ifndef GLEE_H_DEFINED_glPointParameterfv -#define GLEE_H_DEFINED_glPointParameterfv - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFVPROC GLeeFuncPtr_glPointParameterfv; - #define glPointParameterfv GLeeFuncPtr_glPointParameterfv -#endif -#ifndef GLEE_H_DEFINED_glPointParameteri -#define GLEE_H_DEFINED_glPointParameteri - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERIPROC GLeeFuncPtr_glPointParameteri; - #define glPointParameteri GLeeFuncPtr_glPointParameteri -#endif -#ifndef GLEE_H_DEFINED_glPointParameteriv -#define GLEE_H_DEFINED_glPointParameteriv - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERIVPROC GLeeFuncPtr_glPointParameteriv; - #define glPointParameteriv GLeeFuncPtr_glPointParameteriv -#endif -#ifndef GLEE_H_DEFINED_glFogCoordf -#define GLEE_H_DEFINED_glFogCoordf - typedef void (APIENTRYP GLEEPFNGLFOGCOORDFPROC) (GLfloat coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDFPROC GLeeFuncPtr_glFogCoordf; - #define glFogCoordf GLeeFuncPtr_glFogCoordf -#endif -#ifndef GLEE_H_DEFINED_glFogCoordfv -#define GLEE_H_DEFINED_glFogCoordfv - typedef void (APIENTRYP GLEEPFNGLFOGCOORDFVPROC) (const GLfloat * coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDFVPROC GLeeFuncPtr_glFogCoordfv; - #define glFogCoordfv GLeeFuncPtr_glFogCoordfv -#endif -#ifndef GLEE_H_DEFINED_glFogCoordd -#define GLEE_H_DEFINED_glFogCoordd - typedef void (APIENTRYP GLEEPFNGLFOGCOORDDPROC) (GLdouble coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDDPROC GLeeFuncPtr_glFogCoordd; - #define glFogCoordd GLeeFuncPtr_glFogCoordd -#endif -#ifndef GLEE_H_DEFINED_glFogCoorddv -#define GLEE_H_DEFINED_glFogCoorddv - typedef void (APIENTRYP GLEEPFNGLFOGCOORDDVPROC) (const GLdouble * coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDDVPROC GLeeFuncPtr_glFogCoorddv; - #define glFogCoorddv GLeeFuncPtr_glFogCoorddv -#endif -#ifndef GLEE_H_DEFINED_glFogCoordPointer -#define GLEE_H_DEFINED_glFogCoordPointer - typedef void (APIENTRYP GLEEPFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLFOGCOORDPOINTERPROC GLeeFuncPtr_glFogCoordPointer; - #define glFogCoordPointer GLeeFuncPtr_glFogCoordPointer -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3b -#define GLEE_H_DEFINED_glSecondaryColor3b - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3BPROC GLeeFuncPtr_glSecondaryColor3b; - #define glSecondaryColor3b GLeeFuncPtr_glSecondaryColor3b -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3bv -#define GLEE_H_DEFINED_glSecondaryColor3bv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3BVPROC) (const GLbyte * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3BVPROC GLeeFuncPtr_glSecondaryColor3bv; - #define glSecondaryColor3bv GLeeFuncPtr_glSecondaryColor3bv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3d -#define GLEE_H_DEFINED_glSecondaryColor3d - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3DPROC GLeeFuncPtr_glSecondaryColor3d; - #define glSecondaryColor3d GLeeFuncPtr_glSecondaryColor3d -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3dv -#define GLEE_H_DEFINED_glSecondaryColor3dv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3DVPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3DVPROC GLeeFuncPtr_glSecondaryColor3dv; - #define glSecondaryColor3dv GLeeFuncPtr_glSecondaryColor3dv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3f -#define GLEE_H_DEFINED_glSecondaryColor3f - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3FPROC GLeeFuncPtr_glSecondaryColor3f; - #define glSecondaryColor3f GLeeFuncPtr_glSecondaryColor3f -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3fv -#define GLEE_H_DEFINED_glSecondaryColor3fv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3FVPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3FVPROC GLeeFuncPtr_glSecondaryColor3fv; - #define glSecondaryColor3fv GLeeFuncPtr_glSecondaryColor3fv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3i -#define GLEE_H_DEFINED_glSecondaryColor3i - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3IPROC GLeeFuncPtr_glSecondaryColor3i; - #define glSecondaryColor3i GLeeFuncPtr_glSecondaryColor3i -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3iv -#define GLEE_H_DEFINED_glSecondaryColor3iv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3IVPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3IVPROC GLeeFuncPtr_glSecondaryColor3iv; - #define glSecondaryColor3iv GLeeFuncPtr_glSecondaryColor3iv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3s -#define GLEE_H_DEFINED_glSecondaryColor3s - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3SPROC GLeeFuncPtr_glSecondaryColor3s; - #define glSecondaryColor3s GLeeFuncPtr_glSecondaryColor3s -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3sv -#define GLEE_H_DEFINED_glSecondaryColor3sv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3SVPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3SVPROC GLeeFuncPtr_glSecondaryColor3sv; - #define glSecondaryColor3sv GLeeFuncPtr_glSecondaryColor3sv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ub -#define GLEE_H_DEFINED_glSecondaryColor3ub - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UBPROC GLeeFuncPtr_glSecondaryColor3ub; - #define glSecondaryColor3ub GLeeFuncPtr_glSecondaryColor3ub -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ubv -#define GLEE_H_DEFINED_glSecondaryColor3ubv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UBVPROC GLeeFuncPtr_glSecondaryColor3ubv; - #define glSecondaryColor3ubv GLeeFuncPtr_glSecondaryColor3ubv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ui -#define GLEE_H_DEFINED_glSecondaryColor3ui - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UIPROC GLeeFuncPtr_glSecondaryColor3ui; - #define glSecondaryColor3ui GLeeFuncPtr_glSecondaryColor3ui -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3uiv -#define GLEE_H_DEFINED_glSecondaryColor3uiv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UIVPROC) (const GLuint * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UIVPROC GLeeFuncPtr_glSecondaryColor3uiv; - #define glSecondaryColor3uiv GLeeFuncPtr_glSecondaryColor3uiv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3us -#define GLEE_H_DEFINED_glSecondaryColor3us - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3USPROC GLeeFuncPtr_glSecondaryColor3us; - #define glSecondaryColor3us GLeeFuncPtr_glSecondaryColor3us -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3usv -#define GLEE_H_DEFINED_glSecondaryColor3usv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3USVPROC) (const GLushort * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3USVPROC GLeeFuncPtr_glSecondaryColor3usv; - #define glSecondaryColor3usv GLeeFuncPtr_glSecondaryColor3usv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorPointer -#define GLEE_H_DEFINED_glSecondaryColorPointer - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORPOINTERPROC GLeeFuncPtr_glSecondaryColorPointer; - #define glSecondaryColorPointer GLeeFuncPtr_glSecondaryColorPointer -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2d -#define GLEE_H_DEFINED_glWindowPos2d - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DPROC GLeeFuncPtr_glWindowPos2d; - #define glWindowPos2d GLeeFuncPtr_glWindowPos2d -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2dv -#define GLEE_H_DEFINED_glWindowPos2dv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DVPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DVPROC GLeeFuncPtr_glWindowPos2dv; - #define glWindowPos2dv GLeeFuncPtr_glWindowPos2dv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2f -#define GLEE_H_DEFINED_glWindowPos2f - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FPROC GLeeFuncPtr_glWindowPos2f; - #define glWindowPos2f GLeeFuncPtr_glWindowPos2f -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2fv -#define GLEE_H_DEFINED_glWindowPos2fv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FVPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FVPROC GLeeFuncPtr_glWindowPos2fv; - #define glWindowPos2fv GLeeFuncPtr_glWindowPos2fv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2i -#define GLEE_H_DEFINED_glWindowPos2i - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IPROC) (GLint x, GLint y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IPROC GLeeFuncPtr_glWindowPos2i; - #define glWindowPos2i GLeeFuncPtr_glWindowPos2i -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2iv -#define GLEE_H_DEFINED_glWindowPos2iv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IVPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IVPROC GLeeFuncPtr_glWindowPos2iv; - #define glWindowPos2iv GLeeFuncPtr_glWindowPos2iv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2s -#define GLEE_H_DEFINED_glWindowPos2s - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SPROC GLeeFuncPtr_glWindowPos2s; - #define glWindowPos2s GLeeFuncPtr_glWindowPos2s -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2sv -#define GLEE_H_DEFINED_glWindowPos2sv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SVPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SVPROC GLeeFuncPtr_glWindowPos2sv; - #define glWindowPos2sv GLeeFuncPtr_glWindowPos2sv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3d -#define GLEE_H_DEFINED_glWindowPos3d - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DPROC GLeeFuncPtr_glWindowPos3d; - #define glWindowPos3d GLeeFuncPtr_glWindowPos3d -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3dv -#define GLEE_H_DEFINED_glWindowPos3dv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DVPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DVPROC GLeeFuncPtr_glWindowPos3dv; - #define glWindowPos3dv GLeeFuncPtr_glWindowPos3dv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3f -#define GLEE_H_DEFINED_glWindowPos3f - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FPROC GLeeFuncPtr_glWindowPos3f; - #define glWindowPos3f GLeeFuncPtr_glWindowPos3f -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3fv -#define GLEE_H_DEFINED_glWindowPos3fv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FVPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FVPROC GLeeFuncPtr_glWindowPos3fv; - #define glWindowPos3fv GLeeFuncPtr_glWindowPos3fv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3i -#define GLEE_H_DEFINED_glWindowPos3i - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IPROC GLeeFuncPtr_glWindowPos3i; - #define glWindowPos3i GLeeFuncPtr_glWindowPos3i -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3iv -#define GLEE_H_DEFINED_glWindowPos3iv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IVPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IVPROC GLeeFuncPtr_glWindowPos3iv; - #define glWindowPos3iv GLeeFuncPtr_glWindowPos3iv -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3s -#define GLEE_H_DEFINED_glWindowPos3s - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SPROC GLeeFuncPtr_glWindowPos3s; - #define glWindowPos3s GLeeFuncPtr_glWindowPos3s -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3sv -#define GLEE_H_DEFINED_glWindowPos3sv - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SVPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SVPROC GLeeFuncPtr_glWindowPos3sv; - #define glWindowPos3sv GLeeFuncPtr_glWindowPos3sv -#endif -#endif - -/* GL_VERSION_1_5 */ - -#ifndef GL_VERSION_1_5 -#define GL_VERSION_1_5 1 -#define __GLEE_GL_VERSION_1_5 1 -/* Constants */ -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 -#define GL_QUERY_COUNTER_BITS 0x8864 -#define GL_CURRENT_QUERY 0x8865 -#define GL_QUERY_RESULT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE 0x8867 -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F -#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_SAMPLES_PASSED 0x8914 -#define GL_SRC1_ALPHA 0x8589 -#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 -#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 -#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 -#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 -#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A -#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B -#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C -#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D -#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E -#define GL_FOG_COORD_SRC 0x8450 -#define GL_FOG_COORD 0x8451 -#define GL_CURRENT_FOG_COORD 0x8453 -#define GL_FOG_COORD_ARRAY_TYPE 0x8454 -#define GL_FOG_COORD_ARRAY_STRIDE 0x8455 -#define GL_FOG_COORD_ARRAY_POINTER 0x8456 -#define GL_FOG_COORD_ARRAY 0x8457 -#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D -#define GL_SRC0_RGB 0x8580 -#define GL_SRC1_RGB 0x8581 -#define GL_SRC2_RGB 0x8582 -#define GL_SRC0_ALPHA 0x8588 -#define GL_SRC2_ALPHA 0x858A -#ifndef GLEE_H_DEFINED_glGenQueries -#define GLEE_H_DEFINED_glGenQueries - typedef void (APIENTRYP GLEEPFNGLGENQUERIESPROC) (GLsizei n, GLuint * ids); - GLEE_EXTERN GLEEPFNGLGENQUERIESPROC GLeeFuncPtr_glGenQueries; - #define glGenQueries GLeeFuncPtr_glGenQueries -#endif -#ifndef GLEE_H_DEFINED_glDeleteQueries -#define GLEE_H_DEFINED_glDeleteQueries - typedef void (APIENTRYP GLEEPFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint * ids); - GLEE_EXTERN GLEEPFNGLDELETEQUERIESPROC GLeeFuncPtr_glDeleteQueries; - #define glDeleteQueries GLeeFuncPtr_glDeleteQueries -#endif -#ifndef GLEE_H_DEFINED_glIsQuery -#define GLEE_H_DEFINED_glIsQuery - typedef GLboolean (APIENTRYP GLEEPFNGLISQUERYPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISQUERYPROC GLeeFuncPtr_glIsQuery; - #define glIsQuery GLeeFuncPtr_glIsQuery -#endif -#ifndef GLEE_H_DEFINED_glBeginQuery -#define GLEE_H_DEFINED_glBeginQuery - typedef void (APIENTRYP GLEEPFNGLBEGINQUERYPROC) (GLenum target, GLuint id); - GLEE_EXTERN GLEEPFNGLBEGINQUERYPROC GLeeFuncPtr_glBeginQuery; - #define glBeginQuery GLeeFuncPtr_glBeginQuery -#endif -#ifndef GLEE_H_DEFINED_glEndQuery -#define GLEE_H_DEFINED_glEndQuery - typedef void (APIENTRYP GLEEPFNGLENDQUERYPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLENDQUERYPROC GLeeFuncPtr_glEndQuery; - #define glEndQuery GLeeFuncPtr_glEndQuery -#endif -#ifndef GLEE_H_DEFINED_glGetQueryiv -#define GLEE_H_DEFINED_glGetQueryiv - typedef void (APIENTRYP GLEEPFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYIVPROC GLeeFuncPtr_glGetQueryiv; - #define glGetQueryiv GLeeFuncPtr_glGetQueryiv -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectiv -#define GLEE_H_DEFINED_glGetQueryObjectiv - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTIVPROC GLeeFuncPtr_glGetQueryObjectiv; - #define glGetQueryObjectiv GLeeFuncPtr_glGetQueryObjectiv -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectuiv -#define GLEE_H_DEFINED_glGetQueryObjectuiv - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTUIVPROC GLeeFuncPtr_glGetQueryObjectuiv; - #define glGetQueryObjectuiv GLeeFuncPtr_glGetQueryObjectuiv -#endif -#ifndef GLEE_H_DEFINED_glBindBuffer -#define GLEE_H_DEFINED_glBindBuffer - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); - GLEE_EXTERN GLEEPFNGLBINDBUFFERPROC GLeeFuncPtr_glBindBuffer; - #define glBindBuffer GLeeFuncPtr_glBindBuffer -#endif -#ifndef GLEE_H_DEFINED_glDeleteBuffers -#define GLEE_H_DEFINED_glDeleteBuffers - typedef void (APIENTRYP GLEEPFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint * buffers); - GLEE_EXTERN GLEEPFNGLDELETEBUFFERSPROC GLeeFuncPtr_glDeleteBuffers; - #define glDeleteBuffers GLeeFuncPtr_glDeleteBuffers -#endif -#ifndef GLEE_H_DEFINED_glGenBuffers -#define GLEE_H_DEFINED_glGenBuffers - typedef void (APIENTRYP GLEEPFNGLGENBUFFERSPROC) (GLsizei n, GLuint * buffers); - GLEE_EXTERN GLEEPFNGLGENBUFFERSPROC GLeeFuncPtr_glGenBuffers; - #define glGenBuffers GLeeFuncPtr_glGenBuffers -#endif -#ifndef GLEE_H_DEFINED_glIsBuffer -#define GLEE_H_DEFINED_glIsBuffer - typedef GLboolean (APIENTRYP GLEEPFNGLISBUFFERPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLISBUFFERPROC GLeeFuncPtr_glIsBuffer; - #define glIsBuffer GLeeFuncPtr_glIsBuffer -#endif -#ifndef GLEE_H_DEFINED_glBufferData -#define GLEE_H_DEFINED_glBufferData - typedef void (APIENTRYP GLEEPFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage); - GLEE_EXTERN GLEEPFNGLBUFFERDATAPROC GLeeFuncPtr_glBufferData; - #define glBufferData GLeeFuncPtr_glBufferData -#endif -#ifndef GLEE_H_DEFINED_glBufferSubData -#define GLEE_H_DEFINED_glBufferSubData - typedef void (APIENTRYP GLEEPFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLBUFFERSUBDATAPROC GLeeFuncPtr_glBufferSubData; - #define glBufferSubData GLeeFuncPtr_glBufferSubData -#endif -#ifndef GLEE_H_DEFINED_glGetBufferSubData -#define GLEE_H_DEFINED_glGetBufferSubData - typedef void (APIENTRYP GLEEPFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid * data); - GLEE_EXTERN GLEEPFNGLGETBUFFERSUBDATAPROC GLeeFuncPtr_glGetBufferSubData; - #define glGetBufferSubData GLeeFuncPtr_glGetBufferSubData -#endif -#ifndef GLEE_H_DEFINED_glMapBuffer -#define GLEE_H_DEFINED_glMapBuffer - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPBUFFERPROC) (GLenum target, GLenum access); - GLEE_EXTERN GLEEPFNGLMAPBUFFERPROC GLeeFuncPtr_glMapBuffer; - #define glMapBuffer GLeeFuncPtr_glMapBuffer -#endif -#ifndef GLEE_H_DEFINED_glUnmapBuffer -#define GLEE_H_DEFINED_glUnmapBuffer - typedef GLboolean (APIENTRYP GLEEPFNGLUNMAPBUFFERPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLUNMAPBUFFERPROC GLeeFuncPtr_glUnmapBuffer; - #define glUnmapBuffer GLeeFuncPtr_glUnmapBuffer -#endif -#ifndef GLEE_H_DEFINED_glGetBufferParameteriv -#define GLEE_H_DEFINED_glGetBufferParameteriv - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetBufferParameteriv; - #define glGetBufferParameteriv GLeeFuncPtr_glGetBufferParameteriv -#endif -#ifndef GLEE_H_DEFINED_glGetBufferPointerv -#define GLEE_H_DEFINED_glGetBufferPointerv - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPOINTERVPROC GLeeFuncPtr_glGetBufferPointerv; - #define glGetBufferPointerv GLeeFuncPtr_glGetBufferPointerv -#endif -#endif - -/* GL_VERSION_2_0 */ - -#ifndef GL_VERSION_2_0 -#define GL_VERSION_2_0 1 -#define __GLEE_GL_VERSION_2_0 1 -/* Constants */ -#define GL_BLEND_EQUATION_RGB 0x8009 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 -#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_MAX_VARYING_FLOATS 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_SHADER_TYPE 0x8B4F -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_SAMPLER_1D 0x8B5D -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_3D 0x8B5F -#define GL_SAMPLER_CUBE 0x8B60 -#define GL_SAMPLER_1D_SHADOW 0x8B61 -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#define GL_DELETE_STATUS 0x8B80 -#define GL_COMPILE_STATUS 0x8B81 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 -#define GL_POINT_SPRITE 0x8861 -#define GL_COORD_REPLACE 0x8862 -#define GL_MAX_TEXTURE_COORDS 0x8871 -#ifndef GLEE_H_DEFINED_glBlendEquationSeparate -#define GLEE_H_DEFINED_glBlendEquationSeparate - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONSEPARATEPROC GLeeFuncPtr_glBlendEquationSeparate; - #define glBlendEquationSeparate GLeeFuncPtr_glBlendEquationSeparate -#endif -#ifndef GLEE_H_DEFINED_glDrawBuffers -#define GLEE_H_DEFINED_glDrawBuffers - typedef void (APIENTRYP GLEEPFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum * bufs); - GLEE_EXTERN GLEEPFNGLDRAWBUFFERSPROC GLeeFuncPtr_glDrawBuffers; - #define glDrawBuffers GLeeFuncPtr_glDrawBuffers -#endif -#ifndef GLEE_H_DEFINED_glStencilOpSeparate -#define GLEE_H_DEFINED_glStencilOpSeparate - typedef void (APIENTRYP GLEEPFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); - GLEE_EXTERN GLEEPFNGLSTENCILOPSEPARATEPROC GLeeFuncPtr_glStencilOpSeparate; - #define glStencilOpSeparate GLeeFuncPtr_glStencilOpSeparate -#endif -#ifndef GLEE_H_DEFINED_glStencilFuncSeparate -#define GLEE_H_DEFINED_glStencilFuncSeparate - typedef void (APIENTRYP GLEEPFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask); - GLEE_EXTERN GLEEPFNGLSTENCILFUNCSEPARATEPROC GLeeFuncPtr_glStencilFuncSeparate; - #define glStencilFuncSeparate GLeeFuncPtr_glStencilFuncSeparate -#endif -#ifndef GLEE_H_DEFINED_glStencilMaskSeparate -#define GLEE_H_DEFINED_glStencilMaskSeparate - typedef void (APIENTRYP GLEEPFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); - GLEE_EXTERN GLEEPFNGLSTENCILMASKSEPARATEPROC GLeeFuncPtr_glStencilMaskSeparate; - #define glStencilMaskSeparate GLeeFuncPtr_glStencilMaskSeparate -#endif -#ifndef GLEE_H_DEFINED_glAttachShader -#define GLEE_H_DEFINED_glAttachShader - typedef void (APIENTRYP GLEEPFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); - GLEE_EXTERN GLEEPFNGLATTACHSHADERPROC GLeeFuncPtr_glAttachShader; - #define glAttachShader GLeeFuncPtr_glAttachShader -#endif -#ifndef GLEE_H_DEFINED_glBindAttribLocation -#define GLEE_H_DEFINED_glBindAttribLocation - typedef void (APIENTRYP GLEEPFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar * name); - GLEE_EXTERN GLEEPFNGLBINDATTRIBLOCATIONPROC GLeeFuncPtr_glBindAttribLocation; - #define glBindAttribLocation GLeeFuncPtr_glBindAttribLocation -#endif -#ifndef GLEE_H_DEFINED_glCompileShader -#define GLEE_H_DEFINED_glCompileShader - typedef void (APIENTRYP GLEEPFNGLCOMPILESHADERPROC) (GLuint shader); - GLEE_EXTERN GLEEPFNGLCOMPILESHADERPROC GLeeFuncPtr_glCompileShader; - #define glCompileShader GLeeFuncPtr_glCompileShader -#endif -#ifndef GLEE_H_DEFINED_glCreateProgram -#define GLEE_H_DEFINED_glCreateProgram - typedef GLuint (APIENTRYP GLEEPFNGLCREATEPROGRAMPROC) (); - GLEE_EXTERN GLEEPFNGLCREATEPROGRAMPROC GLeeFuncPtr_glCreateProgram; - #define glCreateProgram GLeeFuncPtr_glCreateProgram -#endif -#ifndef GLEE_H_DEFINED_glCreateShader -#define GLEE_H_DEFINED_glCreateShader - typedef GLuint (APIENTRYP GLEEPFNGLCREATESHADERPROC) (GLenum type); - GLEE_EXTERN GLEEPFNGLCREATESHADERPROC GLeeFuncPtr_glCreateShader; - #define glCreateShader GLeeFuncPtr_glCreateShader -#endif -#ifndef GLEE_H_DEFINED_glDeleteProgram -#define GLEE_H_DEFINED_glDeleteProgram - typedef void (APIENTRYP GLEEPFNGLDELETEPROGRAMPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLDELETEPROGRAMPROC GLeeFuncPtr_glDeleteProgram; - #define glDeleteProgram GLeeFuncPtr_glDeleteProgram -#endif -#ifndef GLEE_H_DEFINED_glDeleteShader -#define GLEE_H_DEFINED_glDeleteShader - typedef void (APIENTRYP GLEEPFNGLDELETESHADERPROC) (GLuint shader); - GLEE_EXTERN GLEEPFNGLDELETESHADERPROC GLeeFuncPtr_glDeleteShader; - #define glDeleteShader GLeeFuncPtr_glDeleteShader -#endif -#ifndef GLEE_H_DEFINED_glDetachShader -#define GLEE_H_DEFINED_glDetachShader - typedef void (APIENTRYP GLEEPFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); - GLEE_EXTERN GLEEPFNGLDETACHSHADERPROC GLeeFuncPtr_glDetachShader; - #define glDetachShader GLeeFuncPtr_glDetachShader -#endif -#ifndef GLEE_H_DEFINED_glDisableVertexAttribArray -#define GLEE_H_DEFINED_glDisableVertexAttribArray - typedef void (APIENTRYP GLEEPFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLDISABLEVERTEXATTRIBARRAYPROC GLeeFuncPtr_glDisableVertexAttribArray; - #define glDisableVertexAttribArray GLeeFuncPtr_glDisableVertexAttribArray -#endif -#ifndef GLEE_H_DEFINED_glEnableVertexAttribArray -#define GLEE_H_DEFINED_glEnableVertexAttribArray - typedef void (APIENTRYP GLEEPFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLENABLEVERTEXATTRIBARRAYPROC GLeeFuncPtr_glEnableVertexAttribArray; - #define glEnableVertexAttribArray GLeeFuncPtr_glEnableVertexAttribArray -#endif -#ifndef GLEE_H_DEFINED_glGetActiveAttrib -#define GLEE_H_DEFINED_glGetActiveAttrib - typedef void (APIENTRYP GLEEPFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETACTIVEATTRIBPROC GLeeFuncPtr_glGetActiveAttrib; - #define glGetActiveAttrib GLeeFuncPtr_glGetActiveAttrib -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniform -#define GLEE_H_DEFINED_glGetActiveUniform - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMPROC GLeeFuncPtr_glGetActiveUniform; - #define glGetActiveUniform GLeeFuncPtr_glGetActiveUniform -#endif -#ifndef GLEE_H_DEFINED_glGetAttachedShaders -#define GLEE_H_DEFINED_glGetAttachedShaders - typedef void (APIENTRYP GLEEPFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); - GLEE_EXTERN GLEEPFNGLGETATTACHEDSHADERSPROC GLeeFuncPtr_glGetAttachedShaders; - #define glGetAttachedShaders GLeeFuncPtr_glGetAttachedShaders -#endif -#ifndef GLEE_H_DEFINED_glGetAttribLocation -#define GLEE_H_DEFINED_glGetAttribLocation - typedef GLint (APIENTRYP GLEEPFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETATTRIBLOCATIONPROC GLeeFuncPtr_glGetAttribLocation; - #define glGetAttribLocation GLeeFuncPtr_glGetAttribLocation -#endif -#ifndef GLEE_H_DEFINED_glGetProgramiv -#define GLEE_H_DEFINED_glGetProgramiv - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMIVPROC GLeeFuncPtr_glGetProgramiv; - #define glGetProgramiv GLeeFuncPtr_glGetProgramiv -#endif -#ifndef GLEE_H_DEFINED_glGetProgramInfoLog -#define GLEE_H_DEFINED_glGetProgramInfoLog - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); - GLEE_EXTERN GLEEPFNGLGETPROGRAMINFOLOGPROC GLeeFuncPtr_glGetProgramInfoLog; - #define glGetProgramInfoLog GLeeFuncPtr_glGetProgramInfoLog -#endif -#ifndef GLEE_H_DEFINED_glGetShaderiv -#define GLEE_H_DEFINED_glGetShaderiv - typedef void (APIENTRYP GLEEPFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETSHADERIVPROC GLeeFuncPtr_glGetShaderiv; - #define glGetShaderiv GLeeFuncPtr_glGetShaderiv -#endif -#ifndef GLEE_H_DEFINED_glGetShaderInfoLog -#define GLEE_H_DEFINED_glGetShaderInfoLog - typedef void (APIENTRYP GLEEPFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); - GLEE_EXTERN GLEEPFNGLGETSHADERINFOLOGPROC GLeeFuncPtr_glGetShaderInfoLog; - #define glGetShaderInfoLog GLeeFuncPtr_glGetShaderInfoLog -#endif -#ifndef GLEE_H_DEFINED_glGetShaderSource -#define GLEE_H_DEFINED_glGetShaderSource - typedef void (APIENTRYP GLEEPFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source); - GLEE_EXTERN GLEEPFNGLGETSHADERSOURCEPROC GLeeFuncPtr_glGetShaderSource; - #define glGetShaderSource GLeeFuncPtr_glGetShaderSource -#endif -#ifndef GLEE_H_DEFINED_glGetUniformLocation -#define GLEE_H_DEFINED_glGetUniformLocation - typedef GLint (APIENTRYP GLEEPFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETUNIFORMLOCATIONPROC GLeeFuncPtr_glGetUniformLocation; - #define glGetUniformLocation GLeeFuncPtr_glGetUniformLocation -#endif -#ifndef GLEE_H_DEFINED_glGetUniformfv -#define GLEE_H_DEFINED_glGetUniformfv - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMFVPROC GLeeFuncPtr_glGetUniformfv; - #define glGetUniformfv GLeeFuncPtr_glGetUniformfv -#endif -#ifndef GLEE_H_DEFINED_glGetUniformiv -#define GLEE_H_DEFINED_glGetUniformiv - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMIVPROC GLeeFuncPtr_glGetUniformiv; - #define glGetUniformiv GLeeFuncPtr_glGetUniformiv -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribdv -#define GLEE_H_DEFINED_glGetVertexAttribdv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBDVPROC GLeeFuncPtr_glGetVertexAttribdv; - #define glGetVertexAttribdv GLeeFuncPtr_glGetVertexAttribdv -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribfv -#define GLEE_H_DEFINED_glGetVertexAttribfv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBFVPROC GLeeFuncPtr_glGetVertexAttribfv; - #define glGetVertexAttribfv GLeeFuncPtr_glGetVertexAttribfv -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribiv -#define GLEE_H_DEFINED_glGetVertexAttribiv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBIVPROC GLeeFuncPtr_glGetVertexAttribiv; - #define glGetVertexAttribiv GLeeFuncPtr_glGetVertexAttribiv -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribPointerv -#define GLEE_H_DEFINED_glGetVertexAttribPointerv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBPOINTERVPROC GLeeFuncPtr_glGetVertexAttribPointerv; - #define glGetVertexAttribPointerv GLeeFuncPtr_glGetVertexAttribPointerv -#endif -#ifndef GLEE_H_DEFINED_glIsProgram -#define GLEE_H_DEFINED_glIsProgram - typedef GLboolean (APIENTRYP GLEEPFNGLISPROGRAMPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLISPROGRAMPROC GLeeFuncPtr_glIsProgram; - #define glIsProgram GLeeFuncPtr_glIsProgram -#endif -#ifndef GLEE_H_DEFINED_glIsShader -#define GLEE_H_DEFINED_glIsShader - typedef GLboolean (APIENTRYP GLEEPFNGLISSHADERPROC) (GLuint shader); - GLEE_EXTERN GLEEPFNGLISSHADERPROC GLeeFuncPtr_glIsShader; - #define glIsShader GLeeFuncPtr_glIsShader -#endif -#ifndef GLEE_H_DEFINED_glLinkProgram -#define GLEE_H_DEFINED_glLinkProgram - typedef void (APIENTRYP GLEEPFNGLLINKPROGRAMPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLLINKPROGRAMPROC GLeeFuncPtr_glLinkProgram; - #define glLinkProgram GLeeFuncPtr_glLinkProgram -#endif -#ifndef GLEE_H_DEFINED_glShaderSource -#define GLEE_H_DEFINED_glShaderSource - typedef void (APIENTRYP GLEEPFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* const * string, const GLint * length); - GLEE_EXTERN GLEEPFNGLSHADERSOURCEPROC GLeeFuncPtr_glShaderSource; - #define glShaderSource GLeeFuncPtr_glShaderSource -#endif -#ifndef GLEE_H_DEFINED_glUseProgram -#define GLEE_H_DEFINED_glUseProgram - typedef void (APIENTRYP GLEEPFNGLUSEPROGRAMPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLUSEPROGRAMPROC GLeeFuncPtr_glUseProgram; - #define glUseProgram GLeeFuncPtr_glUseProgram -#endif -#ifndef GLEE_H_DEFINED_glUniform1f -#define GLEE_H_DEFINED_glUniform1f - typedef void (APIENTRYP GLEEPFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1FPROC GLeeFuncPtr_glUniform1f; - #define glUniform1f GLeeFuncPtr_glUniform1f -#endif -#ifndef GLEE_H_DEFINED_glUniform2f -#define GLEE_H_DEFINED_glUniform2f - typedef void (APIENTRYP GLEEPFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2FPROC GLeeFuncPtr_glUniform2f; - #define glUniform2f GLeeFuncPtr_glUniform2f -#endif -#ifndef GLEE_H_DEFINED_glUniform3f -#define GLEE_H_DEFINED_glUniform3f - typedef void (APIENTRYP GLEEPFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3FPROC GLeeFuncPtr_glUniform3f; - #define glUniform3f GLeeFuncPtr_glUniform3f -#endif -#ifndef GLEE_H_DEFINED_glUniform4f -#define GLEE_H_DEFINED_glUniform4f - typedef void (APIENTRYP GLEEPFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4FPROC GLeeFuncPtr_glUniform4f; - #define glUniform4f GLeeFuncPtr_glUniform4f -#endif -#ifndef GLEE_H_DEFINED_glUniform1i -#define GLEE_H_DEFINED_glUniform1i - typedef void (APIENTRYP GLEEPFNGLUNIFORM1IPROC) (GLint location, GLint v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1IPROC GLeeFuncPtr_glUniform1i; - #define glUniform1i GLeeFuncPtr_glUniform1i -#endif -#ifndef GLEE_H_DEFINED_glUniform2i -#define GLEE_H_DEFINED_glUniform2i - typedef void (APIENTRYP GLEEPFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2IPROC GLeeFuncPtr_glUniform2i; - #define glUniform2i GLeeFuncPtr_glUniform2i -#endif -#ifndef GLEE_H_DEFINED_glUniform3i -#define GLEE_H_DEFINED_glUniform3i - typedef void (APIENTRYP GLEEPFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3IPROC GLeeFuncPtr_glUniform3i; - #define glUniform3i GLeeFuncPtr_glUniform3i -#endif -#ifndef GLEE_H_DEFINED_glUniform4i -#define GLEE_H_DEFINED_glUniform4i - typedef void (APIENTRYP GLEEPFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4IPROC GLeeFuncPtr_glUniform4i; - #define glUniform4i GLeeFuncPtr_glUniform4i -#endif -#ifndef GLEE_H_DEFINED_glUniform1fv -#define GLEE_H_DEFINED_glUniform1fv - typedef void (APIENTRYP GLEEPFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1FVPROC GLeeFuncPtr_glUniform1fv; - #define glUniform1fv GLeeFuncPtr_glUniform1fv -#endif -#ifndef GLEE_H_DEFINED_glUniform2fv -#define GLEE_H_DEFINED_glUniform2fv - typedef void (APIENTRYP GLEEPFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2FVPROC GLeeFuncPtr_glUniform2fv; - #define glUniform2fv GLeeFuncPtr_glUniform2fv -#endif -#ifndef GLEE_H_DEFINED_glUniform3fv -#define GLEE_H_DEFINED_glUniform3fv - typedef void (APIENTRYP GLEEPFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3FVPROC GLeeFuncPtr_glUniform3fv; - #define glUniform3fv GLeeFuncPtr_glUniform3fv -#endif -#ifndef GLEE_H_DEFINED_glUniform4fv -#define GLEE_H_DEFINED_glUniform4fv - typedef void (APIENTRYP GLEEPFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4FVPROC GLeeFuncPtr_glUniform4fv; - #define glUniform4fv GLeeFuncPtr_glUniform4fv -#endif -#ifndef GLEE_H_DEFINED_glUniform1iv -#define GLEE_H_DEFINED_glUniform1iv - typedef void (APIENTRYP GLEEPFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1IVPROC GLeeFuncPtr_glUniform1iv; - #define glUniform1iv GLeeFuncPtr_glUniform1iv -#endif -#ifndef GLEE_H_DEFINED_glUniform2iv -#define GLEE_H_DEFINED_glUniform2iv - typedef void (APIENTRYP GLEEPFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2IVPROC GLeeFuncPtr_glUniform2iv; - #define glUniform2iv GLeeFuncPtr_glUniform2iv -#endif -#ifndef GLEE_H_DEFINED_glUniform3iv -#define GLEE_H_DEFINED_glUniform3iv - typedef void (APIENTRYP GLEEPFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3IVPROC GLeeFuncPtr_glUniform3iv; - #define glUniform3iv GLeeFuncPtr_glUniform3iv -#endif -#ifndef GLEE_H_DEFINED_glUniform4iv -#define GLEE_H_DEFINED_glUniform4iv - typedef void (APIENTRYP GLEEPFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4IVPROC GLeeFuncPtr_glUniform4iv; - #define glUniform4iv GLeeFuncPtr_glUniform4iv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2fv -#define GLEE_H_DEFINED_glUniformMatrix2fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2FVPROC GLeeFuncPtr_glUniformMatrix2fv; - #define glUniformMatrix2fv GLeeFuncPtr_glUniformMatrix2fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3fv -#define GLEE_H_DEFINED_glUniformMatrix3fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3FVPROC GLeeFuncPtr_glUniformMatrix3fv; - #define glUniformMatrix3fv GLeeFuncPtr_glUniformMatrix3fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4fv -#define GLEE_H_DEFINED_glUniformMatrix4fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4FVPROC GLeeFuncPtr_glUniformMatrix4fv; - #define glUniformMatrix4fv GLeeFuncPtr_glUniformMatrix4fv -#endif -#ifndef GLEE_H_DEFINED_glValidateProgram -#define GLEE_H_DEFINED_glValidateProgram - typedef void (APIENTRYP GLEEPFNGLVALIDATEPROGRAMPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLVALIDATEPROGRAMPROC GLeeFuncPtr_glValidateProgram; - #define glValidateProgram GLeeFuncPtr_glValidateProgram -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1d -#define GLEE_H_DEFINED_glVertexAttrib1d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DPROC GLeeFuncPtr_glVertexAttrib1d; - #define glVertexAttrib1d GLeeFuncPtr_glVertexAttrib1d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1dv -#define GLEE_H_DEFINED_glVertexAttrib1dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DVPROC GLeeFuncPtr_glVertexAttrib1dv; - #define glVertexAttrib1dv GLeeFuncPtr_glVertexAttrib1dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1f -#define GLEE_H_DEFINED_glVertexAttrib1f - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FPROC GLeeFuncPtr_glVertexAttrib1f; - #define glVertexAttrib1f GLeeFuncPtr_glVertexAttrib1f -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1fv -#define GLEE_H_DEFINED_glVertexAttrib1fv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FVPROC GLeeFuncPtr_glVertexAttrib1fv; - #define glVertexAttrib1fv GLeeFuncPtr_glVertexAttrib1fv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1s -#define GLEE_H_DEFINED_glVertexAttrib1s - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SPROC GLeeFuncPtr_glVertexAttrib1s; - #define glVertexAttrib1s GLeeFuncPtr_glVertexAttrib1s -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1sv -#define GLEE_H_DEFINED_glVertexAttrib1sv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SVPROC GLeeFuncPtr_glVertexAttrib1sv; - #define glVertexAttrib1sv GLeeFuncPtr_glVertexAttrib1sv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2d -#define GLEE_H_DEFINED_glVertexAttrib2d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DPROC GLeeFuncPtr_glVertexAttrib2d; - #define glVertexAttrib2d GLeeFuncPtr_glVertexAttrib2d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2dv -#define GLEE_H_DEFINED_glVertexAttrib2dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DVPROC GLeeFuncPtr_glVertexAttrib2dv; - #define glVertexAttrib2dv GLeeFuncPtr_glVertexAttrib2dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2f -#define GLEE_H_DEFINED_glVertexAttrib2f - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FPROC GLeeFuncPtr_glVertexAttrib2f; - #define glVertexAttrib2f GLeeFuncPtr_glVertexAttrib2f -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2fv -#define GLEE_H_DEFINED_glVertexAttrib2fv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FVPROC GLeeFuncPtr_glVertexAttrib2fv; - #define glVertexAttrib2fv GLeeFuncPtr_glVertexAttrib2fv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2s -#define GLEE_H_DEFINED_glVertexAttrib2s - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SPROC GLeeFuncPtr_glVertexAttrib2s; - #define glVertexAttrib2s GLeeFuncPtr_glVertexAttrib2s -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2sv -#define GLEE_H_DEFINED_glVertexAttrib2sv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SVPROC GLeeFuncPtr_glVertexAttrib2sv; - #define glVertexAttrib2sv GLeeFuncPtr_glVertexAttrib2sv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3d -#define GLEE_H_DEFINED_glVertexAttrib3d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DPROC GLeeFuncPtr_glVertexAttrib3d; - #define glVertexAttrib3d GLeeFuncPtr_glVertexAttrib3d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3dv -#define GLEE_H_DEFINED_glVertexAttrib3dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DVPROC GLeeFuncPtr_glVertexAttrib3dv; - #define glVertexAttrib3dv GLeeFuncPtr_glVertexAttrib3dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3f -#define GLEE_H_DEFINED_glVertexAttrib3f - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FPROC GLeeFuncPtr_glVertexAttrib3f; - #define glVertexAttrib3f GLeeFuncPtr_glVertexAttrib3f -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3fv -#define GLEE_H_DEFINED_glVertexAttrib3fv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FVPROC GLeeFuncPtr_glVertexAttrib3fv; - #define glVertexAttrib3fv GLeeFuncPtr_glVertexAttrib3fv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3s -#define GLEE_H_DEFINED_glVertexAttrib3s - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SPROC GLeeFuncPtr_glVertexAttrib3s; - #define glVertexAttrib3s GLeeFuncPtr_glVertexAttrib3s -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3sv -#define GLEE_H_DEFINED_glVertexAttrib3sv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SVPROC GLeeFuncPtr_glVertexAttrib3sv; - #define glVertexAttrib3sv GLeeFuncPtr_glVertexAttrib3sv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nbv -#define GLEE_H_DEFINED_glVertexAttrib4Nbv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NBVPROC GLeeFuncPtr_glVertexAttrib4Nbv; - #define glVertexAttrib4Nbv GLeeFuncPtr_glVertexAttrib4Nbv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Niv -#define GLEE_H_DEFINED_glVertexAttrib4Niv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NIVPROC GLeeFuncPtr_glVertexAttrib4Niv; - #define glVertexAttrib4Niv GLeeFuncPtr_glVertexAttrib4Niv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nsv -#define GLEE_H_DEFINED_glVertexAttrib4Nsv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NSVPROC GLeeFuncPtr_glVertexAttrib4Nsv; - #define glVertexAttrib4Nsv GLeeFuncPtr_glVertexAttrib4Nsv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nub -#define GLEE_H_DEFINED_glVertexAttrib4Nub - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUBPROC GLeeFuncPtr_glVertexAttrib4Nub; - #define glVertexAttrib4Nub GLeeFuncPtr_glVertexAttrib4Nub -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nubv -#define GLEE_H_DEFINED_glVertexAttrib4Nubv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUBVPROC GLeeFuncPtr_glVertexAttrib4Nubv; - #define glVertexAttrib4Nubv GLeeFuncPtr_glVertexAttrib4Nubv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nuiv -#define GLEE_H_DEFINED_glVertexAttrib4Nuiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUIVPROC GLeeFuncPtr_glVertexAttrib4Nuiv; - #define glVertexAttrib4Nuiv GLeeFuncPtr_glVertexAttrib4Nuiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4Nusv -#define GLEE_H_DEFINED_glVertexAttrib4Nusv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUSVPROC GLeeFuncPtr_glVertexAttrib4Nusv; - #define glVertexAttrib4Nusv GLeeFuncPtr_glVertexAttrib4Nusv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4bv -#define GLEE_H_DEFINED_glVertexAttrib4bv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4BVPROC GLeeFuncPtr_glVertexAttrib4bv; - #define glVertexAttrib4bv GLeeFuncPtr_glVertexAttrib4bv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4d -#define GLEE_H_DEFINED_glVertexAttrib4d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DPROC GLeeFuncPtr_glVertexAttrib4d; - #define glVertexAttrib4d GLeeFuncPtr_glVertexAttrib4d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4dv -#define GLEE_H_DEFINED_glVertexAttrib4dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DVPROC GLeeFuncPtr_glVertexAttrib4dv; - #define glVertexAttrib4dv GLeeFuncPtr_glVertexAttrib4dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4f -#define GLEE_H_DEFINED_glVertexAttrib4f - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FPROC GLeeFuncPtr_glVertexAttrib4f; - #define glVertexAttrib4f GLeeFuncPtr_glVertexAttrib4f -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4fv -#define GLEE_H_DEFINED_glVertexAttrib4fv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FVPROC GLeeFuncPtr_glVertexAttrib4fv; - #define glVertexAttrib4fv GLeeFuncPtr_glVertexAttrib4fv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4iv -#define GLEE_H_DEFINED_glVertexAttrib4iv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4IVPROC GLeeFuncPtr_glVertexAttrib4iv; - #define glVertexAttrib4iv GLeeFuncPtr_glVertexAttrib4iv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4s -#define GLEE_H_DEFINED_glVertexAttrib4s - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SPROC GLeeFuncPtr_glVertexAttrib4s; - #define glVertexAttrib4s GLeeFuncPtr_glVertexAttrib4s -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4sv -#define GLEE_H_DEFINED_glVertexAttrib4sv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SVPROC GLeeFuncPtr_glVertexAttrib4sv; - #define glVertexAttrib4sv GLeeFuncPtr_glVertexAttrib4sv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4ubv -#define GLEE_H_DEFINED_glVertexAttrib4ubv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UBVPROC GLeeFuncPtr_glVertexAttrib4ubv; - #define glVertexAttrib4ubv GLeeFuncPtr_glVertexAttrib4ubv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4uiv -#define GLEE_H_DEFINED_glVertexAttrib4uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UIVPROC GLeeFuncPtr_glVertexAttrib4uiv; - #define glVertexAttrib4uiv GLeeFuncPtr_glVertexAttrib4uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4usv -#define GLEE_H_DEFINED_glVertexAttrib4usv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4USVPROC GLeeFuncPtr_glVertexAttrib4usv; - #define glVertexAttrib4usv GLeeFuncPtr_glVertexAttrib4usv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribPointer -#define GLEE_H_DEFINED_glVertexAttribPointer - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBPOINTERPROC GLeeFuncPtr_glVertexAttribPointer; - #define glVertexAttribPointer GLeeFuncPtr_glVertexAttribPointer -#endif -#endif - -/* GL_VERSION_2_1 */ - -#ifndef GL_VERSION_2_1 -#define GL_VERSION_2_1 1 -#define __GLEE_GL_VERSION_2_1 1 -/* Constants */ -#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_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB_ALPHA 0x8C42 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_COMPRESSED_SRGB 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 -#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F -#define GL_SLUMINANCE_ALPHA 0x8C44 -#define GL_SLUMINANCE8_ALPHA8 0x8C45 -#define GL_SLUMINANCE 0x8C46 -#define GL_SLUMINANCE8 0x8C47 -#define GL_COMPRESSED_SLUMINANCE 0x8C4A -#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B -#ifndef GLEE_H_DEFINED_glUniformMatrix2x3fv -#define GLEE_H_DEFINED_glUniformMatrix2x3fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2X3FVPROC GLeeFuncPtr_glUniformMatrix2x3fv; - #define glUniformMatrix2x3fv GLeeFuncPtr_glUniformMatrix2x3fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3x2fv -#define GLEE_H_DEFINED_glUniformMatrix3x2fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3X2FVPROC GLeeFuncPtr_glUniformMatrix3x2fv; - #define glUniformMatrix3x2fv GLeeFuncPtr_glUniformMatrix3x2fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2x4fv -#define GLEE_H_DEFINED_glUniformMatrix2x4fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2X4FVPROC GLeeFuncPtr_glUniformMatrix2x4fv; - #define glUniformMatrix2x4fv GLeeFuncPtr_glUniformMatrix2x4fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4x2fv -#define GLEE_H_DEFINED_glUniformMatrix4x2fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4X2FVPROC GLeeFuncPtr_glUniformMatrix4x2fv; - #define glUniformMatrix4x2fv GLeeFuncPtr_glUniformMatrix4x2fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3x4fv -#define GLEE_H_DEFINED_glUniformMatrix3x4fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3X4FVPROC GLeeFuncPtr_glUniformMatrix3x4fv; - #define glUniformMatrix3x4fv GLeeFuncPtr_glUniformMatrix3x4fv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4x3fv -#define GLEE_H_DEFINED_glUniformMatrix4x3fv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4X3FVPROC GLeeFuncPtr_glUniformMatrix4x3fv; - #define glUniformMatrix4x3fv GLeeFuncPtr_glUniformMatrix4x3fv -#endif -#endif - -/* GL_VERSION_3_0 */ - -#ifndef GL_VERSION_3_0 -#define GL_VERSION_3_0 1 -#define __GLEE_GL_VERSION_3_0 1 -/* Constants */ -#define GL_COMPARE_REF_TO_TEXTURE 0x884E -#define GL_CLIP_DISTANCE0 0x3000 -#define GL_CLIP_DISTANCE1 0x3001 -#define GL_CLIP_DISTANCE2 0x3002 -#define GL_CLIP_DISTANCE3 0x3003 -#define GL_CLIP_DISTANCE4 0x3004 -#define GL_CLIP_DISTANCE5 0x3005 -#define GL_CLIP_DISTANCE6 0x3006 -#define GL_CLIP_DISTANCE7 0x3007 -#define GL_MAX_CLIP_DISTANCES 0x0D32 -#define GL_MAJOR_VERSION 0x821B -#define GL_MINOR_VERSION 0x821C -#define GL_NUM_EXTENSIONS 0x821D -#define GL_CONTEXT_FLAGS 0x821E -#define GL_COMPRESSED_RED 0x8225 -#define GL_COMPRESSED_RG 0x8226 -#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 -#define GL_RGBA32F 0x8814 -#define GL_RGB32F 0x8815 -#define GL_RGBA16F 0x881A -#define GL_RGB16F 0x881B -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD -#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF -#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 -#define GL_CLAMP_READ_COLOR 0x891C -#define GL_FIXED_ONLY 0x891D -#define GL_MAX_VARYING_COMPONENTS 0x8B4B -#define GL_TEXTURE_1D_ARRAY 0x8C18 -#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 -#define GL_TEXTURE_2D_ARRAY 0x8C1A -#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B -#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D -#define GL_R11F_G11F_B10F 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B -#define GL_RGB9_E5 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E -#define GL_TEXTURE_SHARED_SIZE 0x8C3F -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 -#define GL_PRIMITIVES_GENERATED 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 -#define GL_RASTERIZER_DISCARD 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B -#define GL_INTERLEAVED_ATTRIBS 0x8C8C -#define GL_SEPARATE_ATTRIBS 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F -#define GL_RGBA32UI 0x8D70 -#define GL_RGB32UI 0x8D71 -#define GL_RGBA16UI 0x8D76 -#define GL_RGB16UI 0x8D77 -#define GL_RGBA8UI 0x8D7C -#define GL_RGB8UI 0x8D7D -#define GL_RGBA32I 0x8D82 -#define GL_RGB32I 0x8D83 -#define GL_RGBA16I 0x8D88 -#define GL_RGB16I 0x8D89 -#define GL_RGBA8I 0x8D8E -#define GL_RGB8I 0x8D8F -#define GL_RED_INTEGER 0x8D94 -#define GL_GREEN_INTEGER 0x8D95 -#define GL_BLUE_INTEGER 0x8D96 -#define GL_RGB_INTEGER 0x8D98 -#define GL_RGBA_INTEGER 0x8D99 -#define GL_BGR_INTEGER 0x8D9A -#define GL_BGRA_INTEGER 0x8D9B -#define GL_SAMPLER_1D_ARRAY 0x8DC0 -#define GL_SAMPLER_2D_ARRAY 0x8DC1 -#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 -#define GL_UNSIGNED_INT_VEC2 0x8DC6 -#define GL_UNSIGNED_INT_VEC3 0x8DC7 -#define GL_UNSIGNED_INT_VEC4 0x8DC8 -#define GL_INT_SAMPLER_1D 0x8DC9 -#define GL_INT_SAMPLER_2D 0x8DCA -#define GL_INT_SAMPLER_3D 0x8DCB -#define GL_INT_SAMPLER_CUBE 0x8DCC -#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF -#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 -#define GL_QUERY_WAIT 0x8E13 -#define GL_QUERY_NO_WAIT 0x8E14 -#define GL_QUERY_BY_REGION_WAIT 0x8E15 -#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 -#define GL_BUFFER_ACCESS_FLAGS 0x911F -#define GL_BUFFER_MAP_LENGTH 0x9120 -#define GL_BUFFER_MAP_OFFSET 0x9121 -#define GL_CLAMP_VERTEX_COLOR 0x891A -#define GL_CLAMP_FRAGMENT_COLOR 0x891B -#define GL_ALPHA_INTEGER 0x8D97 -#ifndef GLEE_H_DEFINED_glColorMaski -#define GLEE_H_DEFINED_glColorMaski - typedef void (APIENTRYP GLEEPFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); - GLEE_EXTERN GLEEPFNGLCOLORMASKIPROC GLeeFuncPtr_glColorMaski; - #define glColorMaski GLeeFuncPtr_glColorMaski -#endif -#ifndef GLEE_H_DEFINED_glGetBooleani_v -#define GLEE_H_DEFINED_glGetBooleani_v - typedef void (APIENTRYP GLEEPFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean * data); - GLEE_EXTERN GLEEPFNGLGETBOOLEANI_VPROC GLeeFuncPtr_glGetBooleani_v; - #define glGetBooleani_v GLeeFuncPtr_glGetBooleani_v -#endif -#ifndef GLEE_H_DEFINED_glGetIntegeri_v -#define GLEE_H_DEFINED_glGetIntegeri_v - typedef void (APIENTRYP GLEEPFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint * data); - GLEE_EXTERN GLEEPFNGLGETINTEGERI_VPROC GLeeFuncPtr_glGetIntegeri_v; - #define glGetIntegeri_v GLeeFuncPtr_glGetIntegeri_v -#endif -#ifndef GLEE_H_DEFINED_glEnablei -#define GLEE_H_DEFINED_glEnablei - typedef void (APIENTRYP GLEEPFNGLENABLEIPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLENABLEIPROC GLeeFuncPtr_glEnablei; - #define glEnablei GLeeFuncPtr_glEnablei -#endif -#ifndef GLEE_H_DEFINED_glDisablei -#define GLEE_H_DEFINED_glDisablei - typedef void (APIENTRYP GLEEPFNGLDISABLEIPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLDISABLEIPROC GLeeFuncPtr_glDisablei; - #define glDisablei GLeeFuncPtr_glDisablei -#endif -#ifndef GLEE_H_DEFINED_glIsEnabledi -#define GLEE_H_DEFINED_glIsEnabledi - typedef GLboolean (APIENTRYP GLEEPFNGLISENABLEDIPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLISENABLEDIPROC GLeeFuncPtr_glIsEnabledi; - #define glIsEnabledi GLeeFuncPtr_glIsEnabledi -#endif -#ifndef GLEE_H_DEFINED_glBeginTransformFeedback -#define GLEE_H_DEFINED_glBeginTransformFeedback - typedef void (APIENTRYP GLEEPFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); - GLEE_EXTERN GLEEPFNGLBEGINTRANSFORMFEEDBACKPROC GLeeFuncPtr_glBeginTransformFeedback; - #define glBeginTransformFeedback GLeeFuncPtr_glBeginTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glEndTransformFeedback -#define GLEE_H_DEFINED_glEndTransformFeedback - typedef void (APIENTRYP GLEEPFNGLENDTRANSFORMFEEDBACKPROC) (); - GLEE_EXTERN GLEEPFNGLENDTRANSFORMFEEDBACKPROC GLeeFuncPtr_glEndTransformFeedback; - #define glEndTransformFeedback GLeeFuncPtr_glEndTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glBindBufferRange -#define GLEE_H_DEFINED_glBindBufferRange - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLBINDBUFFERRANGEPROC GLeeFuncPtr_glBindBufferRange; - #define glBindBufferRange GLeeFuncPtr_glBindBufferRange -#endif -#ifndef GLEE_H_DEFINED_glBindBufferBase -#define GLEE_H_DEFINED_glBindBufferBase - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); - GLEE_EXTERN GLEEPFNGLBINDBUFFERBASEPROC GLeeFuncPtr_glBindBufferBase; - #define glBindBufferBase GLeeFuncPtr_glBindBufferBase -#endif -#ifndef GLEE_H_DEFINED_glTransformFeedbackVaryings -#define GLEE_H_DEFINED_glTransformFeedbackVaryings - typedef void (APIENTRYP GLEEPFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* const * varyings, GLenum bufferMode); - GLEE_EXTERN GLEEPFNGLTRANSFORMFEEDBACKVARYINGSPROC GLeeFuncPtr_glTransformFeedbackVaryings; - #define glTransformFeedbackVaryings GLeeFuncPtr_glTransformFeedbackVaryings -#endif -#ifndef GLEE_H_DEFINED_glGetTransformFeedbackVarying -#define GLEE_H_DEFINED_glGetTransformFeedbackVarying - typedef void (APIENTRYP GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGPROC GLeeFuncPtr_glGetTransformFeedbackVarying; - #define glGetTransformFeedbackVarying GLeeFuncPtr_glGetTransformFeedbackVarying -#endif -#ifndef GLEE_H_DEFINED_glClampColor -#define GLEE_H_DEFINED_glClampColor - typedef void (APIENTRYP GLEEPFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp); - GLEE_EXTERN GLEEPFNGLCLAMPCOLORPROC GLeeFuncPtr_glClampColor; - #define glClampColor GLeeFuncPtr_glClampColor -#endif -#ifndef GLEE_H_DEFINED_glBeginConditionalRender -#define GLEE_H_DEFINED_glBeginConditionalRender - typedef void (APIENTRYP GLEEPFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode); - GLEE_EXTERN GLEEPFNGLBEGINCONDITIONALRENDERPROC GLeeFuncPtr_glBeginConditionalRender; - #define glBeginConditionalRender GLeeFuncPtr_glBeginConditionalRender -#endif -#ifndef GLEE_H_DEFINED_glEndConditionalRender -#define GLEE_H_DEFINED_glEndConditionalRender - typedef void (APIENTRYP GLEEPFNGLENDCONDITIONALRENDERPROC) (); - GLEE_EXTERN GLEEPFNGLENDCONDITIONALRENDERPROC GLeeFuncPtr_glEndConditionalRender; - #define glEndConditionalRender GLeeFuncPtr_glEndConditionalRender -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribIPointer -#define GLEE_H_DEFINED_glVertexAttribIPointer - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBIPOINTERPROC GLeeFuncPtr_glVertexAttribIPointer; - #define glVertexAttribIPointer GLeeFuncPtr_glVertexAttribIPointer -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribIiv -#define GLEE_H_DEFINED_glGetVertexAttribIiv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBIIVPROC GLeeFuncPtr_glGetVertexAttribIiv; - #define glGetVertexAttribIiv GLeeFuncPtr_glGetVertexAttribIiv -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribIuiv -#define GLEE_H_DEFINED_glGetVertexAttribIuiv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBIUIVPROC GLeeFuncPtr_glGetVertexAttribIuiv; - #define glGetVertexAttribIuiv GLeeFuncPtr_glGetVertexAttribIuiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI1i -#define GLEE_H_DEFINED_glVertexAttribI1i - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI1IPROC GLeeFuncPtr_glVertexAttribI1i; - #define glVertexAttribI1i GLeeFuncPtr_glVertexAttribI1i -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI2i -#define GLEE_H_DEFINED_glVertexAttribI2i - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI2IPROC GLeeFuncPtr_glVertexAttribI2i; - #define glVertexAttribI2i GLeeFuncPtr_glVertexAttribI2i -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI3i -#define GLEE_H_DEFINED_glVertexAttribI3i - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI3IPROC GLeeFuncPtr_glVertexAttribI3i; - #define glVertexAttribI3i GLeeFuncPtr_glVertexAttribI3i -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4i -#define GLEE_H_DEFINED_glVertexAttribI4i - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4IPROC GLeeFuncPtr_glVertexAttribI4i; - #define glVertexAttribI4i GLeeFuncPtr_glVertexAttribI4i -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI1ui -#define GLEE_H_DEFINED_glVertexAttribI1ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI1UIPROC GLeeFuncPtr_glVertexAttribI1ui; - #define glVertexAttribI1ui GLeeFuncPtr_glVertexAttribI1ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI2ui -#define GLEE_H_DEFINED_glVertexAttribI2ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI2UIPROC GLeeFuncPtr_glVertexAttribI2ui; - #define glVertexAttribI2ui GLeeFuncPtr_glVertexAttribI2ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI3ui -#define GLEE_H_DEFINED_glVertexAttribI3ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI3UIPROC GLeeFuncPtr_glVertexAttribI3ui; - #define glVertexAttribI3ui GLeeFuncPtr_glVertexAttribI3ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4ui -#define GLEE_H_DEFINED_glVertexAttribI4ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4UIPROC GLeeFuncPtr_glVertexAttribI4ui; - #define glVertexAttribI4ui GLeeFuncPtr_glVertexAttribI4ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI1iv -#define GLEE_H_DEFINED_glVertexAttribI1iv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI1IVPROC GLeeFuncPtr_glVertexAttribI1iv; - #define glVertexAttribI1iv GLeeFuncPtr_glVertexAttribI1iv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI2iv -#define GLEE_H_DEFINED_glVertexAttribI2iv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI2IVPROC GLeeFuncPtr_glVertexAttribI2iv; - #define glVertexAttribI2iv GLeeFuncPtr_glVertexAttribI2iv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI3iv -#define GLEE_H_DEFINED_glVertexAttribI3iv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI3IVPROC GLeeFuncPtr_glVertexAttribI3iv; - #define glVertexAttribI3iv GLeeFuncPtr_glVertexAttribI3iv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4iv -#define GLEE_H_DEFINED_glVertexAttribI4iv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4IVPROC GLeeFuncPtr_glVertexAttribI4iv; - #define glVertexAttribI4iv GLeeFuncPtr_glVertexAttribI4iv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI1uiv -#define GLEE_H_DEFINED_glVertexAttribI1uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI1UIVPROC GLeeFuncPtr_glVertexAttribI1uiv; - #define glVertexAttribI1uiv GLeeFuncPtr_glVertexAttribI1uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI2uiv -#define GLEE_H_DEFINED_glVertexAttribI2uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI2UIVPROC GLeeFuncPtr_glVertexAttribI2uiv; - #define glVertexAttribI2uiv GLeeFuncPtr_glVertexAttribI2uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI3uiv -#define GLEE_H_DEFINED_glVertexAttribI3uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI3UIVPROC GLeeFuncPtr_glVertexAttribI3uiv; - #define glVertexAttribI3uiv GLeeFuncPtr_glVertexAttribI3uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4uiv -#define GLEE_H_DEFINED_glVertexAttribI4uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4UIVPROC GLeeFuncPtr_glVertexAttribI4uiv; - #define glVertexAttribI4uiv GLeeFuncPtr_glVertexAttribI4uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4bv -#define GLEE_H_DEFINED_glVertexAttribI4bv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4BVPROC GLeeFuncPtr_glVertexAttribI4bv; - #define glVertexAttribI4bv GLeeFuncPtr_glVertexAttribI4bv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4sv -#define GLEE_H_DEFINED_glVertexAttribI4sv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4SVPROC GLeeFuncPtr_glVertexAttribI4sv; - #define glVertexAttribI4sv GLeeFuncPtr_glVertexAttribI4sv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4ubv -#define GLEE_H_DEFINED_glVertexAttribI4ubv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4UBVPROC GLeeFuncPtr_glVertexAttribI4ubv; - #define glVertexAttribI4ubv GLeeFuncPtr_glVertexAttribI4ubv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribI4usv -#define GLEE_H_DEFINED_glVertexAttribI4usv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBI4USVPROC GLeeFuncPtr_glVertexAttribI4usv; - #define glVertexAttribI4usv GLeeFuncPtr_glVertexAttribI4usv -#endif -#ifndef GLEE_H_DEFINED_glGetUniformuiv -#define GLEE_H_DEFINED_glGetUniformuiv - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMUIVPROC GLeeFuncPtr_glGetUniformuiv; - #define glGetUniformuiv GLeeFuncPtr_glGetUniformuiv -#endif -#ifndef GLEE_H_DEFINED_glBindFragDataLocation -#define GLEE_H_DEFINED_glBindFragDataLocation - typedef void (APIENTRYP GLEEPFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar * name); - GLEE_EXTERN GLEEPFNGLBINDFRAGDATALOCATIONPROC GLeeFuncPtr_glBindFragDataLocation; - #define glBindFragDataLocation GLeeFuncPtr_glBindFragDataLocation -#endif -#ifndef GLEE_H_DEFINED_glGetFragDataLocation -#define GLEE_H_DEFINED_glGetFragDataLocation - typedef GLint (APIENTRYP GLEEPFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETFRAGDATALOCATIONPROC GLeeFuncPtr_glGetFragDataLocation; - #define glGetFragDataLocation GLeeFuncPtr_glGetFragDataLocation -#endif -#ifndef GLEE_H_DEFINED_glUniform1ui -#define GLEE_H_DEFINED_glUniform1ui - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1UIPROC GLeeFuncPtr_glUniform1ui; - #define glUniform1ui GLeeFuncPtr_glUniform1ui -#endif -#ifndef GLEE_H_DEFINED_glUniform2ui -#define GLEE_H_DEFINED_glUniform2ui - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2UIPROC GLeeFuncPtr_glUniform2ui; - #define glUniform2ui GLeeFuncPtr_glUniform2ui -#endif -#ifndef GLEE_H_DEFINED_glUniform3ui -#define GLEE_H_DEFINED_glUniform3ui - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3UIPROC GLeeFuncPtr_glUniform3ui; - #define glUniform3ui GLeeFuncPtr_glUniform3ui -#endif -#ifndef GLEE_H_DEFINED_glUniform4ui -#define GLEE_H_DEFINED_glUniform4ui - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4UIPROC GLeeFuncPtr_glUniform4ui; - #define glUniform4ui GLeeFuncPtr_glUniform4ui -#endif -#ifndef GLEE_H_DEFINED_glUniform1uiv -#define GLEE_H_DEFINED_glUniform1uiv - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1UIVPROC GLeeFuncPtr_glUniform1uiv; - #define glUniform1uiv GLeeFuncPtr_glUniform1uiv -#endif -#ifndef GLEE_H_DEFINED_glUniform2uiv -#define GLEE_H_DEFINED_glUniform2uiv - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2UIVPROC GLeeFuncPtr_glUniform2uiv; - #define glUniform2uiv GLeeFuncPtr_glUniform2uiv -#endif -#ifndef GLEE_H_DEFINED_glUniform3uiv -#define GLEE_H_DEFINED_glUniform3uiv - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3UIVPROC GLeeFuncPtr_glUniform3uiv; - #define glUniform3uiv GLeeFuncPtr_glUniform3uiv -#endif -#ifndef GLEE_H_DEFINED_glUniform4uiv -#define GLEE_H_DEFINED_glUniform4uiv - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4UIVPROC GLeeFuncPtr_glUniform4uiv; - #define glUniform4uiv GLeeFuncPtr_glUniform4uiv -#endif -#ifndef GLEE_H_DEFINED_glTexParameterIiv -#define GLEE_H_DEFINED_glTexParameterIiv - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERIIVPROC GLeeFuncPtr_glTexParameterIiv; - #define glTexParameterIiv GLeeFuncPtr_glTexParameterIiv -#endif -#ifndef GLEE_H_DEFINED_glTexParameterIuiv -#define GLEE_H_DEFINED_glTexParameterIuiv - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint * params); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERIUIVPROC GLeeFuncPtr_glTexParameterIuiv; - #define glTexParameterIuiv GLeeFuncPtr_glTexParameterIuiv -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterIiv -#define GLEE_H_DEFINED_glGetTexParameterIiv - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERIIVPROC GLeeFuncPtr_glGetTexParameterIiv; - #define glGetTexParameterIiv GLeeFuncPtr_glGetTexParameterIiv -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterIuiv -#define GLEE_H_DEFINED_glGetTexParameterIuiv - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERIUIVPROC GLeeFuncPtr_glGetTexParameterIuiv; - #define glGetTexParameterIuiv GLeeFuncPtr_glGetTexParameterIuiv -#endif -#ifndef GLEE_H_DEFINED_glClearBufferiv -#define GLEE_H_DEFINED_glClearBufferiv - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint * value); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERIVPROC GLeeFuncPtr_glClearBufferiv; - #define glClearBufferiv GLeeFuncPtr_glClearBufferiv -#endif -#ifndef GLEE_H_DEFINED_glClearBufferuiv -#define GLEE_H_DEFINED_glClearBufferuiv - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint * value); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERUIVPROC GLeeFuncPtr_glClearBufferuiv; - #define glClearBufferuiv GLeeFuncPtr_glClearBufferuiv -#endif -#ifndef GLEE_H_DEFINED_glClearBufferfv -#define GLEE_H_DEFINED_glClearBufferfv - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERFVPROC GLeeFuncPtr_glClearBufferfv; - #define glClearBufferfv GLeeFuncPtr_glClearBufferfv -#endif -#ifndef GLEE_H_DEFINED_glClearBufferfi -#define GLEE_H_DEFINED_glClearBufferfi - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERFIPROC GLeeFuncPtr_glClearBufferfi; - #define glClearBufferfi GLeeFuncPtr_glClearBufferfi -#endif -#ifndef GLEE_H_DEFINED_glGetStringi -#define GLEE_H_DEFINED_glGetStringi - typedef const GLubyte * (APIENTRYP GLEEPFNGLGETSTRINGIPROC) (GLenum name, GLuint index); - GLEE_EXTERN GLEEPFNGLGETSTRINGIPROC GLeeFuncPtr_glGetStringi; - #define glGetStringi GLeeFuncPtr_glGetStringi -#endif -#endif - -/* GL_VERSION_3_1 */ - -#ifndef GL_VERSION_3_1 -#define GL_VERSION_3_1 1 -#define __GLEE_GL_VERSION_3_1 1 -/* Constants */ -#define GL_SAMPLER_2D_RECT 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 -#define GL_SAMPLER_BUFFER 0x8DC2 -#define GL_INT_SAMPLER_2D_RECT 0x8DCD -#define GL_INT_SAMPLER_BUFFER 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 -#define GL_TEXTURE_BUFFER 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D -#define GL_TEXTURE_RECTANGLE 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 -#define GL_RED_SNORM 0x8F90 -#define GL_RG_SNORM 0x8F91 -#define GL_RGB_SNORM 0x8F92 -#define GL_RGBA_SNORM 0x8F93 -#define GL_R8_SNORM 0x8F94 -#define GL_RG8_SNORM 0x8F95 -#define GL_RGB8_SNORM 0x8F96 -#define GL_RGBA8_SNORM 0x8F97 -#define GL_R16_SNORM 0x8F98 -#define GL_RG16_SNORM 0x8F99 -#define GL_RGB16_SNORM 0x8F9A -#define GL_RGBA16_SNORM 0x8F9B -#define GL_SIGNED_NORMALIZED 0x8F9C -#define GL_PRIMITIVE_RESTART 0x8F9D -#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E -#ifndef GLEE_H_DEFINED_glDrawArraysInstanced -#define GLEE_H_DEFINED_glDrawArraysInstanced - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSINSTANCEDPROC GLeeFuncPtr_glDrawArraysInstanced; - #define glDrawArraysInstanced GLeeFuncPtr_glDrawArraysInstanced -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstanced -#define GLEE_H_DEFINED_glDrawElementsInstanced - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDPROC GLeeFuncPtr_glDrawElementsInstanced; - #define glDrawElementsInstanced GLeeFuncPtr_glDrawElementsInstanced -#endif -#ifndef GLEE_H_DEFINED_glTexBuffer -#define GLEE_H_DEFINED_glTexBuffer - typedef void (APIENTRYP GLEEPFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer); - GLEE_EXTERN GLEEPFNGLTEXBUFFERPROC GLeeFuncPtr_glTexBuffer; - #define glTexBuffer GLeeFuncPtr_glTexBuffer -#endif -#ifndef GLEE_H_DEFINED_glPrimitiveRestartIndex -#define GLEE_H_DEFINED_glPrimitiveRestartIndex - typedef void (APIENTRYP GLEEPFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLPRIMITIVERESTARTINDEXPROC GLeeFuncPtr_glPrimitiveRestartIndex; - #define glPrimitiveRestartIndex GLeeFuncPtr_glPrimitiveRestartIndex -#endif -#endif - -/* GL_VERSION_3_2 */ - -#ifndef GL_VERSION_3_2 -#define GL_VERSION_3_2 1 -#define __GLEE_GL_VERSION_3_2 1 -/* Constants */ -#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 -#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 -#define GL_LINES_ADJACENCY 0x000A -#define GL_LINE_STRIP_ADJACENCY 0x000B -#define GL_TRIANGLES_ADJACENCY 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D -#define GL_PROGRAM_POINT_SIZE 0x8642 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 -#define GL_GEOMETRY_SHADER 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT 0x8916 -#define GL_GEOMETRY_INPUT_TYPE 0x8917 -#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 -#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 -#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 -#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 -#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 -#define GL_CONTEXT_PROFILE_MASK 0x9126 -#ifndef GLEE_H_DEFINED_glGetInteger64i_v -#define GLEE_H_DEFINED_glGetInteger64i_v - typedef void (APIENTRYP GLEEPFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 * data); - GLEE_EXTERN GLEEPFNGLGETINTEGER64I_VPROC GLeeFuncPtr_glGetInteger64i_v; - #define glGetInteger64i_v GLeeFuncPtr_glGetInteger64i_v -#endif -#ifndef GLEE_H_DEFINED_glGetBufferParameteri64v -#define GLEE_H_DEFINED_glGetBufferParameteri64v - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPARAMETERI64VPROC GLeeFuncPtr_glGetBufferParameteri64v; - #define glGetBufferParameteri64v GLeeFuncPtr_glGetBufferParameteri64v -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture -#define GLEE_H_DEFINED_glFramebufferTexture - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTUREPROC GLeeFuncPtr_glFramebufferTexture; - #define glFramebufferTexture GLeeFuncPtr_glFramebufferTexture -#endif -#endif - -/* GL_VERSION_3_3 */ - -#ifndef GL_VERSION_3_3 -#define GL_VERSION_3_3 1 -#define __GLEE_GL_VERSION_3_3 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE -#ifndef GLEE_H_DEFINED_glVertexAttribDivisor -#define GLEE_H_DEFINED_glVertexAttribDivisor - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBDIVISORPROC GLeeFuncPtr_glVertexAttribDivisor; - #define glVertexAttribDivisor GLeeFuncPtr_glVertexAttribDivisor -#endif -#endif - -/* GL_VERSION_4_0 */ - -#ifndef GL_VERSION_4_0 -#define GL_VERSION_4_0 1 -#define __GLEE_GL_VERSION_4_0 1 -/* Constants */ -#define GL_SAMPLE_SHADING 0x8C36 -#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 -#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E -#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F -#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A -#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B -#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C -#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D -#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E -#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F -#ifndef GLEE_H_DEFINED_glMinSampleShading -#define GLEE_H_DEFINED_glMinSampleShading - typedef void (APIENTRYP GLEEPFNGLMINSAMPLESHADINGPROC) (GLfloat value); - GLEE_EXTERN GLEEPFNGLMINSAMPLESHADINGPROC GLeeFuncPtr_glMinSampleShading; - #define glMinSampleShading GLeeFuncPtr_glMinSampleShading -#endif -#ifndef GLEE_H_DEFINED_glBlendEquationi -#define GLEE_H_DEFINED_glBlendEquationi - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONIPROC GLeeFuncPtr_glBlendEquationi; - #define glBlendEquationi GLeeFuncPtr_glBlendEquationi -#endif -#ifndef GLEE_H_DEFINED_glBlendEquationSeparatei -#define GLEE_H_DEFINED_glBlendEquationSeparatei - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONSEPARATEIPROC GLeeFuncPtr_glBlendEquationSeparatei; - #define glBlendEquationSeparatei GLeeFuncPtr_glBlendEquationSeparatei -#endif -#ifndef GLEE_H_DEFINED_glBlendFunci -#define GLEE_H_DEFINED_glBlendFunci - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); - GLEE_EXTERN GLEEPFNGLBLENDFUNCIPROC GLeeFuncPtr_glBlendFunci; - #define glBlendFunci GLeeFuncPtr_glBlendFunci -#endif -#ifndef GLEE_H_DEFINED_glBlendFuncSeparatei -#define GLEE_H_DEFINED_glBlendFuncSeparatei - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEIPROC GLeeFuncPtr_glBlendFuncSeparatei; - #define glBlendFuncSeparatei GLeeFuncPtr_glBlendFuncSeparatei -#endif -#endif - -/* GL_VERSION_4_1 */ - -#ifndef GL_VERSION_4_1 -#define GL_VERSION_4_1 1 -#define __GLEE_GL_VERSION_4_1 1 -/* Constants */ -#endif - -/* GL_VERSION_4_2 */ - -#ifndef GL_VERSION_4_2 -#define GL_VERSION_4_2 1 -#define __GLEE_GL_VERSION_4_2 1 -/* Constants */ -#endif - -/* GL_VERSION_4_3 */ - -#ifndef GL_VERSION_4_3 -#define GL_VERSION_4_3 1 -#define __GLEE_GL_VERSION_4_3 1 -/* Constants */ -#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 -#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E -#endif - -/* GL_ARB_multitexture */ - -#ifndef GL_ARB_multitexture -#define GL_ARB_multitexture 1 -#define __GLEE_GL_ARB_multitexture 1 -/* Constants */ -#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_TEXTURE10_ARB 0x84CA -#define GL_TEXTURE11_ARB 0x84CB -#define GL_TEXTURE12_ARB 0x84CC -#define GL_TEXTURE13_ARB 0x84CD -#define GL_TEXTURE14_ARB 0x84CE -#define GL_TEXTURE15_ARB 0x84CF -#define GL_TEXTURE16_ARB 0x84D0 -#define GL_TEXTURE17_ARB 0x84D1 -#define GL_TEXTURE18_ARB 0x84D2 -#define GL_TEXTURE19_ARB 0x84D3 -#define GL_TEXTURE20_ARB 0x84D4 -#define GL_TEXTURE21_ARB 0x84D5 -#define GL_TEXTURE22_ARB 0x84D6 -#define GL_TEXTURE23_ARB 0x84D7 -#define GL_TEXTURE24_ARB 0x84D8 -#define GL_TEXTURE25_ARB 0x84D9 -#define GL_TEXTURE26_ARB 0x84DA -#define GL_TEXTURE27_ARB 0x84DB -#define GL_TEXTURE28_ARB 0x84DC -#define GL_TEXTURE29_ARB 0x84DD -#define GL_TEXTURE30_ARB 0x84DE -#define GL_TEXTURE31_ARB 0x84DF -#define GL_ACTIVE_TEXTURE_ARB 0x84E0 -#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 -#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 -#ifndef GLEE_H_DEFINED_glActiveTextureARB -#define GLEE_H_DEFINED_glActiveTextureARB - typedef void (APIENTRYP GLEEPFNGLACTIVETEXTUREARBPROC) (GLenum texture); - GLEE_EXTERN GLEEPFNGLACTIVETEXTUREARBPROC GLeeFuncPtr_glActiveTextureARB; - #define glActiveTextureARB GLeeFuncPtr_glActiveTextureARB -#endif -#ifndef GLEE_H_DEFINED_glClientActiveTextureARB -#define GLEE_H_DEFINED_glClientActiveTextureARB - typedef void (APIENTRYP GLEEPFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); - GLEE_EXTERN GLEEPFNGLCLIENTACTIVETEXTUREARBPROC GLeeFuncPtr_glClientActiveTextureARB; - #define glClientActiveTextureARB GLeeFuncPtr_glClientActiveTextureARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1dARB -#define GLEE_H_DEFINED_glMultiTexCoord1dARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1DARBPROC GLeeFuncPtr_glMultiTexCoord1dARB; - #define glMultiTexCoord1dARB GLeeFuncPtr_glMultiTexCoord1dARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1dvARB -#define GLEE_H_DEFINED_glMultiTexCoord1dvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1DVARBPROC GLeeFuncPtr_glMultiTexCoord1dvARB; - #define glMultiTexCoord1dvARB GLeeFuncPtr_glMultiTexCoord1dvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1fARB -#define GLEE_H_DEFINED_glMultiTexCoord1fARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1FARBPROC GLeeFuncPtr_glMultiTexCoord1fARB; - #define glMultiTexCoord1fARB GLeeFuncPtr_glMultiTexCoord1fARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1fvARB -#define GLEE_H_DEFINED_glMultiTexCoord1fvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1FVARBPROC GLeeFuncPtr_glMultiTexCoord1fvARB; - #define glMultiTexCoord1fvARB GLeeFuncPtr_glMultiTexCoord1fvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1iARB -#define GLEE_H_DEFINED_glMultiTexCoord1iARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1IARBPROC GLeeFuncPtr_glMultiTexCoord1iARB; - #define glMultiTexCoord1iARB GLeeFuncPtr_glMultiTexCoord1iARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1ivARB -#define GLEE_H_DEFINED_glMultiTexCoord1ivARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1IVARBPROC GLeeFuncPtr_glMultiTexCoord1ivARB; - #define glMultiTexCoord1ivARB GLeeFuncPtr_glMultiTexCoord1ivARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1sARB -#define GLEE_H_DEFINED_glMultiTexCoord1sARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1SARBPROC GLeeFuncPtr_glMultiTexCoord1sARB; - #define glMultiTexCoord1sARB GLeeFuncPtr_glMultiTexCoord1sARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1svARB -#define GLEE_H_DEFINED_glMultiTexCoord1svARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1SVARBPROC GLeeFuncPtr_glMultiTexCoord1svARB; - #define glMultiTexCoord1svARB GLeeFuncPtr_glMultiTexCoord1svARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2dARB -#define GLEE_H_DEFINED_glMultiTexCoord2dARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2DARBPROC GLeeFuncPtr_glMultiTexCoord2dARB; - #define glMultiTexCoord2dARB GLeeFuncPtr_glMultiTexCoord2dARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2dvARB -#define GLEE_H_DEFINED_glMultiTexCoord2dvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2DVARBPROC GLeeFuncPtr_glMultiTexCoord2dvARB; - #define glMultiTexCoord2dvARB GLeeFuncPtr_glMultiTexCoord2dvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2fARB -#define GLEE_H_DEFINED_glMultiTexCoord2fARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2FARBPROC GLeeFuncPtr_glMultiTexCoord2fARB; - #define glMultiTexCoord2fARB GLeeFuncPtr_glMultiTexCoord2fARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2fvARB -#define GLEE_H_DEFINED_glMultiTexCoord2fvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2FVARBPROC GLeeFuncPtr_glMultiTexCoord2fvARB; - #define glMultiTexCoord2fvARB GLeeFuncPtr_glMultiTexCoord2fvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2iARB -#define GLEE_H_DEFINED_glMultiTexCoord2iARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2IARBPROC GLeeFuncPtr_glMultiTexCoord2iARB; - #define glMultiTexCoord2iARB GLeeFuncPtr_glMultiTexCoord2iARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2ivARB -#define GLEE_H_DEFINED_glMultiTexCoord2ivARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2IVARBPROC GLeeFuncPtr_glMultiTexCoord2ivARB; - #define glMultiTexCoord2ivARB GLeeFuncPtr_glMultiTexCoord2ivARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2sARB -#define GLEE_H_DEFINED_glMultiTexCoord2sARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2SARBPROC GLeeFuncPtr_glMultiTexCoord2sARB; - #define glMultiTexCoord2sARB GLeeFuncPtr_glMultiTexCoord2sARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2svARB -#define GLEE_H_DEFINED_glMultiTexCoord2svARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2SVARBPROC GLeeFuncPtr_glMultiTexCoord2svARB; - #define glMultiTexCoord2svARB GLeeFuncPtr_glMultiTexCoord2svARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3dARB -#define GLEE_H_DEFINED_glMultiTexCoord3dARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3DARBPROC GLeeFuncPtr_glMultiTexCoord3dARB; - #define glMultiTexCoord3dARB GLeeFuncPtr_glMultiTexCoord3dARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3dvARB -#define GLEE_H_DEFINED_glMultiTexCoord3dvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3DVARBPROC GLeeFuncPtr_glMultiTexCoord3dvARB; - #define glMultiTexCoord3dvARB GLeeFuncPtr_glMultiTexCoord3dvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3fARB -#define GLEE_H_DEFINED_glMultiTexCoord3fARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3FARBPROC GLeeFuncPtr_glMultiTexCoord3fARB; - #define glMultiTexCoord3fARB GLeeFuncPtr_glMultiTexCoord3fARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3fvARB -#define GLEE_H_DEFINED_glMultiTexCoord3fvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3FVARBPROC GLeeFuncPtr_glMultiTexCoord3fvARB; - #define glMultiTexCoord3fvARB GLeeFuncPtr_glMultiTexCoord3fvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3iARB -#define GLEE_H_DEFINED_glMultiTexCoord3iARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3IARBPROC GLeeFuncPtr_glMultiTexCoord3iARB; - #define glMultiTexCoord3iARB GLeeFuncPtr_glMultiTexCoord3iARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3ivARB -#define GLEE_H_DEFINED_glMultiTexCoord3ivARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3IVARBPROC GLeeFuncPtr_glMultiTexCoord3ivARB; - #define glMultiTexCoord3ivARB GLeeFuncPtr_glMultiTexCoord3ivARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3sARB -#define GLEE_H_DEFINED_glMultiTexCoord3sARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3SARBPROC GLeeFuncPtr_glMultiTexCoord3sARB; - #define glMultiTexCoord3sARB GLeeFuncPtr_glMultiTexCoord3sARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3svARB -#define GLEE_H_DEFINED_glMultiTexCoord3svARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3SVARBPROC GLeeFuncPtr_glMultiTexCoord3svARB; - #define glMultiTexCoord3svARB GLeeFuncPtr_glMultiTexCoord3svARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4dARB -#define GLEE_H_DEFINED_glMultiTexCoord4dARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4DARBPROC GLeeFuncPtr_glMultiTexCoord4dARB; - #define glMultiTexCoord4dARB GLeeFuncPtr_glMultiTexCoord4dARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4dvARB -#define GLEE_H_DEFINED_glMultiTexCoord4dvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4DVARBPROC GLeeFuncPtr_glMultiTexCoord4dvARB; - #define glMultiTexCoord4dvARB GLeeFuncPtr_glMultiTexCoord4dvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4fARB -#define GLEE_H_DEFINED_glMultiTexCoord4fARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4FARBPROC GLeeFuncPtr_glMultiTexCoord4fARB; - #define glMultiTexCoord4fARB GLeeFuncPtr_glMultiTexCoord4fARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4fvARB -#define GLEE_H_DEFINED_glMultiTexCoord4fvARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4FVARBPROC GLeeFuncPtr_glMultiTexCoord4fvARB; - #define glMultiTexCoord4fvARB GLeeFuncPtr_glMultiTexCoord4fvARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4iARB -#define GLEE_H_DEFINED_glMultiTexCoord4iARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4IARBPROC GLeeFuncPtr_glMultiTexCoord4iARB; - #define glMultiTexCoord4iARB GLeeFuncPtr_glMultiTexCoord4iARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4ivARB -#define GLEE_H_DEFINED_glMultiTexCoord4ivARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4IVARBPROC GLeeFuncPtr_glMultiTexCoord4ivARB; - #define glMultiTexCoord4ivARB GLeeFuncPtr_glMultiTexCoord4ivARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4sARB -#define GLEE_H_DEFINED_glMultiTexCoord4sARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4SARBPROC GLeeFuncPtr_glMultiTexCoord4sARB; - #define glMultiTexCoord4sARB GLeeFuncPtr_glMultiTexCoord4sARB -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4svARB -#define GLEE_H_DEFINED_glMultiTexCoord4svARB - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4SVARBPROC GLeeFuncPtr_glMultiTexCoord4svARB; - #define glMultiTexCoord4svARB GLeeFuncPtr_glMultiTexCoord4svARB -#endif -#endif - -/* GL_ARB_transpose_matrix */ - -#ifndef GL_ARB_transpose_matrix -#define GL_ARB_transpose_matrix 1 -#define __GLEE_GL_ARB_transpose_matrix 1 -/* Constants */ -#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 -#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 -#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 -#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 -#ifndef GLEE_H_DEFINED_glLoadTransposeMatrixfARB -#define GLEE_H_DEFINED_glLoadTransposeMatrixfARB - typedef void (APIENTRYP GLEEPFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat * m); - GLEE_EXTERN GLEEPFNGLLOADTRANSPOSEMATRIXFARBPROC GLeeFuncPtr_glLoadTransposeMatrixfARB; - #define glLoadTransposeMatrixfARB GLeeFuncPtr_glLoadTransposeMatrixfARB -#endif -#ifndef GLEE_H_DEFINED_glLoadTransposeMatrixdARB -#define GLEE_H_DEFINED_glLoadTransposeMatrixdARB - typedef void (APIENTRYP GLEEPFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble * m); - GLEE_EXTERN GLEEPFNGLLOADTRANSPOSEMATRIXDARBPROC GLeeFuncPtr_glLoadTransposeMatrixdARB; - #define glLoadTransposeMatrixdARB GLeeFuncPtr_glLoadTransposeMatrixdARB -#endif -#ifndef GLEE_H_DEFINED_glMultTransposeMatrixfARB -#define GLEE_H_DEFINED_glMultTransposeMatrixfARB - typedef void (APIENTRYP GLEEPFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMULTTRANSPOSEMATRIXFARBPROC GLeeFuncPtr_glMultTransposeMatrixfARB; - #define glMultTransposeMatrixfARB GLeeFuncPtr_glMultTransposeMatrixfARB -#endif -#ifndef GLEE_H_DEFINED_glMultTransposeMatrixdARB -#define GLEE_H_DEFINED_glMultTransposeMatrixdARB - typedef void (APIENTRYP GLEEPFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMULTTRANSPOSEMATRIXDARBPROC GLeeFuncPtr_glMultTransposeMatrixdARB; - #define glMultTransposeMatrixdARB GLeeFuncPtr_glMultTransposeMatrixdARB -#endif -#endif - -/* GL_ARB_multisample */ - -#ifndef GL_ARB_multisample -#define GL_ARB_multisample 1 -#define __GLEE_GL_ARB_multisample 1 -/* Constants */ -#define GL_MULTISAMPLE_ARB 0x809D -#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F -#define GL_SAMPLE_COVERAGE_ARB 0x80A0 -#define GL_SAMPLE_BUFFERS_ARB 0x80A8 -#define GL_SAMPLES_ARB 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB -#define GL_MULTISAMPLE_BIT_ARB 0x20000000 -#ifndef GLEE_H_DEFINED_glSampleCoverageARB -#define GLEE_H_DEFINED_glSampleCoverageARB - typedef void (APIENTRYP GLEEPFNGLSAMPLECOVERAGEARBPROC) (GLfloat value, GLboolean invert); - GLEE_EXTERN GLEEPFNGLSAMPLECOVERAGEARBPROC GLeeFuncPtr_glSampleCoverageARB; - #define glSampleCoverageARB GLeeFuncPtr_glSampleCoverageARB -#endif -#endif - -/* GL_ARB_texture_env_add */ - -#ifndef GL_ARB_texture_env_add -#define GL_ARB_texture_env_add 1 -#define __GLEE_GL_ARB_texture_env_add 1 -/* Constants */ -#endif - -/* GL_ARB_texture_cube_map */ - -#ifndef GL_ARB_texture_cube_map -#define GL_ARB_texture_cube_map 1 -#define __GLEE_GL_ARB_texture_cube_map 1 -/* Constants */ -#define GL_NORMAL_MAP_ARB 0x8511 -#define GL_REFLECTION_MAP_ARB 0x8512 -#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C -#endif - -/* GL_ARB_texture_compression */ - -#ifndef GL_ARB_texture_compression -#define GL_ARB_texture_compression 1 -#define __GLEE_GL_ARB_texture_compression 1 -/* Constants */ -#define GL_COMPRESSED_ALPHA_ARB 0x84E9 -#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA -#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB -#define GL_COMPRESSED_INTENSITY_ARB 0x84EC -#define GL_COMPRESSED_RGB_ARB 0x84ED -#define GL_COMPRESSED_RGBA_ARB 0x84EE -#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 -#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 -#ifndef GLEE_H_DEFINED_glCompressedTexImage3DARB -#define GLEE_H_DEFINED_glCompressedTexImage3DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE3DARBPROC GLeeFuncPtr_glCompressedTexImage3DARB; - #define glCompressedTexImage3DARB GLeeFuncPtr_glCompressedTexImage3DARB -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexImage2DARB -#define GLEE_H_DEFINED_glCompressedTexImage2DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC GLeeFuncPtr_glCompressedTexImage2DARB; - #define glCompressedTexImage2DARB GLeeFuncPtr_glCompressedTexImage2DARB -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexImage1DARB -#define GLEE_H_DEFINED_glCompressedTexImage1DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXIMAGE1DARBPROC GLeeFuncPtr_glCompressedTexImage1DARB; - #define glCompressedTexImage1DARB GLeeFuncPtr_glCompressedTexImage1DARB -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage3DARB -#define GLEE_H_DEFINED_glCompressedTexSubImage3DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC GLeeFuncPtr_glCompressedTexSubImage3DARB; - #define glCompressedTexSubImage3DARB GLeeFuncPtr_glCompressedTexSubImage3DARB -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage2DARB -#define GLEE_H_DEFINED_glCompressedTexSubImage2DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC GLeeFuncPtr_glCompressedTexSubImage2DARB; - #define glCompressedTexSubImage2DARB GLeeFuncPtr_glCompressedTexSubImage2DARB -#endif -#ifndef GLEE_H_DEFINED_glCompressedTexSubImage1DARB -#define GLEE_H_DEFINED_glCompressedTexSubImage1DARB - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC GLeeFuncPtr_glCompressedTexSubImage1DARB; - #define glCompressedTexSubImage1DARB GLeeFuncPtr_glCompressedTexSubImage1DARB -#endif -#ifndef GLEE_H_DEFINED_glGetCompressedTexImageARB -#define GLEE_H_DEFINED_glGetCompressedTexImageARB - typedef void (APIENTRYP GLEEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC GLeeFuncPtr_glGetCompressedTexImageARB; - #define glGetCompressedTexImageARB GLeeFuncPtr_glGetCompressedTexImageARB -#endif -#endif - -/* GL_ARB_texture_border_clamp */ - -#ifndef GL_ARB_texture_border_clamp -#define GL_ARB_texture_border_clamp 1 -#define __GLEE_GL_ARB_texture_border_clamp 1 -/* Constants */ -#define GL_CLAMP_TO_BORDER_ARB 0x812D -#endif - -/* GL_ARB_point_parameters */ - -#ifndef GL_ARB_point_parameters -#define GL_ARB_point_parameters 1 -#define __GLEE_GL_ARB_point_parameters 1 -/* Constants */ -#define GL_POINT_SIZE_MIN_ARB 0x8126 -#define GL_POINT_SIZE_MAX_ARB 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 -#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 -#ifndef GLEE_H_DEFINED_glPointParameterfARB -#define GLEE_H_DEFINED_glPointParameterfARB - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFARBPROC GLeeFuncPtr_glPointParameterfARB; - #define glPointParameterfARB GLeeFuncPtr_glPointParameterfARB -#endif -#ifndef GLEE_H_DEFINED_glPointParameterfvARB -#define GLEE_H_DEFINED_glPointParameterfvARB - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFVARBPROC GLeeFuncPtr_glPointParameterfvARB; - #define glPointParameterfvARB GLeeFuncPtr_glPointParameterfvARB -#endif -#endif - -/* GL_ARB_vertex_blend */ - -#ifndef GL_ARB_vertex_blend -#define GL_ARB_vertex_blend 1 -#define __GLEE_GL_ARB_vertex_blend 1 -/* Constants */ -#define GL_MAX_VERTEX_UNITS_ARB 0x86A4 -#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 -#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 -#define GL_VERTEX_BLEND_ARB 0x86A7 -#define GL_CURRENT_WEIGHT_ARB 0x86A8 -#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 -#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA -#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB -#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC -#define GL_WEIGHT_ARRAY_ARB 0x86AD -#define GL_MODELVIEW0_ARB 0x1700 -#define GL_MODELVIEW1_ARB 0x850A -#define GL_MODELVIEW2_ARB 0x8722 -#define GL_MODELVIEW3_ARB 0x8723 -#define GL_MODELVIEW4_ARB 0x8724 -#define GL_MODELVIEW5_ARB 0x8725 -#define GL_MODELVIEW6_ARB 0x8726 -#define GL_MODELVIEW7_ARB 0x8727 -#define GL_MODELVIEW8_ARB 0x8728 -#define GL_MODELVIEW9_ARB 0x8729 -#define GL_MODELVIEW10_ARB 0x872A -#define GL_MODELVIEW11_ARB 0x872B -#define GL_MODELVIEW12_ARB 0x872C -#define GL_MODELVIEW13_ARB 0x872D -#define GL_MODELVIEW14_ARB 0x872E -#define GL_MODELVIEW15_ARB 0x872F -#define GL_MODELVIEW16_ARB 0x8730 -#define GL_MODELVIEW17_ARB 0x8731 -#define GL_MODELVIEW18_ARB 0x8732 -#define GL_MODELVIEW19_ARB 0x8733 -#define GL_MODELVIEW20_ARB 0x8734 -#define GL_MODELVIEW21_ARB 0x8735 -#define GL_MODELVIEW22_ARB 0x8736 -#define GL_MODELVIEW23_ARB 0x8737 -#define GL_MODELVIEW24_ARB 0x8738 -#define GL_MODELVIEW25_ARB 0x8739 -#define GL_MODELVIEW26_ARB 0x873A -#define GL_MODELVIEW27_ARB 0x873B -#define GL_MODELVIEW28_ARB 0x873C -#define GL_MODELVIEW29_ARB 0x873D -#define GL_MODELVIEW30_ARB 0x873E -#define GL_MODELVIEW31_ARB 0x873F -#ifndef GLEE_H_DEFINED_glWeightbvARB -#define GLEE_H_DEFINED_glWeightbvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTBVARBPROC GLeeFuncPtr_glWeightbvARB; - #define glWeightbvARB GLeeFuncPtr_glWeightbvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightsvARB -#define GLEE_H_DEFINED_glWeightsvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTSVARBPROC) (GLint size, const GLshort * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTSVARBPROC GLeeFuncPtr_glWeightsvARB; - #define glWeightsvARB GLeeFuncPtr_glWeightsvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightivARB -#define GLEE_H_DEFINED_glWeightivARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTIVARBPROC) (GLint size, const GLint * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTIVARBPROC GLeeFuncPtr_glWeightivARB; - #define glWeightivARB GLeeFuncPtr_glWeightivARB -#endif -#ifndef GLEE_H_DEFINED_glWeightfvARB -#define GLEE_H_DEFINED_glWeightfvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTFVARBPROC GLeeFuncPtr_glWeightfvARB; - #define glWeightfvARB GLeeFuncPtr_glWeightfvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightdvARB -#define GLEE_H_DEFINED_glWeightdvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTDVARBPROC GLeeFuncPtr_glWeightdvARB; - #define glWeightdvARB GLeeFuncPtr_glWeightdvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightubvARB -#define GLEE_H_DEFINED_glWeightubvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTUBVARBPROC GLeeFuncPtr_glWeightubvARB; - #define glWeightubvARB GLeeFuncPtr_glWeightubvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightusvARB -#define GLEE_H_DEFINED_glWeightusvARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTUSVARBPROC GLeeFuncPtr_glWeightusvARB; - #define glWeightusvARB GLeeFuncPtr_glWeightusvARB -#endif -#ifndef GLEE_H_DEFINED_glWeightuivARB -#define GLEE_H_DEFINED_glWeightuivARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTUIVARBPROC GLeeFuncPtr_glWeightuivARB; - #define glWeightuivARB GLeeFuncPtr_glWeightuivARB -#endif -#ifndef GLEE_H_DEFINED_glWeightPointerARB -#define GLEE_H_DEFINED_glWeightPointerARB - typedef void (APIENTRYP GLEEPFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLWEIGHTPOINTERARBPROC GLeeFuncPtr_glWeightPointerARB; - #define glWeightPointerARB GLeeFuncPtr_glWeightPointerARB -#endif -#ifndef GLEE_H_DEFINED_glVertexBlendARB -#define GLEE_H_DEFINED_glVertexBlendARB - typedef void (APIENTRYP GLEEPFNGLVERTEXBLENDARBPROC) (GLint count); - GLEE_EXTERN GLEEPFNGLVERTEXBLENDARBPROC GLeeFuncPtr_glVertexBlendARB; - #define glVertexBlendARB GLeeFuncPtr_glVertexBlendARB -#endif -#endif - -/* GL_ARB_matrix_palette */ - -#ifndef GL_ARB_matrix_palette -#define GL_ARB_matrix_palette 1 -#define __GLEE_GL_ARB_matrix_palette 1 -/* Constants */ -#define GL_MATRIX_PALETTE_ARB 0x8840 -#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 -#define GL_MAX_PALETTE_MATRICES_ARB 0x8842 -#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 -#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 -#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 -#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 -#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 -#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 -#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 -#ifndef GLEE_H_DEFINED_glCurrentPaletteMatrixARB -#define GLEE_H_DEFINED_glCurrentPaletteMatrixARB - typedef void (APIENTRYP GLEEPFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); - GLEE_EXTERN GLEEPFNGLCURRENTPALETTEMATRIXARBPROC GLeeFuncPtr_glCurrentPaletteMatrixARB; - #define glCurrentPaletteMatrixARB GLeeFuncPtr_glCurrentPaletteMatrixARB -#endif -#ifndef GLEE_H_DEFINED_glMatrixIndexubvARB -#define GLEE_H_DEFINED_glMatrixIndexubvARB - typedef void (APIENTRYP GLEEPFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte * indices); - GLEE_EXTERN GLEEPFNGLMATRIXINDEXUBVARBPROC GLeeFuncPtr_glMatrixIndexubvARB; - #define glMatrixIndexubvARB GLeeFuncPtr_glMatrixIndexubvARB -#endif -#ifndef GLEE_H_DEFINED_glMatrixIndexusvARB -#define GLEE_H_DEFINED_glMatrixIndexusvARB - typedef void (APIENTRYP GLEEPFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort * indices); - GLEE_EXTERN GLEEPFNGLMATRIXINDEXUSVARBPROC GLeeFuncPtr_glMatrixIndexusvARB; - #define glMatrixIndexusvARB GLeeFuncPtr_glMatrixIndexusvARB -#endif -#ifndef GLEE_H_DEFINED_glMatrixIndexuivARB -#define GLEE_H_DEFINED_glMatrixIndexuivARB - typedef void (APIENTRYP GLEEPFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint * indices); - GLEE_EXTERN GLEEPFNGLMATRIXINDEXUIVARBPROC GLeeFuncPtr_glMatrixIndexuivARB; - #define glMatrixIndexuivARB GLeeFuncPtr_glMatrixIndexuivARB -#endif -#ifndef GLEE_H_DEFINED_glMatrixIndexPointerARB -#define GLEE_H_DEFINED_glMatrixIndexPointerARB - typedef void (APIENTRYP GLEEPFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLMATRIXINDEXPOINTERARBPROC GLeeFuncPtr_glMatrixIndexPointerARB; - #define glMatrixIndexPointerARB GLeeFuncPtr_glMatrixIndexPointerARB -#endif -#endif - -/* GL_ARB_texture_env_combine */ - -#ifndef GL_ARB_texture_env_combine -#define GL_ARB_texture_env_combine 1 -#define __GLEE_GL_ARB_texture_env_combine 1 -/* Constants */ -#define GL_COMBINE_ARB 0x8570 -#define GL_COMBINE_RGB_ARB 0x8571 -#define GL_COMBINE_ALPHA_ARB 0x8572 -#define GL_SOURCE0_RGB_ARB 0x8580 -#define GL_SOURCE1_RGB_ARB 0x8581 -#define GL_SOURCE2_RGB_ARB 0x8582 -#define GL_SOURCE0_ALPHA_ARB 0x8588 -#define GL_SOURCE1_ALPHA_ARB 0x8589 -#define GL_SOURCE2_ALPHA_ARB 0x858A -#define GL_OPERAND0_RGB_ARB 0x8590 -#define GL_OPERAND1_RGB_ARB 0x8591 -#define GL_OPERAND2_RGB_ARB 0x8592 -#define GL_OPERAND0_ALPHA_ARB 0x8598 -#define GL_OPERAND1_ALPHA_ARB 0x8599 -#define GL_OPERAND2_ALPHA_ARB 0x859A -#define GL_RGB_SCALE_ARB 0x8573 -#define GL_ADD_SIGNED_ARB 0x8574 -#define GL_INTERPOLATE_ARB 0x8575 -#define GL_SUBTRACT_ARB 0x84E7 -#define GL_CONSTANT_ARB 0x8576 -#define GL_PRIMARY_COLOR_ARB 0x8577 -#define GL_PREVIOUS_ARB 0x8578 -#endif - -/* GL_ARB_texture_env_crossbar */ - -#ifndef GL_ARB_texture_env_crossbar -#define GL_ARB_texture_env_crossbar 1 -#define __GLEE_GL_ARB_texture_env_crossbar 1 -/* Constants */ -#endif - -/* GL_ARB_texture_env_dot3 */ - -#ifndef GL_ARB_texture_env_dot3 -#define GL_ARB_texture_env_dot3 1 -#define __GLEE_GL_ARB_texture_env_dot3 1 -/* Constants */ -#define GL_DOT3_RGB_ARB 0x86AE -#define GL_DOT3_RGBA_ARB 0x86AF -#endif - -/* GL_ARB_texture_mirrored_repeat */ - -#ifndef GL_ARB_texture_mirrored_repeat -#define GL_ARB_texture_mirrored_repeat 1 -#define __GLEE_GL_ARB_texture_mirrored_repeat 1 -/* Constants */ -#define GL_MIRRORED_REPEAT_ARB 0x8370 -#endif - -/* GL_ARB_depth_texture */ - -#ifndef GL_ARB_depth_texture -#define GL_ARB_depth_texture 1 -#define __GLEE_GL_ARB_depth_texture 1 -/* Constants */ -#define GL_DEPTH_COMPONENT16_ARB 0x81A5 -#define GL_DEPTH_COMPONENT24_ARB 0x81A6 -#define GL_DEPTH_COMPONENT32_ARB 0x81A7 -#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A -#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B -#endif - -/* GL_ARB_shadow */ - -#ifndef GL_ARB_shadow -#define GL_ARB_shadow 1 -#define __GLEE_GL_ARB_shadow 1 -/* Constants */ -#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C -#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D -#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E -#endif - -/* GL_ARB_shadow_ambient */ - -#ifndef GL_ARB_shadow_ambient -#define GL_ARB_shadow_ambient 1 -#define __GLEE_GL_ARB_shadow_ambient 1 -/* Constants */ -#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF -#endif - -/* GL_ARB_window_pos */ - -#ifndef GL_ARB_window_pos -#define GL_ARB_window_pos 1 -#define __GLEE_GL_ARB_window_pos 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glWindowPos2dARB -#define GLEE_H_DEFINED_glWindowPos2dARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DARBPROC GLeeFuncPtr_glWindowPos2dARB; - #define glWindowPos2dARB GLeeFuncPtr_glWindowPos2dARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2dvARB -#define GLEE_H_DEFINED_glWindowPos2dvARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DVARBPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DVARBPROC GLeeFuncPtr_glWindowPos2dvARB; - #define glWindowPos2dvARB GLeeFuncPtr_glWindowPos2dvARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2fARB -#define GLEE_H_DEFINED_glWindowPos2fARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FARBPROC GLeeFuncPtr_glWindowPos2fARB; - #define glWindowPos2fARB GLeeFuncPtr_glWindowPos2fARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2fvARB -#define GLEE_H_DEFINED_glWindowPos2fvARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FVARBPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FVARBPROC GLeeFuncPtr_glWindowPos2fvARB; - #define glWindowPos2fvARB GLeeFuncPtr_glWindowPos2fvARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2iARB -#define GLEE_H_DEFINED_glWindowPos2iARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IARBPROC GLeeFuncPtr_glWindowPos2iARB; - #define glWindowPos2iARB GLeeFuncPtr_glWindowPos2iARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2ivARB -#define GLEE_H_DEFINED_glWindowPos2ivARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IVARBPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IVARBPROC GLeeFuncPtr_glWindowPos2ivARB; - #define glWindowPos2ivARB GLeeFuncPtr_glWindowPos2ivARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2sARB -#define GLEE_H_DEFINED_glWindowPos2sARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SARBPROC GLeeFuncPtr_glWindowPos2sARB; - #define glWindowPos2sARB GLeeFuncPtr_glWindowPos2sARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2svARB -#define GLEE_H_DEFINED_glWindowPos2svARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SVARBPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SVARBPROC GLeeFuncPtr_glWindowPos2svARB; - #define glWindowPos2svARB GLeeFuncPtr_glWindowPos2svARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3dARB -#define GLEE_H_DEFINED_glWindowPos3dARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DARBPROC GLeeFuncPtr_glWindowPos3dARB; - #define glWindowPos3dARB GLeeFuncPtr_glWindowPos3dARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3dvARB -#define GLEE_H_DEFINED_glWindowPos3dvARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DVARBPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DVARBPROC GLeeFuncPtr_glWindowPos3dvARB; - #define glWindowPos3dvARB GLeeFuncPtr_glWindowPos3dvARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3fARB -#define GLEE_H_DEFINED_glWindowPos3fARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FARBPROC GLeeFuncPtr_glWindowPos3fARB; - #define glWindowPos3fARB GLeeFuncPtr_glWindowPos3fARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3fvARB -#define GLEE_H_DEFINED_glWindowPos3fvARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FVARBPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FVARBPROC GLeeFuncPtr_glWindowPos3fvARB; - #define glWindowPos3fvARB GLeeFuncPtr_glWindowPos3fvARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3iARB -#define GLEE_H_DEFINED_glWindowPos3iARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IARBPROC GLeeFuncPtr_glWindowPos3iARB; - #define glWindowPos3iARB GLeeFuncPtr_glWindowPos3iARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3ivARB -#define GLEE_H_DEFINED_glWindowPos3ivARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IVARBPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IVARBPROC GLeeFuncPtr_glWindowPos3ivARB; - #define glWindowPos3ivARB GLeeFuncPtr_glWindowPos3ivARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3sARB -#define GLEE_H_DEFINED_glWindowPos3sARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SARBPROC GLeeFuncPtr_glWindowPos3sARB; - #define glWindowPos3sARB GLeeFuncPtr_glWindowPos3sARB -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3svARB -#define GLEE_H_DEFINED_glWindowPos3svARB - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SVARBPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SVARBPROC GLeeFuncPtr_glWindowPos3svARB; - #define glWindowPos3svARB GLeeFuncPtr_glWindowPos3svARB -#endif -#endif - -/* GL_ARB_vertex_program */ - -#ifndef GL_ARB_vertex_program -#define GL_ARB_vertex_program 1 -#define __GLEE_GL_ARB_vertex_program 1 -/* Constants */ -#define GL_COLOR_SUM_ARB 0x8458 -#define GL_VERTEX_PROGRAM_ARB 0x8620 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 -#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 -#define GL_PROGRAM_LENGTH_ARB 0x8627 -#define GL_PROGRAM_STRING_ARB 0x8628 -#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E -#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F -#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 -#define GL_CURRENT_MATRIX_ARB 0x8641 -#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 -#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 -#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B -#define GL_PROGRAM_BINDING_ARB 0x8677 -#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A -#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 -#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 -#define GL_PROGRAM_FORMAT_ARB 0x8876 -#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 -#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 -#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 -#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 -#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 -#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 -#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 -#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 -#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 -#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 -#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA -#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB -#define GL_PROGRAM_ATTRIBS_ARB 0x88AC -#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD -#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE -#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF -#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 -#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 -#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 -#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 -#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 -#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 -#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 -#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 -#define GL_MATRIX0_ARB 0x88C0 -#define GL_MATRIX1_ARB 0x88C1 -#define GL_MATRIX2_ARB 0x88C2 -#define GL_MATRIX3_ARB 0x88C3 -#define GL_MATRIX4_ARB 0x88C4 -#define GL_MATRIX5_ARB 0x88C5 -#define GL_MATRIX6_ARB 0x88C6 -#define GL_MATRIX7_ARB 0x88C7 -#define GL_MATRIX8_ARB 0x88C8 -#define GL_MATRIX9_ARB 0x88C9 -#define GL_MATRIX10_ARB 0x88CA -#define GL_MATRIX11_ARB 0x88CB -#define GL_MATRIX12_ARB 0x88CC -#define GL_MATRIX13_ARB 0x88CD -#define GL_MATRIX14_ARB 0x88CE -#define GL_MATRIX15_ARB 0x88CF -#define GL_MATRIX16_ARB 0x88D0 -#define GL_MATRIX17_ARB 0x88D1 -#define GL_MATRIX18_ARB 0x88D2 -#define GL_MATRIX19_ARB 0x88D3 -#define GL_MATRIX20_ARB 0x88D4 -#define GL_MATRIX21_ARB 0x88D5 -#define GL_MATRIX22_ARB 0x88D6 -#define GL_MATRIX23_ARB 0x88D7 -#define GL_MATRIX24_ARB 0x88D8 -#define GL_MATRIX25_ARB 0x88D9 -#define GL_MATRIX26_ARB 0x88DA -#define GL_MATRIX27_ARB 0x88DB -#define GL_MATRIX28_ARB 0x88DC -#define GL_MATRIX29_ARB 0x88DD -#define GL_MATRIX30_ARB 0x88DE -#define GL_MATRIX31_ARB 0x88DF -#ifndef GLEE_H_DEFINED_glVertexAttrib1dARB -#define GLEE_H_DEFINED_glVertexAttrib1dARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DARBPROC GLeeFuncPtr_glVertexAttrib1dARB; - #define glVertexAttrib1dARB GLeeFuncPtr_glVertexAttrib1dARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1dvARB -#define GLEE_H_DEFINED_glVertexAttrib1dvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DVARBPROC GLeeFuncPtr_glVertexAttrib1dvARB; - #define glVertexAttrib1dvARB GLeeFuncPtr_glVertexAttrib1dvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1fARB -#define GLEE_H_DEFINED_glVertexAttrib1fARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FARBPROC GLeeFuncPtr_glVertexAttrib1fARB; - #define glVertexAttrib1fARB GLeeFuncPtr_glVertexAttrib1fARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1fvARB -#define GLEE_H_DEFINED_glVertexAttrib1fvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FVARBPROC GLeeFuncPtr_glVertexAttrib1fvARB; - #define glVertexAttrib1fvARB GLeeFuncPtr_glVertexAttrib1fvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1sARB -#define GLEE_H_DEFINED_glVertexAttrib1sARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SARBPROC GLeeFuncPtr_glVertexAttrib1sARB; - #define glVertexAttrib1sARB GLeeFuncPtr_glVertexAttrib1sARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1svARB -#define GLEE_H_DEFINED_glVertexAttrib1svARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SVARBPROC GLeeFuncPtr_glVertexAttrib1svARB; - #define glVertexAttrib1svARB GLeeFuncPtr_glVertexAttrib1svARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2dARB -#define GLEE_H_DEFINED_glVertexAttrib2dARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DARBPROC GLeeFuncPtr_glVertexAttrib2dARB; - #define glVertexAttrib2dARB GLeeFuncPtr_glVertexAttrib2dARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2dvARB -#define GLEE_H_DEFINED_glVertexAttrib2dvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DVARBPROC GLeeFuncPtr_glVertexAttrib2dvARB; - #define glVertexAttrib2dvARB GLeeFuncPtr_glVertexAttrib2dvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2fARB -#define GLEE_H_DEFINED_glVertexAttrib2fARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FARBPROC GLeeFuncPtr_glVertexAttrib2fARB; - #define glVertexAttrib2fARB GLeeFuncPtr_glVertexAttrib2fARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2fvARB -#define GLEE_H_DEFINED_glVertexAttrib2fvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FVARBPROC GLeeFuncPtr_glVertexAttrib2fvARB; - #define glVertexAttrib2fvARB GLeeFuncPtr_glVertexAttrib2fvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2sARB -#define GLEE_H_DEFINED_glVertexAttrib2sARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SARBPROC GLeeFuncPtr_glVertexAttrib2sARB; - #define glVertexAttrib2sARB GLeeFuncPtr_glVertexAttrib2sARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2svARB -#define GLEE_H_DEFINED_glVertexAttrib2svARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SVARBPROC GLeeFuncPtr_glVertexAttrib2svARB; - #define glVertexAttrib2svARB GLeeFuncPtr_glVertexAttrib2svARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3dARB -#define GLEE_H_DEFINED_glVertexAttrib3dARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DARBPROC GLeeFuncPtr_glVertexAttrib3dARB; - #define glVertexAttrib3dARB GLeeFuncPtr_glVertexAttrib3dARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3dvARB -#define GLEE_H_DEFINED_glVertexAttrib3dvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DVARBPROC GLeeFuncPtr_glVertexAttrib3dvARB; - #define glVertexAttrib3dvARB GLeeFuncPtr_glVertexAttrib3dvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3fARB -#define GLEE_H_DEFINED_glVertexAttrib3fARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FARBPROC GLeeFuncPtr_glVertexAttrib3fARB; - #define glVertexAttrib3fARB GLeeFuncPtr_glVertexAttrib3fARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3fvARB -#define GLEE_H_DEFINED_glVertexAttrib3fvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FVARBPROC GLeeFuncPtr_glVertexAttrib3fvARB; - #define glVertexAttrib3fvARB GLeeFuncPtr_glVertexAttrib3fvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3sARB -#define GLEE_H_DEFINED_glVertexAttrib3sARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SARBPROC GLeeFuncPtr_glVertexAttrib3sARB; - #define glVertexAttrib3sARB GLeeFuncPtr_glVertexAttrib3sARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3svARB -#define GLEE_H_DEFINED_glVertexAttrib3svARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SVARBPROC GLeeFuncPtr_glVertexAttrib3svARB; - #define glVertexAttrib3svARB GLeeFuncPtr_glVertexAttrib3svARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NbvARB -#define GLEE_H_DEFINED_glVertexAttrib4NbvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NBVARBPROC GLeeFuncPtr_glVertexAttrib4NbvARB; - #define glVertexAttrib4NbvARB GLeeFuncPtr_glVertexAttrib4NbvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NivARB -#define GLEE_H_DEFINED_glVertexAttrib4NivARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NIVARBPROC GLeeFuncPtr_glVertexAttrib4NivARB; - #define glVertexAttrib4NivARB GLeeFuncPtr_glVertexAttrib4NivARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NsvARB -#define GLEE_H_DEFINED_glVertexAttrib4NsvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NSVARBPROC GLeeFuncPtr_glVertexAttrib4NsvARB; - #define glVertexAttrib4NsvARB GLeeFuncPtr_glVertexAttrib4NsvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NubARB -#define GLEE_H_DEFINED_glVertexAttrib4NubARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUBARBPROC GLeeFuncPtr_glVertexAttrib4NubARB; - #define glVertexAttrib4NubARB GLeeFuncPtr_glVertexAttrib4NubARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NubvARB -#define GLEE_H_DEFINED_glVertexAttrib4NubvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUBVARBPROC GLeeFuncPtr_glVertexAttrib4NubvARB; - #define glVertexAttrib4NubvARB GLeeFuncPtr_glVertexAttrib4NubvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NuivARB -#define GLEE_H_DEFINED_glVertexAttrib4NuivARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUIVARBPROC GLeeFuncPtr_glVertexAttrib4NuivARB; - #define glVertexAttrib4NuivARB GLeeFuncPtr_glVertexAttrib4NuivARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4NusvARB -#define GLEE_H_DEFINED_glVertexAttrib4NusvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4NUSVARBPROC GLeeFuncPtr_glVertexAttrib4NusvARB; - #define glVertexAttrib4NusvARB GLeeFuncPtr_glVertexAttrib4NusvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4bvARB -#define GLEE_H_DEFINED_glVertexAttrib4bvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4BVARBPROC GLeeFuncPtr_glVertexAttrib4bvARB; - #define glVertexAttrib4bvARB GLeeFuncPtr_glVertexAttrib4bvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4dARB -#define GLEE_H_DEFINED_glVertexAttrib4dARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DARBPROC GLeeFuncPtr_glVertexAttrib4dARB; - #define glVertexAttrib4dARB GLeeFuncPtr_glVertexAttrib4dARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4dvARB -#define GLEE_H_DEFINED_glVertexAttrib4dvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DVARBPROC GLeeFuncPtr_glVertexAttrib4dvARB; - #define glVertexAttrib4dvARB GLeeFuncPtr_glVertexAttrib4dvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4fARB -#define GLEE_H_DEFINED_glVertexAttrib4fARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FARBPROC GLeeFuncPtr_glVertexAttrib4fARB; - #define glVertexAttrib4fARB GLeeFuncPtr_glVertexAttrib4fARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4fvARB -#define GLEE_H_DEFINED_glVertexAttrib4fvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FVARBPROC GLeeFuncPtr_glVertexAttrib4fvARB; - #define glVertexAttrib4fvARB GLeeFuncPtr_glVertexAttrib4fvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4ivARB -#define GLEE_H_DEFINED_glVertexAttrib4ivARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4IVARBPROC GLeeFuncPtr_glVertexAttrib4ivARB; - #define glVertexAttrib4ivARB GLeeFuncPtr_glVertexAttrib4ivARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4sARB -#define GLEE_H_DEFINED_glVertexAttrib4sARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SARBPROC GLeeFuncPtr_glVertexAttrib4sARB; - #define glVertexAttrib4sARB GLeeFuncPtr_glVertexAttrib4sARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4svARB -#define GLEE_H_DEFINED_glVertexAttrib4svARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SVARBPROC GLeeFuncPtr_glVertexAttrib4svARB; - #define glVertexAttrib4svARB GLeeFuncPtr_glVertexAttrib4svARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4ubvARB -#define GLEE_H_DEFINED_glVertexAttrib4ubvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UBVARBPROC GLeeFuncPtr_glVertexAttrib4ubvARB; - #define glVertexAttrib4ubvARB GLeeFuncPtr_glVertexAttrib4ubvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4uivARB -#define GLEE_H_DEFINED_glVertexAttrib4uivARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UIVARBPROC GLeeFuncPtr_glVertexAttrib4uivARB; - #define glVertexAttrib4uivARB GLeeFuncPtr_glVertexAttrib4uivARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4usvARB -#define GLEE_H_DEFINED_glVertexAttrib4usvARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4USVARBPROC GLeeFuncPtr_glVertexAttrib4usvARB; - #define glVertexAttrib4usvARB GLeeFuncPtr_glVertexAttrib4usvARB -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribPointerARB -#define GLEE_H_DEFINED_glVertexAttribPointerARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBPOINTERARBPROC GLeeFuncPtr_glVertexAttribPointerARB; - #define glVertexAttribPointerARB GLeeFuncPtr_glVertexAttribPointerARB -#endif -#ifndef GLEE_H_DEFINED_glEnableVertexAttribArrayARB -#define GLEE_H_DEFINED_glEnableVertexAttribArrayARB - typedef void (APIENTRYP GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLENABLEVERTEXATTRIBARRAYARBPROC GLeeFuncPtr_glEnableVertexAttribArrayARB; - #define glEnableVertexAttribArrayARB GLeeFuncPtr_glEnableVertexAttribArrayARB -#endif -#ifndef GLEE_H_DEFINED_glDisableVertexAttribArrayARB -#define GLEE_H_DEFINED_glDisableVertexAttribArrayARB - typedef void (APIENTRYP GLEEPFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLDISABLEVERTEXATTRIBARRAYARBPROC GLeeFuncPtr_glDisableVertexAttribArrayARB; - #define glDisableVertexAttribArrayARB GLeeFuncPtr_glDisableVertexAttribArrayARB -#endif -#ifndef GLEE_H_DEFINED_glProgramStringARB -#define GLEE_H_DEFINED_glProgramStringARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid * string); - GLEE_EXTERN GLEEPFNGLPROGRAMSTRINGARBPROC GLeeFuncPtr_glProgramStringARB; - #define glProgramStringARB GLeeFuncPtr_glProgramStringARB -#endif -#ifndef GLEE_H_DEFINED_glBindProgramARB -#define GLEE_H_DEFINED_glBindProgramARB - typedef void (APIENTRYP GLEEPFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); - GLEE_EXTERN GLEEPFNGLBINDPROGRAMARBPROC GLeeFuncPtr_glBindProgramARB; - #define glBindProgramARB GLeeFuncPtr_glBindProgramARB -#endif -#ifndef GLEE_H_DEFINED_glDeleteProgramsARB -#define GLEE_H_DEFINED_glDeleteProgramsARB - typedef void (APIENTRYP GLEEPFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint * programs); - GLEE_EXTERN GLEEPFNGLDELETEPROGRAMSARBPROC GLeeFuncPtr_glDeleteProgramsARB; - #define glDeleteProgramsARB GLeeFuncPtr_glDeleteProgramsARB -#endif -#ifndef GLEE_H_DEFINED_glGenProgramsARB -#define GLEE_H_DEFINED_glGenProgramsARB - typedef void (APIENTRYP GLEEPFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint * programs); - GLEE_EXTERN GLEEPFNGLGENPROGRAMSARBPROC GLeeFuncPtr_glGenProgramsARB; - #define glGenProgramsARB GLeeFuncPtr_glGenProgramsARB -#endif -#ifndef GLEE_H_DEFINED_glProgramEnvParameter4dARB -#define GLEE_H_DEFINED_glProgramEnvParameter4dARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLPROGRAMENVPARAMETER4DARBPROC GLeeFuncPtr_glProgramEnvParameter4dARB; - #define glProgramEnvParameter4dARB GLeeFuncPtr_glProgramEnvParameter4dARB -#endif -#ifndef GLEE_H_DEFINED_glProgramEnvParameter4dvARB -#define GLEE_H_DEFINED_glProgramEnvParameter4dvARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble * params); - GLEE_EXTERN GLEEPFNGLPROGRAMENVPARAMETER4DVARBPROC GLeeFuncPtr_glProgramEnvParameter4dvARB; - #define glProgramEnvParameter4dvARB GLeeFuncPtr_glProgramEnvParameter4dvARB -#endif -#ifndef GLEE_H_DEFINED_glProgramEnvParameter4fARB -#define GLEE_H_DEFINED_glProgramEnvParameter4fARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLPROGRAMENVPARAMETER4FARBPROC GLeeFuncPtr_glProgramEnvParameter4fARB; - #define glProgramEnvParameter4fARB GLeeFuncPtr_glProgramEnvParameter4fARB -#endif -#ifndef GLEE_H_DEFINED_glProgramEnvParameter4fvARB -#define GLEE_H_DEFINED_glProgramEnvParameter4fvARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPROGRAMENVPARAMETER4FVARBPROC GLeeFuncPtr_glProgramEnvParameter4fvARB; - #define glProgramEnvParameter4fvARB GLeeFuncPtr_glProgramEnvParameter4fvARB -#endif -#ifndef GLEE_H_DEFINED_glProgramLocalParameter4dARB -#define GLEE_H_DEFINED_glProgramLocalParameter4dARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLPROGRAMLOCALPARAMETER4DARBPROC GLeeFuncPtr_glProgramLocalParameter4dARB; - #define glProgramLocalParameter4dARB GLeeFuncPtr_glProgramLocalParameter4dARB -#endif -#ifndef GLEE_H_DEFINED_glProgramLocalParameter4dvARB -#define GLEE_H_DEFINED_glProgramLocalParameter4dvARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble * params); - GLEE_EXTERN GLEEPFNGLPROGRAMLOCALPARAMETER4DVARBPROC GLeeFuncPtr_glProgramLocalParameter4dvARB; - #define glProgramLocalParameter4dvARB GLeeFuncPtr_glProgramLocalParameter4dvARB -#endif -#ifndef GLEE_H_DEFINED_glProgramLocalParameter4fARB -#define GLEE_H_DEFINED_glProgramLocalParameter4fARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLPROGRAMLOCALPARAMETER4FARBPROC GLeeFuncPtr_glProgramLocalParameter4fARB; - #define glProgramLocalParameter4fARB GLeeFuncPtr_glProgramLocalParameter4fARB -#endif -#ifndef GLEE_H_DEFINED_glProgramLocalParameter4fvARB -#define GLEE_H_DEFINED_glProgramLocalParameter4fvARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPROGRAMLOCALPARAMETER4FVARBPROC GLeeFuncPtr_glProgramLocalParameter4fvARB; - #define glProgramLocalParameter4fvARB GLeeFuncPtr_glProgramLocalParameter4fvARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramEnvParameterdvARB -#define GLEE_H_DEFINED_glGetProgramEnvParameterdvARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMENVPARAMETERDVARBPROC GLeeFuncPtr_glGetProgramEnvParameterdvARB; - #define glGetProgramEnvParameterdvARB GLeeFuncPtr_glGetProgramEnvParameterdvARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramEnvParameterfvARB -#define GLEE_H_DEFINED_glGetProgramEnvParameterfvARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMENVPARAMETERFVARBPROC GLeeFuncPtr_glGetProgramEnvParameterfvARB; - #define glGetProgramEnvParameterfvARB GLeeFuncPtr_glGetProgramEnvParameterfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramLocalParameterdvARB -#define GLEE_H_DEFINED_glGetProgramLocalParameterdvARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GLeeFuncPtr_glGetProgramLocalParameterdvARB; - #define glGetProgramLocalParameterdvARB GLeeFuncPtr_glGetProgramLocalParameterdvARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramLocalParameterfvARB -#define GLEE_H_DEFINED_glGetProgramLocalParameterfvARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GLeeFuncPtr_glGetProgramLocalParameterfvARB; - #define glGetProgramLocalParameterfvARB GLeeFuncPtr_glGetProgramLocalParameterfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramivARB -#define GLEE_H_DEFINED_glGetProgramivARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMIVARBPROC GLeeFuncPtr_glGetProgramivARB; - #define glGetProgramivARB GLeeFuncPtr_glGetProgramivARB -#endif -#ifndef GLEE_H_DEFINED_glGetProgramStringARB -#define GLEE_H_DEFINED_glGetProgramStringARB - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid * string); - GLEE_EXTERN GLEEPFNGLGETPROGRAMSTRINGARBPROC GLeeFuncPtr_glGetProgramStringARB; - #define glGetProgramStringARB GLeeFuncPtr_glGetProgramStringARB -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribdvARB -#define GLEE_H_DEFINED_glGetVertexAttribdvARB - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBDVARBPROC GLeeFuncPtr_glGetVertexAttribdvARB; - #define glGetVertexAttribdvARB GLeeFuncPtr_glGetVertexAttribdvARB -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribfvARB -#define GLEE_H_DEFINED_glGetVertexAttribfvARB - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBFVARBPROC GLeeFuncPtr_glGetVertexAttribfvARB; - #define glGetVertexAttribfvARB GLeeFuncPtr_glGetVertexAttribfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribivARB -#define GLEE_H_DEFINED_glGetVertexAttribivARB - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBIVARBPROC GLeeFuncPtr_glGetVertexAttribivARB; - #define glGetVertexAttribivARB GLeeFuncPtr_glGetVertexAttribivARB -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribPointervARB -#define GLEE_H_DEFINED_glGetVertexAttribPointervARB - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBPOINTERVARBPROC GLeeFuncPtr_glGetVertexAttribPointervARB; - #define glGetVertexAttribPointervARB GLeeFuncPtr_glGetVertexAttribPointervARB -#endif -#ifndef GLEE_H_DEFINED_glIsProgramARB -#define GLEE_H_DEFINED_glIsProgramARB - typedef GLboolean (APIENTRYP GLEEPFNGLISPROGRAMARBPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLISPROGRAMARBPROC GLeeFuncPtr_glIsProgramARB; - #define glIsProgramARB GLeeFuncPtr_glIsProgramARB -#endif -#endif - -/* GL_ARB_fragment_program */ - -#ifndef GL_ARB_fragment_program -#define GL_ARB_fragment_program 1 -#define __GLEE_GL_ARB_fragment_program 1 -/* Constants */ -#define GL_FRAGMENT_PROGRAM_ARB 0x8804 -#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 -#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 -#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 -#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 -#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 -#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A -#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B -#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C -#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D -#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E -#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F -#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 -#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 -#endif - -/* GL_ARB_vertex_buffer_object */ - -#ifndef GL_ARB_vertex_buffer_object -#define GL_ARB_vertex_buffer_object 1 -#define __GLEE_GL_ARB_vertex_buffer_object 1 -/* Constants */ -#define GL_BUFFER_SIZE_ARB 0x8764 -#define GL_BUFFER_USAGE_ARB 0x8765 -#define GL_ARRAY_BUFFER_ARB 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 -#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 -#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 -#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 -#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 -#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 -#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A -#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B -#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C -#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D -#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F -#define GL_READ_ONLY_ARB 0x88B8 -#define GL_WRITE_ONLY_ARB 0x88B9 -#define GL_READ_WRITE_ARB 0x88BA -#define GL_BUFFER_ACCESS_ARB 0x88BB -#define GL_BUFFER_MAPPED_ARB 0x88BC -#define GL_BUFFER_MAP_POINTER_ARB 0x88BD -#define GL_STREAM_DRAW_ARB 0x88E0 -#define GL_STREAM_READ_ARB 0x88E1 -#define GL_STREAM_COPY_ARB 0x88E2 -#define GL_STATIC_DRAW_ARB 0x88E4 -#define GL_STATIC_READ_ARB 0x88E5 -#define GL_STATIC_COPY_ARB 0x88E6 -#define GL_DYNAMIC_DRAW_ARB 0x88E8 -#define GL_DYNAMIC_READ_ARB 0x88E9 -#define GL_DYNAMIC_COPY_ARB 0x88EA -#ifndef GLEE_H_DEFINED_glBindBufferARB -#define GLEE_H_DEFINED_glBindBufferARB - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); - GLEE_EXTERN GLEEPFNGLBINDBUFFERARBPROC GLeeFuncPtr_glBindBufferARB; - #define glBindBufferARB GLeeFuncPtr_glBindBufferARB -#endif -#ifndef GLEE_H_DEFINED_glDeleteBuffersARB -#define GLEE_H_DEFINED_glDeleteBuffersARB - typedef void (APIENTRYP GLEEPFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint * buffers); - GLEE_EXTERN GLEEPFNGLDELETEBUFFERSARBPROC GLeeFuncPtr_glDeleteBuffersARB; - #define glDeleteBuffersARB GLeeFuncPtr_glDeleteBuffersARB -#endif -#ifndef GLEE_H_DEFINED_glGenBuffersARB -#define GLEE_H_DEFINED_glGenBuffersARB - typedef void (APIENTRYP GLEEPFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint * buffers); - GLEE_EXTERN GLEEPFNGLGENBUFFERSARBPROC GLeeFuncPtr_glGenBuffersARB; - #define glGenBuffersARB GLeeFuncPtr_glGenBuffersARB -#endif -#ifndef GLEE_H_DEFINED_glIsBufferARB -#define GLEE_H_DEFINED_glIsBufferARB - typedef GLboolean (APIENTRYP GLEEPFNGLISBUFFERARBPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLISBUFFERARBPROC GLeeFuncPtr_glIsBufferARB; - #define glIsBufferARB GLeeFuncPtr_glIsBufferARB -#endif -#ifndef GLEE_H_DEFINED_glBufferDataARB -#define GLEE_H_DEFINED_glBufferDataARB - typedef void (APIENTRYP GLEEPFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); - GLEE_EXTERN GLEEPFNGLBUFFERDATAARBPROC GLeeFuncPtr_glBufferDataARB; - #define glBufferDataARB GLeeFuncPtr_glBufferDataARB -#endif -#ifndef GLEE_H_DEFINED_glBufferSubDataARB -#define GLEE_H_DEFINED_glBufferSubDataARB - typedef void (APIENTRYP GLEEPFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLBUFFERSUBDATAARBPROC GLeeFuncPtr_glBufferSubDataARB; - #define glBufferSubDataARB GLeeFuncPtr_glBufferSubDataARB -#endif -#ifndef GLEE_H_DEFINED_glGetBufferSubDataARB -#define GLEE_H_DEFINED_glGetBufferSubDataARB - typedef void (APIENTRYP GLEEPFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); - GLEE_EXTERN GLEEPFNGLGETBUFFERSUBDATAARBPROC GLeeFuncPtr_glGetBufferSubDataARB; - #define glGetBufferSubDataARB GLeeFuncPtr_glGetBufferSubDataARB -#endif -#ifndef GLEE_H_DEFINED_glMapBufferARB -#define GLEE_H_DEFINED_glMapBufferARB - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); - GLEE_EXTERN GLEEPFNGLMAPBUFFERARBPROC GLeeFuncPtr_glMapBufferARB; - #define glMapBufferARB GLeeFuncPtr_glMapBufferARB -#endif -#ifndef GLEE_H_DEFINED_glUnmapBufferARB -#define GLEE_H_DEFINED_glUnmapBufferARB - typedef GLboolean (APIENTRYP GLEEPFNGLUNMAPBUFFERARBPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLUNMAPBUFFERARBPROC GLeeFuncPtr_glUnmapBufferARB; - #define glUnmapBufferARB GLeeFuncPtr_glUnmapBufferARB -#endif -#ifndef GLEE_H_DEFINED_glGetBufferParameterivARB -#define GLEE_H_DEFINED_glGetBufferParameterivARB - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPARAMETERIVARBPROC GLeeFuncPtr_glGetBufferParameterivARB; - #define glGetBufferParameterivARB GLeeFuncPtr_glGetBufferParameterivARB -#endif -#ifndef GLEE_H_DEFINED_glGetBufferPointervARB -#define GLEE_H_DEFINED_glGetBufferPointervARB - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPOINTERVARBPROC GLeeFuncPtr_glGetBufferPointervARB; - #define glGetBufferPointervARB GLeeFuncPtr_glGetBufferPointervARB -#endif -#endif - -/* GL_ARB_occlusion_query */ - -#ifndef GL_ARB_occlusion_query -#define GL_ARB_occlusion_query 1 -#define __GLEE_GL_ARB_occlusion_query 1 -/* Constants */ -#define GL_QUERY_COUNTER_BITS_ARB 0x8864 -#define GL_CURRENT_QUERY_ARB 0x8865 -#define GL_QUERY_RESULT_ARB 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 -#define GL_SAMPLES_PASSED_ARB 0x8914 -#ifndef GLEE_H_DEFINED_glGenQueriesARB -#define GLEE_H_DEFINED_glGenQueriesARB - typedef void (APIENTRYP GLEEPFNGLGENQUERIESARBPROC) (GLsizei n, GLuint * ids); - GLEE_EXTERN GLEEPFNGLGENQUERIESARBPROC GLeeFuncPtr_glGenQueriesARB; - #define glGenQueriesARB GLeeFuncPtr_glGenQueriesARB -#endif -#ifndef GLEE_H_DEFINED_glDeleteQueriesARB -#define GLEE_H_DEFINED_glDeleteQueriesARB - typedef void (APIENTRYP GLEEPFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint * ids); - GLEE_EXTERN GLEEPFNGLDELETEQUERIESARBPROC GLeeFuncPtr_glDeleteQueriesARB; - #define glDeleteQueriesARB GLeeFuncPtr_glDeleteQueriesARB -#endif -#ifndef GLEE_H_DEFINED_glIsQueryARB -#define GLEE_H_DEFINED_glIsQueryARB - typedef GLboolean (APIENTRYP GLEEPFNGLISQUERYARBPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISQUERYARBPROC GLeeFuncPtr_glIsQueryARB; - #define glIsQueryARB GLeeFuncPtr_glIsQueryARB -#endif -#ifndef GLEE_H_DEFINED_glBeginQueryARB -#define GLEE_H_DEFINED_glBeginQueryARB - typedef void (APIENTRYP GLEEPFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); - GLEE_EXTERN GLEEPFNGLBEGINQUERYARBPROC GLeeFuncPtr_glBeginQueryARB; - #define glBeginQueryARB GLeeFuncPtr_glBeginQueryARB -#endif -#ifndef GLEE_H_DEFINED_glEndQueryARB -#define GLEE_H_DEFINED_glEndQueryARB - typedef void (APIENTRYP GLEEPFNGLENDQUERYARBPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLENDQUERYARBPROC GLeeFuncPtr_glEndQueryARB; - #define glEndQueryARB GLeeFuncPtr_glEndQueryARB -#endif -#ifndef GLEE_H_DEFINED_glGetQueryivARB -#define GLEE_H_DEFINED_glGetQueryivARB - typedef void (APIENTRYP GLEEPFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYIVARBPROC GLeeFuncPtr_glGetQueryivARB; - #define glGetQueryivARB GLeeFuncPtr_glGetQueryivARB -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectivARB -#define GLEE_H_DEFINED_glGetQueryObjectivARB - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTIVARBPROC GLeeFuncPtr_glGetQueryObjectivARB; - #define glGetQueryObjectivARB GLeeFuncPtr_glGetQueryObjectivARB -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectuivARB -#define GLEE_H_DEFINED_glGetQueryObjectuivARB - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTUIVARBPROC GLeeFuncPtr_glGetQueryObjectuivARB; - #define glGetQueryObjectuivARB GLeeFuncPtr_glGetQueryObjectuivARB -#endif -#endif - -/* GL_ARB_shader_objects */ - -#ifndef GL_ARB_shader_objects -#define GL_ARB_shader_objects 1 -#define __GLEE_GL_ARB_shader_objects 1 -/* Constants */ -#define GL_PROGRAM_OBJECT_ARB 0x8B40 -#define GL_SHADER_OBJECT_ARB 0x8B48 -#define GL_OBJECT_TYPE_ARB 0x8B4E -#define GL_OBJECT_SUBTYPE_ARB 0x8B4F -#define GL_FLOAT_VEC2_ARB 0x8B50 -#define GL_FLOAT_VEC3_ARB 0x8B51 -#define GL_FLOAT_VEC4_ARB 0x8B52 -#define GL_INT_VEC2_ARB 0x8B53 -#define GL_INT_VEC3_ARB 0x8B54 -#define GL_INT_VEC4_ARB 0x8B55 -#define GL_BOOL_ARB 0x8B56 -#define GL_BOOL_VEC2_ARB 0x8B57 -#define GL_BOOL_VEC3_ARB 0x8B58 -#define GL_BOOL_VEC4_ARB 0x8B59 -#define GL_FLOAT_MAT2_ARB 0x8B5A -#define GL_FLOAT_MAT3_ARB 0x8B5B -#define GL_FLOAT_MAT4_ARB 0x8B5C -#define GL_SAMPLER_1D_ARB 0x8B5D -#define GL_SAMPLER_2D_ARB 0x8B5E -#define GL_SAMPLER_3D_ARB 0x8B5F -#define GL_SAMPLER_CUBE_ARB 0x8B60 -#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 -#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 -#define GL_SAMPLER_2D_RECT_ARB 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 -#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 -#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 -#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 -#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 -#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 -#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 -#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 -#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 -#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 -#ifndef GLEE_H_DEFINED_glDeleteObjectARB -#define GLEE_H_DEFINED_glDeleteObjectARB - typedef void (APIENTRYP GLEEPFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); - GLEE_EXTERN GLEEPFNGLDELETEOBJECTARBPROC GLeeFuncPtr_glDeleteObjectARB; - #define glDeleteObjectARB GLeeFuncPtr_glDeleteObjectARB -#endif -#ifndef GLEE_H_DEFINED_glGetHandleARB -#define GLEE_H_DEFINED_glGetHandleARB - typedef GLhandleARB (APIENTRYP GLEEPFNGLGETHANDLEARBPROC) (GLenum pname); - GLEE_EXTERN GLEEPFNGLGETHANDLEARBPROC GLeeFuncPtr_glGetHandleARB; - #define glGetHandleARB GLeeFuncPtr_glGetHandleARB -#endif -#ifndef GLEE_H_DEFINED_glDetachObjectARB -#define GLEE_H_DEFINED_glDetachObjectARB - typedef void (APIENTRYP GLEEPFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); - GLEE_EXTERN GLEEPFNGLDETACHOBJECTARBPROC GLeeFuncPtr_glDetachObjectARB; - #define glDetachObjectARB GLeeFuncPtr_glDetachObjectARB -#endif -#ifndef GLEE_H_DEFINED_glCreateShaderObjectARB -#define GLEE_H_DEFINED_glCreateShaderObjectARB - typedef GLhandleARB (APIENTRYP GLEEPFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); - GLEE_EXTERN GLEEPFNGLCREATESHADEROBJECTARBPROC GLeeFuncPtr_glCreateShaderObjectARB; - #define glCreateShaderObjectARB GLeeFuncPtr_glCreateShaderObjectARB -#endif -#ifndef GLEE_H_DEFINED_glShaderSourceARB -#define GLEE_H_DEFINED_glShaderSourceARB - typedef void (APIENTRYP GLEEPFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* * string, const GLint * length); - GLEE_EXTERN GLEEPFNGLSHADERSOURCEARBPROC GLeeFuncPtr_glShaderSourceARB; - #define glShaderSourceARB GLeeFuncPtr_glShaderSourceARB -#endif -#ifndef GLEE_H_DEFINED_glCompileShaderARB -#define GLEE_H_DEFINED_glCompileShaderARB - typedef void (APIENTRYP GLEEPFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); - GLEE_EXTERN GLEEPFNGLCOMPILESHADERARBPROC GLeeFuncPtr_glCompileShaderARB; - #define glCompileShaderARB GLeeFuncPtr_glCompileShaderARB -#endif -#ifndef GLEE_H_DEFINED_glCreateProgramObjectARB -#define GLEE_H_DEFINED_glCreateProgramObjectARB - typedef GLhandleARB (APIENTRYP GLEEPFNGLCREATEPROGRAMOBJECTARBPROC) (); - GLEE_EXTERN GLEEPFNGLCREATEPROGRAMOBJECTARBPROC GLeeFuncPtr_glCreateProgramObjectARB; - #define glCreateProgramObjectARB GLeeFuncPtr_glCreateProgramObjectARB -#endif -#ifndef GLEE_H_DEFINED_glAttachObjectARB -#define GLEE_H_DEFINED_glAttachObjectARB - typedef void (APIENTRYP GLEEPFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); - GLEE_EXTERN GLEEPFNGLATTACHOBJECTARBPROC GLeeFuncPtr_glAttachObjectARB; - #define glAttachObjectARB GLeeFuncPtr_glAttachObjectARB -#endif -#ifndef GLEE_H_DEFINED_glLinkProgramARB -#define GLEE_H_DEFINED_glLinkProgramARB - typedef void (APIENTRYP GLEEPFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); - GLEE_EXTERN GLEEPFNGLLINKPROGRAMARBPROC GLeeFuncPtr_glLinkProgramARB; - #define glLinkProgramARB GLeeFuncPtr_glLinkProgramARB -#endif -#ifndef GLEE_H_DEFINED_glUseProgramObjectARB -#define GLEE_H_DEFINED_glUseProgramObjectARB - typedef void (APIENTRYP GLEEPFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); - GLEE_EXTERN GLEEPFNGLUSEPROGRAMOBJECTARBPROC GLeeFuncPtr_glUseProgramObjectARB; - #define glUseProgramObjectARB GLeeFuncPtr_glUseProgramObjectARB -#endif -#ifndef GLEE_H_DEFINED_glValidateProgramARB -#define GLEE_H_DEFINED_glValidateProgramARB - typedef void (APIENTRYP GLEEPFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); - GLEE_EXTERN GLEEPFNGLVALIDATEPROGRAMARBPROC GLeeFuncPtr_glValidateProgramARB; - #define glValidateProgramARB GLeeFuncPtr_glValidateProgramARB -#endif -#ifndef GLEE_H_DEFINED_glUniform1fARB -#define GLEE_H_DEFINED_glUniform1fARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1FARBPROC GLeeFuncPtr_glUniform1fARB; - #define glUniform1fARB GLeeFuncPtr_glUniform1fARB -#endif -#ifndef GLEE_H_DEFINED_glUniform2fARB -#define GLEE_H_DEFINED_glUniform2fARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2FARBPROC GLeeFuncPtr_glUniform2fARB; - #define glUniform2fARB GLeeFuncPtr_glUniform2fARB -#endif -#ifndef GLEE_H_DEFINED_glUniform3fARB -#define GLEE_H_DEFINED_glUniform3fARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3FARBPROC GLeeFuncPtr_glUniform3fARB; - #define glUniform3fARB GLeeFuncPtr_glUniform3fARB -#endif -#ifndef GLEE_H_DEFINED_glUniform4fARB -#define GLEE_H_DEFINED_glUniform4fARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4FARBPROC GLeeFuncPtr_glUniform4fARB; - #define glUniform4fARB GLeeFuncPtr_glUniform4fARB -#endif -#ifndef GLEE_H_DEFINED_glUniform1iARB -#define GLEE_H_DEFINED_glUniform1iARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1IARBPROC GLeeFuncPtr_glUniform1iARB; - #define glUniform1iARB GLeeFuncPtr_glUniform1iARB -#endif -#ifndef GLEE_H_DEFINED_glUniform2iARB -#define GLEE_H_DEFINED_glUniform2iARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2IARBPROC GLeeFuncPtr_glUniform2iARB; - #define glUniform2iARB GLeeFuncPtr_glUniform2iARB -#endif -#ifndef GLEE_H_DEFINED_glUniform3iARB -#define GLEE_H_DEFINED_glUniform3iARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3IARBPROC GLeeFuncPtr_glUniform3iARB; - #define glUniform3iARB GLeeFuncPtr_glUniform3iARB -#endif -#ifndef GLEE_H_DEFINED_glUniform4iARB -#define GLEE_H_DEFINED_glUniform4iARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4IARBPROC GLeeFuncPtr_glUniform4iARB; - #define glUniform4iARB GLeeFuncPtr_glUniform4iARB -#endif -#ifndef GLEE_H_DEFINED_glUniform1fvARB -#define GLEE_H_DEFINED_glUniform1fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1FVARBPROC GLeeFuncPtr_glUniform1fvARB; - #define glUniform1fvARB GLeeFuncPtr_glUniform1fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniform2fvARB -#define GLEE_H_DEFINED_glUniform2fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2FVARBPROC GLeeFuncPtr_glUniform2fvARB; - #define glUniform2fvARB GLeeFuncPtr_glUniform2fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniform3fvARB -#define GLEE_H_DEFINED_glUniform3fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3FVARBPROC GLeeFuncPtr_glUniform3fvARB; - #define glUniform3fvARB GLeeFuncPtr_glUniform3fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniform4fvARB -#define GLEE_H_DEFINED_glUniform4fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4FVARBPROC GLeeFuncPtr_glUniform4fvARB; - #define glUniform4fvARB GLeeFuncPtr_glUniform4fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniform1ivARB -#define GLEE_H_DEFINED_glUniform1ivARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1IVARBPROC GLeeFuncPtr_glUniform1ivARB; - #define glUniform1ivARB GLeeFuncPtr_glUniform1ivARB -#endif -#ifndef GLEE_H_DEFINED_glUniform2ivARB -#define GLEE_H_DEFINED_glUniform2ivARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2IVARBPROC GLeeFuncPtr_glUniform2ivARB; - #define glUniform2ivARB GLeeFuncPtr_glUniform2ivARB -#endif -#ifndef GLEE_H_DEFINED_glUniform3ivARB -#define GLEE_H_DEFINED_glUniform3ivARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3IVARBPROC GLeeFuncPtr_glUniform3ivARB; - #define glUniform3ivARB GLeeFuncPtr_glUniform3ivARB -#endif -#ifndef GLEE_H_DEFINED_glUniform4ivARB -#define GLEE_H_DEFINED_glUniform4ivARB - typedef void (APIENTRYP GLEEPFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4IVARBPROC GLeeFuncPtr_glUniform4ivARB; - #define glUniform4ivARB GLeeFuncPtr_glUniform4ivARB -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2fvARB -#define GLEE_H_DEFINED_glUniformMatrix2fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2FVARBPROC GLeeFuncPtr_glUniformMatrix2fvARB; - #define glUniformMatrix2fvARB GLeeFuncPtr_glUniformMatrix2fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3fvARB -#define GLEE_H_DEFINED_glUniformMatrix3fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3FVARBPROC GLeeFuncPtr_glUniformMatrix3fvARB; - #define glUniformMatrix3fvARB GLeeFuncPtr_glUniformMatrix3fvARB -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4fvARB -#define GLEE_H_DEFINED_glUniformMatrix4fvARB - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4FVARBPROC GLeeFuncPtr_glUniformMatrix4fvARB; - #define glUniformMatrix4fvARB GLeeFuncPtr_glUniformMatrix4fvARB -#endif -#ifndef GLEE_H_DEFINED_glGetObjectParameterfvARB -#define GLEE_H_DEFINED_glGetObjectParameterfvARB - typedef void (APIENTRYP GLEEPFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETOBJECTPARAMETERFVARBPROC GLeeFuncPtr_glGetObjectParameterfvARB; - #define glGetObjectParameterfvARB GLeeFuncPtr_glGetObjectParameterfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetObjectParameterivARB -#define GLEE_H_DEFINED_glGetObjectParameterivARB - typedef void (APIENTRYP GLEEPFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETOBJECTPARAMETERIVARBPROC GLeeFuncPtr_glGetObjectParameterivARB; - #define glGetObjectParameterivARB GLeeFuncPtr_glGetObjectParameterivARB -#endif -#ifndef GLEE_H_DEFINED_glGetInfoLogARB -#define GLEE_H_DEFINED_glGetInfoLogARB - typedef void (APIENTRYP GLEEPFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); - GLEE_EXTERN GLEEPFNGLGETINFOLOGARBPROC GLeeFuncPtr_glGetInfoLogARB; - #define glGetInfoLogARB GLeeFuncPtr_glGetInfoLogARB -#endif -#ifndef GLEE_H_DEFINED_glGetAttachedObjectsARB -#define GLEE_H_DEFINED_glGetAttachedObjectsARB - typedef void (APIENTRYP GLEEPFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj); - GLEE_EXTERN GLEEPFNGLGETATTACHEDOBJECTSARBPROC GLeeFuncPtr_glGetAttachedObjectsARB; - #define glGetAttachedObjectsARB GLeeFuncPtr_glGetAttachedObjectsARB -#endif -#ifndef GLEE_H_DEFINED_glGetUniformLocationARB -#define GLEE_H_DEFINED_glGetUniformLocationARB - typedef GLint (APIENTRYP GLEEPFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB * name); - GLEE_EXTERN GLEEPFNGLGETUNIFORMLOCATIONARBPROC GLeeFuncPtr_glGetUniformLocationARB; - #define glGetUniformLocationARB GLeeFuncPtr_glGetUniformLocationARB -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniformARB -#define GLEE_H_DEFINED_glGetActiveUniformARB - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMARBPROC GLeeFuncPtr_glGetActiveUniformARB; - #define glGetActiveUniformARB GLeeFuncPtr_glGetActiveUniformARB -#endif -#ifndef GLEE_H_DEFINED_glGetUniformfvARB -#define GLEE_H_DEFINED_glGetUniformfvARB - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMFVARBPROC GLeeFuncPtr_glGetUniformfvARB; - #define glGetUniformfvARB GLeeFuncPtr_glGetUniformfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetUniformivARB -#define GLEE_H_DEFINED_glGetUniformivARB - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMIVARBPROC GLeeFuncPtr_glGetUniformivARB; - #define glGetUniformivARB GLeeFuncPtr_glGetUniformivARB -#endif -#ifndef GLEE_H_DEFINED_glGetShaderSourceARB -#define GLEE_H_DEFINED_glGetShaderSourceARB - typedef void (APIENTRYP GLEEPFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source); - GLEE_EXTERN GLEEPFNGLGETSHADERSOURCEARBPROC GLeeFuncPtr_glGetShaderSourceARB; - #define glGetShaderSourceARB GLeeFuncPtr_glGetShaderSourceARB -#endif -#endif - -/* GL_ARB_vertex_shader */ - -#ifndef GL_ARB_vertex_shader -#define GL_ARB_vertex_shader 1 -#define __GLEE_GL_ARB_vertex_shader 1 -/* Constants */ -#define GL_VERTEX_SHADER_ARB 0x8B31 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A -#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D -#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 -#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A -#ifndef GLEE_H_DEFINED_glBindAttribLocationARB -#define GLEE_H_DEFINED_glBindAttribLocationARB - typedef void (APIENTRYP GLEEPFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB * name); - GLEE_EXTERN GLEEPFNGLBINDATTRIBLOCATIONARBPROC GLeeFuncPtr_glBindAttribLocationARB; - #define glBindAttribLocationARB GLeeFuncPtr_glBindAttribLocationARB -#endif -#ifndef GLEE_H_DEFINED_glGetActiveAttribARB -#define GLEE_H_DEFINED_glGetActiveAttribARB - typedef void (APIENTRYP GLEEPFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); - GLEE_EXTERN GLEEPFNGLGETACTIVEATTRIBARBPROC GLeeFuncPtr_glGetActiveAttribARB; - #define glGetActiveAttribARB GLeeFuncPtr_glGetActiveAttribARB -#endif -#ifndef GLEE_H_DEFINED_glGetAttribLocationARB -#define GLEE_H_DEFINED_glGetAttribLocationARB - typedef GLint (APIENTRYP GLEEPFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB * name); - GLEE_EXTERN GLEEPFNGLGETATTRIBLOCATIONARBPROC GLeeFuncPtr_glGetAttribLocationARB; - #define glGetAttribLocationARB GLeeFuncPtr_glGetAttribLocationARB -#endif -#endif - -/* GL_ARB_fragment_shader */ - -#ifndef GL_ARB_fragment_shader -#define GL_ARB_fragment_shader 1 -#define __GLEE_GL_ARB_fragment_shader 1 -/* Constants */ -#define GL_FRAGMENT_SHADER_ARB 0x8B30 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B -#endif - -/* GL_ARB_shading_language_100 */ - -#ifndef GL_ARB_shading_language_100 -#define GL_ARB_shading_language_100 1 -#define __GLEE_GL_ARB_shading_language_100 1 -/* Constants */ -#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C -#endif - -/* GL_ARB_texture_non_power_of_two */ - -#ifndef GL_ARB_texture_non_power_of_two -#define GL_ARB_texture_non_power_of_two 1 -#define __GLEE_GL_ARB_texture_non_power_of_two 1 -/* Constants */ -#endif - -/* GL_ARB_point_sprite */ - -#ifndef GL_ARB_point_sprite -#define GL_ARB_point_sprite 1 -#define __GLEE_GL_ARB_point_sprite 1 -/* Constants */ -#define GL_POINT_SPRITE_ARB 0x8861 -#define GL_COORD_REPLACE_ARB 0x8862 -#endif - -/* GL_ARB_fragment_program_shadow */ - -#ifndef GL_ARB_fragment_program_shadow -#define GL_ARB_fragment_program_shadow 1 -#define __GLEE_GL_ARB_fragment_program_shadow 1 -/* Constants */ -#endif - -/* GL_ARB_draw_buffers */ - -#ifndef GL_ARB_draw_buffers -#define GL_ARB_draw_buffers 1 -#define __GLEE_GL_ARB_draw_buffers 1 -/* Constants */ -#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 -#define GL_DRAW_BUFFER0_ARB 0x8825 -#define GL_DRAW_BUFFER1_ARB 0x8826 -#define GL_DRAW_BUFFER2_ARB 0x8827 -#define GL_DRAW_BUFFER3_ARB 0x8828 -#define GL_DRAW_BUFFER4_ARB 0x8829 -#define GL_DRAW_BUFFER5_ARB 0x882A -#define GL_DRAW_BUFFER6_ARB 0x882B -#define GL_DRAW_BUFFER7_ARB 0x882C -#define GL_DRAW_BUFFER8_ARB 0x882D -#define GL_DRAW_BUFFER9_ARB 0x882E -#define GL_DRAW_BUFFER10_ARB 0x882F -#define GL_DRAW_BUFFER11_ARB 0x8830 -#define GL_DRAW_BUFFER12_ARB 0x8831 -#define GL_DRAW_BUFFER13_ARB 0x8832 -#define GL_DRAW_BUFFER14_ARB 0x8833 -#define GL_DRAW_BUFFER15_ARB 0x8834 -#ifndef GLEE_H_DEFINED_glDrawBuffersARB -#define GLEE_H_DEFINED_glDrawBuffersARB - typedef void (APIENTRYP GLEEPFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum * bufs); - GLEE_EXTERN GLEEPFNGLDRAWBUFFERSARBPROC GLeeFuncPtr_glDrawBuffersARB; - #define glDrawBuffersARB GLeeFuncPtr_glDrawBuffersARB -#endif -#endif - -/* GL_ARB_texture_rectangle */ - -#ifndef GL_ARB_texture_rectangle -#define GL_ARB_texture_rectangle 1 -#define __GLEE_GL_ARB_texture_rectangle 1 -/* Constants */ -#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 -#endif - -/* GL_ARB_color_buffer_float */ - -#ifndef GL_ARB_color_buffer_float -#define GL_ARB_color_buffer_float 1 -#define __GLEE_GL_ARB_color_buffer_float 1 -/* Constants */ -#define GL_RGBA_FLOAT_MODE_ARB 0x8820 -#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A -#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B -#define GL_CLAMP_READ_COLOR_ARB 0x891C -#define GL_FIXED_ONLY_ARB 0x891D -#ifndef GLEE_H_DEFINED_glClampColorARB -#define GLEE_H_DEFINED_glClampColorARB - typedef void (APIENTRYP GLEEPFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); - GLEE_EXTERN GLEEPFNGLCLAMPCOLORARBPROC GLeeFuncPtr_glClampColorARB; - #define glClampColorARB GLeeFuncPtr_glClampColorARB -#endif -#endif - -/* GL_ARB_half_float_pixel */ - -#ifndef GL_ARB_half_float_pixel -#define GL_ARB_half_float_pixel 1 -#define __GLEE_GL_ARB_half_float_pixel 1 -/* Constants */ -#define GL_HALF_FLOAT_ARB 0x140B -#endif - -/* GL_ARB_texture_float */ - -#ifndef GL_ARB_texture_float -#define GL_ARB_texture_float 1 -#define __GLEE_GL_ARB_texture_float 1 -/* Constants */ -#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 -#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 -#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 -#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 -#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 -#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 -#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 -#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 -#define GL_RGBA32F_ARB 0x8814 -#define GL_RGB32F_ARB 0x8815 -#define GL_ALPHA32F_ARB 0x8816 -#define GL_INTENSITY32F_ARB 0x8817 -#define GL_LUMINANCE32F_ARB 0x8818 -#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 -#define GL_RGBA16F_ARB 0x881A -#define GL_RGB16F_ARB 0x881B -#define GL_ALPHA16F_ARB 0x881C -#define GL_INTENSITY16F_ARB 0x881D -#define GL_LUMINANCE16F_ARB 0x881E -#define GL_LUMINANCE_ALPHA16F_ARB 0x881F -#endif - -/* GL_ARB_pixel_buffer_object */ - -#ifndef GL_ARB_pixel_buffer_object -#define GL_ARB_pixel_buffer_object 1 -#define __GLEE_GL_ARB_pixel_buffer_object 1 -/* Constants */ -#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB -#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF -#endif - -/* GL_ARB_depth_buffer_float */ - -#ifndef GL_ARB_depth_buffer_float -#define GL_ARB_depth_buffer_float 1 -#define __GLEE_GL_ARB_depth_buffer_float 1 -/* Constants */ -#define GL_DEPTH_COMPONENT32F 0x8CAC -#define GL_DEPTH32F_STENCIL8 0x8CAD -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD -#endif - -/* GL_ARB_draw_instanced */ - -#ifndef GL_ARB_draw_instanced -#define GL_ARB_draw_instanced 1 -#define __GLEE_GL_ARB_draw_instanced 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawArraysInstancedARB -#define GLEE_H_DEFINED_glDrawArraysInstancedARB - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSINSTANCEDARBPROC GLeeFuncPtr_glDrawArraysInstancedARB; - #define glDrawArraysInstancedARB GLeeFuncPtr_glDrawArraysInstancedARB -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstancedARB -#define GLEE_H_DEFINED_glDrawElementsInstancedARB - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDARBPROC GLeeFuncPtr_glDrawElementsInstancedARB; - #define glDrawElementsInstancedARB GLeeFuncPtr_glDrawElementsInstancedARB -#endif -#endif - -/* GL_ARB_framebuffer_object */ - -#ifndef GL_ARB_framebuffer_object -#define GL_ARB_framebuffer_object 1 -#define __GLEE_GL_ARB_framebuffer_object 1 -/* Constants */ -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 -#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 -#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 -#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 -#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 -#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 -#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 -#define GL_FRAMEBUFFER_DEFAULT 0x8218 -#define GL_FRAMEBUFFER_UNDEFINED 0x8219 -#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 -#define GL_DEPTH_STENCIL 0x84F9 -#define GL_UNSIGNED_INT_24_8 0x84FA -#define GL_DEPTH24_STENCIL8 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE 0x88F1 -#define GL_TEXTURE_RED_TYPE 0x8C10 -#define GL_TEXTURE_GREEN_TYPE 0x8C11 -#define GL_TEXTURE_BLUE_TYPE 0x8C12 -#define GL_TEXTURE_ALPHA_TYPE 0x8C13 -#define GL_TEXTURE_DEPTH_TYPE 0x8C16 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_DRAW_FRAMEBUFFER 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA -#define GL_RENDERBUFFER_SAMPLES 0x8CAB -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD -#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_COLOR_ATTACHMENT1 0x8CE1 -#define GL_COLOR_ATTACHMENT2 0x8CE2 -#define GL_COLOR_ATTACHMENT3 0x8CE3 -#define GL_COLOR_ATTACHMENT4 0x8CE4 -#define GL_COLOR_ATTACHMENT5 0x8CE5 -#define GL_COLOR_ATTACHMENT6 0x8CE6 -#define GL_COLOR_ATTACHMENT7 0x8CE7 -#define GL_COLOR_ATTACHMENT8 0x8CE8 -#define GL_COLOR_ATTACHMENT9 0x8CE9 -#define GL_COLOR_ATTACHMENT10 0x8CEA -#define GL_COLOR_ATTACHMENT11 0x8CEB -#define GL_COLOR_ATTACHMENT12 0x8CEC -#define GL_COLOR_ATTACHMENT13 0x8CED -#define GL_COLOR_ATTACHMENT14 0x8CEE -#define GL_COLOR_ATTACHMENT15 0x8CEF -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_STENCIL_ATTACHMENT 0x8D20 -#define GL_FRAMEBUFFER 0x8D40 -#define GL_RENDERBUFFER 0x8D41 -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_STENCIL_INDEX1 0x8D46 -#define GL_STENCIL_INDEX4 0x8D47 -#define GL_STENCIL_INDEX8 0x8D48 -#define GL_STENCIL_INDEX16 0x8D49 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 -#define GL_MAX_SAMPLES 0x8D57 -#define GL_INDEX 0x8222 -#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 -#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 -#ifndef GLEE_H_DEFINED_glIsRenderbuffer -#define GLEE_H_DEFINED_glIsRenderbuffer - typedef GLboolean (APIENTRYP GLEEPFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLISRENDERBUFFERPROC GLeeFuncPtr_glIsRenderbuffer; - #define glIsRenderbuffer GLeeFuncPtr_glIsRenderbuffer -#endif -#ifndef GLEE_H_DEFINED_glBindRenderbuffer -#define GLEE_H_DEFINED_glBindRenderbuffer - typedef void (APIENTRYP GLEEPFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLBINDRENDERBUFFERPROC GLeeFuncPtr_glBindRenderbuffer; - #define glBindRenderbuffer GLeeFuncPtr_glBindRenderbuffer -#endif -#ifndef GLEE_H_DEFINED_glDeleteRenderbuffers -#define GLEE_H_DEFINED_glDeleteRenderbuffers - typedef void (APIENTRYP GLEEPFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint * renderbuffers); - GLEE_EXTERN GLEEPFNGLDELETERENDERBUFFERSPROC GLeeFuncPtr_glDeleteRenderbuffers; - #define glDeleteRenderbuffers GLeeFuncPtr_glDeleteRenderbuffers -#endif -#ifndef GLEE_H_DEFINED_glGenRenderbuffers -#define GLEE_H_DEFINED_glGenRenderbuffers - typedef void (APIENTRYP GLEEPFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint * renderbuffers); - GLEE_EXTERN GLEEPFNGLGENRENDERBUFFERSPROC GLeeFuncPtr_glGenRenderbuffers; - #define glGenRenderbuffers GLeeFuncPtr_glGenRenderbuffers -#endif -#ifndef GLEE_H_DEFINED_glRenderbufferStorage -#define GLEE_H_DEFINED_glRenderbufferStorage - typedef void (APIENTRYP GLEEPFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLRENDERBUFFERSTORAGEPROC GLeeFuncPtr_glRenderbufferStorage; - #define glRenderbufferStorage GLeeFuncPtr_glRenderbufferStorage -#endif -#ifndef GLEE_H_DEFINED_glGetRenderbufferParameteriv -#define GLEE_H_DEFINED_glGetRenderbufferParameteriv - typedef void (APIENTRYP GLEEPFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETRENDERBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetRenderbufferParameteriv; - #define glGetRenderbufferParameteriv GLeeFuncPtr_glGetRenderbufferParameteriv -#endif -#ifndef GLEE_H_DEFINED_glIsFramebuffer -#define GLEE_H_DEFINED_glIsFramebuffer - typedef GLboolean (APIENTRYP GLEEPFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); - GLEE_EXTERN GLEEPFNGLISFRAMEBUFFERPROC GLeeFuncPtr_glIsFramebuffer; - #define glIsFramebuffer GLeeFuncPtr_glIsFramebuffer -#endif -#ifndef GLEE_H_DEFINED_glBindFramebuffer -#define GLEE_H_DEFINED_glBindFramebuffer - typedef void (APIENTRYP GLEEPFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); - GLEE_EXTERN GLEEPFNGLBINDFRAMEBUFFERPROC GLeeFuncPtr_glBindFramebuffer; - #define glBindFramebuffer GLeeFuncPtr_glBindFramebuffer -#endif -#ifndef GLEE_H_DEFINED_glDeleteFramebuffers -#define GLEE_H_DEFINED_glDeleteFramebuffers - typedef void (APIENTRYP GLEEPFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint * framebuffers); - GLEE_EXTERN GLEEPFNGLDELETEFRAMEBUFFERSPROC GLeeFuncPtr_glDeleteFramebuffers; - #define glDeleteFramebuffers GLeeFuncPtr_glDeleteFramebuffers -#endif -#ifndef GLEE_H_DEFINED_glGenFramebuffers -#define GLEE_H_DEFINED_glGenFramebuffers - typedef void (APIENTRYP GLEEPFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint * framebuffers); - GLEE_EXTERN GLEEPFNGLGENFRAMEBUFFERSPROC GLeeFuncPtr_glGenFramebuffers; - #define glGenFramebuffers GLeeFuncPtr_glGenFramebuffers -#endif -#ifndef GLEE_H_DEFINED_glCheckFramebufferStatus -#define GLEE_H_DEFINED_glCheckFramebufferStatus - typedef GLenum (APIENTRYP GLEEPFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLCHECKFRAMEBUFFERSTATUSPROC GLeeFuncPtr_glCheckFramebufferStatus; - #define glCheckFramebufferStatus GLeeFuncPtr_glCheckFramebufferStatus -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture1D -#define GLEE_H_DEFINED_glFramebufferTexture1D - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE1DPROC GLeeFuncPtr_glFramebufferTexture1D; - #define glFramebufferTexture1D GLeeFuncPtr_glFramebufferTexture1D -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture2D -#define GLEE_H_DEFINED_glFramebufferTexture2D - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE2DPROC GLeeFuncPtr_glFramebufferTexture2D; - #define glFramebufferTexture2D GLeeFuncPtr_glFramebufferTexture2D -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture3D -#define GLEE_H_DEFINED_glFramebufferTexture3D - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE3DPROC GLeeFuncPtr_glFramebufferTexture3D; - #define glFramebufferTexture3D GLeeFuncPtr_glFramebufferTexture3D -#endif -#ifndef GLEE_H_DEFINED_glFramebufferRenderbuffer -#define GLEE_H_DEFINED_glFramebufferRenderbuffer - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERRENDERBUFFERPROC GLeeFuncPtr_glFramebufferRenderbuffer; - #define glFramebufferRenderbuffer GLeeFuncPtr_glFramebufferRenderbuffer -#endif -#ifndef GLEE_H_DEFINED_glGetFramebufferAttachmentParameteriv -#define GLEE_H_DEFINED_glGetFramebufferAttachmentParameteriv - typedef void (APIENTRYP GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GLeeFuncPtr_glGetFramebufferAttachmentParameteriv; - #define glGetFramebufferAttachmentParameteriv GLeeFuncPtr_glGetFramebufferAttachmentParameteriv -#endif -#ifndef GLEE_H_DEFINED_glGenerateMipmap -#define GLEE_H_DEFINED_glGenerateMipmap - typedef void (APIENTRYP GLEEPFNGLGENERATEMIPMAPPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLGENERATEMIPMAPPROC GLeeFuncPtr_glGenerateMipmap; - #define glGenerateMipmap GLeeFuncPtr_glGenerateMipmap -#endif -#ifndef GLEE_H_DEFINED_glBlitFramebuffer -#define GLEE_H_DEFINED_glBlitFramebuffer - typedef void (APIENTRYP GLEEPFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - GLEE_EXTERN GLEEPFNGLBLITFRAMEBUFFERPROC GLeeFuncPtr_glBlitFramebuffer; - #define glBlitFramebuffer GLeeFuncPtr_glBlitFramebuffer -#endif -#ifndef GLEE_H_DEFINED_glRenderbufferStorageMultisample -#define GLEE_H_DEFINED_glRenderbufferStorageMultisample - typedef void (APIENTRYP GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC GLeeFuncPtr_glRenderbufferStorageMultisample; - #define glRenderbufferStorageMultisample GLeeFuncPtr_glRenderbufferStorageMultisample -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTextureLayer -#define GLEE_H_DEFINED_glFramebufferTextureLayer - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURELAYERPROC GLeeFuncPtr_glFramebufferTextureLayer; - #define glFramebufferTextureLayer GLeeFuncPtr_glFramebufferTextureLayer -#endif -#endif - -/* GL_ARB_framebuffer_sRGB */ - -#ifndef GL_ARB_framebuffer_sRGB -#define GL_ARB_framebuffer_sRGB 1 -#define __GLEE_GL_ARB_framebuffer_sRGB 1 -/* Constants */ -#define GL_FRAMEBUFFER_SRGB 0x8DB9 -#endif - -/* GL_ARB_geometry_shader4 */ - -#ifndef GL_ARB_geometry_shader4 -#define GL_ARB_geometry_shader4 1 -#define __GLEE_GL_ARB_geometry_shader4 1 -/* Constants */ -#define GL_LINES_ADJACENCY_ARB 0x000A -#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B -#define GL_TRIANGLES_ADJACENCY_ARB 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D -#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 -#define GL_GEOMETRY_SHADER_ARB 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA -#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB -#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC -#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD -#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 -#ifndef GLEE_H_DEFINED_glProgramParameteriARB -#define GLEE_H_DEFINED_glProgramParameteriARB - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETERIARBPROC GLeeFuncPtr_glProgramParameteriARB; - #define glProgramParameteriARB GLeeFuncPtr_glProgramParameteriARB -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTextureARB -#define GLEE_H_DEFINED_glFramebufferTextureARB - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTUREARBPROC GLeeFuncPtr_glFramebufferTextureARB; - #define glFramebufferTextureARB GLeeFuncPtr_glFramebufferTextureARB -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTextureLayerARB -#define GLEE_H_DEFINED_glFramebufferTextureLayerARB - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURELAYERARBPROC GLeeFuncPtr_glFramebufferTextureLayerARB; - #define glFramebufferTextureLayerARB GLeeFuncPtr_glFramebufferTextureLayerARB -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTextureFaceARB -#define GLEE_H_DEFINED_glFramebufferTextureFaceARB - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTUREFACEARBPROC GLeeFuncPtr_glFramebufferTextureFaceARB; - #define glFramebufferTextureFaceARB GLeeFuncPtr_glFramebufferTextureFaceARB -#endif -#endif - -/* GL_ARB_half_float_vertex */ - -#ifndef GL_ARB_half_float_vertex -#define GL_ARB_half_float_vertex 1 -#define __GLEE_GL_ARB_half_float_vertex 1 -/* Constants */ -#define GL_HALF_FLOAT 0x140B -#endif - -/* GL_ARB_instanced_arrays */ - -#ifndef GL_ARB_instanced_arrays -#define GL_ARB_instanced_arrays 1 -#define __GLEE_GL_ARB_instanced_arrays 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE -#ifndef GLEE_H_DEFINED_glVertexAttribDivisorARB -#define GLEE_H_DEFINED_glVertexAttribDivisorARB - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBDIVISORARBPROC GLeeFuncPtr_glVertexAttribDivisorARB; - #define glVertexAttribDivisorARB GLeeFuncPtr_glVertexAttribDivisorARB -#endif -#endif - -/* GL_ARB_map_buffer_range */ - -#ifndef GL_ARB_map_buffer_range -#define GL_ARB_map_buffer_range 1 -#define __GLEE_GL_ARB_map_buffer_range 1 -/* Constants */ -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#ifndef GLEE_H_DEFINED_glMapBufferRange -#define GLEE_H_DEFINED_glMapBufferRange - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - GLEE_EXTERN GLEEPFNGLMAPBUFFERRANGEPROC GLeeFuncPtr_glMapBufferRange; - #define glMapBufferRange GLeeFuncPtr_glMapBufferRange -#endif -#ifndef GLEE_H_DEFINED_glFlushMappedBufferRange -#define GLEE_H_DEFINED_glFlushMappedBufferRange - typedef void (APIENTRYP GLEEPFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); - GLEE_EXTERN GLEEPFNGLFLUSHMAPPEDBUFFERRANGEPROC GLeeFuncPtr_glFlushMappedBufferRange; - #define glFlushMappedBufferRange GLeeFuncPtr_glFlushMappedBufferRange -#endif -#endif - -/* GL_ARB_texture_buffer_object */ - -#ifndef GL_ARB_texture_buffer_object -#define GL_ARB_texture_buffer_object 1 -#define __GLEE_GL_ARB_texture_buffer_object 1 -/* Constants */ -#define GL_TEXTURE_BUFFER_ARB 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D -#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E -#ifndef GLEE_H_DEFINED_glTexBufferARB -#define GLEE_H_DEFINED_glTexBufferARB - typedef void (APIENTRYP GLEEPFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); - GLEE_EXTERN GLEEPFNGLTEXBUFFERARBPROC GLeeFuncPtr_glTexBufferARB; - #define glTexBufferARB GLeeFuncPtr_glTexBufferARB -#endif -#endif - -/* GL_ARB_texture_compression_rgtc */ - -#ifndef GL_ARB_texture_compression_rgtc -#define GL_ARB_texture_compression_rgtc 1 -#define __GLEE_GL_ARB_texture_compression_rgtc 1 -/* Constants */ -#define GL_COMPRESSED_RED_RGTC1 0x8DBB -#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC -#define GL_COMPRESSED_RG_RGTC2 0x8DBD -#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE -#endif - -/* GL_ARB_texture_rg */ - -#ifndef GL_ARB_texture_rg -#define GL_ARB_texture_rg 1 -#define __GLEE_GL_ARB_texture_rg 1 -/* Constants */ -#define GL_RG 0x8227 -#define GL_RG_INTEGER 0x8228 -#define GL_R8 0x8229 -#define GL_R16 0x822A -#define GL_RG8 0x822B -#define GL_RG16 0x822C -#define GL_R16F 0x822D -#define GL_R32F 0x822E -#define GL_RG16F 0x822F -#define GL_RG32F 0x8230 -#define GL_R8I 0x8231 -#define GL_R8UI 0x8232 -#define GL_R16I 0x8233 -#define GL_R16UI 0x8234 -#define GL_R32I 0x8235 -#define GL_R32UI 0x8236 -#define GL_RG8I 0x8237 -#define GL_RG8UI 0x8238 -#define GL_RG16I 0x8239 -#define GL_RG16UI 0x823A -#define GL_RG32I 0x823B -#define GL_RG32UI 0x823C -#endif - -/* GL_ARB_vertex_array_object */ - -#ifndef GL_ARB_vertex_array_object -#define GL_ARB_vertex_array_object 1 -#define __GLEE_GL_ARB_vertex_array_object 1 -/* Constants */ -#define GL_VERTEX_ARRAY_BINDING 0x85B5 -#ifndef GLEE_H_DEFINED_glBindVertexArray -#define GLEE_H_DEFINED_glBindVertexArray - typedef void (APIENTRYP GLEEPFNGLBINDVERTEXARRAYPROC) (GLuint array); - GLEE_EXTERN GLEEPFNGLBINDVERTEXARRAYPROC GLeeFuncPtr_glBindVertexArray; - #define glBindVertexArray GLeeFuncPtr_glBindVertexArray -#endif -#ifndef GLEE_H_DEFINED_glDeleteVertexArrays -#define GLEE_H_DEFINED_glDeleteVertexArrays - typedef void (APIENTRYP GLEEPFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint * arrays); - GLEE_EXTERN GLEEPFNGLDELETEVERTEXARRAYSPROC GLeeFuncPtr_glDeleteVertexArrays; - #define glDeleteVertexArrays GLeeFuncPtr_glDeleteVertexArrays -#endif -#ifndef GLEE_H_DEFINED_glGenVertexArrays -#define GLEE_H_DEFINED_glGenVertexArrays - typedef void (APIENTRYP GLEEPFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint * arrays); - GLEE_EXTERN GLEEPFNGLGENVERTEXARRAYSPROC GLeeFuncPtr_glGenVertexArrays; - #define glGenVertexArrays GLeeFuncPtr_glGenVertexArrays -#endif -#ifndef GLEE_H_DEFINED_glIsVertexArray -#define GLEE_H_DEFINED_glIsVertexArray - typedef GLboolean (APIENTRYP GLEEPFNGLISVERTEXARRAYPROC) (GLuint array); - GLEE_EXTERN GLEEPFNGLISVERTEXARRAYPROC GLeeFuncPtr_glIsVertexArray; - #define glIsVertexArray GLeeFuncPtr_glIsVertexArray -#endif -#endif - -/* GL_ARB_uniform_buffer_object */ - -#ifndef GL_ARB_uniform_buffer_object -#define GL_ARB_uniform_buffer_object 1 -#define __GLEE_GL_ARB_uniform_buffer_object 1 -/* Constants */ -#define GL_UNIFORM_BUFFER 0x8A11 -#define GL_UNIFORM_BUFFER_BINDING 0x8A28 -#define GL_UNIFORM_BUFFER_START 0x8A29 -#define GL_UNIFORM_BUFFER_SIZE 0x8A2A -#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B -#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C -#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D -#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E -#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F -#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 -#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 -#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 -#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 -#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 -#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 -#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 -#define GL_UNIFORM_TYPE 0x8A37 -#define GL_UNIFORM_SIZE 0x8A38 -#define GL_UNIFORM_NAME_LENGTH 0x8A39 -#define GL_UNIFORM_BLOCK_INDEX 0x8A3A -#define GL_UNIFORM_OFFSET 0x8A3B -#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C -#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D -#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E -#define GL_UNIFORM_BLOCK_BINDING 0x8A3F -#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 -#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 -#define GL_INVALID_INDEX 0xFFFFFFFFu -#ifndef GLEE_H_DEFINED_glGetUniformIndices -#define GLEE_H_DEFINED_glGetUniformIndices - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* const * uniformNames, GLuint * uniformIndices); - GLEE_EXTERN GLEEPFNGLGETUNIFORMINDICESPROC GLeeFuncPtr_glGetUniformIndices; - #define glGetUniformIndices GLeeFuncPtr_glGetUniformIndices -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniformsiv -#define GLEE_H_DEFINED_glGetActiveUniformsiv - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMSIVPROC GLeeFuncPtr_glGetActiveUniformsiv; - #define glGetActiveUniformsiv GLeeFuncPtr_glGetActiveUniformsiv -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniformName -#define GLEE_H_DEFINED_glGetActiveUniformName - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMNAMEPROC GLeeFuncPtr_glGetActiveUniformName; - #define glGetActiveUniformName GLeeFuncPtr_glGetActiveUniformName -#endif -#ifndef GLEE_H_DEFINED_glGetUniformBlockIndex -#define GLEE_H_DEFINED_glGetUniformBlockIndex - typedef GLuint (APIENTRYP GLEEPFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar * uniformBlockName); - GLEE_EXTERN GLEEPFNGLGETUNIFORMBLOCKINDEXPROC GLeeFuncPtr_glGetUniformBlockIndex; - #define glGetUniformBlockIndex GLeeFuncPtr_glGetUniformBlockIndex -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniformBlockiv -#define GLEE_H_DEFINED_glGetActiveUniformBlockiv - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMBLOCKIVPROC GLeeFuncPtr_glGetActiveUniformBlockiv; - #define glGetActiveUniformBlockiv GLeeFuncPtr_glGetActiveUniformBlockiv -#endif -#ifndef GLEE_H_DEFINED_glGetActiveUniformBlockName -#define GLEE_H_DEFINED_glGetActiveUniformBlockName - typedef void (APIENTRYP GLEEPFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName); - GLEE_EXTERN GLEEPFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GLeeFuncPtr_glGetActiveUniformBlockName; - #define glGetActiveUniformBlockName GLeeFuncPtr_glGetActiveUniformBlockName -#endif -#ifndef GLEE_H_DEFINED_glUniformBlockBinding -#define GLEE_H_DEFINED_glUniformBlockBinding - typedef void (APIENTRYP GLEEPFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); - GLEE_EXTERN GLEEPFNGLUNIFORMBLOCKBINDINGPROC GLeeFuncPtr_glUniformBlockBinding; - #define glUniformBlockBinding GLeeFuncPtr_glUniformBlockBinding -#endif -#endif - -/* GL_ARB_compatibility */ - -#ifndef GL_ARB_compatibility -#define GL_ARB_compatibility 1 -#define __GLEE_GL_ARB_compatibility 1 -/* Constants */ -#endif - -/* GL_ARB_copy_buffer */ - -#ifndef GL_ARB_copy_buffer -#define GL_ARB_copy_buffer 1 -#define __GLEE_GL_ARB_copy_buffer 1 -/* Constants */ -#define GL_COPY_READ_BUFFER_BINDING 0x8F36 -#define GL_COPY_READ_BUFFER GL_COPY_READ_BUFFER_BINDING -#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 -#define GL_COPY_WRITE_BUFFER GL_COPY_WRITE_BUFFER_BINDING -#ifndef GLEE_H_DEFINED_glCopyBufferSubData -#define GLEE_H_DEFINED_glCopyBufferSubData - typedef void (APIENTRYP GLEEPFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLCOPYBUFFERSUBDATAPROC GLeeFuncPtr_glCopyBufferSubData; - #define glCopyBufferSubData GLeeFuncPtr_glCopyBufferSubData -#endif -#endif - -/* GL_ARB_shader_texture_lod */ - -#ifndef GL_ARB_shader_texture_lod -#define GL_ARB_shader_texture_lod 1 -#define __GLEE_GL_ARB_shader_texture_lod 1 -/* Constants */ -#endif - -/* GL_ARB_depth_clamp */ - -#ifndef GL_ARB_depth_clamp -#define GL_ARB_depth_clamp 1 -#define __GLEE_GL_ARB_depth_clamp 1 -/* Constants */ -#define GL_DEPTH_CLAMP 0x864F -#endif - -/* GL_ARB_draw_elements_base_vertex */ - -#ifndef GL_ARB_draw_elements_base_vertex -#define GL_ARB_draw_elements_base_vertex 1 -#define __GLEE_GL_ARB_draw_elements_base_vertex 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawElementsBaseVertex -#define GLEE_H_DEFINED_glDrawElementsBaseVertex - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSBASEVERTEXPROC GLeeFuncPtr_glDrawElementsBaseVertex; - #define glDrawElementsBaseVertex GLeeFuncPtr_glDrawElementsBaseVertex -#endif -#ifndef GLEE_H_DEFINED_glDrawRangeElementsBaseVertex -#define GLEE_H_DEFINED_glDrawRangeElementsBaseVertex - typedef void (APIENTRYP GLEEPFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); - GLEE_EXTERN GLEEPFNGLDRAWRANGEELEMENTSBASEVERTEXPROC GLeeFuncPtr_glDrawRangeElementsBaseVertex; - #define glDrawRangeElementsBaseVertex GLeeFuncPtr_glDrawRangeElementsBaseVertex -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstancedBaseVertex -#define GLEE_H_DEFINED_glDrawElementsInstancedBaseVertex - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei instancecount, GLint basevertex); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC GLeeFuncPtr_glDrawElementsInstancedBaseVertex; - #define glDrawElementsInstancedBaseVertex GLeeFuncPtr_glDrawElementsInstancedBaseVertex -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElementsBaseVertex -#define GLEE_H_DEFINED_glMultiDrawElementsBaseVertex - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei drawcount, const GLint * basevertex); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTSBASEVERTEXPROC GLeeFuncPtr_glMultiDrawElementsBaseVertex; - #define glMultiDrawElementsBaseVertex GLeeFuncPtr_glMultiDrawElementsBaseVertex -#endif -#endif - -/* GL_ARB_fragment_coord_conventions */ - -#ifndef GL_ARB_fragment_coord_conventions -#define GL_ARB_fragment_coord_conventions 1 -#define __GLEE_GL_ARB_fragment_coord_conventions 1 -/* Constants */ -#endif - -/* GL_ARB_provoking_vertex */ - -#ifndef GL_ARB_provoking_vertex -#define GL_ARB_provoking_vertex 1 -#define __GLEE_GL_ARB_provoking_vertex 1 -/* Constants */ -#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C -#define GL_FIRST_VERTEX_CONVENTION 0x8E4D -#define GL_LAST_VERTEX_CONVENTION 0x8E4E -#define GL_PROVOKING_VERTEX 0x8E4F -#ifndef GLEE_H_DEFINED_glProvokingVertex -#define GLEE_H_DEFINED_glProvokingVertex - typedef void (APIENTRYP GLEEPFNGLPROVOKINGVERTEXPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLPROVOKINGVERTEXPROC GLeeFuncPtr_glProvokingVertex; - #define glProvokingVertex GLeeFuncPtr_glProvokingVertex -#endif -#endif - -/* GL_ARB_seamless_cube_map */ - -#ifndef GL_ARB_seamless_cube_map -#define GL_ARB_seamless_cube_map 1 -#define __GLEE_GL_ARB_seamless_cube_map 1 -/* Constants */ -#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F -#endif - -/* GL_ARB_sync */ - -#ifndef GL_ARB_sync -#define GL_ARB_sync 1 -#define __GLEE_GL_ARB_sync 1 -/* Constants */ -#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 -#define GL_OBJECT_TYPE 0x9112 -#define GL_SYNC_CONDITION 0x9113 -#define GL_SYNC_STATUS 0x9114 -#define GL_SYNC_FLAGS 0x9115 -#define GL_SYNC_FENCE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 -#define GL_UNSIGNALED 0x9118 -#define GL_SIGNALED 0x9119 -#define GL_ALREADY_SIGNALED 0x911A -#define GL_TIMEOUT_EXPIRED 0x911B -#define GL_CONDITION_SATISFIED 0x911C -#define GL_WAIT_FAILED 0x911D -#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 -#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull -#ifndef GLEE_H_DEFINED_glFenceSync -#define GLEE_H_DEFINED_glFenceSync - typedef GLsync (APIENTRYP GLEEPFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags); - GLEE_EXTERN GLEEPFNGLFENCESYNCPROC GLeeFuncPtr_glFenceSync; - #define glFenceSync GLeeFuncPtr_glFenceSync -#endif -#ifndef GLEE_H_DEFINED_glIsSync -#define GLEE_H_DEFINED_glIsSync - typedef GLboolean (APIENTRYP GLEEPFNGLISSYNCPROC) (GLsync sync); - GLEE_EXTERN GLEEPFNGLISSYNCPROC GLeeFuncPtr_glIsSync; - #define glIsSync GLeeFuncPtr_glIsSync -#endif -#ifndef GLEE_H_DEFINED_glDeleteSync -#define GLEE_H_DEFINED_glDeleteSync - typedef void (APIENTRYP GLEEPFNGLDELETESYNCPROC) (GLsync sync); - GLEE_EXTERN GLEEPFNGLDELETESYNCPROC GLeeFuncPtr_glDeleteSync; - #define glDeleteSync GLeeFuncPtr_glDeleteSync -#endif -#ifndef GLEE_H_DEFINED_glClientWaitSync -#define GLEE_H_DEFINED_glClientWaitSync - typedef GLenum (APIENTRYP GLEEPFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); - GLEE_EXTERN GLEEPFNGLCLIENTWAITSYNCPROC GLeeFuncPtr_glClientWaitSync; - #define glClientWaitSync GLeeFuncPtr_glClientWaitSync -#endif -#ifndef GLEE_H_DEFINED_glWaitSync -#define GLEE_H_DEFINED_glWaitSync - typedef void (APIENTRYP GLEEPFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); - GLEE_EXTERN GLEEPFNGLWAITSYNCPROC GLeeFuncPtr_glWaitSync; - #define glWaitSync GLeeFuncPtr_glWaitSync -#endif -#ifndef GLEE_H_DEFINED_glGetInteger64v -#define GLEE_H_DEFINED_glGetInteger64v - typedef void (APIENTRYP GLEEPFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 * params); - GLEE_EXTERN GLEEPFNGLGETINTEGER64VPROC GLeeFuncPtr_glGetInteger64v; - #define glGetInteger64v GLeeFuncPtr_glGetInteger64v -#endif -#ifndef GLEE_H_DEFINED_glGetSynciv -#define GLEE_H_DEFINED_glGetSynciv - typedef void (APIENTRYP GLEEPFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); - GLEE_EXTERN GLEEPFNGLGETSYNCIVPROC GLeeFuncPtr_glGetSynciv; - #define glGetSynciv GLeeFuncPtr_glGetSynciv -#endif -#endif - -/* GL_ARB_texture_multisample */ - -#ifndef GL_ARB_texture_multisample -#define GL_ARB_texture_multisample 1 -#define __GLEE_GL_ARB_texture_multisample 1 -/* Constants */ -#define GL_SAMPLE_POSITION 0x8E50 -#define GL_SAMPLE_MASK 0x8E51 -#define GL_SAMPLE_MASK_VALUE 0x8E52 -#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 -#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 -#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 -#define GL_TEXTURE_SAMPLES 0x9106 -#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 -#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 -#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A -#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B -#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D -#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E -#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F -#define GL_MAX_INTEGER_SAMPLES 0x9110 -#ifndef GLEE_H_DEFINED_glTexImage2DMultisample -#define GLEE_H_DEFINED_glTexImage2DMultisample - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXIMAGE2DMULTISAMPLEPROC GLeeFuncPtr_glTexImage2DMultisample; - #define glTexImage2DMultisample GLeeFuncPtr_glTexImage2DMultisample -#endif -#ifndef GLEE_H_DEFINED_glTexImage3DMultisample -#define GLEE_H_DEFINED_glTexImage3DMultisample - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXIMAGE3DMULTISAMPLEPROC GLeeFuncPtr_glTexImage3DMultisample; - #define glTexImage3DMultisample GLeeFuncPtr_glTexImage3DMultisample -#endif -#ifndef GLEE_H_DEFINED_glGetMultisamplefv -#define GLEE_H_DEFINED_glGetMultisamplefv - typedef void (APIENTRYP GLEEPFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat * val); - GLEE_EXTERN GLEEPFNGLGETMULTISAMPLEFVPROC GLeeFuncPtr_glGetMultisamplefv; - #define glGetMultisamplefv GLeeFuncPtr_glGetMultisamplefv -#endif -#ifndef GLEE_H_DEFINED_glSampleMaski -#define GLEE_H_DEFINED_glSampleMaski - typedef void (APIENTRYP GLEEPFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); - GLEE_EXTERN GLEEPFNGLSAMPLEMASKIPROC GLeeFuncPtr_glSampleMaski; - #define glSampleMaski GLeeFuncPtr_glSampleMaski -#endif -#endif - -/* GL_ARB_vertex_array_bgra */ - -#ifndef GL_ARB_vertex_array_bgra -#define GL_ARB_vertex_array_bgra 1 -#define __GLEE_GL_ARB_vertex_array_bgra 1 -/* Constants */ -#endif - -/* GL_ARB_draw_buffers_blend */ - -#ifndef GL_ARB_draw_buffers_blend -#define GL_ARB_draw_buffers_blend 1 -#define __GLEE_GL_ARB_draw_buffers_blend 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glBlendEquationiARB -#define GLEE_H_DEFINED_glBlendEquationiARB - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONIARBPROC GLeeFuncPtr_glBlendEquationiARB; - #define glBlendEquationiARB GLeeFuncPtr_glBlendEquationiARB -#endif -#ifndef GLEE_H_DEFINED_glBlendEquationSeparateiARB -#define GLEE_H_DEFINED_glBlendEquationSeparateiARB - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONSEPARATEIARBPROC GLeeFuncPtr_glBlendEquationSeparateiARB; - #define glBlendEquationSeparateiARB GLeeFuncPtr_glBlendEquationSeparateiARB -#endif -#ifndef GLEE_H_DEFINED_glBlendFunciARB -#define GLEE_H_DEFINED_glBlendFunciARB - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); - GLEE_EXTERN GLEEPFNGLBLENDFUNCIARBPROC GLeeFuncPtr_glBlendFunciARB; - #define glBlendFunciARB GLeeFuncPtr_glBlendFunciARB -#endif -#ifndef GLEE_H_DEFINED_glBlendFuncSeparateiARB -#define GLEE_H_DEFINED_glBlendFuncSeparateiARB - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEIARBPROC GLeeFuncPtr_glBlendFuncSeparateiARB; - #define glBlendFuncSeparateiARB GLeeFuncPtr_glBlendFuncSeparateiARB -#endif -#endif - -/* GL_ARB_sample_shading */ - -#ifndef GL_ARB_sample_shading -#define GL_ARB_sample_shading 1 -#define __GLEE_GL_ARB_sample_shading 1 -/* Constants */ -#define GL_SAMPLE_SHADING_ARB 0x8C36 -#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 -#ifndef GLEE_H_DEFINED_glMinSampleShadingARB -#define GLEE_H_DEFINED_glMinSampleShadingARB - typedef void (APIENTRYP GLEEPFNGLMINSAMPLESHADINGARBPROC) (GLfloat value); - GLEE_EXTERN GLEEPFNGLMINSAMPLESHADINGARBPROC GLeeFuncPtr_glMinSampleShadingARB; - #define glMinSampleShadingARB GLeeFuncPtr_glMinSampleShadingARB -#endif -#endif - -/* GL_ARB_texture_cube_map_array */ - -#ifndef GL_ARB_texture_cube_map_array -#define GL_ARB_texture_cube_map_array 1 -#define __GLEE_GL_ARB_texture_cube_map_array 1 -/* Constants */ -#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A -#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B -#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C -#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D -#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E -#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F -#endif - -/* GL_ARB_texture_gather */ - -#ifndef GL_ARB_texture_gather -#define GL_ARB_texture_gather 1 -#define __GLEE_GL_ARB_texture_gather 1 -/* Constants */ -#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E -#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F -#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F -#endif - -/* GL_ARB_texture_query_lod */ - -#ifndef GL_ARB_texture_query_lod -#define GL_ARB_texture_query_lod 1 -#define __GLEE_GL_ARB_texture_query_lod 1 -/* Constants */ -#endif - -/* GL_ARB_shading_language_include */ - -#ifndef GL_ARB_shading_language_include -#define GL_ARB_shading_language_include 1 -#define __GLEE_GL_ARB_shading_language_include 1 -/* Constants */ -#define GL_SHADER_INCLUDE_ARB 0x8DAE -#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 -#define GL_NAMED_STRING_TYPE_ARB 0x8DEA -#ifndef GLEE_H_DEFINED_glNamedStringARB -#define GLEE_H_DEFINED_glNamedStringARB - typedef void (APIENTRYP GLEEPFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar * name, GLint stringlen, const GLchar * string); - GLEE_EXTERN GLEEPFNGLNAMEDSTRINGARBPROC GLeeFuncPtr_glNamedStringARB; - #define glNamedStringARB GLeeFuncPtr_glNamedStringARB -#endif -#ifndef GLEE_H_DEFINED_glDeleteNamedStringARB -#define GLEE_H_DEFINED_glDeleteNamedStringARB - typedef void (APIENTRYP GLEEPFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar * name); - GLEE_EXTERN GLEEPFNGLDELETENAMEDSTRINGARBPROC GLeeFuncPtr_glDeleteNamedStringARB; - #define glDeleteNamedStringARB GLeeFuncPtr_glDeleteNamedStringARB -#endif -#ifndef GLEE_H_DEFINED_glCompileShaderIncludeARB -#define GLEE_H_DEFINED_glCompileShaderIncludeARB - typedef void (APIENTRYP GLEEPFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* * path, const GLint * length); - GLEE_EXTERN GLEEPFNGLCOMPILESHADERINCLUDEARBPROC GLeeFuncPtr_glCompileShaderIncludeARB; - #define glCompileShaderIncludeARB GLeeFuncPtr_glCompileShaderIncludeARB -#endif -#ifndef GLEE_H_DEFINED_glIsNamedStringARB -#define GLEE_H_DEFINED_glIsNamedStringARB - typedef GLboolean (APIENTRYP GLEEPFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar * name); - GLEE_EXTERN GLEEPFNGLISNAMEDSTRINGARBPROC GLeeFuncPtr_glIsNamedStringARB; - #define glIsNamedStringARB GLeeFuncPtr_glIsNamedStringARB -#endif -#ifndef GLEE_H_DEFINED_glGetNamedStringARB -#define GLEE_H_DEFINED_glGetNamedStringARB - typedef void (APIENTRYP GLEEPFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar * name, GLsizei bufSize, GLint * stringlen, GLchar * string); - GLEE_EXTERN GLEEPFNGLGETNAMEDSTRINGARBPROC GLeeFuncPtr_glGetNamedStringARB; - #define glGetNamedStringARB GLeeFuncPtr_glGetNamedStringARB -#endif -#ifndef GLEE_H_DEFINED_glGetNamedStringivARB -#define GLEE_H_DEFINED_glGetNamedStringivARB - typedef void (APIENTRYP GLEEPFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar * name, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDSTRINGIVARBPROC GLeeFuncPtr_glGetNamedStringivARB; - #define glGetNamedStringivARB GLeeFuncPtr_glGetNamedStringivARB -#endif -#endif - -/* GL_ARB_texture_compression_bptc */ - -#ifndef GL_ARB_texture_compression_bptc -#define GL_ARB_texture_compression_bptc 1 -#define __GLEE_GL_ARB_texture_compression_bptc 1 -/* Constants */ -#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C -#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D -#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E -#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F -#endif - -/* GL_ARB_blend_func_extended */ - -#ifndef GL_ARB_blend_func_extended -#define GL_ARB_blend_func_extended 1 -#define __GLEE_GL_ARB_blend_func_extended 1 -/* Constants */ -#define GL_SRC1_COLOR 0x88F9 -#define GL_ONE_MINUS_SRC1_COLOR 0x88FA -#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB -#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC -#ifndef GLEE_H_DEFINED_glBindFragDataLocationIndexed -#define GLEE_H_DEFINED_glBindFragDataLocationIndexed - typedef void (APIENTRYP GLEEPFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); - GLEE_EXTERN GLEEPFNGLBINDFRAGDATALOCATIONINDEXEDPROC GLeeFuncPtr_glBindFragDataLocationIndexed; - #define glBindFragDataLocationIndexed GLeeFuncPtr_glBindFragDataLocationIndexed -#endif -#ifndef GLEE_H_DEFINED_glGetFragDataIndex -#define GLEE_H_DEFINED_glGetFragDataIndex - typedef GLint (APIENTRYP GLEEPFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETFRAGDATAINDEXPROC GLeeFuncPtr_glGetFragDataIndex; - #define glGetFragDataIndex GLeeFuncPtr_glGetFragDataIndex -#endif -#endif - -/* GL_ARB_explicit_attrib_location */ - -#ifndef GL_ARB_explicit_attrib_location -#define GL_ARB_explicit_attrib_location 1 -#define __GLEE_GL_ARB_explicit_attrib_location 1 -/* Constants */ -#endif - -/* GL_ARB_occlusion_query2 */ - -#ifndef GL_ARB_occlusion_query2 -#define GL_ARB_occlusion_query2 1 -#define __GLEE_GL_ARB_occlusion_query2 1 -/* Constants */ -#define GL_ANY_SAMPLES_PASSED 0x8C2F -#endif - -/* GL_ARB_sampler_objects */ - -#ifndef GL_ARB_sampler_objects -#define GL_ARB_sampler_objects 1 -#define __GLEE_GL_ARB_sampler_objects 1 -/* Constants */ -#define GL_SAMPLER_BINDING 0x8919 -#ifndef GLEE_H_DEFINED_glGenSamplers -#define GLEE_H_DEFINED_glGenSamplers - typedef void (APIENTRYP GLEEPFNGLGENSAMPLERSPROC) (GLsizei count, GLuint * samplers); - GLEE_EXTERN GLEEPFNGLGENSAMPLERSPROC GLeeFuncPtr_glGenSamplers; - #define glGenSamplers GLeeFuncPtr_glGenSamplers -#endif -#ifndef GLEE_H_DEFINED_glDeleteSamplers -#define GLEE_H_DEFINED_glDeleteSamplers - typedef void (APIENTRYP GLEEPFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers); - GLEE_EXTERN GLEEPFNGLDELETESAMPLERSPROC GLeeFuncPtr_glDeleteSamplers; - #define glDeleteSamplers GLeeFuncPtr_glDeleteSamplers -#endif -#ifndef GLEE_H_DEFINED_glIsSampler -#define GLEE_H_DEFINED_glIsSampler - typedef GLboolean (APIENTRYP GLEEPFNGLISSAMPLERPROC) (GLuint sampler); - GLEE_EXTERN GLEEPFNGLISSAMPLERPROC GLeeFuncPtr_glIsSampler; - #define glIsSampler GLeeFuncPtr_glIsSampler -#endif -#ifndef GLEE_H_DEFINED_glBindSampler -#define GLEE_H_DEFINED_glBindSampler - typedef void (APIENTRYP GLEEPFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); - GLEE_EXTERN GLEEPFNGLBINDSAMPLERPROC GLeeFuncPtr_glBindSampler; - #define glBindSampler GLeeFuncPtr_glBindSampler -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameteri -#define GLEE_H_DEFINED_glSamplerParameteri - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERIPROC GLeeFuncPtr_glSamplerParameteri; - #define glSamplerParameteri GLeeFuncPtr_glSamplerParameteri -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameteriv -#define GLEE_H_DEFINED_glSamplerParameteriv - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint * param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERIVPROC GLeeFuncPtr_glSamplerParameteriv; - #define glSamplerParameteriv GLeeFuncPtr_glSamplerParameteriv -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameterf -#define GLEE_H_DEFINED_glSamplerParameterf - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERFPROC GLeeFuncPtr_glSamplerParameterf; - #define glSamplerParameterf GLeeFuncPtr_glSamplerParameterf -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameterfv -#define GLEE_H_DEFINED_glSamplerParameterfv - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat * param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERFVPROC GLeeFuncPtr_glSamplerParameterfv; - #define glSamplerParameterfv GLeeFuncPtr_glSamplerParameterfv -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameterIiv -#define GLEE_H_DEFINED_glSamplerParameterIiv - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint * param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERIIVPROC GLeeFuncPtr_glSamplerParameterIiv; - #define glSamplerParameterIiv GLeeFuncPtr_glSamplerParameterIiv -#endif -#ifndef GLEE_H_DEFINED_glSamplerParameterIuiv -#define GLEE_H_DEFINED_glSamplerParameterIuiv - typedef void (APIENTRYP GLEEPFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint * param); - GLEE_EXTERN GLEEPFNGLSAMPLERPARAMETERIUIVPROC GLeeFuncPtr_glSamplerParameterIuiv; - #define glSamplerParameterIuiv GLeeFuncPtr_glSamplerParameterIuiv -#endif -#ifndef GLEE_H_DEFINED_glGetSamplerParameteriv -#define GLEE_H_DEFINED_glGetSamplerParameteriv - typedef void (APIENTRYP GLEEPFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETSAMPLERPARAMETERIVPROC GLeeFuncPtr_glGetSamplerParameteriv; - #define glGetSamplerParameteriv GLeeFuncPtr_glGetSamplerParameteriv -#endif -#ifndef GLEE_H_DEFINED_glGetSamplerParameterIiv -#define GLEE_H_DEFINED_glGetSamplerParameterIiv - typedef void (APIENTRYP GLEEPFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETSAMPLERPARAMETERIIVPROC GLeeFuncPtr_glGetSamplerParameterIiv; - #define glGetSamplerParameterIiv GLeeFuncPtr_glGetSamplerParameterIiv -#endif -#ifndef GLEE_H_DEFINED_glGetSamplerParameterfv -#define GLEE_H_DEFINED_glGetSamplerParameterfv - typedef void (APIENTRYP GLEEPFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETSAMPLERPARAMETERFVPROC GLeeFuncPtr_glGetSamplerParameterfv; - #define glGetSamplerParameterfv GLeeFuncPtr_glGetSamplerParameterfv -#endif -#ifndef GLEE_H_DEFINED_glGetSamplerParameterIuiv -#define GLEE_H_DEFINED_glGetSamplerParameterIuiv - typedef void (APIENTRYP GLEEPFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETSAMPLERPARAMETERIUIVPROC GLeeFuncPtr_glGetSamplerParameterIuiv; - #define glGetSamplerParameterIuiv GLeeFuncPtr_glGetSamplerParameterIuiv -#endif -#endif - -/* GL_ARB_shader_bit_encoding */ - -#ifndef GL_ARB_shader_bit_encoding -#define GL_ARB_shader_bit_encoding 1 -#define __GLEE_GL_ARB_shader_bit_encoding 1 -/* Constants */ -#endif - -/* GL_ARB_texture_rgb10_a2ui */ - -#ifndef GL_ARB_texture_rgb10_a2ui -#define GL_ARB_texture_rgb10_a2ui 1 -#define __GLEE_GL_ARB_texture_rgb10_a2ui 1 -/* Constants */ -#define GL_RGB10_A2UI 0x906F -#endif - -/* GL_ARB_texture_swizzle */ - -#ifndef GL_ARB_texture_swizzle -#define GL_ARB_texture_swizzle 1 -#define __GLEE_GL_ARB_texture_swizzle 1 -/* Constants */ -#define GL_TEXTURE_SWIZZLE_R 0x8E42 -#define GL_TEXTURE_SWIZZLE_G 0x8E43 -#define GL_TEXTURE_SWIZZLE_B 0x8E44 -#define GL_TEXTURE_SWIZZLE_A 0x8E45 -#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 -#endif - -/* GL_ARB_timer_query */ - -#ifndef GL_ARB_timer_query -#define GL_ARB_timer_query 1 -#define __GLEE_GL_ARB_timer_query 1 -/* Constants */ -#define GL_TIME_ELAPSED 0x88BF -#define GL_TIMESTAMP 0x8E28 -#ifndef GLEE_H_DEFINED_glQueryCounter -#define GLEE_H_DEFINED_glQueryCounter - typedef void (APIENTRYP GLEEPFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); - GLEE_EXTERN GLEEPFNGLQUERYCOUNTERPROC GLeeFuncPtr_glQueryCounter; - #define glQueryCounter GLeeFuncPtr_glQueryCounter -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjecti64v -#define GLEE_H_DEFINED_glGetQueryObjecti64v - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTI64VPROC GLeeFuncPtr_glGetQueryObjecti64v; - #define glGetQueryObjecti64v GLeeFuncPtr_glGetQueryObjecti64v -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectui64v -#define GLEE_H_DEFINED_glGetQueryObjectui64v - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTUI64VPROC GLeeFuncPtr_glGetQueryObjectui64v; - #define glGetQueryObjectui64v GLeeFuncPtr_glGetQueryObjectui64v -#endif -#endif - -/* GL_ARB_vertex_type_2_10_10_10_rev */ - -#ifndef GL_ARB_vertex_type_2_10_10_10_rev -#define GL_ARB_vertex_type_2_10_10_10_rev 1 -#define __GLEE_GL_ARB_vertex_type_2_10_10_10_rev 1 -/* Constants */ -#define GL_INT_2_10_10_10_REV 0x8D9F -#ifndef GLEE_H_DEFINED_glVertexP2ui -#define GLEE_H_DEFINED_glVertexP2ui - typedef void (APIENTRYP GLEEPFNGLVERTEXP2UIPROC) (GLenum type, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXP2UIPROC GLeeFuncPtr_glVertexP2ui; - #define glVertexP2ui GLeeFuncPtr_glVertexP2ui -#endif -#ifndef GLEE_H_DEFINED_glVertexP2uiv -#define GLEE_H_DEFINED_glVertexP2uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXP2UIVPROC GLeeFuncPtr_glVertexP2uiv; - #define glVertexP2uiv GLeeFuncPtr_glVertexP2uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexP3ui -#define GLEE_H_DEFINED_glVertexP3ui - typedef void (APIENTRYP GLEEPFNGLVERTEXP3UIPROC) (GLenum type, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXP3UIPROC GLeeFuncPtr_glVertexP3ui; - #define glVertexP3ui GLeeFuncPtr_glVertexP3ui -#endif -#ifndef GLEE_H_DEFINED_glVertexP3uiv -#define GLEE_H_DEFINED_glVertexP3uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXP3UIVPROC GLeeFuncPtr_glVertexP3uiv; - #define glVertexP3uiv GLeeFuncPtr_glVertexP3uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexP4ui -#define GLEE_H_DEFINED_glVertexP4ui - typedef void (APIENTRYP GLEEPFNGLVERTEXP4UIPROC) (GLenum type, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXP4UIPROC GLeeFuncPtr_glVertexP4ui; - #define glVertexP4ui GLeeFuncPtr_glVertexP4ui -#endif -#ifndef GLEE_H_DEFINED_glVertexP4uiv -#define GLEE_H_DEFINED_glVertexP4uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXP4UIVPROC GLeeFuncPtr_glVertexP4uiv; - #define glVertexP4uiv GLeeFuncPtr_glVertexP4uiv -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP1ui -#define GLEE_H_DEFINED_glTexCoordP1ui - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP1UIPROC GLeeFuncPtr_glTexCoordP1ui; - #define glTexCoordP1ui GLeeFuncPtr_glTexCoordP1ui -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP1uiv -#define GLEE_H_DEFINED_glTexCoordP1uiv - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP1UIVPROC GLeeFuncPtr_glTexCoordP1uiv; - #define glTexCoordP1uiv GLeeFuncPtr_glTexCoordP1uiv -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP2ui -#define GLEE_H_DEFINED_glTexCoordP2ui - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP2UIPROC GLeeFuncPtr_glTexCoordP2ui; - #define glTexCoordP2ui GLeeFuncPtr_glTexCoordP2ui -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP2uiv -#define GLEE_H_DEFINED_glTexCoordP2uiv - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP2UIVPROC GLeeFuncPtr_glTexCoordP2uiv; - #define glTexCoordP2uiv GLeeFuncPtr_glTexCoordP2uiv -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP3ui -#define GLEE_H_DEFINED_glTexCoordP3ui - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP3UIPROC GLeeFuncPtr_glTexCoordP3ui; - #define glTexCoordP3ui GLeeFuncPtr_glTexCoordP3ui -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP3uiv -#define GLEE_H_DEFINED_glTexCoordP3uiv - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP3UIVPROC GLeeFuncPtr_glTexCoordP3uiv; - #define glTexCoordP3uiv GLeeFuncPtr_glTexCoordP3uiv -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP4ui -#define GLEE_H_DEFINED_glTexCoordP4ui - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP4UIPROC GLeeFuncPtr_glTexCoordP4ui; - #define glTexCoordP4ui GLeeFuncPtr_glTexCoordP4ui -#endif -#ifndef GLEE_H_DEFINED_glTexCoordP4uiv -#define GLEE_H_DEFINED_glTexCoordP4uiv - typedef void (APIENTRYP GLEEPFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORDP4UIVPROC GLeeFuncPtr_glTexCoordP4uiv; - #define glTexCoordP4uiv GLeeFuncPtr_glTexCoordP4uiv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP1ui -#define GLEE_H_DEFINED_glMultiTexCoordP1ui - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP1UIPROC GLeeFuncPtr_glMultiTexCoordP1ui; - #define glMultiTexCoordP1ui GLeeFuncPtr_glMultiTexCoordP1ui -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP1uiv -#define GLEE_H_DEFINED_glMultiTexCoordP1uiv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP1UIVPROC GLeeFuncPtr_glMultiTexCoordP1uiv; - #define glMultiTexCoordP1uiv GLeeFuncPtr_glMultiTexCoordP1uiv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP2ui -#define GLEE_H_DEFINED_glMultiTexCoordP2ui - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP2UIPROC GLeeFuncPtr_glMultiTexCoordP2ui; - #define glMultiTexCoordP2ui GLeeFuncPtr_glMultiTexCoordP2ui -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP2uiv -#define GLEE_H_DEFINED_glMultiTexCoordP2uiv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP2UIVPROC GLeeFuncPtr_glMultiTexCoordP2uiv; - #define glMultiTexCoordP2uiv GLeeFuncPtr_glMultiTexCoordP2uiv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP3ui -#define GLEE_H_DEFINED_glMultiTexCoordP3ui - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP3UIPROC GLeeFuncPtr_glMultiTexCoordP3ui; - #define glMultiTexCoordP3ui GLeeFuncPtr_glMultiTexCoordP3ui -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP3uiv -#define GLEE_H_DEFINED_glMultiTexCoordP3uiv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP3UIVPROC GLeeFuncPtr_glMultiTexCoordP3uiv; - #define glMultiTexCoordP3uiv GLeeFuncPtr_glMultiTexCoordP3uiv -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP4ui -#define GLEE_H_DEFINED_glMultiTexCoordP4ui - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP4UIPROC GLeeFuncPtr_glMultiTexCoordP4ui; - #define glMultiTexCoordP4ui GLeeFuncPtr_glMultiTexCoordP4ui -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordP4uiv -#define GLEE_H_DEFINED_glMultiTexCoordP4uiv - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDP4UIVPROC GLeeFuncPtr_glMultiTexCoordP4uiv; - #define glMultiTexCoordP4uiv GLeeFuncPtr_glMultiTexCoordP4uiv -#endif -#ifndef GLEE_H_DEFINED_glNormalP3ui -#define GLEE_H_DEFINED_glNormalP3ui - typedef void (APIENTRYP GLEEPFNGLNORMALP3UIPROC) (GLenum type, GLuint coords); - GLEE_EXTERN GLEEPFNGLNORMALP3UIPROC GLeeFuncPtr_glNormalP3ui; - #define glNormalP3ui GLeeFuncPtr_glNormalP3ui -#endif -#ifndef GLEE_H_DEFINED_glNormalP3uiv -#define GLEE_H_DEFINED_glNormalP3uiv - typedef void (APIENTRYP GLEEPFNGLNORMALP3UIVPROC) (GLenum type, const GLuint * coords); - GLEE_EXTERN GLEEPFNGLNORMALP3UIVPROC GLeeFuncPtr_glNormalP3uiv; - #define glNormalP3uiv GLeeFuncPtr_glNormalP3uiv -#endif -#ifndef GLEE_H_DEFINED_glColorP3ui -#define GLEE_H_DEFINED_glColorP3ui - typedef void (APIENTRYP GLEEPFNGLCOLORP3UIPROC) (GLenum type, GLuint color); - GLEE_EXTERN GLEEPFNGLCOLORP3UIPROC GLeeFuncPtr_glColorP3ui; - #define glColorP3ui GLeeFuncPtr_glColorP3ui -#endif -#ifndef GLEE_H_DEFINED_glColorP3uiv -#define GLEE_H_DEFINED_glColorP3uiv - typedef void (APIENTRYP GLEEPFNGLCOLORP3UIVPROC) (GLenum type, const GLuint * color); - GLEE_EXTERN GLEEPFNGLCOLORP3UIVPROC GLeeFuncPtr_glColorP3uiv; - #define glColorP3uiv GLeeFuncPtr_glColorP3uiv -#endif -#ifndef GLEE_H_DEFINED_glColorP4ui -#define GLEE_H_DEFINED_glColorP4ui - typedef void (APIENTRYP GLEEPFNGLCOLORP4UIPROC) (GLenum type, GLuint color); - GLEE_EXTERN GLEEPFNGLCOLORP4UIPROC GLeeFuncPtr_glColorP4ui; - #define glColorP4ui GLeeFuncPtr_glColorP4ui -#endif -#ifndef GLEE_H_DEFINED_glColorP4uiv -#define GLEE_H_DEFINED_glColorP4uiv - typedef void (APIENTRYP GLEEPFNGLCOLORP4UIVPROC) (GLenum type, const GLuint * color); - GLEE_EXTERN GLEEPFNGLCOLORP4UIVPROC GLeeFuncPtr_glColorP4uiv; - #define glColorP4uiv GLeeFuncPtr_glColorP4uiv -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorP3ui -#define GLEE_H_DEFINED_glSecondaryColorP3ui - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORP3UIPROC GLeeFuncPtr_glSecondaryColorP3ui; - #define glSecondaryColorP3ui GLeeFuncPtr_glSecondaryColorP3ui -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorP3uiv -#define GLEE_H_DEFINED_glSecondaryColorP3uiv - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint * color); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORP3UIVPROC GLeeFuncPtr_glSecondaryColorP3uiv; - #define glSecondaryColorP3uiv GLeeFuncPtr_glSecondaryColorP3uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP1ui -#define GLEE_H_DEFINED_glVertexAttribP1ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP1UIPROC GLeeFuncPtr_glVertexAttribP1ui; - #define glVertexAttribP1ui GLeeFuncPtr_glVertexAttribP1ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP1uiv -#define GLEE_H_DEFINED_glVertexAttribP1uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP1UIVPROC GLeeFuncPtr_glVertexAttribP1uiv; - #define glVertexAttribP1uiv GLeeFuncPtr_glVertexAttribP1uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP2ui -#define GLEE_H_DEFINED_glVertexAttribP2ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP2UIPROC GLeeFuncPtr_glVertexAttribP2ui; - #define glVertexAttribP2ui GLeeFuncPtr_glVertexAttribP2ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP2uiv -#define GLEE_H_DEFINED_glVertexAttribP2uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP2UIVPROC GLeeFuncPtr_glVertexAttribP2uiv; - #define glVertexAttribP2uiv GLeeFuncPtr_glVertexAttribP2uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP3ui -#define GLEE_H_DEFINED_glVertexAttribP3ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP3UIPROC GLeeFuncPtr_glVertexAttribP3ui; - #define glVertexAttribP3ui GLeeFuncPtr_glVertexAttribP3ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP3uiv -#define GLEE_H_DEFINED_glVertexAttribP3uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP3UIVPROC GLeeFuncPtr_glVertexAttribP3uiv; - #define glVertexAttribP3uiv GLeeFuncPtr_glVertexAttribP3uiv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP4ui -#define GLEE_H_DEFINED_glVertexAttribP4ui - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP4UIPROC GLeeFuncPtr_glVertexAttribP4ui; - #define glVertexAttribP4ui GLeeFuncPtr_glVertexAttribP4ui -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribP4uiv -#define GLEE_H_DEFINED_glVertexAttribP4uiv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBP4UIVPROC GLeeFuncPtr_glVertexAttribP4uiv; - #define glVertexAttribP4uiv GLeeFuncPtr_glVertexAttribP4uiv -#endif -#endif - -/* GL_ARB_draw_indirect */ - -#ifndef GL_ARB_draw_indirect -#define GL_ARB_draw_indirect 1 -#define __GLEE_GL_ARB_draw_indirect 1 -/* Constants */ -#define GL_DRAW_INDIRECT_BUFFER 0x8F3F -#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 -#ifndef GLEE_H_DEFINED_glDrawArraysIndirect -#define GLEE_H_DEFINED_glDrawArraysIndirect - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid * indirect); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSINDIRECTPROC GLeeFuncPtr_glDrawArraysIndirect; - #define glDrawArraysIndirect GLeeFuncPtr_glDrawArraysIndirect -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsIndirect -#define GLEE_H_DEFINED_glDrawElementsIndirect - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid * indirect); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINDIRECTPROC GLeeFuncPtr_glDrawElementsIndirect; - #define glDrawElementsIndirect GLeeFuncPtr_glDrawElementsIndirect -#endif -#endif - -/* GL_ARB_gpu_shader5 */ - -#ifndef GL_ARB_gpu_shader5 -#define GL_ARB_gpu_shader5 1 -#define __GLEE_GL_ARB_gpu_shader5 1 -/* Constants */ -#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F -#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A -#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B -#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C -#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D -#endif - -/* GL_ARB_gpu_shader_fp64 */ - -#ifndef GL_ARB_gpu_shader_fp64 -#define GL_ARB_gpu_shader_fp64 1 -#define __GLEE_GL_ARB_gpu_shader_fp64 1 -/* Constants */ -#define GL_DOUBLE_VEC2 0x8FFC -#define GL_DOUBLE_VEC3 0x8FFD -#define GL_DOUBLE_VEC4 0x8FFE -#define GL_DOUBLE_MAT2 0x8F46 -#define GL_DOUBLE_MAT3 0x8F47 -#define GL_DOUBLE_MAT4 0x8F48 -#define GL_DOUBLE_MAT2x3 0x8F49 -#define GL_DOUBLE_MAT2x4 0x8F4A -#define GL_DOUBLE_MAT3x2 0x8F4B -#define GL_DOUBLE_MAT3x4 0x8F4C -#define GL_DOUBLE_MAT4x2 0x8F4D -#define GL_DOUBLE_MAT4x3 0x8F4E -#ifndef GLEE_H_DEFINED_glUniform1d -#define GLEE_H_DEFINED_glUniform1d - typedef void (APIENTRYP GLEEPFNGLUNIFORM1DPROC) (GLint location, GLdouble x); - GLEE_EXTERN GLEEPFNGLUNIFORM1DPROC GLeeFuncPtr_glUniform1d; - #define glUniform1d GLeeFuncPtr_glUniform1d -#endif -#ifndef GLEE_H_DEFINED_glUniform2d -#define GLEE_H_DEFINED_glUniform2d - typedef void (APIENTRYP GLEEPFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLUNIFORM2DPROC GLeeFuncPtr_glUniform2d; - #define glUniform2d GLeeFuncPtr_glUniform2d -#endif -#ifndef GLEE_H_DEFINED_glUniform3d -#define GLEE_H_DEFINED_glUniform3d - typedef void (APIENTRYP GLEEPFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLUNIFORM3DPROC GLeeFuncPtr_glUniform3d; - #define glUniform3d GLeeFuncPtr_glUniform3d -#endif -#ifndef GLEE_H_DEFINED_glUniform4d -#define GLEE_H_DEFINED_glUniform4d - typedef void (APIENTRYP GLEEPFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLUNIFORM4DPROC GLeeFuncPtr_glUniform4d; - #define glUniform4d GLeeFuncPtr_glUniform4d -#endif -#ifndef GLEE_H_DEFINED_glUniform1dv -#define GLEE_H_DEFINED_glUniform1dv - typedef void (APIENTRYP GLEEPFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1DVPROC GLeeFuncPtr_glUniform1dv; - #define glUniform1dv GLeeFuncPtr_glUniform1dv -#endif -#ifndef GLEE_H_DEFINED_glUniform2dv -#define GLEE_H_DEFINED_glUniform2dv - typedef void (APIENTRYP GLEEPFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2DVPROC GLeeFuncPtr_glUniform2dv; - #define glUniform2dv GLeeFuncPtr_glUniform2dv -#endif -#ifndef GLEE_H_DEFINED_glUniform3dv -#define GLEE_H_DEFINED_glUniform3dv - typedef void (APIENTRYP GLEEPFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3DVPROC GLeeFuncPtr_glUniform3dv; - #define glUniform3dv GLeeFuncPtr_glUniform3dv -#endif -#ifndef GLEE_H_DEFINED_glUniform4dv -#define GLEE_H_DEFINED_glUniform4dv - typedef void (APIENTRYP GLEEPFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4DVPROC GLeeFuncPtr_glUniform4dv; - #define glUniform4dv GLeeFuncPtr_glUniform4dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2dv -#define GLEE_H_DEFINED_glUniformMatrix2dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2DVPROC GLeeFuncPtr_glUniformMatrix2dv; - #define glUniformMatrix2dv GLeeFuncPtr_glUniformMatrix2dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3dv -#define GLEE_H_DEFINED_glUniformMatrix3dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3DVPROC GLeeFuncPtr_glUniformMatrix3dv; - #define glUniformMatrix3dv GLeeFuncPtr_glUniformMatrix3dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4dv -#define GLEE_H_DEFINED_glUniformMatrix4dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4DVPROC GLeeFuncPtr_glUniformMatrix4dv; - #define glUniformMatrix4dv GLeeFuncPtr_glUniformMatrix4dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2x3dv -#define GLEE_H_DEFINED_glUniformMatrix2x3dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2X3DVPROC GLeeFuncPtr_glUniformMatrix2x3dv; - #define glUniformMatrix2x3dv GLeeFuncPtr_glUniformMatrix2x3dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix2x4dv -#define GLEE_H_DEFINED_glUniformMatrix2x4dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX2X4DVPROC GLeeFuncPtr_glUniformMatrix2x4dv; - #define glUniformMatrix2x4dv GLeeFuncPtr_glUniformMatrix2x4dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3x2dv -#define GLEE_H_DEFINED_glUniformMatrix3x2dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3X2DVPROC GLeeFuncPtr_glUniformMatrix3x2dv; - #define glUniformMatrix3x2dv GLeeFuncPtr_glUniformMatrix3x2dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix3x4dv -#define GLEE_H_DEFINED_glUniformMatrix3x4dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX3X4DVPROC GLeeFuncPtr_glUniformMatrix3x4dv; - #define glUniformMatrix3x4dv GLeeFuncPtr_glUniformMatrix3x4dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4x2dv -#define GLEE_H_DEFINED_glUniformMatrix4x2dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4X2DVPROC GLeeFuncPtr_glUniformMatrix4x2dv; - #define glUniformMatrix4x2dv GLeeFuncPtr_glUniformMatrix4x2dv -#endif -#ifndef GLEE_H_DEFINED_glUniformMatrix4x3dv -#define GLEE_H_DEFINED_glUniformMatrix4x3dv - typedef void (APIENTRYP GLEEPFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLUNIFORMMATRIX4X3DVPROC GLeeFuncPtr_glUniformMatrix4x3dv; - #define glUniformMatrix4x3dv GLeeFuncPtr_glUniformMatrix4x3dv -#endif -#ifndef GLEE_H_DEFINED_glGetUniformdv -#define GLEE_H_DEFINED_glGetUniformdv - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMDVPROC GLeeFuncPtr_glGetUniformdv; - #define glGetUniformdv GLeeFuncPtr_glGetUniformdv -#endif -#endif - -/* GL_ARB_shader_subroutine */ - -#ifndef GL_ARB_shader_subroutine -#define GL_ARB_shader_subroutine 1 -#define __GLEE_GL_ARB_shader_subroutine 1 -/* Constants */ -#define GL_ACTIVE_SUBROUTINES 0x8DE5 -#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 -#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 -#define GL_MAX_SUBROUTINES 0x8DE7 -#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 -#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A -#define GL_COMPATIBLE_SUBROUTINES 0x8E4B -#ifndef GLEE_H_DEFINED_glGetSubroutineUniformLocation -#define GLEE_H_DEFINED_glGetSubroutineUniformLocation - typedef GLint (APIENTRYP GLEEPFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GLeeFuncPtr_glGetSubroutineUniformLocation; - #define glGetSubroutineUniformLocation GLeeFuncPtr_glGetSubroutineUniformLocation -#endif -#ifndef GLEE_H_DEFINED_glGetSubroutineIndex -#define GLEE_H_DEFINED_glGetSubroutineIndex - typedef GLuint (APIENTRYP GLEEPFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETSUBROUTINEINDEXPROC GLeeFuncPtr_glGetSubroutineIndex; - #define glGetSubroutineIndex GLeeFuncPtr_glGetSubroutineIndex -#endif -#ifndef GLEE_H_DEFINED_glGetActiveSubroutineUniformiv -#define GLEE_H_DEFINED_glGetActiveSubroutineUniformiv - typedef void (APIENTRYP GLEEPFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values); - GLEE_EXTERN GLEEPFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GLeeFuncPtr_glGetActiveSubroutineUniformiv; - #define glGetActiveSubroutineUniformiv GLeeFuncPtr_glGetActiveSubroutineUniformiv -#endif -#ifndef GLEE_H_DEFINED_glGetActiveSubroutineUniformName -#define GLEE_H_DEFINED_glGetActiveSubroutineUniformName - typedef void (APIENTRYP GLEEPFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GLeeFuncPtr_glGetActiveSubroutineUniformName; - #define glGetActiveSubroutineUniformName GLeeFuncPtr_glGetActiveSubroutineUniformName -#endif -#ifndef GLEE_H_DEFINED_glGetActiveSubroutineName -#define GLEE_H_DEFINED_glGetActiveSubroutineName - typedef void (APIENTRYP GLEEPFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETACTIVESUBROUTINENAMEPROC GLeeFuncPtr_glGetActiveSubroutineName; - #define glGetActiveSubroutineName GLeeFuncPtr_glGetActiveSubroutineName -#endif -#ifndef GLEE_H_DEFINED_glUniformSubroutinesuiv -#define GLEE_H_DEFINED_glUniformSubroutinesuiv - typedef void (APIENTRYP GLEEPFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint * indices); - GLEE_EXTERN GLEEPFNGLUNIFORMSUBROUTINESUIVPROC GLeeFuncPtr_glUniformSubroutinesuiv; - #define glUniformSubroutinesuiv GLeeFuncPtr_glUniformSubroutinesuiv -#endif -#ifndef GLEE_H_DEFINED_glGetUniformSubroutineuiv -#define GLEE_H_DEFINED_glGetUniformSubroutineuiv - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMSUBROUTINEUIVPROC GLeeFuncPtr_glGetUniformSubroutineuiv; - #define glGetUniformSubroutineuiv GLeeFuncPtr_glGetUniformSubroutineuiv -#endif -#ifndef GLEE_H_DEFINED_glGetProgramStageiv -#define GLEE_H_DEFINED_glGetProgramStageiv - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint * values); - GLEE_EXTERN GLEEPFNGLGETPROGRAMSTAGEIVPROC GLeeFuncPtr_glGetProgramStageiv; - #define glGetProgramStageiv GLeeFuncPtr_glGetProgramStageiv -#endif -#endif - -/* GL_ARB_tessellation_shader */ - -#ifndef GL_ARB_tessellation_shader -#define GL_ARB_tessellation_shader 1 -#define __GLEE_GL_ARB_tessellation_shader 1 -/* Constants */ -#define GL_PATCHES 0x000E -#define GL_PATCH_VERTICES 0x8E72 -#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 -#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 -#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 -#define GL_TESS_GEN_MODE 0x8E76 -#define GL_TESS_GEN_SPACING 0x8E77 -#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 -#define GL_TESS_GEN_POINT_MODE 0x8E79 -#define GL_ISOLINES 0x8E7A -#define GL_FRACTIONAL_ODD 0x8E7B -#define GL_FRACTIONAL_EVEN 0x8E7C -#define GL_MAX_PATCH_VERTICES 0x8E7D -#define GL_MAX_TESS_GEN_LEVEL 0x8E7E -#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F -#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 -#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 -#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 -#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 -#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 -#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 -#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 -#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 -#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A -#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C -#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D -#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E -#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 -#define GL_TESS_EVALUATION_SHADER 0x8E87 -#define GL_TESS_CONTROL_SHADER 0x8E88 -#ifndef GLEE_H_DEFINED_glPatchParameteri -#define GLEE_H_DEFINED_glPatchParameteri - typedef void (APIENTRYP GLEEPFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); - GLEE_EXTERN GLEEPFNGLPATCHPARAMETERIPROC GLeeFuncPtr_glPatchParameteri; - #define glPatchParameteri GLeeFuncPtr_glPatchParameteri -#endif -#ifndef GLEE_H_DEFINED_glPatchParameterfv -#define GLEE_H_DEFINED_glPatchParameterfv - typedef void (APIENTRYP GLEEPFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat * values); - GLEE_EXTERN GLEEPFNGLPATCHPARAMETERFVPROC GLeeFuncPtr_glPatchParameterfv; - #define glPatchParameterfv GLeeFuncPtr_glPatchParameterfv -#endif -#endif - -/* GL_ARB_texture_buffer_object_rgb32 */ - -#ifndef GL_ARB_texture_buffer_object_rgb32 -#define GL_ARB_texture_buffer_object_rgb32 1 -#define __GLEE_GL_ARB_texture_buffer_object_rgb32 1 -/* Constants */ -#endif - -/* GL_ARB_transform_feedback2 */ - -#ifndef GL_ARB_transform_feedback2 -#define GL_ARB_transform_feedback2 1 -#define __GLEE_GL_ARB_transform_feedback2 1 -/* Constants */ -#define GL_TRANSFORM_FEEDBACK 0x8E22 -#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 -#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED GL_TRANSFORM_FEEDBACK_PAUSED -#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 -#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE GL_TRANSFORM_FEEDBACK_ACTIVE -#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 -#ifndef GLEE_H_DEFINED_glBindTransformFeedback -#define GLEE_H_DEFINED_glBindTransformFeedback - typedef void (APIENTRYP GLEEPFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); - GLEE_EXTERN GLEEPFNGLBINDTRANSFORMFEEDBACKPROC GLeeFuncPtr_glBindTransformFeedback; - #define glBindTransformFeedback GLeeFuncPtr_glBindTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glDeleteTransformFeedbacks -#define GLEE_H_DEFINED_glDeleteTransformFeedbacks - typedef void (APIENTRYP GLEEPFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint * ids); - GLEE_EXTERN GLEEPFNGLDELETETRANSFORMFEEDBACKSPROC GLeeFuncPtr_glDeleteTransformFeedbacks; - #define glDeleteTransformFeedbacks GLeeFuncPtr_glDeleteTransformFeedbacks -#endif -#ifndef GLEE_H_DEFINED_glGenTransformFeedbacks -#define GLEE_H_DEFINED_glGenTransformFeedbacks - typedef void (APIENTRYP GLEEPFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint * ids); - GLEE_EXTERN GLEEPFNGLGENTRANSFORMFEEDBACKSPROC GLeeFuncPtr_glGenTransformFeedbacks; - #define glGenTransformFeedbacks GLeeFuncPtr_glGenTransformFeedbacks -#endif -#ifndef GLEE_H_DEFINED_glIsTransformFeedback -#define GLEE_H_DEFINED_glIsTransformFeedback - typedef GLboolean (APIENTRYP GLEEPFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISTRANSFORMFEEDBACKPROC GLeeFuncPtr_glIsTransformFeedback; - #define glIsTransformFeedback GLeeFuncPtr_glIsTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glPauseTransformFeedback -#define GLEE_H_DEFINED_glPauseTransformFeedback - typedef void (APIENTRYP GLEEPFNGLPAUSETRANSFORMFEEDBACKPROC) (); - GLEE_EXTERN GLEEPFNGLPAUSETRANSFORMFEEDBACKPROC GLeeFuncPtr_glPauseTransformFeedback; - #define glPauseTransformFeedback GLeeFuncPtr_glPauseTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glResumeTransformFeedback -#define GLEE_H_DEFINED_glResumeTransformFeedback - typedef void (APIENTRYP GLEEPFNGLRESUMETRANSFORMFEEDBACKPROC) (); - GLEE_EXTERN GLEEPFNGLRESUMETRANSFORMFEEDBACKPROC GLeeFuncPtr_glResumeTransformFeedback; - #define glResumeTransformFeedback GLeeFuncPtr_glResumeTransformFeedback -#endif -#ifndef GLEE_H_DEFINED_glDrawTransformFeedback -#define GLEE_H_DEFINED_glDrawTransformFeedback - typedef void (APIENTRYP GLEEPFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); - GLEE_EXTERN GLEEPFNGLDRAWTRANSFORMFEEDBACKPROC GLeeFuncPtr_glDrawTransformFeedback; - #define glDrawTransformFeedback GLeeFuncPtr_glDrawTransformFeedback -#endif -#endif - -/* GL_ARB_transform_feedback3 */ - -#ifndef GL_ARB_transform_feedback3 -#define GL_ARB_transform_feedback3 1 -#define __GLEE_GL_ARB_transform_feedback3 1 -/* Constants */ -#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 -#define GL_MAX_VERTEX_STREAMS 0x8E71 -#ifndef GLEE_H_DEFINED_glDrawTransformFeedbackStream -#define GLEE_H_DEFINED_glDrawTransformFeedbackStream - typedef void (APIENTRYP GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); - GLEE_EXTERN GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC GLeeFuncPtr_glDrawTransformFeedbackStream; - #define glDrawTransformFeedbackStream GLeeFuncPtr_glDrawTransformFeedbackStream -#endif -#ifndef GLEE_H_DEFINED_glBeginQueryIndexed -#define GLEE_H_DEFINED_glBeginQueryIndexed - typedef void (APIENTRYP GLEEPFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); - GLEE_EXTERN GLEEPFNGLBEGINQUERYINDEXEDPROC GLeeFuncPtr_glBeginQueryIndexed; - #define glBeginQueryIndexed GLeeFuncPtr_glBeginQueryIndexed -#endif -#ifndef GLEE_H_DEFINED_glEndQueryIndexed -#define GLEE_H_DEFINED_glEndQueryIndexed - typedef void (APIENTRYP GLEEPFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLENDQUERYINDEXEDPROC GLeeFuncPtr_glEndQueryIndexed; - #define glEndQueryIndexed GLeeFuncPtr_glEndQueryIndexed -#endif -#ifndef GLEE_H_DEFINED_glGetQueryIndexediv -#define GLEE_H_DEFINED_glGetQueryIndexediv - typedef void (APIENTRYP GLEEPFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETQUERYINDEXEDIVPROC GLeeFuncPtr_glGetQueryIndexediv; - #define glGetQueryIndexediv GLeeFuncPtr_glGetQueryIndexediv -#endif -#endif - -/* GL_ARB_ES2_compatibility */ - -#ifndef GL_ARB_ES2_compatibility -#define GL_ARB_ES2_compatibility 1 -#define __GLEE_GL_ARB_ES2_compatibility 1 -/* Constants */ -#define GL_FIXED 0x140C -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B -#define GL_LOW_FLOAT 0x8DF0 -#define GL_MEDIUM_FLOAT 0x8DF1 -#define GL_HIGH_FLOAT 0x8DF2 -#define GL_LOW_INT 0x8DF3 -#define GL_MEDIUM_INT 0x8DF4 -#define GL_HIGH_INT 0x8DF5 -#define GL_SHADER_COMPILER 0x8DFA -#define GL_SHADER_BINARY_FORMATS 0x8DF8 -#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VARYING_VECTORS 0x8DFC -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_RGB565 0x8D62 -#ifndef GLEE_H_DEFINED_glReleaseShaderCompiler -#define GLEE_H_DEFINED_glReleaseShaderCompiler - typedef void (APIENTRYP GLEEPFNGLRELEASESHADERCOMPILERPROC) (); - GLEE_EXTERN GLEEPFNGLRELEASESHADERCOMPILERPROC GLeeFuncPtr_glReleaseShaderCompiler; - #define glReleaseShaderCompiler GLeeFuncPtr_glReleaseShaderCompiler -#endif -#ifndef GLEE_H_DEFINED_glShaderBinary -#define GLEE_H_DEFINED_glShaderBinary - typedef void (APIENTRYP GLEEPFNGLSHADERBINARYPROC) (GLsizei count, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); - GLEE_EXTERN GLEEPFNGLSHADERBINARYPROC GLeeFuncPtr_glShaderBinary; - #define glShaderBinary GLeeFuncPtr_glShaderBinary -#endif -#ifndef GLEE_H_DEFINED_glGetShaderPrecisionFormat -#define GLEE_H_DEFINED_glGetShaderPrecisionFormat - typedef void (APIENTRYP GLEEPFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); - GLEE_EXTERN GLEEPFNGLGETSHADERPRECISIONFORMATPROC GLeeFuncPtr_glGetShaderPrecisionFormat; - #define glGetShaderPrecisionFormat GLeeFuncPtr_glGetShaderPrecisionFormat -#endif -#ifndef GLEE_H_DEFINED_glDepthRangef -#define GLEE_H_DEFINED_glDepthRangef - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEFPROC GLeeFuncPtr_glDepthRangef; - #define glDepthRangef GLeeFuncPtr_glDepthRangef -#endif -#ifndef GLEE_H_DEFINED_glClearDepthf -#define GLEE_H_DEFINED_glClearDepthf - typedef void (APIENTRYP GLEEPFNGLCLEARDEPTHFPROC) (GLfloat d); - GLEE_EXTERN GLEEPFNGLCLEARDEPTHFPROC GLeeFuncPtr_glClearDepthf; - #define glClearDepthf GLeeFuncPtr_glClearDepthf -#endif -#endif - -/* GL_ARB_get_program_binary */ - -#ifndef GL_ARB_get_program_binary -#define GL_ARB_get_program_binary 1 -#define __GLEE_GL_ARB_get_program_binary 1 -/* Constants */ -#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 -#define GL_PROGRAM_BINARY_LENGTH 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE -#define GL_PROGRAM_BINARY_FORMATS 0x87FF -#ifndef GLEE_H_DEFINED_glGetProgramBinary -#define GLEE_H_DEFINED_glGetProgramBinary - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, GLvoid * binary); - GLEE_EXTERN GLEEPFNGLGETPROGRAMBINARYPROC GLeeFuncPtr_glGetProgramBinary; - #define glGetProgramBinary GLeeFuncPtr_glGetProgramBinary -#endif -#ifndef GLEE_H_DEFINED_glProgramBinary -#define GLEE_H_DEFINED_glProgramBinary - typedef void (APIENTRYP GLEEPFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid * binary, GLsizei length); - GLEE_EXTERN GLEEPFNGLPROGRAMBINARYPROC GLeeFuncPtr_glProgramBinary; - #define glProgramBinary GLeeFuncPtr_glProgramBinary -#endif -#ifndef GLEE_H_DEFINED_glProgramParameteri -#define GLEE_H_DEFINED_glProgramParameteri - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETERIPROC GLeeFuncPtr_glProgramParameteri; - #define glProgramParameteri GLeeFuncPtr_glProgramParameteri -#endif -#endif - -/* GL_ARB_separate_shader_objects */ - -#ifndef GL_ARB_separate_shader_objects -#define GL_ARB_separate_shader_objects 1 -#define __GLEE_GL_ARB_separate_shader_objects 1 -/* Constants */ -#define GL_VERTEX_SHADER_BIT 0x00000001 -#define GL_FRAGMENT_SHADER_BIT 0x00000002 -#define GL_GEOMETRY_SHADER_BIT 0x00000004 -#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 -#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 -#define GL_ALL_SHADER_BITS 0xFFFFFFFF -#define GL_PROGRAM_SEPARABLE 0x8258 -#define GL_ACTIVE_PROGRAM 0x8259 -#define GL_PROGRAM_PIPELINE_BINDING 0x825A -#ifndef GLEE_H_DEFINED_glUseProgramStages -#define GLEE_H_DEFINED_glUseProgramStages - typedef void (APIENTRYP GLEEPFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); - GLEE_EXTERN GLEEPFNGLUSEPROGRAMSTAGESPROC GLeeFuncPtr_glUseProgramStages; - #define glUseProgramStages GLeeFuncPtr_glUseProgramStages -#endif -#ifndef GLEE_H_DEFINED_glActiveShaderProgram -#define GLEE_H_DEFINED_glActiveShaderProgram - typedef void (APIENTRYP GLEEPFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); - GLEE_EXTERN GLEEPFNGLACTIVESHADERPROGRAMPROC GLeeFuncPtr_glActiveShaderProgram; - #define glActiveShaderProgram GLeeFuncPtr_glActiveShaderProgram -#endif -#ifndef GLEE_H_DEFINED_glCreateShaderProgramv -#define GLEE_H_DEFINED_glCreateShaderProgramv - typedef GLuint (APIENTRYP GLEEPFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* const * strings); - GLEE_EXTERN GLEEPFNGLCREATESHADERPROGRAMVPROC GLeeFuncPtr_glCreateShaderProgramv; - #define glCreateShaderProgramv GLeeFuncPtr_glCreateShaderProgramv -#endif -#ifndef GLEE_H_DEFINED_glBindProgramPipeline -#define GLEE_H_DEFINED_glBindProgramPipeline - typedef void (APIENTRYP GLEEPFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); - GLEE_EXTERN GLEEPFNGLBINDPROGRAMPIPELINEPROC GLeeFuncPtr_glBindProgramPipeline; - #define glBindProgramPipeline GLeeFuncPtr_glBindProgramPipeline -#endif -#ifndef GLEE_H_DEFINED_glDeleteProgramPipelines -#define GLEE_H_DEFINED_glDeleteProgramPipelines - typedef void (APIENTRYP GLEEPFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint * pipelines); - GLEE_EXTERN GLEEPFNGLDELETEPROGRAMPIPELINESPROC GLeeFuncPtr_glDeleteProgramPipelines; - #define glDeleteProgramPipelines GLeeFuncPtr_glDeleteProgramPipelines -#endif -#ifndef GLEE_H_DEFINED_glGenProgramPipelines -#define GLEE_H_DEFINED_glGenProgramPipelines - typedef void (APIENTRYP GLEEPFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint * pipelines); - GLEE_EXTERN GLEEPFNGLGENPROGRAMPIPELINESPROC GLeeFuncPtr_glGenProgramPipelines; - #define glGenProgramPipelines GLeeFuncPtr_glGenProgramPipelines -#endif -#ifndef GLEE_H_DEFINED_glIsProgramPipeline -#define GLEE_H_DEFINED_glIsProgramPipeline - typedef GLboolean (APIENTRYP GLEEPFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); - GLEE_EXTERN GLEEPFNGLISPROGRAMPIPELINEPROC GLeeFuncPtr_glIsProgramPipeline; - #define glIsProgramPipeline GLeeFuncPtr_glIsProgramPipeline -#endif -#ifndef GLEE_H_DEFINED_glGetProgramPipelineiv -#define GLEE_H_DEFINED_glGetProgramPipelineiv - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMPIPELINEIVPROC GLeeFuncPtr_glGetProgramPipelineiv; - #define glGetProgramPipelineiv GLeeFuncPtr_glGetProgramPipelineiv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1i -#define GLEE_H_DEFINED_glProgramUniform1i - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1IPROC GLeeFuncPtr_glProgramUniform1i; - #define glProgramUniform1i GLeeFuncPtr_glProgramUniform1i -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1iv -#define GLEE_H_DEFINED_glProgramUniform1iv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1IVPROC GLeeFuncPtr_glProgramUniform1iv; - #define glProgramUniform1iv GLeeFuncPtr_glProgramUniform1iv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1f -#define GLEE_H_DEFINED_glProgramUniform1f - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1FPROC GLeeFuncPtr_glProgramUniform1f; - #define glProgramUniform1f GLeeFuncPtr_glProgramUniform1f -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1fv -#define GLEE_H_DEFINED_glProgramUniform1fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1FVPROC GLeeFuncPtr_glProgramUniform1fv; - #define glProgramUniform1fv GLeeFuncPtr_glProgramUniform1fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1d -#define GLEE_H_DEFINED_glProgramUniform1d - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1DPROC GLeeFuncPtr_glProgramUniform1d; - #define glProgramUniform1d GLeeFuncPtr_glProgramUniform1d -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1dv -#define GLEE_H_DEFINED_glProgramUniform1dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1DVPROC GLeeFuncPtr_glProgramUniform1dv; - #define glProgramUniform1dv GLeeFuncPtr_glProgramUniform1dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1ui -#define GLEE_H_DEFINED_glProgramUniform1ui - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UIPROC GLeeFuncPtr_glProgramUniform1ui; - #define glProgramUniform1ui GLeeFuncPtr_glProgramUniform1ui -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1uiv -#define GLEE_H_DEFINED_glProgramUniform1uiv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UIVPROC GLeeFuncPtr_glProgramUniform1uiv; - #define glProgramUniform1uiv GLeeFuncPtr_glProgramUniform1uiv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2i -#define GLEE_H_DEFINED_glProgramUniform2i - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2IPROC GLeeFuncPtr_glProgramUniform2i; - #define glProgramUniform2i GLeeFuncPtr_glProgramUniform2i -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2iv -#define GLEE_H_DEFINED_glProgramUniform2iv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2IVPROC GLeeFuncPtr_glProgramUniform2iv; - #define glProgramUniform2iv GLeeFuncPtr_glProgramUniform2iv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2f -#define GLEE_H_DEFINED_glProgramUniform2f - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2FPROC GLeeFuncPtr_glProgramUniform2f; - #define glProgramUniform2f GLeeFuncPtr_glProgramUniform2f -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2fv -#define GLEE_H_DEFINED_glProgramUniform2fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2FVPROC GLeeFuncPtr_glProgramUniform2fv; - #define glProgramUniform2fv GLeeFuncPtr_glProgramUniform2fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2d -#define GLEE_H_DEFINED_glProgramUniform2d - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2DPROC GLeeFuncPtr_glProgramUniform2d; - #define glProgramUniform2d GLeeFuncPtr_glProgramUniform2d -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2dv -#define GLEE_H_DEFINED_glProgramUniform2dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2DVPROC GLeeFuncPtr_glProgramUniform2dv; - #define glProgramUniform2dv GLeeFuncPtr_glProgramUniform2dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2ui -#define GLEE_H_DEFINED_glProgramUniform2ui - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UIPROC GLeeFuncPtr_glProgramUniform2ui; - #define glProgramUniform2ui GLeeFuncPtr_glProgramUniform2ui -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2uiv -#define GLEE_H_DEFINED_glProgramUniform2uiv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UIVPROC GLeeFuncPtr_glProgramUniform2uiv; - #define glProgramUniform2uiv GLeeFuncPtr_glProgramUniform2uiv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3i -#define GLEE_H_DEFINED_glProgramUniform3i - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3IPROC GLeeFuncPtr_glProgramUniform3i; - #define glProgramUniform3i GLeeFuncPtr_glProgramUniform3i -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3iv -#define GLEE_H_DEFINED_glProgramUniform3iv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3IVPROC GLeeFuncPtr_glProgramUniform3iv; - #define glProgramUniform3iv GLeeFuncPtr_glProgramUniform3iv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3f -#define GLEE_H_DEFINED_glProgramUniform3f - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3FPROC GLeeFuncPtr_glProgramUniform3f; - #define glProgramUniform3f GLeeFuncPtr_glProgramUniform3f -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3fv -#define GLEE_H_DEFINED_glProgramUniform3fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3FVPROC GLeeFuncPtr_glProgramUniform3fv; - #define glProgramUniform3fv GLeeFuncPtr_glProgramUniform3fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3d -#define GLEE_H_DEFINED_glProgramUniform3d - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3DPROC GLeeFuncPtr_glProgramUniform3d; - #define glProgramUniform3d GLeeFuncPtr_glProgramUniform3d -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3dv -#define GLEE_H_DEFINED_glProgramUniform3dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3DVPROC GLeeFuncPtr_glProgramUniform3dv; - #define glProgramUniform3dv GLeeFuncPtr_glProgramUniform3dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3ui -#define GLEE_H_DEFINED_glProgramUniform3ui - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UIPROC GLeeFuncPtr_glProgramUniform3ui; - #define glProgramUniform3ui GLeeFuncPtr_glProgramUniform3ui -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3uiv -#define GLEE_H_DEFINED_glProgramUniform3uiv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UIVPROC GLeeFuncPtr_glProgramUniform3uiv; - #define glProgramUniform3uiv GLeeFuncPtr_glProgramUniform3uiv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4i -#define GLEE_H_DEFINED_glProgramUniform4i - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4IPROC GLeeFuncPtr_glProgramUniform4i; - #define glProgramUniform4i GLeeFuncPtr_glProgramUniform4i -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4iv -#define GLEE_H_DEFINED_glProgramUniform4iv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4IVPROC GLeeFuncPtr_glProgramUniform4iv; - #define glProgramUniform4iv GLeeFuncPtr_glProgramUniform4iv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4f -#define GLEE_H_DEFINED_glProgramUniform4f - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4FPROC GLeeFuncPtr_glProgramUniform4f; - #define glProgramUniform4f GLeeFuncPtr_glProgramUniform4f -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4fv -#define GLEE_H_DEFINED_glProgramUniform4fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4FVPROC GLeeFuncPtr_glProgramUniform4fv; - #define glProgramUniform4fv GLeeFuncPtr_glProgramUniform4fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4d -#define GLEE_H_DEFINED_glProgramUniform4d - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4DPROC GLeeFuncPtr_glProgramUniform4d; - #define glProgramUniform4d GLeeFuncPtr_glProgramUniform4d -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4dv -#define GLEE_H_DEFINED_glProgramUniform4dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4DVPROC GLeeFuncPtr_glProgramUniform4dv; - #define glProgramUniform4dv GLeeFuncPtr_glProgramUniform4dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4ui -#define GLEE_H_DEFINED_glProgramUniform4ui - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UIPROC GLeeFuncPtr_glProgramUniform4ui; - #define glProgramUniform4ui GLeeFuncPtr_glProgramUniform4ui -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4uiv -#define GLEE_H_DEFINED_glProgramUniform4uiv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UIVPROC GLeeFuncPtr_glProgramUniform4uiv; - #define glProgramUniform4uiv GLeeFuncPtr_glProgramUniform4uiv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2fv -#define GLEE_H_DEFINED_glProgramUniformMatrix2fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2FVPROC GLeeFuncPtr_glProgramUniformMatrix2fv; - #define glProgramUniformMatrix2fv GLeeFuncPtr_glProgramUniformMatrix2fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3fv -#define GLEE_H_DEFINED_glProgramUniformMatrix3fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3FVPROC GLeeFuncPtr_glProgramUniformMatrix3fv; - #define glProgramUniformMatrix3fv GLeeFuncPtr_glProgramUniformMatrix3fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4fv -#define GLEE_H_DEFINED_glProgramUniformMatrix4fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4FVPROC GLeeFuncPtr_glProgramUniformMatrix4fv; - #define glProgramUniformMatrix4fv GLeeFuncPtr_glProgramUniformMatrix4fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2dv -#define GLEE_H_DEFINED_glProgramUniformMatrix2dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2DVPROC GLeeFuncPtr_glProgramUniformMatrix2dv; - #define glProgramUniformMatrix2dv GLeeFuncPtr_glProgramUniformMatrix2dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3dv -#define GLEE_H_DEFINED_glProgramUniformMatrix3dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3DVPROC GLeeFuncPtr_glProgramUniformMatrix3dv; - #define glProgramUniformMatrix3dv GLeeFuncPtr_glProgramUniformMatrix3dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4dv -#define GLEE_H_DEFINED_glProgramUniformMatrix4dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4DVPROC GLeeFuncPtr_glProgramUniformMatrix4dv; - #define glProgramUniformMatrix4dv GLeeFuncPtr_glProgramUniformMatrix4dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x3fv -#define GLEE_H_DEFINED_glProgramUniformMatrix2x3fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVPROC GLeeFuncPtr_glProgramUniformMatrix2x3fv; - #define glProgramUniformMatrix2x3fv GLeeFuncPtr_glProgramUniformMatrix2x3fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x2fv -#define GLEE_H_DEFINED_glProgramUniformMatrix3x2fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVPROC GLeeFuncPtr_glProgramUniformMatrix3x2fv; - #define glProgramUniformMatrix3x2fv GLeeFuncPtr_glProgramUniformMatrix3x2fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x4fv -#define GLEE_H_DEFINED_glProgramUniformMatrix2x4fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVPROC GLeeFuncPtr_glProgramUniformMatrix2x4fv; - #define glProgramUniformMatrix2x4fv GLeeFuncPtr_glProgramUniformMatrix2x4fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x2fv -#define GLEE_H_DEFINED_glProgramUniformMatrix4x2fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVPROC GLeeFuncPtr_glProgramUniformMatrix4x2fv; - #define glProgramUniformMatrix4x2fv GLeeFuncPtr_glProgramUniformMatrix4x2fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x4fv -#define GLEE_H_DEFINED_glProgramUniformMatrix3x4fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVPROC GLeeFuncPtr_glProgramUniformMatrix3x4fv; - #define glProgramUniformMatrix3x4fv GLeeFuncPtr_glProgramUniformMatrix3x4fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x3fv -#define GLEE_H_DEFINED_glProgramUniformMatrix4x3fv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVPROC GLeeFuncPtr_glProgramUniformMatrix4x3fv; - #define glProgramUniformMatrix4x3fv GLeeFuncPtr_glProgramUniformMatrix4x3fv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x3dv -#define GLEE_H_DEFINED_glProgramUniformMatrix2x3dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVPROC GLeeFuncPtr_glProgramUniformMatrix2x3dv; - #define glProgramUniformMatrix2x3dv GLeeFuncPtr_glProgramUniformMatrix2x3dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x2dv -#define GLEE_H_DEFINED_glProgramUniformMatrix3x2dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVPROC GLeeFuncPtr_glProgramUniformMatrix3x2dv; - #define glProgramUniformMatrix3x2dv GLeeFuncPtr_glProgramUniformMatrix3x2dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x4dv -#define GLEE_H_DEFINED_glProgramUniformMatrix2x4dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVPROC GLeeFuncPtr_glProgramUniformMatrix2x4dv; - #define glProgramUniformMatrix2x4dv GLeeFuncPtr_glProgramUniformMatrix2x4dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x2dv -#define GLEE_H_DEFINED_glProgramUniformMatrix4x2dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVPROC GLeeFuncPtr_glProgramUniformMatrix4x2dv; - #define glProgramUniformMatrix4x2dv GLeeFuncPtr_glProgramUniformMatrix4x2dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x4dv -#define GLEE_H_DEFINED_glProgramUniformMatrix3x4dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVPROC GLeeFuncPtr_glProgramUniformMatrix3x4dv; - #define glProgramUniformMatrix3x4dv GLeeFuncPtr_glProgramUniformMatrix3x4dv -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x3dv -#define GLEE_H_DEFINED_glProgramUniformMatrix4x3dv - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVPROC GLeeFuncPtr_glProgramUniformMatrix4x3dv; - #define glProgramUniformMatrix4x3dv GLeeFuncPtr_glProgramUniformMatrix4x3dv -#endif -#ifndef GLEE_H_DEFINED_glValidateProgramPipeline -#define GLEE_H_DEFINED_glValidateProgramPipeline - typedef void (APIENTRYP GLEEPFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); - GLEE_EXTERN GLEEPFNGLVALIDATEPROGRAMPIPELINEPROC GLeeFuncPtr_glValidateProgramPipeline; - #define glValidateProgramPipeline GLeeFuncPtr_glValidateProgramPipeline -#endif -#ifndef GLEE_H_DEFINED_glGetProgramPipelineInfoLog -#define GLEE_H_DEFINED_glGetProgramPipelineInfoLog - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog); - GLEE_EXTERN GLEEPFNGLGETPROGRAMPIPELINEINFOLOGPROC GLeeFuncPtr_glGetProgramPipelineInfoLog; - #define glGetProgramPipelineInfoLog GLeeFuncPtr_glGetProgramPipelineInfoLog -#endif -#endif - -/* GL_ARB_shader_precision */ - -#ifndef GL_ARB_shader_precision -#define GL_ARB_shader_precision 1 -#define __GLEE_GL_ARB_shader_precision 1 -/* Constants */ -#endif - -/* GL_ARB_vertex_attrib_64bit */ - -#ifndef GL_ARB_vertex_attrib_64bit -#define GL_ARB_vertex_attrib_64bit 1 -#define __GLEE_GL_ARB_vertex_attrib_64bit 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glVertexAttribL1d -#define GLEE_H_DEFINED_glVertexAttribL1d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1DPROC GLeeFuncPtr_glVertexAttribL1d; - #define glVertexAttribL1d GLeeFuncPtr_glVertexAttribL1d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2d -#define GLEE_H_DEFINED_glVertexAttribL2d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2DPROC GLeeFuncPtr_glVertexAttribL2d; - #define glVertexAttribL2d GLeeFuncPtr_glVertexAttribL2d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3d -#define GLEE_H_DEFINED_glVertexAttribL3d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3DPROC GLeeFuncPtr_glVertexAttribL3d; - #define glVertexAttribL3d GLeeFuncPtr_glVertexAttribL3d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4d -#define GLEE_H_DEFINED_glVertexAttribL4d - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4DPROC GLeeFuncPtr_glVertexAttribL4d; - #define glVertexAttribL4d GLeeFuncPtr_glVertexAttribL4d -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL1dv -#define GLEE_H_DEFINED_glVertexAttribL1dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1DVPROC GLeeFuncPtr_glVertexAttribL1dv; - #define glVertexAttribL1dv GLeeFuncPtr_glVertexAttribL1dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2dv -#define GLEE_H_DEFINED_glVertexAttribL2dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2DVPROC GLeeFuncPtr_glVertexAttribL2dv; - #define glVertexAttribL2dv GLeeFuncPtr_glVertexAttribL2dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3dv -#define GLEE_H_DEFINED_glVertexAttribL3dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3DVPROC GLeeFuncPtr_glVertexAttribL3dv; - #define glVertexAttribL3dv GLeeFuncPtr_glVertexAttribL3dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4dv -#define GLEE_H_DEFINED_glVertexAttribL4dv - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4DVPROC GLeeFuncPtr_glVertexAttribL4dv; - #define glVertexAttribL4dv GLeeFuncPtr_glVertexAttribL4dv -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribLPointer -#define GLEE_H_DEFINED_glVertexAttribLPointer - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBLPOINTERPROC GLeeFuncPtr_glVertexAttribLPointer; - #define glVertexAttribLPointer GLeeFuncPtr_glVertexAttribLPointer -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribLdv -#define GLEE_H_DEFINED_glGetVertexAttribLdv - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBLDVPROC GLeeFuncPtr_glGetVertexAttribLdv; - #define glGetVertexAttribLdv GLeeFuncPtr_glGetVertexAttribLdv -#endif -#endif - -/* GL_ARB_viewport_array */ - -#ifndef GL_ARB_viewport_array -#define GL_ARB_viewport_array 1 -#define __GLEE_GL_ARB_viewport_array 1 -/* Constants */ -#define GL_MAX_VIEWPORTS 0x825B -#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C -#define GL_VIEWPORT_BOUNDS_RANGE 0x825D -#define GL_LAYER_PROVOKING_VERTEX 0x825E -#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F -#define GL_UNDEFINED_VERTEX 0x8260 -#ifndef GLEE_H_DEFINED_glViewportArrayv -#define GLEE_H_DEFINED_glViewportArrayv - typedef void (APIENTRYP GLEEPFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVIEWPORTARRAYVPROC GLeeFuncPtr_glViewportArrayv; - #define glViewportArrayv GLeeFuncPtr_glViewportArrayv -#endif -#ifndef GLEE_H_DEFINED_glViewportIndexedf -#define GLEE_H_DEFINED_glViewportIndexedf - typedef void (APIENTRYP GLEEPFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); - GLEE_EXTERN GLEEPFNGLVIEWPORTINDEXEDFPROC GLeeFuncPtr_glViewportIndexedf; - #define glViewportIndexedf GLeeFuncPtr_glViewportIndexedf -#endif -#ifndef GLEE_H_DEFINED_glViewportIndexedfv -#define GLEE_H_DEFINED_glViewportIndexedfv - typedef void (APIENTRYP GLEEPFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVIEWPORTINDEXEDFVPROC GLeeFuncPtr_glViewportIndexedfv; - #define glViewportIndexedfv GLeeFuncPtr_glViewportIndexedfv -#endif -#ifndef GLEE_H_DEFINED_glScissorArrayv -#define GLEE_H_DEFINED_glScissorArrayv - typedef void (APIENTRYP GLEEPFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint * v); - GLEE_EXTERN GLEEPFNGLSCISSORARRAYVPROC GLeeFuncPtr_glScissorArrayv; - #define glScissorArrayv GLeeFuncPtr_glScissorArrayv -#endif -#ifndef GLEE_H_DEFINED_glScissorIndexed -#define GLEE_H_DEFINED_glScissorIndexed - typedef void (APIENTRYP GLEEPFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLSCISSORINDEXEDPROC GLeeFuncPtr_glScissorIndexed; - #define glScissorIndexed GLeeFuncPtr_glScissorIndexed -#endif -#ifndef GLEE_H_DEFINED_glScissorIndexedv -#define GLEE_H_DEFINED_glScissorIndexedv - typedef void (APIENTRYP GLEEPFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint * v); - GLEE_EXTERN GLEEPFNGLSCISSORINDEXEDVPROC GLeeFuncPtr_glScissorIndexedv; - #define glScissorIndexedv GLeeFuncPtr_glScissorIndexedv -#endif -#ifndef GLEE_H_DEFINED_glDepthRangeArrayv -#define GLEE_H_DEFINED_glDepthRangeArrayv - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEARRAYVPROC GLeeFuncPtr_glDepthRangeArrayv; - #define glDepthRangeArrayv GLeeFuncPtr_glDepthRangeArrayv -#endif -#ifndef GLEE_H_DEFINED_glDepthRangeIndexed -#define GLEE_H_DEFINED_glDepthRangeIndexed - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLdouble n, GLdouble f); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEINDEXEDPROC GLeeFuncPtr_glDepthRangeIndexed; - #define glDepthRangeIndexed GLeeFuncPtr_glDepthRangeIndexed -#endif -#ifndef GLEE_H_DEFINED_glGetFloati_v -#define GLEE_H_DEFINED_glGetFloati_v - typedef void (APIENTRYP GLEEPFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat * data); - GLEE_EXTERN GLEEPFNGLGETFLOATI_VPROC GLeeFuncPtr_glGetFloati_v; - #define glGetFloati_v GLeeFuncPtr_glGetFloati_v -#endif -#ifndef GLEE_H_DEFINED_glGetDoublei_v -#define GLEE_H_DEFINED_glGetDoublei_v - typedef void (APIENTRYP GLEEPFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble * data); - GLEE_EXTERN GLEEPFNGLGETDOUBLEI_VPROC GLeeFuncPtr_glGetDoublei_v; - #define glGetDoublei_v GLeeFuncPtr_glGetDoublei_v -#endif -#endif - -/* GL_ARB_cl_event */ - -#ifndef GL_ARB_cl_event -#define GL_ARB_cl_event 1 -#define __GLEE_GL_ARB_cl_event 1 -/* Constants */ -#define GL_SYNC_CL_EVENT_ARB 0x8240 -#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 -#ifndef GLEE_H_DEFINED_glCreateSyncFromCLeventARB -#define GLEE_H_DEFINED_glCreateSyncFromCLeventARB - typedef GLsync (APIENTRYP GLEEPFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags); - GLEE_EXTERN GLEEPFNGLCREATESYNCFROMCLEVENTARBPROC GLeeFuncPtr_glCreateSyncFromCLeventARB; - #define glCreateSyncFromCLeventARB GLeeFuncPtr_glCreateSyncFromCLeventARB -#endif -#endif - -/* GL_ARB_debug_output */ - -#ifndef GL_ARB_debug_output -#define GL_ARB_debug_output 1 -#define __GLEE_GL_ARB_debug_output 1 -/* Constants */ -#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 -#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 -#define GL_DEBUG_SOURCE_API_ARB 0x8246 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 -#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 -#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A -#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B -#define GL_DEBUG_TYPE_ERROR_ARB 0x824C -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E -#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F -#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 -#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 -#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 -#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 -#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 -#ifndef GLEE_H_DEFINED_glDebugMessageControlARB -#define GLEE_H_DEFINED_glDebugMessageControlARB - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGECONTROLARBPROC GLeeFuncPtr_glDebugMessageControlARB; - #define glDebugMessageControlARB GLeeFuncPtr_glDebugMessageControlARB -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageInsertARB -#define GLEE_H_DEFINED_glDebugMessageInsertARB - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGEINSERTARBPROC GLeeFuncPtr_glDebugMessageInsertARB; - #define glDebugMessageInsertARB GLeeFuncPtr_glDebugMessageInsertARB -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageCallbackARB -#define GLEE_H_DEFINED_glDebugMessageCallbackARB - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid * userParam); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGECALLBACKARBPROC GLeeFuncPtr_glDebugMessageCallbackARB; - #define glDebugMessageCallbackARB GLeeFuncPtr_glDebugMessageCallbackARB -#endif -#ifndef GLEE_H_DEFINED_glGetDebugMessageLogARB -#define GLEE_H_DEFINED_glGetDebugMessageLogARB - typedef GLuint (APIENTRYP GLEEPFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog); - GLEE_EXTERN GLEEPFNGLGETDEBUGMESSAGELOGARBPROC GLeeFuncPtr_glGetDebugMessageLogARB; - #define glGetDebugMessageLogARB GLeeFuncPtr_glGetDebugMessageLogARB -#endif -#endif - -/* GL_ARB_robustness */ - -#ifndef GL_ARB_robustness -#define GL_ARB_robustness 1 -#define __GLEE_GL_ARB_robustness 1 -/* Constants */ -#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 -#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 -#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 -#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 -#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 -#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 -#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 -#ifndef GLEE_H_DEFINED_glGetGraphicsResetStatusARB -#define GLEE_H_DEFINED_glGetGraphicsResetStatusARB - typedef GLenum (APIENTRYP GLEEPFNGLGETGRAPHICSRESETSTATUSARBPROC) (); - GLEE_EXTERN GLEEPFNGLGETGRAPHICSRESETSTATUSARBPROC GLeeFuncPtr_glGetGraphicsResetStatusARB; - #define glGetGraphicsResetStatusARB GLeeFuncPtr_glGetGraphicsResetStatusARB -#endif -#ifndef GLEE_H_DEFINED_glGetnMapdvARB -#define GLEE_H_DEFINED_glGetnMapdvARB - typedef void (APIENTRYP GLEEPFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); - GLEE_EXTERN GLEEPFNGLGETNMAPDVARBPROC GLeeFuncPtr_glGetnMapdvARB; - #define glGetnMapdvARB GLeeFuncPtr_glGetnMapdvARB -#endif -#ifndef GLEE_H_DEFINED_glGetnMapfvARB -#define GLEE_H_DEFINED_glGetnMapfvARB - typedef void (APIENTRYP GLEEPFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); - GLEE_EXTERN GLEEPFNGLGETNMAPFVARBPROC GLeeFuncPtr_glGetnMapfvARB; - #define glGetnMapfvARB GLeeFuncPtr_glGetnMapfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetnMapivARB -#define GLEE_H_DEFINED_glGetnMapivARB - typedef void (APIENTRYP GLEEPFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint * v); - GLEE_EXTERN GLEEPFNGLGETNMAPIVARBPROC GLeeFuncPtr_glGetnMapivARB; - #define glGetnMapivARB GLeeFuncPtr_glGetnMapivARB -#endif -#ifndef GLEE_H_DEFINED_glGetnPixelMapfvARB -#define GLEE_H_DEFINED_glGetnPixelMapfvARB - typedef void (APIENTRYP GLEEPFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat * values); - GLEE_EXTERN GLEEPFNGLGETNPIXELMAPFVARBPROC GLeeFuncPtr_glGetnPixelMapfvARB; - #define glGetnPixelMapfvARB GLeeFuncPtr_glGetnPixelMapfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetnPixelMapuivARB -#define GLEE_H_DEFINED_glGetnPixelMapuivARB - typedef void (APIENTRYP GLEEPFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint * values); - GLEE_EXTERN GLEEPFNGLGETNPIXELMAPUIVARBPROC GLeeFuncPtr_glGetnPixelMapuivARB; - #define glGetnPixelMapuivARB GLeeFuncPtr_glGetnPixelMapuivARB -#endif -#ifndef GLEE_H_DEFINED_glGetnPixelMapusvARB -#define GLEE_H_DEFINED_glGetnPixelMapusvARB - typedef void (APIENTRYP GLEEPFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort * values); - GLEE_EXTERN GLEEPFNGLGETNPIXELMAPUSVARBPROC GLeeFuncPtr_glGetnPixelMapusvARB; - #define glGetnPixelMapusvARB GLeeFuncPtr_glGetnPixelMapusvARB -#endif -#ifndef GLEE_H_DEFINED_glGetnPolygonStippleARB -#define GLEE_H_DEFINED_glGetnPolygonStippleARB - typedef void (APIENTRYP GLEEPFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte * pattern); - GLEE_EXTERN GLEEPFNGLGETNPOLYGONSTIPPLEARBPROC GLeeFuncPtr_glGetnPolygonStippleARB; - #define glGetnPolygonStippleARB GLeeFuncPtr_glGetnPolygonStippleARB -#endif -#ifndef GLEE_H_DEFINED_glGetnColorTableARB -#define GLEE_H_DEFINED_glGetnColorTableARB - typedef void (APIENTRYP GLEEPFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); - GLEE_EXTERN GLEEPFNGLGETNCOLORTABLEARBPROC GLeeFuncPtr_glGetnColorTableARB; - #define glGetnColorTableARB GLeeFuncPtr_glGetnColorTableARB -#endif -#ifndef GLEE_H_DEFINED_glGetnConvolutionFilterARB -#define GLEE_H_DEFINED_glGetnConvolutionFilterARB - typedef void (APIENTRYP GLEEPFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); - GLEE_EXTERN GLEEPFNGLGETNCONVOLUTIONFILTERARBPROC GLeeFuncPtr_glGetnConvolutionFilterARB; - #define glGetnConvolutionFilterARB GLeeFuncPtr_glGetnConvolutionFilterARB -#endif -#ifndef GLEE_H_DEFINED_glGetnSeparableFilterARB -#define GLEE_H_DEFINED_glGetnSeparableFilterARB - typedef void (APIENTRYP GLEEPFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); - GLEE_EXTERN GLEEPFNGLGETNSEPARABLEFILTERARBPROC GLeeFuncPtr_glGetnSeparableFilterARB; - #define glGetnSeparableFilterARB GLeeFuncPtr_glGetnSeparableFilterARB -#endif -#ifndef GLEE_H_DEFINED_glGetnHistogramARB -#define GLEE_H_DEFINED_glGetnHistogramARB - typedef void (APIENTRYP GLEEPFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETNHISTOGRAMARBPROC GLeeFuncPtr_glGetnHistogramARB; - #define glGetnHistogramARB GLeeFuncPtr_glGetnHistogramARB -#endif -#ifndef GLEE_H_DEFINED_glGetnMinmaxARB -#define GLEE_H_DEFINED_glGetnMinmaxARB - typedef void (APIENTRYP GLEEPFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETNMINMAXARBPROC GLeeFuncPtr_glGetnMinmaxARB; - #define glGetnMinmaxARB GLeeFuncPtr_glGetnMinmaxARB -#endif -#ifndef GLEE_H_DEFINED_glGetnTexImageARB -#define GLEE_H_DEFINED_glGetnTexImageARB - typedef void (APIENTRYP GLEEPFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETNTEXIMAGEARBPROC GLeeFuncPtr_glGetnTexImageARB; - #define glGetnTexImageARB GLeeFuncPtr_glGetnTexImageARB -#endif -#ifndef GLEE_H_DEFINED_glReadnPixelsARB -#define GLEE_H_DEFINED_glReadnPixelsARB - typedef void (APIENTRYP GLEEPFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); - GLEE_EXTERN GLEEPFNGLREADNPIXELSARBPROC GLeeFuncPtr_glReadnPixelsARB; - #define glReadnPixelsARB GLeeFuncPtr_glReadnPixelsARB -#endif -#ifndef GLEE_H_DEFINED_glGetnCompressedTexImageARB -#define GLEE_H_DEFINED_glGetnCompressedTexImageARB - typedef void (APIENTRYP GLEEPFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETNCOMPRESSEDTEXIMAGEARBPROC GLeeFuncPtr_glGetnCompressedTexImageARB; - #define glGetnCompressedTexImageARB GLeeFuncPtr_glGetnCompressedTexImageARB -#endif -#ifndef GLEE_H_DEFINED_glGetnUniformfvARB -#define GLEE_H_DEFINED_glGetnUniformfvARB - typedef void (APIENTRYP GLEEPFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETNUNIFORMFVARBPROC GLeeFuncPtr_glGetnUniformfvARB; - #define glGetnUniformfvARB GLeeFuncPtr_glGetnUniformfvARB -#endif -#ifndef GLEE_H_DEFINED_glGetnUniformivARB -#define GLEE_H_DEFINED_glGetnUniformivARB - typedef void (APIENTRYP GLEEPFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNUNIFORMIVARBPROC GLeeFuncPtr_glGetnUniformivARB; - #define glGetnUniformivARB GLeeFuncPtr_glGetnUniformivARB -#endif -#ifndef GLEE_H_DEFINED_glGetnUniformuivARB -#define GLEE_H_DEFINED_glGetnUniformuivARB - typedef void (APIENTRYP GLEEPFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETNUNIFORMUIVARBPROC GLeeFuncPtr_glGetnUniformuivARB; - #define glGetnUniformuivARB GLeeFuncPtr_glGetnUniformuivARB -#endif -#ifndef GLEE_H_DEFINED_glGetnUniformdvARB -#define GLEE_H_DEFINED_glGetnUniformdvARB - typedef void (APIENTRYP GLEEPFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETNUNIFORMDVARBPROC GLeeFuncPtr_glGetnUniformdvARB; - #define glGetnUniformdvARB GLeeFuncPtr_glGetnUniformdvARB -#endif -#endif - -/* GL_ARB_shader_stencil_export */ - -#ifndef GL_ARB_shader_stencil_export -#define GL_ARB_shader_stencil_export 1 -#define __GLEE_GL_ARB_shader_stencil_export 1 -/* Constants */ -#endif - -/* GL_ARB_base_instance */ - -#ifndef GL_ARB_base_instance -#define GL_ARB_base_instance 1 -#define __GLEE_GL_ARB_base_instance 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawArraysInstancedBaseInstance -#define GLEE_H_DEFINED_glDrawArraysInstancedBaseInstance - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC GLeeFuncPtr_glDrawArraysInstancedBaseInstance; - #define glDrawArraysInstancedBaseInstance GLeeFuncPtr_glDrawArraysInstancedBaseInstance -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstancedBaseInstance -#define GLEE_H_DEFINED_glDrawElementsInstancedBaseInstance - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC GLeeFuncPtr_glDrawElementsInstancedBaseInstance; - #define glDrawElementsInstancedBaseInstance GLeeFuncPtr_glDrawElementsInstancedBaseInstance -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstancedBaseVertexBaseInstance -#define GLEE_H_DEFINED_glDrawElementsInstancedBaseVertexBaseInstance - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC GLeeFuncPtr_glDrawElementsInstancedBaseVertexBaseInstance; - #define glDrawElementsInstancedBaseVertexBaseInstance GLeeFuncPtr_glDrawElementsInstancedBaseVertexBaseInstance -#endif -#endif - -/* GL_ARB_shading_language_420pack */ - -#ifndef GL_ARB_shading_language_420pack -#define GL_ARB_shading_language_420pack 1 -#define __GLEE_GL_ARB_shading_language_420pack 1 -/* Constants */ -#endif - -/* GL_ARB_transform_feedback_instanced */ - -#ifndef GL_ARB_transform_feedback_instanced -#define GL_ARB_transform_feedback_instanced 1 -#define __GLEE_GL_ARB_transform_feedback_instanced 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawTransformFeedbackInstanced -#define GLEE_H_DEFINED_glDrawTransformFeedbackInstanced - typedef void (APIENTRYP GLEEPFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei instancecount); - GLEE_EXTERN GLEEPFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC GLeeFuncPtr_glDrawTransformFeedbackInstanced; - #define glDrawTransformFeedbackInstanced GLeeFuncPtr_glDrawTransformFeedbackInstanced -#endif -#ifndef GLEE_H_DEFINED_glDrawTransformFeedbackStreamInstanced -#define GLEE_H_DEFINED_glDrawTransformFeedbackStreamInstanced - typedef void (APIENTRYP GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); - GLEE_EXTERN GLEEPFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC GLeeFuncPtr_glDrawTransformFeedbackStreamInstanced; - #define glDrawTransformFeedbackStreamInstanced GLeeFuncPtr_glDrawTransformFeedbackStreamInstanced -#endif -#endif - -/* GL_ARB_compressed_texture_pixel_storage */ - -#ifndef GL_ARB_compressed_texture_pixel_storage -#define GL_ARB_compressed_texture_pixel_storage 1 -#define __GLEE_GL_ARB_compressed_texture_pixel_storage 1 -/* Constants */ -#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 -#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 -#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 -#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A -#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B -#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C -#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D -#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E -#endif - -/* GL_ARB_conservative_depth */ - -#ifndef GL_ARB_conservative_depth -#define GL_ARB_conservative_depth 1 -#define __GLEE_GL_ARB_conservative_depth 1 -/* Constants */ -#endif - -/* GL_ARB_internalformat_query */ - -#ifndef GL_ARB_internalformat_query -#define GL_ARB_internalformat_query 1 -#define __GLEE_GL_ARB_internalformat_query 1 -/* Constants */ -#define GL_NUM_SAMPLE_COUNTS 0x9380 -#ifndef GLEE_H_DEFINED_glGetInternalformativ -#define GLEE_H_DEFINED_glGetInternalformativ - typedef void (APIENTRYP GLEEPFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params); - GLEE_EXTERN GLEEPFNGLGETINTERNALFORMATIVPROC GLeeFuncPtr_glGetInternalformativ; - #define glGetInternalformativ GLeeFuncPtr_glGetInternalformativ -#endif -#endif - -/* GL_ARB_map_buffer_alignment */ - -#ifndef GL_ARB_map_buffer_alignment -#define GL_ARB_map_buffer_alignment 1 -#define __GLEE_GL_ARB_map_buffer_alignment 1 -/* Constants */ -#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC -#endif - -/* GL_ARB_shader_atomic_counters */ - -#ifndef GL_ARB_shader_atomic_counters -#define GL_ARB_shader_atomic_counters 1 -#define __GLEE_GL_ARB_shader_atomic_counters 1 -/* Constants */ -#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 -#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 -#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 -#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 -#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB -#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE -#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF -#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 -#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 -#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 -#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 -#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 -#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 -#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC -#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 -#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA -#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB -#ifndef GLEE_H_DEFINED_glGetActiveAtomicCounterBufferiv -#define GLEE_H_DEFINED_glGetActiveAtomicCounterBufferiv - typedef void (APIENTRYP GLEEPFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC GLeeFuncPtr_glGetActiveAtomicCounterBufferiv; - #define glGetActiveAtomicCounterBufferiv GLeeFuncPtr_glGetActiveAtomicCounterBufferiv -#endif -#endif - -/* GL_ARB_shader_image_load_store */ - -#ifndef GL_ARB_shader_image_load_store -#define GL_ARB_shader_image_load_store 1 -#define __GLEE_GL_ARB_shader_image_load_store 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 -#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 -#define GL_UNIFORM_BARRIER_BIT 0x00000004 -#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 -#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 -#define GL_COMMAND_BARRIER_BIT 0x00000040 -#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 -#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 -#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 -#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 -#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 -#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 -#define GL_ALL_BARRIER_BITS 0xFFFFFFFF -#define GL_MAX_IMAGE_UNITS 0x8F38 -#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 -#define GL_IMAGE_BINDING_NAME 0x8F3A -#define GL_IMAGE_BINDING_LEVEL 0x8F3B -#define GL_IMAGE_BINDING_LAYERED 0x8F3C -#define GL_IMAGE_BINDING_LAYER 0x8F3D -#define GL_IMAGE_BINDING_ACCESS 0x8F3E -#define GL_IMAGE_1D 0x904C -#define GL_IMAGE_2D 0x904D -#define GL_IMAGE_3D 0x904E -#define GL_IMAGE_2D_RECT 0x904F -#define GL_IMAGE_CUBE 0x9050 -#define GL_IMAGE_BUFFER 0x9051 -#define GL_IMAGE_1D_ARRAY 0x9052 -#define GL_IMAGE_2D_ARRAY 0x9053 -#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 -#define GL_IMAGE_2D_MULTISAMPLE 0x9055 -#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 -#define GL_INT_IMAGE_1D 0x9057 -#define GL_INT_IMAGE_2D 0x9058 -#define GL_INT_IMAGE_3D 0x9059 -#define GL_INT_IMAGE_2D_RECT 0x905A -#define GL_INT_IMAGE_CUBE 0x905B -#define GL_INT_IMAGE_BUFFER 0x905C -#define GL_INT_IMAGE_1D_ARRAY 0x905D -#define GL_INT_IMAGE_2D_ARRAY 0x905E -#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F -#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 -#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 -#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 -#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 -#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 -#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 -#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 -#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 -#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 -#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 -#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C -#define GL_MAX_IMAGE_SAMPLES 0x906D -#define GL_IMAGE_BINDING_FORMAT 0x906E -#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 -#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA -#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB -#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC -#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD -#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE -#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF -#ifndef GLEE_H_DEFINED_glBindImageTexture -#define GLEE_H_DEFINED_glBindImageTexture - typedef void (APIENTRYP GLEEPFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); - GLEE_EXTERN GLEEPFNGLBINDIMAGETEXTUREPROC GLeeFuncPtr_glBindImageTexture; - #define glBindImageTexture GLeeFuncPtr_glBindImageTexture -#endif -#ifndef GLEE_H_DEFINED_glMemoryBarrier -#define GLEE_H_DEFINED_glMemoryBarrier - typedef void (APIENTRYP GLEEPFNGLMEMORYBARRIERPROC) (GLbitfield barriers); - GLEE_EXTERN GLEEPFNGLMEMORYBARRIERPROC GLeeFuncPtr_glMemoryBarrier; - #define glMemoryBarrier GLeeFuncPtr_glMemoryBarrier -#endif -#endif - -/* GL_ARB_shading_language_packing */ - -#ifndef GL_ARB_shading_language_packing -#define GL_ARB_shading_language_packing 1 -#define __GLEE_GL_ARB_shading_language_packing 1 -/* Constants */ -#endif - -/* GL_ARB_texture_storage */ - -#ifndef GL_ARB_texture_storage -#define GL_ARB_texture_storage 1 -#define __GLEE_GL_ARB_texture_storage 1 -/* Constants */ -#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F -#ifndef GLEE_H_DEFINED_glTexStorage1D -#define GLEE_H_DEFINED_glTexStorage1D - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); - GLEE_EXTERN GLEEPFNGLTEXSTORAGE1DPROC GLeeFuncPtr_glTexStorage1D; - #define glTexStorage1D GLeeFuncPtr_glTexStorage1D -#endif -#ifndef GLEE_H_DEFINED_glTexStorage2D -#define GLEE_H_DEFINED_glTexStorage2D - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLTEXSTORAGE2DPROC GLeeFuncPtr_glTexStorage2D; - #define glTexStorage2D GLeeFuncPtr_glTexStorage2D -#endif -#ifndef GLEE_H_DEFINED_glTexStorage3D -#define GLEE_H_DEFINED_glTexStorage3D - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNGLTEXSTORAGE3DPROC GLeeFuncPtr_glTexStorage3D; - #define glTexStorage3D GLeeFuncPtr_glTexStorage3D -#endif -#ifndef GLEE_H_DEFINED_glTextureStorage1DEXT -#define GLEE_H_DEFINED_glTextureStorage1DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGE1DEXTPROC GLeeFuncPtr_glTextureStorage1DEXT; - #define glTextureStorage1DEXT GLeeFuncPtr_glTextureStorage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureStorage2DEXT -#define GLEE_H_DEFINED_glTextureStorage2DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGE2DEXTPROC GLeeFuncPtr_glTextureStorage2DEXT; - #define glTextureStorage2DEXT GLeeFuncPtr_glTextureStorage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureStorage3DEXT -#define GLEE_H_DEFINED_glTextureStorage3DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGE3DEXTPROC GLeeFuncPtr_glTextureStorage3DEXT; - #define glTextureStorage3DEXT GLeeFuncPtr_glTextureStorage3DEXT -#endif -#endif - -/* GL_KHR_texture_compression_astc_ldr */ - -#ifndef GL_KHR_texture_compression_astc_ldr -#define GL_KHR_texture_compression_astc_ldr 1 -#define __GLEE_GL_KHR_texture_compression_astc_ldr 1 -/* Constants */ -#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 -#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 -#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 -#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 -#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 -#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 -#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 -#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 -#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 -#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 -#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA -#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB -#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC -#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD -#endif - -/* GL_KHR_debug */ - -#ifndef GL_KHR_debug -#define GL_KHR_debug 1 -#define __GLEE_GL_KHR_debug 1 -/* Constants */ -#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 -#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 -#define GL_DEBUG_SOURCE_API 0x8246 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 -#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 -#define GL_DEBUG_SOURCE_APPLICATION 0x824A -#define GL_DEBUG_SOURCE_OTHER 0x824B -#define GL_DEBUG_TYPE_ERROR 0x824C -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E -#define GL_DEBUG_TYPE_PORTABILITY 0x824F -#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 -#define GL_DEBUG_TYPE_OTHER 0x8251 -#define GL_DEBUG_TYPE_MARKER 0x8268 -#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 -#define GL_DEBUG_TYPE_POP_GROUP 0x826A -#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C -#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D -#define GL_BUFFER 0x82E0 -#define GL_SHADER 0x82E1 -#define GL_PROGRAM 0x82E2 -#define GL_QUERY 0x82E3 -#define GL_PROGRAM_PIPELINE 0x82E4 -#define GL_SAMPLER 0x82E6 -#define GL_DISPLAY_LIST 0x82E7 -#define GL_MAX_LABEL_LENGTH 0x82E8 -#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES 0x9145 -#define GL_DEBUG_SEVERITY_HIGH 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 -#define GL_DEBUG_SEVERITY_LOW 0x9148 -#define GL_DEBUG_OUTPUT 0x92E0 -#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 -#ifndef GLEE_H_DEFINED_glDebugMessageControl -#define GLEE_H_DEFINED_glDebugMessageControl - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGECONTROLPROC GLeeFuncPtr_glDebugMessageControl; - #define glDebugMessageControl GLeeFuncPtr_glDebugMessageControl -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageInsert -#define GLEE_H_DEFINED_glDebugMessageInsert - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGEINSERTPROC GLeeFuncPtr_glDebugMessageInsert; - #define glDebugMessageInsert GLeeFuncPtr_glDebugMessageInsert -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageCallback -#define GLEE_H_DEFINED_glDebugMessageCallback - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void * userParam); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGECALLBACKPROC GLeeFuncPtr_glDebugMessageCallback; - #define glDebugMessageCallback GLeeFuncPtr_glDebugMessageCallback -#endif -#ifndef GLEE_H_DEFINED_glGetDebugMessageLog -#define GLEE_H_DEFINED_glGetDebugMessageLog - typedef GLuint (APIENTRYP GLEEPFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog); - GLEE_EXTERN GLEEPFNGLGETDEBUGMESSAGELOGPROC GLeeFuncPtr_glGetDebugMessageLog; - #define glGetDebugMessageLog GLeeFuncPtr_glGetDebugMessageLog -#endif -#ifndef GLEE_H_DEFINED_glPushDebugGroup -#define GLEE_H_DEFINED_glPushDebugGroup - typedef void (APIENTRYP GLEEPFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar * message); - GLEE_EXTERN GLEEPFNGLPUSHDEBUGGROUPPROC GLeeFuncPtr_glPushDebugGroup; - #define glPushDebugGroup GLeeFuncPtr_glPushDebugGroup -#endif -#ifndef GLEE_H_DEFINED_glPopDebugGroup -#define GLEE_H_DEFINED_glPopDebugGroup - typedef void (APIENTRYP GLEEPFNGLPOPDEBUGGROUPPROC) (); - GLEE_EXTERN GLEEPFNGLPOPDEBUGGROUPPROC GLeeFuncPtr_glPopDebugGroup; - #define glPopDebugGroup GLeeFuncPtr_glPopDebugGroup -#endif -#ifndef GLEE_H_DEFINED_glObjectLabel -#define GLEE_H_DEFINED_glObjectLabel - typedef void (APIENTRYP GLEEPFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar * label); - GLEE_EXTERN GLEEPFNGLOBJECTLABELPROC GLeeFuncPtr_glObjectLabel; - #define glObjectLabel GLeeFuncPtr_glObjectLabel -#endif -#ifndef GLEE_H_DEFINED_glGetObjectLabel -#define GLEE_H_DEFINED_glGetObjectLabel - typedef void (APIENTRYP GLEEPFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label); - GLEE_EXTERN GLEEPFNGLGETOBJECTLABELPROC GLeeFuncPtr_glGetObjectLabel; - #define glGetObjectLabel GLeeFuncPtr_glGetObjectLabel -#endif -#ifndef GLEE_H_DEFINED_glObjectPtrLabel -#define GLEE_H_DEFINED_glObjectPtrLabel - typedef void (APIENTRYP GLEEPFNGLOBJECTPTRLABELPROC) (const void * ptr, GLsizei length, const GLchar * label); - GLEE_EXTERN GLEEPFNGLOBJECTPTRLABELPROC GLeeFuncPtr_glObjectPtrLabel; - #define glObjectPtrLabel GLeeFuncPtr_glObjectPtrLabel -#endif -#ifndef GLEE_H_DEFINED_glGetObjectPtrLabel -#define GLEE_H_DEFINED_glGetObjectPtrLabel - typedef void (APIENTRYP GLEEPFNGLGETOBJECTPTRLABELPROC) (const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label); - GLEE_EXTERN GLEEPFNGLGETOBJECTPTRLABELPROC GLeeFuncPtr_glGetObjectPtrLabel; - #define glGetObjectPtrLabel GLeeFuncPtr_glGetObjectPtrLabel -#endif -#endif - -/* GL_ARB_arrays_of_arrays */ - -#ifndef GL_ARB_arrays_of_arrays -#define GL_ARB_arrays_of_arrays 1 -#define __GLEE_GL_ARB_arrays_of_arrays 1 -/* Constants */ -#endif - -/* GL_ARB_clear_buffer_object */ - -#ifndef GL_ARB_clear_buffer_object -#define GL_ARB_clear_buffer_object 1 -#define __GLEE_GL_ARB_clear_buffer_object 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glClearBufferData -#define GLEE_H_DEFINED_glClearBufferData - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERDATAPROC GLeeFuncPtr_glClearBufferData; - #define glClearBufferData GLeeFuncPtr_glClearBufferData -#endif -#ifndef GLEE_H_DEFINED_glClearBufferSubData -#define GLEE_H_DEFINED_glClearBufferSubData - typedef void (APIENTRYP GLEEPFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data); - GLEE_EXTERN GLEEPFNGLCLEARBUFFERSUBDATAPROC GLeeFuncPtr_glClearBufferSubData; - #define glClearBufferSubData GLeeFuncPtr_glClearBufferSubData -#endif -#ifndef GLEE_H_DEFINED_glClearNamedBufferDataEXT -#define GLEE_H_DEFINED_glClearNamedBufferDataEXT - typedef void (APIENTRYP GLEEPFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data); - GLEE_EXTERN GLEEPFNGLCLEARNAMEDBUFFERDATAEXTPROC GLeeFuncPtr_glClearNamedBufferDataEXT; - #define glClearNamedBufferDataEXT GLeeFuncPtr_glClearNamedBufferDataEXT -#endif -#ifndef GLEE_H_DEFINED_glClearNamedBufferSubDataEXT -#define GLEE_H_DEFINED_glClearNamedBufferSubDataEXT - typedef void (APIENTRYP GLEEPFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void * data); - GLEE_EXTERN GLEEPFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glClearNamedBufferSubDataEXT; - #define glClearNamedBufferSubDataEXT GLeeFuncPtr_glClearNamedBufferSubDataEXT -#endif -#endif - -/* GL_ARB_compute_shader */ - -#ifndef GL_ARB_compute_shader -#define GL_ARB_compute_shader 1 -#define __GLEE_GL_ARB_compute_shader 1 -/* Constants */ -#define GL_COMPUTE_SHADER 0x91B9 -#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB -#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC -#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD -#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 -#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 -#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 -#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 -#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 -#define GL_MAX_COMPUTE_LOCAL_INVOCATIONS 0x90EB -#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE -#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF -#define GL_COMPUTE_LOCAL_WORK_SIZE 0x8267 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED -#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE -#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF -#define GL_COMPUTE_SHADER_BIT 0x00000020 -#ifndef GLEE_H_DEFINED_glDispatchCompute -#define GLEE_H_DEFINED_glDispatchCompute - typedef void (APIENTRYP GLEEPFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); - GLEE_EXTERN GLEEPFNGLDISPATCHCOMPUTEPROC GLeeFuncPtr_glDispatchCompute; - #define glDispatchCompute GLeeFuncPtr_glDispatchCompute -#endif -#ifndef GLEE_H_DEFINED_glDispatchComputeIndirect -#define GLEE_H_DEFINED_glDispatchComputeIndirect - typedef void (APIENTRYP GLEEPFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); - GLEE_EXTERN GLEEPFNGLDISPATCHCOMPUTEINDIRECTPROC GLeeFuncPtr_glDispatchComputeIndirect; - #define glDispatchComputeIndirect GLeeFuncPtr_glDispatchComputeIndirect -#endif -#endif - -/* GL_ARB_copy_image */ - -#ifndef GL_ARB_copy_image -#define GL_ARB_copy_image 1 -#define __GLEE_GL_ARB_copy_image 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glCopyImageSubData -#define GLEE_H_DEFINED_glCopyImageSubData - typedef void (APIENTRYP GLEEPFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); - GLEE_EXTERN GLEEPFNGLCOPYIMAGESUBDATAPROC GLeeFuncPtr_glCopyImageSubData; - #define glCopyImageSubData GLeeFuncPtr_glCopyImageSubData -#endif -#endif - -/* GL_ARB_texture_view */ - -#ifndef GL_ARB_texture_view -#define GL_ARB_texture_view 1 -#define __GLEE_GL_ARB_texture_view 1 -/* Constants */ -#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB -#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC -#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD -#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE -#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF -#ifndef GLEE_H_DEFINED_glTextureView -#define GLEE_H_DEFINED_glTextureView - typedef void (APIENTRYP GLEEPFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); - GLEE_EXTERN GLEEPFNGLTEXTUREVIEWPROC GLeeFuncPtr_glTextureView; - #define glTextureView GLeeFuncPtr_glTextureView -#endif -#endif - -/* GL_ARB_vertex_attrib_binding */ - -#ifndef GL_ARB_vertex_attrib_binding -#define GL_ARB_vertex_attrib_binding 1 -#define __GLEE_GL_ARB_vertex_attrib_binding 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_BINDING 0x82D4 -#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 -#define GL_VERTEX_BINDING_DIVISOR 0x82D6 -#define GL_VERTEX_BINDING_OFFSET 0x82D7 -#define GL_VERTEX_BINDING_STRIDE 0x82D8 -#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 -#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA -#ifndef GLEE_H_DEFINED_glBindVertexBuffer -#define GLEE_H_DEFINED_glBindVertexBuffer - typedef void (APIENTRYP GLEEPFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - GLEE_EXTERN GLEEPFNGLBINDVERTEXBUFFERPROC GLeeFuncPtr_glBindVertexBuffer; - #define glBindVertexBuffer GLeeFuncPtr_glBindVertexBuffer -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribFormat -#define GLEE_H_DEFINED_glVertexAttribFormat - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBFORMATPROC GLeeFuncPtr_glVertexAttribFormat; - #define glVertexAttribFormat GLeeFuncPtr_glVertexAttribFormat -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribIFormat -#define GLEE_H_DEFINED_glVertexAttribIFormat - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBIFORMATPROC GLeeFuncPtr_glVertexAttribIFormat; - #define glVertexAttribIFormat GLeeFuncPtr_glVertexAttribIFormat -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribLFormat -#define GLEE_H_DEFINED_glVertexAttribLFormat - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBLFORMATPROC GLeeFuncPtr_glVertexAttribLFormat; - #define glVertexAttribLFormat GLeeFuncPtr_glVertexAttribLFormat -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribBinding -#define GLEE_H_DEFINED_glVertexAttribBinding - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBBINDINGPROC GLeeFuncPtr_glVertexAttribBinding; - #define glVertexAttribBinding GLeeFuncPtr_glVertexAttribBinding -#endif -#ifndef GLEE_H_DEFINED_glVertexBindingDivisor -#define GLEE_H_DEFINED_glVertexBindingDivisor - typedef void (APIENTRYP GLEEPFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); - GLEE_EXTERN GLEEPFNGLVERTEXBINDINGDIVISORPROC GLeeFuncPtr_glVertexBindingDivisor; - #define glVertexBindingDivisor GLeeFuncPtr_glVertexBindingDivisor -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayBindVertexBufferEXT -#define GLEE_H_DEFINED_glVertexArrayBindVertexBufferEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC GLeeFuncPtr_glVertexArrayBindVertexBufferEXT; - #define glVertexArrayBindVertexBufferEXT GLeeFuncPtr_glVertexArrayBindVertexBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexAttribFormatEXT -#define GLEE_H_DEFINED_glVertexArrayVertexAttribFormatEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribFormatEXT; - #define glVertexArrayVertexAttribFormatEXT GLeeFuncPtr_glVertexArrayVertexAttribFormatEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexAttribIFormatEXT -#define GLEE_H_DEFINED_glVertexArrayVertexAttribIFormatEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribIFormatEXT; - #define glVertexArrayVertexAttribIFormatEXT GLeeFuncPtr_glVertexArrayVertexAttribIFormatEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexAttribLFormatEXT -#define GLEE_H_DEFINED_glVertexArrayVertexAttribLFormatEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribLFormatEXT; - #define glVertexArrayVertexAttribLFormatEXT GLeeFuncPtr_glVertexArrayVertexAttribLFormatEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexAttribBindingEXT -#define GLEE_H_DEFINED_glVertexArrayVertexAttribBindingEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribBindingEXT; - #define glVertexArrayVertexAttribBindingEXT GLeeFuncPtr_glVertexArrayVertexAttribBindingEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexBindingDivisorEXT -#define GLEE_H_DEFINED_glVertexArrayVertexBindingDivisorEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC GLeeFuncPtr_glVertexArrayVertexBindingDivisorEXT; - #define glVertexArrayVertexBindingDivisorEXT GLeeFuncPtr_glVertexArrayVertexBindingDivisorEXT -#endif -#endif - -/* GL_ARB_robustness_isolation */ - -#ifndef GL_ARB_robustness_isolation -#define GL_ARB_robustness_isolation 1 -#define __GLEE_GL_ARB_robustness_isolation 1 -/* Constants */ -#endif - -/* GL_ARB_ES3_compatibility */ - -#ifndef GL_ARB_ES3_compatibility -#define GL_ARB_ES3_compatibility 1 -#define __GLEE_GL_ARB_ES3_compatibility 1 -/* Constants */ -#define GL_COMPRESSED_RGB8_ETC2 0x9274 -#define GL_COMPRESSED_SRGB8_ETC2 0x9275 -#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 -#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 -#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 -#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 -#define GL_COMPRESSED_R11_EAC 0x9270 -#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 -#define GL_COMPRESSED_RG11_EAC 0x9272 -#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 -#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A -#define GL_MAX_ELEMENT_INDEX 0x8D6B -#endif - -/* GL_ARB_explicit_uniform_location */ - -#ifndef GL_ARB_explicit_uniform_location -#define GL_ARB_explicit_uniform_location 1 -#define __GLEE_GL_ARB_explicit_uniform_location 1 -/* Constants */ -#define GL_MAX_UNIFORM_LOCATIONS 0x826E -#endif - -/* GL_ARB_fragment_layer_viewport */ - -#ifndef GL_ARB_fragment_layer_viewport -#define GL_ARB_fragment_layer_viewport 1 -#define __GLEE_GL_ARB_fragment_layer_viewport 1 -/* Constants */ -#endif - -/* GL_ARB_framebuffer_no_attachments */ - -#ifndef GL_ARB_framebuffer_no_attachments -#define GL_ARB_framebuffer_no_attachments 1 -#define __GLEE_GL_ARB_framebuffer_no_attachments 1 -/* Constants */ -#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 -#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 -#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 -#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 -#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 -#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 -#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 -#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 -#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 -#ifndef GLEE_H_DEFINED_glFramebufferParameteri -#define GLEE_H_DEFINED_glFramebufferParameteri - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERPARAMETERIPROC GLeeFuncPtr_glFramebufferParameteri; - #define glFramebufferParameteri GLeeFuncPtr_glFramebufferParameteri -#endif -#ifndef GLEE_H_DEFINED_glGetFramebufferParameteriv -#define GLEE_H_DEFINED_glGetFramebufferParameteriv - typedef void (APIENTRYP GLEEPFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAMEBUFFERPARAMETERIVPROC GLeeFuncPtr_glGetFramebufferParameteriv; - #define glGetFramebufferParameteriv GLeeFuncPtr_glGetFramebufferParameteriv -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferParameteriEXT -#define GLEE_H_DEFINED_glNamedFramebufferParameteriEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC GLeeFuncPtr_glNamedFramebufferParameteriEXT; - #define glNamedFramebufferParameteriEXT GLeeFuncPtr_glNamedFramebufferParameteriEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedFramebufferParameterivEXT -#define GLEE_H_DEFINED_glGetNamedFramebufferParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedFramebufferParameterivEXT; - #define glGetNamedFramebufferParameterivEXT GLeeFuncPtr_glGetNamedFramebufferParameterivEXT -#endif -#endif - -/* GL_ARB_internalformat_query2 */ - -#ifndef GL_ARB_internalformat_query2 -#define GL_ARB_internalformat_query2 1 -#define __GLEE_GL_ARB_internalformat_query2 1 -/* Constants */ -#define GL_INTERNALFORMAT_SUPPORTED 0x826F -#define GL_INTERNALFORMAT_PREFERRED 0x8270 -#define GL_INTERNALFORMAT_RED_SIZE 0x8271 -#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 -#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 -#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 -#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 -#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 -#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 -#define GL_INTERNALFORMAT_RED_TYPE 0x8278 -#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 -#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A -#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B -#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C -#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D -#define GL_MAX_WIDTH 0x827E -#define GL_MAX_HEIGHT 0x827F -#define GL_MAX_DEPTH 0x8280 -#define GL_MAX_LAYERS 0x8281 -#define GL_MAX_COMBINED_DIMENSIONS 0x8282 -#define GL_COLOR_COMPONENTS 0x8283 -#define GL_DEPTH_COMPONENTS 0x8284 -#define GL_STENCIL_COMPONENTS 0x8285 -#define GL_COLOR_RENDERABLE 0x8286 -#define GL_DEPTH_RENDERABLE 0x8287 -#define GL_STENCIL_RENDERABLE 0x8288 -#define GL_FRAMEBUFFER_RENDERABLE 0x8289 -#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A -#define GL_FRAMEBUFFER_BLEND 0x828B -#define GL_READ_PIXELS 0x828C -#define GL_READ_PIXELS_FORMAT 0x828D -#define GL_READ_PIXELS_TYPE 0x828E -#define GL_TEXTURE_IMAGE_FORMAT 0x828F -#define GL_TEXTURE_IMAGE_TYPE 0x8290 -#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 -#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 -#define GL_MIPMAP 0x8293 -#define GL_MANUAL_GENERATE_MIPMAP 0x8294 -#define GL_AUTO_GENERATE_MIPMAP 0x8295 -#define GL_COLOR_ENCODING 0x8296 -#define GL_SRGB_READ 0x8297 -#define GL_SRGB_WRITE 0x8298 -#define GL_SRGB_DECODE_ARB 0x8299 -#define GL_FILTER 0x829A -#define GL_VERTEX_TEXTURE 0x829B -#define GL_TESS_CONTROL_TEXTURE 0x829C -#define GL_TESS_EVALUATION_TEXTURE 0x829D -#define GL_GEOMETRY_TEXTURE 0x829E -#define GL_FRAGMENT_TEXTURE 0x829F -#define GL_COMPUTE_TEXTURE 0x82A0 -#define GL_TEXTURE_SHADOW 0x82A1 -#define GL_TEXTURE_GATHER 0x82A2 -#define GL_TEXTURE_GATHER_SHADOW 0x82A3 -#define GL_SHADER_IMAGE_LOAD 0x82A4 -#define GL_SHADER_IMAGE_STORE 0x82A5 -#define GL_SHADER_IMAGE_ATOMIC 0x82A6 -#define GL_IMAGE_TEXEL_SIZE 0x82A7 -#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 -#define GL_IMAGE_PIXEL_FORMAT 0x82A9 -#define GL_IMAGE_PIXEL_TYPE 0x82AA -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF -#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 -#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 -#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 -#define GL_CLEAR_BUFFER 0x82B4 -#define GL_TEXTURE_VIEW 0x82B5 -#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 -#define GL_FULL_SUPPORT 0x82B7 -#define GL_CAVEAT_SUPPORT 0x82B8 -#define GL_IMAGE_CLASS_4_X_32 0x82B9 -#define GL_IMAGE_CLASS_2_X_32 0x82BA -#define GL_IMAGE_CLASS_1_X_32 0x82BB -#define GL_IMAGE_CLASS_4_X_16 0x82BC -#define GL_IMAGE_CLASS_2_X_16 0x82BD -#define GL_IMAGE_CLASS_1_X_16 0x82BE -#define GL_IMAGE_CLASS_4_X_8 0x82BF -#define GL_IMAGE_CLASS_2_X_8 0x82C0 -#define GL_IMAGE_CLASS_1_X_8 0x82C1 -#define GL_IMAGE_CLASS_11_11_10 0x82C2 -#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 -#define GL_VIEW_CLASS_128_BITS 0x82C4 -#define GL_VIEW_CLASS_96_BITS 0x82C5 -#define GL_VIEW_CLASS_64_BITS 0x82C6 -#define GL_VIEW_CLASS_48_BITS 0x82C7 -#define GL_VIEW_CLASS_32_BITS 0x82C8 -#define GL_VIEW_CLASS_24_BITS 0x82C9 -#define GL_VIEW_CLASS_16_BITS 0x82CA -#define GL_VIEW_CLASS_8_BITS 0x82CB -#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC -#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD -#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE -#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF -#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 -#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 -#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 -#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 -#ifndef GLEE_H_DEFINED_glGetInternalformati64v -#define GLEE_H_DEFINED_glGetInternalformati64v - typedef void (APIENTRYP GLEEPFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 * params); - GLEE_EXTERN GLEEPFNGLGETINTERNALFORMATI64VPROC GLeeFuncPtr_glGetInternalformati64v; - #define glGetInternalformati64v GLeeFuncPtr_glGetInternalformati64v -#endif -#endif - -/* GL_ARB_invalidate_subdata */ - -#ifndef GL_ARB_invalidate_subdata -#define GL_ARB_invalidate_subdata 1 -#define __GLEE_GL_ARB_invalidate_subdata 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glInvalidateTexSubImage -#define GLEE_H_DEFINED_glInvalidateTexSubImage - typedef void (APIENTRYP GLEEPFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNGLINVALIDATETEXSUBIMAGEPROC GLeeFuncPtr_glInvalidateTexSubImage; - #define glInvalidateTexSubImage GLeeFuncPtr_glInvalidateTexSubImage -#endif -#ifndef GLEE_H_DEFINED_glInvalidateTexImage -#define GLEE_H_DEFINED_glInvalidateTexImage - typedef void (APIENTRYP GLEEPFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLINVALIDATETEXIMAGEPROC GLeeFuncPtr_glInvalidateTexImage; - #define glInvalidateTexImage GLeeFuncPtr_glInvalidateTexImage -#endif -#ifndef GLEE_H_DEFINED_glInvalidateBufferSubData -#define GLEE_H_DEFINED_glInvalidateBufferSubData - typedef void (APIENTRYP GLEEPFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); - GLEE_EXTERN GLEEPFNGLINVALIDATEBUFFERSUBDATAPROC GLeeFuncPtr_glInvalidateBufferSubData; - #define glInvalidateBufferSubData GLeeFuncPtr_glInvalidateBufferSubData -#endif -#ifndef GLEE_H_DEFINED_glInvalidateBufferData -#define GLEE_H_DEFINED_glInvalidateBufferData - typedef void (APIENTRYP GLEEPFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLINVALIDATEBUFFERDATAPROC GLeeFuncPtr_glInvalidateBufferData; - #define glInvalidateBufferData GLeeFuncPtr_glInvalidateBufferData -#endif -#ifndef GLEE_H_DEFINED_glInvalidateFramebuffer -#define GLEE_H_DEFINED_glInvalidateFramebuffer - typedef void (APIENTRYP GLEEPFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum * attachments); - GLEE_EXTERN GLEEPFNGLINVALIDATEFRAMEBUFFERPROC GLeeFuncPtr_glInvalidateFramebuffer; - #define glInvalidateFramebuffer GLeeFuncPtr_glInvalidateFramebuffer -#endif -#ifndef GLEE_H_DEFINED_glInvalidateSubFramebuffer -#define GLEE_H_DEFINED_glInvalidateSubFramebuffer - typedef void (APIENTRYP GLEEPFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLINVALIDATESUBFRAMEBUFFERPROC GLeeFuncPtr_glInvalidateSubFramebuffer; - #define glInvalidateSubFramebuffer GLeeFuncPtr_glInvalidateSubFramebuffer -#endif -#endif - -/* GL_ARB_multi_draw_indirect */ - -#ifndef GL_ARB_multi_draw_indirect -#define GL_ARB_multi_draw_indirect 1 -#define __GLEE_GL_ARB_multi_draw_indirect 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMultiDrawArraysIndirect -#define GLEE_H_DEFINED_glMultiDrawArraysIndirect - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride); - GLEE_EXTERN GLEEPFNGLMULTIDRAWARRAYSINDIRECTPROC GLeeFuncPtr_glMultiDrawArraysIndirect; - #define glMultiDrawArraysIndirect GLeeFuncPtr_glMultiDrawArraysIndirect -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElementsIndirect -#define GLEE_H_DEFINED_glMultiDrawElementsIndirect - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTSINDIRECTPROC GLeeFuncPtr_glMultiDrawElementsIndirect; - #define glMultiDrawElementsIndirect GLeeFuncPtr_glMultiDrawElementsIndirect -#endif -#endif - -/* GL_ARB_program_interface_query */ - -#ifndef GL_ARB_program_interface_query -#define GL_ARB_program_interface_query 1 -#define __GLEE_GL_ARB_program_interface_query 1 -/* Constants */ -#define GL_UNIFORM 0x92E1 -#define GL_UNIFORM_BLOCK 0x92E2 -#define GL_PROGRAM_INPUT 0x92E3 -#define GL_PROGRAM_OUTPUT 0x92E4 -#define GL_BUFFER_VARIABLE 0x92E5 -#define GL_SHADER_STORAGE_BLOCK 0x92E6 -#define GL_VERTEX_SUBROUTINE 0x92E8 -#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 -#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA -#define GL_GEOMETRY_SUBROUTINE 0x92EB -#define GL_FRAGMENT_SUBROUTINE 0x92EC -#define GL_COMPUTE_SUBROUTINE 0x92ED -#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE -#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF -#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 -#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 -#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 -#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 -#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 -#define GL_ACTIVE_RESOURCES 0x92F5 -#define GL_MAX_NAME_LENGTH 0x92F6 -#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 -#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 -#define GL_NAME_LENGTH 0x92F9 -#define GL_TYPE 0x92FA -#define GL_ARRAY_SIZE 0x92FB -#define GL_OFFSET 0x92FC -#define GL_BLOCK_INDEX 0x92FD -#define GL_ARRAY_STRIDE 0x92FE -#define GL_MATRIX_STRIDE 0x92FF -#define GL_IS_ROW_MAJOR 0x9300 -#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 -#define GL_BUFFER_BINDING 0x9302 -#define GL_BUFFER_DATA_SIZE 0x9303 -#define GL_NUM_ACTIVE_VARIABLES 0x9304 -#define GL_ACTIVE_VARIABLES 0x9305 -#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 -#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 -#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 -#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 -#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A -#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B -#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C -#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D -#define GL_LOCATION 0x930E -#define GL_LOCATION_INDEX 0x930F -#define GL_IS_PER_PATCH 0x92E7 -#ifndef GLEE_H_DEFINED_glGetProgramInterfaceiv -#define GLEE_H_DEFINED_glGetProgramInterfaceiv - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMINTERFACEIVPROC GLeeFuncPtr_glGetProgramInterfaceiv; - #define glGetProgramInterfaceiv GLeeFuncPtr_glGetProgramInterfaceiv -#endif -#ifndef GLEE_H_DEFINED_glGetProgramResourceIndex -#define GLEE_H_DEFINED_glGetProgramResourceIndex - typedef GLuint (APIENTRYP GLEEPFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETPROGRAMRESOURCEINDEXPROC GLeeFuncPtr_glGetProgramResourceIndex; - #define glGetProgramResourceIndex GLeeFuncPtr_glGetProgramResourceIndex -#endif -#ifndef GLEE_H_DEFINED_glGetProgramResourceName -#define GLEE_H_DEFINED_glGetProgramResourceName - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETPROGRAMRESOURCENAMEPROC GLeeFuncPtr_glGetProgramResourceName; - #define glGetProgramResourceName GLeeFuncPtr_glGetProgramResourceName -#endif -#ifndef GLEE_H_DEFINED_glGetProgramResourceiv -#define GLEE_H_DEFINED_glGetProgramResourceiv - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMRESOURCEIVPROC GLeeFuncPtr_glGetProgramResourceiv; - #define glGetProgramResourceiv GLeeFuncPtr_glGetProgramResourceiv -#endif -#ifndef GLEE_H_DEFINED_glGetProgramResourceLocation -#define GLEE_H_DEFINED_glGetProgramResourceLocation - typedef GLint (APIENTRYP GLEEPFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETPROGRAMRESOURCELOCATIONPROC GLeeFuncPtr_glGetProgramResourceLocation; - #define glGetProgramResourceLocation GLeeFuncPtr_glGetProgramResourceLocation -#endif -#ifndef GLEE_H_DEFINED_glGetProgramResourceLocationIndex -#define GLEE_H_DEFINED_glGetProgramResourceLocationIndex - typedef GLint (APIENTRYP GLEEPFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC GLeeFuncPtr_glGetProgramResourceLocationIndex; - #define glGetProgramResourceLocationIndex GLeeFuncPtr_glGetProgramResourceLocationIndex -#endif -#endif - -/* GL_ARB_robust_buffer_access_behavior */ - -#ifndef GL_ARB_robust_buffer_access_behavior -#define GL_ARB_robust_buffer_access_behavior 1 -#define __GLEE_GL_ARB_robust_buffer_access_behavior 1 -/* Constants */ -#endif - -/* GL_ARB_shader_image_size */ - -#ifndef GL_ARB_shader_image_size -#define GL_ARB_shader_image_size 1 -#define __GLEE_GL_ARB_shader_image_size 1 -/* Constants */ -#endif - -/* GL_ARB_shader_storage_buffer_object */ - -#ifndef GL_ARB_shader_storage_buffer_object -#define GL_ARB_shader_storage_buffer_object 1 -#define __GLEE_GL_ARB_shader_storage_buffer_object 1 -/* Constants */ -#define GL_SHADER_STORAGE_BUFFER 0x90D2 -#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 -#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 -#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 -#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 -#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 -#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 -#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 -#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA -#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB -#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC -#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD -#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE -#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF -#define GL_SHADER_STORAGE_BARRIER_BIT 0x2000 -#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS -#ifndef GLEE_H_DEFINED_glShaderStorageBlockBinding -#define GLEE_H_DEFINED_glShaderStorageBlockBinding - typedef void (APIENTRYP GLEEPFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); - GLEE_EXTERN GLEEPFNGLSHADERSTORAGEBLOCKBINDINGPROC GLeeFuncPtr_glShaderStorageBlockBinding; - #define glShaderStorageBlockBinding GLeeFuncPtr_glShaderStorageBlockBinding -#endif -#endif - -/* GL_ARB_stencil_texturing */ - -#ifndef GL_ARB_stencil_texturing -#define GL_ARB_stencil_texturing 1 -#define __GLEE_GL_ARB_stencil_texturing 1 -/* Constants */ -#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA -#endif - -/* GL_ARB_texture_buffer_range */ - -#ifndef GL_ARB_texture_buffer_range -#define GL_ARB_texture_buffer_range 1 -#define __GLEE_GL_ARB_texture_buffer_range 1 -/* Constants */ -#define GL_TEXTURE_BUFFER_OFFSET 0x919D -#define GL_TEXTURE_BUFFER_SIZE 0x919E -#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F -#ifndef GLEE_H_DEFINED_glTexBufferRange -#define GLEE_H_DEFINED_glTexBufferRange - typedef void (APIENTRYP GLEEPFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLTEXBUFFERRANGEPROC GLeeFuncPtr_glTexBufferRange; - #define glTexBufferRange GLeeFuncPtr_glTexBufferRange -#endif -#ifndef GLEE_H_DEFINED_glTextureBufferRangeEXT -#define GLEE_H_DEFINED_glTextureBufferRangeEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLTEXTUREBUFFERRANGEEXTPROC GLeeFuncPtr_glTextureBufferRangeEXT; - #define glTextureBufferRangeEXT GLeeFuncPtr_glTextureBufferRangeEXT -#endif -#endif - -/* GL_ARB_texture_query_levels */ - -#ifndef GL_ARB_texture_query_levels -#define GL_ARB_texture_query_levels 1 -#define __GLEE_GL_ARB_texture_query_levels 1 -/* Constants */ -#endif - -/* GL_ARB_texture_storage_multisample */ - -#ifndef GL_ARB_texture_storage_multisample -#define GL_ARB_texture_storage_multisample 1 -#define __GLEE_GL_ARB_texture_storage_multisample 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glTexStorage2DMultisample -#define GLEE_H_DEFINED_glTexStorage2DMultisample - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXSTORAGE2DMULTISAMPLEPROC GLeeFuncPtr_glTexStorage2DMultisample; - #define glTexStorage2DMultisample GLeeFuncPtr_glTexStorage2DMultisample -#endif -#ifndef GLEE_H_DEFINED_glTexStorage3DMultisample -#define GLEE_H_DEFINED_glTexStorage3DMultisample - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXSTORAGE3DMULTISAMPLEPROC GLeeFuncPtr_glTexStorage3DMultisample; - #define glTexStorage3DMultisample GLeeFuncPtr_glTexStorage3DMultisample -#endif -#ifndef GLEE_H_DEFINED_glTextureStorage2DMultisampleEXT -#define GLEE_H_DEFINED_glTextureStorage2DMultisampleEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC GLeeFuncPtr_glTextureStorage2DMultisampleEXT; - #define glTextureStorage2DMultisampleEXT GLeeFuncPtr_glTextureStorage2DMultisampleEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureStorage3DMultisampleEXT -#define GLEE_H_DEFINED_glTextureStorage3DMultisampleEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC GLeeFuncPtr_glTextureStorage3DMultisampleEXT; - #define glTextureStorage3DMultisampleEXT GLeeFuncPtr_glTextureStorage3DMultisampleEXT -#endif -#endif - -/* GL_EXT_abgr */ - -#ifndef GL_EXT_abgr -#define GL_EXT_abgr 1 -#define __GLEE_GL_EXT_abgr 1 -/* Constants */ -#define GL_ABGR_EXT 0x8000 -#endif - -/* GL_EXT_blend_color */ - -#ifndef GL_EXT_blend_color -#define GL_EXT_blend_color 1 -#define __GLEE_GL_EXT_blend_color 1 -/* Constants */ -#define GL_CONSTANT_COLOR_EXT 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 -#define GL_CONSTANT_ALPHA_EXT 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 -#define GL_BLEND_COLOR_EXT 0x8005 -#ifndef GLEE_H_DEFINED_glBlendColorEXT -#define GLEE_H_DEFINED_glBlendColorEXT - typedef void (APIENTRYP GLEEPFNGLBLENDCOLOREXTPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - GLEE_EXTERN GLEEPFNGLBLENDCOLOREXTPROC GLeeFuncPtr_glBlendColorEXT; - #define glBlendColorEXT GLeeFuncPtr_glBlendColorEXT -#endif -#endif - -/* GL_EXT_polygon_offset */ - -#ifndef GL_EXT_polygon_offset -#define GL_EXT_polygon_offset 1 -#define __GLEE_GL_EXT_polygon_offset 1 -/* Constants */ -#define GL_POLYGON_OFFSET_EXT 0x8037 -#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 -#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 -#ifndef GLEE_H_DEFINED_glPolygonOffsetEXT -#define GLEE_H_DEFINED_glPolygonOffsetEXT - typedef void (APIENTRYP GLEEPFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); - GLEE_EXTERN GLEEPFNGLPOLYGONOFFSETEXTPROC GLeeFuncPtr_glPolygonOffsetEXT; - #define glPolygonOffsetEXT GLeeFuncPtr_glPolygonOffsetEXT -#endif -#endif - -/* GL_EXT_texture */ - -#ifndef GL_EXT_texture -#define GL_EXT_texture 1 -#define __GLEE_GL_EXT_texture 1 -/* Constants */ -#define GL_ALPHA4_EXT 0x803B -#define GL_ALPHA8_EXT 0x803C -#define GL_ALPHA12_EXT 0x803D -#define GL_ALPHA16_EXT 0x803E -#define GL_LUMINANCE4_EXT 0x803F -#define GL_LUMINANCE8_EXT 0x8040 -#define GL_LUMINANCE12_EXT 0x8041 -#define GL_LUMINANCE16_EXT 0x8042 -#define GL_LUMINANCE4_ALPHA4_EXT 0x8043 -#define GL_LUMINANCE6_ALPHA2_EXT 0x8044 -#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 -#define GL_LUMINANCE12_ALPHA4_EXT 0x8046 -#define GL_LUMINANCE12_ALPHA12_EXT 0x8047 -#define GL_LUMINANCE16_ALPHA16_EXT 0x8048 -#define GL_INTENSITY_EXT 0x8049 -#define GL_INTENSITY4_EXT 0x804A -#define GL_INTENSITY8_EXT 0x804B -#define GL_INTENSITY12_EXT 0x804C -#define GL_INTENSITY16_EXT 0x804D -#define GL_RGB2_EXT 0x804E -#define GL_RGB4_EXT 0x804F -#define GL_RGB5_EXT 0x8050 -#define GL_RGB8_EXT 0x8051 -#define GL_RGB10_EXT 0x8052 -#define GL_RGB12_EXT 0x8053 -#define GL_RGB16_EXT 0x8054 -#define GL_RGBA2_EXT 0x8055 -#define GL_RGBA4_EXT 0x8056 -#define GL_RGB5_A1_EXT 0x8057 -#define GL_RGBA8_EXT 0x8058 -#define GL_RGB10_A2_EXT 0x8059 -#define GL_RGBA12_EXT 0x805A -#define GL_RGBA16_EXT 0x805B -#define GL_TEXTURE_RED_SIZE_EXT 0x805C -#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D -#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E -#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F -#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 -#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 -#define GL_REPLACE_EXT 0x8062 -#define GL_PROXY_TEXTURE_1D_EXT 0x8063 -#define GL_PROXY_TEXTURE_2D_EXT 0x8064 -#define GL_TEXTURE_TOO_LARGE_EXT 0x8065 -#endif - -/* GL_EXT_texture3D */ - -#ifndef GL_EXT_texture3D -#define GL_EXT_texture3D 1 -#define __GLEE_GL_EXT_texture3D 1 -/* Constants */ -#define GL_PACK_SKIP_IMAGES_EXT 0x806B -#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C -#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D -#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E -#define GL_TEXTURE_3D_EXT 0x806F -#define GL_PROXY_TEXTURE_3D_EXT 0x8070 -#define GL_TEXTURE_DEPTH_EXT 0x8071 -#define GL_TEXTURE_WRAP_R_EXT 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 -#ifndef GLEE_H_DEFINED_glTexImage3DEXT -#define GLEE_H_DEFINED_glTexImage3DEXT - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXIMAGE3DEXTPROC GLeeFuncPtr_glTexImage3DEXT; - #define glTexImage3DEXT GLeeFuncPtr_glTexImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glTexSubImage3DEXT -#define GLEE_H_DEFINED_glTexSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glTexSubImage3DEXT; - #define glTexSubImage3DEXT GLeeFuncPtr_glTexSubImage3DEXT -#endif -#endif - -/* GL_SGIS_texture_filter4 */ - -#ifndef GL_SGIS_texture_filter4 -#define GL_SGIS_texture_filter4 1 -#define __GLEE_GL_SGIS_texture_filter4 1 -/* Constants */ -#define GL_FILTER4_SGIS 0x8146 -#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147 -#ifndef GLEE_H_DEFINED_glGetTexFilterFuncSGIS -#define GLEE_H_DEFINED_glGetTexFilterFuncSGIS - typedef void (APIENTRYP GLEEPFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat * weights); - GLEE_EXTERN GLEEPFNGLGETTEXFILTERFUNCSGISPROC GLeeFuncPtr_glGetTexFilterFuncSGIS; - #define glGetTexFilterFuncSGIS GLeeFuncPtr_glGetTexFilterFuncSGIS -#endif -#ifndef GLEE_H_DEFINED_glTexFilterFuncSGIS -#define GLEE_H_DEFINED_glTexFilterFuncSGIS - typedef void (APIENTRYP GLEEPFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat * weights); - GLEE_EXTERN GLEEPFNGLTEXFILTERFUNCSGISPROC GLeeFuncPtr_glTexFilterFuncSGIS; - #define glTexFilterFuncSGIS GLeeFuncPtr_glTexFilterFuncSGIS -#endif -#endif - -/* GL_EXT_subtexture */ - -#ifndef GL_EXT_subtexture -#define GL_EXT_subtexture 1 -#define __GLEE_GL_EXT_subtexture 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glTexSubImage1DEXT -#define GLEE_H_DEFINED_glTexSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glTexSubImage1DEXT; - #define glTexSubImage1DEXT GLeeFuncPtr_glTexSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glTexSubImage2DEXT -#define GLEE_H_DEFINED_glTexSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glTexSubImage2DEXT; - #define glTexSubImage2DEXT GLeeFuncPtr_glTexSubImage2DEXT -#endif -#endif - -/* GL_EXT_copy_texture */ - -#ifndef GL_EXT_copy_texture -#define GL_EXT_copy_texture 1 -#define __GLEE_GL_EXT_copy_texture 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glCopyTexImage1DEXT -#define GLEE_H_DEFINED_glCopyTexImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYTEXIMAGE1DEXTPROC GLeeFuncPtr_glCopyTexImage1DEXT; - #define glCopyTexImage1DEXT GLeeFuncPtr_glCopyTexImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTexImage2DEXT -#define GLEE_H_DEFINED_glCopyTexImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYTEXIMAGE2DEXTPROC GLeeFuncPtr_glCopyTexImage2DEXT; - #define glCopyTexImage2DEXT GLeeFuncPtr_glCopyTexImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTexSubImage1DEXT -#define GLEE_H_DEFINED_glCopyTexSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYTEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyTexSubImage1DEXT; - #define glCopyTexSubImage1DEXT GLeeFuncPtr_glCopyTexSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTexSubImage2DEXT -#define GLEE_H_DEFINED_glCopyTexSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYTEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyTexSubImage2DEXT; - #define glCopyTexSubImage2DEXT GLeeFuncPtr_glCopyTexSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTexSubImage3DEXT -#define GLEE_H_DEFINED_glCopyTexSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYTEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyTexSubImage3DEXT; - #define glCopyTexSubImage3DEXT GLeeFuncPtr_glCopyTexSubImage3DEXT -#endif -#endif - -/* GL_EXT_histogram */ - -#ifndef GL_EXT_histogram -#define GL_EXT_histogram 1 -#define __GLEE_GL_EXT_histogram 1 -/* Constants */ -#define GL_HISTOGRAM_EXT 0x8024 -#define GL_PROXY_HISTOGRAM_EXT 0x8025 -#define GL_HISTOGRAM_WIDTH_EXT 0x8026 -#define GL_HISTOGRAM_FORMAT_EXT 0x8027 -#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 -#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 -#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A -#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B -#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C -#define GL_HISTOGRAM_SINK_EXT 0x802D -#define GL_MINMAX_EXT 0x802E -#define GL_MINMAX_FORMAT_EXT 0x802F -#define GL_MINMAX_SINK_EXT 0x8030 -#define GL_TABLE_TOO_LARGE_EXT 0x8031 -#ifndef GLEE_H_DEFINED_glGetHistogramEXT -#define GLEE_H_DEFINED_glGetHistogramEXT - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMEXTPROC GLeeFuncPtr_glGetHistogramEXT; - #define glGetHistogramEXT GLeeFuncPtr_glGetHistogramEXT -#endif -#ifndef GLEE_H_DEFINED_glGetHistogramParameterfvEXT -#define GLEE_H_DEFINED_glGetHistogramParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPARAMETERFVEXTPROC GLeeFuncPtr_glGetHistogramParameterfvEXT; - #define glGetHistogramParameterfvEXT GLeeFuncPtr_glGetHistogramParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetHistogramParameterivEXT -#define GLEE_H_DEFINED_glGetHistogramParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPARAMETERIVEXTPROC GLeeFuncPtr_glGetHistogramParameterivEXT; - #define glGetHistogramParameterivEXT GLeeFuncPtr_glGetHistogramParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMinmaxEXT -#define GLEE_H_DEFINED_glGetMinmaxEXT - typedef void (APIENTRYP GLEEPFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - GLEE_EXTERN GLEEPFNGLGETMINMAXEXTPROC GLeeFuncPtr_glGetMinmaxEXT; - #define glGetMinmaxEXT GLeeFuncPtr_glGetMinmaxEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMinmaxParameterfvEXT -#define GLEE_H_DEFINED_glGetMinmaxParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMINMAXPARAMETERFVEXTPROC GLeeFuncPtr_glGetMinmaxParameterfvEXT; - #define glGetMinmaxParameterfvEXT GLeeFuncPtr_glGetMinmaxParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMinmaxParameterivEXT -#define GLEE_H_DEFINED_glGetMinmaxParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMINMAXPARAMETERIVEXTPROC GLeeFuncPtr_glGetMinmaxParameterivEXT; - #define glGetMinmaxParameterivEXT GLeeFuncPtr_glGetMinmaxParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glHistogramEXT -#define GLEE_H_DEFINED_glHistogramEXT - typedef void (APIENTRYP GLEEPFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); - GLEE_EXTERN GLEEPFNGLHISTOGRAMEXTPROC GLeeFuncPtr_glHistogramEXT; - #define glHistogramEXT GLeeFuncPtr_glHistogramEXT -#endif -#ifndef GLEE_H_DEFINED_glMinmaxEXT -#define GLEE_H_DEFINED_glMinmaxEXT - typedef void (APIENTRYP GLEEPFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); - GLEE_EXTERN GLEEPFNGLMINMAXEXTPROC GLeeFuncPtr_glMinmaxEXT; - #define glMinmaxEXT GLeeFuncPtr_glMinmaxEXT -#endif -#ifndef GLEE_H_DEFINED_glResetHistogramEXT -#define GLEE_H_DEFINED_glResetHistogramEXT - typedef void (APIENTRYP GLEEPFNGLRESETHISTOGRAMEXTPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLRESETHISTOGRAMEXTPROC GLeeFuncPtr_glResetHistogramEXT; - #define glResetHistogramEXT GLeeFuncPtr_glResetHistogramEXT -#endif -#ifndef GLEE_H_DEFINED_glResetMinmaxEXT -#define GLEE_H_DEFINED_glResetMinmaxEXT - typedef void (APIENTRYP GLEEPFNGLRESETMINMAXEXTPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLRESETMINMAXEXTPROC GLeeFuncPtr_glResetMinmaxEXT; - #define glResetMinmaxEXT GLeeFuncPtr_glResetMinmaxEXT -#endif -#endif - -/* GL_EXT_convolution */ - -#ifndef GL_EXT_convolution -#define GL_EXT_convolution 1 -#define __GLEE_GL_EXT_convolution 1 -/* Constants */ -#define GL_CONVOLUTION_1D_EXT 0x8010 -#define GL_CONVOLUTION_2D_EXT 0x8011 -#define GL_SEPARABLE_2D_EXT 0x8012 -#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 -#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 -#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 -#define GL_REDUCE_EXT 0x8016 -#define GL_CONVOLUTION_FORMAT_EXT 0x8017 -#define GL_CONVOLUTION_WIDTH_EXT 0x8018 -#define GL_CONVOLUTION_HEIGHT_EXT 0x8019 -#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A -#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B -#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C -#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D -#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E -#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F -#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 -#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 -#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 -#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 -#ifndef GLEE_H_DEFINED_glConvolutionFilter1DEXT -#define GLEE_H_DEFINED_glConvolutionFilter1DEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONFILTER1DEXTPROC GLeeFuncPtr_glConvolutionFilter1DEXT; - #define glConvolutionFilter1DEXT GLeeFuncPtr_glConvolutionFilter1DEXT -#endif -#ifndef GLEE_H_DEFINED_glConvolutionFilter2DEXT -#define GLEE_H_DEFINED_glConvolutionFilter2DEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONFILTER2DEXTPROC GLeeFuncPtr_glConvolutionFilter2DEXT; - #define glConvolutionFilter2DEXT GLeeFuncPtr_glConvolutionFilter2DEXT -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterfEXT -#define GLEE_H_DEFINED_glConvolutionParameterfEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERFEXTPROC GLeeFuncPtr_glConvolutionParameterfEXT; - #define glConvolutionParameterfEXT GLeeFuncPtr_glConvolutionParameterfEXT -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterfvEXT -#define GLEE_H_DEFINED_glConvolutionParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERFVEXTPROC GLeeFuncPtr_glConvolutionParameterfvEXT; - #define glConvolutionParameterfvEXT GLeeFuncPtr_glConvolutionParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameteriEXT -#define GLEE_H_DEFINED_glConvolutionParameteriEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERIEXTPROC GLeeFuncPtr_glConvolutionParameteriEXT; - #define glConvolutionParameteriEXT GLeeFuncPtr_glConvolutionParameteriEXT -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterivEXT -#define GLEE_H_DEFINED_glConvolutionParameterivEXT - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERIVEXTPROC GLeeFuncPtr_glConvolutionParameterivEXT; - #define glConvolutionParameterivEXT GLeeFuncPtr_glConvolutionParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyConvolutionFilter1DEXT -#define GLEE_H_DEFINED_glCopyConvolutionFilter1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCONVOLUTIONFILTER1DEXTPROC GLeeFuncPtr_glCopyConvolutionFilter1DEXT; - #define glCopyConvolutionFilter1DEXT GLeeFuncPtr_glCopyConvolutionFilter1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyConvolutionFilter2DEXT -#define GLEE_H_DEFINED_glCopyConvolutionFilter2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYCONVOLUTIONFILTER2DEXTPROC GLeeFuncPtr_glCopyConvolutionFilter2DEXT; - #define glCopyConvolutionFilter2DEXT GLeeFuncPtr_glCopyConvolutionFilter2DEXT -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionFilterEXT -#define GLEE_H_DEFINED_glGetConvolutionFilterEXT - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid * image); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONFILTEREXTPROC GLeeFuncPtr_glGetConvolutionFilterEXT; - #define glGetConvolutionFilterEXT GLeeFuncPtr_glGetConvolutionFilterEXT -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionParameterfvEXT -#define GLEE_H_DEFINED_glGetConvolutionParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONPARAMETERFVEXTPROC GLeeFuncPtr_glGetConvolutionParameterfvEXT; - #define glGetConvolutionParameterfvEXT GLeeFuncPtr_glGetConvolutionParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionParameterivEXT -#define GLEE_H_DEFINED_glGetConvolutionParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONPARAMETERIVEXTPROC GLeeFuncPtr_glGetConvolutionParameterivEXT; - #define glGetConvolutionParameterivEXT GLeeFuncPtr_glGetConvolutionParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetSeparableFilterEXT -#define GLEE_H_DEFINED_glGetSeparableFilterEXT - typedef void (APIENTRYP GLEEPFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); - GLEE_EXTERN GLEEPFNGLGETSEPARABLEFILTEREXTPROC GLeeFuncPtr_glGetSeparableFilterEXT; - #define glGetSeparableFilterEXT GLeeFuncPtr_glGetSeparableFilterEXT -#endif -#ifndef GLEE_H_DEFINED_glSeparableFilter2DEXT -#define GLEE_H_DEFINED_glSeparableFilter2DEXT - typedef void (APIENTRYP GLEEPFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); - GLEE_EXTERN GLEEPFNGLSEPARABLEFILTER2DEXTPROC GLeeFuncPtr_glSeparableFilter2DEXT; - #define glSeparableFilter2DEXT GLeeFuncPtr_glSeparableFilter2DEXT -#endif -#endif - -/* GL_SGI_color_matrix */ - -#ifndef GL_SGI_color_matrix -#define GL_SGI_color_matrix 1 -#define __GLEE_GL_SGI_color_matrix 1 -/* Constants */ -#define GL_COLOR_MATRIX_SGI 0x80B1 -#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 -#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 -#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 -#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 -#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 -#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 -#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 -#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 -#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA -#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB -#endif - -/* GL_SGI_color_table */ - -#ifndef GL_SGI_color_table -#define GL_SGI_color_table 1 -#define __GLEE_GL_SGI_color_table 1 -/* Constants */ -#define GL_COLOR_TABLE_SGI 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 -#define GL_PROXY_COLOR_TABLE_SGI 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 -#define GL_COLOR_TABLE_SCALE_SGI 0x80D6 -#define GL_COLOR_TABLE_BIAS_SGI 0x80D7 -#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 -#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 -#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA -#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB -#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC -#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD -#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE -#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF -#ifndef GLEE_H_DEFINED_glColorTableSGI -#define GLEE_H_DEFINED_glColorTableSGI - typedef void (APIENTRYP GLEEPFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); - GLEE_EXTERN GLEEPFNGLCOLORTABLESGIPROC GLeeFuncPtr_glColorTableSGI; - #define glColorTableSGI GLeeFuncPtr_glColorTableSGI -#endif -#ifndef GLEE_H_DEFINED_glColorTableParameterfvSGI -#define GLEE_H_DEFINED_glColorTableParameterfvSGI - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCOLORTABLEPARAMETERFVSGIPROC GLeeFuncPtr_glColorTableParameterfvSGI; - #define glColorTableParameterfvSGI GLeeFuncPtr_glColorTableParameterfvSGI -#endif -#ifndef GLEE_H_DEFINED_glColorTableParameterivSGI -#define GLEE_H_DEFINED_glColorTableParameterivSGI - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLCOLORTABLEPARAMETERIVSGIPROC GLeeFuncPtr_glColorTableParameterivSGI; - #define glColorTableParameterivSGI GLeeFuncPtr_glColorTableParameterivSGI -#endif -#ifndef GLEE_H_DEFINED_glCopyColorTableSGI -#define GLEE_H_DEFINED_glCopyColorTableSGI - typedef void (APIENTRYP GLEEPFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCOLORTABLESGIPROC GLeeFuncPtr_glCopyColorTableSGI; - #define glCopyColorTableSGI GLeeFuncPtr_glCopyColorTableSGI -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableSGI -#define GLEE_H_DEFINED_glGetColorTableSGI - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid * table); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLESGIPROC GLeeFuncPtr_glGetColorTableSGI; - #define glGetColorTableSGI GLeeFuncPtr_glGetColorTableSGI -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameterfvSGI -#define GLEE_H_DEFINED_glGetColorTableParameterfvSGI - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERFVSGIPROC GLeeFuncPtr_glGetColorTableParameterfvSGI; - #define glGetColorTableParameterfvSGI GLeeFuncPtr_glGetColorTableParameterfvSGI -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameterivSGI -#define GLEE_H_DEFINED_glGetColorTableParameterivSGI - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERIVSGIPROC GLeeFuncPtr_glGetColorTableParameterivSGI; - #define glGetColorTableParameterivSGI GLeeFuncPtr_glGetColorTableParameterivSGI -#endif -#endif - -/* GL_SGIS_pixel_texture */ - -#ifndef GL_SGIS_pixel_texture -#define GL_SGIS_pixel_texture 1 -#define __GLEE_GL_SGIS_pixel_texture 1 -/* Constants */ -#define GL_PIXEL_TEXTURE_SGIS 0x8353 -#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354 -#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355 -#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356 -#ifndef GLEE_H_DEFINED_glPixelTexGenParameteriSGIS -#define GLEE_H_DEFINED_glPixelTexGenParameteriSGIS - typedef void (APIENTRYP GLEEPFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLPIXELTEXGENPARAMETERISGISPROC GLeeFuncPtr_glPixelTexGenParameteriSGIS; - #define glPixelTexGenParameteriSGIS GLeeFuncPtr_glPixelTexGenParameteriSGIS -#endif -#ifndef GLEE_H_DEFINED_glPixelTexGenParameterivSGIS -#define GLEE_H_DEFINED_glPixelTexGenParameterivSGIS - typedef void (APIENTRYP GLEEPFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLPIXELTEXGENPARAMETERIVSGISPROC GLeeFuncPtr_glPixelTexGenParameterivSGIS; - #define glPixelTexGenParameterivSGIS GLeeFuncPtr_glPixelTexGenParameterivSGIS -#endif -#ifndef GLEE_H_DEFINED_glPixelTexGenParameterfSGIS -#define GLEE_H_DEFINED_glPixelTexGenParameterfSGIS - typedef void (APIENTRYP GLEEPFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPIXELTEXGENPARAMETERFSGISPROC GLeeFuncPtr_glPixelTexGenParameterfSGIS; - #define glPixelTexGenParameterfSGIS GLeeFuncPtr_glPixelTexGenParameterfSGIS -#endif -#ifndef GLEE_H_DEFINED_glPixelTexGenParameterfvSGIS -#define GLEE_H_DEFINED_glPixelTexGenParameterfvSGIS - typedef void (APIENTRYP GLEEPFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPIXELTEXGENPARAMETERFVSGISPROC GLeeFuncPtr_glPixelTexGenParameterfvSGIS; - #define glPixelTexGenParameterfvSGIS GLeeFuncPtr_glPixelTexGenParameterfvSGIS -#endif -#ifndef GLEE_H_DEFINED_glGetPixelTexGenParameterivSGIS -#define GLEE_H_DEFINED_glGetPixelTexGenParameterivSGIS - typedef void (APIENTRYP GLEEPFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPIXELTEXGENPARAMETERIVSGISPROC GLeeFuncPtr_glGetPixelTexGenParameterivSGIS; - #define glGetPixelTexGenParameterivSGIS GLeeFuncPtr_glGetPixelTexGenParameterivSGIS -#endif -#ifndef GLEE_H_DEFINED_glGetPixelTexGenParameterfvSGIS -#define GLEE_H_DEFINED_glGetPixelTexGenParameterfvSGIS - typedef void (APIENTRYP GLEEPFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPIXELTEXGENPARAMETERFVSGISPROC GLeeFuncPtr_glGetPixelTexGenParameterfvSGIS; - #define glGetPixelTexGenParameterfvSGIS GLeeFuncPtr_glGetPixelTexGenParameterfvSGIS -#endif -#endif - -/* GL_SGIX_pixel_texture */ - -#ifndef GL_SGIX_pixel_texture -#define GL_SGIX_pixel_texture 1 -#define __GLEE_GL_SGIX_pixel_texture 1 -/* Constants */ -#define GL_PIXEL_TEX_GEN_SGIX 0x8139 -#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B -#ifndef GLEE_H_DEFINED_glPixelTexGenSGIX -#define GLEE_H_DEFINED_glPixelTexGenSGIX - typedef void (APIENTRYP GLEEPFNGLPIXELTEXGENSGIXPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLPIXELTEXGENSGIXPROC GLeeFuncPtr_glPixelTexGenSGIX; - #define glPixelTexGenSGIX GLeeFuncPtr_glPixelTexGenSGIX -#endif -#endif - -/* GL_SGIS_texture4D */ - -#ifndef GL_SGIS_texture4D -#define GL_SGIS_texture4D 1 -#define __GLEE_GL_SGIS_texture4D 1 -/* Constants */ -#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130 -#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131 -#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132 -#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133 -#define GL_TEXTURE_4D_SGIS 0x8134 -#define GL_PROXY_TEXTURE_4D_SGIS 0x8135 -#define GL_TEXTURE_4DSIZE_SGIS 0x8136 -#define GL_TEXTURE_WRAP_Q_SGIS 0x8137 -#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138 -#define GL_TEXTURE_4D_BINDING_SGIS 0x814F -#ifndef GLEE_H_DEFINED_glTexImage4DSGIS -#define GLEE_H_DEFINED_glTexImage4DSGIS - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXIMAGE4DSGISPROC GLeeFuncPtr_glTexImage4DSGIS; - #define glTexImage4DSGIS GLeeFuncPtr_glTexImage4DSGIS -#endif -#ifndef GLEE_H_DEFINED_glTexSubImage4DSGIS -#define GLEE_H_DEFINED_glTexSubImage4DSGIS - typedef void (APIENTRYP GLEEPFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXSUBIMAGE4DSGISPROC GLeeFuncPtr_glTexSubImage4DSGIS; - #define glTexSubImage4DSGIS GLeeFuncPtr_glTexSubImage4DSGIS -#endif -#endif - -/* GL_SGI_texture_color_table */ - -#ifndef GL_SGI_texture_color_table -#define GL_SGI_texture_color_table 1 -#define __GLEE_GL_SGI_texture_color_table 1 -/* Constants */ -#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC -#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD -#endif - -/* GL_EXT_cmyka */ - -#ifndef GL_EXT_cmyka -#define GL_EXT_cmyka 1 -#define __GLEE_GL_EXT_cmyka 1 -/* Constants */ -#define GL_CMYK_EXT 0x800C -#define GL_CMYKA_EXT 0x800D -#define GL_PACK_CMYK_HINT_EXT 0x800E -#define GL_UNPACK_CMYK_HINT_EXT 0x800F -#endif - -/* GL_EXT_texture_object */ - -#ifndef GL_EXT_texture_object -#define GL_EXT_texture_object 1 -#define __GLEE_GL_EXT_texture_object 1 -/* Constants */ -#define GL_TEXTURE_PRIORITY_EXT 0x8066 -#define GL_TEXTURE_RESIDENT_EXT 0x8067 -#define GL_TEXTURE_1D_BINDING_EXT 0x8068 -#define GL_TEXTURE_2D_BINDING_EXT 0x8069 -#define GL_TEXTURE_3D_BINDING_EXT 0x806A -#ifndef GLEE_H_DEFINED_glAreTexturesResidentEXT -#define GLEE_H_DEFINED_glAreTexturesResidentEXT - typedef GLboolean (APIENTRYP GLEEPFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint * textures, GLboolean * residences); - GLEE_EXTERN GLEEPFNGLARETEXTURESRESIDENTEXTPROC GLeeFuncPtr_glAreTexturesResidentEXT; - #define glAreTexturesResidentEXT GLeeFuncPtr_glAreTexturesResidentEXT -#endif -#ifndef GLEE_H_DEFINED_glBindTextureEXT -#define GLEE_H_DEFINED_glBindTextureEXT - typedef void (APIENTRYP GLEEPFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); - GLEE_EXTERN GLEEPFNGLBINDTEXTUREEXTPROC GLeeFuncPtr_glBindTextureEXT; - #define glBindTextureEXT GLeeFuncPtr_glBindTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glDeleteTexturesEXT -#define GLEE_H_DEFINED_glDeleteTexturesEXT - typedef void (APIENTRYP GLEEPFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint * textures); - GLEE_EXTERN GLEEPFNGLDELETETEXTURESEXTPROC GLeeFuncPtr_glDeleteTexturesEXT; - #define glDeleteTexturesEXT GLeeFuncPtr_glDeleteTexturesEXT -#endif -#ifndef GLEE_H_DEFINED_glGenTexturesEXT -#define GLEE_H_DEFINED_glGenTexturesEXT - typedef void (APIENTRYP GLEEPFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint * textures); - GLEE_EXTERN GLEEPFNGLGENTEXTURESEXTPROC GLeeFuncPtr_glGenTexturesEXT; - #define glGenTexturesEXT GLeeFuncPtr_glGenTexturesEXT -#endif -#ifndef GLEE_H_DEFINED_glIsTextureEXT -#define GLEE_H_DEFINED_glIsTextureEXT - typedef GLboolean (APIENTRYP GLEEPFNGLISTEXTUREEXTPROC) (GLuint texture); - GLEE_EXTERN GLEEPFNGLISTEXTUREEXTPROC GLeeFuncPtr_glIsTextureEXT; - #define glIsTextureEXT GLeeFuncPtr_glIsTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glPrioritizeTexturesEXT -#define GLEE_H_DEFINED_glPrioritizeTexturesEXT - typedef void (APIENTRYP GLEEPFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint * textures, const GLclampf * priorities); - GLEE_EXTERN GLEEPFNGLPRIORITIZETEXTURESEXTPROC GLeeFuncPtr_glPrioritizeTexturesEXT; - #define glPrioritizeTexturesEXT GLeeFuncPtr_glPrioritizeTexturesEXT -#endif -#endif - -/* GL_SGIS_detail_texture */ - -#ifndef GL_SGIS_detail_texture -#define GL_SGIS_detail_texture 1 -#define __GLEE_GL_SGIS_detail_texture 1 -/* Constants */ -#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095 -#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096 -#define GL_LINEAR_DETAIL_SGIS 0x8097 -#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098 -#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099 -#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A -#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B -#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C -#ifndef GLEE_H_DEFINED_glDetailTexFuncSGIS -#define GLEE_H_DEFINED_glDetailTexFuncSGIS - typedef void (APIENTRYP GLEEPFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLDETAILTEXFUNCSGISPROC GLeeFuncPtr_glDetailTexFuncSGIS; - #define glDetailTexFuncSGIS GLeeFuncPtr_glDetailTexFuncSGIS -#endif -#ifndef GLEE_H_DEFINED_glGetDetailTexFuncSGIS -#define GLEE_H_DEFINED_glGetDetailTexFuncSGIS - typedef void (APIENTRYP GLEEPFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat * points); - GLEE_EXTERN GLEEPFNGLGETDETAILTEXFUNCSGISPROC GLeeFuncPtr_glGetDetailTexFuncSGIS; - #define glGetDetailTexFuncSGIS GLeeFuncPtr_glGetDetailTexFuncSGIS -#endif -#endif - -/* GL_SGIS_sharpen_texture */ - -#ifndef GL_SGIS_sharpen_texture -#define GL_SGIS_sharpen_texture 1 -#define __GLEE_GL_SGIS_sharpen_texture 1 -/* Constants */ -#define GL_LINEAR_SHARPEN_SGIS 0x80AD -#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE -#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF -#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0 -#ifndef GLEE_H_DEFINED_glSharpenTexFuncSGIS -#define GLEE_H_DEFINED_glSharpenTexFuncSGIS - typedef void (APIENTRYP GLEEPFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLSHARPENTEXFUNCSGISPROC GLeeFuncPtr_glSharpenTexFuncSGIS; - #define glSharpenTexFuncSGIS GLeeFuncPtr_glSharpenTexFuncSGIS -#endif -#ifndef GLEE_H_DEFINED_glGetSharpenTexFuncSGIS -#define GLEE_H_DEFINED_glGetSharpenTexFuncSGIS - typedef void (APIENTRYP GLEEPFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat * points); - GLEE_EXTERN GLEEPFNGLGETSHARPENTEXFUNCSGISPROC GLeeFuncPtr_glGetSharpenTexFuncSGIS; - #define glGetSharpenTexFuncSGIS GLeeFuncPtr_glGetSharpenTexFuncSGIS -#endif -#endif - -/* GL_EXT_packed_pixels */ - -#ifndef GL_EXT_packed_pixels -#define GL_EXT_packed_pixels 1 -#define __GLEE_GL_EXT_packed_pixels 1 -/* Constants */ -#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 -#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 -#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 -#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 -#endif - -/* GL_SGIS_texture_lod */ - -#ifndef GL_SGIS_texture_lod -#define GL_SGIS_texture_lod 1 -#define __GLEE_GL_SGIS_texture_lod 1 -/* Constants */ -#define GL_TEXTURE_MIN_LOD_SGIS 0x813A -#define GL_TEXTURE_MAX_LOD_SGIS 0x813B -#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C -#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D -#endif - -/* GL_SGIS_multisample */ - -#ifndef GL_SGIS_multisample -#define GL_SGIS_multisample 1 -#define __GLEE_GL_SGIS_multisample 1 -/* Constants */ -#define GL_MULTISAMPLE_SGIS 0x809D -#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F -#define GL_SAMPLE_MASK_SGIS 0x80A0 -#define GL_1PASS_SGIS 0x80A1 -#define GL_2PASS_0_SGIS 0x80A2 -#define GL_2PASS_1_SGIS 0x80A3 -#define GL_4PASS_0_SGIS 0x80A4 -#define GL_4PASS_1_SGIS 0x80A5 -#define GL_4PASS_2_SGIS 0x80A6 -#define GL_4PASS_3_SGIS 0x80A7 -#define GL_SAMPLE_BUFFERS_SGIS 0x80A8 -#define GL_SAMPLES_SGIS 0x80A9 -#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA -#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB -#define GL_SAMPLE_PATTERN_SGIS 0x80AC -#ifndef GLEE_H_DEFINED_glSampleMaskSGIS -#define GLEE_H_DEFINED_glSampleMaskSGIS - typedef void (APIENTRYP GLEEPFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); - GLEE_EXTERN GLEEPFNGLSAMPLEMASKSGISPROC GLeeFuncPtr_glSampleMaskSGIS; - #define glSampleMaskSGIS GLeeFuncPtr_glSampleMaskSGIS -#endif -#ifndef GLEE_H_DEFINED_glSamplePatternSGIS -#define GLEE_H_DEFINED_glSamplePatternSGIS - typedef void (APIENTRYP GLEEPFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); - GLEE_EXTERN GLEEPFNGLSAMPLEPATTERNSGISPROC GLeeFuncPtr_glSamplePatternSGIS; - #define glSamplePatternSGIS GLeeFuncPtr_glSamplePatternSGIS -#endif -#endif - -/* GL_EXT_rescale_normal */ - -#ifndef GL_EXT_rescale_normal -#define GL_EXT_rescale_normal 1 -#define __GLEE_GL_EXT_rescale_normal 1 -/* Constants */ -#define GL_RESCALE_NORMAL_EXT 0x803A -#endif - -/* GL_EXT_vertex_array */ - -#ifndef GL_EXT_vertex_array -#define GL_EXT_vertex_array 1 -#define __GLEE_GL_EXT_vertex_array 1 -/* Constants */ -#define GL_VERTEX_ARRAY_EXT 0x8074 -#define GL_NORMAL_ARRAY_EXT 0x8075 -#define GL_COLOR_ARRAY_EXT 0x8076 -#define GL_INDEX_ARRAY_EXT 0x8077 -#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 -#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 -#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A -#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B -#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C -#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D -#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E -#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F -#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 -#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 -#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 -#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 -#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 -#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 -#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 -#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 -#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 -#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 -#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A -#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B -#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C -#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D -#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E -#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F -#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 -#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 -#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 -#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 -#ifndef GLEE_H_DEFINED_glArrayElementEXT -#define GLEE_H_DEFINED_glArrayElementEXT - typedef void (APIENTRYP GLEEPFNGLARRAYELEMENTEXTPROC) (GLint i); - GLEE_EXTERN GLEEPFNGLARRAYELEMENTEXTPROC GLeeFuncPtr_glArrayElementEXT; - #define glArrayElementEXT GLeeFuncPtr_glArrayElementEXT -#endif -#ifndef GLEE_H_DEFINED_glColorPointerEXT -#define GLEE_H_DEFINED_glColorPointerEXT - typedef void (APIENTRYP GLEEPFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLCOLORPOINTEREXTPROC GLeeFuncPtr_glColorPointerEXT; - #define glColorPointerEXT GLeeFuncPtr_glColorPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glDrawArraysEXT -#define GLEE_H_DEFINED_glDrawArraysEXT - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSEXTPROC GLeeFuncPtr_glDrawArraysEXT; - #define glDrawArraysEXT GLeeFuncPtr_glDrawArraysEXT -#endif -#ifndef GLEE_H_DEFINED_glEdgeFlagPointerEXT -#define GLEE_H_DEFINED_glEdgeFlagPointerEXT - typedef void (APIENTRYP GLEEPFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean * pointer); - GLEE_EXTERN GLEEPFNGLEDGEFLAGPOINTEREXTPROC GLeeFuncPtr_glEdgeFlagPointerEXT; - #define glEdgeFlagPointerEXT GLeeFuncPtr_glEdgeFlagPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glGetPointervEXT -#define GLEE_H_DEFINED_glGetPointervEXT - typedef void (APIENTRYP GLEEPFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* * params); - GLEE_EXTERN GLEEPFNGLGETPOINTERVEXTPROC GLeeFuncPtr_glGetPointervEXT; - #define glGetPointervEXT GLeeFuncPtr_glGetPointervEXT -#endif -#ifndef GLEE_H_DEFINED_glIndexPointerEXT -#define GLEE_H_DEFINED_glIndexPointerEXT - typedef void (APIENTRYP GLEEPFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLINDEXPOINTEREXTPROC GLeeFuncPtr_glIndexPointerEXT; - #define glIndexPointerEXT GLeeFuncPtr_glIndexPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glNormalPointerEXT -#define GLEE_H_DEFINED_glNormalPointerEXT - typedef void (APIENTRYP GLEEPFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLNORMALPOINTEREXTPROC GLeeFuncPtr_glNormalPointerEXT; - #define glNormalPointerEXT GLeeFuncPtr_glNormalPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glTexCoordPointerEXT -#define GLEE_H_DEFINED_glTexCoordPointerEXT - typedef void (APIENTRYP GLEEPFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLTEXCOORDPOINTEREXTPROC GLeeFuncPtr_glTexCoordPointerEXT; - #define glTexCoordPointerEXT GLeeFuncPtr_glTexCoordPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexPointerEXT -#define GLEE_H_DEFINED_glVertexPointerEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXPOINTEREXTPROC GLeeFuncPtr_glVertexPointerEXT; - #define glVertexPointerEXT GLeeFuncPtr_glVertexPointerEXT -#endif -#endif - -/* GL_EXT_misc_attribute */ - -#ifndef GL_EXT_misc_attribute -#define GL_EXT_misc_attribute 1 -#define __GLEE_GL_EXT_misc_attribute 1 -/* Constants */ -#endif - -/* GL_SGIS_generate_mipmap */ - -#ifndef GL_SGIS_generate_mipmap -#define GL_SGIS_generate_mipmap 1 -#define __GLEE_GL_SGIS_generate_mipmap 1 -/* Constants */ -#define GL_GENERATE_MIPMAP_SGIS 0x8191 -#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 -#endif - -/* GL_SGIX_clipmap */ - -#ifndef GL_SGIX_clipmap -#define GL_SGIX_clipmap 1 -#define __GLEE_GL_SGIX_clipmap 1 -/* Constants */ -#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170 -#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171 -#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172 -#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173 -#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174 -#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175 -#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176 -#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177 -#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178 -#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D -#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E -#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F -#endif - -/* GL_SGIX_shadow */ - -#ifndef GL_SGIX_shadow -#define GL_SGIX_shadow 1 -#define __GLEE_GL_SGIX_shadow 1 -/* Constants */ -#define GL_TEXTURE_COMPARE_SGIX 0x819A -#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B -#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C -#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D -#endif - -/* GL_SGIS_texture_edge_clamp */ - -#ifndef GL_SGIS_texture_edge_clamp -#define GL_SGIS_texture_edge_clamp 1 -#define __GLEE_GL_SGIS_texture_edge_clamp 1 -/* Constants */ -#define GL_CLAMP_TO_EDGE_SGIS 0x812F -#endif - -/* GL_SGIS_texture_border_clamp */ - -#ifndef GL_SGIS_texture_border_clamp -#define GL_SGIS_texture_border_clamp 1 -#define __GLEE_GL_SGIS_texture_border_clamp 1 -/* Constants */ -#define GL_CLAMP_TO_BORDER_SGIS 0x812D -#endif - -/* GL_EXT_blend_minmax */ - -#ifndef GL_EXT_blend_minmax -#define GL_EXT_blend_minmax 1 -#define __GLEE_GL_EXT_blend_minmax 1 -/* Constants */ -#define GL_FUNC_ADD_EXT 0x8006 -#define GL_MIN_EXT 0x8007 -#define GL_MAX_EXT 0x8008 -#define GL_BLEND_EQUATION_EXT 0x8009 -#ifndef GLEE_H_DEFINED_glBlendEquationEXT -#define GLEE_H_DEFINED_glBlendEquationEXT - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONEXTPROC GLeeFuncPtr_glBlendEquationEXT; - #define glBlendEquationEXT GLeeFuncPtr_glBlendEquationEXT -#endif -#endif - -/* GL_EXT_blend_subtract */ - -#ifndef GL_EXT_blend_subtract -#define GL_EXT_blend_subtract 1 -#define __GLEE_GL_EXT_blend_subtract 1 -/* Constants */ -#define GL_FUNC_SUBTRACT_EXT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B -#endif - -/* GL_EXT_blend_logic_op */ - -#ifndef GL_EXT_blend_logic_op -#define GL_EXT_blend_logic_op 1 -#define __GLEE_GL_EXT_blend_logic_op 1 -/* Constants */ -#endif - -/* GL_SGIX_interlace */ - -#ifndef GL_SGIX_interlace -#define GL_SGIX_interlace 1 -#define __GLEE_GL_SGIX_interlace 1 -/* Constants */ -#define GL_INTERLACE_SGIX 0x8094 -#endif - -/* GL_SGIX_pixel_tiles */ - -#ifndef GL_SGIX_pixel_tiles -#define GL_SGIX_pixel_tiles 1 -#define __GLEE_GL_SGIX_pixel_tiles 1 -/* Constants */ -#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E -#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F -#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140 -#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141 -#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142 -#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143 -#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144 -#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145 -#endif - -/* GL_SGIS_texture_select */ - -#ifndef GL_SGIS_texture_select -#define GL_SGIS_texture_select 1 -#define __GLEE_GL_SGIS_texture_select 1 -/* Constants */ -#define GL_DUAL_ALPHA4_SGIS 0x8110 -#define GL_DUAL_ALPHA8_SGIS 0x8111 -#define GL_DUAL_ALPHA12_SGIS 0x8112 -#define GL_DUAL_ALPHA16_SGIS 0x8113 -#define GL_DUAL_LUMINANCE4_SGIS 0x8114 -#define GL_DUAL_LUMINANCE8_SGIS 0x8115 -#define GL_DUAL_LUMINANCE12_SGIS 0x8116 -#define GL_DUAL_LUMINANCE16_SGIS 0x8117 -#define GL_DUAL_INTENSITY4_SGIS 0x8118 -#define GL_DUAL_INTENSITY8_SGIS 0x8119 -#define GL_DUAL_INTENSITY12_SGIS 0x811A -#define GL_DUAL_INTENSITY16_SGIS 0x811B -#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C -#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D -#define GL_QUAD_ALPHA4_SGIS 0x811E -#define GL_QUAD_ALPHA8_SGIS 0x811F -#define GL_QUAD_LUMINANCE4_SGIS 0x8120 -#define GL_QUAD_LUMINANCE8_SGIS 0x8121 -#define GL_QUAD_INTENSITY4_SGIS 0x8122 -#define GL_QUAD_INTENSITY8_SGIS 0x8123 -#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124 -#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125 -#endif - -/* GL_SGIX_sprite */ - -#ifndef GL_SGIX_sprite -#define GL_SGIX_sprite 1 -#define __GLEE_GL_SGIX_sprite 1 -/* Constants */ -#define GL_SPRITE_SGIX 0x8148 -#define GL_SPRITE_MODE_SGIX 0x8149 -#define GL_SPRITE_AXIS_SGIX 0x814A -#define GL_SPRITE_TRANSLATION_SGIX 0x814B -#define GL_SPRITE_AXIAL_SGIX 0x814C -#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D -#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E -#ifndef GLEE_H_DEFINED_glSpriteParameterfSGIX -#define GLEE_H_DEFINED_glSpriteParameterfSGIX - typedef void (APIENTRYP GLEEPFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLSPRITEPARAMETERFSGIXPROC GLeeFuncPtr_glSpriteParameterfSGIX; - #define glSpriteParameterfSGIX GLeeFuncPtr_glSpriteParameterfSGIX -#endif -#ifndef GLEE_H_DEFINED_glSpriteParameterfvSGIX -#define GLEE_H_DEFINED_glSpriteParameterfvSGIX - typedef void (APIENTRYP GLEEPFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLSPRITEPARAMETERFVSGIXPROC GLeeFuncPtr_glSpriteParameterfvSGIX; - #define glSpriteParameterfvSGIX GLeeFuncPtr_glSpriteParameterfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glSpriteParameteriSGIX -#define GLEE_H_DEFINED_glSpriteParameteriSGIX - typedef void (APIENTRYP GLEEPFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLSPRITEPARAMETERISGIXPROC GLeeFuncPtr_glSpriteParameteriSGIX; - #define glSpriteParameteriSGIX GLeeFuncPtr_glSpriteParameteriSGIX -#endif -#ifndef GLEE_H_DEFINED_glSpriteParameterivSGIX -#define GLEE_H_DEFINED_glSpriteParameterivSGIX - typedef void (APIENTRYP GLEEPFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLSPRITEPARAMETERIVSGIXPROC GLeeFuncPtr_glSpriteParameterivSGIX; - #define glSpriteParameterivSGIX GLeeFuncPtr_glSpriteParameterivSGIX -#endif -#endif - -/* GL_SGIX_texture_multi_buffer */ - -#ifndef GL_SGIX_texture_multi_buffer -#define GL_SGIX_texture_multi_buffer 1 -#define __GLEE_GL_SGIX_texture_multi_buffer 1 -/* Constants */ -#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E -#endif - -/* GL_EXT_point_parameters */ - -#ifndef GL_EXT_point_parameters -#define GL_EXT_point_parameters 1 -#define __GLEE_GL_EXT_point_parameters 1 -/* Constants */ -#define GL_POINT_SIZE_MIN_EXT 0x8126 -#define GL_POINT_SIZE_MAX_EXT 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 -#define GL_DISTANCE_ATTENUATION_EXT 0x8129 -#ifndef GLEE_H_DEFINED_glPointParameterfEXT -#define GLEE_H_DEFINED_glPointParameterfEXT - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFEXTPROC GLeeFuncPtr_glPointParameterfEXT; - #define glPointParameterfEXT GLeeFuncPtr_glPointParameterfEXT -#endif -#ifndef GLEE_H_DEFINED_glPointParameterfvEXT -#define GLEE_H_DEFINED_glPointParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFVEXTPROC GLeeFuncPtr_glPointParameterfvEXT; - #define glPointParameterfvEXT GLeeFuncPtr_glPointParameterfvEXT -#endif -#endif - -/* GL_SGIS_point_parameters */ - -#ifndef GL_SGIS_point_parameters -#define GL_SGIS_point_parameters 1 -#define __GLEE_GL_SGIS_point_parameters 1 -/* Constants */ -#define GL_POINT_SIZE_MIN_SGIS 0x8126 -#define GL_POINT_SIZE_MAX_SGIS 0x8127 -#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128 -#define GL_DISTANCE_ATTENUATION_SGIS 0x8129 -#ifndef GLEE_H_DEFINED_glPointParameterfSGIS -#define GLEE_H_DEFINED_glPointParameterfSGIS - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFSGISPROC GLeeFuncPtr_glPointParameterfSGIS; - #define glPointParameterfSGIS GLeeFuncPtr_glPointParameterfSGIS -#endif -#ifndef GLEE_H_DEFINED_glPointParameterfvSGIS -#define GLEE_H_DEFINED_glPointParameterfvSGIS - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERFVSGISPROC GLeeFuncPtr_glPointParameterfvSGIS; - #define glPointParameterfvSGIS GLeeFuncPtr_glPointParameterfvSGIS -#endif -#endif - -/* GL_SGIX_instruments */ - -#ifndef GL_SGIX_instruments -#define GL_SGIX_instruments 1 -#define __GLEE_GL_SGIX_instruments 1 -/* Constants */ -#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180 -#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181 -#ifndef GLEE_H_DEFINED_glGetInstrumentsSGIX -#define GLEE_H_DEFINED_glGetInstrumentsSGIX - typedef GLint (APIENTRYP GLEEPFNGLGETINSTRUMENTSSGIXPROC) (); - GLEE_EXTERN GLEEPFNGLGETINSTRUMENTSSGIXPROC GLeeFuncPtr_glGetInstrumentsSGIX; - #define glGetInstrumentsSGIX GLeeFuncPtr_glGetInstrumentsSGIX -#endif -#ifndef GLEE_H_DEFINED_glInstrumentsBufferSGIX -#define GLEE_H_DEFINED_glInstrumentsBufferSGIX - typedef void (APIENTRYP GLEEPFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint * buffer); - GLEE_EXTERN GLEEPFNGLINSTRUMENTSBUFFERSGIXPROC GLeeFuncPtr_glInstrumentsBufferSGIX; - #define glInstrumentsBufferSGIX GLeeFuncPtr_glInstrumentsBufferSGIX -#endif -#ifndef GLEE_H_DEFINED_glPollInstrumentsSGIX -#define GLEE_H_DEFINED_glPollInstrumentsSGIX - typedef GLint (APIENTRYP GLEEPFNGLPOLLINSTRUMENTSSGIXPROC) (GLint * marker_p); - GLEE_EXTERN GLEEPFNGLPOLLINSTRUMENTSSGIXPROC GLeeFuncPtr_glPollInstrumentsSGIX; - #define glPollInstrumentsSGIX GLeeFuncPtr_glPollInstrumentsSGIX -#endif -#ifndef GLEE_H_DEFINED_glReadInstrumentsSGIX -#define GLEE_H_DEFINED_glReadInstrumentsSGIX - typedef void (APIENTRYP GLEEPFNGLREADINSTRUMENTSSGIXPROC) (GLint marker); - GLEE_EXTERN GLEEPFNGLREADINSTRUMENTSSGIXPROC GLeeFuncPtr_glReadInstrumentsSGIX; - #define glReadInstrumentsSGIX GLeeFuncPtr_glReadInstrumentsSGIX -#endif -#ifndef GLEE_H_DEFINED_glStartInstrumentsSGIX -#define GLEE_H_DEFINED_glStartInstrumentsSGIX - typedef void (APIENTRYP GLEEPFNGLSTARTINSTRUMENTSSGIXPROC) (); - GLEE_EXTERN GLEEPFNGLSTARTINSTRUMENTSSGIXPROC GLeeFuncPtr_glStartInstrumentsSGIX; - #define glStartInstrumentsSGIX GLeeFuncPtr_glStartInstrumentsSGIX -#endif -#ifndef GLEE_H_DEFINED_glStopInstrumentsSGIX -#define GLEE_H_DEFINED_glStopInstrumentsSGIX - typedef void (APIENTRYP GLEEPFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker); - GLEE_EXTERN GLEEPFNGLSTOPINSTRUMENTSSGIXPROC GLeeFuncPtr_glStopInstrumentsSGIX; - #define glStopInstrumentsSGIX GLeeFuncPtr_glStopInstrumentsSGIX -#endif -#endif - -/* GL_SGIX_texture_scale_bias */ - -#ifndef GL_SGIX_texture_scale_bias -#define GL_SGIX_texture_scale_bias 1 -#define __GLEE_GL_SGIX_texture_scale_bias 1 -/* Constants */ -#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 -#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A -#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B -#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C -#endif - -/* GL_SGIX_framezoom */ - -#ifndef GL_SGIX_framezoom -#define GL_SGIX_framezoom 1 -#define __GLEE_GL_SGIX_framezoom 1 -/* Constants */ -#define GL_FRAMEZOOM_SGIX 0x818B -#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C -#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D -#ifndef GLEE_H_DEFINED_glFrameZoomSGIX -#define GLEE_H_DEFINED_glFrameZoomSGIX - typedef void (APIENTRYP GLEEPFNGLFRAMEZOOMSGIXPROC) (GLint factor); - GLEE_EXTERN GLEEPFNGLFRAMEZOOMSGIXPROC GLeeFuncPtr_glFrameZoomSGIX; - #define glFrameZoomSGIX GLeeFuncPtr_glFrameZoomSGIX -#endif -#endif - -/* GL_SGIX_tag_sample_buffer */ - -#ifndef GL_SGIX_tag_sample_buffer -#define GL_SGIX_tag_sample_buffer 1 -#define __GLEE_GL_SGIX_tag_sample_buffer 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glTagSampleBufferSGIX -#define GLEE_H_DEFINED_glTagSampleBufferSGIX - typedef void (APIENTRYP GLEEPFNGLTAGSAMPLEBUFFERSGIXPROC) (); - GLEE_EXTERN GLEEPFNGLTAGSAMPLEBUFFERSGIXPROC GLeeFuncPtr_glTagSampleBufferSGIX; - #define glTagSampleBufferSGIX GLeeFuncPtr_glTagSampleBufferSGIX -#endif -#endif - -/* GL_FfdMaskSGIX */ - -#ifndef GL_FfdMaskSGIX -#define GL_FfdMaskSGIX 1 -#define __GLEE_GL_FfdMaskSGIX 1 -/* Constants */ -#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001 -#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002 -#endif - -/* GL_SGIX_polynomial_ffd */ - -#ifndef GL_SGIX_polynomial_ffd -#define GL_SGIX_polynomial_ffd 1 -#define __GLEE_GL_SGIX_polynomial_ffd 1 -/* Constants */ -#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194 -#define GL_TEXTURE_DEFORMATION_SGIX 0x8195 -#define GL_DEFORMATIONS_MASK_SGIX 0x8196 -#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197 -#ifndef GLEE_H_DEFINED_glDeformationMap3dSGIX -#define GLEE_H_DEFINED_glDeformationMap3dSGIX - typedef void (APIENTRYP GLEEPFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble * points); - GLEE_EXTERN GLEEPFNGLDEFORMATIONMAP3DSGIXPROC GLeeFuncPtr_glDeformationMap3dSGIX; - #define glDeformationMap3dSGIX GLeeFuncPtr_glDeformationMap3dSGIX -#endif -#ifndef GLEE_H_DEFINED_glDeformationMap3fSGIX -#define GLEE_H_DEFINED_glDeformationMap3fSGIX - typedef void (APIENTRYP GLEEPFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLDEFORMATIONMAP3FSGIXPROC GLeeFuncPtr_glDeformationMap3fSGIX; - #define glDeformationMap3fSGIX GLeeFuncPtr_glDeformationMap3fSGIX -#endif -#ifndef GLEE_H_DEFINED_glDeformSGIX -#define GLEE_H_DEFINED_glDeformSGIX - typedef void (APIENTRYP GLEEPFNGLDEFORMSGIXPROC) (GLbitfield mask); - GLEE_EXTERN GLEEPFNGLDEFORMSGIXPROC GLeeFuncPtr_glDeformSGIX; - #define glDeformSGIX GLeeFuncPtr_glDeformSGIX -#endif -#ifndef GLEE_H_DEFINED_glLoadIdentityDeformationMapSGIX -#define GLEE_H_DEFINED_glLoadIdentityDeformationMapSGIX - typedef void (APIENTRYP GLEEPFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask); - GLEE_EXTERN GLEEPFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC GLeeFuncPtr_glLoadIdentityDeformationMapSGIX; - #define glLoadIdentityDeformationMapSGIX GLeeFuncPtr_glLoadIdentityDeformationMapSGIX -#endif -#endif - -/* GL_SGIX_reference_plane */ - -#ifndef GL_SGIX_reference_plane -#define GL_SGIX_reference_plane 1 -#define __GLEE_GL_SGIX_reference_plane 1 -/* Constants */ -#define GL_REFERENCE_PLANE_SGIX 0x817D -#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E -#ifndef GLEE_H_DEFINED_glReferencePlaneSGIX -#define GLEE_H_DEFINED_glReferencePlaneSGIX - typedef void (APIENTRYP GLEEPFNGLREFERENCEPLANESGIXPROC) (const GLdouble * equation); - GLEE_EXTERN GLEEPFNGLREFERENCEPLANESGIXPROC GLeeFuncPtr_glReferencePlaneSGIX; - #define glReferencePlaneSGIX GLeeFuncPtr_glReferencePlaneSGIX -#endif -#endif - -/* GL_SGIX_flush_raster */ - -#ifndef GL_SGIX_flush_raster -#define GL_SGIX_flush_raster 1 -#define __GLEE_GL_SGIX_flush_raster 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glFlushRasterSGIX -#define GLEE_H_DEFINED_glFlushRasterSGIX - typedef void (APIENTRYP GLEEPFNGLFLUSHRASTERSGIXPROC) (); - GLEE_EXTERN GLEEPFNGLFLUSHRASTERSGIXPROC GLeeFuncPtr_glFlushRasterSGIX; - #define glFlushRasterSGIX GLeeFuncPtr_glFlushRasterSGIX -#endif -#endif - -/* GL_SGIX_depth_texture */ - -#ifndef GL_SGIX_depth_texture -#define GL_SGIX_depth_texture 1 -#define __GLEE_GL_SGIX_depth_texture 1 -/* Constants */ -#define GL_DEPTH_COMPONENT16_SGIX 0x81A5 -#define GL_DEPTH_COMPONENT24_SGIX 0x81A6 -#define GL_DEPTH_COMPONENT32_SGIX 0x81A7 -#endif - -/* GL_SGIS_fog_function */ - -#ifndef GL_SGIS_fog_function -#define GL_SGIS_fog_function 1 -#define __GLEE_GL_SGIS_fog_function 1 -/* Constants */ -#define GL_FOG_FUNC_SGIS 0x812A -#define GL_FOG_FUNC_POINTS_SGIS 0x812B -#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C -#ifndef GLEE_H_DEFINED_glFogFuncSGIS -#define GLEE_H_DEFINED_glFogFuncSGIS - typedef void (APIENTRYP GLEEPFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLFOGFUNCSGISPROC GLeeFuncPtr_glFogFuncSGIS; - #define glFogFuncSGIS GLeeFuncPtr_glFogFuncSGIS -#endif -#ifndef GLEE_H_DEFINED_glGetFogFuncSGIS -#define GLEE_H_DEFINED_glGetFogFuncSGIS - typedef void (APIENTRYP GLEEPFNGLGETFOGFUNCSGISPROC) (GLfloat * points); - GLEE_EXTERN GLEEPFNGLGETFOGFUNCSGISPROC GLeeFuncPtr_glGetFogFuncSGIS; - #define glGetFogFuncSGIS GLeeFuncPtr_glGetFogFuncSGIS -#endif -#endif - -/* GL_SGIX_fog_offset */ - -#ifndef GL_SGIX_fog_offset -#define GL_SGIX_fog_offset 1 -#define __GLEE_GL_SGIX_fog_offset 1 -/* Constants */ -#define GL_FOG_OFFSET_SGIX 0x8198 -#define GL_FOG_OFFSET_VALUE_SGIX 0x8199 -#endif - -/* GL_HP_image_transform */ - -#ifndef GL_HP_image_transform -#define GL_HP_image_transform 1 -#define __GLEE_GL_HP_image_transform 1 -/* Constants */ -#define GL_IMAGE_SCALE_X_HP 0x8155 -#define GL_IMAGE_SCALE_Y_HP 0x8156 -#define GL_IMAGE_TRANSLATE_X_HP 0x8157 -#define GL_IMAGE_TRANSLATE_Y_HP 0x8158 -#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159 -#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A -#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B -#define GL_IMAGE_MAG_FILTER_HP 0x815C -#define GL_IMAGE_MIN_FILTER_HP 0x815D -#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E -#define GL_CUBIC_HP 0x815F -#define GL_AVERAGE_HP 0x8160 -#define GL_IMAGE_TRANSFORM_2D_HP 0x8161 -#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162 -#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163 -#ifndef GLEE_H_DEFINED_glImageTransformParameteriHP -#define GLEE_H_DEFINED_glImageTransformParameteriHP - typedef void (APIENTRYP GLEEPFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLIMAGETRANSFORMPARAMETERIHPPROC GLeeFuncPtr_glImageTransformParameteriHP; - #define glImageTransformParameteriHP GLeeFuncPtr_glImageTransformParameteriHP -#endif -#ifndef GLEE_H_DEFINED_glImageTransformParameterfHP -#define GLEE_H_DEFINED_glImageTransformParameterfHP - typedef void (APIENTRYP GLEEPFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLIMAGETRANSFORMPARAMETERFHPPROC GLeeFuncPtr_glImageTransformParameterfHP; - #define glImageTransformParameterfHP GLeeFuncPtr_glImageTransformParameterfHP -#endif -#ifndef GLEE_H_DEFINED_glImageTransformParameterivHP -#define GLEE_H_DEFINED_glImageTransformParameterivHP - typedef void (APIENTRYP GLEEPFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLIMAGETRANSFORMPARAMETERIVHPPROC GLeeFuncPtr_glImageTransformParameterivHP; - #define glImageTransformParameterivHP GLeeFuncPtr_glImageTransformParameterivHP -#endif -#ifndef GLEE_H_DEFINED_glImageTransformParameterfvHP -#define GLEE_H_DEFINED_glImageTransformParameterfvHP - typedef void (APIENTRYP GLEEPFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLIMAGETRANSFORMPARAMETERFVHPPROC GLeeFuncPtr_glImageTransformParameterfvHP; - #define glImageTransformParameterfvHP GLeeFuncPtr_glImageTransformParameterfvHP -#endif -#ifndef GLEE_H_DEFINED_glGetImageTransformParameterivHP -#define GLEE_H_DEFINED_glGetImageTransformParameterivHP - typedef void (APIENTRYP GLEEPFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC GLeeFuncPtr_glGetImageTransformParameterivHP; - #define glGetImageTransformParameterivHP GLeeFuncPtr_glGetImageTransformParameterivHP -#endif -#ifndef GLEE_H_DEFINED_glGetImageTransformParameterfvHP -#define GLEE_H_DEFINED_glGetImageTransformParameterfvHP - typedef void (APIENTRYP GLEEPFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC GLeeFuncPtr_glGetImageTransformParameterfvHP; - #define glGetImageTransformParameterfvHP GLeeFuncPtr_glGetImageTransformParameterfvHP -#endif -#endif - -/* GL_HP_convolution_border_modes */ - -#ifndef GL_HP_convolution_border_modes -#define GL_HP_convolution_border_modes 1 -#define __GLEE_GL_HP_convolution_border_modes 1 -/* Constants */ -#define GL_IGNORE_BORDER_HP 0x8150 -#define GL_CONSTANT_BORDER_HP 0x8151 -#define GL_REPLICATE_BORDER_HP 0x8153 -#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154 -#endif - -/* GL_INGR_palette_buffer */ - -#ifndef GL_INGR_palette_buffer -#define GL_INGR_palette_buffer 1 -#define __GLEE_GL_INGR_palette_buffer 1 -/* Constants */ -#endif - -/* GL_SGIX_texture_add_env */ - -#ifndef GL_SGIX_texture_add_env -#define GL_SGIX_texture_add_env 1 -#define __GLEE_GL_SGIX_texture_add_env 1 -/* Constants */ -#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE -#endif - -/* GL_EXT_color_subtable */ - -#ifndef GL_EXT_color_subtable -#define GL_EXT_color_subtable 1 -#define __GLEE_GL_EXT_color_subtable 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glColorSubTableEXT -#define GLEE_H_DEFINED_glColorSubTableEXT - typedef void (APIENTRYP GLEEPFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLCOLORSUBTABLEEXTPROC GLeeFuncPtr_glColorSubTableEXT; - #define glColorSubTableEXT GLeeFuncPtr_glColorSubTableEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyColorSubTableEXT -#define GLEE_H_DEFINED_glCopyColorSubTableEXT - typedef void (APIENTRYP GLEEPFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYCOLORSUBTABLEEXTPROC GLeeFuncPtr_glCopyColorSubTableEXT; - #define glCopyColorSubTableEXT GLeeFuncPtr_glCopyColorSubTableEXT -#endif -#endif - -/* GL_PGI_vertex_hints */ - -#ifndef GL_PGI_vertex_hints -#define GL_PGI_vertex_hints 1 -#define __GLEE_GL_PGI_vertex_hints 1 -/* Constants */ -#define GL_VERTEX_DATA_HINT_PGI 0x1A22A -#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B -#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C -#define GL_MAX_VERTEX_HINT_PGI 0x1A22D -#define GL_COLOR3_BIT_PGI 0x00010000 -#define GL_COLOR4_BIT_PGI 0x00020000 -#define GL_EDGEFLAG_BIT_PGI 0x00040000 -#define GL_INDEX_BIT_PGI 0x00080000 -#define GL_MAT_AMBIENT_BIT_PGI 0x00100000 -#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 -#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 -#define GL_MAT_EMISSION_BIT_PGI 0x00800000 -#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 -#define GL_MAT_SHININESS_BIT_PGI 0x02000000 -#define GL_MAT_SPECULAR_BIT_PGI 0x04000000 -#define GL_NORMAL_BIT_PGI 0x08000000 -#define GL_TEXCOORD1_BIT_PGI 0x10000000 -#define GL_TEXCOORD2_BIT_PGI 0x20000000 -#define GL_TEXCOORD3_BIT_PGI 0x40000000 -#define GL_TEXCOORD4_BIT_PGI 0x80000000 -#define GL_VERTEX23_BIT_PGI 0x00000004 -#define GL_VERTEX4_BIT_PGI 0x00000008 -#endif - -/* GL_PGI_misc_hints */ - -#ifndef GL_PGI_misc_hints -#define GL_PGI_misc_hints 1 -#define __GLEE_GL_PGI_misc_hints 1 -/* Constants */ -#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8 -#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD -#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE -#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202 -#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203 -#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204 -#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C -#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D -#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E -#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F -#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210 -#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211 -#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216 -#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217 -#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218 -#define GL_FULL_STIPPLE_HINT_PGI 0x1A219 -#define GL_CLIP_NEAR_HINT_PGI 0x1A220 -#define GL_CLIP_FAR_HINT_PGI 0x1A221 -#define GL_WIDE_LINE_HINT_PGI 0x1A222 -#define GL_BACK_NORMALS_HINT_PGI 0x1A223 -#ifndef GLEE_H_DEFINED_glHintPGI -#define GLEE_H_DEFINED_glHintPGI - typedef void (APIENTRYP GLEEPFNGLHINTPGIPROC) (GLenum target, GLint mode); - GLEE_EXTERN GLEEPFNGLHINTPGIPROC GLeeFuncPtr_glHintPGI; - #define glHintPGI GLeeFuncPtr_glHintPGI -#endif -#endif - -/* GL_EXT_paletted_texture */ - -#ifndef GL_EXT_paletted_texture -#define GL_EXT_paletted_texture 1 -#define __GLEE_GL_EXT_paletted_texture 1 -/* Constants */ -#define GL_COLOR_INDEX1_EXT 0x80E2 -#define GL_COLOR_INDEX2_EXT 0x80E3 -#define GL_COLOR_INDEX4_EXT 0x80E4 -#define GL_COLOR_INDEX8_EXT 0x80E5 -#define GL_COLOR_INDEX12_EXT 0x80E6 -#define GL_COLOR_INDEX16_EXT 0x80E7 -#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED -#ifndef GLEE_H_DEFINED_glColorTableEXT -#define GLEE_H_DEFINED_glColorTableEXT - typedef void (APIENTRYP GLEEPFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); - GLEE_EXTERN GLEEPFNGLCOLORTABLEEXTPROC GLeeFuncPtr_glColorTableEXT; - #define glColorTableEXT GLeeFuncPtr_glColorTableEXT -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableEXT -#define GLEE_H_DEFINED_glGetColorTableEXT - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid * data); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEEXTPROC GLeeFuncPtr_glGetColorTableEXT; - #define glGetColorTableEXT GLeeFuncPtr_glGetColorTableEXT -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameterivEXT -#define GLEE_H_DEFINED_glGetColorTableParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERIVEXTPROC GLeeFuncPtr_glGetColorTableParameterivEXT; - #define glGetColorTableParameterivEXT GLeeFuncPtr_glGetColorTableParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetColorTableParameterfvEXT -#define GLEE_H_DEFINED_glGetColorTableParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOLORTABLEPARAMETERFVEXTPROC GLeeFuncPtr_glGetColorTableParameterfvEXT; - #define glGetColorTableParameterfvEXT GLeeFuncPtr_glGetColorTableParameterfvEXT -#endif -#endif - -/* GL_EXT_clip_volume_hint */ - -#ifndef GL_EXT_clip_volume_hint -#define GL_EXT_clip_volume_hint 1 -#define __GLEE_GL_EXT_clip_volume_hint 1 -/* Constants */ -#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 -#endif - -/* GL_SGIX_list_priority */ - -#ifndef GL_SGIX_list_priority -#define GL_SGIX_list_priority 1 -#define __GLEE_GL_SGIX_list_priority 1 -/* Constants */ -#define GL_LIST_PRIORITY_SGIX 0x8182 -#ifndef GLEE_H_DEFINED_glGetListParameterfvSGIX -#define GLEE_H_DEFINED_glGetListParameterfvSGIX - typedef void (APIENTRYP GLEEPFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETLISTPARAMETERFVSGIXPROC GLeeFuncPtr_glGetListParameterfvSGIX; - #define glGetListParameterfvSGIX GLeeFuncPtr_glGetListParameterfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glGetListParameterivSGIX -#define GLEE_H_DEFINED_glGetListParameterivSGIX - typedef void (APIENTRYP GLEEPFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETLISTPARAMETERIVSGIXPROC GLeeFuncPtr_glGetListParameterivSGIX; - #define glGetListParameterivSGIX GLeeFuncPtr_glGetListParameterivSGIX -#endif -#ifndef GLEE_H_DEFINED_glListParameterfSGIX -#define GLEE_H_DEFINED_glListParameterfSGIX - typedef void (APIENTRYP GLEEPFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLLISTPARAMETERFSGIXPROC GLeeFuncPtr_glListParameterfSGIX; - #define glListParameterfSGIX GLeeFuncPtr_glListParameterfSGIX -#endif -#ifndef GLEE_H_DEFINED_glListParameterfvSGIX -#define GLEE_H_DEFINED_glListParameterfvSGIX - typedef void (APIENTRYP GLEEPFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLLISTPARAMETERFVSGIXPROC GLeeFuncPtr_glListParameterfvSGIX; - #define glListParameterfvSGIX GLeeFuncPtr_glListParameterfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glListParameteriSGIX -#define GLEE_H_DEFINED_glListParameteriSGIX - typedef void (APIENTRYP GLEEPFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLLISTPARAMETERISGIXPROC GLeeFuncPtr_glListParameteriSGIX; - #define glListParameteriSGIX GLeeFuncPtr_glListParameteriSGIX -#endif -#ifndef GLEE_H_DEFINED_glListParameterivSGIX -#define GLEE_H_DEFINED_glListParameterivSGIX - typedef void (APIENTRYP GLEEPFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLLISTPARAMETERIVSGIXPROC GLeeFuncPtr_glListParameterivSGIX; - #define glListParameterivSGIX GLeeFuncPtr_glListParameterivSGIX -#endif -#endif - -/* GL_SGIX_ir_instrument1 */ - -#ifndef GL_SGIX_ir_instrument1 -#define GL_SGIX_ir_instrument1 1 -#define __GLEE_GL_SGIX_ir_instrument1 1 -/* Constants */ -#define GL_IR_INSTRUMENT1_SGIX 0x817F -#endif - -/* GL_SGIX_calligraphic_fragment */ - -#ifndef GL_SGIX_calligraphic_fragment -#define GL_SGIX_calligraphic_fragment 1 -#define __GLEE_GL_SGIX_calligraphic_fragment 1 -/* Constants */ -#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183 -#endif - -/* GL_SGIX_texture_lod_bias */ - -#ifndef GL_SGIX_texture_lod_bias -#define GL_SGIX_texture_lod_bias 1 -#define __GLEE_GL_SGIX_texture_lod_bias 1 -/* Constants */ -#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E -#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F -#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190 -#endif - -/* GL_SGIX_shadow_ambient */ - -#ifndef GL_SGIX_shadow_ambient -#define GL_SGIX_shadow_ambient 1 -#define __GLEE_GL_SGIX_shadow_ambient 1 -/* Constants */ -#define GL_SHADOW_AMBIENT_SGIX 0x80BF -#endif - -/* GL_EXT_index_texture */ - -#ifndef GL_EXT_index_texture -#define GL_EXT_index_texture 1 -#define __GLEE_GL_EXT_index_texture 1 -/* Constants */ -#endif - -/* GL_EXT_index_material */ - -#ifndef GL_EXT_index_material -#define GL_EXT_index_material 1 -#define __GLEE_GL_EXT_index_material 1 -/* Constants */ -#define GL_INDEX_MATERIAL_EXT 0x81B8 -#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9 -#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA -#ifndef GLEE_H_DEFINED_glIndexMaterialEXT -#define GLEE_H_DEFINED_glIndexMaterialEXT - typedef void (APIENTRYP GLEEPFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); - GLEE_EXTERN GLEEPFNGLINDEXMATERIALEXTPROC GLeeFuncPtr_glIndexMaterialEXT; - #define glIndexMaterialEXT GLeeFuncPtr_glIndexMaterialEXT -#endif -#endif - -/* GL_EXT_index_func */ - -#ifndef GL_EXT_index_func -#define GL_EXT_index_func 1 -#define __GLEE_GL_EXT_index_func 1 -/* Constants */ -#define GL_INDEX_TEST_EXT 0x81B5 -#define GL_INDEX_TEST_FUNC_EXT 0x81B6 -#define GL_INDEX_TEST_REF_EXT 0x81B7 -#ifndef GLEE_H_DEFINED_glIndexFuncEXT -#define GLEE_H_DEFINED_glIndexFuncEXT - typedef void (APIENTRYP GLEEPFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref); - GLEE_EXTERN GLEEPFNGLINDEXFUNCEXTPROC GLeeFuncPtr_glIndexFuncEXT; - #define glIndexFuncEXT GLeeFuncPtr_glIndexFuncEXT -#endif -#endif - -/* GL_EXT_index_array_formats */ - -#ifndef GL_EXT_index_array_formats -#define GL_EXT_index_array_formats 1 -#define __GLEE_GL_EXT_index_array_formats 1 -/* Constants */ -#define GL_IUI_V2F_EXT 0x81AD -#define GL_IUI_V3F_EXT 0x81AE -#define GL_IUI_N3F_V2F_EXT 0x81AF -#define GL_IUI_N3F_V3F_EXT 0x81B0 -#define GL_T2F_IUI_V2F_EXT 0x81B1 -#define GL_T2F_IUI_V3F_EXT 0x81B2 -#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3 -#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4 -#endif - -/* GL_EXT_compiled_vertex_array */ - -#ifndef GL_EXT_compiled_vertex_array -#define GL_EXT_compiled_vertex_array 1 -#define __GLEE_GL_EXT_compiled_vertex_array 1 -/* Constants */ -#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 -#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 -#ifndef GLEE_H_DEFINED_glLockArraysEXT -#define GLEE_H_DEFINED_glLockArraysEXT - typedef void (APIENTRYP GLEEPFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); - GLEE_EXTERN GLEEPFNGLLOCKARRAYSEXTPROC GLeeFuncPtr_glLockArraysEXT; - #define glLockArraysEXT GLeeFuncPtr_glLockArraysEXT -#endif -#ifndef GLEE_H_DEFINED_glUnlockArraysEXT -#define GLEE_H_DEFINED_glUnlockArraysEXT - typedef void (APIENTRYP GLEEPFNGLUNLOCKARRAYSEXTPROC) (); - GLEE_EXTERN GLEEPFNGLUNLOCKARRAYSEXTPROC GLeeFuncPtr_glUnlockArraysEXT; - #define glUnlockArraysEXT GLeeFuncPtr_glUnlockArraysEXT -#endif -#endif - -/* GL_EXT_cull_vertex */ - -#ifndef GL_EXT_cull_vertex -#define GL_EXT_cull_vertex 1 -#define __GLEE_GL_EXT_cull_vertex 1 -/* Constants */ -#define GL_CULL_VERTEX_EXT 0x81AA -#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB -#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC -#ifndef GLEE_H_DEFINED_glCullParameterdvEXT -#define GLEE_H_DEFINED_glCullParameterdvEXT - typedef void (APIENTRYP GLEEPFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLCULLPARAMETERDVEXTPROC GLeeFuncPtr_glCullParameterdvEXT; - #define glCullParameterdvEXT GLeeFuncPtr_glCullParameterdvEXT -#endif -#ifndef GLEE_H_DEFINED_glCullParameterfvEXT -#define GLEE_H_DEFINED_glCullParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLCULLPARAMETERFVEXTPROC GLeeFuncPtr_glCullParameterfvEXT; - #define glCullParameterfvEXT GLeeFuncPtr_glCullParameterfvEXT -#endif -#endif - -/* GL_SGIX_ycrcb */ - -#ifndef GL_SGIX_ycrcb -#define GL_SGIX_ycrcb 1 -#define __GLEE_GL_SGIX_ycrcb 1 -/* Constants */ -#define GL_YCRCB_422_SGIX 0x81BB -#define GL_YCRCB_444_SGIX 0x81BC -#endif - -/* GL_SGIX_fragment_lighting */ - -#ifndef GL_SGIX_fragment_lighting -#define GL_SGIX_fragment_lighting 1 -#define __GLEE_GL_SGIX_fragment_lighting 1 -/* Constants */ -#define GL_FRAGMENT_LIGHTING_SGIX 0x8400 -#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401 -#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402 -#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403 -#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404 -#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405 -#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406 -#define GL_LIGHT_ENV_MODE_SGIX 0x8407 -#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408 -#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409 -#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A -#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B -#define GL_FRAGMENT_LIGHT0_SGIX 0x840C -#define GL_FRAGMENT_LIGHT1_SGIX 0x840D -#define GL_FRAGMENT_LIGHT2_SGIX 0x840E -#define GL_FRAGMENT_LIGHT3_SGIX 0x840F -#define GL_FRAGMENT_LIGHT4_SGIX 0x8410 -#define GL_FRAGMENT_LIGHT5_SGIX 0x8411 -#define GL_FRAGMENT_LIGHT6_SGIX 0x8412 -#define GL_FRAGMENT_LIGHT7_SGIX 0x8413 -#ifndef GLEE_H_DEFINED_glFragmentColorMaterialSGIX -#define GLEE_H_DEFINED_glFragmentColorMaterialSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); - GLEE_EXTERN GLEEPFNGLFRAGMENTCOLORMATERIALSGIXPROC GLeeFuncPtr_glFragmentColorMaterialSGIX; - #define glFragmentColorMaterialSGIX GLeeFuncPtr_glFragmentColorMaterialSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightfSGIX -#define GLEE_H_DEFINED_glFragmentLightfSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTFSGIXPROC GLeeFuncPtr_glFragmentLightfSGIX; - #define glFragmentLightfSGIX GLeeFuncPtr_glFragmentLightfSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightfvSGIX -#define GLEE_H_DEFINED_glFragmentLightfvSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTFVSGIXPROC GLeeFuncPtr_glFragmentLightfvSGIX; - #define glFragmentLightfvSGIX GLeeFuncPtr_glFragmentLightfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightiSGIX -#define GLEE_H_DEFINED_glFragmentLightiSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTISGIXPROC GLeeFuncPtr_glFragmentLightiSGIX; - #define glFragmentLightiSGIX GLeeFuncPtr_glFragmentLightiSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightivSGIX -#define GLEE_H_DEFINED_glFragmentLightivSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTIVSGIXPROC GLeeFuncPtr_glFragmentLightivSGIX; - #define glFragmentLightivSGIX GLeeFuncPtr_glFragmentLightivSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightModelfSGIX -#define GLEE_H_DEFINED_glFragmentLightModelfSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTMODELFSGIXPROC GLeeFuncPtr_glFragmentLightModelfSGIX; - #define glFragmentLightModelfSGIX GLeeFuncPtr_glFragmentLightModelfSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightModelfvSGIX -#define GLEE_H_DEFINED_glFragmentLightModelfvSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTMODELFVSGIXPROC GLeeFuncPtr_glFragmentLightModelfvSGIX; - #define glFragmentLightModelfvSGIX GLeeFuncPtr_glFragmentLightModelfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightModeliSGIX -#define GLEE_H_DEFINED_glFragmentLightModeliSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTMODELISGIXPROC GLeeFuncPtr_glFragmentLightModeliSGIX; - #define glFragmentLightModeliSGIX GLeeFuncPtr_glFragmentLightModeliSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentLightModelivSGIX -#define GLEE_H_DEFINED_glFragmentLightModelivSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTLIGHTMODELIVSGIXPROC GLeeFuncPtr_glFragmentLightModelivSGIX; - #define glFragmentLightModelivSGIX GLeeFuncPtr_glFragmentLightModelivSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentMaterialfSGIX -#define GLEE_H_DEFINED_glFragmentMaterialfSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLFRAGMENTMATERIALFSGIXPROC GLeeFuncPtr_glFragmentMaterialfSGIX; - #define glFragmentMaterialfSGIX GLeeFuncPtr_glFragmentMaterialfSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentMaterialfvSGIX -#define GLEE_H_DEFINED_glFragmentMaterialfvSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTMATERIALFVSGIXPROC GLeeFuncPtr_glFragmentMaterialfvSGIX; - #define glFragmentMaterialfvSGIX GLeeFuncPtr_glFragmentMaterialfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentMaterialiSGIX -#define GLEE_H_DEFINED_glFragmentMaterialiSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLFRAGMENTMATERIALISGIXPROC GLeeFuncPtr_glFragmentMaterialiSGIX; - #define glFragmentMaterialiSGIX GLeeFuncPtr_glFragmentMaterialiSGIX -#endif -#ifndef GLEE_H_DEFINED_glFragmentMaterialivSGIX -#define GLEE_H_DEFINED_glFragmentMaterialivSGIX - typedef void (APIENTRYP GLEEPFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLFRAGMENTMATERIALIVSGIXPROC GLeeFuncPtr_glFragmentMaterialivSGIX; - #define glFragmentMaterialivSGIX GLeeFuncPtr_glFragmentMaterialivSGIX -#endif -#ifndef GLEE_H_DEFINED_glGetFragmentLightfvSGIX -#define GLEE_H_DEFINED_glGetFragmentLightfvSGIX - typedef void (APIENTRYP GLEEPFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETFRAGMENTLIGHTFVSGIXPROC GLeeFuncPtr_glGetFragmentLightfvSGIX; - #define glGetFragmentLightfvSGIX GLeeFuncPtr_glGetFragmentLightfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glGetFragmentLightivSGIX -#define GLEE_H_DEFINED_glGetFragmentLightivSGIX - typedef void (APIENTRYP GLEEPFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAGMENTLIGHTIVSGIXPROC GLeeFuncPtr_glGetFragmentLightivSGIX; - #define glGetFragmentLightivSGIX GLeeFuncPtr_glGetFragmentLightivSGIX -#endif -#ifndef GLEE_H_DEFINED_glGetFragmentMaterialfvSGIX -#define GLEE_H_DEFINED_glGetFragmentMaterialfvSGIX - typedef void (APIENTRYP GLEEPFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETFRAGMENTMATERIALFVSGIXPROC GLeeFuncPtr_glGetFragmentMaterialfvSGIX; - #define glGetFragmentMaterialfvSGIX GLeeFuncPtr_glGetFragmentMaterialfvSGIX -#endif -#ifndef GLEE_H_DEFINED_glGetFragmentMaterialivSGIX -#define GLEE_H_DEFINED_glGetFragmentMaterialivSGIX - typedef void (APIENTRYP GLEEPFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAGMENTMATERIALIVSGIXPROC GLeeFuncPtr_glGetFragmentMaterialivSGIX; - #define glGetFragmentMaterialivSGIX GLeeFuncPtr_glGetFragmentMaterialivSGIX -#endif -#ifndef GLEE_H_DEFINED_glLightEnviSGIX -#define GLEE_H_DEFINED_glLightEnviSGIX - typedef void (APIENTRYP GLEEPFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLLIGHTENVISGIXPROC GLeeFuncPtr_glLightEnviSGIX; - #define glLightEnviSGIX GLeeFuncPtr_glLightEnviSGIX -#endif -#endif - -/* GL_IBM_rasterpos_clip */ - -#ifndef GL_IBM_rasterpos_clip -#define GL_IBM_rasterpos_clip 1 -#define __GLEE_GL_IBM_rasterpos_clip 1 -/* Constants */ -#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262 -#endif - -/* GL_HP_texture_lighting */ - -#ifndef GL_HP_texture_lighting -#define GL_HP_texture_lighting 1 -#define __GLEE_GL_HP_texture_lighting 1 -/* Constants */ -#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167 -#define GL_TEXTURE_POST_SPECULAR_HP 0x8168 -#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169 -#endif - -/* GL_EXT_draw_range_elements */ - -#ifndef GL_EXT_draw_range_elements -#define GL_EXT_draw_range_elements 1 -#define __GLEE_GL_EXT_draw_range_elements 1 -/* Constants */ -#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 -#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 -#ifndef GLEE_H_DEFINED_glDrawRangeElementsEXT -#define GLEE_H_DEFINED_glDrawRangeElementsEXT - typedef void (APIENTRYP GLEEPFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); - GLEE_EXTERN GLEEPFNGLDRAWRANGEELEMENTSEXTPROC GLeeFuncPtr_glDrawRangeElementsEXT; - #define glDrawRangeElementsEXT GLeeFuncPtr_glDrawRangeElementsEXT -#endif -#endif - -/* GL_WIN_phong_shading */ - -#ifndef GL_WIN_phong_shading -#define GL_WIN_phong_shading 1 -#define __GLEE_GL_WIN_phong_shading 1 -/* Constants */ -#define GL_PHONG_WIN 0x80EA -#define GL_PHONG_HINT_WIN 0x80EB -#endif - -/* GL_WIN_specular_fog */ - -#ifndef GL_WIN_specular_fog -#define GL_WIN_specular_fog 1 -#define __GLEE_GL_WIN_specular_fog 1 -/* Constants */ -#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC -#endif - -/* GL_EXT_light_texture */ - -#ifndef GL_EXT_light_texture -#define GL_EXT_light_texture 1 -#define __GLEE_GL_EXT_light_texture 1 -/* Constants */ -#define GL_FRAGMENT_MATERIAL_EXT 0x8349 -#define GL_FRAGMENT_NORMAL_EXT 0x834A -#define GL_FRAGMENT_COLOR_EXT 0x834C -#define GL_ATTENUATION_EXT 0x834D -#define GL_SHADOW_ATTENUATION_EXT 0x834E -#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F -#define GL_TEXTURE_LIGHT_EXT 0x8350 -#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 -#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 -#ifndef GLEE_H_DEFINED_glApplyTextureEXT -#define GLEE_H_DEFINED_glApplyTextureEXT - typedef void (APIENTRYP GLEEPFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLAPPLYTEXTUREEXTPROC GLeeFuncPtr_glApplyTextureEXT; - #define glApplyTextureEXT GLeeFuncPtr_glApplyTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureLightEXT -#define GLEE_H_DEFINED_glTextureLightEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURELIGHTEXTPROC) (GLenum pname); - GLEE_EXTERN GLEEPFNGLTEXTURELIGHTEXTPROC GLeeFuncPtr_glTextureLightEXT; - #define glTextureLightEXT GLeeFuncPtr_glTextureLightEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureMaterialEXT -#define GLEE_H_DEFINED_glTextureMaterialEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); - GLEE_EXTERN GLEEPFNGLTEXTUREMATERIALEXTPROC GLeeFuncPtr_glTextureMaterialEXT; - #define glTextureMaterialEXT GLeeFuncPtr_glTextureMaterialEXT -#endif -#endif - -/* GL_SGIX_blend_alpha_minmax */ - -#ifndef GL_SGIX_blend_alpha_minmax -#define GL_SGIX_blend_alpha_minmax 1 -#define __GLEE_GL_SGIX_blend_alpha_minmax 1 -/* Constants */ -#define GL_ALPHA_MIN_SGIX 0x8320 -#define GL_ALPHA_MAX_SGIX 0x8321 -#endif - -/* GL_SGIX_impact_pixel_texture */ - -#ifndef GL_SGIX_impact_pixel_texture -#define GL_SGIX_impact_pixel_texture 1 -#define __GLEE_GL_SGIX_impact_pixel_texture 1 -/* Constants */ -#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX 0x8184 -#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX 0x8185 -#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX 0x8186 -#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187 -#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188 -#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX 0x8189 -#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX 0x818A -#endif - -/* GL_EXT_bgra */ - -#ifndef GL_EXT_bgra -#define GL_EXT_bgra 1 -#define __GLEE_GL_EXT_bgra 1 -/* Constants */ -#define GL_BGR_EXT 0x80E0 -#define GL_BGRA_EXT 0x80E1 -#endif - -/* GL_SGIX_async */ - -#ifndef GL_SGIX_async -#define GL_SGIX_async 1 -#define __GLEE_GL_SGIX_async 1 -/* Constants */ -#define GL_ASYNC_MARKER_SGIX 0x8329 -#ifndef GLEE_H_DEFINED_glAsyncMarkerSGIX -#define GLEE_H_DEFINED_glAsyncMarkerSGIX - typedef void (APIENTRYP GLEEPFNGLASYNCMARKERSGIXPROC) (GLuint marker); - GLEE_EXTERN GLEEPFNGLASYNCMARKERSGIXPROC GLeeFuncPtr_glAsyncMarkerSGIX; - #define glAsyncMarkerSGIX GLeeFuncPtr_glAsyncMarkerSGIX -#endif -#ifndef GLEE_H_DEFINED_glFinishAsyncSGIX -#define GLEE_H_DEFINED_glFinishAsyncSGIX - typedef GLint (APIENTRYP GLEEPFNGLFINISHASYNCSGIXPROC) (GLuint * markerp); - GLEE_EXTERN GLEEPFNGLFINISHASYNCSGIXPROC GLeeFuncPtr_glFinishAsyncSGIX; - #define glFinishAsyncSGIX GLeeFuncPtr_glFinishAsyncSGIX -#endif -#ifndef GLEE_H_DEFINED_glPollAsyncSGIX -#define GLEE_H_DEFINED_glPollAsyncSGIX - typedef GLint (APIENTRYP GLEEPFNGLPOLLASYNCSGIXPROC) (GLuint * markerp); - GLEE_EXTERN GLEEPFNGLPOLLASYNCSGIXPROC GLeeFuncPtr_glPollAsyncSGIX; - #define glPollAsyncSGIX GLeeFuncPtr_glPollAsyncSGIX -#endif -#ifndef GLEE_H_DEFINED_glGenAsyncMarkersSGIX -#define GLEE_H_DEFINED_glGenAsyncMarkersSGIX - typedef GLuint (APIENTRYP GLEEPFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); - GLEE_EXTERN GLEEPFNGLGENASYNCMARKERSSGIXPROC GLeeFuncPtr_glGenAsyncMarkersSGIX; - #define glGenAsyncMarkersSGIX GLeeFuncPtr_glGenAsyncMarkersSGIX -#endif -#ifndef GLEE_H_DEFINED_glDeleteAsyncMarkersSGIX -#define GLEE_H_DEFINED_glDeleteAsyncMarkersSGIX - typedef void (APIENTRYP GLEEPFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); - GLEE_EXTERN GLEEPFNGLDELETEASYNCMARKERSSGIXPROC GLeeFuncPtr_glDeleteAsyncMarkersSGIX; - #define glDeleteAsyncMarkersSGIX GLeeFuncPtr_glDeleteAsyncMarkersSGIX -#endif -#ifndef GLEE_H_DEFINED_glIsAsyncMarkerSGIX -#define GLEE_H_DEFINED_glIsAsyncMarkerSGIX - typedef GLboolean (APIENTRYP GLEEPFNGLISASYNCMARKERSGIXPROC) (GLuint marker); - GLEE_EXTERN GLEEPFNGLISASYNCMARKERSGIXPROC GLeeFuncPtr_glIsAsyncMarkerSGIX; - #define glIsAsyncMarkerSGIX GLeeFuncPtr_glIsAsyncMarkerSGIX -#endif -#endif - -/* GL_SGIX_async_pixel */ - -#ifndef GL_SGIX_async_pixel -#define GL_SGIX_async_pixel 1 -#define __GLEE_GL_SGIX_async_pixel 1 -/* Constants */ -#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C -#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D -#define GL_ASYNC_READ_PIXELS_SGIX 0x835E -#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F -#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 -#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 -#endif - -/* GL_SGIX_async_histogram */ - -#ifndef GL_SGIX_async_histogram -#define GL_SGIX_async_histogram 1 -#define __GLEE_GL_SGIX_async_histogram 1 -/* Constants */ -#define GL_ASYNC_HISTOGRAM_SGIX 0x832C -#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D -#endif - -/* GL_INTEL_texture_scissor */ - -#ifndef GL_INTEL_texture_scissor -#define GL_INTEL_texture_scissor 1 -#define __GLEE_GL_INTEL_texture_scissor 1 -/* Constants */ -#endif - -/* GL_INTEL_parallel_arrays */ - -#ifndef GL_INTEL_parallel_arrays -#define GL_INTEL_parallel_arrays 1 -#define __GLEE_GL_INTEL_parallel_arrays 1 -/* Constants */ -#define GL_PARALLEL_ARRAYS_INTEL 0x83F4 -#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 -#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 -#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 -#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 -#ifndef GLEE_H_DEFINED_glVertexPointervINTEL -#define GLEE_H_DEFINED_glVertexPointervINTEL - typedef void (APIENTRYP GLEEPFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXPOINTERVINTELPROC GLeeFuncPtr_glVertexPointervINTEL; - #define glVertexPointervINTEL GLeeFuncPtr_glVertexPointervINTEL -#endif -#ifndef GLEE_H_DEFINED_glNormalPointervINTEL -#define GLEE_H_DEFINED_glNormalPointervINTEL - typedef void (APIENTRYP GLEEPFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLNORMALPOINTERVINTELPROC GLeeFuncPtr_glNormalPointervINTEL; - #define glNormalPointervINTEL GLeeFuncPtr_glNormalPointervINTEL -#endif -#ifndef GLEE_H_DEFINED_glColorPointervINTEL -#define GLEE_H_DEFINED_glColorPointervINTEL - typedef void (APIENTRYP GLEEPFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLCOLORPOINTERVINTELPROC GLeeFuncPtr_glColorPointervINTEL; - #define glColorPointervINTEL GLeeFuncPtr_glColorPointervINTEL -#endif -#ifndef GLEE_H_DEFINED_glTexCoordPointervINTEL -#define GLEE_H_DEFINED_glTexCoordPointervINTEL - typedef void (APIENTRYP GLEEPFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLTEXCOORDPOINTERVINTELPROC GLeeFuncPtr_glTexCoordPointervINTEL; - #define glTexCoordPointervINTEL GLeeFuncPtr_glTexCoordPointervINTEL -#endif -#endif - -/* GL_HP_occlusion_test */ - -#ifndef GL_HP_occlusion_test -#define GL_HP_occlusion_test 1 -#define __GLEE_GL_HP_occlusion_test 1 -/* Constants */ -#define GL_OCCLUSION_TEST_HP 0x8165 -#define GL_OCCLUSION_TEST_RESULT_HP 0x8166 -#endif - -/* GL_EXT_pixel_transform */ - -#ifndef GL_EXT_pixel_transform -#define GL_EXT_pixel_transform 1 -#define __GLEE_GL_EXT_pixel_transform 1 -/* Constants */ -#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 -#define GL_PIXEL_MAG_FILTER_EXT 0x8331 -#define GL_PIXEL_MIN_FILTER_EXT 0x8332 -#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 -#define GL_CUBIC_EXT 0x8334 -#define GL_AVERAGE_EXT 0x8335 -#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 -#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 -#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 -#ifndef GLEE_H_DEFINED_glPixelTransformParameteriEXT -#define GLEE_H_DEFINED_glPixelTransformParameteriEXT - typedef void (APIENTRYP GLEEPFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLPIXELTRANSFORMPARAMETERIEXTPROC GLeeFuncPtr_glPixelTransformParameteriEXT; - #define glPixelTransformParameteriEXT GLeeFuncPtr_glPixelTransformParameteriEXT -#endif -#ifndef GLEE_H_DEFINED_glPixelTransformParameterfEXT -#define GLEE_H_DEFINED_glPixelTransformParameterfEXT - typedef void (APIENTRYP GLEEPFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPIXELTRANSFORMPARAMETERFEXTPROC GLeeFuncPtr_glPixelTransformParameterfEXT; - #define glPixelTransformParameterfEXT GLeeFuncPtr_glPixelTransformParameterfEXT -#endif -#ifndef GLEE_H_DEFINED_glPixelTransformParameterivEXT -#define GLEE_H_DEFINED_glPixelTransformParameterivEXT - typedef void (APIENTRYP GLEEPFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLPIXELTRANSFORMPARAMETERIVEXTPROC GLeeFuncPtr_glPixelTransformParameterivEXT; - #define glPixelTransformParameterivEXT GLeeFuncPtr_glPixelTransformParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glPixelTransformParameterfvEXT -#define GLEE_H_DEFINED_glPixelTransformParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPIXELTRANSFORMPARAMETERFVEXTPROC GLeeFuncPtr_glPixelTransformParameterfvEXT; - #define glPixelTransformParameterfvEXT GLeeFuncPtr_glPixelTransformParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetPixelTransformParameterivEXT -#define GLEE_H_DEFINED_glGetPixelTransformParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC GLeeFuncPtr_glGetPixelTransformParameterivEXT; - #define glGetPixelTransformParameterivEXT GLeeFuncPtr_glGetPixelTransformParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetPixelTransformParameterfvEXT -#define GLEE_H_DEFINED_glGetPixelTransformParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC GLeeFuncPtr_glGetPixelTransformParameterfvEXT; - #define glGetPixelTransformParameterfvEXT GLeeFuncPtr_glGetPixelTransformParameterfvEXT -#endif -#endif - -/* GL_EXT_pixel_transform_color_table */ - -#ifndef GL_EXT_pixel_transform_color_table -#define GL_EXT_pixel_transform_color_table 1 -#define __GLEE_GL_EXT_pixel_transform_color_table 1 -/* Constants */ -#endif - -/* GL_EXT_shared_texture_palette */ - -#ifndef GL_EXT_shared_texture_palette -#define GL_EXT_shared_texture_palette 1 -#define __GLEE_GL_EXT_shared_texture_palette 1 -/* Constants */ -#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB -#endif - -/* GL_EXT_separate_specular_color */ - -#ifndef GL_EXT_separate_specular_color -#define GL_EXT_separate_specular_color 1 -#define __GLEE_GL_EXT_separate_specular_color 1 -/* Constants */ -#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 -#define GL_SINGLE_COLOR_EXT 0x81F9 -#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA -#endif - -/* GL_EXT_secondary_color */ - -#ifndef GL_EXT_secondary_color -#define GL_EXT_secondary_color 1 -#define __GLEE_GL_EXT_secondary_color 1 -/* Constants */ -#define GL_COLOR_SUM_EXT 0x8458 -#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 -#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A -#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B -#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C -#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D -#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E -#ifndef GLEE_H_DEFINED_glSecondaryColor3bEXT -#define GLEE_H_DEFINED_glSecondaryColor3bEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3BEXTPROC GLeeFuncPtr_glSecondaryColor3bEXT; - #define glSecondaryColor3bEXT GLeeFuncPtr_glSecondaryColor3bEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3bvEXT -#define GLEE_H_DEFINED_glSecondaryColor3bvEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3BVEXTPROC GLeeFuncPtr_glSecondaryColor3bvEXT; - #define glSecondaryColor3bvEXT GLeeFuncPtr_glSecondaryColor3bvEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3dEXT -#define GLEE_H_DEFINED_glSecondaryColor3dEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3DEXTPROC GLeeFuncPtr_glSecondaryColor3dEXT; - #define glSecondaryColor3dEXT GLeeFuncPtr_glSecondaryColor3dEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3dvEXT -#define GLEE_H_DEFINED_glSecondaryColor3dvEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3DVEXTPROC GLeeFuncPtr_glSecondaryColor3dvEXT; - #define glSecondaryColor3dvEXT GLeeFuncPtr_glSecondaryColor3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3fEXT -#define GLEE_H_DEFINED_glSecondaryColor3fEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3FEXTPROC GLeeFuncPtr_glSecondaryColor3fEXT; - #define glSecondaryColor3fEXT GLeeFuncPtr_glSecondaryColor3fEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3fvEXT -#define GLEE_H_DEFINED_glSecondaryColor3fvEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3FVEXTPROC GLeeFuncPtr_glSecondaryColor3fvEXT; - #define glSecondaryColor3fvEXT GLeeFuncPtr_glSecondaryColor3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3iEXT -#define GLEE_H_DEFINED_glSecondaryColor3iEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3IEXTPROC GLeeFuncPtr_glSecondaryColor3iEXT; - #define glSecondaryColor3iEXT GLeeFuncPtr_glSecondaryColor3iEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ivEXT -#define GLEE_H_DEFINED_glSecondaryColor3ivEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3IVEXTPROC GLeeFuncPtr_glSecondaryColor3ivEXT; - #define glSecondaryColor3ivEXT GLeeFuncPtr_glSecondaryColor3ivEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3sEXT -#define GLEE_H_DEFINED_glSecondaryColor3sEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3SEXTPROC GLeeFuncPtr_glSecondaryColor3sEXT; - #define glSecondaryColor3sEXT GLeeFuncPtr_glSecondaryColor3sEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3svEXT -#define GLEE_H_DEFINED_glSecondaryColor3svEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3SVEXTPROC GLeeFuncPtr_glSecondaryColor3svEXT; - #define glSecondaryColor3svEXT GLeeFuncPtr_glSecondaryColor3svEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ubEXT -#define GLEE_H_DEFINED_glSecondaryColor3ubEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UBEXTPROC GLeeFuncPtr_glSecondaryColor3ubEXT; - #define glSecondaryColor3ubEXT GLeeFuncPtr_glSecondaryColor3ubEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3ubvEXT -#define GLEE_H_DEFINED_glSecondaryColor3ubvEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UBVEXTPROC GLeeFuncPtr_glSecondaryColor3ubvEXT; - #define glSecondaryColor3ubvEXT GLeeFuncPtr_glSecondaryColor3ubvEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3uiEXT -#define GLEE_H_DEFINED_glSecondaryColor3uiEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UIEXTPROC GLeeFuncPtr_glSecondaryColor3uiEXT; - #define glSecondaryColor3uiEXT GLeeFuncPtr_glSecondaryColor3uiEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3uivEXT -#define GLEE_H_DEFINED_glSecondaryColor3uivEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3UIVEXTPROC GLeeFuncPtr_glSecondaryColor3uivEXT; - #define glSecondaryColor3uivEXT GLeeFuncPtr_glSecondaryColor3uivEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3usEXT -#define GLEE_H_DEFINED_glSecondaryColor3usEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3USEXTPROC GLeeFuncPtr_glSecondaryColor3usEXT; - #define glSecondaryColor3usEXT GLeeFuncPtr_glSecondaryColor3usEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3usvEXT -#define GLEE_H_DEFINED_glSecondaryColor3usvEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3USVEXTPROC GLeeFuncPtr_glSecondaryColor3usvEXT; - #define glSecondaryColor3usvEXT GLeeFuncPtr_glSecondaryColor3usvEXT -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorPointerEXT -#define GLEE_H_DEFINED_glSecondaryColorPointerEXT - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORPOINTEREXTPROC GLeeFuncPtr_glSecondaryColorPointerEXT; - #define glSecondaryColorPointerEXT GLeeFuncPtr_glSecondaryColorPointerEXT -#endif -#endif - -/* GL_EXT_texture_perturb_normal */ - -#ifndef GL_EXT_texture_perturb_normal -#define GL_EXT_texture_perturb_normal 1 -#define __GLEE_GL_EXT_texture_perturb_normal 1 -/* Constants */ -#define GL_PERTURB_EXT 0x85AE -#define GL_TEXTURE_NORMAL_EXT 0x85AF -#ifndef GLEE_H_DEFINED_glTextureNormalEXT -#define GLEE_H_DEFINED_glTextureNormalEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURENORMALEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLTEXTURENORMALEXTPROC GLeeFuncPtr_glTextureNormalEXT; - #define glTextureNormalEXT GLeeFuncPtr_glTextureNormalEXT -#endif -#endif - -/* GL_EXT_multi_draw_arrays */ - -#ifndef GL_EXT_multi_draw_arrays -#define GL_EXT_multi_draw_arrays 1 -#define __GLEE_GL_EXT_multi_draw_arrays 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMultiDrawArraysEXT -#define GLEE_H_DEFINED_glMultiDrawArraysEXT - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWARRAYSEXTPROC GLeeFuncPtr_glMultiDrawArraysEXT; - #define glMultiDrawArraysEXT GLeeFuncPtr_glMultiDrawArraysEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElementsEXT -#define GLEE_H_DEFINED_glMultiDrawElementsEXT - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei * count, GLenum type, const GLvoid* * indices, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTSEXTPROC GLeeFuncPtr_glMultiDrawElementsEXT; - #define glMultiDrawElementsEXT GLeeFuncPtr_glMultiDrawElementsEXT -#endif -#endif - -/* GL_EXT_fog_coord */ - -#ifndef GL_EXT_fog_coord -#define GL_EXT_fog_coord 1 -#define __GLEE_GL_EXT_fog_coord 1 -/* Constants */ -#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 -#define GL_FOG_COORDINATE_EXT 0x8451 -#define GL_FRAGMENT_DEPTH_EXT 0x8452 -#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 -#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 -#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 -#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 -#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 -#ifndef GLEE_H_DEFINED_glFogCoordfEXT -#define GLEE_H_DEFINED_glFogCoordfEXT - typedef void (APIENTRYP GLEEPFNGLFOGCOORDFEXTPROC) (GLfloat coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDFEXTPROC GLeeFuncPtr_glFogCoordfEXT; - #define glFogCoordfEXT GLeeFuncPtr_glFogCoordfEXT -#endif -#ifndef GLEE_H_DEFINED_glFogCoordfvEXT -#define GLEE_H_DEFINED_glFogCoordfvEXT - typedef void (APIENTRYP GLEEPFNGLFOGCOORDFVEXTPROC) (const GLfloat * coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDFVEXTPROC GLeeFuncPtr_glFogCoordfvEXT; - #define glFogCoordfvEXT GLeeFuncPtr_glFogCoordfvEXT -#endif -#ifndef GLEE_H_DEFINED_glFogCoorddEXT -#define GLEE_H_DEFINED_glFogCoorddEXT - typedef void (APIENTRYP GLEEPFNGLFOGCOORDDEXTPROC) (GLdouble coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDDEXTPROC GLeeFuncPtr_glFogCoorddEXT; - #define glFogCoorddEXT GLeeFuncPtr_glFogCoorddEXT -#endif -#ifndef GLEE_H_DEFINED_glFogCoorddvEXT -#define GLEE_H_DEFINED_glFogCoorddvEXT - typedef void (APIENTRYP GLEEPFNGLFOGCOORDDVEXTPROC) (const GLdouble * coord); - GLEE_EXTERN GLEEPFNGLFOGCOORDDVEXTPROC GLeeFuncPtr_glFogCoorddvEXT; - #define glFogCoorddvEXT GLeeFuncPtr_glFogCoorddvEXT -#endif -#ifndef GLEE_H_DEFINED_glFogCoordPointerEXT -#define GLEE_H_DEFINED_glFogCoordPointerEXT - typedef void (APIENTRYP GLEEPFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLFOGCOORDPOINTEREXTPROC GLeeFuncPtr_glFogCoordPointerEXT; - #define glFogCoordPointerEXT GLeeFuncPtr_glFogCoordPointerEXT -#endif -#endif - -/* GL_REND_screen_coordinates */ - -#ifndef GL_REND_screen_coordinates -#define GL_REND_screen_coordinates 1 -#define __GLEE_GL_REND_screen_coordinates 1 -/* Constants */ -#define GL_SCREEN_COORDINATES_REND 0x8490 -#define GL_INVERTED_SCREEN_W_REND 0x8491 -#endif - -/* GL_EXT_coordinate_frame */ - -#ifndef GL_EXT_coordinate_frame -#define GL_EXT_coordinate_frame 1 -#define __GLEE_GL_EXT_coordinate_frame 1 -/* Constants */ -#define GL_TANGENT_ARRAY_EXT 0x8439 -#define GL_BINORMAL_ARRAY_EXT 0x843A -#define GL_CURRENT_TANGENT_EXT 0x843B -#define GL_CURRENT_BINORMAL_EXT 0x843C -#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E -#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F -#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 -#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 -#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 -#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 -#define GL_MAP1_TANGENT_EXT 0x8444 -#define GL_MAP2_TANGENT_EXT 0x8445 -#define GL_MAP1_BINORMAL_EXT 0x8446 -#define GL_MAP2_BINORMAL_EXT 0x8447 -#ifndef GLEE_H_DEFINED_glTangent3bEXT -#define GLEE_H_DEFINED_glTangent3bEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz); - GLEE_EXTERN GLEEPFNGLTANGENT3BEXTPROC GLeeFuncPtr_glTangent3bEXT; - #define glTangent3bEXT GLeeFuncPtr_glTangent3bEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3bvEXT -#define GLEE_H_DEFINED_glTangent3bvEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3BVEXTPROC) (const GLbyte * v); - GLEE_EXTERN GLEEPFNGLTANGENT3BVEXTPROC GLeeFuncPtr_glTangent3bvEXT; - #define glTangent3bvEXT GLeeFuncPtr_glTangent3bvEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3dEXT -#define GLEE_H_DEFINED_glTangent3dEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz); - GLEE_EXTERN GLEEPFNGLTANGENT3DEXTPROC GLeeFuncPtr_glTangent3dEXT; - #define glTangent3dEXT GLeeFuncPtr_glTangent3dEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3dvEXT -#define GLEE_H_DEFINED_glTangent3dvEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3DVEXTPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLTANGENT3DVEXTPROC GLeeFuncPtr_glTangent3dvEXT; - #define glTangent3dvEXT GLeeFuncPtr_glTangent3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3fEXT -#define GLEE_H_DEFINED_glTangent3fEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz); - GLEE_EXTERN GLEEPFNGLTANGENT3FEXTPROC GLeeFuncPtr_glTangent3fEXT; - #define glTangent3fEXT GLeeFuncPtr_glTangent3fEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3fvEXT -#define GLEE_H_DEFINED_glTangent3fvEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3FVEXTPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTANGENT3FVEXTPROC GLeeFuncPtr_glTangent3fvEXT; - #define glTangent3fvEXT GLeeFuncPtr_glTangent3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3iEXT -#define GLEE_H_DEFINED_glTangent3iEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz); - GLEE_EXTERN GLEEPFNGLTANGENT3IEXTPROC GLeeFuncPtr_glTangent3iEXT; - #define glTangent3iEXT GLeeFuncPtr_glTangent3iEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3ivEXT -#define GLEE_H_DEFINED_glTangent3ivEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3IVEXTPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLTANGENT3IVEXTPROC GLeeFuncPtr_glTangent3ivEXT; - #define glTangent3ivEXT GLeeFuncPtr_glTangent3ivEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3sEXT -#define GLEE_H_DEFINED_glTangent3sEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz); - GLEE_EXTERN GLEEPFNGLTANGENT3SEXTPROC GLeeFuncPtr_glTangent3sEXT; - #define glTangent3sEXT GLeeFuncPtr_glTangent3sEXT -#endif -#ifndef GLEE_H_DEFINED_glTangent3svEXT -#define GLEE_H_DEFINED_glTangent3svEXT - typedef void (APIENTRYP GLEEPFNGLTANGENT3SVEXTPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLTANGENT3SVEXTPROC GLeeFuncPtr_glTangent3svEXT; - #define glTangent3svEXT GLeeFuncPtr_glTangent3svEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3bEXT -#define GLEE_H_DEFINED_glBinormal3bEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz); - GLEE_EXTERN GLEEPFNGLBINORMAL3BEXTPROC GLeeFuncPtr_glBinormal3bEXT; - #define glBinormal3bEXT GLeeFuncPtr_glBinormal3bEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3bvEXT -#define GLEE_H_DEFINED_glBinormal3bvEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3BVEXTPROC) (const GLbyte * v); - GLEE_EXTERN GLEEPFNGLBINORMAL3BVEXTPROC GLeeFuncPtr_glBinormal3bvEXT; - #define glBinormal3bvEXT GLeeFuncPtr_glBinormal3bvEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3dEXT -#define GLEE_H_DEFINED_glBinormal3dEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz); - GLEE_EXTERN GLEEPFNGLBINORMAL3DEXTPROC GLeeFuncPtr_glBinormal3dEXT; - #define glBinormal3dEXT GLeeFuncPtr_glBinormal3dEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3dvEXT -#define GLEE_H_DEFINED_glBinormal3dvEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3DVEXTPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLBINORMAL3DVEXTPROC GLeeFuncPtr_glBinormal3dvEXT; - #define glBinormal3dvEXT GLeeFuncPtr_glBinormal3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3fEXT -#define GLEE_H_DEFINED_glBinormal3fEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz); - GLEE_EXTERN GLEEPFNGLBINORMAL3FEXTPROC GLeeFuncPtr_glBinormal3fEXT; - #define glBinormal3fEXT GLeeFuncPtr_glBinormal3fEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3fvEXT -#define GLEE_H_DEFINED_glBinormal3fvEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3FVEXTPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLBINORMAL3FVEXTPROC GLeeFuncPtr_glBinormal3fvEXT; - #define glBinormal3fvEXT GLeeFuncPtr_glBinormal3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3iEXT -#define GLEE_H_DEFINED_glBinormal3iEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz); - GLEE_EXTERN GLEEPFNGLBINORMAL3IEXTPROC GLeeFuncPtr_glBinormal3iEXT; - #define glBinormal3iEXT GLeeFuncPtr_glBinormal3iEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3ivEXT -#define GLEE_H_DEFINED_glBinormal3ivEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3IVEXTPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLBINORMAL3IVEXTPROC GLeeFuncPtr_glBinormal3ivEXT; - #define glBinormal3ivEXT GLeeFuncPtr_glBinormal3ivEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3sEXT -#define GLEE_H_DEFINED_glBinormal3sEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz); - GLEE_EXTERN GLEEPFNGLBINORMAL3SEXTPROC GLeeFuncPtr_glBinormal3sEXT; - #define glBinormal3sEXT GLeeFuncPtr_glBinormal3sEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormal3svEXT -#define GLEE_H_DEFINED_glBinormal3svEXT - typedef void (APIENTRYP GLEEPFNGLBINORMAL3SVEXTPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLBINORMAL3SVEXTPROC GLeeFuncPtr_glBinormal3svEXT; - #define glBinormal3svEXT GLeeFuncPtr_glBinormal3svEXT -#endif -#ifndef GLEE_H_DEFINED_glTangentPointerEXT -#define GLEE_H_DEFINED_glTangentPointerEXT - typedef void (APIENTRYP GLEEPFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLTANGENTPOINTEREXTPROC GLeeFuncPtr_glTangentPointerEXT; - #define glTangentPointerEXT GLeeFuncPtr_glTangentPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glBinormalPointerEXT -#define GLEE_H_DEFINED_glBinormalPointerEXT - typedef void (APIENTRYP GLEEPFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLBINORMALPOINTEREXTPROC GLeeFuncPtr_glBinormalPointerEXT; - #define glBinormalPointerEXT GLeeFuncPtr_glBinormalPointerEXT -#endif -#endif - -/* GL_EXT_texture_env_combine */ - -#ifndef GL_EXT_texture_env_combine -#define GL_EXT_texture_env_combine 1 -#define __GLEE_GL_EXT_texture_env_combine 1 -/* Constants */ -#define GL_COMBINE_EXT 0x8570 -#define GL_COMBINE_RGB_EXT 0x8571 -#define GL_COMBINE_ALPHA_EXT 0x8572 -#define GL_RGB_SCALE_EXT 0x8573 -#define GL_ADD_SIGNED_EXT 0x8574 -#define GL_INTERPOLATE_EXT 0x8575 -#define GL_CONSTANT_EXT 0x8576 -#define GL_PRIMARY_COLOR_EXT 0x8577 -#define GL_PREVIOUS_EXT 0x8578 -#define GL_SOURCE0_RGB_EXT 0x8580 -#define GL_SOURCE1_RGB_EXT 0x8581 -#define GL_SOURCE2_RGB_EXT 0x8582 -#define GL_SOURCE0_ALPHA_EXT 0x8588 -#define GL_SOURCE1_ALPHA_EXT 0x8589 -#define GL_SOURCE2_ALPHA_EXT 0x858A -#define GL_OPERAND0_RGB_EXT 0x8590 -#define GL_OPERAND1_RGB_EXT 0x8591 -#define GL_OPERAND2_RGB_EXT 0x8592 -#define GL_OPERAND0_ALPHA_EXT 0x8598 -#define GL_OPERAND1_ALPHA_EXT 0x8599 -#define GL_OPERAND2_ALPHA_EXT 0x859A -#endif - -/* GL_APPLE_specular_vector */ - -#ifndef GL_APPLE_specular_vector -#define GL_APPLE_specular_vector 1 -#define __GLEE_GL_APPLE_specular_vector 1 -/* Constants */ -#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 -#endif - -/* GL_APPLE_transform_hint */ - -#ifndef GL_APPLE_transform_hint -#define GL_APPLE_transform_hint 1 -#define __GLEE_GL_APPLE_transform_hint 1 -/* Constants */ -#define GL_TRANSFORM_HINT_APPLE 0x85B1 -#endif - -/* GL_SGIX_fog_scale */ - -#ifndef GL_SGIX_fog_scale -#define GL_SGIX_fog_scale 1 -#define __GLEE_GL_SGIX_fog_scale 1 -/* Constants */ -#define GL_FOG_SCALE_SGIX 0x81FC -#define GL_FOG_SCALE_VALUE_SGIX 0x81FD -#endif - -/* GL_SUNX_constant_data */ - -#ifndef GL_SUNX_constant_data -#define GL_SUNX_constant_data 1 -#define __GLEE_GL_SUNX_constant_data 1 -/* Constants */ -#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 -#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 -#ifndef GLEE_H_DEFINED_glFinishTextureSUNX -#define GLEE_H_DEFINED_glFinishTextureSUNX - typedef void (APIENTRYP GLEEPFNGLFINISHTEXTURESUNXPROC) (); - GLEE_EXTERN GLEEPFNGLFINISHTEXTURESUNXPROC GLeeFuncPtr_glFinishTextureSUNX; - #define glFinishTextureSUNX GLeeFuncPtr_glFinishTextureSUNX -#endif -#endif - -/* GL_SUN_global_alpha */ - -#ifndef GL_SUN_global_alpha -#define GL_SUN_global_alpha 1 -#define __GLEE_GL_SUN_global_alpha 1 -/* Constants */ -#define GL_GLOBAL_ALPHA_SUN 0x81D9 -#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactorbSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactorbSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORBSUNPROC GLeeFuncPtr_glGlobalAlphaFactorbSUN; - #define glGlobalAlphaFactorbSUN GLeeFuncPtr_glGlobalAlphaFactorbSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactorsSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactorsSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORSSUNPROC GLeeFuncPtr_glGlobalAlphaFactorsSUN; - #define glGlobalAlphaFactorsSUN GLeeFuncPtr_glGlobalAlphaFactorsSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactoriSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactoriSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORISUNPROC GLeeFuncPtr_glGlobalAlphaFactoriSUN; - #define glGlobalAlphaFactoriSUN GLeeFuncPtr_glGlobalAlphaFactoriSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactorfSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactorfSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORFSUNPROC GLeeFuncPtr_glGlobalAlphaFactorfSUN; - #define glGlobalAlphaFactorfSUN GLeeFuncPtr_glGlobalAlphaFactorfSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactordSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactordSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORDSUNPROC GLeeFuncPtr_glGlobalAlphaFactordSUN; - #define glGlobalAlphaFactordSUN GLeeFuncPtr_glGlobalAlphaFactordSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactorubSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactorubSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORUBSUNPROC GLeeFuncPtr_glGlobalAlphaFactorubSUN; - #define glGlobalAlphaFactorubSUN GLeeFuncPtr_glGlobalAlphaFactorubSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactorusSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactorusSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORUSSUNPROC GLeeFuncPtr_glGlobalAlphaFactorusSUN; - #define glGlobalAlphaFactorusSUN GLeeFuncPtr_glGlobalAlphaFactorusSUN -#endif -#ifndef GLEE_H_DEFINED_glGlobalAlphaFactoruiSUN -#define GLEE_H_DEFINED_glGlobalAlphaFactoruiSUN - typedef void (APIENTRYP GLEEPFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); - GLEE_EXTERN GLEEPFNGLGLOBALALPHAFACTORUISUNPROC GLeeFuncPtr_glGlobalAlphaFactoruiSUN; - #define glGlobalAlphaFactoruiSUN GLeeFuncPtr_glGlobalAlphaFactoruiSUN -#endif -#endif - -/* GL_SUN_triangle_list */ - -#ifndef GL_SUN_triangle_list -#define GL_SUN_triangle_list 1 -#define __GLEE_GL_SUN_triangle_list 1 -/* Constants */ -#define GL_RESTART_SUN 0x0001 -#define GL_REPLACE_MIDDLE_SUN 0x0002 -#define GL_REPLACE_OLDEST_SUN 0x0003 -#define GL_TRIANGLE_LIST_SUN 0x81D7 -#define GL_REPLACEMENT_CODE_SUN 0x81D8 -#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 -#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 -#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 -#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 -#define GL_R1UI_V3F_SUN 0x85C4 -#define GL_R1UI_C4UB_V3F_SUN 0x85C5 -#define GL_R1UI_C3F_V3F_SUN 0x85C6 -#define GL_R1UI_N3F_V3F_SUN 0x85C7 -#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 -#define GL_R1UI_T2F_V3F_SUN 0x85C9 -#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA -#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB -#ifndef GLEE_H_DEFINED_glReplacementCodeuiSUN -#define GLEE_H_DEFINED_glReplacementCodeuiSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUISUNPROC GLeeFuncPtr_glReplacementCodeuiSUN; - #define glReplacementCodeuiSUN GLeeFuncPtr_glReplacementCodeuiSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeusSUN -#define GLEE_H_DEFINED_glReplacementCodeusSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUSSUNPROC GLeeFuncPtr_glReplacementCodeusSUN; - #define glReplacementCodeusSUN GLeeFuncPtr_glReplacementCodeusSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeubSUN -#define GLEE_H_DEFINED_glReplacementCodeubSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUBSUNPROC GLeeFuncPtr_glReplacementCodeubSUN; - #define glReplacementCodeubSUN GLeeFuncPtr_glReplacementCodeubSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuivSUN -#define GLEE_H_DEFINED_glReplacementCodeuivSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint * code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUIVSUNPROC GLeeFuncPtr_glReplacementCodeuivSUN; - #define glReplacementCodeuivSUN GLeeFuncPtr_glReplacementCodeuivSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeusvSUN -#define GLEE_H_DEFINED_glReplacementCodeusvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort * code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUSVSUNPROC GLeeFuncPtr_glReplacementCodeusvSUN; - #define glReplacementCodeusvSUN GLeeFuncPtr_glReplacementCodeusvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeubvSUN -#define GLEE_H_DEFINED_glReplacementCodeubvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte * code); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUBVSUNPROC GLeeFuncPtr_glReplacementCodeubvSUN; - #define glReplacementCodeubvSUN GLeeFuncPtr_glReplacementCodeubvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodePointerSUN -#define GLEE_H_DEFINED_glReplacementCodePointerSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEPOINTERSUNPROC GLeeFuncPtr_glReplacementCodePointerSUN; - #define glReplacementCodePointerSUN GLeeFuncPtr_glReplacementCodePointerSUN -#endif -#endif - -/* GL_SUN_vertex */ - -#ifndef GL_SUN_vertex -#define GL_SUN_vertex 1 -#define __GLEE_GL_SUN_vertex 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glColor4ubVertex2fSUN -#define GLEE_H_DEFINED_glColor4ubVertex2fSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLCOLOR4UBVERTEX2FSUNPROC GLeeFuncPtr_glColor4ubVertex2fSUN; - #define glColor4ubVertex2fSUN GLeeFuncPtr_glColor4ubVertex2fSUN -#endif -#ifndef GLEE_H_DEFINED_glColor4ubVertex2fvSUN -#define GLEE_H_DEFINED_glColor4ubVertex2fvSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLCOLOR4UBVERTEX2FVSUNPROC GLeeFuncPtr_glColor4ubVertex2fvSUN; - #define glColor4ubVertex2fvSUN GLeeFuncPtr_glColor4ubVertex2fvSUN -#endif -#ifndef GLEE_H_DEFINED_glColor4ubVertex3fSUN -#define GLEE_H_DEFINED_glColor4ubVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLCOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glColor4ubVertex3fSUN; - #define glColor4ubVertex3fSUN GLeeFuncPtr_glColor4ubVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glColor4ubVertex3fvSUN -#define GLEE_H_DEFINED_glColor4ubVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLCOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glColor4ubVertex3fvSUN; - #define glColor4ubVertex3fvSUN GLeeFuncPtr_glColor4ubVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glColor3fVertex3fSUN -#define GLEE_H_DEFINED_glColor3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLCOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glColor3fVertex3fSUN; - #define glColor3fVertex3fSUN GLeeFuncPtr_glColor3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glColor3fVertex3fvSUN -#define GLEE_H_DEFINED_glColor3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLCOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glColor3fVertex3fvSUN; - #define glColor3fVertex3fvSUN GLeeFuncPtr_glColor3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glNormal3fVertex3fSUN; - #define glNormal3fVertex3fSUN GLeeFuncPtr_glNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glNormal3fVertex3fvSUN; - #define glNormal3fVertex3fvSUN GLeeFuncPtr_glNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glColor4fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glColor4fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glColor4fNormal3fVertex3fSUN; - #define glColor4fNormal3fVertex3fSUN GLeeFuncPtr_glColor4fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glColor4fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glColor4fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat * c, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glColor4fNormal3fVertex3fvSUN; - #define glColor4fNormal3fVertex3fvSUN GLeeFuncPtr_glColor4fNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fVertex3fSUN -#define GLEE_H_DEFINED_glTexCoord2fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fVertex3fSUN; - #define glTexCoord2fVertex3fSUN GLeeFuncPtr_glTexCoord2fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fVertex3fvSUN -#define GLEE_H_DEFINED_glTexCoord2fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat * tc, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fVertex3fvSUN; - #define glTexCoord2fVertex3fvSUN GLeeFuncPtr_glTexCoord2fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4fVertex4fSUN -#define GLEE_H_DEFINED_glTexCoord4fVertex4fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLTEXCOORD4FVERTEX4FSUNPROC GLeeFuncPtr_glTexCoord4fVertex4fSUN; - #define glTexCoord4fVertex4fSUN GLeeFuncPtr_glTexCoord4fVertex4fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4fVertex4fvSUN -#define GLEE_H_DEFINED_glTexCoord4fVertex4fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat * tc, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD4FVERTEX4FVSUNPROC GLeeFuncPtr_glTexCoord4fVertex4fvSUN; - #define glTexCoord4fVertex4fvSUN GLeeFuncPtr_glTexCoord4fVertex4fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor4ubVertex3fSUN -#define GLEE_H_DEFINED_glTexCoord2fColor4ubVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor4ubVertex3fSUN; - #define glTexCoord2fColor4ubVertex3fSUN GLeeFuncPtr_glTexCoord2fColor4ubVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor4ubVertex3fvSUN -#define GLEE_H_DEFINED_glTexCoord2fColor4ubVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat * tc, const GLubyte * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor4ubVertex3fvSUN; - #define glTexCoord2fColor4ubVertex3fvSUN GLeeFuncPtr_glTexCoord2fColor4ubVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor3fVertex3fSUN -#define GLEE_H_DEFINED_glTexCoord2fColor3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor3fVertex3fSUN; - #define glTexCoord2fColor3fVertex3fSUN GLeeFuncPtr_glTexCoord2fColor3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor3fVertex3fvSUN -#define GLEE_H_DEFINED_glTexCoord2fColor3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat * tc, const GLfloat * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor3fVertex3fvSUN; - #define glTexCoord2fColor3fVertex3fvSUN GLeeFuncPtr_glTexCoord2fColor3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glTexCoord2fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fNormal3fVertex3fSUN; - #define glTexCoord2fNormal3fVertex3fSUN GLeeFuncPtr_glTexCoord2fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glTexCoord2fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat * tc, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fNormal3fVertex3fvSUN; - #define glTexCoord2fNormal3fVertex3fvSUN GLeeFuncPtr_glTexCoord2fNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor4fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glTexCoord2fColor4fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fSUN; - #define glTexCoord2fColor4fNormal3fVertex3fSUN GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2fColor4fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glTexCoord2fColor4fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fvSUN; - #define glTexCoord2fColor4fNormal3fVertex3fvSUN GLeeFuncPtr_glTexCoord2fColor4fNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4fColor4fNormal3fVertex4fSUN -#define GLEE_H_DEFINED_glTexCoord4fColor4fNormal3fVertex4fSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fSUN; - #define glTexCoord4fColor4fNormal3fVertex4fSUN GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fSUN -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4fColor4fNormal3fVertex4fvSUN -#define GLEE_H_DEFINED_glTexCoord4fColor4fNormal3fVertex4fvSUN - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fvSUN; - #define glTexCoord4fColor4fNormal3fVertex4fvSUN GLeeFuncPtr_glTexCoord4fColor4fNormal3fVertex4fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiVertex3fSUN; - #define glReplacementCodeuiVertex3fSUN GLeeFuncPtr_glReplacementCodeuiVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiVertex3fvSUN; - #define glReplacementCodeuiVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor4ubVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor4ubVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fSUN; - #define glReplacementCodeuiColor4ubVertex3fSUN GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor4ubVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor4ubVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint * rc, const GLubyte * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fvSUN; - #define glReplacementCodeuiColor4ubVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiColor4ubVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor3fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fSUN; - #define glReplacementCodeuiColor3fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor3fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * c, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fvSUN; - #define glReplacementCodeuiColor3fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiColor3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fSUN; - #define glReplacementCodeuiNormal3fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fvSUN; - #define glReplacementCodeuiNormal3fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fSUN; - #define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiColor4fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * c, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN; - #define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fSUN; - #define glReplacementCodeuiTexCoord2fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * tc, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fvSUN; - #define glReplacementCodeuiTexCoord2fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; - #define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * tc, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; - #define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; - #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN -#endif -#ifndef GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN -#define GLEE_H_DEFINED_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN - typedef void (APIENTRYP GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint * rc, const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; - #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLeeFuncPtr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN -#endif -#endif - -/* GL_EXT_blend_func_separate */ - -#ifndef GL_EXT_blend_func_separate -#define GL_EXT_blend_func_separate 1 -#define __GLEE_GL_EXT_blend_func_separate 1 -/* Constants */ -#define GL_BLEND_DST_RGB_EXT 0x80C8 -#define GL_BLEND_SRC_RGB_EXT 0x80C9 -#define GL_BLEND_DST_ALPHA_EXT 0x80CA -#define GL_BLEND_SRC_ALPHA_EXT 0x80CB -#ifndef GLEE_H_DEFINED_glBlendFuncSeparateEXT -#define GLEE_H_DEFINED_glBlendFuncSeparateEXT - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEEXTPROC GLeeFuncPtr_glBlendFuncSeparateEXT; - #define glBlendFuncSeparateEXT GLeeFuncPtr_glBlendFuncSeparateEXT -#endif -#endif - -/* GL_INGR_color_clamp */ - -#ifndef GL_INGR_color_clamp -#define GL_INGR_color_clamp 1 -#define __GLEE_GL_INGR_color_clamp 1 -/* Constants */ -#define GL_RED_MIN_CLAMP_INGR 0x8560 -#define GL_GREEN_MIN_CLAMP_INGR 0x8561 -#define GL_BLUE_MIN_CLAMP_INGR 0x8562 -#define GL_ALPHA_MIN_CLAMP_INGR 0x8563 -#define GL_RED_MAX_CLAMP_INGR 0x8564 -#define GL_GREEN_MAX_CLAMP_INGR 0x8565 -#define GL_BLUE_MAX_CLAMP_INGR 0x8566 -#define GL_ALPHA_MAX_CLAMP_INGR 0x8567 -#endif - -/* GL_INGR_interlace_read */ - -#ifndef GL_INGR_interlace_read -#define GL_INGR_interlace_read 1 -#define __GLEE_GL_INGR_interlace_read 1 -/* Constants */ -#define GL_INTERLACE_READ_INGR 0x8568 -#endif - -/* GL_EXT_stencil_wrap */ - -#ifndef GL_EXT_stencil_wrap -#define GL_EXT_stencil_wrap 1 -#define __GLEE_GL_EXT_stencil_wrap 1 -/* Constants */ -#define GL_INCR_WRAP_EXT 0x8507 -#define GL_DECR_WRAP_EXT 0x8508 -#endif - -/* GL_EXT_422_pixels */ - -#ifndef GL_EXT_422_pixels -#define GL_EXT_422_pixels 1 -#define __GLEE_GL_EXT_422_pixels 1 -/* Constants */ -#define GL_422_EXT 0x80CC -#define GL_422_REV_EXT 0x80CD -#define GL_422_AVERAGE_EXT 0x80CE -#define GL_422_REV_AVERAGE_EXT 0x80CF -#endif - -/* GL_NV_texgen_reflection */ - -#ifndef GL_NV_texgen_reflection -#define GL_NV_texgen_reflection 1 -#define __GLEE_GL_NV_texgen_reflection 1 -/* Constants */ -#define GL_NORMAL_MAP_NV 0x8511 -#define GL_REFLECTION_MAP_NV 0x8512 -#endif - -/* GL_EXT_texture_cube_map */ - -#ifndef GL_EXT_texture_cube_map -#define GL_EXT_texture_cube_map 1 -#define __GLEE_GL_EXT_texture_cube_map 1 -/* Constants */ -#define GL_NORMAL_MAP_EXT 0x8511 -#define GL_REFLECTION_MAP_EXT 0x8512 -#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A -#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C -#endif - -/* GL_SUN_convolution_border_modes */ - -#ifndef GL_SUN_convolution_border_modes -#define GL_SUN_convolution_border_modes 1 -#define __GLEE_GL_SUN_convolution_border_modes 1 -/* Constants */ -#define GL_WRAP_BORDER_SUN 0x81D4 -#endif - -/* GL_EXT_texture_env_add */ - -#ifndef GL_EXT_texture_env_add -#define GL_EXT_texture_env_add 1 -#define __GLEE_GL_EXT_texture_env_add 1 -/* Constants */ -#endif - -/* GL_EXT_texture_lod_bias */ - -#ifndef GL_EXT_texture_lod_bias -#define GL_EXT_texture_lod_bias 1 -#define __GLEE_GL_EXT_texture_lod_bias 1 -/* Constants */ -#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD -#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 -#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 -#endif - -/* GL_EXT_texture_filter_anisotropic */ - -#ifndef GL_EXT_texture_filter_anisotropic -#define GL_EXT_texture_filter_anisotropic 1 -#define __GLEE_GL_EXT_texture_filter_anisotropic 1 -/* Constants */ -#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF -#endif - -/* GL_EXT_vertex_weighting */ - -#ifndef GL_EXT_vertex_weighting -#define GL_EXT_vertex_weighting 1 -#define __GLEE_GL_EXT_vertex_weighting 1 -/* Constants */ -#define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH -#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 -#define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX -#define GL_MODELVIEW1_MATRIX_EXT 0x8506 -#define GL_VERTEX_WEIGHTING_EXT 0x8509 -#define GL_MODELVIEW0_EXT GL_MODELVIEW -#define GL_MODELVIEW1_EXT 0x850A -#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B -#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C -#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D -#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E -#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F -#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 -#ifndef GLEE_H_DEFINED_glVertexWeightfEXT -#define GLEE_H_DEFINED_glVertexWeightfEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); - GLEE_EXTERN GLEEPFNGLVERTEXWEIGHTFEXTPROC GLeeFuncPtr_glVertexWeightfEXT; - #define glVertexWeightfEXT GLeeFuncPtr_glVertexWeightfEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexWeightfvEXT -#define GLEE_H_DEFINED_glVertexWeightfvEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat * weight); - GLEE_EXTERN GLEEPFNGLVERTEXWEIGHTFVEXTPROC GLeeFuncPtr_glVertexWeightfvEXT; - #define glVertexWeightfvEXT GLeeFuncPtr_glVertexWeightfvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexWeightPointerEXT -#define GLEE_H_DEFINED_glVertexWeightPointerEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXWEIGHTPOINTEREXTPROC GLeeFuncPtr_glVertexWeightPointerEXT; - #define glVertexWeightPointerEXT GLeeFuncPtr_glVertexWeightPointerEXT -#endif -#endif - -/* GL_NV_light_max_exponent */ - -#ifndef GL_NV_light_max_exponent -#define GL_NV_light_max_exponent 1 -#define __GLEE_GL_NV_light_max_exponent 1 -/* Constants */ -#define GL_MAX_SHININESS_NV 0x8504 -#define GL_MAX_SPOT_EXPONENT_NV 0x8505 -#endif - -/* GL_NV_vertex_array_range */ - -#ifndef GL_NV_vertex_array_range -#define GL_NV_vertex_array_range 1 -#define __GLEE_GL_NV_vertex_array_range 1 -/* Constants */ -#define GL_VERTEX_ARRAY_RANGE_NV 0x851D -#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E -#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F -#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 -#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 -#ifndef GLEE_H_DEFINED_glFlushVertexArrayRangeNV -#define GLEE_H_DEFINED_glFlushVertexArrayRangeNV - typedef void (APIENTRYP GLEEPFNGLFLUSHVERTEXARRAYRANGENVPROC) (); - GLEE_EXTERN GLEEPFNGLFLUSHVERTEXARRAYRANGENVPROC GLeeFuncPtr_glFlushVertexArrayRangeNV; - #define glFlushVertexArrayRangeNV GLeeFuncPtr_glFlushVertexArrayRangeNV -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayRangeNV -#define GLEE_H_DEFINED_glVertexArrayRangeNV - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYRANGENVPROC GLeeFuncPtr_glVertexArrayRangeNV; - #define glVertexArrayRangeNV GLeeFuncPtr_glVertexArrayRangeNV -#endif -#endif - -/* GL_NV_register_combiners */ - -#ifndef GL_NV_register_combiners -#define GL_NV_register_combiners 1 -#define __GLEE_GL_NV_register_combiners 1 -/* Constants */ -#define GL_REGISTER_COMBINERS_NV 0x8522 -#define GL_VARIABLE_A_NV 0x8523 -#define GL_VARIABLE_B_NV 0x8524 -#define GL_VARIABLE_C_NV 0x8525 -#define GL_VARIABLE_D_NV 0x8526 -#define GL_VARIABLE_E_NV 0x8527 -#define GL_VARIABLE_F_NV 0x8528 -#define GL_VARIABLE_G_NV 0x8529 -#define GL_CONSTANT_COLOR0_NV 0x852A -#define GL_CONSTANT_COLOR1_NV 0x852B -#define GL_PRIMARY_COLOR_NV 0x852C -#define GL_SECONDARY_COLOR_NV 0x852D -#define GL_SPARE0_NV 0x852E -#define GL_SPARE1_NV 0x852F -#define GL_DISCARD_NV 0x8530 -#define GL_E_TIMES_F_NV 0x8531 -#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 -#define GL_UNSIGNED_IDENTITY_NV 0x8536 -#define GL_UNSIGNED_INVERT_NV 0x8537 -#define GL_EXPAND_NORMAL_NV 0x8538 -#define GL_EXPAND_NEGATE_NV 0x8539 -#define GL_HALF_BIAS_NORMAL_NV 0x853A -#define GL_HALF_BIAS_NEGATE_NV 0x853B -#define GL_SIGNED_IDENTITY_NV 0x853C -#define GL_SIGNED_NEGATE_NV 0x853D -#define GL_SCALE_BY_TWO_NV 0x853E -#define GL_SCALE_BY_FOUR_NV 0x853F -#define GL_SCALE_BY_ONE_HALF_NV 0x8540 -#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 -#define GL_COMBINER_INPUT_NV 0x8542 -#define GL_COMBINER_MAPPING_NV 0x8543 -#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 -#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 -#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 -#define GL_COMBINER_MUX_SUM_NV 0x8547 -#define GL_COMBINER_SCALE_NV 0x8548 -#define GL_COMBINER_BIAS_NV 0x8549 -#define GL_COMBINER_AB_OUTPUT_NV 0x854A -#define GL_COMBINER_CD_OUTPUT_NV 0x854B -#define GL_COMBINER_SUM_OUTPUT_NV 0x854C -#define GL_MAX_GENERAL_COMBINERS_NV 0x854D -#define GL_NUM_GENERAL_COMBINERS_NV 0x854E -#define GL_COLOR_SUM_CLAMP_NV 0x854F -#define GL_COMBINER0_NV 0x8550 -#define GL_COMBINER1_NV 0x8551 -#define GL_COMBINER2_NV 0x8552 -#define GL_COMBINER3_NV 0x8553 -#define GL_COMBINER4_NV 0x8554 -#define GL_COMBINER5_NV 0x8555 -#define GL_COMBINER6_NV 0x8556 -#define GL_COMBINER7_NV 0x8557 -#ifndef GLEE_H_DEFINED_glCombinerParameterfvNV -#define GLEE_H_DEFINED_glCombinerParameterfvNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCOMBINERPARAMETERFVNVPROC GLeeFuncPtr_glCombinerParameterfvNV; - #define glCombinerParameterfvNV GLeeFuncPtr_glCombinerParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glCombinerParameterfNV -#define GLEE_H_DEFINED_glCombinerParameterfNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLCOMBINERPARAMETERFNVPROC GLeeFuncPtr_glCombinerParameterfNV; - #define glCombinerParameterfNV GLeeFuncPtr_glCombinerParameterfNV -#endif -#ifndef GLEE_H_DEFINED_glCombinerParameterivNV -#define GLEE_H_DEFINED_glCombinerParameterivNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLCOMBINERPARAMETERIVNVPROC GLeeFuncPtr_glCombinerParameterivNV; - #define glCombinerParameterivNV GLeeFuncPtr_glCombinerParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glCombinerParameteriNV -#define GLEE_H_DEFINED_glCombinerParameteriNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLCOMBINERPARAMETERINVPROC GLeeFuncPtr_glCombinerParameteriNV; - #define glCombinerParameteriNV GLeeFuncPtr_glCombinerParameteriNV -#endif -#ifndef GLEE_H_DEFINED_glCombinerInputNV -#define GLEE_H_DEFINED_glCombinerInputNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); - GLEE_EXTERN GLEEPFNGLCOMBINERINPUTNVPROC GLeeFuncPtr_glCombinerInputNV; - #define glCombinerInputNV GLeeFuncPtr_glCombinerInputNV -#endif -#ifndef GLEE_H_DEFINED_glCombinerOutputNV -#define GLEE_H_DEFINED_glCombinerOutputNV - typedef void (APIENTRYP GLEEPFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); - GLEE_EXTERN GLEEPFNGLCOMBINEROUTPUTNVPROC GLeeFuncPtr_glCombinerOutputNV; - #define glCombinerOutputNV GLeeFuncPtr_glCombinerOutputNV -#endif -#ifndef GLEE_H_DEFINED_glFinalCombinerInputNV -#define GLEE_H_DEFINED_glFinalCombinerInputNV - typedef void (APIENTRYP GLEEPFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); - GLEE_EXTERN GLEEPFNGLFINALCOMBINERINPUTNVPROC GLeeFuncPtr_glFinalCombinerInputNV; - #define glFinalCombinerInputNV GLeeFuncPtr_glFinalCombinerInputNV -#endif -#ifndef GLEE_H_DEFINED_glGetCombinerInputParameterfvNV -#define GLEE_H_DEFINED_glGetCombinerInputParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerInputParameterfvNV; - #define glGetCombinerInputParameterfvNV GLeeFuncPtr_glGetCombinerInputParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetCombinerInputParameterivNV -#define GLEE_H_DEFINED_glGetCombinerInputParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetCombinerInputParameterivNV; - #define glGetCombinerInputParameterivNV GLeeFuncPtr_glGetCombinerInputParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glGetCombinerOutputParameterfvNV -#define GLEE_H_DEFINED_glGetCombinerOutputParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerOutputParameterfvNV; - #define glGetCombinerOutputParameterfvNV GLeeFuncPtr_glGetCombinerOutputParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetCombinerOutputParameterivNV -#define GLEE_H_DEFINED_glGetCombinerOutputParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetCombinerOutputParameterivNV; - #define glGetCombinerOutputParameterivNV GLeeFuncPtr_glGetCombinerOutputParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glGetFinalCombinerInputParameterfvNV -#define GLEE_H_DEFINED_glGetFinalCombinerInputParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GLeeFuncPtr_glGetFinalCombinerInputParameterfvNV; - #define glGetFinalCombinerInputParameterfvNV GLeeFuncPtr_glGetFinalCombinerInputParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetFinalCombinerInputParameterivNV -#define GLEE_H_DEFINED_glGetFinalCombinerInputParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GLeeFuncPtr_glGetFinalCombinerInputParameterivNV; - #define glGetFinalCombinerInputParameterivNV GLeeFuncPtr_glGetFinalCombinerInputParameterivNV -#endif -#endif - -/* GL_NV_fog_distance */ - -#ifndef GL_NV_fog_distance -#define GL_NV_fog_distance 1 -#define __GLEE_GL_NV_fog_distance 1 -/* Constants */ -#define GL_FOG_DISTANCE_MODE_NV 0x855A -#define GL_EYE_RADIAL_NV 0x855B -#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C -#endif - -/* GL_NV_texgen_emboss */ - -#ifndef GL_NV_texgen_emboss -#define GL_NV_texgen_emboss 1 -#define __GLEE_GL_NV_texgen_emboss 1 -/* Constants */ -#define GL_EMBOSS_LIGHT_NV 0x855D -#define GL_EMBOSS_CONSTANT_NV 0x855E -#define GL_EMBOSS_MAP_NV 0x855F -#endif - -/* GL_NV_blend_square */ - -#ifndef GL_NV_blend_square -#define GL_NV_blend_square 1 -#define __GLEE_GL_NV_blend_square 1 -/* Constants */ -#endif - -/* GL_NV_texture_env_combine4 */ - -#ifndef GL_NV_texture_env_combine4 -#define GL_NV_texture_env_combine4 1 -#define __GLEE_GL_NV_texture_env_combine4 1 -/* Constants */ -#define GL_COMBINE4_NV 0x8503 -#define GL_SOURCE3_RGB_NV 0x8583 -#define GL_SOURCE3_ALPHA_NV 0x858B -#define GL_OPERAND3_RGB_NV 0x8593 -#define GL_OPERAND3_ALPHA_NV 0x859B -#endif - -/* GL_MESA_resize_buffers */ - -#ifndef GL_MESA_resize_buffers -#define GL_MESA_resize_buffers 1 -#define __GLEE_GL_MESA_resize_buffers 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glResizeBuffersMESA -#define GLEE_H_DEFINED_glResizeBuffersMESA - typedef void (APIENTRYP GLEEPFNGLRESIZEBUFFERSMESAPROC) (); - GLEE_EXTERN GLEEPFNGLRESIZEBUFFERSMESAPROC GLeeFuncPtr_glResizeBuffersMESA; - #define glResizeBuffersMESA GLeeFuncPtr_glResizeBuffersMESA -#endif -#endif - -/* GL_MESA_window_pos */ - -#ifndef GL_MESA_window_pos -#define GL_MESA_window_pos 1 -#define __GLEE_GL_MESA_window_pos 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glWindowPos2dMESA -#define GLEE_H_DEFINED_glWindowPos2dMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DMESAPROC GLeeFuncPtr_glWindowPos2dMESA; - #define glWindowPos2dMESA GLeeFuncPtr_glWindowPos2dMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2dvMESA -#define GLEE_H_DEFINED_glWindowPos2dvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2DVMESAPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2DVMESAPROC GLeeFuncPtr_glWindowPos2dvMESA; - #define glWindowPos2dvMESA GLeeFuncPtr_glWindowPos2dvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2fMESA -#define GLEE_H_DEFINED_glWindowPos2fMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FMESAPROC GLeeFuncPtr_glWindowPos2fMESA; - #define glWindowPos2fMESA GLeeFuncPtr_glWindowPos2fMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2fvMESA -#define GLEE_H_DEFINED_glWindowPos2fvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2FVMESAPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2FVMESAPROC GLeeFuncPtr_glWindowPos2fvMESA; - #define glWindowPos2fvMESA GLeeFuncPtr_glWindowPos2fvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2iMESA -#define GLEE_H_DEFINED_glWindowPos2iMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IMESAPROC GLeeFuncPtr_glWindowPos2iMESA; - #define glWindowPos2iMESA GLeeFuncPtr_glWindowPos2iMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2ivMESA -#define GLEE_H_DEFINED_glWindowPos2ivMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2IVMESAPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2IVMESAPROC GLeeFuncPtr_glWindowPos2ivMESA; - #define glWindowPos2ivMESA GLeeFuncPtr_glWindowPos2ivMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2sMESA -#define GLEE_H_DEFINED_glWindowPos2sMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SMESAPROC GLeeFuncPtr_glWindowPos2sMESA; - #define glWindowPos2sMESA GLeeFuncPtr_glWindowPos2sMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos2svMESA -#define GLEE_H_DEFINED_glWindowPos2svMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS2SVMESAPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS2SVMESAPROC GLeeFuncPtr_glWindowPos2svMESA; - #define glWindowPos2svMESA GLeeFuncPtr_glWindowPos2svMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3dMESA -#define GLEE_H_DEFINED_glWindowPos3dMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DMESAPROC GLeeFuncPtr_glWindowPos3dMESA; - #define glWindowPos3dMESA GLeeFuncPtr_glWindowPos3dMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3dvMESA -#define GLEE_H_DEFINED_glWindowPos3dvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3DVMESAPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3DVMESAPROC GLeeFuncPtr_glWindowPos3dvMESA; - #define glWindowPos3dvMESA GLeeFuncPtr_glWindowPos3dvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3fMESA -#define GLEE_H_DEFINED_glWindowPos3fMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FMESAPROC GLeeFuncPtr_glWindowPos3fMESA; - #define glWindowPos3fMESA GLeeFuncPtr_glWindowPos3fMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3fvMESA -#define GLEE_H_DEFINED_glWindowPos3fvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3FVMESAPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3FVMESAPROC GLeeFuncPtr_glWindowPos3fvMESA; - #define glWindowPos3fvMESA GLeeFuncPtr_glWindowPos3fvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3iMESA -#define GLEE_H_DEFINED_glWindowPos3iMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IMESAPROC GLeeFuncPtr_glWindowPos3iMESA; - #define glWindowPos3iMESA GLeeFuncPtr_glWindowPos3iMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3ivMESA -#define GLEE_H_DEFINED_glWindowPos3ivMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3IVMESAPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3IVMESAPROC GLeeFuncPtr_glWindowPos3ivMESA; - #define glWindowPos3ivMESA GLeeFuncPtr_glWindowPos3ivMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3sMESA -#define GLEE_H_DEFINED_glWindowPos3sMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SMESAPROC GLeeFuncPtr_glWindowPos3sMESA; - #define glWindowPos3sMESA GLeeFuncPtr_glWindowPos3sMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos3svMESA -#define GLEE_H_DEFINED_glWindowPos3svMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS3SVMESAPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS3SVMESAPROC GLeeFuncPtr_glWindowPos3svMESA; - #define glWindowPos3svMESA GLeeFuncPtr_glWindowPos3svMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4dMESA -#define GLEE_H_DEFINED_glWindowPos4dMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4DMESAPROC GLeeFuncPtr_glWindowPos4dMESA; - #define glWindowPos4dMESA GLeeFuncPtr_glWindowPos4dMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4dvMESA -#define GLEE_H_DEFINED_glWindowPos4dvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4DVMESAPROC) (const GLdouble * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4DVMESAPROC GLeeFuncPtr_glWindowPos4dvMESA; - #define glWindowPos4dvMESA GLeeFuncPtr_glWindowPos4dvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4fMESA -#define GLEE_H_DEFINED_glWindowPos4fMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4FMESAPROC GLeeFuncPtr_glWindowPos4fMESA; - #define glWindowPos4fMESA GLeeFuncPtr_glWindowPos4fMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4fvMESA -#define GLEE_H_DEFINED_glWindowPos4fvMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4FVMESAPROC) (const GLfloat * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4FVMESAPROC GLeeFuncPtr_glWindowPos4fvMESA; - #define glWindowPos4fvMESA GLeeFuncPtr_glWindowPos4fvMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4iMESA -#define GLEE_H_DEFINED_glWindowPos4iMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4IMESAPROC GLeeFuncPtr_glWindowPos4iMESA; - #define glWindowPos4iMESA GLeeFuncPtr_glWindowPos4iMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4ivMESA -#define GLEE_H_DEFINED_glWindowPos4ivMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4IVMESAPROC) (const GLint * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4IVMESAPROC GLeeFuncPtr_glWindowPos4ivMESA; - #define glWindowPos4ivMESA GLeeFuncPtr_glWindowPos4ivMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4sMESA -#define GLEE_H_DEFINED_glWindowPos4sMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4SMESAPROC GLeeFuncPtr_glWindowPos4sMESA; - #define glWindowPos4sMESA GLeeFuncPtr_glWindowPos4sMESA -#endif -#ifndef GLEE_H_DEFINED_glWindowPos4svMESA -#define GLEE_H_DEFINED_glWindowPos4svMESA - typedef void (APIENTRYP GLEEPFNGLWINDOWPOS4SVMESAPROC) (const GLshort * v); - GLEE_EXTERN GLEEPFNGLWINDOWPOS4SVMESAPROC GLeeFuncPtr_glWindowPos4svMESA; - #define glWindowPos4svMESA GLeeFuncPtr_glWindowPos4svMESA -#endif -#endif - -/* GL_EXT_texture_compression_s3tc */ - -#ifndef GL_EXT_texture_compression_s3tc -#define GL_EXT_texture_compression_s3tc 1 -#define __GLEE_GL_EXT_texture_compression_s3tc 1 -/* Constants */ -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 -#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 -#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 -#endif - -/* GL_IBM_cull_vertex */ - -#ifndef GL_IBM_cull_vertex -#define GL_IBM_cull_vertex 1 -#define __GLEE_GL_IBM_cull_vertex 1 -/* Constants */ -#define GL_CULL_VERTEX_IBM 103050 -#endif - -/* GL_IBM_multimode_draw_arrays */ - -#ifndef GL_IBM_multimode_draw_arrays -#define GL_IBM_multimode_draw_arrays 1 -#define __GLEE_GL_IBM_multimode_draw_arrays 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMultiModeDrawArraysIBM -#define GLEE_H_DEFINED_glMultiModeDrawArraysIBM - typedef void (APIENTRYP GLEEPFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); - GLEE_EXTERN GLEEPFNGLMULTIMODEDRAWARRAYSIBMPROC GLeeFuncPtr_glMultiModeDrawArraysIBM; - #define glMultiModeDrawArraysIBM GLeeFuncPtr_glMultiModeDrawArraysIBM -#endif -#ifndef GLEE_H_DEFINED_glMultiModeDrawElementsIBM -#define GLEE_H_DEFINED_glMultiModeDrawElementsIBM - typedef void (APIENTRYP GLEEPFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid* const * indices, GLsizei primcount, GLint modestride); - GLEE_EXTERN GLEEPFNGLMULTIMODEDRAWELEMENTSIBMPROC GLeeFuncPtr_glMultiModeDrawElementsIBM; - #define glMultiModeDrawElementsIBM GLeeFuncPtr_glMultiModeDrawElementsIBM -#endif -#endif - -/* GL_IBM_vertex_array_lists */ - -#ifndef GL_IBM_vertex_array_lists -#define GL_IBM_vertex_array_lists 1 -#define __GLEE_GL_IBM_vertex_array_lists 1 -/* Constants */ -#define GL_VERTEX_ARRAY_LIST_IBM 103070 -#define GL_NORMAL_ARRAY_LIST_IBM 103071 -#define GL_COLOR_ARRAY_LIST_IBM 103072 -#define GL_INDEX_ARRAY_LIST_IBM 103073 -#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 -#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 -#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 -#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 -#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 -#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 -#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 -#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 -#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 -#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 -#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 -#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 -#ifndef GLEE_H_DEFINED_glColorPointerListIBM -#define GLEE_H_DEFINED_glColorPointerListIBM - typedef void (APIENTRYP GLEEPFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLCOLORPOINTERLISTIBMPROC GLeeFuncPtr_glColorPointerListIBM; - #define glColorPointerListIBM GLeeFuncPtr_glColorPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorPointerListIBM -#define GLEE_H_DEFINED_glSecondaryColorPointerListIBM - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORPOINTERLISTIBMPROC GLeeFuncPtr_glSecondaryColorPointerListIBM; - #define glSecondaryColorPointerListIBM GLeeFuncPtr_glSecondaryColorPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glEdgeFlagPointerListIBM -#define GLEE_H_DEFINED_glEdgeFlagPointerListIBM - typedef void (APIENTRYP GLEEPFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLEDGEFLAGPOINTERLISTIBMPROC GLeeFuncPtr_glEdgeFlagPointerListIBM; - #define glEdgeFlagPointerListIBM GLeeFuncPtr_glEdgeFlagPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glFogCoordPointerListIBM -#define GLEE_H_DEFINED_glFogCoordPointerListIBM - typedef void (APIENTRYP GLEEPFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLFOGCOORDPOINTERLISTIBMPROC GLeeFuncPtr_glFogCoordPointerListIBM; - #define glFogCoordPointerListIBM GLeeFuncPtr_glFogCoordPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glIndexPointerListIBM -#define GLEE_H_DEFINED_glIndexPointerListIBM - typedef void (APIENTRYP GLEEPFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLINDEXPOINTERLISTIBMPROC GLeeFuncPtr_glIndexPointerListIBM; - #define glIndexPointerListIBM GLeeFuncPtr_glIndexPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glNormalPointerListIBM -#define GLEE_H_DEFINED_glNormalPointerListIBM - typedef void (APIENTRYP GLEEPFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLNORMALPOINTERLISTIBMPROC GLeeFuncPtr_glNormalPointerListIBM; - #define glNormalPointerListIBM GLeeFuncPtr_glNormalPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glTexCoordPointerListIBM -#define GLEE_H_DEFINED_glTexCoordPointerListIBM - typedef void (APIENTRYP GLEEPFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLTEXCOORDPOINTERLISTIBMPROC GLeeFuncPtr_glTexCoordPointerListIBM; - #define glTexCoordPointerListIBM GLeeFuncPtr_glTexCoordPointerListIBM -#endif -#ifndef GLEE_H_DEFINED_glVertexPointerListIBM -#define GLEE_H_DEFINED_glVertexPointerListIBM - typedef void (APIENTRYP GLEEPFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* * pointer, GLint ptrstride); - GLEE_EXTERN GLEEPFNGLVERTEXPOINTERLISTIBMPROC GLeeFuncPtr_glVertexPointerListIBM; - #define glVertexPointerListIBM GLeeFuncPtr_glVertexPointerListIBM -#endif -#endif - -/* GL_SGIX_subsample */ - -#ifndef GL_SGIX_subsample -#define GL_SGIX_subsample 1 -#define __GLEE_GL_SGIX_subsample 1 -/* Constants */ -#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0 -#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1 -#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2 -#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3 -#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4 -#endif - -/* GL_SGIX_ycrcb_subsample */ - -#ifndef GL_SGIX_ycrcb_subsample -#define GL_SGIX_ycrcb_subsample 1 -#define __GLEE_GL_SGIX_ycrcb_subsample 1 -/* Constants */ -#endif - -/* GL_SGIX_ycrcba */ - -#ifndef GL_SGIX_ycrcba -#define GL_SGIX_ycrcba 1 -#define __GLEE_GL_SGIX_ycrcba 1 -/* Constants */ -#define GL_YCRCB_SGIX 0x8318 -#define GL_YCRCBA_SGIX 0x8319 -#endif - -/* GL_SGI_depth_pass_instrument */ - -#ifndef GL_SGI_depth_pass_instrument -#define GL_SGI_depth_pass_instrument 1 -#define __GLEE_GL_SGI_depth_pass_instrument 1 -/* Constants */ -#define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310 -#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311 -#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312 -#endif - -/* GL_3DFX_texture_compression_FXT1 */ - -#ifndef GL_3DFX_texture_compression_FXT1 -#define GL_3DFX_texture_compression_FXT1 1 -#define __GLEE_GL_3DFX_texture_compression_FXT1 1 -/* Constants */ -#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 -#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 -#endif - -/* GL_3DFX_multisample */ - -#ifndef GL_3DFX_multisample -#define GL_3DFX_multisample 1 -#define __GLEE_GL_3DFX_multisample 1 -/* Constants */ -#define GL_MULTISAMPLE_3DFX 0x86B2 -#define GL_SAMPLE_BUFFERS_3DFX 0x86B3 -#define GL_SAMPLES_3DFX 0x86B4 -#define GL_MULTISAMPLE_BIT_3DFX 0x20000000 -#endif - -/* GL_3DFX_tbuffer */ - -#ifndef GL_3DFX_tbuffer -#define GL_3DFX_tbuffer 1 -#define __GLEE_GL_3DFX_tbuffer 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glTbufferMask3DFX -#define GLEE_H_DEFINED_glTbufferMask3DFX - typedef void (APIENTRYP GLEEPFNGLTBUFFERMASK3DFXPROC) (GLuint mask); - GLEE_EXTERN GLEEPFNGLTBUFFERMASK3DFXPROC GLeeFuncPtr_glTbufferMask3DFX; - #define glTbufferMask3DFX GLeeFuncPtr_glTbufferMask3DFX -#endif -#endif - -/* GL_EXT_multisample */ - -#ifndef GL_EXT_multisample -#define GL_EXT_multisample 1 -#define __GLEE_GL_EXT_multisample 1 -/* Constants */ -#define GL_MULTISAMPLE_EXT 0x809D -#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F -#define GL_SAMPLE_MASK_EXT 0x80A0 -#define GL_1PASS_EXT 0x80A1 -#define GL_2PASS_0_EXT 0x80A2 -#define GL_2PASS_1_EXT 0x80A3 -#define GL_4PASS_0_EXT 0x80A4 -#define GL_4PASS_1_EXT 0x80A5 -#define GL_4PASS_2_EXT 0x80A6 -#define GL_4PASS_3_EXT 0x80A7 -#define GL_SAMPLE_BUFFERS_EXT 0x80A8 -#define GL_SAMPLES_EXT 0x80A9 -#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA -#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB -#define GL_SAMPLE_PATTERN_EXT 0x80AC -#define GL_MULTISAMPLE_BIT_EXT 0x20000000 -#ifndef GLEE_H_DEFINED_glSampleMaskEXT -#define GLEE_H_DEFINED_glSampleMaskEXT - typedef void (APIENTRYP GLEEPFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); - GLEE_EXTERN GLEEPFNGLSAMPLEMASKEXTPROC GLeeFuncPtr_glSampleMaskEXT; - #define glSampleMaskEXT GLeeFuncPtr_glSampleMaskEXT -#endif -#ifndef GLEE_H_DEFINED_glSamplePatternEXT -#define GLEE_H_DEFINED_glSamplePatternEXT - typedef void (APIENTRYP GLEEPFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); - GLEE_EXTERN GLEEPFNGLSAMPLEPATTERNEXTPROC GLeeFuncPtr_glSamplePatternEXT; - #define glSamplePatternEXT GLeeFuncPtr_glSamplePatternEXT -#endif -#endif - -/* GL_SGIX_vertex_preclip */ - -#ifndef GL_SGIX_vertex_preclip -#define GL_SGIX_vertex_preclip 1 -#define __GLEE_GL_SGIX_vertex_preclip 1 -/* Constants */ -#define GL_VERTEX_PRECLIP_SGIX 0x83EE -#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF -#endif - -/* GL_SGIX_convolution_accuracy */ - -#ifndef GL_SGIX_convolution_accuracy -#define GL_SGIX_convolution_accuracy 1 -#define __GLEE_GL_SGIX_convolution_accuracy 1 -/* Constants */ -#define GL_CONVOLUTION_HINT_SGIX 0x8316 -#endif - -/* GL_SGIX_resample */ - -#ifndef GL_SGIX_resample -#define GL_SGIX_resample 1 -#define __GLEE_GL_SGIX_resample 1 -/* Constants */ -#define GL_PACK_RESAMPLE_SGIX 0x842C -#define GL_UNPACK_RESAMPLE_SGIX 0x842D -#define GL_RESAMPLE_REPLICATE_SGIX 0x842E -#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F -#define GL_RESAMPLE_DECIMATE_SGIX 0x8430 -#endif - -/* GL_SGIS_point_line_texgen */ - -#ifndef GL_SGIS_point_line_texgen -#define GL_SGIS_point_line_texgen 1 -#define __GLEE_GL_SGIS_point_line_texgen 1 -/* Constants */ -#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 -#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 -#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 -#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 -#define GL_EYE_POINT_SGIS 0x81F4 -#define GL_OBJECT_POINT_SGIS 0x81F5 -#define GL_EYE_LINE_SGIS 0x81F6 -#define GL_OBJECT_LINE_SGIS 0x81F7 -#endif - -/* GL_SGIS_texture_color_mask */ - -#ifndef GL_SGIS_texture_color_mask -#define GL_SGIS_texture_color_mask 1 -#define __GLEE_GL_SGIS_texture_color_mask 1 -/* Constants */ -#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF -#ifndef GLEE_H_DEFINED_glTextureColorMaskSGIS -#define GLEE_H_DEFINED_glTextureColorMaskSGIS - typedef void (APIENTRYP GLEEPFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - GLEE_EXTERN GLEEPFNGLTEXTURECOLORMASKSGISPROC GLeeFuncPtr_glTextureColorMaskSGIS; - #define glTextureColorMaskSGIS GLeeFuncPtr_glTextureColorMaskSGIS -#endif -#endif - -/* GL_EXT_texture_env_dot3 */ - -#ifndef GL_EXT_texture_env_dot3 -#define GL_EXT_texture_env_dot3 1 -#define __GLEE_GL_EXT_texture_env_dot3 1 -/* Constants */ -#define GL_DOT3_RGB_EXT 0x8740 -#define GL_DOT3_RGBA_EXT 0x8741 -#endif - -/* GL_ATI_texture_mirror_once */ - -#ifndef GL_ATI_texture_mirror_once -#define GL_ATI_texture_mirror_once 1 -#define __GLEE_GL_ATI_texture_mirror_once 1 -/* Constants */ -#define GL_MIRROR_CLAMP_ATI 0x8742 -#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 -#endif - -/* GL_NV_fence */ - -#ifndef GL_NV_fence -#define GL_NV_fence 1 -#define __GLEE_GL_NV_fence 1 -/* Constants */ -#define GL_ALL_COMPLETED_NV 0x84F2 -#define GL_FENCE_STATUS_NV 0x84F3 -#define GL_FENCE_CONDITION_NV 0x84F4 -#ifndef GLEE_H_DEFINED_glDeleteFencesNV -#define GLEE_H_DEFINED_glDeleteFencesNV - typedef void (APIENTRYP GLEEPFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint * fences); - GLEE_EXTERN GLEEPFNGLDELETEFENCESNVPROC GLeeFuncPtr_glDeleteFencesNV; - #define glDeleteFencesNV GLeeFuncPtr_glDeleteFencesNV -#endif -#ifndef GLEE_H_DEFINED_glGenFencesNV -#define GLEE_H_DEFINED_glGenFencesNV - typedef void (APIENTRYP GLEEPFNGLGENFENCESNVPROC) (GLsizei n, GLuint * fences); - GLEE_EXTERN GLEEPFNGLGENFENCESNVPROC GLeeFuncPtr_glGenFencesNV; - #define glGenFencesNV GLeeFuncPtr_glGenFencesNV -#endif -#ifndef GLEE_H_DEFINED_glIsFenceNV -#define GLEE_H_DEFINED_glIsFenceNV - typedef GLboolean (APIENTRYP GLEEPFNGLISFENCENVPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLISFENCENVPROC GLeeFuncPtr_glIsFenceNV; - #define glIsFenceNV GLeeFuncPtr_glIsFenceNV -#endif -#ifndef GLEE_H_DEFINED_glTestFenceNV -#define GLEE_H_DEFINED_glTestFenceNV - typedef GLboolean (APIENTRYP GLEEPFNGLTESTFENCENVPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLTESTFENCENVPROC GLeeFuncPtr_glTestFenceNV; - #define glTestFenceNV GLeeFuncPtr_glTestFenceNV -#endif -#ifndef GLEE_H_DEFINED_glGetFenceivNV -#define GLEE_H_DEFINED_glGetFenceivNV - typedef void (APIENTRYP GLEEPFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFENCEIVNVPROC GLeeFuncPtr_glGetFenceivNV; - #define glGetFenceivNV GLeeFuncPtr_glGetFenceivNV -#endif -#ifndef GLEE_H_DEFINED_glFinishFenceNV -#define GLEE_H_DEFINED_glFinishFenceNV - typedef void (APIENTRYP GLEEPFNGLFINISHFENCENVPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLFINISHFENCENVPROC GLeeFuncPtr_glFinishFenceNV; - #define glFinishFenceNV GLeeFuncPtr_glFinishFenceNV -#endif -#ifndef GLEE_H_DEFINED_glSetFenceNV -#define GLEE_H_DEFINED_glSetFenceNV - typedef void (APIENTRYP GLEEPFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); - GLEE_EXTERN GLEEPFNGLSETFENCENVPROC GLeeFuncPtr_glSetFenceNV; - #define glSetFenceNV GLeeFuncPtr_glSetFenceNV -#endif -#endif - -/* GL_IBM_texture_mirrored_repeat */ - -#ifndef GL_IBM_texture_mirrored_repeat -#define GL_IBM_texture_mirrored_repeat 1 -#define __GLEE_GL_IBM_texture_mirrored_repeat 1 -/* Constants */ -#define GL_MIRRORED_REPEAT_IBM 0x8370 -#endif - -/* GL_NV_evaluators */ - -#ifndef GL_NV_evaluators -#define GL_NV_evaluators 1 -#define __GLEE_GL_NV_evaluators 1 -/* Constants */ -#define GL_EVAL_2D_NV 0x86C0 -#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 -#define GL_MAP_TESSELLATION_NV 0x86C2 -#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 -#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 -#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 -#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 -#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 -#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 -#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 -#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA -#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB -#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC -#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD -#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE -#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF -#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 -#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 -#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 -#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 -#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 -#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 -#define GL_MAX_MAP_TESSELLATION_NV 0x86D6 -#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 -#ifndef GLEE_H_DEFINED_glMapControlPointsNV -#define GLEE_H_DEFINED_glMapControlPointsNV - typedef void (APIENTRYP GLEEPFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid * points); - GLEE_EXTERN GLEEPFNGLMAPCONTROLPOINTSNVPROC GLeeFuncPtr_glMapControlPointsNV; - #define glMapControlPointsNV GLeeFuncPtr_glMapControlPointsNV -#endif -#ifndef GLEE_H_DEFINED_glMapParameterivNV -#define GLEE_H_DEFINED_glMapParameterivNV - typedef void (APIENTRYP GLEEPFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLMAPPARAMETERIVNVPROC GLeeFuncPtr_glMapParameterivNV; - #define glMapParameterivNV GLeeFuncPtr_glMapParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glMapParameterfvNV -#define GLEE_H_DEFINED_glMapParameterfvNV - typedef void (APIENTRYP GLEEPFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLMAPPARAMETERFVNVPROC GLeeFuncPtr_glMapParameterfvNV; - #define glMapParameterfvNV GLeeFuncPtr_glMapParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetMapControlPointsNV -#define GLEE_H_DEFINED_glGetMapControlPointsNV - typedef void (APIENTRYP GLEEPFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid * points); - GLEE_EXTERN GLEEPFNGLGETMAPCONTROLPOINTSNVPROC GLeeFuncPtr_glGetMapControlPointsNV; - #define glGetMapControlPointsNV GLeeFuncPtr_glGetMapControlPointsNV -#endif -#ifndef GLEE_H_DEFINED_glGetMapParameterivNV -#define GLEE_H_DEFINED_glGetMapParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMAPPARAMETERIVNVPROC GLeeFuncPtr_glGetMapParameterivNV; - #define glGetMapParameterivNV GLeeFuncPtr_glGetMapParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glGetMapParameterfvNV -#define GLEE_H_DEFINED_glGetMapParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMAPPARAMETERFVNVPROC GLeeFuncPtr_glGetMapParameterfvNV; - #define glGetMapParameterfvNV GLeeFuncPtr_glGetMapParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetMapAttribParameterivNV -#define GLEE_H_DEFINED_glGetMapAttribParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMAPATTRIBPARAMETERIVNVPROC GLeeFuncPtr_glGetMapAttribParameterivNV; - #define glGetMapAttribParameterivNV GLeeFuncPtr_glGetMapAttribParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glGetMapAttribParameterfvNV -#define GLEE_H_DEFINED_glGetMapAttribParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMAPATTRIBPARAMETERFVNVPROC GLeeFuncPtr_glGetMapAttribParameterfvNV; - #define glGetMapAttribParameterfvNV GLeeFuncPtr_glGetMapAttribParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glEvalMapsNV -#define GLEE_H_DEFINED_glEvalMapsNV - typedef void (APIENTRYP GLEEPFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); - GLEE_EXTERN GLEEPFNGLEVALMAPSNVPROC GLeeFuncPtr_glEvalMapsNV; - #define glEvalMapsNV GLeeFuncPtr_glEvalMapsNV -#endif -#endif - -/* GL_NV_packed_depth_stencil */ - -#ifndef GL_NV_packed_depth_stencil -#define GL_NV_packed_depth_stencil 1 -#define __GLEE_GL_NV_packed_depth_stencil 1 -/* Constants */ -#define GL_DEPTH_STENCIL_NV 0x84F9 -#define GL_UNSIGNED_INT_24_8_NV 0x84FA -#endif - -/* GL_NV_register_combiners2 */ - -#ifndef GL_NV_register_combiners2 -#define GL_NV_register_combiners2 1 -#define __GLEE_GL_NV_register_combiners2 1 -/* Constants */ -#define GL_PER_STAGE_CONSTANTS_NV 0x8535 -#ifndef GLEE_H_DEFINED_glCombinerStageParameterfvNV -#define GLEE_H_DEFINED_glCombinerStageParameterfvNV - typedef void (APIENTRYP GLEEPFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLCOMBINERSTAGEPARAMETERFVNVPROC GLeeFuncPtr_glCombinerStageParameterfvNV; - #define glCombinerStageParameterfvNV GLeeFuncPtr_glCombinerStageParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetCombinerStageParameterfvNV -#define GLEE_H_DEFINED_glGetCombinerStageParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC GLeeFuncPtr_glGetCombinerStageParameterfvNV; - #define glGetCombinerStageParameterfvNV GLeeFuncPtr_glGetCombinerStageParameterfvNV -#endif -#endif - -/* GL_NV_texture_compression_vtc */ - -#ifndef GL_NV_texture_compression_vtc -#define GL_NV_texture_compression_vtc 1 -#define __GLEE_GL_NV_texture_compression_vtc 1 -/* Constants */ -#endif - -/* GL_NV_texture_rectangle */ - -#ifndef GL_NV_texture_rectangle -#define GL_NV_texture_rectangle 1 -#define __GLEE_GL_NV_texture_rectangle 1 -/* Constants */ -#define GL_TEXTURE_RECTANGLE_NV 0x84F5 -#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 -#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 -#endif - -/* GL_NV_texture_shader */ - -#ifndef GL_NV_texture_shader -#define GL_NV_texture_shader 1 -#define __GLEE_GL_NV_texture_shader 1 -/* Constants */ -#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C -#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D -#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E -#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 -#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA -#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB -#define GL_DSDT_MAG_INTENSITY_NV 0x86DC -#define GL_SHADER_CONSISTENT_NV 0x86DD -#define GL_TEXTURE_SHADER_NV 0x86DE -#define GL_SHADER_OPERATION_NV 0x86DF -#define GL_CULL_MODES_NV 0x86E0 -#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 -#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 -#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 -#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV -#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV -#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV -#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 -#define GL_CONST_EYE_NV 0x86E5 -#define GL_PASS_THROUGH_NV 0x86E6 -#define GL_CULL_FRAGMENT_NV 0x86E7 -#define GL_OFFSET_TEXTURE_2D_NV 0x86E8 -#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 -#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA -#define GL_DOT_PRODUCT_NV 0x86EC -#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED -#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE -#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 -#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 -#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 -#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 -#define GL_HILO_NV 0x86F4 -#define GL_DSDT_NV 0x86F5 -#define GL_DSDT_MAG_NV 0x86F6 -#define GL_DSDT_MAG_VIB_NV 0x86F7 -#define GL_HILO16_NV 0x86F8 -#define GL_SIGNED_HILO_NV 0x86F9 -#define GL_SIGNED_HILO16_NV 0x86FA -#define GL_SIGNED_RGBA_NV 0x86FB -#define GL_SIGNED_RGBA8_NV 0x86FC -#define GL_SIGNED_RGB_NV 0x86FE -#define GL_SIGNED_RGB8_NV 0x86FF -#define GL_SIGNED_LUMINANCE_NV 0x8701 -#define GL_SIGNED_LUMINANCE8_NV 0x8702 -#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 -#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 -#define GL_SIGNED_ALPHA_NV 0x8705 -#define GL_SIGNED_ALPHA8_NV 0x8706 -#define GL_SIGNED_INTENSITY_NV 0x8707 -#define GL_SIGNED_INTENSITY8_NV 0x8708 -#define GL_DSDT8_NV 0x8709 -#define GL_DSDT8_MAG8_NV 0x870A -#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B -#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C -#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D -#define GL_HI_SCALE_NV 0x870E -#define GL_LO_SCALE_NV 0x870F -#define GL_DS_SCALE_NV 0x8710 -#define GL_DT_SCALE_NV 0x8711 -#define GL_MAGNITUDE_SCALE_NV 0x8712 -#define GL_VIBRANCE_SCALE_NV 0x8713 -#define GL_HI_BIAS_NV 0x8714 -#define GL_LO_BIAS_NV 0x8715 -#define GL_DS_BIAS_NV 0x8716 -#define GL_DT_BIAS_NV 0x8717 -#define GL_MAGNITUDE_BIAS_NV 0x8718 -#define GL_VIBRANCE_BIAS_NV 0x8719 -#define GL_TEXTURE_BORDER_VALUES_NV 0x871A -#define GL_TEXTURE_HI_SIZE_NV 0x871B -#define GL_TEXTURE_LO_SIZE_NV 0x871C -#define GL_TEXTURE_DS_SIZE_NV 0x871D -#define GL_TEXTURE_DT_SIZE_NV 0x871E -#define GL_TEXTURE_MAG_SIZE_NV 0x871F -#endif - -/* GL_NV_texture_shader2 */ - -#ifndef GL_NV_texture_shader2 -#define GL_NV_texture_shader2 1 -#define __GLEE_GL_NV_texture_shader2 1 -/* Constants */ -#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF -#endif - -/* GL_NV_vertex_array_range2 */ - -#ifndef GL_NV_vertex_array_range2 -#define GL_NV_vertex_array_range2 1 -#define __GLEE_GL_NV_vertex_array_range2 1 -/* Constants */ -#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 -#endif - -/* GL_NV_vertex_program */ - -#ifndef GL_NV_vertex_program -#define GL_NV_vertex_program 1 -#define __GLEE_GL_NV_vertex_program 1 -/* Constants */ -#define GL_VERTEX_PROGRAM_NV 0x8620 -#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 -#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 -#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 -#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 -#define GL_CURRENT_ATTRIB_NV 0x8626 -#define GL_PROGRAM_LENGTH_NV 0x8627 -#define GL_PROGRAM_STRING_NV 0x8628 -#define GL_MODELVIEW_PROJECTION_NV 0x8629 -#define GL_IDENTITY_NV 0x862A -#define GL_INVERSE_NV 0x862B -#define GL_TRANSPOSE_NV 0x862C -#define GL_INVERSE_TRANSPOSE_NV 0x862D -#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E -#define GL_MAX_TRACK_MATRICES_NV 0x862F -#define GL_MATRIX0_NV 0x8630 -#define GL_MATRIX1_NV 0x8631 -#define GL_MATRIX2_NV 0x8632 -#define GL_MATRIX3_NV 0x8633 -#define GL_MATRIX4_NV 0x8634 -#define GL_MATRIX5_NV 0x8635 -#define GL_MATRIX6_NV 0x8636 -#define GL_MATRIX7_NV 0x8637 -#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 -#define GL_CURRENT_MATRIX_NV 0x8641 -#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 -#define GL_PROGRAM_PARAMETER_NV 0x8644 -#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 -#define GL_PROGRAM_TARGET_NV 0x8646 -#define GL_PROGRAM_RESIDENT_NV 0x8647 -#define GL_TRACK_MATRIX_NV 0x8648 -#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 -#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A -#define GL_PROGRAM_ERROR_POSITION_NV 0x864B -#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 -#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 -#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 -#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 -#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 -#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 -#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 -#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 -#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 -#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 -#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A -#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B -#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C -#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D -#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E -#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F -#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 -#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 -#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 -#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 -#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 -#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 -#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 -#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 -#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 -#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 -#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A -#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B -#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C -#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D -#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E -#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F -#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 -#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 -#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 -#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 -#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 -#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 -#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 -#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 -#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 -#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 -#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A -#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B -#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C -#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D -#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E -#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F -#ifndef GLEE_H_DEFINED_glAreProgramsResidentNV -#define GLEE_H_DEFINED_glAreProgramsResidentNV - typedef GLboolean (APIENTRYP GLEEPFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint * programs, GLboolean * residences); - GLEE_EXTERN GLEEPFNGLAREPROGRAMSRESIDENTNVPROC GLeeFuncPtr_glAreProgramsResidentNV; - #define glAreProgramsResidentNV GLeeFuncPtr_glAreProgramsResidentNV -#endif -#ifndef GLEE_H_DEFINED_glBindProgramNV -#define GLEE_H_DEFINED_glBindProgramNV - typedef void (APIENTRYP GLEEPFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); - GLEE_EXTERN GLEEPFNGLBINDPROGRAMNVPROC GLeeFuncPtr_glBindProgramNV; - #define glBindProgramNV GLeeFuncPtr_glBindProgramNV -#endif -#ifndef GLEE_H_DEFINED_glDeleteProgramsNV -#define GLEE_H_DEFINED_glDeleteProgramsNV - typedef void (APIENTRYP GLEEPFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint * programs); - GLEE_EXTERN GLEEPFNGLDELETEPROGRAMSNVPROC GLeeFuncPtr_glDeleteProgramsNV; - #define glDeleteProgramsNV GLeeFuncPtr_glDeleteProgramsNV -#endif -#ifndef GLEE_H_DEFINED_glExecuteProgramNV -#define GLEE_H_DEFINED_glExecuteProgramNV - typedef void (APIENTRYP GLEEPFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLEXECUTEPROGRAMNVPROC GLeeFuncPtr_glExecuteProgramNV; - #define glExecuteProgramNV GLeeFuncPtr_glExecuteProgramNV -#endif -#ifndef GLEE_H_DEFINED_glGenProgramsNV -#define GLEE_H_DEFINED_glGenProgramsNV - typedef void (APIENTRYP GLEEPFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint * programs); - GLEE_EXTERN GLEEPFNGLGENPROGRAMSNVPROC GLeeFuncPtr_glGenProgramsNV; - #define glGenProgramsNV GLeeFuncPtr_glGenProgramsNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramParameterdvNV -#define GLEE_H_DEFINED_glGetProgramParameterdvNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMPARAMETERDVNVPROC GLeeFuncPtr_glGetProgramParameterdvNV; - #define glGetProgramParameterdvNV GLeeFuncPtr_glGetProgramParameterdvNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramParameterfvNV -#define GLEE_H_DEFINED_glGetProgramParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMPARAMETERFVNVPROC GLeeFuncPtr_glGetProgramParameterfvNV; - #define glGetProgramParameterfvNV GLeeFuncPtr_glGetProgramParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramivNV -#define GLEE_H_DEFINED_glGetProgramivNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMIVNVPROC GLeeFuncPtr_glGetProgramivNV; - #define glGetProgramivNV GLeeFuncPtr_glGetProgramivNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramStringNV -#define GLEE_H_DEFINED_glGetProgramStringNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte * program); - GLEE_EXTERN GLEEPFNGLGETPROGRAMSTRINGNVPROC GLeeFuncPtr_glGetProgramStringNV; - #define glGetProgramStringNV GLeeFuncPtr_glGetProgramStringNV -#endif -#ifndef GLEE_H_DEFINED_glGetTrackMatrixivNV -#define GLEE_H_DEFINED_glGetTrackMatrixivNV - typedef void (APIENTRYP GLEEPFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTRACKMATRIXIVNVPROC GLeeFuncPtr_glGetTrackMatrixivNV; - #define glGetTrackMatrixivNV GLeeFuncPtr_glGetTrackMatrixivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribdvNV -#define GLEE_H_DEFINED_glGetVertexAttribdvNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBDVNVPROC GLeeFuncPtr_glGetVertexAttribdvNV; - #define glGetVertexAttribdvNV GLeeFuncPtr_glGetVertexAttribdvNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribfvNV -#define GLEE_H_DEFINED_glGetVertexAttribfvNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBFVNVPROC GLeeFuncPtr_glGetVertexAttribfvNV; - #define glGetVertexAttribfvNV GLeeFuncPtr_glGetVertexAttribfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribivNV -#define GLEE_H_DEFINED_glGetVertexAttribivNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBIVNVPROC GLeeFuncPtr_glGetVertexAttribivNV; - #define glGetVertexAttribivNV GLeeFuncPtr_glGetVertexAttribivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribPointervNV -#define GLEE_H_DEFINED_glGetVertexAttribPointervNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* * pointer); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBPOINTERVNVPROC GLeeFuncPtr_glGetVertexAttribPointervNV; - #define glGetVertexAttribPointervNV GLeeFuncPtr_glGetVertexAttribPointervNV -#endif -#ifndef GLEE_H_DEFINED_glIsProgramNV -#define GLEE_H_DEFINED_glIsProgramNV - typedef GLboolean (APIENTRYP GLEEPFNGLISPROGRAMNVPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISPROGRAMNVPROC GLeeFuncPtr_glIsProgramNV; - #define glIsProgramNV GLeeFuncPtr_glIsProgramNV -#endif -#ifndef GLEE_H_DEFINED_glLoadProgramNV -#define GLEE_H_DEFINED_glLoadProgramNV - typedef void (APIENTRYP GLEEPFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte * program); - GLEE_EXTERN GLEEPFNGLLOADPROGRAMNVPROC GLeeFuncPtr_glLoadProgramNV; - #define glLoadProgramNV GLeeFuncPtr_glLoadProgramNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameter4dNV -#define GLEE_H_DEFINED_glProgramParameter4dNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETER4DNVPROC GLeeFuncPtr_glProgramParameter4dNV; - #define glProgramParameter4dNV GLeeFuncPtr_glProgramParameter4dNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameter4dvNV -#define GLEE_H_DEFINED_glProgramParameter4dvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETER4DVNVPROC GLeeFuncPtr_glProgramParameter4dvNV; - #define glProgramParameter4dvNV GLeeFuncPtr_glProgramParameter4dvNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameter4fNV -#define GLEE_H_DEFINED_glProgramParameter4fNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETER4FNVPROC GLeeFuncPtr_glProgramParameter4fNV; - #define glProgramParameter4fNV GLeeFuncPtr_glProgramParameter4fNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameter4fvNV -#define GLEE_H_DEFINED_glProgramParameter4fvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETER4FVNVPROC GLeeFuncPtr_glProgramParameter4fvNV; - #define glProgramParameter4fvNV GLeeFuncPtr_glProgramParameter4fvNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameters4dvNV -#define GLEE_H_DEFINED_glProgramParameters4dvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETERS4DVNVPROC GLeeFuncPtr_glProgramParameters4dvNV; - #define glProgramParameters4dvNV GLeeFuncPtr_glProgramParameters4dvNV -#endif -#ifndef GLEE_H_DEFINED_glProgramParameters4fvNV -#define GLEE_H_DEFINED_glProgramParameters4fvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLPROGRAMPARAMETERS4FVNVPROC GLeeFuncPtr_glProgramParameters4fvNV; - #define glProgramParameters4fvNV GLeeFuncPtr_glProgramParameters4fvNV -#endif -#ifndef GLEE_H_DEFINED_glRequestResidentProgramsNV -#define GLEE_H_DEFINED_glRequestResidentProgramsNV - typedef void (APIENTRYP GLEEPFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint * programs); - GLEE_EXTERN GLEEPFNGLREQUESTRESIDENTPROGRAMSNVPROC GLeeFuncPtr_glRequestResidentProgramsNV; - #define glRequestResidentProgramsNV GLeeFuncPtr_glRequestResidentProgramsNV -#endif -#ifndef GLEE_H_DEFINED_glTrackMatrixNV -#define GLEE_H_DEFINED_glTrackMatrixNV - typedef void (APIENTRYP GLEEPFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); - GLEE_EXTERN GLEEPFNGLTRACKMATRIXNVPROC GLeeFuncPtr_glTrackMatrixNV; - #define glTrackMatrixNV GLeeFuncPtr_glTrackMatrixNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribPointerNV -#define GLEE_H_DEFINED_glVertexAttribPointerNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBPOINTERNVPROC GLeeFuncPtr_glVertexAttribPointerNV; - #define glVertexAttribPointerNV GLeeFuncPtr_glVertexAttribPointerNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1dNV -#define GLEE_H_DEFINED_glVertexAttrib1dNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DNVPROC GLeeFuncPtr_glVertexAttrib1dNV; - #define glVertexAttrib1dNV GLeeFuncPtr_glVertexAttrib1dNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1dvNV -#define GLEE_H_DEFINED_glVertexAttrib1dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1DVNVPROC GLeeFuncPtr_glVertexAttrib1dvNV; - #define glVertexAttrib1dvNV GLeeFuncPtr_glVertexAttrib1dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1fNV -#define GLEE_H_DEFINED_glVertexAttrib1fNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FNVPROC GLeeFuncPtr_glVertexAttrib1fNV; - #define glVertexAttrib1fNV GLeeFuncPtr_glVertexAttrib1fNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1fvNV -#define GLEE_H_DEFINED_glVertexAttrib1fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1FVNVPROC GLeeFuncPtr_glVertexAttrib1fvNV; - #define glVertexAttrib1fvNV GLeeFuncPtr_glVertexAttrib1fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1sNV -#define GLEE_H_DEFINED_glVertexAttrib1sNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SNVPROC GLeeFuncPtr_glVertexAttrib1sNV; - #define glVertexAttrib1sNV GLeeFuncPtr_glVertexAttrib1sNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1svNV -#define GLEE_H_DEFINED_glVertexAttrib1svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1SVNVPROC GLeeFuncPtr_glVertexAttrib1svNV; - #define glVertexAttrib1svNV GLeeFuncPtr_glVertexAttrib1svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2dNV -#define GLEE_H_DEFINED_glVertexAttrib2dNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DNVPROC GLeeFuncPtr_glVertexAttrib2dNV; - #define glVertexAttrib2dNV GLeeFuncPtr_glVertexAttrib2dNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2dvNV -#define GLEE_H_DEFINED_glVertexAttrib2dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2DVNVPROC GLeeFuncPtr_glVertexAttrib2dvNV; - #define glVertexAttrib2dvNV GLeeFuncPtr_glVertexAttrib2dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2fNV -#define GLEE_H_DEFINED_glVertexAttrib2fNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FNVPROC GLeeFuncPtr_glVertexAttrib2fNV; - #define glVertexAttrib2fNV GLeeFuncPtr_glVertexAttrib2fNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2fvNV -#define GLEE_H_DEFINED_glVertexAttrib2fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2FVNVPROC GLeeFuncPtr_glVertexAttrib2fvNV; - #define glVertexAttrib2fvNV GLeeFuncPtr_glVertexAttrib2fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2sNV -#define GLEE_H_DEFINED_glVertexAttrib2sNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SNVPROC GLeeFuncPtr_glVertexAttrib2sNV; - #define glVertexAttrib2sNV GLeeFuncPtr_glVertexAttrib2sNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2svNV -#define GLEE_H_DEFINED_glVertexAttrib2svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2SVNVPROC GLeeFuncPtr_glVertexAttrib2svNV; - #define glVertexAttrib2svNV GLeeFuncPtr_glVertexAttrib2svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3dNV -#define GLEE_H_DEFINED_glVertexAttrib3dNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DNVPROC GLeeFuncPtr_glVertexAttrib3dNV; - #define glVertexAttrib3dNV GLeeFuncPtr_glVertexAttrib3dNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3dvNV -#define GLEE_H_DEFINED_glVertexAttrib3dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3DVNVPROC GLeeFuncPtr_glVertexAttrib3dvNV; - #define glVertexAttrib3dvNV GLeeFuncPtr_glVertexAttrib3dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3fNV -#define GLEE_H_DEFINED_glVertexAttrib3fNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FNVPROC GLeeFuncPtr_glVertexAttrib3fNV; - #define glVertexAttrib3fNV GLeeFuncPtr_glVertexAttrib3fNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3fvNV -#define GLEE_H_DEFINED_glVertexAttrib3fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3FVNVPROC GLeeFuncPtr_glVertexAttrib3fvNV; - #define glVertexAttrib3fvNV GLeeFuncPtr_glVertexAttrib3fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3sNV -#define GLEE_H_DEFINED_glVertexAttrib3sNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SNVPROC GLeeFuncPtr_glVertexAttrib3sNV; - #define glVertexAttrib3sNV GLeeFuncPtr_glVertexAttrib3sNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3svNV -#define GLEE_H_DEFINED_glVertexAttrib3svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3SVNVPROC GLeeFuncPtr_glVertexAttrib3svNV; - #define glVertexAttrib3svNV GLeeFuncPtr_glVertexAttrib3svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4dNV -#define GLEE_H_DEFINED_glVertexAttrib4dNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DNVPROC GLeeFuncPtr_glVertexAttrib4dNV; - #define glVertexAttrib4dNV GLeeFuncPtr_glVertexAttrib4dNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4dvNV -#define GLEE_H_DEFINED_glVertexAttrib4dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4DVNVPROC GLeeFuncPtr_glVertexAttrib4dvNV; - #define glVertexAttrib4dvNV GLeeFuncPtr_glVertexAttrib4dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4fNV -#define GLEE_H_DEFINED_glVertexAttrib4fNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FNVPROC GLeeFuncPtr_glVertexAttrib4fNV; - #define glVertexAttrib4fNV GLeeFuncPtr_glVertexAttrib4fNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4fvNV -#define GLEE_H_DEFINED_glVertexAttrib4fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4FVNVPROC GLeeFuncPtr_glVertexAttrib4fvNV; - #define glVertexAttrib4fvNV GLeeFuncPtr_glVertexAttrib4fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4sNV -#define GLEE_H_DEFINED_glVertexAttrib4sNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SNVPROC GLeeFuncPtr_glVertexAttrib4sNV; - #define glVertexAttrib4sNV GLeeFuncPtr_glVertexAttrib4sNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4svNV -#define GLEE_H_DEFINED_glVertexAttrib4svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4SVNVPROC GLeeFuncPtr_glVertexAttrib4svNV; - #define glVertexAttrib4svNV GLeeFuncPtr_glVertexAttrib4svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4ubNV -#define GLEE_H_DEFINED_glVertexAttrib4ubNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UBNVPROC GLeeFuncPtr_glVertexAttrib4ubNV; - #define glVertexAttrib4ubNV GLeeFuncPtr_glVertexAttrib4ubNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4ubvNV -#define GLEE_H_DEFINED_glVertexAttrib4ubvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4UBVNVPROC GLeeFuncPtr_glVertexAttrib4ubvNV; - #define glVertexAttrib4ubvNV GLeeFuncPtr_glVertexAttrib4ubvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs1dvNV -#define GLEE_H_DEFINED_glVertexAttribs1dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS1DVNVPROC GLeeFuncPtr_glVertexAttribs1dvNV; - #define glVertexAttribs1dvNV GLeeFuncPtr_glVertexAttribs1dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs1fvNV -#define GLEE_H_DEFINED_glVertexAttribs1fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS1FVNVPROC GLeeFuncPtr_glVertexAttribs1fvNV; - #define glVertexAttribs1fvNV GLeeFuncPtr_glVertexAttribs1fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs1svNV -#define GLEE_H_DEFINED_glVertexAttribs1svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS1SVNVPROC GLeeFuncPtr_glVertexAttribs1svNV; - #define glVertexAttribs1svNV GLeeFuncPtr_glVertexAttribs1svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs2dvNV -#define GLEE_H_DEFINED_glVertexAttribs2dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS2DVNVPROC GLeeFuncPtr_glVertexAttribs2dvNV; - #define glVertexAttribs2dvNV GLeeFuncPtr_glVertexAttribs2dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs2fvNV -#define GLEE_H_DEFINED_glVertexAttribs2fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS2FVNVPROC GLeeFuncPtr_glVertexAttribs2fvNV; - #define glVertexAttribs2fvNV GLeeFuncPtr_glVertexAttribs2fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs2svNV -#define GLEE_H_DEFINED_glVertexAttribs2svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS2SVNVPROC GLeeFuncPtr_glVertexAttribs2svNV; - #define glVertexAttribs2svNV GLeeFuncPtr_glVertexAttribs2svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs3dvNV -#define GLEE_H_DEFINED_glVertexAttribs3dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS3DVNVPROC GLeeFuncPtr_glVertexAttribs3dvNV; - #define glVertexAttribs3dvNV GLeeFuncPtr_glVertexAttribs3dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs3fvNV -#define GLEE_H_DEFINED_glVertexAttribs3fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS3FVNVPROC GLeeFuncPtr_glVertexAttribs3fvNV; - #define glVertexAttribs3fvNV GLeeFuncPtr_glVertexAttribs3fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs3svNV -#define GLEE_H_DEFINED_glVertexAttribs3svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS3SVNVPROC GLeeFuncPtr_glVertexAttribs3svNV; - #define glVertexAttribs3svNV GLeeFuncPtr_glVertexAttribs3svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs4dvNV -#define GLEE_H_DEFINED_glVertexAttribs4dvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS4DVNVPROC GLeeFuncPtr_glVertexAttribs4dvNV; - #define glVertexAttribs4dvNV GLeeFuncPtr_glVertexAttribs4dvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs4fvNV -#define GLEE_H_DEFINED_glVertexAttribs4fvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS4FVNVPROC GLeeFuncPtr_glVertexAttribs4fvNV; - #define glVertexAttribs4fvNV GLeeFuncPtr_glVertexAttribs4fvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs4svNV -#define GLEE_H_DEFINED_glVertexAttribs4svNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS4SVNVPROC GLeeFuncPtr_glVertexAttribs4svNV; - #define glVertexAttribs4svNV GLeeFuncPtr_glVertexAttribs4svNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs4ubvNV -#define GLEE_H_DEFINED_glVertexAttribs4ubvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS4UBVNVPROC GLeeFuncPtr_glVertexAttribs4ubvNV; - #define glVertexAttribs4ubvNV GLeeFuncPtr_glVertexAttribs4ubvNV -#endif -#endif - -/* GL_SGIX_texture_coordinate_clamp */ - -#ifndef GL_SGIX_texture_coordinate_clamp -#define GL_SGIX_texture_coordinate_clamp 1 -#define __GLEE_GL_SGIX_texture_coordinate_clamp 1 -/* Constants */ -#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 -#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A -#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B -#endif - -/* GL_SGIX_scalebias_hint */ - -#ifndef GL_SGIX_scalebias_hint -#define GL_SGIX_scalebias_hint 1 -#define __GLEE_GL_SGIX_scalebias_hint 1 -/* Constants */ -#define GL_SCALEBIAS_HINT_SGIX 0x8322 -#endif - -/* GL_OML_interlace */ - -#ifndef GL_OML_interlace -#define GL_OML_interlace 1 -#define __GLEE_GL_OML_interlace 1 -/* Constants */ -#define GL_INTERLACE_OML 0x8980 -#define GL_INTERLACE_READ_OML 0x8981 -#endif - -/* GL_OML_subsample */ - -#ifndef GL_OML_subsample -#define GL_OML_subsample 1 -#define __GLEE_GL_OML_subsample 1 -/* Constants */ -#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 -#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 -#endif - -/* GL_OML_resample */ - -#ifndef GL_OML_resample -#define GL_OML_resample 1 -#define __GLEE_GL_OML_resample 1 -/* Constants */ -#define GL_PACK_RESAMPLE_OML 0x8984 -#define GL_UNPACK_RESAMPLE_OML 0x8985 -#define GL_RESAMPLE_REPLICATE_OML 0x8986 -#define GL_RESAMPLE_ZERO_FILL_OML 0x8987 -#define GL_RESAMPLE_AVERAGE_OML 0x8988 -#define GL_RESAMPLE_DECIMATE_OML 0x8989 -#endif - -/* GL_NV_copy_depth_to_color */ - -#ifndef GL_NV_copy_depth_to_color -#define GL_NV_copy_depth_to_color 1 -#define __GLEE_GL_NV_copy_depth_to_color 1 -/* Constants */ -#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E -#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F -#endif - -/* GL_ATI_envmap_bumpmap */ - -#ifndef GL_ATI_envmap_bumpmap -#define GL_ATI_envmap_bumpmap 1 -#define __GLEE_GL_ATI_envmap_bumpmap 1 -/* Constants */ -#define GL_BUMP_ROT_MATRIX_ATI 0x8775 -#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 -#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 -#define GL_BUMP_TEX_UNITS_ATI 0x8778 -#define GL_DUDV_ATI 0x8779 -#define GL_DU8DV8_ATI 0x877A -#define GL_BUMP_ENVMAP_ATI 0x877B -#define GL_BUMP_TARGET_ATI 0x877C -#ifndef GLEE_H_DEFINED_glTexBumpParameterivATI -#define GLEE_H_DEFINED_glTexBumpParameterivATI - typedef void (APIENTRYP GLEEPFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint * param); - GLEE_EXTERN GLEEPFNGLTEXBUMPPARAMETERIVATIPROC GLeeFuncPtr_glTexBumpParameterivATI; - #define glTexBumpParameterivATI GLeeFuncPtr_glTexBumpParameterivATI -#endif -#ifndef GLEE_H_DEFINED_glTexBumpParameterfvATI -#define GLEE_H_DEFINED_glTexBumpParameterfvATI - typedef void (APIENTRYP GLEEPFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat * param); - GLEE_EXTERN GLEEPFNGLTEXBUMPPARAMETERFVATIPROC GLeeFuncPtr_glTexBumpParameterfvATI; - #define glTexBumpParameterfvATI GLeeFuncPtr_glTexBumpParameterfvATI -#endif -#ifndef GLEE_H_DEFINED_glGetTexBumpParameterivATI -#define GLEE_H_DEFINED_glGetTexBumpParameterivATI - typedef void (APIENTRYP GLEEPFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint * param); - GLEE_EXTERN GLEEPFNGLGETTEXBUMPPARAMETERIVATIPROC GLeeFuncPtr_glGetTexBumpParameterivATI; - #define glGetTexBumpParameterivATI GLeeFuncPtr_glGetTexBumpParameterivATI -#endif -#ifndef GLEE_H_DEFINED_glGetTexBumpParameterfvATI -#define GLEE_H_DEFINED_glGetTexBumpParameterfvATI - typedef void (APIENTRYP GLEEPFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat * param); - GLEE_EXTERN GLEEPFNGLGETTEXBUMPPARAMETERFVATIPROC GLeeFuncPtr_glGetTexBumpParameterfvATI; - #define glGetTexBumpParameterfvATI GLeeFuncPtr_glGetTexBumpParameterfvATI -#endif -#endif - -/* GL_ATI_fragment_shader */ - -#ifndef GL_ATI_fragment_shader -#define GL_ATI_fragment_shader 1 -#define __GLEE_GL_ATI_fragment_shader 1 -/* Constants */ -#define GL_FRAGMENT_SHADER_ATI 0x8920 -#define GL_REG_0_ATI 0x8921 -#define GL_REG_1_ATI 0x8922 -#define GL_REG_2_ATI 0x8923 -#define GL_REG_3_ATI 0x8924 -#define GL_REG_4_ATI 0x8925 -#define GL_REG_5_ATI 0x8926 -#define GL_REG_6_ATI 0x8927 -#define GL_REG_7_ATI 0x8928 -#define GL_REG_8_ATI 0x8929 -#define GL_REG_9_ATI 0x892A -#define GL_REG_10_ATI 0x892B -#define GL_REG_11_ATI 0x892C -#define GL_REG_12_ATI 0x892D -#define GL_REG_13_ATI 0x892E -#define GL_REG_14_ATI 0x892F -#define GL_REG_15_ATI 0x8930 -#define GL_REG_16_ATI 0x8931 -#define GL_REG_17_ATI 0x8932 -#define GL_REG_18_ATI 0x8933 -#define GL_REG_19_ATI 0x8934 -#define GL_REG_20_ATI 0x8935 -#define GL_REG_21_ATI 0x8936 -#define GL_REG_22_ATI 0x8937 -#define GL_REG_23_ATI 0x8938 -#define GL_REG_24_ATI 0x8939 -#define GL_REG_25_ATI 0x893A -#define GL_REG_26_ATI 0x893B -#define GL_REG_27_ATI 0x893C -#define GL_REG_28_ATI 0x893D -#define GL_REG_29_ATI 0x893E -#define GL_REG_30_ATI 0x893F -#define GL_REG_31_ATI 0x8940 -#define GL_CON_0_ATI 0x8941 -#define GL_CON_1_ATI 0x8942 -#define GL_CON_2_ATI 0x8943 -#define GL_CON_3_ATI 0x8944 -#define GL_CON_4_ATI 0x8945 -#define GL_CON_5_ATI 0x8946 -#define GL_CON_6_ATI 0x8947 -#define GL_CON_7_ATI 0x8948 -#define GL_CON_8_ATI 0x8949 -#define GL_CON_9_ATI 0x894A -#define GL_CON_10_ATI 0x894B -#define GL_CON_11_ATI 0x894C -#define GL_CON_12_ATI 0x894D -#define GL_CON_13_ATI 0x894E -#define GL_CON_14_ATI 0x894F -#define GL_CON_15_ATI 0x8950 -#define GL_CON_16_ATI 0x8951 -#define GL_CON_17_ATI 0x8952 -#define GL_CON_18_ATI 0x8953 -#define GL_CON_19_ATI 0x8954 -#define GL_CON_20_ATI 0x8955 -#define GL_CON_21_ATI 0x8956 -#define GL_CON_22_ATI 0x8957 -#define GL_CON_23_ATI 0x8958 -#define GL_CON_24_ATI 0x8959 -#define GL_CON_25_ATI 0x895A -#define GL_CON_26_ATI 0x895B -#define GL_CON_27_ATI 0x895C -#define GL_CON_28_ATI 0x895D -#define GL_CON_29_ATI 0x895E -#define GL_CON_30_ATI 0x895F -#define GL_CON_31_ATI 0x8960 -#define GL_MOV_ATI 0x8961 -#define GL_ADD_ATI 0x8963 -#define GL_MUL_ATI 0x8964 -#define GL_SUB_ATI 0x8965 -#define GL_DOT3_ATI 0x8966 -#define GL_DOT4_ATI 0x8967 -#define GL_MAD_ATI 0x8968 -#define GL_LERP_ATI 0x8969 -#define GL_CND_ATI 0x896A -#define GL_CND0_ATI 0x896B -#define GL_DOT2_ADD_ATI 0x896C -#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D -#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E -#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F -#define GL_NUM_PASSES_ATI 0x8970 -#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 -#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 -#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 -#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 -#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 -#define GL_SWIZZLE_STR_ATI 0x8976 -#define GL_SWIZZLE_STQ_ATI 0x8977 -#define GL_SWIZZLE_STR_DR_ATI 0x8978 -#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 -#define GL_SWIZZLE_STRQ_ATI 0x897A -#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B -#define GL_RED_BIT_ATI 0x00000001 -#define GL_GREEN_BIT_ATI 0x00000002 -#define GL_BLUE_BIT_ATI 0x00000004 -#define GL_2X_BIT_ATI 0x00000001 -#define GL_4X_BIT_ATI 0x00000002 -#define GL_8X_BIT_ATI 0x00000004 -#define GL_HALF_BIT_ATI 0x00000008 -#define GL_QUARTER_BIT_ATI 0x00000010 -#define GL_EIGHTH_BIT_ATI 0x00000020 -#define GL_SATURATE_BIT_ATI 0x00000040 -#define GL_COMP_BIT_ATI 0x00000002 -#define GL_NEGATE_BIT_ATI 0x00000004 -#define GL_BIAS_BIT_ATI 0x00000008 -#ifndef GLEE_H_DEFINED_glGenFragmentShadersATI -#define GLEE_H_DEFINED_glGenFragmentShadersATI - typedef GLuint (APIENTRYP GLEEPFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); - GLEE_EXTERN GLEEPFNGLGENFRAGMENTSHADERSATIPROC GLeeFuncPtr_glGenFragmentShadersATI; - #define glGenFragmentShadersATI GLeeFuncPtr_glGenFragmentShadersATI -#endif -#ifndef GLEE_H_DEFINED_glBindFragmentShaderATI -#define GLEE_H_DEFINED_glBindFragmentShaderATI - typedef void (APIENTRYP GLEEPFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLBINDFRAGMENTSHADERATIPROC GLeeFuncPtr_glBindFragmentShaderATI; - #define glBindFragmentShaderATI GLeeFuncPtr_glBindFragmentShaderATI -#endif -#ifndef GLEE_H_DEFINED_glDeleteFragmentShaderATI -#define GLEE_H_DEFINED_glDeleteFragmentShaderATI - typedef void (APIENTRYP GLEEPFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLDELETEFRAGMENTSHADERATIPROC GLeeFuncPtr_glDeleteFragmentShaderATI; - #define glDeleteFragmentShaderATI GLeeFuncPtr_glDeleteFragmentShaderATI -#endif -#ifndef GLEE_H_DEFINED_glBeginFragmentShaderATI -#define GLEE_H_DEFINED_glBeginFragmentShaderATI - typedef void (APIENTRYP GLEEPFNGLBEGINFRAGMENTSHADERATIPROC) (); - GLEE_EXTERN GLEEPFNGLBEGINFRAGMENTSHADERATIPROC GLeeFuncPtr_glBeginFragmentShaderATI; - #define glBeginFragmentShaderATI GLeeFuncPtr_glBeginFragmentShaderATI -#endif -#ifndef GLEE_H_DEFINED_glEndFragmentShaderATI -#define GLEE_H_DEFINED_glEndFragmentShaderATI - typedef void (APIENTRYP GLEEPFNGLENDFRAGMENTSHADERATIPROC) (); - GLEE_EXTERN GLEEPFNGLENDFRAGMENTSHADERATIPROC GLeeFuncPtr_glEndFragmentShaderATI; - #define glEndFragmentShaderATI GLeeFuncPtr_glEndFragmentShaderATI -#endif -#ifndef GLEE_H_DEFINED_glPassTexCoordATI -#define GLEE_H_DEFINED_glPassTexCoordATI - typedef void (APIENTRYP GLEEPFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); - GLEE_EXTERN GLEEPFNGLPASSTEXCOORDATIPROC GLeeFuncPtr_glPassTexCoordATI; - #define glPassTexCoordATI GLeeFuncPtr_glPassTexCoordATI -#endif -#ifndef GLEE_H_DEFINED_glSampleMapATI -#define GLEE_H_DEFINED_glSampleMapATI - typedef void (APIENTRYP GLEEPFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); - GLEE_EXTERN GLEEPFNGLSAMPLEMAPATIPROC GLeeFuncPtr_glSampleMapATI; - #define glSampleMapATI GLeeFuncPtr_glSampleMapATI -#endif -#ifndef GLEE_H_DEFINED_glColorFragmentOp1ATI -#define GLEE_H_DEFINED_glColorFragmentOp1ATI - typedef void (APIENTRYP GLEEPFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); - GLEE_EXTERN GLEEPFNGLCOLORFRAGMENTOP1ATIPROC GLeeFuncPtr_glColorFragmentOp1ATI; - #define glColorFragmentOp1ATI GLeeFuncPtr_glColorFragmentOp1ATI -#endif -#ifndef GLEE_H_DEFINED_glColorFragmentOp2ATI -#define GLEE_H_DEFINED_glColorFragmentOp2ATI - typedef void (APIENTRYP GLEEPFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); - GLEE_EXTERN GLEEPFNGLCOLORFRAGMENTOP2ATIPROC GLeeFuncPtr_glColorFragmentOp2ATI; - #define glColorFragmentOp2ATI GLeeFuncPtr_glColorFragmentOp2ATI -#endif -#ifndef GLEE_H_DEFINED_glColorFragmentOp3ATI -#define GLEE_H_DEFINED_glColorFragmentOp3ATI - typedef void (APIENTRYP GLEEPFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); - GLEE_EXTERN GLEEPFNGLCOLORFRAGMENTOP3ATIPROC GLeeFuncPtr_glColorFragmentOp3ATI; - #define glColorFragmentOp3ATI GLeeFuncPtr_glColorFragmentOp3ATI -#endif -#ifndef GLEE_H_DEFINED_glAlphaFragmentOp1ATI -#define GLEE_H_DEFINED_glAlphaFragmentOp1ATI - typedef void (APIENTRYP GLEEPFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); - GLEE_EXTERN GLEEPFNGLALPHAFRAGMENTOP1ATIPROC GLeeFuncPtr_glAlphaFragmentOp1ATI; - #define glAlphaFragmentOp1ATI GLeeFuncPtr_glAlphaFragmentOp1ATI -#endif -#ifndef GLEE_H_DEFINED_glAlphaFragmentOp2ATI -#define GLEE_H_DEFINED_glAlphaFragmentOp2ATI - typedef void (APIENTRYP GLEEPFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); - GLEE_EXTERN GLEEPFNGLALPHAFRAGMENTOP2ATIPROC GLeeFuncPtr_glAlphaFragmentOp2ATI; - #define glAlphaFragmentOp2ATI GLeeFuncPtr_glAlphaFragmentOp2ATI -#endif -#ifndef GLEE_H_DEFINED_glAlphaFragmentOp3ATI -#define GLEE_H_DEFINED_glAlphaFragmentOp3ATI - typedef void (APIENTRYP GLEEPFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); - GLEE_EXTERN GLEEPFNGLALPHAFRAGMENTOP3ATIPROC GLeeFuncPtr_glAlphaFragmentOp3ATI; - #define glAlphaFragmentOp3ATI GLeeFuncPtr_glAlphaFragmentOp3ATI -#endif -#ifndef GLEE_H_DEFINED_glSetFragmentShaderConstantATI -#define GLEE_H_DEFINED_glSetFragmentShaderConstantATI - typedef void (APIENTRYP GLEEPFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLSETFRAGMENTSHADERCONSTANTATIPROC GLeeFuncPtr_glSetFragmentShaderConstantATI; - #define glSetFragmentShaderConstantATI GLeeFuncPtr_glSetFragmentShaderConstantATI -#endif -#endif - -/* GL_ATI_pn_triangles */ - -#ifndef GL_ATI_pn_triangles -#define GL_ATI_pn_triangles 1 -#define __GLEE_GL_ATI_pn_triangles 1 -/* Constants */ -#define GL_PN_TRIANGLES_ATI 0x87F0 -#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 -#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 -#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 -#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 -#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 -#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 -#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 -#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 -#ifndef GLEE_H_DEFINED_glPNTrianglesiATI -#define GLEE_H_DEFINED_glPNTrianglesiATI - typedef void (APIENTRYP GLEEPFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLPNTRIANGLESIATIPROC GLeeFuncPtr_glPNTrianglesiATI; - #define glPNTrianglesiATI GLeeFuncPtr_glPNTrianglesiATI -#endif -#ifndef GLEE_H_DEFINED_glPNTrianglesfATI -#define GLEE_H_DEFINED_glPNTrianglesfATI - typedef void (APIENTRYP GLEEPFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLPNTRIANGLESFATIPROC GLeeFuncPtr_glPNTrianglesfATI; - #define glPNTrianglesfATI GLeeFuncPtr_glPNTrianglesfATI -#endif -#endif - -/* GL_ATI_vertex_array_object */ - -#ifndef GL_ATI_vertex_array_object -#define GL_ATI_vertex_array_object 1 -#define __GLEE_GL_ATI_vertex_array_object 1 -/* Constants */ -#define GL_STATIC_ATI 0x8760 -#define GL_DYNAMIC_ATI 0x8761 -#define GL_PRESERVE_ATI 0x8762 -#define GL_DISCARD_ATI 0x8763 -#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 -#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 -#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 -#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 -#ifndef GLEE_H_DEFINED_glNewObjectBufferATI -#define GLEE_H_DEFINED_glNewObjectBufferATI - typedef GLuint (APIENTRYP GLEEPFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid * pointer, GLenum usage); - GLEE_EXTERN GLEEPFNGLNEWOBJECTBUFFERATIPROC GLeeFuncPtr_glNewObjectBufferATI; - #define glNewObjectBufferATI GLeeFuncPtr_glNewObjectBufferATI -#endif -#ifndef GLEE_H_DEFINED_glIsObjectBufferATI -#define GLEE_H_DEFINED_glIsObjectBufferATI - typedef GLboolean (APIENTRYP GLEEPFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLISOBJECTBUFFERATIPROC GLeeFuncPtr_glIsObjectBufferATI; - #define glIsObjectBufferATI GLeeFuncPtr_glIsObjectBufferATI -#endif -#ifndef GLEE_H_DEFINED_glUpdateObjectBufferATI -#define GLEE_H_DEFINED_glUpdateObjectBufferATI - typedef void (APIENTRYP GLEEPFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid * pointer, GLenum preserve); - GLEE_EXTERN GLEEPFNGLUPDATEOBJECTBUFFERATIPROC GLeeFuncPtr_glUpdateObjectBufferATI; - #define glUpdateObjectBufferATI GLeeFuncPtr_glUpdateObjectBufferATI -#endif -#ifndef GLEE_H_DEFINED_glGetObjectBufferfvATI -#define GLEE_H_DEFINED_glGetObjectBufferfvATI - typedef void (APIENTRYP GLEEPFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETOBJECTBUFFERFVATIPROC GLeeFuncPtr_glGetObjectBufferfvATI; - #define glGetObjectBufferfvATI GLeeFuncPtr_glGetObjectBufferfvATI -#endif -#ifndef GLEE_H_DEFINED_glGetObjectBufferivATI -#define GLEE_H_DEFINED_glGetObjectBufferivATI - typedef void (APIENTRYP GLEEPFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETOBJECTBUFFERIVATIPROC GLeeFuncPtr_glGetObjectBufferivATI; - #define glGetObjectBufferivATI GLeeFuncPtr_glGetObjectBufferivATI -#endif -#ifndef GLEE_H_DEFINED_glFreeObjectBufferATI -#define GLEE_H_DEFINED_glFreeObjectBufferATI - typedef void (APIENTRYP GLEEPFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLFREEOBJECTBUFFERATIPROC GLeeFuncPtr_glFreeObjectBufferATI; - #define glFreeObjectBufferATI GLeeFuncPtr_glFreeObjectBufferATI -#endif -#ifndef GLEE_H_DEFINED_glArrayObjectATI -#define GLEE_H_DEFINED_glArrayObjectATI - typedef void (APIENTRYP GLEEPFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); - GLEE_EXTERN GLEEPFNGLARRAYOBJECTATIPROC GLeeFuncPtr_glArrayObjectATI; - #define glArrayObjectATI GLeeFuncPtr_glArrayObjectATI -#endif -#ifndef GLEE_H_DEFINED_glGetArrayObjectfvATI -#define GLEE_H_DEFINED_glGetArrayObjectfvATI - typedef void (APIENTRYP GLEEPFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetArrayObjectfvATI; - #define glGetArrayObjectfvATI GLeeFuncPtr_glGetArrayObjectfvATI -#endif -#ifndef GLEE_H_DEFINED_glGetArrayObjectivATI -#define GLEE_H_DEFINED_glGetArrayObjectivATI - typedef void (APIENTRYP GLEEPFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetArrayObjectivATI; - #define glGetArrayObjectivATI GLeeFuncPtr_glGetArrayObjectivATI -#endif -#ifndef GLEE_H_DEFINED_glVariantArrayObjectATI -#define GLEE_H_DEFINED_glVariantArrayObjectATI - typedef void (APIENTRYP GLEEPFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); - GLEE_EXTERN GLEEPFNGLVARIANTARRAYOBJECTATIPROC GLeeFuncPtr_glVariantArrayObjectATI; - #define glVariantArrayObjectATI GLeeFuncPtr_glVariantArrayObjectATI -#endif -#ifndef GLEE_H_DEFINED_glGetVariantArrayObjectfvATI -#define GLEE_H_DEFINED_glGetVariantArrayObjectfvATI - typedef void (APIENTRYP GLEEPFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVARIANTARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetVariantArrayObjectfvATI; - #define glGetVariantArrayObjectfvATI GLeeFuncPtr_glGetVariantArrayObjectfvATI -#endif -#ifndef GLEE_H_DEFINED_glGetVariantArrayObjectivATI -#define GLEE_H_DEFINED_glGetVariantArrayObjectivATI - typedef void (APIENTRYP GLEEPFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVARIANTARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetVariantArrayObjectivATI; - #define glGetVariantArrayObjectivATI GLeeFuncPtr_glGetVariantArrayObjectivATI -#endif -#endif - -/* GL_EXT_vertex_shader */ - -#ifndef GL_EXT_vertex_shader -#define GL_EXT_vertex_shader 1 -#define __GLEE_GL_EXT_vertex_shader 1 -/* Constants */ -#define GL_VERTEX_SHADER_EXT 0x8780 -#define GL_VERTEX_SHADER_BINDING_EXT 0x8781 -#define GL_OP_INDEX_EXT 0x8782 -#define GL_OP_NEGATE_EXT 0x8783 -#define GL_OP_DOT3_EXT 0x8784 -#define GL_OP_DOT4_EXT 0x8785 -#define GL_OP_MUL_EXT 0x8786 -#define GL_OP_ADD_EXT 0x8787 -#define GL_OP_MADD_EXT 0x8788 -#define GL_OP_FRAC_EXT 0x8789 -#define GL_OP_MAX_EXT 0x878A -#define GL_OP_MIN_EXT 0x878B -#define GL_OP_SET_GE_EXT 0x878C -#define GL_OP_SET_LT_EXT 0x878D -#define GL_OP_CLAMP_EXT 0x878E -#define GL_OP_FLOOR_EXT 0x878F -#define GL_OP_ROUND_EXT 0x8790 -#define GL_OP_EXP_BASE_2_EXT 0x8791 -#define GL_OP_LOG_BASE_2_EXT 0x8792 -#define GL_OP_POWER_EXT 0x8793 -#define GL_OP_RECIP_EXT 0x8794 -#define GL_OP_RECIP_SQRT_EXT 0x8795 -#define GL_OP_SUB_EXT 0x8796 -#define GL_OP_CROSS_PRODUCT_EXT 0x8797 -#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 -#define GL_OP_MOV_EXT 0x8799 -#define GL_OUTPUT_VERTEX_EXT 0x879A -#define GL_OUTPUT_COLOR0_EXT 0x879B -#define GL_OUTPUT_COLOR1_EXT 0x879C -#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D -#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E -#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F -#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 -#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 -#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 -#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 -#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 -#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 -#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 -#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 -#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 -#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 -#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA -#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB -#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC -#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD -#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE -#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF -#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 -#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 -#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 -#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 -#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 -#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 -#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 -#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 -#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 -#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 -#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA -#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB -#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC -#define GL_OUTPUT_FOG_EXT 0x87BD -#define GL_SCALAR_EXT 0x87BE -#define GL_VECTOR_EXT 0x87BF -#define GL_MATRIX_EXT 0x87C0 -#define GL_VARIANT_EXT 0x87C1 -#define GL_INVARIANT_EXT 0x87C2 -#define GL_LOCAL_CONSTANT_EXT 0x87C3 -#define GL_LOCAL_EXT 0x87C4 -#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 -#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 -#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 -#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 -#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD -#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE -#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF -#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 -#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 -#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 -#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 -#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 -#define GL_X_EXT 0x87D5 -#define GL_Y_EXT 0x87D6 -#define GL_Z_EXT 0x87D7 -#define GL_W_EXT 0x87D8 -#define GL_NEGATIVE_X_EXT 0x87D9 -#define GL_NEGATIVE_Y_EXT 0x87DA -#define GL_NEGATIVE_Z_EXT 0x87DB -#define GL_NEGATIVE_W_EXT 0x87DC -#define GL_ZERO_EXT 0x87DD -#define GL_ONE_EXT 0x87DE -#define GL_NEGATIVE_ONE_EXT 0x87DF -#define GL_NORMALIZED_RANGE_EXT 0x87E0 -#define GL_FULL_RANGE_EXT 0x87E1 -#define GL_CURRENT_VERTEX_EXT 0x87E2 -#define GL_MVP_MATRIX_EXT 0x87E3 -#define GL_VARIANT_VALUE_EXT 0x87E4 -#define GL_VARIANT_DATATYPE_EXT 0x87E5 -#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 -#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 -#define GL_VARIANT_ARRAY_EXT 0x87E8 -#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 -#define GL_INVARIANT_VALUE_EXT 0x87EA -#define GL_INVARIANT_DATATYPE_EXT 0x87EB -#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC -#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED -#ifndef GLEE_H_DEFINED_glBeginVertexShaderEXT -#define GLEE_H_DEFINED_glBeginVertexShaderEXT - typedef void (APIENTRYP GLEEPFNGLBEGINVERTEXSHADEREXTPROC) (); - GLEE_EXTERN GLEEPFNGLBEGINVERTEXSHADEREXTPROC GLeeFuncPtr_glBeginVertexShaderEXT; - #define glBeginVertexShaderEXT GLeeFuncPtr_glBeginVertexShaderEXT -#endif -#ifndef GLEE_H_DEFINED_glEndVertexShaderEXT -#define GLEE_H_DEFINED_glEndVertexShaderEXT - typedef void (APIENTRYP GLEEPFNGLENDVERTEXSHADEREXTPROC) (); - GLEE_EXTERN GLEEPFNGLENDVERTEXSHADEREXTPROC GLeeFuncPtr_glEndVertexShaderEXT; - #define glEndVertexShaderEXT GLeeFuncPtr_glEndVertexShaderEXT -#endif -#ifndef GLEE_H_DEFINED_glBindVertexShaderEXT -#define GLEE_H_DEFINED_glBindVertexShaderEXT - typedef void (APIENTRYP GLEEPFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLBINDVERTEXSHADEREXTPROC GLeeFuncPtr_glBindVertexShaderEXT; - #define glBindVertexShaderEXT GLeeFuncPtr_glBindVertexShaderEXT -#endif -#ifndef GLEE_H_DEFINED_glGenVertexShadersEXT -#define GLEE_H_DEFINED_glGenVertexShadersEXT - typedef GLuint (APIENTRYP GLEEPFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); - GLEE_EXTERN GLEEPFNGLGENVERTEXSHADERSEXTPROC GLeeFuncPtr_glGenVertexShadersEXT; - #define glGenVertexShadersEXT GLeeFuncPtr_glGenVertexShadersEXT -#endif -#ifndef GLEE_H_DEFINED_glDeleteVertexShaderEXT -#define GLEE_H_DEFINED_glDeleteVertexShaderEXT - typedef void (APIENTRYP GLEEPFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLDELETEVERTEXSHADEREXTPROC GLeeFuncPtr_glDeleteVertexShaderEXT; - #define glDeleteVertexShaderEXT GLeeFuncPtr_glDeleteVertexShaderEXT -#endif -#ifndef GLEE_H_DEFINED_glShaderOp1EXT -#define GLEE_H_DEFINED_glShaderOp1EXT - typedef void (APIENTRYP GLEEPFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); - GLEE_EXTERN GLEEPFNGLSHADEROP1EXTPROC GLeeFuncPtr_glShaderOp1EXT; - #define glShaderOp1EXT GLeeFuncPtr_glShaderOp1EXT -#endif -#ifndef GLEE_H_DEFINED_glShaderOp2EXT -#define GLEE_H_DEFINED_glShaderOp2EXT - typedef void (APIENTRYP GLEEPFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); - GLEE_EXTERN GLEEPFNGLSHADEROP2EXTPROC GLeeFuncPtr_glShaderOp2EXT; - #define glShaderOp2EXT GLeeFuncPtr_glShaderOp2EXT -#endif -#ifndef GLEE_H_DEFINED_glShaderOp3EXT -#define GLEE_H_DEFINED_glShaderOp3EXT - typedef void (APIENTRYP GLEEPFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); - GLEE_EXTERN GLEEPFNGLSHADEROP3EXTPROC GLeeFuncPtr_glShaderOp3EXT; - #define glShaderOp3EXT GLeeFuncPtr_glShaderOp3EXT -#endif -#ifndef GLEE_H_DEFINED_glSwizzleEXT -#define GLEE_H_DEFINED_glSwizzleEXT - typedef void (APIENTRYP GLEEPFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); - GLEE_EXTERN GLEEPFNGLSWIZZLEEXTPROC GLeeFuncPtr_glSwizzleEXT; - #define glSwizzleEXT GLeeFuncPtr_glSwizzleEXT -#endif -#ifndef GLEE_H_DEFINED_glWriteMaskEXT -#define GLEE_H_DEFINED_glWriteMaskEXT - typedef void (APIENTRYP GLEEPFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); - GLEE_EXTERN GLEEPFNGLWRITEMASKEXTPROC GLeeFuncPtr_glWriteMaskEXT; - #define glWriteMaskEXT GLeeFuncPtr_glWriteMaskEXT -#endif -#ifndef GLEE_H_DEFINED_glInsertComponentEXT -#define GLEE_H_DEFINED_glInsertComponentEXT - typedef void (APIENTRYP GLEEPFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); - GLEE_EXTERN GLEEPFNGLINSERTCOMPONENTEXTPROC GLeeFuncPtr_glInsertComponentEXT; - #define glInsertComponentEXT GLeeFuncPtr_glInsertComponentEXT -#endif -#ifndef GLEE_H_DEFINED_glExtractComponentEXT -#define GLEE_H_DEFINED_glExtractComponentEXT - typedef void (APIENTRYP GLEEPFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); - GLEE_EXTERN GLEEPFNGLEXTRACTCOMPONENTEXTPROC GLeeFuncPtr_glExtractComponentEXT; - #define glExtractComponentEXT GLeeFuncPtr_glExtractComponentEXT -#endif -#ifndef GLEE_H_DEFINED_glGenSymbolsEXT -#define GLEE_H_DEFINED_glGenSymbolsEXT - typedef GLuint (APIENTRYP GLEEPFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components); - GLEE_EXTERN GLEEPFNGLGENSYMBOLSEXTPROC GLeeFuncPtr_glGenSymbolsEXT; - #define glGenSymbolsEXT GLeeFuncPtr_glGenSymbolsEXT -#endif -#ifndef GLEE_H_DEFINED_glSetInvariantEXT -#define GLEE_H_DEFINED_glSetInvariantEXT - typedef void (APIENTRYP GLEEPFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid * addr); - GLEE_EXTERN GLEEPFNGLSETINVARIANTEXTPROC GLeeFuncPtr_glSetInvariantEXT; - #define glSetInvariantEXT GLeeFuncPtr_glSetInvariantEXT -#endif -#ifndef GLEE_H_DEFINED_glSetLocalConstantEXT -#define GLEE_H_DEFINED_glSetLocalConstantEXT - typedef void (APIENTRYP GLEEPFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid * addr); - GLEE_EXTERN GLEEPFNGLSETLOCALCONSTANTEXTPROC GLeeFuncPtr_glSetLocalConstantEXT; - #define glSetLocalConstantEXT GLeeFuncPtr_glSetLocalConstantEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantbvEXT -#define GLEE_H_DEFINED_glVariantbvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte * addr); - GLEE_EXTERN GLEEPFNGLVARIANTBVEXTPROC GLeeFuncPtr_glVariantbvEXT; - #define glVariantbvEXT GLeeFuncPtr_glVariantbvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantsvEXT -#define GLEE_H_DEFINED_glVariantsvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort * addr); - GLEE_EXTERN GLEEPFNGLVARIANTSVEXTPROC GLeeFuncPtr_glVariantsvEXT; - #define glVariantsvEXT GLeeFuncPtr_glVariantsvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantivEXT -#define GLEE_H_DEFINED_glVariantivEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTIVEXTPROC) (GLuint id, const GLint * addr); - GLEE_EXTERN GLEEPFNGLVARIANTIVEXTPROC GLeeFuncPtr_glVariantivEXT; - #define glVariantivEXT GLeeFuncPtr_glVariantivEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantfvEXT -#define GLEE_H_DEFINED_glVariantfvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat * addr); - GLEE_EXTERN GLEEPFNGLVARIANTFVEXTPROC GLeeFuncPtr_glVariantfvEXT; - #define glVariantfvEXT GLeeFuncPtr_glVariantfvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantdvEXT -#define GLEE_H_DEFINED_glVariantdvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble * addr); - GLEE_EXTERN GLEEPFNGLVARIANTDVEXTPROC GLeeFuncPtr_glVariantdvEXT; - #define glVariantdvEXT GLeeFuncPtr_glVariantdvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantubvEXT -#define GLEE_H_DEFINED_glVariantubvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte * addr); - GLEE_EXTERN GLEEPFNGLVARIANTUBVEXTPROC GLeeFuncPtr_glVariantubvEXT; - #define glVariantubvEXT GLeeFuncPtr_glVariantubvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantusvEXT -#define GLEE_H_DEFINED_glVariantusvEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort * addr); - GLEE_EXTERN GLEEPFNGLVARIANTUSVEXTPROC GLeeFuncPtr_glVariantusvEXT; - #define glVariantusvEXT GLeeFuncPtr_glVariantusvEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantuivEXT -#define GLEE_H_DEFINED_glVariantuivEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint * addr); - GLEE_EXTERN GLEEPFNGLVARIANTUIVEXTPROC GLeeFuncPtr_glVariantuivEXT; - #define glVariantuivEXT GLeeFuncPtr_glVariantuivEXT -#endif -#ifndef GLEE_H_DEFINED_glVariantPointerEXT -#define GLEE_H_DEFINED_glVariantPointerEXT - typedef void (APIENTRYP GLEEPFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid * addr); - GLEE_EXTERN GLEEPFNGLVARIANTPOINTEREXTPROC GLeeFuncPtr_glVariantPointerEXT; - #define glVariantPointerEXT GLeeFuncPtr_glVariantPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glEnableVariantClientStateEXT -#define GLEE_H_DEFINED_glEnableVariantClientStateEXT - typedef void (APIENTRYP GLEEPFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLENABLEVARIANTCLIENTSTATEEXTPROC GLeeFuncPtr_glEnableVariantClientStateEXT; - #define glEnableVariantClientStateEXT GLeeFuncPtr_glEnableVariantClientStateEXT -#endif -#ifndef GLEE_H_DEFINED_glDisableVariantClientStateEXT -#define GLEE_H_DEFINED_glDisableVariantClientStateEXT - typedef void (APIENTRYP GLEEPFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLDISABLEVARIANTCLIENTSTATEEXTPROC GLeeFuncPtr_glDisableVariantClientStateEXT; - #define glDisableVariantClientStateEXT GLeeFuncPtr_glDisableVariantClientStateEXT -#endif -#ifndef GLEE_H_DEFINED_glBindLightParameterEXT -#define GLEE_H_DEFINED_glBindLightParameterEXT - typedef GLuint (APIENTRYP GLEEPFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); - GLEE_EXTERN GLEEPFNGLBINDLIGHTPARAMETEREXTPROC GLeeFuncPtr_glBindLightParameterEXT; - #define glBindLightParameterEXT GLeeFuncPtr_glBindLightParameterEXT -#endif -#ifndef GLEE_H_DEFINED_glBindMaterialParameterEXT -#define GLEE_H_DEFINED_glBindMaterialParameterEXT - typedef GLuint (APIENTRYP GLEEPFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); - GLEE_EXTERN GLEEPFNGLBINDMATERIALPARAMETEREXTPROC GLeeFuncPtr_glBindMaterialParameterEXT; - #define glBindMaterialParameterEXT GLeeFuncPtr_glBindMaterialParameterEXT -#endif -#ifndef GLEE_H_DEFINED_glBindTexGenParameterEXT -#define GLEE_H_DEFINED_glBindTexGenParameterEXT - typedef GLuint (APIENTRYP GLEEPFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); - GLEE_EXTERN GLEEPFNGLBINDTEXGENPARAMETEREXTPROC GLeeFuncPtr_glBindTexGenParameterEXT; - #define glBindTexGenParameterEXT GLeeFuncPtr_glBindTexGenParameterEXT -#endif -#ifndef GLEE_H_DEFINED_glBindTextureUnitParameterEXT -#define GLEE_H_DEFINED_glBindTextureUnitParameterEXT - typedef GLuint (APIENTRYP GLEEPFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); - GLEE_EXTERN GLEEPFNGLBINDTEXTUREUNITPARAMETEREXTPROC GLeeFuncPtr_glBindTextureUnitParameterEXT; - #define glBindTextureUnitParameterEXT GLeeFuncPtr_glBindTextureUnitParameterEXT -#endif -#ifndef GLEE_H_DEFINED_glBindParameterEXT -#define GLEE_H_DEFINED_glBindParameterEXT - typedef GLuint (APIENTRYP GLEEPFNGLBINDPARAMETEREXTPROC) (GLenum value); - GLEE_EXTERN GLEEPFNGLBINDPARAMETEREXTPROC GLeeFuncPtr_glBindParameterEXT; - #define glBindParameterEXT GLeeFuncPtr_glBindParameterEXT -#endif -#ifndef GLEE_H_DEFINED_glIsVariantEnabledEXT -#define GLEE_H_DEFINED_glIsVariantEnabledEXT - typedef GLboolean (APIENTRYP GLEEPFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); - GLEE_EXTERN GLEEPFNGLISVARIANTENABLEDEXTPROC GLeeFuncPtr_glIsVariantEnabledEXT; - #define glIsVariantEnabledEXT GLeeFuncPtr_glIsVariantEnabledEXT -#endif -#ifndef GLEE_H_DEFINED_glGetVariantBooleanvEXT -#define GLEE_H_DEFINED_glGetVariantBooleanvEXT - typedef void (APIENTRYP GLEEPFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean * data); - GLEE_EXTERN GLEEPFNGLGETVARIANTBOOLEANVEXTPROC GLeeFuncPtr_glGetVariantBooleanvEXT; - #define glGetVariantBooleanvEXT GLeeFuncPtr_glGetVariantBooleanvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetVariantIntegervEXT -#define GLEE_H_DEFINED_glGetVariantIntegervEXT - typedef void (APIENTRYP GLEEPFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint * data); - GLEE_EXTERN GLEEPFNGLGETVARIANTINTEGERVEXTPROC GLeeFuncPtr_glGetVariantIntegervEXT; - #define glGetVariantIntegervEXT GLeeFuncPtr_glGetVariantIntegervEXT -#endif -#ifndef GLEE_H_DEFINED_glGetVariantFloatvEXT -#define GLEE_H_DEFINED_glGetVariantFloatvEXT - typedef void (APIENTRYP GLEEPFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat * data); - GLEE_EXTERN GLEEPFNGLGETVARIANTFLOATVEXTPROC GLeeFuncPtr_glGetVariantFloatvEXT; - #define glGetVariantFloatvEXT GLeeFuncPtr_glGetVariantFloatvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetVariantPointervEXT -#define GLEE_H_DEFINED_glGetVariantPointervEXT - typedef void (APIENTRYP GLEEPFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* * data); - GLEE_EXTERN GLEEPFNGLGETVARIANTPOINTERVEXTPROC GLeeFuncPtr_glGetVariantPointervEXT; - #define glGetVariantPointervEXT GLeeFuncPtr_glGetVariantPointervEXT -#endif -#ifndef GLEE_H_DEFINED_glGetInvariantBooleanvEXT -#define GLEE_H_DEFINED_glGetInvariantBooleanvEXT - typedef void (APIENTRYP GLEEPFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean * data); - GLEE_EXTERN GLEEPFNGLGETINVARIANTBOOLEANVEXTPROC GLeeFuncPtr_glGetInvariantBooleanvEXT; - #define glGetInvariantBooleanvEXT GLeeFuncPtr_glGetInvariantBooleanvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetInvariantIntegervEXT -#define GLEE_H_DEFINED_glGetInvariantIntegervEXT - typedef void (APIENTRYP GLEEPFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint * data); - GLEE_EXTERN GLEEPFNGLGETINVARIANTINTEGERVEXTPROC GLeeFuncPtr_glGetInvariantIntegervEXT; - #define glGetInvariantIntegervEXT GLeeFuncPtr_glGetInvariantIntegervEXT -#endif -#ifndef GLEE_H_DEFINED_glGetInvariantFloatvEXT -#define GLEE_H_DEFINED_glGetInvariantFloatvEXT - typedef void (APIENTRYP GLEEPFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat * data); - GLEE_EXTERN GLEEPFNGLGETINVARIANTFLOATVEXTPROC GLeeFuncPtr_glGetInvariantFloatvEXT; - #define glGetInvariantFloatvEXT GLeeFuncPtr_glGetInvariantFloatvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetLocalConstantBooleanvEXT -#define GLEE_H_DEFINED_glGetLocalConstantBooleanvEXT - typedef void (APIENTRYP GLEEPFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean * data); - GLEE_EXTERN GLEEPFNGLGETLOCALCONSTANTBOOLEANVEXTPROC GLeeFuncPtr_glGetLocalConstantBooleanvEXT; - #define glGetLocalConstantBooleanvEXT GLeeFuncPtr_glGetLocalConstantBooleanvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetLocalConstantIntegervEXT -#define GLEE_H_DEFINED_glGetLocalConstantIntegervEXT - typedef void (APIENTRYP GLEEPFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint * data); - GLEE_EXTERN GLEEPFNGLGETLOCALCONSTANTINTEGERVEXTPROC GLeeFuncPtr_glGetLocalConstantIntegervEXT; - #define glGetLocalConstantIntegervEXT GLeeFuncPtr_glGetLocalConstantIntegervEXT -#endif -#ifndef GLEE_H_DEFINED_glGetLocalConstantFloatvEXT -#define GLEE_H_DEFINED_glGetLocalConstantFloatvEXT - typedef void (APIENTRYP GLEEPFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat * data); - GLEE_EXTERN GLEEPFNGLGETLOCALCONSTANTFLOATVEXTPROC GLeeFuncPtr_glGetLocalConstantFloatvEXT; - #define glGetLocalConstantFloatvEXT GLeeFuncPtr_glGetLocalConstantFloatvEXT -#endif -#endif - -/* GL_ATI_vertex_streams */ - -#ifndef GL_ATI_vertex_streams -#define GL_ATI_vertex_streams 1 -#define __GLEE_GL_ATI_vertex_streams 1 -/* Constants */ -#define GL_MAX_VERTEX_STREAMS_ATI 0x876B -#define GL_VERTEX_STREAM0_ATI 0x876C -#define GL_VERTEX_STREAM1_ATI 0x876D -#define GL_VERTEX_STREAM2_ATI 0x876E -#define GL_VERTEX_STREAM3_ATI 0x876F -#define GL_VERTEX_STREAM4_ATI 0x8770 -#define GL_VERTEX_STREAM5_ATI 0x8771 -#define GL_VERTEX_STREAM6_ATI 0x8772 -#define GL_VERTEX_STREAM7_ATI 0x8773 -#define GL_VERTEX_SOURCE_ATI 0x8774 -#ifndef GLEE_H_DEFINED_glVertexStream1sATI -#define GLEE_H_DEFINED_glVertexStream1sATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1SATIPROC GLeeFuncPtr_glVertexStream1sATI; - #define glVertexStream1sATI GLeeFuncPtr_glVertexStream1sATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1svATI -#define GLEE_H_DEFINED_glVertexStream1svATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1SVATIPROC GLeeFuncPtr_glVertexStream1svATI; - #define glVertexStream1svATI GLeeFuncPtr_glVertexStream1svATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1iATI -#define GLEE_H_DEFINED_glVertexStream1iATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1IATIPROC GLeeFuncPtr_glVertexStream1iATI; - #define glVertexStream1iATI GLeeFuncPtr_glVertexStream1iATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1ivATI -#define GLEE_H_DEFINED_glVertexStream1ivATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1IVATIPROC GLeeFuncPtr_glVertexStream1ivATI; - #define glVertexStream1ivATI GLeeFuncPtr_glVertexStream1ivATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1fATI -#define GLEE_H_DEFINED_glVertexStream1fATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1FATIPROC GLeeFuncPtr_glVertexStream1fATI; - #define glVertexStream1fATI GLeeFuncPtr_glVertexStream1fATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1fvATI -#define GLEE_H_DEFINED_glVertexStream1fvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1FVATIPROC GLeeFuncPtr_glVertexStream1fvATI; - #define glVertexStream1fvATI GLeeFuncPtr_glVertexStream1fvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1dATI -#define GLEE_H_DEFINED_glVertexStream1dATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1DATIPROC GLeeFuncPtr_glVertexStream1dATI; - #define glVertexStream1dATI GLeeFuncPtr_glVertexStream1dATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream1dvATI -#define GLEE_H_DEFINED_glVertexStream1dvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM1DVATIPROC GLeeFuncPtr_glVertexStream1dvATI; - #define glVertexStream1dvATI GLeeFuncPtr_glVertexStream1dvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2sATI -#define GLEE_H_DEFINED_glVertexStream2sATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2SATIPROC GLeeFuncPtr_glVertexStream2sATI; - #define glVertexStream2sATI GLeeFuncPtr_glVertexStream2sATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2svATI -#define GLEE_H_DEFINED_glVertexStream2svATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2SVATIPROC GLeeFuncPtr_glVertexStream2svATI; - #define glVertexStream2svATI GLeeFuncPtr_glVertexStream2svATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2iATI -#define GLEE_H_DEFINED_glVertexStream2iATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2IATIPROC GLeeFuncPtr_glVertexStream2iATI; - #define glVertexStream2iATI GLeeFuncPtr_glVertexStream2iATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2ivATI -#define GLEE_H_DEFINED_glVertexStream2ivATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2IVATIPROC GLeeFuncPtr_glVertexStream2ivATI; - #define glVertexStream2ivATI GLeeFuncPtr_glVertexStream2ivATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2fATI -#define GLEE_H_DEFINED_glVertexStream2fATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2FATIPROC GLeeFuncPtr_glVertexStream2fATI; - #define glVertexStream2fATI GLeeFuncPtr_glVertexStream2fATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2fvATI -#define GLEE_H_DEFINED_glVertexStream2fvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2FVATIPROC GLeeFuncPtr_glVertexStream2fvATI; - #define glVertexStream2fvATI GLeeFuncPtr_glVertexStream2fvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2dATI -#define GLEE_H_DEFINED_glVertexStream2dATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2DATIPROC GLeeFuncPtr_glVertexStream2dATI; - #define glVertexStream2dATI GLeeFuncPtr_glVertexStream2dATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream2dvATI -#define GLEE_H_DEFINED_glVertexStream2dvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM2DVATIPROC GLeeFuncPtr_glVertexStream2dvATI; - #define glVertexStream2dvATI GLeeFuncPtr_glVertexStream2dvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3sATI -#define GLEE_H_DEFINED_glVertexStream3sATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3SATIPROC GLeeFuncPtr_glVertexStream3sATI; - #define glVertexStream3sATI GLeeFuncPtr_glVertexStream3sATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3svATI -#define GLEE_H_DEFINED_glVertexStream3svATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3SVATIPROC GLeeFuncPtr_glVertexStream3svATI; - #define glVertexStream3svATI GLeeFuncPtr_glVertexStream3svATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3iATI -#define GLEE_H_DEFINED_glVertexStream3iATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3IATIPROC GLeeFuncPtr_glVertexStream3iATI; - #define glVertexStream3iATI GLeeFuncPtr_glVertexStream3iATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3ivATI -#define GLEE_H_DEFINED_glVertexStream3ivATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3IVATIPROC GLeeFuncPtr_glVertexStream3ivATI; - #define glVertexStream3ivATI GLeeFuncPtr_glVertexStream3ivATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3fATI -#define GLEE_H_DEFINED_glVertexStream3fATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3FATIPROC GLeeFuncPtr_glVertexStream3fATI; - #define glVertexStream3fATI GLeeFuncPtr_glVertexStream3fATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3fvATI -#define GLEE_H_DEFINED_glVertexStream3fvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3FVATIPROC GLeeFuncPtr_glVertexStream3fvATI; - #define glVertexStream3fvATI GLeeFuncPtr_glVertexStream3fvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3dATI -#define GLEE_H_DEFINED_glVertexStream3dATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3DATIPROC GLeeFuncPtr_glVertexStream3dATI; - #define glVertexStream3dATI GLeeFuncPtr_glVertexStream3dATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream3dvATI -#define GLEE_H_DEFINED_glVertexStream3dvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM3DVATIPROC GLeeFuncPtr_glVertexStream3dvATI; - #define glVertexStream3dvATI GLeeFuncPtr_glVertexStream3dvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4sATI -#define GLEE_H_DEFINED_glVertexStream4sATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4SATIPROC GLeeFuncPtr_glVertexStream4sATI; - #define glVertexStream4sATI GLeeFuncPtr_glVertexStream4sATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4svATI -#define GLEE_H_DEFINED_glVertexStream4svATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4SVATIPROC GLeeFuncPtr_glVertexStream4svATI; - #define glVertexStream4svATI GLeeFuncPtr_glVertexStream4svATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4iATI -#define GLEE_H_DEFINED_glVertexStream4iATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4IATIPROC GLeeFuncPtr_glVertexStream4iATI; - #define glVertexStream4iATI GLeeFuncPtr_glVertexStream4iATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4ivATI -#define GLEE_H_DEFINED_glVertexStream4ivATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4IVATIPROC GLeeFuncPtr_glVertexStream4ivATI; - #define glVertexStream4ivATI GLeeFuncPtr_glVertexStream4ivATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4fATI -#define GLEE_H_DEFINED_glVertexStream4fATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4FATIPROC GLeeFuncPtr_glVertexStream4fATI; - #define glVertexStream4fATI GLeeFuncPtr_glVertexStream4fATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4fvATI -#define GLEE_H_DEFINED_glVertexStream4fvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4FVATIPROC GLeeFuncPtr_glVertexStream4fvATI; - #define glVertexStream4fvATI GLeeFuncPtr_glVertexStream4fvATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4dATI -#define GLEE_H_DEFINED_glVertexStream4dATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4DATIPROC GLeeFuncPtr_glVertexStream4dATI; - #define glVertexStream4dATI GLeeFuncPtr_glVertexStream4dATI -#endif -#ifndef GLEE_H_DEFINED_glVertexStream4dvATI -#define GLEE_H_DEFINED_glVertexStream4dvATI - typedef void (APIENTRYP GLEEPFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble * coords); - GLEE_EXTERN GLEEPFNGLVERTEXSTREAM4DVATIPROC GLeeFuncPtr_glVertexStream4dvATI; - #define glVertexStream4dvATI GLeeFuncPtr_glVertexStream4dvATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3bATI -#define GLEE_H_DEFINED_glNormalStream3bATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3BATIPROC GLeeFuncPtr_glNormalStream3bATI; - #define glNormalStream3bATI GLeeFuncPtr_glNormalStream3bATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3bvATI -#define GLEE_H_DEFINED_glNormalStream3bvATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3BVATIPROC GLeeFuncPtr_glNormalStream3bvATI; - #define glNormalStream3bvATI GLeeFuncPtr_glNormalStream3bvATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3sATI -#define GLEE_H_DEFINED_glNormalStream3sATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3SATIPROC GLeeFuncPtr_glNormalStream3sATI; - #define glNormalStream3sATI GLeeFuncPtr_glNormalStream3sATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3svATI -#define GLEE_H_DEFINED_glNormalStream3svATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort * coords); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3SVATIPROC GLeeFuncPtr_glNormalStream3svATI; - #define glNormalStream3svATI GLeeFuncPtr_glNormalStream3svATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3iATI -#define GLEE_H_DEFINED_glNormalStream3iATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3IATIPROC GLeeFuncPtr_glNormalStream3iATI; - #define glNormalStream3iATI GLeeFuncPtr_glNormalStream3iATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3ivATI -#define GLEE_H_DEFINED_glNormalStream3ivATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint * coords); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3IVATIPROC GLeeFuncPtr_glNormalStream3ivATI; - #define glNormalStream3ivATI GLeeFuncPtr_glNormalStream3ivATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3fATI -#define GLEE_H_DEFINED_glNormalStream3fATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3FATIPROC GLeeFuncPtr_glNormalStream3fATI; - #define glNormalStream3fATI GLeeFuncPtr_glNormalStream3fATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3fvATI -#define GLEE_H_DEFINED_glNormalStream3fvATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat * coords); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3FVATIPROC GLeeFuncPtr_glNormalStream3fvATI; - #define glNormalStream3fvATI GLeeFuncPtr_glNormalStream3fvATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3dATI -#define GLEE_H_DEFINED_glNormalStream3dATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3DATIPROC GLeeFuncPtr_glNormalStream3dATI; - #define glNormalStream3dATI GLeeFuncPtr_glNormalStream3dATI -#endif -#ifndef GLEE_H_DEFINED_glNormalStream3dvATI -#define GLEE_H_DEFINED_glNormalStream3dvATI - typedef void (APIENTRYP GLEEPFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble * coords); - GLEE_EXTERN GLEEPFNGLNORMALSTREAM3DVATIPROC GLeeFuncPtr_glNormalStream3dvATI; - #define glNormalStream3dvATI GLeeFuncPtr_glNormalStream3dvATI -#endif -#ifndef GLEE_H_DEFINED_glClientActiveVertexStreamATI -#define GLEE_H_DEFINED_glClientActiveVertexStreamATI - typedef void (APIENTRYP GLEEPFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); - GLEE_EXTERN GLEEPFNGLCLIENTACTIVEVERTEXSTREAMATIPROC GLeeFuncPtr_glClientActiveVertexStreamATI; - #define glClientActiveVertexStreamATI GLeeFuncPtr_glClientActiveVertexStreamATI -#endif -#ifndef GLEE_H_DEFINED_glVertexBlendEnviATI -#define GLEE_H_DEFINED_glVertexBlendEnviATI - typedef void (APIENTRYP GLEEPFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLVERTEXBLENDENVIATIPROC GLeeFuncPtr_glVertexBlendEnviATI; - #define glVertexBlendEnviATI GLeeFuncPtr_glVertexBlendEnviATI -#endif -#ifndef GLEE_H_DEFINED_glVertexBlendEnvfATI -#define GLEE_H_DEFINED_glVertexBlendEnvfATI - typedef void (APIENTRYP GLEEPFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLVERTEXBLENDENVFATIPROC GLeeFuncPtr_glVertexBlendEnvfATI; - #define glVertexBlendEnvfATI GLeeFuncPtr_glVertexBlendEnvfATI -#endif -#endif - -/* GL_ATI_element_array */ - -#ifndef GL_ATI_element_array -#define GL_ATI_element_array 1 -#define __GLEE_GL_ATI_element_array 1 -/* Constants */ -#define GL_ELEMENT_ARRAY_ATI 0x8768 -#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 -#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A -#ifndef GLEE_H_DEFINED_glElementPointerATI -#define GLEE_H_DEFINED_glElementPointerATI - typedef void (APIENTRYP GLEEPFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLELEMENTPOINTERATIPROC GLeeFuncPtr_glElementPointerATI; - #define glElementPointerATI GLeeFuncPtr_glElementPointerATI -#endif -#ifndef GLEE_H_DEFINED_glDrawElementArrayATI -#define GLEE_H_DEFINED_glDrawElementArrayATI - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTARRAYATIPROC GLeeFuncPtr_glDrawElementArrayATI; - #define glDrawElementArrayATI GLeeFuncPtr_glDrawElementArrayATI -#endif -#ifndef GLEE_H_DEFINED_glDrawRangeElementArrayATI -#define GLEE_H_DEFINED_glDrawRangeElementArrayATI - typedef void (APIENTRYP GLEEPFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); - GLEE_EXTERN GLEEPFNGLDRAWRANGEELEMENTARRAYATIPROC GLeeFuncPtr_glDrawRangeElementArrayATI; - #define glDrawRangeElementArrayATI GLeeFuncPtr_glDrawRangeElementArrayATI -#endif -#endif - -/* GL_SUN_mesh_array */ - -#ifndef GL_SUN_mesh_array -#define GL_SUN_mesh_array 1 -#define __GLEE_GL_SUN_mesh_array 1 -/* Constants */ -#define GL_QUAD_MESH_SUN 0x8614 -#define GL_TRIANGLE_MESH_SUN 0x8615 -#ifndef GLEE_H_DEFINED_glDrawMeshArraysSUN -#define GLEE_H_DEFINED_glDrawMeshArraysSUN - typedef void (APIENTRYP GLEEPFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width); - GLEE_EXTERN GLEEPFNGLDRAWMESHARRAYSSUNPROC GLeeFuncPtr_glDrawMeshArraysSUN; - #define glDrawMeshArraysSUN GLeeFuncPtr_glDrawMeshArraysSUN -#endif -#endif - -/* GL_SUN_slice_accum */ - -#ifndef GL_SUN_slice_accum -#define GL_SUN_slice_accum 1 -#define __GLEE_GL_SUN_slice_accum 1 -/* Constants */ -#define GL_SLICE_ACCUM_SUN 0x85CC -#endif - -/* GL_NV_multisample_filter_hint */ - -#ifndef GL_NV_multisample_filter_hint -#define GL_NV_multisample_filter_hint 1 -#define __GLEE_GL_NV_multisample_filter_hint 1 -/* Constants */ -#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 -#endif - -/* GL_NV_depth_clamp */ - -#ifndef GL_NV_depth_clamp -#define GL_NV_depth_clamp 1 -#define __GLEE_GL_NV_depth_clamp 1 -/* Constants */ -#define GL_DEPTH_CLAMP_NV 0x864F -#endif - -/* GL_NV_occlusion_query */ - -#ifndef GL_NV_occlusion_query -#define GL_NV_occlusion_query 1 -#define __GLEE_GL_NV_occlusion_query 1 -/* Constants */ -#define GL_PIXEL_COUNTER_BITS_NV 0x8864 -#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 -#define GL_PIXEL_COUNT_NV 0x8866 -#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 -#ifndef GLEE_H_DEFINED_glGenOcclusionQueriesNV -#define GLEE_H_DEFINED_glGenOcclusionQueriesNV - typedef void (APIENTRYP GLEEPFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint * ids); - GLEE_EXTERN GLEEPFNGLGENOCCLUSIONQUERIESNVPROC GLeeFuncPtr_glGenOcclusionQueriesNV; - #define glGenOcclusionQueriesNV GLeeFuncPtr_glGenOcclusionQueriesNV -#endif -#ifndef GLEE_H_DEFINED_glDeleteOcclusionQueriesNV -#define GLEE_H_DEFINED_glDeleteOcclusionQueriesNV - typedef void (APIENTRYP GLEEPFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint * ids); - GLEE_EXTERN GLEEPFNGLDELETEOCCLUSIONQUERIESNVPROC GLeeFuncPtr_glDeleteOcclusionQueriesNV; - #define glDeleteOcclusionQueriesNV GLeeFuncPtr_glDeleteOcclusionQueriesNV -#endif -#ifndef GLEE_H_DEFINED_glIsOcclusionQueryNV -#define GLEE_H_DEFINED_glIsOcclusionQueryNV - typedef GLboolean (APIENTRYP GLEEPFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISOCCLUSIONQUERYNVPROC GLeeFuncPtr_glIsOcclusionQueryNV; - #define glIsOcclusionQueryNV GLeeFuncPtr_glIsOcclusionQueryNV -#endif -#ifndef GLEE_H_DEFINED_glBeginOcclusionQueryNV -#define GLEE_H_DEFINED_glBeginOcclusionQueryNV - typedef void (APIENTRYP GLEEPFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLBEGINOCCLUSIONQUERYNVPROC GLeeFuncPtr_glBeginOcclusionQueryNV; - #define glBeginOcclusionQueryNV GLeeFuncPtr_glBeginOcclusionQueryNV -#endif -#ifndef GLEE_H_DEFINED_glEndOcclusionQueryNV -#define GLEE_H_DEFINED_glEndOcclusionQueryNV - typedef void (APIENTRYP GLEEPFNGLENDOCCLUSIONQUERYNVPROC) (); - GLEE_EXTERN GLEEPFNGLENDOCCLUSIONQUERYNVPROC GLeeFuncPtr_glEndOcclusionQueryNV; - #define glEndOcclusionQueryNV GLeeFuncPtr_glEndOcclusionQueryNV -#endif -#ifndef GLEE_H_DEFINED_glGetOcclusionQueryivNV -#define GLEE_H_DEFINED_glGetOcclusionQueryivNV - typedef void (APIENTRYP GLEEPFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETOCCLUSIONQUERYIVNVPROC GLeeFuncPtr_glGetOcclusionQueryivNV; - #define glGetOcclusionQueryivNV GLeeFuncPtr_glGetOcclusionQueryivNV -#endif -#ifndef GLEE_H_DEFINED_glGetOcclusionQueryuivNV -#define GLEE_H_DEFINED_glGetOcclusionQueryuivNV - typedef void (APIENTRYP GLEEPFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETOCCLUSIONQUERYUIVNVPROC GLeeFuncPtr_glGetOcclusionQueryuivNV; - #define glGetOcclusionQueryuivNV GLeeFuncPtr_glGetOcclusionQueryuivNV -#endif -#endif - -/* GL_NV_point_sprite */ - -#ifndef GL_NV_point_sprite -#define GL_NV_point_sprite 1 -#define __GLEE_GL_NV_point_sprite 1 -/* Constants */ -#define GL_POINT_SPRITE_NV 0x8861 -#define GL_COORD_REPLACE_NV 0x8862 -#define GL_POINT_SPRITE_R_MODE_NV 0x8863 -#ifndef GLEE_H_DEFINED_glPointParameteriNV -#define GLEE_H_DEFINED_glPointParameteriNV - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERINVPROC GLeeFuncPtr_glPointParameteriNV; - #define glPointParameteriNV GLeeFuncPtr_glPointParameteriNV -#endif -#ifndef GLEE_H_DEFINED_glPointParameterivNV -#define GLEE_H_DEFINED_glPointParameterivNV - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERIVNVPROC GLeeFuncPtr_glPointParameterivNV; - #define glPointParameterivNV GLeeFuncPtr_glPointParameterivNV -#endif -#endif - -/* GL_NV_texture_shader3 */ - -#ifndef GL_NV_texture_shader3 -#define GL_NV_texture_shader3 1 -#define __GLEE_GL_NV_texture_shader3 1 -/* Constants */ -#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 -#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 -#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 -#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 -#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 -#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 -#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 -#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 -#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 -#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 -#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A -#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B -#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C -#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D -#define GL_HILO8_NV 0x885E -#define GL_SIGNED_HILO8_NV 0x885F -#define GL_FORCE_BLUE_TO_ONE_NV 0x8860 -#endif - -/* GL_NV_vertex_program1_1 */ - -#ifndef GL_NV_vertex_program1_1 -#define GL_NV_vertex_program1_1 1 -#define __GLEE_GL_NV_vertex_program1_1 1 -/* Constants */ -#endif - -/* GL_EXT_shadow_funcs */ - -#ifndef GL_EXT_shadow_funcs -#define GL_EXT_shadow_funcs 1 -#define __GLEE_GL_EXT_shadow_funcs 1 -/* Constants */ -#endif - -/* GL_EXT_stencil_two_side */ - -#ifndef GL_EXT_stencil_two_side -#define GL_EXT_stencil_two_side 1 -#define __GLEE_GL_EXT_stencil_two_side 1 -/* Constants */ -#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 -#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 -#ifndef GLEE_H_DEFINED_glActiveStencilFaceEXT -#define GLEE_H_DEFINED_glActiveStencilFaceEXT - typedef void (APIENTRYP GLEEPFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); - GLEE_EXTERN GLEEPFNGLACTIVESTENCILFACEEXTPROC GLeeFuncPtr_glActiveStencilFaceEXT; - #define glActiveStencilFaceEXT GLeeFuncPtr_glActiveStencilFaceEXT -#endif -#endif - -/* GL_ATI_text_fragment_shader */ - -#ifndef GL_ATI_text_fragment_shader -#define GL_ATI_text_fragment_shader 1 -#define __GLEE_GL_ATI_text_fragment_shader 1 -/* Constants */ -#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 -#endif - -/* GL_APPLE_client_storage */ - -#ifndef GL_APPLE_client_storage -#define GL_APPLE_client_storage 1 -#define __GLEE_GL_APPLE_client_storage 1 -/* Constants */ -#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 -#endif - -/* GL_APPLE_element_array */ - -#ifndef GL_APPLE_element_array -#define GL_APPLE_element_array 1 -#define __GLEE_GL_APPLE_element_array 1 -/* Constants */ -#define GL_ELEMENT_ARRAY_APPLE 0x8A0C -#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D -#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E -#ifndef GLEE_H_DEFINED_glElementPointerAPPLE -#define GLEE_H_DEFINED_glElementPointerAPPLE - typedef void (APIENTRYP GLEEPFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLELEMENTPOINTERAPPLEPROC GLeeFuncPtr_glElementPointerAPPLE; - #define glElementPointerAPPLE GLeeFuncPtr_glElementPointerAPPLE -#endif -#ifndef GLEE_H_DEFINED_glDrawElementArrayAPPLE -#define GLEE_H_DEFINED_glDrawElementArrayAPPLE - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTARRAYAPPLEPROC GLeeFuncPtr_glDrawElementArrayAPPLE; - #define glDrawElementArrayAPPLE GLeeFuncPtr_glDrawElementArrayAPPLE -#endif -#ifndef GLEE_H_DEFINED_glDrawRangeElementArrayAPPLE -#define GLEE_H_DEFINED_glDrawRangeElementArrayAPPLE - typedef void (APIENTRYP GLEEPFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); - GLEE_EXTERN GLEEPFNGLDRAWRANGEELEMENTARRAYAPPLEPROC GLeeFuncPtr_glDrawRangeElementArrayAPPLE; - #define glDrawRangeElementArrayAPPLE GLeeFuncPtr_glDrawRangeElementArrayAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElementArrayAPPLE -#define GLEE_H_DEFINED_glMultiDrawElementArrayAPPLE - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTARRAYAPPLEPROC GLeeFuncPtr_glMultiDrawElementArrayAPPLE; - #define glMultiDrawElementArrayAPPLE GLeeFuncPtr_glMultiDrawElementArrayAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawRangeElementArrayAPPLE -#define GLEE_H_DEFINED_glMultiDrawRangeElementArrayAPPLE - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint * first, const GLsizei * count, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC GLeeFuncPtr_glMultiDrawRangeElementArrayAPPLE; - #define glMultiDrawRangeElementArrayAPPLE GLeeFuncPtr_glMultiDrawRangeElementArrayAPPLE -#endif -#endif - -/* GL_APPLE_fence */ - -#ifndef GL_APPLE_fence -#define GL_APPLE_fence 1 -#define __GLEE_GL_APPLE_fence 1 -/* Constants */ -#define GL_DRAW_PIXELS_APPLE 0x8A0A -#define GL_FENCE_APPLE 0x8A0B -#ifndef GLEE_H_DEFINED_glGenFencesAPPLE -#define GLEE_H_DEFINED_glGenFencesAPPLE - typedef void (APIENTRYP GLEEPFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint * fences); - GLEE_EXTERN GLEEPFNGLGENFENCESAPPLEPROC GLeeFuncPtr_glGenFencesAPPLE; - #define glGenFencesAPPLE GLeeFuncPtr_glGenFencesAPPLE -#endif -#ifndef GLEE_H_DEFINED_glDeleteFencesAPPLE -#define GLEE_H_DEFINED_glDeleteFencesAPPLE - typedef void (APIENTRYP GLEEPFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint * fences); - GLEE_EXTERN GLEEPFNGLDELETEFENCESAPPLEPROC GLeeFuncPtr_glDeleteFencesAPPLE; - #define glDeleteFencesAPPLE GLeeFuncPtr_glDeleteFencesAPPLE -#endif -#ifndef GLEE_H_DEFINED_glSetFenceAPPLE -#define GLEE_H_DEFINED_glSetFenceAPPLE - typedef void (APIENTRYP GLEEPFNGLSETFENCEAPPLEPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLSETFENCEAPPLEPROC GLeeFuncPtr_glSetFenceAPPLE; - #define glSetFenceAPPLE GLeeFuncPtr_glSetFenceAPPLE -#endif -#ifndef GLEE_H_DEFINED_glIsFenceAPPLE -#define GLEE_H_DEFINED_glIsFenceAPPLE - typedef GLboolean (APIENTRYP GLEEPFNGLISFENCEAPPLEPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLISFENCEAPPLEPROC GLeeFuncPtr_glIsFenceAPPLE; - #define glIsFenceAPPLE GLeeFuncPtr_glIsFenceAPPLE -#endif -#ifndef GLEE_H_DEFINED_glTestFenceAPPLE -#define GLEE_H_DEFINED_glTestFenceAPPLE - typedef GLboolean (APIENTRYP GLEEPFNGLTESTFENCEAPPLEPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLTESTFENCEAPPLEPROC GLeeFuncPtr_glTestFenceAPPLE; - #define glTestFenceAPPLE GLeeFuncPtr_glTestFenceAPPLE -#endif -#ifndef GLEE_H_DEFINED_glFinishFenceAPPLE -#define GLEE_H_DEFINED_glFinishFenceAPPLE - typedef void (APIENTRYP GLEEPFNGLFINISHFENCEAPPLEPROC) (GLuint fence); - GLEE_EXTERN GLEEPFNGLFINISHFENCEAPPLEPROC GLeeFuncPtr_glFinishFenceAPPLE; - #define glFinishFenceAPPLE GLeeFuncPtr_glFinishFenceAPPLE -#endif -#ifndef GLEE_H_DEFINED_glTestObjectAPPLE -#define GLEE_H_DEFINED_glTestObjectAPPLE - typedef GLboolean (APIENTRYP GLEEPFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); - GLEE_EXTERN GLEEPFNGLTESTOBJECTAPPLEPROC GLeeFuncPtr_glTestObjectAPPLE; - #define glTestObjectAPPLE GLeeFuncPtr_glTestObjectAPPLE -#endif -#ifndef GLEE_H_DEFINED_glFinishObjectAPPLE -#define GLEE_H_DEFINED_glFinishObjectAPPLE - typedef void (APIENTRYP GLEEPFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); - GLEE_EXTERN GLEEPFNGLFINISHOBJECTAPPLEPROC GLeeFuncPtr_glFinishObjectAPPLE; - #define glFinishObjectAPPLE GLeeFuncPtr_glFinishObjectAPPLE -#endif -#endif - -/* GL_APPLE_vertex_array_object */ - -#ifndef GL_APPLE_vertex_array_object -#define GL_APPLE_vertex_array_object 1 -#define __GLEE_GL_APPLE_vertex_array_object 1 -/* Constants */ -#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 -#ifndef GLEE_H_DEFINED_glBindVertexArrayAPPLE -#define GLEE_H_DEFINED_glBindVertexArrayAPPLE - typedef void (APIENTRYP GLEEPFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); - GLEE_EXTERN GLEEPFNGLBINDVERTEXARRAYAPPLEPROC GLeeFuncPtr_glBindVertexArrayAPPLE; - #define glBindVertexArrayAPPLE GLeeFuncPtr_glBindVertexArrayAPPLE -#endif -#ifndef GLEE_H_DEFINED_glDeleteVertexArraysAPPLE -#define GLEE_H_DEFINED_glDeleteVertexArraysAPPLE - typedef void (APIENTRYP GLEEPFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint * arrays); - GLEE_EXTERN GLEEPFNGLDELETEVERTEXARRAYSAPPLEPROC GLeeFuncPtr_glDeleteVertexArraysAPPLE; - #define glDeleteVertexArraysAPPLE GLeeFuncPtr_glDeleteVertexArraysAPPLE -#endif -#ifndef GLEE_H_DEFINED_glGenVertexArraysAPPLE -#define GLEE_H_DEFINED_glGenVertexArraysAPPLE - typedef void (APIENTRYP GLEEPFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint * arrays); - GLEE_EXTERN GLEEPFNGLGENVERTEXARRAYSAPPLEPROC GLeeFuncPtr_glGenVertexArraysAPPLE; - #define glGenVertexArraysAPPLE GLeeFuncPtr_glGenVertexArraysAPPLE -#endif -#ifndef GLEE_H_DEFINED_glIsVertexArrayAPPLE -#define GLEE_H_DEFINED_glIsVertexArrayAPPLE - typedef GLboolean (APIENTRYP GLEEPFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); - GLEE_EXTERN GLEEPFNGLISVERTEXARRAYAPPLEPROC GLeeFuncPtr_glIsVertexArrayAPPLE; - #define glIsVertexArrayAPPLE GLeeFuncPtr_glIsVertexArrayAPPLE -#endif -#endif - -/* GL_APPLE_vertex_array_range */ - -#ifndef GL_APPLE_vertex_array_range -#define GL_APPLE_vertex_array_range 1 -#define __GLEE_GL_APPLE_vertex_array_range 1 -/* Constants */ -#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D -#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E -#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F -#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 -#define GL_STORAGE_CLIENT_APPLE 0x85B4 -#define GL_STORAGE_CACHED_APPLE 0x85BE -#define GL_STORAGE_SHARED_APPLE 0x85BF -#ifndef GLEE_H_DEFINED_glVertexArrayRangeAPPLE -#define GLEE_H_DEFINED_glVertexArrayRangeAPPLE - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYRANGEAPPLEPROC GLeeFuncPtr_glVertexArrayRangeAPPLE; - #define glVertexArrayRangeAPPLE GLeeFuncPtr_glVertexArrayRangeAPPLE -#endif -#ifndef GLEE_H_DEFINED_glFlushVertexArrayRangeAPPLE -#define GLEE_H_DEFINED_glFlushVertexArrayRangeAPPLE - typedef void (APIENTRYP GLEEPFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC GLeeFuncPtr_glFlushVertexArrayRangeAPPLE; - #define glFlushVertexArrayRangeAPPLE GLeeFuncPtr_glFlushVertexArrayRangeAPPLE -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayParameteriAPPLE -#define GLEE_H_DEFINED_glVertexArrayParameteriAPPLE - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYPARAMETERIAPPLEPROC GLeeFuncPtr_glVertexArrayParameteriAPPLE; - #define glVertexArrayParameteriAPPLE GLeeFuncPtr_glVertexArrayParameteriAPPLE -#endif -#endif - -/* GL_APPLE_ycbcr_422 */ - -#ifndef GL_APPLE_ycbcr_422 -#define GL_APPLE_ycbcr_422 1 -#define __GLEE_GL_APPLE_ycbcr_422 1 -/* Constants */ -#define GL_YCBCR_422_APPLE 0x85B9 -#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB -#endif - -/* GL_S3_s3tc */ - -#ifndef GL_S3_s3tc -#define GL_S3_s3tc 1 -#define __GLEE_GL_S3_s3tc 1 -/* Constants */ -#define GL_RGB_S3TC 0x83A0 -#define GL_RGB4_S3TC 0x83A1 -#define GL_RGBA_S3TC 0x83A2 -#define GL_RGBA4_S3TC 0x83A3 -#define GL_RGBA_DXT5_S3TC 0x83A4 -#define GL_RGBA4_DXT5_S3TC 0x83A5 -#endif - -/* GL_ATI_draw_buffers */ - -#ifndef GL_ATI_draw_buffers -#define GL_ATI_draw_buffers 1 -#define __GLEE_GL_ATI_draw_buffers 1 -/* Constants */ -#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 -#define GL_DRAW_BUFFER0_ATI 0x8825 -#define GL_DRAW_BUFFER1_ATI 0x8826 -#define GL_DRAW_BUFFER2_ATI 0x8827 -#define GL_DRAW_BUFFER3_ATI 0x8828 -#define GL_DRAW_BUFFER4_ATI 0x8829 -#define GL_DRAW_BUFFER5_ATI 0x882A -#define GL_DRAW_BUFFER6_ATI 0x882B -#define GL_DRAW_BUFFER7_ATI 0x882C -#define GL_DRAW_BUFFER8_ATI 0x882D -#define GL_DRAW_BUFFER9_ATI 0x882E -#define GL_DRAW_BUFFER10_ATI 0x882F -#define GL_DRAW_BUFFER11_ATI 0x8830 -#define GL_DRAW_BUFFER12_ATI 0x8831 -#define GL_DRAW_BUFFER13_ATI 0x8832 -#define GL_DRAW_BUFFER14_ATI 0x8833 -#define GL_DRAW_BUFFER15_ATI 0x8834 -#ifndef GLEE_H_DEFINED_glDrawBuffersATI -#define GLEE_H_DEFINED_glDrawBuffersATI - typedef void (APIENTRYP GLEEPFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum * bufs); - GLEE_EXTERN GLEEPFNGLDRAWBUFFERSATIPROC GLeeFuncPtr_glDrawBuffersATI; - #define glDrawBuffersATI GLeeFuncPtr_glDrawBuffersATI -#endif -#endif - -/* GL_ATI_pixel_format_float */ - -#ifndef GL_ATI_pixel_format_float -#define GL_ATI_pixel_format_float 1 -#define __GLEE_GL_ATI_pixel_format_float 1 -/* Constants */ -#define GL_RGBA_FLOAT_MODE_ATI 0x8820 -#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 -#endif - -/* GL_ATI_texture_env_combine3 */ - -#ifndef GL_ATI_texture_env_combine3 -#define GL_ATI_texture_env_combine3 1 -#define __GLEE_GL_ATI_texture_env_combine3 1 -/* Constants */ -#define GL_MODULATE_ADD_ATI 0x8744 -#define GL_MODULATE_SIGNED_ADD_ATI 0x8745 -#define GL_MODULATE_SUBTRACT_ATI 0x8746 -#endif - -/* GL_ATI_texture_float */ - -#ifndef GL_ATI_texture_float -#define GL_ATI_texture_float 1 -#define __GLEE_GL_ATI_texture_float 1 -/* Constants */ -#define GL_RGBA_FLOAT32_ATI 0x8814 -#define GL_RGB_FLOAT32_ATI 0x8815 -#define GL_ALPHA_FLOAT32_ATI 0x8816 -#define GL_INTENSITY_FLOAT32_ATI 0x8817 -#define GL_LUMINANCE_FLOAT32_ATI 0x8818 -#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 -#define GL_RGBA_FLOAT16_ATI 0x881A -#define GL_RGB_FLOAT16_ATI 0x881B -#define GL_ALPHA_FLOAT16_ATI 0x881C -#define GL_INTENSITY_FLOAT16_ATI 0x881D -#define GL_LUMINANCE_FLOAT16_ATI 0x881E -#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F -#endif - -/* GL_NV_float_buffer */ - -#ifndef GL_NV_float_buffer -#define GL_NV_float_buffer 1 -#define __GLEE_GL_NV_float_buffer 1 -/* Constants */ -#define GL_FLOAT_R_NV 0x8880 -#define GL_FLOAT_RG_NV 0x8881 -#define GL_FLOAT_RGB_NV 0x8882 -#define GL_FLOAT_RGBA_NV 0x8883 -#define GL_FLOAT_R16_NV 0x8884 -#define GL_FLOAT_R32_NV 0x8885 -#define GL_FLOAT_RG16_NV 0x8886 -#define GL_FLOAT_RG32_NV 0x8887 -#define GL_FLOAT_RGB16_NV 0x8888 -#define GL_FLOAT_RGB32_NV 0x8889 -#define GL_FLOAT_RGBA16_NV 0x888A -#define GL_FLOAT_RGBA32_NV 0x888B -#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C -#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D -#define GL_FLOAT_RGBA_MODE_NV 0x888E -#endif - -/* GL_NV_fragment_program */ - -#ifndef GL_NV_fragment_program -#define GL_NV_fragment_program 1 -#define __GLEE_GL_NV_fragment_program 1 -/* Constants */ -#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 -#define GL_FRAGMENT_PROGRAM_NV 0x8870 -#define GL_MAX_TEXTURE_COORDS_NV 0x8871 -#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 -#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 -#define GL_PROGRAM_ERROR_STRING_NV 0x8874 -#ifndef GLEE_H_DEFINED_glProgramNamedParameter4fNV -#define GLEE_H_DEFINED_glProgramNamedParameter4fNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLPROGRAMNAMEDPARAMETER4FNVPROC GLeeFuncPtr_glProgramNamedParameter4fNV; - #define glProgramNamedParameter4fNV GLeeFuncPtr_glProgramNamedParameter4fNV -#endif -#ifndef GLEE_H_DEFINED_glProgramNamedParameter4fvNV -#define GLEE_H_DEFINED_glProgramNamedParameter4fvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); - GLEE_EXTERN GLEEPFNGLPROGRAMNAMEDPARAMETER4FVNVPROC GLeeFuncPtr_glProgramNamedParameter4fvNV; - #define glProgramNamedParameter4fvNV GLeeFuncPtr_glProgramNamedParameter4fvNV -#endif -#ifndef GLEE_H_DEFINED_glProgramNamedParameter4dNV -#define GLEE_H_DEFINED_glProgramNamedParameter4dNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLPROGRAMNAMEDPARAMETER4DNVPROC GLeeFuncPtr_glProgramNamedParameter4dNV; - #define glProgramNamedParameter4dNV GLeeFuncPtr_glProgramNamedParameter4dNV -#endif -#ifndef GLEE_H_DEFINED_glProgramNamedParameter4dvNV -#define GLEE_H_DEFINED_glProgramNamedParameter4dvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLPROGRAMNAMEDPARAMETER4DVNVPROC GLeeFuncPtr_glProgramNamedParameter4dvNV; - #define glProgramNamedParameter4dvNV GLeeFuncPtr_glProgramNamedParameter4dvNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramNamedParameterfvNV -#define GLEE_H_DEFINED_glGetProgramNamedParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC GLeeFuncPtr_glGetProgramNamedParameterfvNV; - #define glGetProgramNamedParameterfvNV GLeeFuncPtr_glGetProgramNamedParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramNamedParameterdvNV -#define GLEE_H_DEFINED_glGetProgramNamedParameterdvNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC GLeeFuncPtr_glGetProgramNamedParameterdvNV; - #define glGetProgramNamedParameterdvNV GLeeFuncPtr_glGetProgramNamedParameterdvNV -#endif -#endif - -/* GL_NV_half_float */ - -#ifndef GL_NV_half_float -#define GL_NV_half_float 1 -#define __GLEE_GL_NV_half_float 1 -/* Constants */ -#define GL_HALF_FLOAT_NV 0x140B -#ifndef GLEE_H_DEFINED_glVertex2hNV -#define GLEE_H_DEFINED_glVertex2hNV - typedef void (APIENTRYP GLEEPFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y); - GLEE_EXTERN GLEEPFNGLVERTEX2HNVPROC GLeeFuncPtr_glVertex2hNV; - #define glVertex2hNV GLeeFuncPtr_glVertex2hNV -#endif -#ifndef GLEE_H_DEFINED_glVertex2hvNV -#define GLEE_H_DEFINED_glVertex2hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEX2HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEX2HVNVPROC GLeeFuncPtr_glVertex2hvNV; - #define glVertex2hvNV GLeeFuncPtr_glVertex2hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertex3hNV -#define GLEE_H_DEFINED_glVertex3hNV - typedef void (APIENTRYP GLEEPFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z); - GLEE_EXTERN GLEEPFNGLVERTEX3HNVPROC GLeeFuncPtr_glVertex3hNV; - #define glVertex3hNV GLeeFuncPtr_glVertex3hNV -#endif -#ifndef GLEE_H_DEFINED_glVertex3hvNV -#define GLEE_H_DEFINED_glVertex3hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEX3HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEX3HVNVPROC GLeeFuncPtr_glVertex3hvNV; - #define glVertex3hvNV GLeeFuncPtr_glVertex3hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertex4hNV -#define GLEE_H_DEFINED_glVertex4hNV - typedef void (APIENTRYP GLEEPFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w); - GLEE_EXTERN GLEEPFNGLVERTEX4HNVPROC GLeeFuncPtr_glVertex4hNV; - #define glVertex4hNV GLeeFuncPtr_glVertex4hNV -#endif -#ifndef GLEE_H_DEFINED_glVertex4hvNV -#define GLEE_H_DEFINED_glVertex4hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEX4HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEX4HVNVPROC GLeeFuncPtr_glVertex4hvNV; - #define glVertex4hvNV GLeeFuncPtr_glVertex4hvNV -#endif -#ifndef GLEE_H_DEFINED_glNormal3hNV -#define GLEE_H_DEFINED_glNormal3hNV - typedef void (APIENTRYP GLEEPFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz); - GLEE_EXTERN GLEEPFNGLNORMAL3HNVPROC GLeeFuncPtr_glNormal3hNV; - #define glNormal3hNV GLeeFuncPtr_glNormal3hNV -#endif -#ifndef GLEE_H_DEFINED_glNormal3hvNV -#define GLEE_H_DEFINED_glNormal3hvNV - typedef void (APIENTRYP GLEEPFNGLNORMAL3HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLNORMAL3HVNVPROC GLeeFuncPtr_glNormal3hvNV; - #define glNormal3hvNV GLeeFuncPtr_glNormal3hvNV -#endif -#ifndef GLEE_H_DEFINED_glColor3hNV -#define GLEE_H_DEFINED_glColor3hNV - typedef void (APIENTRYP GLEEPFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); - GLEE_EXTERN GLEEPFNGLCOLOR3HNVPROC GLeeFuncPtr_glColor3hNV; - #define glColor3hNV GLeeFuncPtr_glColor3hNV -#endif -#ifndef GLEE_H_DEFINED_glColor3hvNV -#define GLEE_H_DEFINED_glColor3hvNV - typedef void (APIENTRYP GLEEPFNGLCOLOR3HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLCOLOR3HVNVPROC GLeeFuncPtr_glColor3hvNV; - #define glColor3hvNV GLeeFuncPtr_glColor3hvNV -#endif -#ifndef GLEE_H_DEFINED_glColor4hNV -#define GLEE_H_DEFINED_glColor4hNV - typedef void (APIENTRYP GLEEPFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha); - GLEE_EXTERN GLEEPFNGLCOLOR4HNVPROC GLeeFuncPtr_glColor4hNV; - #define glColor4hNV GLeeFuncPtr_glColor4hNV -#endif -#ifndef GLEE_H_DEFINED_glColor4hvNV -#define GLEE_H_DEFINED_glColor4hvNV - typedef void (APIENTRYP GLEEPFNGLCOLOR4HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLCOLOR4HVNVPROC GLeeFuncPtr_glColor4hvNV; - #define glColor4hvNV GLeeFuncPtr_glColor4hvNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1hNV -#define GLEE_H_DEFINED_glTexCoord1hNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1HNVPROC) (GLhalfNV s); - GLEE_EXTERN GLEEPFNGLTEXCOORD1HNVPROC GLeeFuncPtr_glTexCoord1hNV; - #define glTexCoord1hNV GLeeFuncPtr_glTexCoord1hNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1hvNV -#define GLEE_H_DEFINED_glTexCoord1hvNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD1HVNVPROC GLeeFuncPtr_glTexCoord1hvNV; - #define glTexCoord1hvNV GLeeFuncPtr_glTexCoord1hvNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2hNV -#define GLEE_H_DEFINED_glTexCoord2hNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t); - GLEE_EXTERN GLEEPFNGLTEXCOORD2HNVPROC GLeeFuncPtr_glTexCoord2hNV; - #define glTexCoord2hNV GLeeFuncPtr_glTexCoord2hNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2hvNV -#define GLEE_H_DEFINED_glTexCoord2hvNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD2HVNVPROC GLeeFuncPtr_glTexCoord2hvNV; - #define glTexCoord2hvNV GLeeFuncPtr_glTexCoord2hvNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3hNV -#define GLEE_H_DEFINED_glTexCoord3hNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r); - GLEE_EXTERN GLEEPFNGLTEXCOORD3HNVPROC GLeeFuncPtr_glTexCoord3hNV; - #define glTexCoord3hNV GLeeFuncPtr_glTexCoord3hNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3hvNV -#define GLEE_H_DEFINED_glTexCoord3hvNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD3HVNVPROC GLeeFuncPtr_glTexCoord3hvNV; - #define glTexCoord3hvNV GLeeFuncPtr_glTexCoord3hvNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4hNV -#define GLEE_H_DEFINED_glTexCoord4hNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q); - GLEE_EXTERN GLEEPFNGLTEXCOORD4HNVPROC GLeeFuncPtr_glTexCoord4hNV; - #define glTexCoord4hNV GLeeFuncPtr_glTexCoord4hNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4hvNV -#define GLEE_H_DEFINED_glTexCoord4hvNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLTEXCOORD4HVNVPROC GLeeFuncPtr_glTexCoord4hvNV; - #define glTexCoord4hvNV GLeeFuncPtr_glTexCoord4hvNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1hNV -#define GLEE_H_DEFINED_glMultiTexCoord1hNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1HNVPROC GLeeFuncPtr_glMultiTexCoord1hNV; - #define glMultiTexCoord1hNV GLeeFuncPtr_glMultiTexCoord1hNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1hvNV -#define GLEE_H_DEFINED_glMultiTexCoord1hvNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1HVNVPROC GLeeFuncPtr_glMultiTexCoord1hvNV; - #define glMultiTexCoord1hvNV GLeeFuncPtr_glMultiTexCoord1hvNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2hNV -#define GLEE_H_DEFINED_glMultiTexCoord2hNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2HNVPROC GLeeFuncPtr_glMultiTexCoord2hNV; - #define glMultiTexCoord2hNV GLeeFuncPtr_glMultiTexCoord2hNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2hvNV -#define GLEE_H_DEFINED_glMultiTexCoord2hvNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2HVNVPROC GLeeFuncPtr_glMultiTexCoord2hvNV; - #define glMultiTexCoord2hvNV GLeeFuncPtr_glMultiTexCoord2hvNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3hNV -#define GLEE_H_DEFINED_glMultiTexCoord3hNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3HNVPROC GLeeFuncPtr_glMultiTexCoord3hNV; - #define glMultiTexCoord3hNV GLeeFuncPtr_glMultiTexCoord3hNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3hvNV -#define GLEE_H_DEFINED_glMultiTexCoord3hvNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3HVNVPROC GLeeFuncPtr_glMultiTexCoord3hvNV; - #define glMultiTexCoord3hvNV GLeeFuncPtr_glMultiTexCoord3hvNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4hNV -#define GLEE_H_DEFINED_glMultiTexCoord4hNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4HNVPROC GLeeFuncPtr_glMultiTexCoord4hNV; - #define glMultiTexCoord4hNV GLeeFuncPtr_glMultiTexCoord4hNV -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4hvNV -#define GLEE_H_DEFINED_glMultiTexCoord4hvNV - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4HVNVPROC GLeeFuncPtr_glMultiTexCoord4hvNV; - #define glMultiTexCoord4hvNV GLeeFuncPtr_glMultiTexCoord4hvNV -#endif -#ifndef GLEE_H_DEFINED_glFogCoordhNV -#define GLEE_H_DEFINED_glFogCoordhNV - typedef void (APIENTRYP GLEEPFNGLFOGCOORDHNVPROC) (GLhalfNV fog); - GLEE_EXTERN GLEEPFNGLFOGCOORDHNVPROC GLeeFuncPtr_glFogCoordhNV; - #define glFogCoordhNV GLeeFuncPtr_glFogCoordhNV -#endif -#ifndef GLEE_H_DEFINED_glFogCoordhvNV -#define GLEE_H_DEFINED_glFogCoordhvNV - typedef void (APIENTRYP GLEEPFNGLFOGCOORDHVNVPROC) (const GLhalfNV * fog); - GLEE_EXTERN GLEEPFNGLFOGCOORDHVNVPROC GLeeFuncPtr_glFogCoordhvNV; - #define glFogCoordhvNV GLeeFuncPtr_glFogCoordhvNV -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3hNV -#define GLEE_H_DEFINED_glSecondaryColor3hNV - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3HNVPROC GLeeFuncPtr_glSecondaryColor3hNV; - #define glSecondaryColor3hNV GLeeFuncPtr_glSecondaryColor3hNV -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColor3hvNV -#define GLEE_H_DEFINED_glSecondaryColor3hvNV - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLOR3HVNVPROC GLeeFuncPtr_glSecondaryColor3hvNV; - #define glSecondaryColor3hvNV GLeeFuncPtr_glSecondaryColor3hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexWeighthNV -#define GLEE_H_DEFINED_glVertexWeighthNV - typedef void (APIENTRYP GLEEPFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight); - GLEE_EXTERN GLEEPFNGLVERTEXWEIGHTHNVPROC GLeeFuncPtr_glVertexWeighthNV; - #define glVertexWeighthNV GLeeFuncPtr_glVertexWeighthNV -#endif -#ifndef GLEE_H_DEFINED_glVertexWeighthvNV -#define GLEE_H_DEFINED_glVertexWeighthvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV * weight); - GLEE_EXTERN GLEEPFNGLVERTEXWEIGHTHVNVPROC GLeeFuncPtr_glVertexWeighthvNV; - #define glVertexWeighthvNV GLeeFuncPtr_glVertexWeighthvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1hNV -#define GLEE_H_DEFINED_glVertexAttrib1hNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1HNVPROC GLeeFuncPtr_glVertexAttrib1hNV; - #define glVertexAttrib1hNV GLeeFuncPtr_glVertexAttrib1hNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib1hvNV -#define GLEE_H_DEFINED_glVertexAttrib1hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB1HVNVPROC GLeeFuncPtr_glVertexAttrib1hvNV; - #define glVertexAttrib1hvNV GLeeFuncPtr_glVertexAttrib1hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2hNV -#define GLEE_H_DEFINED_glVertexAttrib2hNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2HNVPROC GLeeFuncPtr_glVertexAttrib2hNV; - #define glVertexAttrib2hNV GLeeFuncPtr_glVertexAttrib2hNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib2hvNV -#define GLEE_H_DEFINED_glVertexAttrib2hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB2HVNVPROC GLeeFuncPtr_glVertexAttrib2hvNV; - #define glVertexAttrib2hvNV GLeeFuncPtr_glVertexAttrib2hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3hNV -#define GLEE_H_DEFINED_glVertexAttrib3hNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3HNVPROC GLeeFuncPtr_glVertexAttrib3hNV; - #define glVertexAttrib3hNV GLeeFuncPtr_glVertexAttrib3hNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib3hvNV -#define GLEE_H_DEFINED_glVertexAttrib3hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB3HVNVPROC GLeeFuncPtr_glVertexAttrib3hvNV; - #define glVertexAttrib3hvNV GLeeFuncPtr_glVertexAttrib3hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4hNV -#define GLEE_H_DEFINED_glVertexAttrib4hNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4HNVPROC GLeeFuncPtr_glVertexAttrib4hNV; - #define glVertexAttrib4hNV GLeeFuncPtr_glVertexAttrib4hNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttrib4hvNV -#define GLEE_H_DEFINED_glVertexAttrib4hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIB4HVNVPROC GLeeFuncPtr_glVertexAttrib4hvNV; - #define glVertexAttrib4hvNV GLeeFuncPtr_glVertexAttrib4hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs1hvNV -#define GLEE_H_DEFINED_glVertexAttribs1hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS1HVNVPROC GLeeFuncPtr_glVertexAttribs1hvNV; - #define glVertexAttribs1hvNV GLeeFuncPtr_glVertexAttribs1hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs2hvNV -#define GLEE_H_DEFINED_glVertexAttribs2hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS2HVNVPROC GLeeFuncPtr_glVertexAttribs2hvNV; - #define glVertexAttribs2hvNV GLeeFuncPtr_glVertexAttribs2hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs3hvNV -#define GLEE_H_DEFINED_glVertexAttribs3hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS3HVNVPROC GLeeFuncPtr_glVertexAttribs3hvNV; - #define glVertexAttribs3hvNV GLeeFuncPtr_glVertexAttribs3hvNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribs4hvNV -#define GLEE_H_DEFINED_glVertexAttribs4hvNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBS4HVNVPROC GLeeFuncPtr_glVertexAttribs4hvNV; - #define glVertexAttribs4hvNV GLeeFuncPtr_glVertexAttribs4hvNV -#endif -#endif - -/* GL_NV_pixel_data_range */ - -#ifndef GL_NV_pixel_data_range -#define GL_NV_pixel_data_range 1 -#define __GLEE_GL_NV_pixel_data_range 1 -/* Constants */ -#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 -#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 -#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A -#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B -#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C -#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D -#ifndef GLEE_H_DEFINED_glPixelDataRangeNV -#define GLEE_H_DEFINED_glPixelDataRangeNV - typedef void (APIENTRYP GLEEPFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLPIXELDATARANGENVPROC GLeeFuncPtr_glPixelDataRangeNV; - #define glPixelDataRangeNV GLeeFuncPtr_glPixelDataRangeNV -#endif -#ifndef GLEE_H_DEFINED_glFlushPixelDataRangeNV -#define GLEE_H_DEFINED_glFlushPixelDataRangeNV - typedef void (APIENTRYP GLEEPFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLFLUSHPIXELDATARANGENVPROC GLeeFuncPtr_glFlushPixelDataRangeNV; - #define glFlushPixelDataRangeNV GLeeFuncPtr_glFlushPixelDataRangeNV -#endif -#endif - -/* GL_NV_primitive_restart */ - -#ifndef GL_NV_primitive_restart -#define GL_NV_primitive_restart 1 -#define __GLEE_GL_NV_primitive_restart 1 -/* Constants */ -#define GL_PRIMITIVE_RESTART_NV 0x8558 -#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 -#ifndef GLEE_H_DEFINED_glPrimitiveRestartNV -#define GLEE_H_DEFINED_glPrimitiveRestartNV - typedef void (APIENTRYP GLEEPFNGLPRIMITIVERESTARTNVPROC) (); - GLEE_EXTERN GLEEPFNGLPRIMITIVERESTARTNVPROC GLeeFuncPtr_glPrimitiveRestartNV; - #define glPrimitiveRestartNV GLeeFuncPtr_glPrimitiveRestartNV -#endif -#ifndef GLEE_H_DEFINED_glPrimitiveRestartIndexNV -#define GLEE_H_DEFINED_glPrimitiveRestartIndexNV - typedef void (APIENTRYP GLEEPFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); - GLEE_EXTERN GLEEPFNGLPRIMITIVERESTARTINDEXNVPROC GLeeFuncPtr_glPrimitiveRestartIndexNV; - #define glPrimitiveRestartIndexNV GLeeFuncPtr_glPrimitiveRestartIndexNV -#endif -#endif - -/* GL_NV_texture_expand_normal */ - -#ifndef GL_NV_texture_expand_normal -#define GL_NV_texture_expand_normal 1 -#define __GLEE_GL_NV_texture_expand_normal 1 -/* Constants */ -#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F -#endif - -/* GL_NV_vertex_program2 */ - -#ifndef GL_NV_vertex_program2 -#define GL_NV_vertex_program2 1 -#define __GLEE_GL_NV_vertex_program2 1 -/* Constants */ -#endif - -/* GL_ATI_map_object_buffer */ - -#ifndef GL_ATI_map_object_buffer -#define GL_ATI_map_object_buffer 1 -#define __GLEE_GL_ATI_map_object_buffer 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMapObjectBufferATI -#define GLEE_H_DEFINED_glMapObjectBufferATI - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLMAPOBJECTBUFFERATIPROC GLeeFuncPtr_glMapObjectBufferATI; - #define glMapObjectBufferATI GLeeFuncPtr_glMapObjectBufferATI -#endif -#ifndef GLEE_H_DEFINED_glUnmapObjectBufferATI -#define GLEE_H_DEFINED_glUnmapObjectBufferATI - typedef void (APIENTRYP GLEEPFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLUNMAPOBJECTBUFFERATIPROC GLeeFuncPtr_glUnmapObjectBufferATI; - #define glUnmapObjectBufferATI GLeeFuncPtr_glUnmapObjectBufferATI -#endif -#endif - -/* GL_ATI_separate_stencil */ - -#ifndef GL_ATI_separate_stencil -#define GL_ATI_separate_stencil 1 -#define __GLEE_GL_ATI_separate_stencil 1 -/* Constants */ -#define GL_STENCIL_BACK_FUNC_ATI 0x8800 -#define GL_STENCIL_BACK_FAIL_ATI 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 -#ifndef GLEE_H_DEFINED_glStencilOpSeparateATI -#define GLEE_H_DEFINED_glStencilOpSeparateATI - typedef void (APIENTRYP GLEEPFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); - GLEE_EXTERN GLEEPFNGLSTENCILOPSEPARATEATIPROC GLeeFuncPtr_glStencilOpSeparateATI; - #define glStencilOpSeparateATI GLeeFuncPtr_glStencilOpSeparateATI -#endif -#ifndef GLEE_H_DEFINED_glStencilFuncSeparateATI -#define GLEE_H_DEFINED_glStencilFuncSeparateATI - typedef void (APIENTRYP GLEEPFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); - GLEE_EXTERN GLEEPFNGLSTENCILFUNCSEPARATEATIPROC GLeeFuncPtr_glStencilFuncSeparateATI; - #define glStencilFuncSeparateATI GLeeFuncPtr_glStencilFuncSeparateATI -#endif -#endif - -/* GL_ATI_vertex_attrib_array_object */ - -#ifndef GL_ATI_vertex_attrib_array_object -#define GL_ATI_vertex_attrib_array_object 1 -#define __GLEE_GL_ATI_vertex_attrib_array_object 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glVertexAttribArrayObjectATI -#define GLEE_H_DEFINED_glVertexAttribArrayObjectATI - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBARRAYOBJECTATIPROC GLeeFuncPtr_glVertexAttribArrayObjectATI; - #define glVertexAttribArrayObjectATI GLeeFuncPtr_glVertexAttribArrayObjectATI -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribArrayObjectfvATI -#define GLEE_H_DEFINED_glGetVertexAttribArrayObjectfvATI - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC GLeeFuncPtr_glGetVertexAttribArrayObjectfvATI; - #define glGetVertexAttribArrayObjectfvATI GLeeFuncPtr_glGetVertexAttribArrayObjectfvATI -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribArrayObjectivATI -#define GLEE_H_DEFINED_glGetVertexAttribArrayObjectivATI - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC GLeeFuncPtr_glGetVertexAttribArrayObjectivATI; - #define glGetVertexAttribArrayObjectivATI GLeeFuncPtr_glGetVertexAttribArrayObjectivATI -#endif -#endif - -/* GL_OES_byte_coordinates */ - -#ifndef GL_OES_byte_coordinates -#define GL_OES_byte_coordinates 1 -#define __GLEE_GL_OES_byte_coordinates 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMultiTexCoord1bOES -#define GLEE_H_DEFINED_glMultiTexCoord1bOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1BOESPROC GLeeFuncPtr_glMultiTexCoord1bOES; - #define glMultiTexCoord1bOES GLeeFuncPtr_glMultiTexCoord1bOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1bvOES -#define GLEE_H_DEFINED_glMultiTexCoord1bvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1BVOESPROC) (GLenum texture, const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1BVOESPROC GLeeFuncPtr_glMultiTexCoord1bvOES; - #define glMultiTexCoord1bvOES GLeeFuncPtr_glMultiTexCoord1bvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2bOES -#define GLEE_H_DEFINED_glMultiTexCoord2bOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2BOESPROC) (GLenum texture, GLbyte s, GLbyte t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2BOESPROC GLeeFuncPtr_glMultiTexCoord2bOES; - #define glMultiTexCoord2bOES GLeeFuncPtr_glMultiTexCoord2bOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2bvOES -#define GLEE_H_DEFINED_glMultiTexCoord2bvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2BVOESPROC) (GLenum texture, const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2BVOESPROC GLeeFuncPtr_glMultiTexCoord2bvOES; - #define glMultiTexCoord2bvOES GLeeFuncPtr_glMultiTexCoord2bvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3bOES -#define GLEE_H_DEFINED_glMultiTexCoord3bOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3BOESPROC) (GLenum texture, GLbyte s, GLbyte t, GLbyte r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3BOESPROC GLeeFuncPtr_glMultiTexCoord3bOES; - #define glMultiTexCoord3bOES GLeeFuncPtr_glMultiTexCoord3bOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3bvOES -#define GLEE_H_DEFINED_glMultiTexCoord3bvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3BVOESPROC) (GLenum texture, const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3BVOESPROC GLeeFuncPtr_glMultiTexCoord3bvOES; - #define glMultiTexCoord3bvOES GLeeFuncPtr_glMultiTexCoord3bvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4bOES -#define GLEE_H_DEFINED_glMultiTexCoord4bOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4BOESPROC) (GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4BOESPROC GLeeFuncPtr_glMultiTexCoord4bOES; - #define glMultiTexCoord4bOES GLeeFuncPtr_glMultiTexCoord4bOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4bvOES -#define GLEE_H_DEFINED_glMultiTexCoord4bvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4BVOESPROC) (GLenum texture, const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4BVOESPROC GLeeFuncPtr_glMultiTexCoord4bvOES; - #define glMultiTexCoord4bvOES GLeeFuncPtr_glMultiTexCoord4bvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1bOES -#define GLEE_H_DEFINED_glTexCoord1bOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1BOESPROC) (GLbyte s); - GLEE_EXTERN GLEEPFNGLTEXCOORD1BOESPROC GLeeFuncPtr_glTexCoord1bOES; - #define glTexCoord1bOES GLeeFuncPtr_glTexCoord1bOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1bvOES -#define GLEE_H_DEFINED_glTexCoord1bvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD1BVOESPROC GLeeFuncPtr_glTexCoord1bvOES; - #define glTexCoord1bvOES GLeeFuncPtr_glTexCoord1bvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2bOES -#define GLEE_H_DEFINED_glTexCoord2bOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2BOESPROC) (GLbyte s, GLbyte t); - GLEE_EXTERN GLEEPFNGLTEXCOORD2BOESPROC GLeeFuncPtr_glTexCoord2bOES; - #define glTexCoord2bOES GLeeFuncPtr_glTexCoord2bOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2bvOES -#define GLEE_H_DEFINED_glTexCoord2bvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD2BVOESPROC GLeeFuncPtr_glTexCoord2bvOES; - #define glTexCoord2bvOES GLeeFuncPtr_glTexCoord2bvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3bOES -#define GLEE_H_DEFINED_glTexCoord3bOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3BOESPROC) (GLbyte s, GLbyte t, GLbyte r); - GLEE_EXTERN GLEEPFNGLTEXCOORD3BOESPROC GLeeFuncPtr_glTexCoord3bOES; - #define glTexCoord3bOES GLeeFuncPtr_glTexCoord3bOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3bvOES -#define GLEE_H_DEFINED_glTexCoord3bvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD3BVOESPROC GLeeFuncPtr_glTexCoord3bvOES; - #define glTexCoord3bvOES GLeeFuncPtr_glTexCoord3bvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4bOES -#define GLEE_H_DEFINED_glTexCoord4bOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4BOESPROC) (GLbyte s, GLbyte t, GLbyte r, GLbyte q); - GLEE_EXTERN GLEEPFNGLTEXCOORD4BOESPROC GLeeFuncPtr_glTexCoord4bOES; - #define glTexCoord4bOES GLeeFuncPtr_glTexCoord4bOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4bvOES -#define GLEE_H_DEFINED_glTexCoord4bvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD4BVOESPROC GLeeFuncPtr_glTexCoord4bvOES; - #define glTexCoord4bvOES GLeeFuncPtr_glTexCoord4bvOES -#endif -#ifndef GLEE_H_DEFINED_glVertex2bOES -#define GLEE_H_DEFINED_glVertex2bOES - typedef void (APIENTRYP GLEEPFNGLVERTEX2BOESPROC) (GLbyte x); - GLEE_EXTERN GLEEPFNGLVERTEX2BOESPROC GLeeFuncPtr_glVertex2bOES; - #define glVertex2bOES GLeeFuncPtr_glVertex2bOES -#endif -#ifndef GLEE_H_DEFINED_glVertex2bvOES -#define GLEE_H_DEFINED_glVertex2bvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX2BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLVERTEX2BVOESPROC GLeeFuncPtr_glVertex2bvOES; - #define glVertex2bvOES GLeeFuncPtr_glVertex2bvOES -#endif -#ifndef GLEE_H_DEFINED_glVertex3bOES -#define GLEE_H_DEFINED_glVertex3bOES - typedef void (APIENTRYP GLEEPFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y); - GLEE_EXTERN GLEEPFNGLVERTEX3BOESPROC GLeeFuncPtr_glVertex3bOES; - #define glVertex3bOES GLeeFuncPtr_glVertex3bOES -#endif -#ifndef GLEE_H_DEFINED_glVertex3bvOES -#define GLEE_H_DEFINED_glVertex3bvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX3BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLVERTEX3BVOESPROC GLeeFuncPtr_glVertex3bvOES; - #define glVertex3bvOES GLeeFuncPtr_glVertex3bvOES -#endif -#ifndef GLEE_H_DEFINED_glVertex4bOES -#define GLEE_H_DEFINED_glVertex4bOES - typedef void (APIENTRYP GLEEPFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z); - GLEE_EXTERN GLEEPFNGLVERTEX4BOESPROC GLeeFuncPtr_glVertex4bOES; - #define glVertex4bOES GLeeFuncPtr_glVertex4bOES -#endif -#ifndef GLEE_H_DEFINED_glVertex4bvOES -#define GLEE_H_DEFINED_glVertex4bvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX4BVOESPROC) (const GLbyte * coords); - GLEE_EXTERN GLEEPFNGLVERTEX4BVOESPROC GLeeFuncPtr_glVertex4bvOES; - #define glVertex4bvOES GLeeFuncPtr_glVertex4bvOES -#endif -#endif - -/* GL_OES_fixed_point */ - -#ifndef GL_OES_fixed_point -#define GL_OES_fixed_point 1 -#define __GLEE_GL_OES_fixed_point 1 -/* Constants */ -#define GL_FIXED_OES 0x140C -#ifndef GLEE_H_DEFINED_glAccumxOES -#define GLEE_H_DEFINED_glAccumxOES - typedef void (APIENTRYP GLEEPFNGLACCUMXOESPROC) (GLenum op, GLfixed value); - GLEE_EXTERN GLEEPFNGLACCUMXOESPROC GLeeFuncPtr_glAccumxOES; - #define glAccumxOES GLeeFuncPtr_glAccumxOES -#endif -#ifndef GLEE_H_DEFINED_glAlphaFuncxOES -#define GLEE_H_DEFINED_glAlphaFuncxOES - typedef void (APIENTRYP GLEEPFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref); - GLEE_EXTERN GLEEPFNGLALPHAFUNCXOESPROC GLeeFuncPtr_glAlphaFuncxOES; - #define glAlphaFuncxOES GLeeFuncPtr_glAlphaFuncxOES -#endif -#ifndef GLEE_H_DEFINED_glBitmapxOES -#define GLEE_H_DEFINED_glBitmapxOES - typedef void (APIENTRYP GLEEPFNGLBITMAPXOESPROC) (GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte * bitmap); - GLEE_EXTERN GLEEPFNGLBITMAPXOESPROC GLeeFuncPtr_glBitmapxOES; - #define glBitmapxOES GLeeFuncPtr_glBitmapxOES -#endif -#ifndef GLEE_H_DEFINED_glBlendColorxOES -#define GLEE_H_DEFINED_glBlendColorxOES - typedef void (APIENTRYP GLEEPFNGLBLENDCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); - GLEE_EXTERN GLEEPFNGLBLENDCOLORXOESPROC GLeeFuncPtr_glBlendColorxOES; - #define glBlendColorxOES GLeeFuncPtr_glBlendColorxOES -#endif -#ifndef GLEE_H_DEFINED_glClearAccumxOES -#define GLEE_H_DEFINED_glClearAccumxOES - typedef void (APIENTRYP GLEEPFNGLCLEARACCUMXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); - GLEE_EXTERN GLEEPFNGLCLEARACCUMXOESPROC GLeeFuncPtr_glClearAccumxOES; - #define glClearAccumxOES GLeeFuncPtr_glClearAccumxOES -#endif -#ifndef GLEE_H_DEFINED_glClearColorxOES -#define GLEE_H_DEFINED_glClearColorxOES - typedef void (APIENTRYP GLEEPFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); - GLEE_EXTERN GLEEPFNGLCLEARCOLORXOESPROC GLeeFuncPtr_glClearColorxOES; - #define glClearColorxOES GLeeFuncPtr_glClearColorxOES -#endif -#ifndef GLEE_H_DEFINED_glClearDepthxOES -#define GLEE_H_DEFINED_glClearDepthxOES - typedef void (APIENTRYP GLEEPFNGLCLEARDEPTHXOESPROC) (GLfixed depth); - GLEE_EXTERN GLEEPFNGLCLEARDEPTHXOESPROC GLeeFuncPtr_glClearDepthxOES; - #define glClearDepthxOES GLeeFuncPtr_glClearDepthxOES -#endif -#ifndef GLEE_H_DEFINED_glClipPlanexOES -#define GLEE_H_DEFINED_glClipPlanexOES - typedef void (APIENTRYP GLEEPFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed * equation); - GLEE_EXTERN GLEEPFNGLCLIPPLANEXOESPROC GLeeFuncPtr_glClipPlanexOES; - #define glClipPlanexOES GLeeFuncPtr_glClipPlanexOES -#endif -#ifndef GLEE_H_DEFINED_glColor3xOES -#define GLEE_H_DEFINED_glColor3xOES - typedef void (APIENTRYP GLEEPFNGLCOLOR3XOESPROC) (GLfixed red, GLfixed green, GLfixed blue); - GLEE_EXTERN GLEEPFNGLCOLOR3XOESPROC GLeeFuncPtr_glColor3xOES; - #define glColor3xOES GLeeFuncPtr_glColor3xOES -#endif -#ifndef GLEE_H_DEFINED_glColor4xOES -#define GLEE_H_DEFINED_glColor4xOES - typedef void (APIENTRYP GLEEPFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); - GLEE_EXTERN GLEEPFNGLCOLOR4XOESPROC GLeeFuncPtr_glColor4xOES; - #define glColor4xOES GLeeFuncPtr_glColor4xOES -#endif -#ifndef GLEE_H_DEFINED_glColor3xvOES -#define GLEE_H_DEFINED_glColor3xvOES - typedef void (APIENTRYP GLEEPFNGLCOLOR3XVOESPROC) (const GLfixed * components); - GLEE_EXTERN GLEEPFNGLCOLOR3XVOESPROC GLeeFuncPtr_glColor3xvOES; - #define glColor3xvOES GLeeFuncPtr_glColor3xvOES -#endif -#ifndef GLEE_H_DEFINED_glColor4xvOES -#define GLEE_H_DEFINED_glColor4xvOES - typedef void (APIENTRYP GLEEPFNGLCOLOR4XVOESPROC) (const GLfixed * components); - GLEE_EXTERN GLEEPFNGLCOLOR4XVOESPROC GLeeFuncPtr_glColor4xvOES; - #define glColor4xvOES GLeeFuncPtr_glColor4xvOES -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterxOES -#define GLEE_H_DEFINED_glConvolutionParameterxOES - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERXOESPROC GLeeFuncPtr_glConvolutionParameterxOES; - #define glConvolutionParameterxOES GLeeFuncPtr_glConvolutionParameterxOES -#endif -#ifndef GLEE_H_DEFINED_glConvolutionParameterxvOES -#define GLEE_H_DEFINED_glConvolutionParameterxvOES - typedef void (APIENTRYP GLEEPFNGLCONVOLUTIONPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLCONVOLUTIONPARAMETERXVOESPROC GLeeFuncPtr_glConvolutionParameterxvOES; - #define glConvolutionParameterxvOES GLeeFuncPtr_glConvolutionParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glDepthRangexOES -#define GLEE_H_DEFINED_glDepthRangexOES - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEXOESPROC) (GLfixed n, GLfixed f); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEXOESPROC GLeeFuncPtr_glDepthRangexOES; - #define glDepthRangexOES GLeeFuncPtr_glDepthRangexOES -#endif -#ifndef GLEE_H_DEFINED_glEvalCoord1xOES -#define GLEE_H_DEFINED_glEvalCoord1xOES - typedef void (APIENTRYP GLEEPFNGLEVALCOORD1XOESPROC) (GLfixed u); - GLEE_EXTERN GLEEPFNGLEVALCOORD1XOESPROC GLeeFuncPtr_glEvalCoord1xOES; - #define glEvalCoord1xOES GLeeFuncPtr_glEvalCoord1xOES -#endif -#ifndef GLEE_H_DEFINED_glEvalCoord2xOES -#define GLEE_H_DEFINED_glEvalCoord2xOES - typedef void (APIENTRYP GLEEPFNGLEVALCOORD2XOESPROC) (GLfixed u, GLfixed v); - GLEE_EXTERN GLEEPFNGLEVALCOORD2XOESPROC GLeeFuncPtr_glEvalCoord2xOES; - #define glEvalCoord2xOES GLeeFuncPtr_glEvalCoord2xOES -#endif -#ifndef GLEE_H_DEFINED_glEvalCoord1xvOES -#define GLEE_H_DEFINED_glEvalCoord1xvOES - typedef void (APIENTRYP GLEEPFNGLEVALCOORD1XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLEVALCOORD1XVOESPROC GLeeFuncPtr_glEvalCoord1xvOES; - #define glEvalCoord1xvOES GLeeFuncPtr_glEvalCoord1xvOES -#endif -#ifndef GLEE_H_DEFINED_glEvalCoord2xvOES -#define GLEE_H_DEFINED_glEvalCoord2xvOES - typedef void (APIENTRYP GLEEPFNGLEVALCOORD2XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLEVALCOORD2XVOESPROC GLeeFuncPtr_glEvalCoord2xvOES; - #define glEvalCoord2xvOES GLeeFuncPtr_glEvalCoord2xvOES -#endif -#ifndef GLEE_H_DEFINED_glFeedbackBufferxOES -#define GLEE_H_DEFINED_glFeedbackBufferxOES - typedef void (APIENTRYP GLEEPFNGLFEEDBACKBUFFERXOESPROC) (GLsizei n, GLenum type, const GLfixed * buffer); - GLEE_EXTERN GLEEPFNGLFEEDBACKBUFFERXOESPROC GLeeFuncPtr_glFeedbackBufferxOES; - #define glFeedbackBufferxOES GLeeFuncPtr_glFeedbackBufferxOES -#endif -#ifndef GLEE_H_DEFINED_glFogxOES -#define GLEE_H_DEFINED_glFogxOES - typedef void (APIENTRYP GLEEPFNGLFOGXOESPROC) (GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLFOGXOESPROC GLeeFuncPtr_glFogxOES; - #define glFogxOES GLeeFuncPtr_glFogxOES -#endif -#ifndef GLEE_H_DEFINED_glFogxvOES -#define GLEE_H_DEFINED_glFogxvOES - typedef void (APIENTRYP GLEEPFNGLFOGXVOESPROC) (GLenum pname, const GLfixed * param); - GLEE_EXTERN GLEEPFNGLFOGXVOESPROC GLeeFuncPtr_glFogxvOES; - #define glFogxvOES GLeeFuncPtr_glFogxvOES -#endif -#ifndef GLEE_H_DEFINED_glFrustumxOES -#define GLEE_H_DEFINED_glFrustumxOES - typedef void (APIENTRYP GLEEPFNGLFRUSTUMXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); - GLEE_EXTERN GLEEPFNGLFRUSTUMXOESPROC GLeeFuncPtr_glFrustumxOES; - #define glFrustumxOES GLeeFuncPtr_glFrustumxOES -#endif -#ifndef GLEE_H_DEFINED_glGetClipPlanexOES -#define GLEE_H_DEFINED_glGetClipPlanexOES - typedef void (APIENTRYP GLEEPFNGLGETCLIPPLANEXOESPROC) (GLenum plane, GLfixed * equation); - GLEE_EXTERN GLEEPFNGLGETCLIPPLANEXOESPROC GLeeFuncPtr_glGetClipPlanexOES; - #define glGetClipPlanexOES GLeeFuncPtr_glGetClipPlanexOES -#endif -#ifndef GLEE_H_DEFINED_glGetConvolutionParameterxvOES -#define GLEE_H_DEFINED_glGetConvolutionParameterxvOES - typedef void (APIENTRYP GLEEPFNGLGETCONVOLUTIONPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETCONVOLUTIONPARAMETERXVOESPROC GLeeFuncPtr_glGetConvolutionParameterxvOES; - #define glGetConvolutionParameterxvOES GLeeFuncPtr_glGetConvolutionParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetFixedvOES -#define GLEE_H_DEFINED_glGetFixedvOES - typedef void (APIENTRYP GLEEPFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETFIXEDVOESPROC GLeeFuncPtr_glGetFixedvOES; - #define glGetFixedvOES GLeeFuncPtr_glGetFixedvOES -#endif -#ifndef GLEE_H_DEFINED_glGetHistogramParameterxvOES -#define GLEE_H_DEFINED_glGetHistogramParameterxvOES - typedef void (APIENTRYP GLEEPFNGLGETHISTOGRAMPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETHISTOGRAMPARAMETERXVOESPROC GLeeFuncPtr_glGetHistogramParameterxvOES; - #define glGetHistogramParameterxvOES GLeeFuncPtr_glGetHistogramParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetLightxOES -#define GLEE_H_DEFINED_glGetLightxOES - typedef void (APIENTRYP GLEEPFNGLGETLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETLIGHTXOESPROC GLeeFuncPtr_glGetLightxOES; - #define glGetLightxOES GLeeFuncPtr_glGetLightxOES -#endif -#ifndef GLEE_H_DEFINED_glGetMapxvOES -#define GLEE_H_DEFINED_glGetMapxvOES - typedef void (APIENTRYP GLEEPFNGLGETMAPXVOESPROC) (GLenum target, GLenum query, GLfixed * v); - GLEE_EXTERN GLEEPFNGLGETMAPXVOESPROC GLeeFuncPtr_glGetMapxvOES; - #define glGetMapxvOES GLeeFuncPtr_glGetMapxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetMaterialxOES -#define GLEE_H_DEFINED_glGetMaterialxOES - typedef void (APIENTRYP GLEEPFNGLGETMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLGETMATERIALXOESPROC GLeeFuncPtr_glGetMaterialxOES; - #define glGetMaterialxOES GLeeFuncPtr_glGetMaterialxOES -#endif -#ifndef GLEE_H_DEFINED_glGetPixelMapxv -#define GLEE_H_DEFINED_glGetPixelMapxv - typedef void (APIENTRYP GLEEPFNGLGETPIXELMAPXVPROC) (GLenum map, GLint size, GLfixed * values); - GLEE_EXTERN GLEEPFNGLGETPIXELMAPXVPROC GLeeFuncPtr_glGetPixelMapxv; - #define glGetPixelMapxv GLeeFuncPtr_glGetPixelMapxv -#endif -#ifndef GLEE_H_DEFINED_glGetTexEnvxvOES -#define GLEE_H_DEFINED_glGetTexEnvxvOES - typedef void (APIENTRYP GLEEPFNGLGETTEXENVXVOESPROC) (GLenum target, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETTEXENVXVOESPROC GLeeFuncPtr_glGetTexEnvxvOES; - #define glGetTexEnvxvOES GLeeFuncPtr_glGetTexEnvxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetTexGenxvOES -#define GLEE_H_DEFINED_glGetTexGenxvOES - typedef void (APIENTRYP GLEEPFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETTEXGENXVOESPROC GLeeFuncPtr_glGetTexGenxvOES; - #define glGetTexGenxvOES GLeeFuncPtr_glGetTexGenxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetTexLevelParameterxvOES -#define GLEE_H_DEFINED_glGetTexLevelParameterxvOES - typedef void (APIENTRYP GLEEPFNGLGETTEXLEVELPARAMETERXVOESPROC) (GLenum target, GLint level, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETTEXLEVELPARAMETERXVOESPROC GLeeFuncPtr_glGetTexLevelParameterxvOES; - #define glGetTexLevelParameterxvOES GLeeFuncPtr_glGetTexLevelParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterxvOES -#define GLEE_H_DEFINED_glGetTexParameterxvOES - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERXVOESPROC GLeeFuncPtr_glGetTexParameterxvOES; - #define glGetTexParameterxvOES GLeeFuncPtr_glGetTexParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glIndexxOES -#define GLEE_H_DEFINED_glIndexxOES - typedef void (APIENTRYP GLEEPFNGLINDEXXOESPROC) (GLfixed component); - GLEE_EXTERN GLEEPFNGLINDEXXOESPROC GLeeFuncPtr_glIndexxOES; - #define glIndexxOES GLeeFuncPtr_glIndexxOES -#endif -#ifndef GLEE_H_DEFINED_glIndexxvOES -#define GLEE_H_DEFINED_glIndexxvOES - typedef void (APIENTRYP GLEEPFNGLINDEXXVOESPROC) (const GLfixed * component); - GLEE_EXTERN GLEEPFNGLINDEXXVOESPROC GLeeFuncPtr_glIndexxvOES; - #define glIndexxvOES GLeeFuncPtr_glIndexxvOES -#endif -#ifndef GLEE_H_DEFINED_glLightModelxOES -#define GLEE_H_DEFINED_glLightModelxOES - typedef void (APIENTRYP GLEEPFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLLIGHTMODELXOESPROC GLeeFuncPtr_glLightModelxOES; - #define glLightModelxOES GLeeFuncPtr_glLightModelxOES -#endif -#ifndef GLEE_H_DEFINED_glLightModelxvOES -#define GLEE_H_DEFINED_glLightModelxvOES - typedef void (APIENTRYP GLEEPFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed * param); - GLEE_EXTERN GLEEPFNGLLIGHTMODELXVOESPROC GLeeFuncPtr_glLightModelxvOES; - #define glLightModelxvOES GLeeFuncPtr_glLightModelxvOES -#endif -#ifndef GLEE_H_DEFINED_glLightxOES -#define GLEE_H_DEFINED_glLightxOES - typedef void (APIENTRYP GLEEPFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLLIGHTXOESPROC GLeeFuncPtr_glLightxOES; - #define glLightxOES GLeeFuncPtr_glLightxOES -#endif -#ifndef GLEE_H_DEFINED_glLightxvOES -#define GLEE_H_DEFINED_glLightxvOES - typedef void (APIENTRYP GLEEPFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLLIGHTXVOESPROC GLeeFuncPtr_glLightxvOES; - #define glLightxvOES GLeeFuncPtr_glLightxvOES -#endif -#ifndef GLEE_H_DEFINED_glLineWidthxOES -#define GLEE_H_DEFINED_glLineWidthxOES - typedef void (APIENTRYP GLEEPFNGLLINEWIDTHXOESPROC) (GLfixed width); - GLEE_EXTERN GLEEPFNGLLINEWIDTHXOESPROC GLeeFuncPtr_glLineWidthxOES; - #define glLineWidthxOES GLeeFuncPtr_glLineWidthxOES -#endif -#ifndef GLEE_H_DEFINED_glLoadMatrixxOES -#define GLEE_H_DEFINED_glLoadMatrixxOES - typedef void (APIENTRYP GLEEPFNGLLOADMATRIXXOESPROC) (const GLfixed * m); - GLEE_EXTERN GLEEPFNGLLOADMATRIXXOESPROC GLeeFuncPtr_glLoadMatrixxOES; - #define glLoadMatrixxOES GLeeFuncPtr_glLoadMatrixxOES -#endif -#ifndef GLEE_H_DEFINED_glLoadTransposeMatrixxOES -#define GLEE_H_DEFINED_glLoadTransposeMatrixxOES - typedef void (APIENTRYP GLEEPFNGLLOADTRANSPOSEMATRIXXOESPROC) (const GLfixed * m); - GLEE_EXTERN GLEEPFNGLLOADTRANSPOSEMATRIXXOESPROC GLeeFuncPtr_glLoadTransposeMatrixxOES; - #define glLoadTransposeMatrixxOES GLeeFuncPtr_glLoadTransposeMatrixxOES -#endif -#ifndef GLEE_H_DEFINED_glMap1xOES -#define GLEE_H_DEFINED_glMap1xOES - typedef void (APIENTRYP GLEEPFNGLMAP1XOESPROC) (GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points); - GLEE_EXTERN GLEEPFNGLMAP1XOESPROC GLeeFuncPtr_glMap1xOES; - #define glMap1xOES GLeeFuncPtr_glMap1xOES -#endif -#ifndef GLEE_H_DEFINED_glMap2xOES -#define GLEE_H_DEFINED_glMap2xOES - typedef void (APIENTRYP GLEEPFNGLMAP2XOESPROC) (GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points); - GLEE_EXTERN GLEEPFNGLMAP2XOESPROC GLeeFuncPtr_glMap2xOES; - #define glMap2xOES GLeeFuncPtr_glMap2xOES -#endif -#ifndef GLEE_H_DEFINED_glMapGrid1xOES -#define GLEE_H_DEFINED_glMapGrid1xOES - typedef void (APIENTRYP GLEEPFNGLMAPGRID1XOESPROC) (GLint n, GLfixed u1, GLfixed u2); - GLEE_EXTERN GLEEPFNGLMAPGRID1XOESPROC GLeeFuncPtr_glMapGrid1xOES; - #define glMapGrid1xOES GLeeFuncPtr_glMapGrid1xOES -#endif -#ifndef GLEE_H_DEFINED_glMapGrid2xOES -#define GLEE_H_DEFINED_glMapGrid2xOES - typedef void (APIENTRYP GLEEPFNGLMAPGRID2XOESPROC) (GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2); - GLEE_EXTERN GLEEPFNGLMAPGRID2XOESPROC GLeeFuncPtr_glMapGrid2xOES; - #define glMapGrid2xOES GLeeFuncPtr_glMapGrid2xOES -#endif -#ifndef GLEE_H_DEFINED_glMaterialxOES -#define GLEE_H_DEFINED_glMaterialxOES - typedef void (APIENTRYP GLEEPFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLMATERIALXOESPROC GLeeFuncPtr_glMaterialxOES; - #define glMaterialxOES GLeeFuncPtr_glMaterialxOES -#endif -#ifndef GLEE_H_DEFINED_glMaterialxvOES -#define GLEE_H_DEFINED_glMaterialxvOES - typedef void (APIENTRYP GLEEPFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed * param); - GLEE_EXTERN GLEEPFNGLMATERIALXVOESPROC GLeeFuncPtr_glMaterialxvOES; - #define glMaterialxvOES GLeeFuncPtr_glMaterialxvOES -#endif -#ifndef GLEE_H_DEFINED_glMultMatrixxOES -#define GLEE_H_DEFINED_glMultMatrixxOES - typedef void (APIENTRYP GLEEPFNGLMULTMATRIXXOESPROC) (const GLfixed * m); - GLEE_EXTERN GLEEPFNGLMULTMATRIXXOESPROC GLeeFuncPtr_glMultMatrixxOES; - #define glMultMatrixxOES GLeeFuncPtr_glMultMatrixxOES -#endif -#ifndef GLEE_H_DEFINED_glMultTransposeMatrixxOES -#define GLEE_H_DEFINED_glMultTransposeMatrixxOES - typedef void (APIENTRYP GLEEPFNGLMULTTRANSPOSEMATRIXXOESPROC) (const GLfixed * m); - GLEE_EXTERN GLEEPFNGLMULTTRANSPOSEMATRIXXOESPROC GLeeFuncPtr_glMultTransposeMatrixxOES; - #define glMultTransposeMatrixxOES GLeeFuncPtr_glMultTransposeMatrixxOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1xOES -#define GLEE_H_DEFINED_glMultiTexCoord1xOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1XOESPROC) (GLenum texture, GLfixed s); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1XOESPROC GLeeFuncPtr_glMultiTexCoord1xOES; - #define glMultiTexCoord1xOES GLeeFuncPtr_glMultiTexCoord1xOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2xOES -#define GLEE_H_DEFINED_glMultiTexCoord2xOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2XOESPROC) (GLenum texture, GLfixed s, GLfixed t); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2XOESPROC GLeeFuncPtr_glMultiTexCoord2xOES; - #define glMultiTexCoord2xOES GLeeFuncPtr_glMultiTexCoord2xOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3xOES -#define GLEE_H_DEFINED_glMultiTexCoord3xOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3XOESPROC GLeeFuncPtr_glMultiTexCoord3xOES; - #define glMultiTexCoord3xOES GLeeFuncPtr_glMultiTexCoord3xOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4xOES -#define GLEE_H_DEFINED_glMultiTexCoord4xOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4XOESPROC GLeeFuncPtr_glMultiTexCoord4xOES; - #define glMultiTexCoord4xOES GLeeFuncPtr_glMultiTexCoord4xOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord1xvOES -#define GLEE_H_DEFINED_glMultiTexCoord1xvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD1XVOESPROC) (GLenum texture, const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD1XVOESPROC GLeeFuncPtr_glMultiTexCoord1xvOES; - #define glMultiTexCoord1xvOES GLeeFuncPtr_glMultiTexCoord1xvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord2xvOES -#define GLEE_H_DEFINED_glMultiTexCoord2xvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD2XVOESPROC) (GLenum texture, const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD2XVOESPROC GLeeFuncPtr_glMultiTexCoord2xvOES; - #define glMultiTexCoord2xvOES GLeeFuncPtr_glMultiTexCoord2xvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord3xvOES -#define GLEE_H_DEFINED_glMultiTexCoord3xvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD3XVOESPROC) (GLenum texture, const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD3XVOESPROC GLeeFuncPtr_glMultiTexCoord3xvOES; - #define glMultiTexCoord3xvOES GLeeFuncPtr_glMultiTexCoord3xvOES -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoord4xvOES -#define GLEE_H_DEFINED_glMultiTexCoord4xvOES - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORD4XVOESPROC) (GLenum texture, const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORD4XVOESPROC GLeeFuncPtr_glMultiTexCoord4xvOES; - #define glMultiTexCoord4xvOES GLeeFuncPtr_glMultiTexCoord4xvOES -#endif -#ifndef GLEE_H_DEFINED_glNormal3xOES -#define GLEE_H_DEFINED_glNormal3xOES - typedef void (APIENTRYP GLEEPFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); - GLEE_EXTERN GLEEPFNGLNORMAL3XOESPROC GLeeFuncPtr_glNormal3xOES; - #define glNormal3xOES GLeeFuncPtr_glNormal3xOES -#endif -#ifndef GLEE_H_DEFINED_glNormal3xvOES -#define GLEE_H_DEFINED_glNormal3xvOES - typedef void (APIENTRYP GLEEPFNGLNORMAL3XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLNORMAL3XVOESPROC GLeeFuncPtr_glNormal3xvOES; - #define glNormal3xvOES GLeeFuncPtr_glNormal3xvOES -#endif -#ifndef GLEE_H_DEFINED_glOrthoxOES -#define GLEE_H_DEFINED_glOrthoxOES - typedef void (APIENTRYP GLEEPFNGLORTHOXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); - GLEE_EXTERN GLEEPFNGLORTHOXOESPROC GLeeFuncPtr_glOrthoxOES; - #define glOrthoxOES GLeeFuncPtr_glOrthoxOES -#endif -#ifndef GLEE_H_DEFINED_glPassThroughxOES -#define GLEE_H_DEFINED_glPassThroughxOES - typedef void (APIENTRYP GLEEPFNGLPASSTHROUGHXOESPROC) (GLfixed token); - GLEE_EXTERN GLEEPFNGLPASSTHROUGHXOESPROC GLeeFuncPtr_glPassThroughxOES; - #define glPassThroughxOES GLeeFuncPtr_glPassThroughxOES -#endif -#ifndef GLEE_H_DEFINED_glPixelMapx -#define GLEE_H_DEFINED_glPixelMapx - typedef void (APIENTRYP GLEEPFNGLPIXELMAPXPROC) (GLenum map, GLint size, const GLfixed * values); - GLEE_EXTERN GLEEPFNGLPIXELMAPXPROC GLeeFuncPtr_glPixelMapx; - #define glPixelMapx GLeeFuncPtr_glPixelMapx -#endif -#ifndef GLEE_H_DEFINED_glPixelStorex -#define GLEE_H_DEFINED_glPixelStorex - typedef void (APIENTRYP GLEEPFNGLPIXELSTOREXPROC) (GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLPIXELSTOREXPROC GLeeFuncPtr_glPixelStorex; - #define glPixelStorex GLeeFuncPtr_glPixelStorex -#endif -#ifndef GLEE_H_DEFINED_glPixelTransferxOES -#define GLEE_H_DEFINED_glPixelTransferxOES - typedef void (APIENTRYP GLEEPFNGLPIXELTRANSFERXOESPROC) (GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLPIXELTRANSFERXOESPROC GLeeFuncPtr_glPixelTransferxOES; - #define glPixelTransferxOES GLeeFuncPtr_glPixelTransferxOES -#endif -#ifndef GLEE_H_DEFINED_glPixelZoomxOES -#define GLEE_H_DEFINED_glPixelZoomxOES - typedef void (APIENTRYP GLEEPFNGLPIXELZOOMXOESPROC) (GLfixed xfactor, GLfixed yfactor); - GLEE_EXTERN GLEEPFNGLPIXELZOOMXOESPROC GLeeFuncPtr_glPixelZoomxOES; - #define glPixelZoomxOES GLeeFuncPtr_glPixelZoomxOES -#endif -#ifndef GLEE_H_DEFINED_glPointParameterxvOES -#define GLEE_H_DEFINED_glPointParameterxvOES - typedef void (APIENTRYP GLEEPFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLPOINTPARAMETERXVOESPROC GLeeFuncPtr_glPointParameterxvOES; - #define glPointParameterxvOES GLeeFuncPtr_glPointParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glPointSizexOES -#define GLEE_H_DEFINED_glPointSizexOES - typedef void (APIENTRYP GLEEPFNGLPOINTSIZEXOESPROC) (GLfixed size); - GLEE_EXTERN GLEEPFNGLPOINTSIZEXOESPROC GLeeFuncPtr_glPointSizexOES; - #define glPointSizexOES GLeeFuncPtr_glPointSizexOES -#endif -#ifndef GLEE_H_DEFINED_glPolygonOffsetxOES -#define GLEE_H_DEFINED_glPolygonOffsetxOES - typedef void (APIENTRYP GLEEPFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); - GLEE_EXTERN GLEEPFNGLPOLYGONOFFSETXOESPROC GLeeFuncPtr_glPolygonOffsetxOES; - #define glPolygonOffsetxOES GLeeFuncPtr_glPolygonOffsetxOES -#endif -#ifndef GLEE_H_DEFINED_glPrioritizeTexturesxOES -#define GLEE_H_DEFINED_glPrioritizeTexturesxOES - typedef void (APIENTRYP GLEEPFNGLPRIORITIZETEXTURESXOESPROC) (GLsizei n, const GLuint * textures, const GLfixed * priorities); - GLEE_EXTERN GLEEPFNGLPRIORITIZETEXTURESXOESPROC GLeeFuncPtr_glPrioritizeTexturesxOES; - #define glPrioritizeTexturesxOES GLeeFuncPtr_glPrioritizeTexturesxOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos2xOES -#define GLEE_H_DEFINED_glRasterPos2xOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS2XOESPROC) (GLfixed x, GLfixed y); - GLEE_EXTERN GLEEPFNGLRASTERPOS2XOESPROC GLeeFuncPtr_glRasterPos2xOES; - #define glRasterPos2xOES GLeeFuncPtr_glRasterPos2xOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos3xOES -#define GLEE_H_DEFINED_glRasterPos3xOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS3XOESPROC) (GLfixed x, GLfixed y, GLfixed z); - GLEE_EXTERN GLEEPFNGLRASTERPOS3XOESPROC GLeeFuncPtr_glRasterPos3xOES; - #define glRasterPos3xOES GLeeFuncPtr_glRasterPos3xOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos4xOES -#define GLEE_H_DEFINED_glRasterPos4xOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS4XOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed w); - GLEE_EXTERN GLEEPFNGLRASTERPOS4XOESPROC GLeeFuncPtr_glRasterPos4xOES; - #define glRasterPos4xOES GLeeFuncPtr_glRasterPos4xOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos2xvOES -#define GLEE_H_DEFINED_glRasterPos2xvOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS2XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLRASTERPOS2XVOESPROC GLeeFuncPtr_glRasterPos2xvOES; - #define glRasterPos2xvOES GLeeFuncPtr_glRasterPos2xvOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos3xvOES -#define GLEE_H_DEFINED_glRasterPos3xvOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS3XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLRASTERPOS3XVOESPROC GLeeFuncPtr_glRasterPos3xvOES; - #define glRasterPos3xvOES GLeeFuncPtr_glRasterPos3xvOES -#endif -#ifndef GLEE_H_DEFINED_glRasterPos4xvOES -#define GLEE_H_DEFINED_glRasterPos4xvOES - typedef void (APIENTRYP GLEEPFNGLRASTERPOS4XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLRASTERPOS4XVOESPROC GLeeFuncPtr_glRasterPos4xvOES; - #define glRasterPos4xvOES GLeeFuncPtr_glRasterPos4xvOES -#endif -#ifndef GLEE_H_DEFINED_glRectxOES -#define GLEE_H_DEFINED_glRectxOES - typedef void (APIENTRYP GLEEPFNGLRECTXOESPROC) (GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2); - GLEE_EXTERN GLEEPFNGLRECTXOESPROC GLeeFuncPtr_glRectxOES; - #define glRectxOES GLeeFuncPtr_glRectxOES -#endif -#ifndef GLEE_H_DEFINED_glRectxvOES -#define GLEE_H_DEFINED_glRectxvOES - typedef void (APIENTRYP GLEEPFNGLRECTXVOESPROC) (const GLfixed * v1, const GLfixed * v2); - GLEE_EXTERN GLEEPFNGLRECTXVOESPROC GLeeFuncPtr_glRectxvOES; - #define glRectxvOES GLeeFuncPtr_glRectxvOES -#endif -#ifndef GLEE_H_DEFINED_glRotatexOES -#define GLEE_H_DEFINED_glRotatexOES - typedef void (APIENTRYP GLEEPFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); - GLEE_EXTERN GLEEPFNGLROTATEXOESPROC GLeeFuncPtr_glRotatexOES; - #define glRotatexOES GLeeFuncPtr_glRotatexOES -#endif -#ifndef GLEE_H_DEFINED_glSampleCoverageOES -#define GLEE_H_DEFINED_glSampleCoverageOES - typedef void (APIENTRYP GLEEPFNGLSAMPLECOVERAGEOESPROC) (GLfixed value, GLboolean invert); - GLEE_EXTERN GLEEPFNGLSAMPLECOVERAGEOESPROC GLeeFuncPtr_glSampleCoverageOES; - #define glSampleCoverageOES GLeeFuncPtr_glSampleCoverageOES -#endif -#ifndef GLEE_H_DEFINED_glScalexOES -#define GLEE_H_DEFINED_glScalexOES - typedef void (APIENTRYP GLEEPFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); - GLEE_EXTERN GLEEPFNGLSCALEXOESPROC GLeeFuncPtr_glScalexOES; - #define glScalexOES GLeeFuncPtr_glScalexOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1xOES -#define GLEE_H_DEFINED_glTexCoord1xOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1XOESPROC) (GLfixed s); - GLEE_EXTERN GLEEPFNGLTEXCOORD1XOESPROC GLeeFuncPtr_glTexCoord1xOES; - #define glTexCoord1xOES GLeeFuncPtr_glTexCoord1xOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2xOES -#define GLEE_H_DEFINED_glTexCoord2xOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2XOESPROC) (GLfixed s, GLfixed t); - GLEE_EXTERN GLEEPFNGLTEXCOORD2XOESPROC GLeeFuncPtr_glTexCoord2xOES; - #define glTexCoord2xOES GLeeFuncPtr_glTexCoord2xOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3xOES -#define GLEE_H_DEFINED_glTexCoord3xOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3XOESPROC) (GLfixed s, GLfixed t, GLfixed r); - GLEE_EXTERN GLEEPFNGLTEXCOORD3XOESPROC GLeeFuncPtr_glTexCoord3xOES; - #define glTexCoord3xOES GLeeFuncPtr_glTexCoord3xOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4xOES -#define GLEE_H_DEFINED_glTexCoord4xOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4XOESPROC) (GLfixed s, GLfixed t, GLfixed r, GLfixed q); - GLEE_EXTERN GLEEPFNGLTEXCOORD4XOESPROC GLeeFuncPtr_glTexCoord4xOES; - #define glTexCoord4xOES GLeeFuncPtr_glTexCoord4xOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord1xvOES -#define GLEE_H_DEFINED_glTexCoord1xvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD1XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD1XVOESPROC GLeeFuncPtr_glTexCoord1xvOES; - #define glTexCoord1xvOES GLeeFuncPtr_glTexCoord1xvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord2xvOES -#define GLEE_H_DEFINED_glTexCoord2xvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD2XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD2XVOESPROC GLeeFuncPtr_glTexCoord2xvOES; - #define glTexCoord2xvOES GLeeFuncPtr_glTexCoord2xvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord3xvOES -#define GLEE_H_DEFINED_glTexCoord3xvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD3XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD3XVOESPROC GLeeFuncPtr_glTexCoord3xvOES; - #define glTexCoord3xvOES GLeeFuncPtr_glTexCoord3xvOES -#endif -#ifndef GLEE_H_DEFINED_glTexCoord4xvOES -#define GLEE_H_DEFINED_glTexCoord4xvOES - typedef void (APIENTRYP GLEEPFNGLTEXCOORD4XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLTEXCOORD4XVOESPROC GLeeFuncPtr_glTexCoord4xvOES; - #define glTexCoord4xvOES GLeeFuncPtr_glTexCoord4xvOES -#endif -#ifndef GLEE_H_DEFINED_glTexEnvxOES -#define GLEE_H_DEFINED_glTexEnvxOES - typedef void (APIENTRYP GLEEPFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLTEXENVXOESPROC GLeeFuncPtr_glTexEnvxOES; - #define glTexEnvxOES GLeeFuncPtr_glTexEnvxOES -#endif -#ifndef GLEE_H_DEFINED_glTexEnvxvOES -#define GLEE_H_DEFINED_glTexEnvxvOES - typedef void (APIENTRYP GLEEPFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLTEXENVXVOESPROC GLeeFuncPtr_glTexEnvxvOES; - #define glTexEnvxvOES GLeeFuncPtr_glTexEnvxvOES -#endif -#ifndef GLEE_H_DEFINED_glTexGenxOES -#define GLEE_H_DEFINED_glTexGenxOES - typedef void (APIENTRYP GLEEPFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLTEXGENXOESPROC GLeeFuncPtr_glTexGenxOES; - #define glTexGenxOES GLeeFuncPtr_glTexGenxOES -#endif -#ifndef GLEE_H_DEFINED_glTexGenxvOES -#define GLEE_H_DEFINED_glTexGenxvOES - typedef void (APIENTRYP GLEEPFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLTEXGENXVOESPROC GLeeFuncPtr_glTexGenxvOES; - #define glTexGenxvOES GLeeFuncPtr_glTexGenxvOES -#endif -#ifndef GLEE_H_DEFINED_glTexParameterxOES -#define GLEE_H_DEFINED_glTexParameterxOES - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERXOESPROC GLeeFuncPtr_glTexParameterxOES; - #define glTexParameterxOES GLeeFuncPtr_glTexParameterxOES -#endif -#ifndef GLEE_H_DEFINED_glTexParameterxvOES -#define GLEE_H_DEFINED_glTexParameterxvOES - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed * params); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERXVOESPROC GLeeFuncPtr_glTexParameterxvOES; - #define glTexParameterxvOES GLeeFuncPtr_glTexParameterxvOES -#endif -#ifndef GLEE_H_DEFINED_glTranslatexOES -#define GLEE_H_DEFINED_glTranslatexOES - typedef void (APIENTRYP GLEEPFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); - GLEE_EXTERN GLEEPFNGLTRANSLATEXOESPROC GLeeFuncPtr_glTranslatexOES; - #define glTranslatexOES GLeeFuncPtr_glTranslatexOES -#endif -#ifndef GLEE_H_DEFINED_glVertex2xOES -#define GLEE_H_DEFINED_glVertex2xOES - typedef void (APIENTRYP GLEEPFNGLVERTEX2XOESPROC) (GLfixed x); - GLEE_EXTERN GLEEPFNGLVERTEX2XOESPROC GLeeFuncPtr_glVertex2xOES; - #define glVertex2xOES GLeeFuncPtr_glVertex2xOES -#endif -#ifndef GLEE_H_DEFINED_glVertex3xOES -#define GLEE_H_DEFINED_glVertex3xOES - typedef void (APIENTRYP GLEEPFNGLVERTEX3XOESPROC) (GLfixed x, GLfixed y); - GLEE_EXTERN GLEEPFNGLVERTEX3XOESPROC GLeeFuncPtr_glVertex3xOES; - #define glVertex3xOES GLeeFuncPtr_glVertex3xOES -#endif -#ifndef GLEE_H_DEFINED_glVertex4xOES -#define GLEE_H_DEFINED_glVertex4xOES - typedef void (APIENTRYP GLEEPFNGLVERTEX4XOESPROC) (GLfixed x, GLfixed y, GLfixed z); - GLEE_EXTERN GLEEPFNGLVERTEX4XOESPROC GLeeFuncPtr_glVertex4xOES; - #define glVertex4xOES GLeeFuncPtr_glVertex4xOES -#endif -#ifndef GLEE_H_DEFINED_glVertex2xvOES -#define GLEE_H_DEFINED_glVertex2xvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX2XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLVERTEX2XVOESPROC GLeeFuncPtr_glVertex2xvOES; - #define glVertex2xvOES GLeeFuncPtr_glVertex2xvOES -#endif -#ifndef GLEE_H_DEFINED_glVertex3xvOES -#define GLEE_H_DEFINED_glVertex3xvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX3XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLVERTEX3XVOESPROC GLeeFuncPtr_glVertex3xvOES; - #define glVertex3xvOES GLeeFuncPtr_glVertex3xvOES -#endif -#ifndef GLEE_H_DEFINED_glVertex4xvOES -#define GLEE_H_DEFINED_glVertex4xvOES - typedef void (APIENTRYP GLEEPFNGLVERTEX4XVOESPROC) (const GLfixed * coords); - GLEE_EXTERN GLEEPFNGLVERTEX4XVOESPROC GLeeFuncPtr_glVertex4xvOES; - #define glVertex4xvOES GLeeFuncPtr_glVertex4xvOES -#endif -#endif - -/* GL_OES_single_precision */ - -#ifndef GL_OES_single_precision -#define GL_OES_single_precision 1 -#define __GLEE_GL_OES_single_precision 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDepthRangefOES -#define GLEE_H_DEFINED_glDepthRangefOES - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEFOESPROC GLeeFuncPtr_glDepthRangefOES; - #define glDepthRangefOES GLeeFuncPtr_glDepthRangefOES -#endif -#ifndef GLEE_H_DEFINED_glFrustumfOES -#define GLEE_H_DEFINED_glFrustumfOES - typedef void (APIENTRYP GLEEPFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); - GLEE_EXTERN GLEEPFNGLFRUSTUMFOESPROC GLeeFuncPtr_glFrustumfOES; - #define glFrustumfOES GLeeFuncPtr_glFrustumfOES -#endif -#ifndef GLEE_H_DEFINED_glOrthofOES -#define GLEE_H_DEFINED_glOrthofOES - typedef void (APIENTRYP GLEEPFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); - GLEE_EXTERN GLEEPFNGLORTHOFOESPROC GLeeFuncPtr_glOrthofOES; - #define glOrthofOES GLeeFuncPtr_glOrthofOES -#endif -#ifndef GLEE_H_DEFINED_glClipPlanefOES -#define GLEE_H_DEFINED_glClipPlanefOES - typedef void (APIENTRYP GLEEPFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat * equation); - GLEE_EXTERN GLEEPFNGLCLIPPLANEFOESPROC GLeeFuncPtr_glClipPlanefOES; - #define glClipPlanefOES GLeeFuncPtr_glClipPlanefOES -#endif -#ifndef GLEE_H_DEFINED_glClearDepthfOES -#define GLEE_H_DEFINED_glClearDepthfOES - typedef void (APIENTRYP GLEEPFNGLCLEARDEPTHFOESPROC) (GLclampd depth); - GLEE_EXTERN GLEEPFNGLCLEARDEPTHFOESPROC GLeeFuncPtr_glClearDepthfOES; - #define glClearDepthfOES GLeeFuncPtr_glClearDepthfOES -#endif -#ifndef GLEE_H_DEFINED_glGetClipPlanefOES -#define GLEE_H_DEFINED_glGetClipPlanefOES - typedef void (APIENTRYP GLEEPFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat * equation); - GLEE_EXTERN GLEEPFNGLGETCLIPPLANEFOESPROC GLeeFuncPtr_glGetClipPlanefOES; - #define glGetClipPlanefOES GLeeFuncPtr_glGetClipPlanefOES -#endif -#endif - -/* GL_OES_compressed_paletted_texture */ - -#ifndef GL_OES_compressed_paletted_texture -#define GL_OES_compressed_paletted_texture 1 -#define __GLEE_GL_OES_compressed_paletted_texture 1 -/* Constants */ -#define GL_PALETTE4_RGB8_OES 0x8B90 -#define GL_PALETTE4_RGBA8_OES 0x8B91 -#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 -#define GL_PALETTE4_RGBA4_OES 0x8B93 -#define GL_PALETTE4_RGB5_A1_OES 0x8B94 -#define GL_PALETTE8_RGB8_OES 0x8B95 -#define GL_PALETTE8_RGBA8_OES 0x8B96 -#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 -#define GL_PALETTE8_RGBA4_OES 0x8B98 -#define GL_PALETTE8_RGB5_A1_OES 0x8B99 -#endif - -/* GL_OES_read_format */ - -#ifndef GL_OES_read_format -#define GL_OES_read_format 1 -#define __GLEE_GL_OES_read_format 1 -/* Constants */ -#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B -#endif - -/* GL_OES_query_matrix */ - -#ifndef GL_OES_query_matrix -#define GL_OES_query_matrix 1 -#define __GLEE_GL_OES_query_matrix 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glQueryMatrixxOES -#define GLEE_H_DEFINED_glQueryMatrixxOES - typedef GLbitfield (APIENTRYP GLEEPFNGLQUERYMATRIXXOESPROC) (const GLfixed * mantissa, const GLint * exponent); - GLEE_EXTERN GLEEPFNGLQUERYMATRIXXOESPROC GLeeFuncPtr_glQueryMatrixxOES; - #define glQueryMatrixxOES GLeeFuncPtr_glQueryMatrixxOES -#endif -#endif - -/* GL_EXT_depth_bounds_test */ - -#ifndef GL_EXT_depth_bounds_test -#define GL_EXT_depth_bounds_test 1 -#define __GLEE_GL_EXT_depth_bounds_test 1 -/* Constants */ -#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 -#define GL_DEPTH_BOUNDS_EXT 0x8891 -#ifndef GLEE_H_DEFINED_glDepthBoundsEXT -#define GLEE_H_DEFINED_glDepthBoundsEXT - typedef void (APIENTRYP GLEEPFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); - GLEE_EXTERN GLEEPFNGLDEPTHBOUNDSEXTPROC GLeeFuncPtr_glDepthBoundsEXT; - #define glDepthBoundsEXT GLeeFuncPtr_glDepthBoundsEXT -#endif -#endif - -/* GL_EXT_texture_mirror_clamp */ - -#ifndef GL_EXT_texture_mirror_clamp -#define GL_EXT_texture_mirror_clamp 1 -#define __GLEE_GL_EXT_texture_mirror_clamp 1 -/* Constants */ -#define GL_MIRROR_CLAMP_EXT 0x8742 -#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 -#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 -#endif - -/* GL_EXT_blend_equation_separate */ - -#ifndef GL_EXT_blend_equation_separate -#define GL_EXT_blend_equation_separate 1 -#define __GLEE_GL_EXT_blend_equation_separate 1 -/* Constants */ -#define GL_BLEND_EQUATION_RGB_EXT 0x8009 -#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D -#ifndef GLEE_H_DEFINED_glBlendEquationSeparateEXT -#define GLEE_H_DEFINED_glBlendEquationSeparateEXT - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONSEPARATEEXTPROC GLeeFuncPtr_glBlendEquationSeparateEXT; - #define glBlendEquationSeparateEXT GLeeFuncPtr_glBlendEquationSeparateEXT -#endif -#endif - -/* GL_MESA_pack_invert */ - -#ifndef GL_MESA_pack_invert -#define GL_MESA_pack_invert 1 -#define __GLEE_GL_MESA_pack_invert 1 -/* Constants */ -#define GL_PACK_INVERT_MESA 0x8758 -#endif - -/* GL_MESA_ycbcr_texture */ - -#ifndef GL_MESA_ycbcr_texture -#define GL_MESA_ycbcr_texture 1 -#define __GLEE_GL_MESA_ycbcr_texture 1 -/* Constants */ -#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB -#define GL_YCBCR_MESA 0x8757 -#endif - -/* GL_EXT_pixel_buffer_object */ - -#ifndef GL_EXT_pixel_buffer_object -#define GL_EXT_pixel_buffer_object 1 -#define __GLEE_GL_EXT_pixel_buffer_object 1 -/* Constants */ -#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB -#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF -#endif - -/* GL_NV_fragment_program_option */ - -#ifndef GL_NV_fragment_program_option -#define GL_NV_fragment_program_option 1 -#define __GLEE_GL_NV_fragment_program_option 1 -/* Constants */ -#endif - -/* GL_NV_fragment_program2 */ - -#ifndef GL_NV_fragment_program2 -#define GL_NV_fragment_program2 1 -#define __GLEE_GL_NV_fragment_program2 1 -/* Constants */ -#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 -#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 -#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 -#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 -#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 -#endif - -/* GL_NV_vertex_program2_option */ - -#ifndef GL_NV_vertex_program2_option -#define GL_NV_vertex_program2_option 1 -#define __GLEE_GL_NV_vertex_program2_option 1 -/* Constants */ -#endif - -/* GL_NV_vertex_program3 */ - -#ifndef GL_NV_vertex_program3 -#define GL_NV_vertex_program3 1 -#define __GLEE_GL_NV_vertex_program3 1 -/* Constants */ -#endif - -/* GL_EXT_framebuffer_object */ - -#ifndef GL_EXT_framebuffer_object -#define GL_EXT_framebuffer_object 1 -#define __GLEE_GL_EXT_framebuffer_object 1 -/* Constants */ -#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 -#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 -#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 -#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 -#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_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 -#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_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC -#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD -#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF -#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 -#define GL_FRAMEBUFFER_EXT 0x8D40 -#define GL_RENDERBUFFER_EXT 0x8D41 -#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 -#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 -#define GL_STENCIL_INDEX1_EXT 0x8D46 -#define GL_STENCIL_INDEX4_EXT 0x8D47 -#define GL_STENCIL_INDEX8_EXT 0x8D48 -#define GL_STENCIL_INDEX16_EXT 0x8D49 -#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 -#ifndef GLEE_H_DEFINED_glIsRenderbufferEXT -#define GLEE_H_DEFINED_glIsRenderbufferEXT - typedef GLboolean (APIENTRYP GLEEPFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLISRENDERBUFFEREXTPROC GLeeFuncPtr_glIsRenderbufferEXT; - #define glIsRenderbufferEXT GLeeFuncPtr_glIsRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glBindRenderbufferEXT -#define GLEE_H_DEFINED_glBindRenderbufferEXT - typedef void (APIENTRYP GLEEPFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLBINDRENDERBUFFEREXTPROC GLeeFuncPtr_glBindRenderbufferEXT; - #define glBindRenderbufferEXT GLeeFuncPtr_glBindRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glDeleteRenderbuffersEXT -#define GLEE_H_DEFINED_glDeleteRenderbuffersEXT - typedef void (APIENTRYP GLEEPFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint * renderbuffers); - GLEE_EXTERN GLEEPFNGLDELETERENDERBUFFERSEXTPROC GLeeFuncPtr_glDeleteRenderbuffersEXT; - #define glDeleteRenderbuffersEXT GLeeFuncPtr_glDeleteRenderbuffersEXT -#endif -#ifndef GLEE_H_DEFINED_glGenRenderbuffersEXT -#define GLEE_H_DEFINED_glGenRenderbuffersEXT - typedef void (APIENTRYP GLEEPFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint * renderbuffers); - GLEE_EXTERN GLEEPFNGLGENRENDERBUFFERSEXTPROC GLeeFuncPtr_glGenRenderbuffersEXT; - #define glGenRenderbuffersEXT GLeeFuncPtr_glGenRenderbuffersEXT -#endif -#ifndef GLEE_H_DEFINED_glRenderbufferStorageEXT -#define GLEE_H_DEFINED_glRenderbufferStorageEXT - typedef void (APIENTRYP GLEEPFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLRENDERBUFFERSTORAGEEXTPROC GLeeFuncPtr_glRenderbufferStorageEXT; - #define glRenderbufferStorageEXT GLeeFuncPtr_glRenderbufferStorageEXT -#endif -#ifndef GLEE_H_DEFINED_glGetRenderbufferParameterivEXT -#define GLEE_H_DEFINED_glGetRenderbufferParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetRenderbufferParameterivEXT; - #define glGetRenderbufferParameterivEXT GLeeFuncPtr_glGetRenderbufferParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glIsFramebufferEXT -#define GLEE_H_DEFINED_glIsFramebufferEXT - typedef GLboolean (APIENTRYP GLEEPFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); - GLEE_EXTERN GLEEPFNGLISFRAMEBUFFEREXTPROC GLeeFuncPtr_glIsFramebufferEXT; - #define glIsFramebufferEXT GLeeFuncPtr_glIsFramebufferEXT -#endif -#ifndef GLEE_H_DEFINED_glBindFramebufferEXT -#define GLEE_H_DEFINED_glBindFramebufferEXT - typedef void (APIENTRYP GLEEPFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); - GLEE_EXTERN GLEEPFNGLBINDFRAMEBUFFEREXTPROC GLeeFuncPtr_glBindFramebufferEXT; - #define glBindFramebufferEXT GLeeFuncPtr_glBindFramebufferEXT -#endif -#ifndef GLEE_H_DEFINED_glDeleteFramebuffersEXT -#define GLEE_H_DEFINED_glDeleteFramebuffersEXT - typedef void (APIENTRYP GLEEPFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint * framebuffers); - GLEE_EXTERN GLEEPFNGLDELETEFRAMEBUFFERSEXTPROC GLeeFuncPtr_glDeleteFramebuffersEXT; - #define glDeleteFramebuffersEXT GLeeFuncPtr_glDeleteFramebuffersEXT -#endif -#ifndef GLEE_H_DEFINED_glGenFramebuffersEXT -#define GLEE_H_DEFINED_glGenFramebuffersEXT - typedef void (APIENTRYP GLEEPFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint * framebuffers); - GLEE_EXTERN GLEEPFNGLGENFRAMEBUFFERSEXTPROC GLeeFuncPtr_glGenFramebuffersEXT; - #define glGenFramebuffersEXT GLeeFuncPtr_glGenFramebuffersEXT -#endif -#ifndef GLEE_H_DEFINED_glCheckFramebufferStatusEXT -#define GLEE_H_DEFINED_glCheckFramebufferStatusEXT - typedef GLenum (APIENTRYP GLEEPFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLCHECKFRAMEBUFFERSTATUSEXTPROC GLeeFuncPtr_glCheckFramebufferStatusEXT; - #define glCheckFramebufferStatusEXT GLeeFuncPtr_glCheckFramebufferStatusEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture1DEXT -#define GLEE_H_DEFINED_glFramebufferTexture1DEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE1DEXTPROC GLeeFuncPtr_glFramebufferTexture1DEXT; - #define glFramebufferTexture1DEXT GLeeFuncPtr_glFramebufferTexture1DEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture2DEXT -#define GLEE_H_DEFINED_glFramebufferTexture2DEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE2DEXTPROC GLeeFuncPtr_glFramebufferTexture2DEXT; - #define glFramebufferTexture2DEXT GLeeFuncPtr_glFramebufferTexture2DEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferTexture3DEXT -#define GLEE_H_DEFINED_glFramebufferTexture3DEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERTEXTURE3DEXTPROC GLeeFuncPtr_glFramebufferTexture3DEXT; - #define glFramebufferTexture3DEXT GLeeFuncPtr_glFramebufferTexture3DEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferRenderbufferEXT -#define GLEE_H_DEFINED_glFramebufferRenderbufferEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERRENDERBUFFEREXTPROC GLeeFuncPtr_glFramebufferRenderbufferEXT; - #define glFramebufferRenderbufferEXT GLeeFuncPtr_glFramebufferRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glGetFramebufferAttachmentParameterivEXT -#define GLEE_H_DEFINED_glGetFramebufferAttachmentParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLeeFuncPtr_glGetFramebufferAttachmentParameterivEXT; - #define glGetFramebufferAttachmentParameterivEXT GLeeFuncPtr_glGetFramebufferAttachmentParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGenerateMipmapEXT -#define GLEE_H_DEFINED_glGenerateMipmapEXT - typedef void (APIENTRYP GLEEPFNGLGENERATEMIPMAPEXTPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLGENERATEMIPMAPEXTPROC GLeeFuncPtr_glGenerateMipmapEXT; - #define glGenerateMipmapEXT GLeeFuncPtr_glGenerateMipmapEXT -#endif -#endif - -/* GL_GREMEDY_string_marker */ - -#ifndef GL_GREMEDY_string_marker -#define GL_GREMEDY_string_marker 1 -#define __GLEE_GL_GREMEDY_string_marker 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glStringMarkerGREMEDY -#define GLEE_H_DEFINED_glStringMarkerGREMEDY - typedef void (APIENTRYP GLEEPFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid * string); - GLEE_EXTERN GLEEPFNGLSTRINGMARKERGREMEDYPROC GLeeFuncPtr_glStringMarkerGREMEDY; - #define glStringMarkerGREMEDY GLeeFuncPtr_glStringMarkerGREMEDY -#endif -#endif - -/* GL_EXT_packed_depth_stencil */ - -#ifndef GL_EXT_packed_depth_stencil -#define GL_EXT_packed_depth_stencil 1 -#define __GLEE_GL_EXT_packed_depth_stencil 1 -/* Constants */ -#define GL_DEPTH_STENCIL_EXT 0x84F9 -#define GL_UNSIGNED_INT_24_8_EXT 0x84FA -#define GL_DEPTH24_STENCIL8_EXT 0x88F0 -#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 -#endif - -/* GL_EXT_stencil_clear_tag */ - -#ifndef GL_EXT_stencil_clear_tag -#define GL_EXT_stencil_clear_tag 1 -#define __GLEE_GL_EXT_stencil_clear_tag 1 -/* Constants */ -#define GL_STENCIL_TAG_BITS_EXT 0x88F2 -#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 -#ifndef GLEE_H_DEFINED_glStencilClearTagEXT -#define GLEE_H_DEFINED_glStencilClearTagEXT - typedef void (APIENTRYP GLEEPFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag); - GLEE_EXTERN GLEEPFNGLSTENCILCLEARTAGEXTPROC GLeeFuncPtr_glStencilClearTagEXT; - #define glStencilClearTagEXT GLeeFuncPtr_glStencilClearTagEXT -#endif -#endif - -/* GL_EXT_texture_sRGB */ - -#ifndef GL_EXT_texture_sRGB -#define GL_EXT_texture_sRGB 1 -#define __GLEE_GL_EXT_texture_sRGB 1 -/* Constants */ -#define GL_SRGB_EXT 0x8C40 -#define GL_SRGB8_EXT 0x8C41 -#define GL_SRGB_ALPHA_EXT 0x8C42 -#define GL_SRGB8_ALPHA8_EXT 0x8C43 -#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 -#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 -#define GL_SLUMINANCE_EXT 0x8C46 -#define GL_SLUMINANCE8_EXT 0x8C47 -#define GL_COMPRESSED_SRGB_EXT 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 -#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A -#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B -#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F -#endif - -/* GL_EXT_framebuffer_blit */ - -#ifndef GL_EXT_framebuffer_blit -#define GL_EXT_framebuffer_blit 1 -#define __GLEE_GL_EXT_framebuffer_blit 1 -/* Constants */ -#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT -#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA -#ifndef GLEE_H_DEFINED_glBlitFramebufferEXT -#define GLEE_H_DEFINED_glBlitFramebufferEXT - typedef void (APIENTRYP GLEEPFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - GLEE_EXTERN GLEEPFNGLBLITFRAMEBUFFEREXTPROC GLeeFuncPtr_glBlitFramebufferEXT; - #define glBlitFramebufferEXT GLeeFuncPtr_glBlitFramebufferEXT -#endif -#endif - -/* GL_EXT_framebuffer_multisample */ - -#ifndef GL_EXT_framebuffer_multisample -#define GL_EXT_framebuffer_multisample 1 -#define __GLEE_GL_EXT_framebuffer_multisample 1 -/* Constants */ -#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 -#define GL_MAX_SAMPLES_EXT 0x8D57 -#ifndef GLEE_H_DEFINED_glRenderbufferStorageMultisampleEXT -#define GLEE_H_DEFINED_glRenderbufferStorageMultisampleEXT - typedef void (APIENTRYP GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLeeFuncPtr_glRenderbufferStorageMultisampleEXT; - #define glRenderbufferStorageMultisampleEXT GLeeFuncPtr_glRenderbufferStorageMultisampleEXT -#endif -#endif - -/* GL_MESAX_texture_stack */ - -#ifndef GL_MESAX_texture_stack -#define GL_MESAX_texture_stack 1 -#define __GLEE_GL_MESAX_texture_stack 1 -/* Constants */ -#define GL_TEXTURE_1D_STACK_MESAX 0x8759 -#define GL_TEXTURE_2D_STACK_MESAX 0x875A -#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B -#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C -#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D -#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E -#endif - -/* GL_EXT_timer_query */ - -#ifndef GL_EXT_timer_query -#define GL_EXT_timer_query 1 -#define __GLEE_GL_EXT_timer_query 1 -/* Constants */ -#define GL_TIME_ELAPSED_EXT 0x88BF -#ifndef GLEE_H_DEFINED_glGetQueryObjecti64vEXT -#define GLEE_H_DEFINED_glGetQueryObjecti64vEXT - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTI64VEXTPROC GLeeFuncPtr_glGetQueryObjecti64vEXT; - #define glGetQueryObjecti64vEXT GLeeFuncPtr_glGetQueryObjecti64vEXT -#endif -#ifndef GLEE_H_DEFINED_glGetQueryObjectui64vEXT -#define GLEE_H_DEFINED_glGetQueryObjectui64vEXT - typedef void (APIENTRYP GLEEPFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETQUERYOBJECTUI64VEXTPROC GLeeFuncPtr_glGetQueryObjectui64vEXT; - #define glGetQueryObjectui64vEXT GLeeFuncPtr_glGetQueryObjectui64vEXT -#endif -#endif - -/* GL_EXT_gpu_program_parameters */ - -#ifndef GL_EXT_gpu_program_parameters -#define GL_EXT_gpu_program_parameters 1 -#define __GLEE_GL_EXT_gpu_program_parameters 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glProgramEnvParameters4fvEXT -#define GLEE_H_DEFINED_glProgramEnvParameters4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPROGRAMENVPARAMETERS4FVEXTPROC GLeeFuncPtr_glProgramEnvParameters4fvEXT; - #define glProgramEnvParameters4fvEXT GLeeFuncPtr_glProgramEnvParameters4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramLocalParameters4fvEXT -#define GLEE_H_DEFINED_glProgramLocalParameters4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC GLeeFuncPtr_glProgramLocalParameters4fvEXT; - #define glProgramLocalParameters4fvEXT GLeeFuncPtr_glProgramLocalParameters4fvEXT -#endif -#endif - -/* GL_APPLE_flush_buffer_range */ - -#ifndef GL_APPLE_flush_buffer_range -#define GL_APPLE_flush_buffer_range 1 -#define __GLEE_GL_APPLE_flush_buffer_range 1 -/* Constants */ -#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 -#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 -#ifndef GLEE_H_DEFINED_glBufferParameteriAPPLE -#define GLEE_H_DEFINED_glBufferParameteriAPPLE - typedef void (APIENTRYP GLEEPFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLBUFFERPARAMETERIAPPLEPROC GLeeFuncPtr_glBufferParameteriAPPLE; - #define glBufferParameteriAPPLE GLeeFuncPtr_glBufferParameteriAPPLE -#endif -#ifndef GLEE_H_DEFINED_glFlushMappedBufferRangeAPPLE -#define GLEE_H_DEFINED_glFlushMappedBufferRangeAPPLE - typedef void (APIENTRYP GLEEPFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC GLeeFuncPtr_glFlushMappedBufferRangeAPPLE; - #define glFlushMappedBufferRangeAPPLE GLeeFuncPtr_glFlushMappedBufferRangeAPPLE -#endif -#endif - -/* GL_EXT_gpu_shader4 */ - -#ifndef GL_EXT_gpu_shader4 -#define GL_EXT_gpu_shader4 1 -#define __GLEE_GL_EXT_gpu_shader4 1 -/* Constants */ -#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 -#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 -#define GL_SAMPLER_BUFFER_EXT 0x8DC2 -#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 -#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 -#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 -#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 -#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 -#define GL_INT_SAMPLER_1D_EXT 0x8DC9 -#define GL_INT_SAMPLER_2D_EXT 0x8DCA -#define GL_INT_SAMPLER_3D_EXT 0x8DCB -#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC -#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD -#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE -#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF -#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 -#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 -#ifndef GLEE_H_DEFINED_glGetUniformuivEXT -#define GLEE_H_DEFINED_glGetUniformuivEXT - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMUIVEXTPROC GLeeFuncPtr_glGetUniformuivEXT; - #define glGetUniformuivEXT GLeeFuncPtr_glGetUniformuivEXT -#endif -#ifndef GLEE_H_DEFINED_glBindFragDataLocationEXT -#define GLEE_H_DEFINED_glBindFragDataLocationEXT - typedef void (APIENTRYP GLEEPFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar * name); - GLEE_EXTERN GLEEPFNGLBINDFRAGDATALOCATIONEXTPROC GLeeFuncPtr_glBindFragDataLocationEXT; - #define glBindFragDataLocationEXT GLeeFuncPtr_glBindFragDataLocationEXT -#endif -#ifndef GLEE_H_DEFINED_glGetFragDataLocationEXT -#define GLEE_H_DEFINED_glGetFragDataLocationEXT - typedef GLint (APIENTRYP GLEEPFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETFRAGDATALOCATIONEXTPROC GLeeFuncPtr_glGetFragDataLocationEXT; - #define glGetFragDataLocationEXT GLeeFuncPtr_glGetFragDataLocationEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform1uiEXT -#define GLEE_H_DEFINED_glUniform1uiEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); - GLEE_EXTERN GLEEPFNGLUNIFORM1UIEXTPROC GLeeFuncPtr_glUniform1uiEXT; - #define glUniform1uiEXT GLeeFuncPtr_glUniform1uiEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform2uiEXT -#define GLEE_H_DEFINED_glUniform2uiEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); - GLEE_EXTERN GLEEPFNGLUNIFORM2UIEXTPROC GLeeFuncPtr_glUniform2uiEXT; - #define glUniform2uiEXT GLeeFuncPtr_glUniform2uiEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform3uiEXT -#define GLEE_H_DEFINED_glUniform3uiEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); - GLEE_EXTERN GLEEPFNGLUNIFORM3UIEXTPROC GLeeFuncPtr_glUniform3uiEXT; - #define glUniform3uiEXT GLeeFuncPtr_glUniform3uiEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform4uiEXT -#define GLEE_H_DEFINED_glUniform4uiEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - GLEE_EXTERN GLEEPFNGLUNIFORM4UIEXTPROC GLeeFuncPtr_glUniform4uiEXT; - #define glUniform4uiEXT GLeeFuncPtr_glUniform4uiEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform1uivEXT -#define GLEE_H_DEFINED_glUniform1uivEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1UIVEXTPROC GLeeFuncPtr_glUniform1uivEXT; - #define glUniform1uivEXT GLeeFuncPtr_glUniform1uivEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform2uivEXT -#define GLEE_H_DEFINED_glUniform2uivEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2UIVEXTPROC GLeeFuncPtr_glUniform2uivEXT; - #define glUniform2uivEXT GLeeFuncPtr_glUniform2uivEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform3uivEXT -#define GLEE_H_DEFINED_glUniform3uivEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3UIVEXTPROC GLeeFuncPtr_glUniform3uivEXT; - #define glUniform3uivEXT GLeeFuncPtr_glUniform3uivEXT -#endif -#ifndef GLEE_H_DEFINED_glUniform4uivEXT -#define GLEE_H_DEFINED_glUniform4uivEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4UIVEXTPROC GLeeFuncPtr_glUniform4uivEXT; - #define glUniform4uivEXT GLeeFuncPtr_glUniform4uivEXT -#endif -#endif - -/* GL_EXT_draw_instanced */ - -#ifndef GL_EXT_draw_instanced -#define GL_EXT_draw_instanced 1 -#define __GLEE_GL_EXT_draw_instanced 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawArraysInstancedEXT -#define GLEE_H_DEFINED_glDrawArraysInstancedEXT - typedef void (APIENTRYP GLEEPFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLDRAWARRAYSINSTANCEDEXTPROC GLeeFuncPtr_glDrawArraysInstancedEXT; - #define glDrawArraysInstancedEXT GLeeFuncPtr_glDrawArraysInstancedEXT -#endif -#ifndef GLEE_H_DEFINED_glDrawElementsInstancedEXT -#define GLEE_H_DEFINED_glDrawElementsInstancedEXT - typedef void (APIENTRYP GLEEPFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount); - GLEE_EXTERN GLEEPFNGLDRAWELEMENTSINSTANCEDEXTPROC GLeeFuncPtr_glDrawElementsInstancedEXT; - #define glDrawElementsInstancedEXT GLeeFuncPtr_glDrawElementsInstancedEXT -#endif -#endif - -/* GL_EXT_packed_float */ - -#ifndef GL_EXT_packed_float -#define GL_EXT_packed_float 1 -#define __GLEE_GL_EXT_packed_float 1 -/* Constants */ -#define GL_R11F_G11F_B10F_EXT 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B -#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C -#endif - -/* GL_EXT_texture_array */ - -#ifndef GL_EXT_texture_array -#define GL_EXT_texture_array 1 -#define __GLEE_GL_EXT_texture_array 1 -/* Constants */ -#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 -#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 -#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A -#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B -#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D -#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF -#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E -#endif - -/* GL_EXT_texture_buffer_object */ - -#ifndef GL_EXT_texture_buffer_object -#define GL_EXT_texture_buffer_object 1 -#define __GLEE_GL_EXT_texture_buffer_object 1 -/* Constants */ -#define GL_TEXTURE_BUFFER_EXT 0x8C2A -#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B -#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D -#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E -#ifndef GLEE_H_DEFINED_glTexBufferEXT -#define GLEE_H_DEFINED_glTexBufferEXT - typedef void (APIENTRYP GLEEPFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); - GLEE_EXTERN GLEEPFNGLTEXBUFFEREXTPROC GLeeFuncPtr_glTexBufferEXT; - #define glTexBufferEXT GLeeFuncPtr_glTexBufferEXT -#endif -#endif - -/* GL_EXT_texture_compression_latc */ - -#ifndef GL_EXT_texture_compression_latc -#define GL_EXT_texture_compression_latc 1 -#define __GLEE_GL_EXT_texture_compression_latc 1 -/* Constants */ -#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 -#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 -#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 -#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 -#endif - -/* GL_EXT_texture_compression_rgtc */ - -#ifndef GL_EXT_texture_compression_rgtc -#define GL_EXT_texture_compression_rgtc 1 -#define __GLEE_GL_EXT_texture_compression_rgtc 1 -/* Constants */ -#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB -#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC -#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD -#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE -#endif - -/* GL_EXT_texture_shared_exponent */ - -#ifndef GL_EXT_texture_shared_exponent -#define GL_EXT_texture_shared_exponent 1 -#define __GLEE_GL_EXT_texture_shared_exponent 1 -/* Constants */ -#define GL_RGB9_E5_EXT 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E -#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F -#endif - -/* GL_NV_depth_buffer_float */ - -#ifndef GL_NV_depth_buffer_float -#define GL_NV_depth_buffer_float 1 -#define __GLEE_GL_NV_depth_buffer_float 1 -/* Constants */ -#define GL_DEPTH_COMPONENT32F_NV 0x8DAB -#define GL_DEPTH32F_STENCIL8_NV 0x8DAC -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD -#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF -#ifndef GLEE_H_DEFINED_glDepthRangedNV -#define GLEE_H_DEFINED_glDepthRangedNV - typedef void (APIENTRYP GLEEPFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); - GLEE_EXTERN GLEEPFNGLDEPTHRANGEDNVPROC GLeeFuncPtr_glDepthRangedNV; - #define glDepthRangedNV GLeeFuncPtr_glDepthRangedNV -#endif -#ifndef GLEE_H_DEFINED_glClearDepthdNV -#define GLEE_H_DEFINED_glClearDepthdNV - typedef void (APIENTRYP GLEEPFNGLCLEARDEPTHDNVPROC) (GLdouble depth); - GLEE_EXTERN GLEEPFNGLCLEARDEPTHDNVPROC GLeeFuncPtr_glClearDepthdNV; - #define glClearDepthdNV GLeeFuncPtr_glClearDepthdNV -#endif -#ifndef GLEE_H_DEFINED_glDepthBoundsdNV -#define GLEE_H_DEFINED_glDepthBoundsdNV - typedef void (APIENTRYP GLEEPFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); - GLEE_EXTERN GLEEPFNGLDEPTHBOUNDSDNVPROC GLeeFuncPtr_glDepthBoundsdNV; - #define glDepthBoundsdNV GLeeFuncPtr_glDepthBoundsdNV -#endif -#endif - -/* GL_NV_framebuffer_multisample_coverage */ - -#ifndef GL_NV_framebuffer_multisample_coverage -#define GL_NV_framebuffer_multisample_coverage 1 -#define __GLEE_GL_NV_framebuffer_multisample_coverage 1 -/* Constants */ -#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB -#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 -#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 -#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 -#ifndef GLEE_H_DEFINED_glRenderbufferStorageMultisampleCoverageNV -#define GLEE_H_DEFINED_glRenderbufferStorageMultisampleCoverageNV - typedef void (APIENTRYP GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glRenderbufferStorageMultisampleCoverageNV; - #define glRenderbufferStorageMultisampleCoverageNV GLeeFuncPtr_glRenderbufferStorageMultisampleCoverageNV -#endif -#endif - -/* GL_EXT_framebuffer_sRGB */ - -#ifndef GL_EXT_framebuffer_sRGB -#define GL_EXT_framebuffer_sRGB 1 -#define __GLEE_GL_EXT_framebuffer_sRGB 1 -/* Constants */ -#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 -#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA -#endif - -/* GL_NV_geometry_shader4 */ - -#ifndef GL_NV_geometry_shader4 -#define GL_NV_geometry_shader4 1 -#define __GLEE_GL_NV_geometry_shader4 1 -/* Constants */ -#endif - -/* GL_NV_parameter_buffer_object */ - -#ifndef GL_NV_parameter_buffer_object -#define GL_NV_parameter_buffer_object 1 -#define __GLEE_GL_NV_parameter_buffer_object 1 -/* Constants */ -#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 -#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 -#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 -#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 -#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 -#ifndef GLEE_H_DEFINED_glProgramBufferParametersfvNV -#define GLEE_H_DEFINED_glProgramBufferParametersfvNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLPROGRAMBUFFERPARAMETERSFVNVPROC GLeeFuncPtr_glProgramBufferParametersfvNV; - #define glProgramBufferParametersfvNV GLeeFuncPtr_glProgramBufferParametersfvNV -#endif -#ifndef GLEE_H_DEFINED_glProgramBufferParametersIivNV -#define GLEE_H_DEFINED_glProgramBufferParametersIivNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint * params); - GLEE_EXTERN GLEEPFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC GLeeFuncPtr_glProgramBufferParametersIivNV; - #define glProgramBufferParametersIivNV GLeeFuncPtr_glProgramBufferParametersIivNV -#endif -#ifndef GLEE_H_DEFINED_glProgramBufferParametersIuivNV -#define GLEE_H_DEFINED_glProgramBufferParametersIuivNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint * params); - GLEE_EXTERN GLEEPFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC GLeeFuncPtr_glProgramBufferParametersIuivNV; - #define glProgramBufferParametersIuivNV GLeeFuncPtr_glProgramBufferParametersIuivNV -#endif -#endif - -/* GL_EXT_draw_buffers2 */ - -#ifndef GL_EXT_draw_buffers2 -#define GL_EXT_draw_buffers2 1 -#define __GLEE_GL_EXT_draw_buffers2 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glColorMaskIndexedEXT -#define GLEE_H_DEFINED_glColorMaskIndexedEXT - typedef void (APIENTRYP GLEEPFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); - GLEE_EXTERN GLEEPFNGLCOLORMASKINDEXEDEXTPROC GLeeFuncPtr_glColorMaskIndexedEXT; - #define glColorMaskIndexedEXT GLeeFuncPtr_glColorMaskIndexedEXT -#endif -#ifndef GLEE_H_DEFINED_glGetBooleanIndexedvEXT -#define GLEE_H_DEFINED_glGetBooleanIndexedvEXT - typedef void (APIENTRYP GLEEPFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean * data); - GLEE_EXTERN GLEEPFNGLGETBOOLEANINDEXEDVEXTPROC GLeeFuncPtr_glGetBooleanIndexedvEXT; - #define glGetBooleanIndexedvEXT GLeeFuncPtr_glGetBooleanIndexedvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetIntegerIndexedvEXT -#define GLEE_H_DEFINED_glGetIntegerIndexedvEXT - typedef void (APIENTRYP GLEEPFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint * data); - GLEE_EXTERN GLEEPFNGLGETINTEGERINDEXEDVEXTPROC GLeeFuncPtr_glGetIntegerIndexedvEXT; - #define glGetIntegerIndexedvEXT GLeeFuncPtr_glGetIntegerIndexedvEXT -#endif -#ifndef GLEE_H_DEFINED_glEnableIndexedEXT -#define GLEE_H_DEFINED_glEnableIndexedEXT - typedef void (APIENTRYP GLEEPFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLENABLEINDEXEDEXTPROC GLeeFuncPtr_glEnableIndexedEXT; - #define glEnableIndexedEXT GLeeFuncPtr_glEnableIndexedEXT -#endif -#ifndef GLEE_H_DEFINED_glDisableIndexedEXT -#define GLEE_H_DEFINED_glDisableIndexedEXT - typedef void (APIENTRYP GLEEPFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLDISABLEINDEXEDEXTPROC GLeeFuncPtr_glDisableIndexedEXT; - #define glDisableIndexedEXT GLeeFuncPtr_glDisableIndexedEXT -#endif -#ifndef GLEE_H_DEFINED_glIsEnabledIndexedEXT -#define GLEE_H_DEFINED_glIsEnabledIndexedEXT - typedef GLboolean (APIENTRYP GLEEPFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); - GLEE_EXTERN GLEEPFNGLISENABLEDINDEXEDEXTPROC GLeeFuncPtr_glIsEnabledIndexedEXT; - #define glIsEnabledIndexedEXT GLeeFuncPtr_glIsEnabledIndexedEXT -#endif -#endif - -/* GL_NV_transform_feedback */ - -#ifndef GL_NV_transform_feedback -#define GL_NV_transform_feedback 1 -#define __GLEE_GL_NV_transform_feedback 1 -/* Constants */ -#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 -#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 -#define GL_TEXTURE_COORD_NV 0x8C79 -#define GL_CLIP_DISTANCE_NV 0x8C7A -#define GL_VERTEX_ID_NV 0x8C7B -#define GL_PRIMITIVE_ID_NV 0x8C7C -#define GL_GENERIC_ATTRIB_NV 0x8C7D -#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 -#define GL_ACTIVE_VARYINGS_NV 0x8C81 -#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 -#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 -#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 -#define GL_PRIMITIVES_GENERATED_NV 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 -#define GL_RASTERIZER_DISCARD_NV 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B -#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C -#define GL_SEPARATE_ATTRIBS_NV 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F -#define GL_LAYER_NV 0x8DAA -#define GL_NEXT_BUFFER_NV -2 -#define GL_SKIP_COMPONENTS4_NV -3 -#define GL_SKIP_COMPONENTS3_NV -4 -#define GL_SKIP_COMPONENTS2_NV -5 -#define GL_SKIP_COMPONENTS1_NV -6 -#ifndef GLEE_H_DEFINED_glBeginTransformFeedbackNV -#define GLEE_H_DEFINED_glBeginTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); - GLEE_EXTERN GLEEPFNGLBEGINTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glBeginTransformFeedbackNV; - #define glBeginTransformFeedbackNV GLeeFuncPtr_glBeginTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glEndTransformFeedbackNV -#define GLEE_H_DEFINED_glEndTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLENDTRANSFORMFEEDBACKNVPROC) (); - GLEE_EXTERN GLEEPFNGLENDTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glEndTransformFeedbackNV; - #define glEndTransformFeedbackNV GLeeFuncPtr_glEndTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glTransformFeedbackAttribsNV -#define GLEE_H_DEFINED_glTransformFeedbackAttribsNV - typedef void (APIENTRYP GLEEPFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint * attribs, GLenum bufferMode); - GLEE_EXTERN GLEEPFNGLTRANSFORMFEEDBACKATTRIBSNVPROC GLeeFuncPtr_glTransformFeedbackAttribsNV; - #define glTransformFeedbackAttribsNV GLeeFuncPtr_glTransformFeedbackAttribsNV -#endif -#ifndef GLEE_H_DEFINED_glBindBufferRangeNV -#define GLEE_H_DEFINED_glBindBufferRangeNV - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLBINDBUFFERRANGENVPROC GLeeFuncPtr_glBindBufferRangeNV; - #define glBindBufferRangeNV GLeeFuncPtr_glBindBufferRangeNV -#endif -#ifndef GLEE_H_DEFINED_glBindBufferOffsetNV -#define GLEE_H_DEFINED_glBindBufferOffsetNV - typedef void (APIENTRYP GLEEPFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); - GLEE_EXTERN GLEEPFNGLBINDBUFFEROFFSETNVPROC GLeeFuncPtr_glBindBufferOffsetNV; - #define glBindBufferOffsetNV GLeeFuncPtr_glBindBufferOffsetNV -#endif -#ifndef GLEE_H_DEFINED_glBindBufferBaseNV -#define GLEE_H_DEFINED_glBindBufferBaseNV - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); - GLEE_EXTERN GLEEPFNGLBINDBUFFERBASENVPROC GLeeFuncPtr_glBindBufferBaseNV; - #define glBindBufferBaseNV GLeeFuncPtr_glBindBufferBaseNV -#endif -#ifndef GLEE_H_DEFINED_glTransformFeedbackVaryingsNV -#define GLEE_H_DEFINED_glTransformFeedbackVaryingsNV - typedef void (APIENTRYP GLEEPFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode); - GLEE_EXTERN GLEEPFNGLTRANSFORMFEEDBACKVARYINGSNVPROC GLeeFuncPtr_glTransformFeedbackVaryingsNV; - #define glTransformFeedbackVaryingsNV GLeeFuncPtr_glTransformFeedbackVaryingsNV -#endif -#ifndef GLEE_H_DEFINED_glActiveVaryingNV -#define GLEE_H_DEFINED_glActiveVaryingNV - typedef void (APIENTRYP GLEEPFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLACTIVEVARYINGNVPROC GLeeFuncPtr_glActiveVaryingNV; - #define glActiveVaryingNV GLeeFuncPtr_glActiveVaryingNV -#endif -#ifndef GLEE_H_DEFINED_glGetVaryingLocationNV -#define GLEE_H_DEFINED_glGetVaryingLocationNV - typedef GLint (APIENTRYP GLEEPFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar * name); - GLEE_EXTERN GLEEPFNGLGETVARYINGLOCATIONNVPROC GLeeFuncPtr_glGetVaryingLocationNV; - #define glGetVaryingLocationNV GLeeFuncPtr_glGetVaryingLocationNV -#endif -#ifndef GLEE_H_DEFINED_glGetActiveVaryingNV -#define GLEE_H_DEFINED_glGetActiveVaryingNV - typedef void (APIENTRYP GLEEPFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETACTIVEVARYINGNVPROC GLeeFuncPtr_glGetActiveVaryingNV; - #define glGetActiveVaryingNV GLeeFuncPtr_glGetActiveVaryingNV -#endif -#ifndef GLEE_H_DEFINED_glGetTransformFeedbackVaryingNV -#define GLEE_H_DEFINED_glGetTransformFeedbackVaryingNV - typedef void (APIENTRYP GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint * location); - GLEE_EXTERN GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC GLeeFuncPtr_glGetTransformFeedbackVaryingNV; - #define glGetTransformFeedbackVaryingNV GLeeFuncPtr_glGetTransformFeedbackVaryingNV -#endif -#ifndef GLEE_H_DEFINED_glTransformFeedbackStreamAttribsNV -#define GLEE_H_DEFINED_glTransformFeedbackStreamAttribsNV - typedef void (APIENTRYP GLEEPFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode); - GLEE_EXTERN GLEEPFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC GLeeFuncPtr_glTransformFeedbackStreamAttribsNV; - #define glTransformFeedbackStreamAttribsNV GLeeFuncPtr_glTransformFeedbackStreamAttribsNV -#endif -#endif - -/* GL_EXT_bindable_uniform */ - -#ifndef GL_EXT_bindable_uniform -#define GL_EXT_bindable_uniform 1 -#define __GLEE_GL_EXT_bindable_uniform 1 -/* Constants */ -#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 -#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 -#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 -#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED -#define GL_UNIFORM_BUFFER_EXT 0x8DEE -#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF -#ifndef GLEE_H_DEFINED_glUniformBufferEXT -#define GLEE_H_DEFINED_glUniformBufferEXT - typedef void (APIENTRYP GLEEPFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); - GLEE_EXTERN GLEEPFNGLUNIFORMBUFFEREXTPROC GLeeFuncPtr_glUniformBufferEXT; - #define glUniformBufferEXT GLeeFuncPtr_glUniformBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glGetUniformBufferSizeEXT -#define GLEE_H_DEFINED_glGetUniformBufferSizeEXT - typedef GLint (APIENTRYP GLEEPFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); - GLEE_EXTERN GLEEPFNGLGETUNIFORMBUFFERSIZEEXTPROC GLeeFuncPtr_glGetUniformBufferSizeEXT; - #define glGetUniformBufferSizeEXT GLeeFuncPtr_glGetUniformBufferSizeEXT -#endif -#ifndef GLEE_H_DEFINED_glGetUniformOffsetEXT -#define GLEE_H_DEFINED_glGetUniformOffsetEXT - typedef GLintptr (APIENTRYP GLEEPFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); - GLEE_EXTERN GLEEPFNGLGETUNIFORMOFFSETEXTPROC GLeeFuncPtr_glGetUniformOffsetEXT; - #define glGetUniformOffsetEXT GLeeFuncPtr_glGetUniformOffsetEXT -#endif -#endif - -/* GL_EXT_texture_integer */ - -#ifndef GL_EXT_texture_integer -#define GL_EXT_texture_integer 1 -#define __GLEE_GL_EXT_texture_integer 1 -/* Constants */ -#define GL_RGBA32UI_EXT 0x8D70 -#define GL_RGB32UI_EXT 0x8D71 -#define GL_ALPHA32UI_EXT 0x8D72 -#define GL_INTENSITY32UI_EXT 0x8D73 -#define GL_LUMINANCE32UI_EXT 0x8D74 -#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 -#define GL_RGBA16UI_EXT 0x8D76 -#define GL_RGB16UI_EXT 0x8D77 -#define GL_ALPHA16UI_EXT 0x8D78 -#define GL_INTENSITY16UI_EXT 0x8D79 -#define GL_LUMINANCE16UI_EXT 0x8D7A -#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B -#define GL_RGBA8UI_EXT 0x8D7C -#define GL_RGB8UI_EXT 0x8D7D -#define GL_ALPHA8UI_EXT 0x8D7E -#define GL_INTENSITY8UI_EXT 0x8D7F -#define GL_LUMINANCE8UI_EXT 0x8D80 -#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 -#define GL_RGBA32I_EXT 0x8D82 -#define GL_RGB32I_EXT 0x8D83 -#define GL_ALPHA32I_EXT 0x8D84 -#define GL_INTENSITY32I_EXT 0x8D85 -#define GL_LUMINANCE32I_EXT 0x8D86 -#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 -#define GL_RGBA16I_EXT 0x8D88 -#define GL_RGB16I_EXT 0x8D89 -#define GL_ALPHA16I_EXT 0x8D8A -#define GL_INTENSITY16I_EXT 0x8D8B -#define GL_LUMINANCE16I_EXT 0x8D8C -#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D -#define GL_RGBA8I_EXT 0x8D8E -#define GL_RGB8I_EXT 0x8D8F -#define GL_ALPHA8I_EXT 0x8D90 -#define GL_INTENSITY8I_EXT 0x8D91 -#define GL_LUMINANCE8I_EXT 0x8D92 -#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 -#define GL_RED_INTEGER_EXT 0x8D94 -#define GL_GREEN_INTEGER_EXT 0x8D95 -#define GL_BLUE_INTEGER_EXT 0x8D96 -#define GL_ALPHA_INTEGER_EXT 0x8D97 -#define GL_RGB_INTEGER_EXT 0x8D98 -#define GL_RGBA_INTEGER_EXT 0x8D99 -#define GL_BGR_INTEGER_EXT 0x8D9A -#define GL_BGRA_INTEGER_EXT 0x8D9B -#define GL_LUMINANCE_INTEGER_EXT 0x8D9C -#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D -#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E -#ifndef GLEE_H_DEFINED_glTexParameterIivEXT -#define GLEE_H_DEFINED_glTexParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERIIVEXTPROC GLeeFuncPtr_glTexParameterIivEXT; - #define glTexParameterIivEXT GLeeFuncPtr_glTexParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glTexParameterIuivEXT -#define GLEE_H_DEFINED_glTexParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint * params); - GLEE_EXTERN GLEEPFNGLTEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glTexParameterIuivEXT; - #define glTexParameterIuivEXT GLeeFuncPtr_glTexParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterIivEXT -#define GLEE_H_DEFINED_glGetTexParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERIIVEXTPROC GLeeFuncPtr_glGetTexParameterIivEXT; - #define glGetTexParameterIivEXT GLeeFuncPtr_glGetTexParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterIuivEXT -#define GLEE_H_DEFINED_glGetTexParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetTexParameterIuivEXT; - #define glGetTexParameterIuivEXT GLeeFuncPtr_glGetTexParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glClearColorIiEXT -#define GLEE_H_DEFINED_glClearColorIiEXT - typedef void (APIENTRYP GLEEPFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); - GLEE_EXTERN GLEEPFNGLCLEARCOLORIIEXTPROC GLeeFuncPtr_glClearColorIiEXT; - #define glClearColorIiEXT GLeeFuncPtr_glClearColorIiEXT -#endif -#ifndef GLEE_H_DEFINED_glClearColorIuiEXT -#define GLEE_H_DEFINED_glClearColorIuiEXT - typedef void (APIENTRYP GLEEPFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); - GLEE_EXTERN GLEEPFNGLCLEARCOLORIUIEXTPROC GLeeFuncPtr_glClearColorIuiEXT; - #define glClearColorIuiEXT GLeeFuncPtr_glClearColorIuiEXT -#endif -#endif - -/* GL_GREMEDY_frame_terminator */ - -#ifndef GL_GREMEDY_frame_terminator -#define GL_GREMEDY_frame_terminator 1 -#define __GLEE_GL_GREMEDY_frame_terminator 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glFrameTerminatorGREMEDY -#define GLEE_H_DEFINED_glFrameTerminatorGREMEDY - typedef void (APIENTRYP GLEEPFNGLFRAMETERMINATORGREMEDYPROC) (); - GLEE_EXTERN GLEEPFNGLFRAMETERMINATORGREMEDYPROC GLeeFuncPtr_glFrameTerminatorGREMEDY; - #define glFrameTerminatorGREMEDY GLeeFuncPtr_glFrameTerminatorGREMEDY -#endif -#endif - -/* GL_NV_conditional_render */ - -#ifndef GL_NV_conditional_render -#define GL_NV_conditional_render 1 -#define __GLEE_GL_NV_conditional_render 1 -/* Constants */ -#define GL_QUERY_WAIT_NV 0x8E13 -#define GL_QUERY_NO_WAIT_NV 0x8E14 -#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 -#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 -#ifndef GLEE_H_DEFINED_glBeginConditionalRenderNV -#define GLEE_H_DEFINED_glBeginConditionalRenderNV - typedef void (APIENTRYP GLEEPFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); - GLEE_EXTERN GLEEPFNGLBEGINCONDITIONALRENDERNVPROC GLeeFuncPtr_glBeginConditionalRenderNV; - #define glBeginConditionalRenderNV GLeeFuncPtr_glBeginConditionalRenderNV -#endif -#ifndef GLEE_H_DEFINED_glEndConditionalRenderNV -#define GLEE_H_DEFINED_glEndConditionalRenderNV - typedef void (APIENTRYP GLEEPFNGLENDCONDITIONALRENDERNVPROC) (); - GLEE_EXTERN GLEEPFNGLENDCONDITIONALRENDERNVPROC GLeeFuncPtr_glEndConditionalRenderNV; - #define glEndConditionalRenderNV GLeeFuncPtr_glEndConditionalRenderNV -#endif -#endif - -/* GL_NV_present_video */ - -#ifndef GL_NV_present_video -#define GL_NV_present_video 1 -#define __GLEE_GL_NV_present_video 1 -/* Constants */ -#define GL_FRAME_NV 0x8E26 -#define GL_FIELDS_NV 0x8E27 -#define GL_CURRENT_TIME_NV 0x8E28 -#define GL_NUM_FILL_STREAMS_NV 0x8E29 -#define GL_PRESENT_TIME_NV 0x8E2A -#define GL_PRESENT_DURATION_NV 0x8E2B -#ifndef GLEE_H_DEFINED_glPresentFrameKeyedNV -#define GLEE_H_DEFINED_glPresentFrameKeyedNV - typedef void (APIENTRYP GLEEPFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); - GLEE_EXTERN GLEEPFNGLPRESENTFRAMEKEYEDNVPROC GLeeFuncPtr_glPresentFrameKeyedNV; - #define glPresentFrameKeyedNV GLeeFuncPtr_glPresentFrameKeyedNV -#endif -#ifndef GLEE_H_DEFINED_glPresentFrameDualFillNV -#define GLEE_H_DEFINED_glPresentFrameDualFillNV - typedef void (APIENTRYP GLEEPFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); - GLEE_EXTERN GLEEPFNGLPRESENTFRAMEDUALFILLNVPROC GLeeFuncPtr_glPresentFrameDualFillNV; - #define glPresentFrameDualFillNV GLeeFuncPtr_glPresentFrameDualFillNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoivNV -#define GLEE_H_DEFINED_glGetVideoivNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOIVNVPROC GLeeFuncPtr_glGetVideoivNV; - #define glGetVideoivNV GLeeFuncPtr_glGetVideoivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideouivNV -#define GLEE_H_DEFINED_glGetVideouivNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOUIVNVPROC GLeeFuncPtr_glGetVideouivNV; - #define glGetVideouivNV GLeeFuncPtr_glGetVideouivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoi64vNV -#define GLEE_H_DEFINED_glGetVideoi64vNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOI64VNVPROC GLeeFuncPtr_glGetVideoi64vNV; - #define glGetVideoi64vNV GLeeFuncPtr_glGetVideoi64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoui64vNV -#define GLEE_H_DEFINED_glGetVideoui64vNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOUI64VNVPROC GLeeFuncPtr_glGetVideoui64vNV; - #define glGetVideoui64vNV GLeeFuncPtr_glGetVideoui64vNV -#endif -#endif - -/* GL_EXT_transform_feedback */ - -#ifndef GL_EXT_transform_feedback -#define GL_EXT_transform_feedback 1 -#define __GLEE_GL_EXT_transform_feedback 1 -/* Constants */ -#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F -#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C -#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D -#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 -#define GL_RASTERIZER_DISCARD_EXT 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 -#ifndef GLEE_H_DEFINED_glBeginTransformFeedbackEXT -#define GLEE_H_DEFINED_glBeginTransformFeedbackEXT - typedef void (APIENTRYP GLEEPFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); - GLEE_EXTERN GLEEPFNGLBEGINTRANSFORMFEEDBACKEXTPROC GLeeFuncPtr_glBeginTransformFeedbackEXT; - #define glBeginTransformFeedbackEXT GLeeFuncPtr_glBeginTransformFeedbackEXT -#endif -#ifndef GLEE_H_DEFINED_glEndTransformFeedbackEXT -#define GLEE_H_DEFINED_glEndTransformFeedbackEXT - typedef void (APIENTRYP GLEEPFNGLENDTRANSFORMFEEDBACKEXTPROC) (); - GLEE_EXTERN GLEEPFNGLENDTRANSFORMFEEDBACKEXTPROC GLeeFuncPtr_glEndTransformFeedbackEXT; - #define glEndTransformFeedbackEXT GLeeFuncPtr_glEndTransformFeedbackEXT -#endif -#ifndef GLEE_H_DEFINED_glBindBufferRangeEXT -#define GLEE_H_DEFINED_glBindBufferRangeEXT - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLBINDBUFFERRANGEEXTPROC GLeeFuncPtr_glBindBufferRangeEXT; - #define glBindBufferRangeEXT GLeeFuncPtr_glBindBufferRangeEXT -#endif -#ifndef GLEE_H_DEFINED_glBindBufferOffsetEXT -#define GLEE_H_DEFINED_glBindBufferOffsetEXT - typedef void (APIENTRYP GLEEPFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); - GLEE_EXTERN GLEEPFNGLBINDBUFFEROFFSETEXTPROC GLeeFuncPtr_glBindBufferOffsetEXT; - #define glBindBufferOffsetEXT GLeeFuncPtr_glBindBufferOffsetEXT -#endif -#ifndef GLEE_H_DEFINED_glBindBufferBaseEXT -#define GLEE_H_DEFINED_glBindBufferBaseEXT - typedef void (APIENTRYP GLEEPFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); - GLEE_EXTERN GLEEPFNGLBINDBUFFERBASEEXTPROC GLeeFuncPtr_glBindBufferBaseEXT; - #define glBindBufferBaseEXT GLeeFuncPtr_glBindBufferBaseEXT -#endif -#ifndef GLEE_H_DEFINED_glTransformFeedbackVaryingsEXT -#define GLEE_H_DEFINED_glTransformFeedbackVaryingsEXT - typedef void (APIENTRYP GLEEPFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* * varyings, GLenum bufferMode); - GLEE_EXTERN GLEEPFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC GLeeFuncPtr_glTransformFeedbackVaryingsEXT; - #define glTransformFeedbackVaryingsEXT GLeeFuncPtr_glTransformFeedbackVaryingsEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTransformFeedbackVaryingEXT -#define GLEE_H_DEFINED_glGetTransformFeedbackVaryingEXT - typedef void (APIENTRYP GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); - GLEE_EXTERN GLEEPFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC GLeeFuncPtr_glGetTransformFeedbackVaryingEXT; - #define glGetTransformFeedbackVaryingEXT GLeeFuncPtr_glGetTransformFeedbackVaryingEXT -#endif -#endif - -/* GL_EXT_direct_state_access */ - -#ifndef GL_EXT_direct_state_access -#define GL_EXT_direct_state_access 1 -#define __GLEE_GL_EXT_direct_state_access 1 -/* Constants */ -#define GL_PROGRAM_MATRIX_EXT 0x8E2D -#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E -#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F -#ifndef GLEE_H_DEFINED_glClientAttribDefaultEXT -#define GLEE_H_DEFINED_glClientAttribDefaultEXT - typedef void (APIENTRYP GLEEPFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); - GLEE_EXTERN GLEEPFNGLCLIENTATTRIBDEFAULTEXTPROC GLeeFuncPtr_glClientAttribDefaultEXT; - #define glClientAttribDefaultEXT GLeeFuncPtr_glClientAttribDefaultEXT -#endif -#ifndef GLEE_H_DEFINED_glPushClientAttribDefaultEXT -#define GLEE_H_DEFINED_glPushClientAttribDefaultEXT - typedef void (APIENTRYP GLEEPFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); - GLEE_EXTERN GLEEPFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC GLeeFuncPtr_glPushClientAttribDefaultEXT; - #define glPushClientAttribDefaultEXT GLeeFuncPtr_glPushClientAttribDefaultEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixLoadfEXT -#define GLEE_H_DEFINED_glMatrixLoadfEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMATRIXLOADFEXTPROC GLeeFuncPtr_glMatrixLoadfEXT; - #define glMatrixLoadfEXT GLeeFuncPtr_glMatrixLoadfEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixLoaddEXT -#define GLEE_H_DEFINED_glMatrixLoaddEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMATRIXLOADDEXTPROC GLeeFuncPtr_glMatrixLoaddEXT; - #define glMatrixLoaddEXT GLeeFuncPtr_glMatrixLoaddEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixMultfEXT -#define GLEE_H_DEFINED_glMatrixMultfEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMATRIXMULTFEXTPROC GLeeFuncPtr_glMatrixMultfEXT; - #define glMatrixMultfEXT GLeeFuncPtr_glMatrixMultfEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixMultdEXT -#define GLEE_H_DEFINED_glMatrixMultdEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMATRIXMULTDEXTPROC GLeeFuncPtr_glMatrixMultdEXT; - #define glMatrixMultdEXT GLeeFuncPtr_glMatrixMultdEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixLoadIdentityEXT -#define GLEE_H_DEFINED_glMatrixLoadIdentityEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLMATRIXLOADIDENTITYEXTPROC GLeeFuncPtr_glMatrixLoadIdentityEXT; - #define glMatrixLoadIdentityEXT GLeeFuncPtr_glMatrixLoadIdentityEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixRotatefEXT -#define GLEE_H_DEFINED_glMatrixRotatefEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLMATRIXROTATEFEXTPROC GLeeFuncPtr_glMatrixRotatefEXT; - #define glMatrixRotatefEXT GLeeFuncPtr_glMatrixRotatefEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixRotatedEXT -#define GLEE_H_DEFINED_glMatrixRotatedEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLMATRIXROTATEDEXTPROC GLeeFuncPtr_glMatrixRotatedEXT; - #define glMatrixRotatedEXT GLeeFuncPtr_glMatrixRotatedEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixScalefEXT -#define GLEE_H_DEFINED_glMatrixScalefEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLMATRIXSCALEFEXTPROC GLeeFuncPtr_glMatrixScalefEXT; - #define glMatrixScalefEXT GLeeFuncPtr_glMatrixScalefEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixScaledEXT -#define GLEE_H_DEFINED_glMatrixScaledEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLMATRIXSCALEDEXTPROC GLeeFuncPtr_glMatrixScaledEXT; - #define glMatrixScaledEXT GLeeFuncPtr_glMatrixScaledEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixTranslatefEXT -#define GLEE_H_DEFINED_glMatrixTranslatefEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); - GLEE_EXTERN GLEEPFNGLMATRIXTRANSLATEFEXTPROC GLeeFuncPtr_glMatrixTranslatefEXT; - #define glMatrixTranslatefEXT GLeeFuncPtr_glMatrixTranslatefEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixTranslatedEXT -#define GLEE_H_DEFINED_glMatrixTranslatedEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLMATRIXTRANSLATEDEXTPROC GLeeFuncPtr_glMatrixTranslatedEXT; - #define glMatrixTranslatedEXT GLeeFuncPtr_glMatrixTranslatedEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixFrustumEXT -#define GLEE_H_DEFINED_glMatrixFrustumEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); - GLEE_EXTERN GLEEPFNGLMATRIXFRUSTUMEXTPROC GLeeFuncPtr_glMatrixFrustumEXT; - #define glMatrixFrustumEXT GLeeFuncPtr_glMatrixFrustumEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixOrthoEXT -#define GLEE_H_DEFINED_glMatrixOrthoEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); - GLEE_EXTERN GLEEPFNGLMATRIXORTHOEXTPROC GLeeFuncPtr_glMatrixOrthoEXT; - #define glMatrixOrthoEXT GLeeFuncPtr_glMatrixOrthoEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixPopEXT -#define GLEE_H_DEFINED_glMatrixPopEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXPOPEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLMATRIXPOPEXTPROC GLeeFuncPtr_glMatrixPopEXT; - #define glMatrixPopEXT GLeeFuncPtr_glMatrixPopEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixPushEXT -#define GLEE_H_DEFINED_glMatrixPushEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXPUSHEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLMATRIXPUSHEXTPROC GLeeFuncPtr_glMatrixPushEXT; - #define glMatrixPushEXT GLeeFuncPtr_glMatrixPushEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixLoadTransposefEXT -#define GLEE_H_DEFINED_glMatrixLoadTransposefEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMATRIXLOADTRANSPOSEFEXTPROC GLeeFuncPtr_glMatrixLoadTransposefEXT; - #define glMatrixLoadTransposefEXT GLeeFuncPtr_glMatrixLoadTransposefEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixLoadTransposedEXT -#define GLEE_H_DEFINED_glMatrixLoadTransposedEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMATRIXLOADTRANSPOSEDEXTPROC GLeeFuncPtr_glMatrixLoadTransposedEXT; - #define glMatrixLoadTransposedEXT GLeeFuncPtr_glMatrixLoadTransposedEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixMultTransposefEXT -#define GLEE_H_DEFINED_glMatrixMultTransposefEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat * m); - GLEE_EXTERN GLEEPFNGLMATRIXMULTTRANSPOSEFEXTPROC GLeeFuncPtr_glMatrixMultTransposefEXT; - #define glMatrixMultTransposefEXT GLeeFuncPtr_glMatrixMultTransposefEXT -#endif -#ifndef GLEE_H_DEFINED_glMatrixMultTransposedEXT -#define GLEE_H_DEFINED_glMatrixMultTransposedEXT - typedef void (APIENTRYP GLEEPFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble * m); - GLEE_EXTERN GLEEPFNGLMATRIXMULTTRANSPOSEDEXTPROC GLeeFuncPtr_glMatrixMultTransposedEXT; - #define glMatrixMultTransposedEXT GLeeFuncPtr_glMatrixMultTransposedEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameterfEXT -#define GLEE_H_DEFINED_glTextureParameterfEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERFEXTPROC GLeeFuncPtr_glTextureParameterfEXT; - #define glTextureParameterfEXT GLeeFuncPtr_glTextureParameterfEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameterfvEXT -#define GLEE_H_DEFINED_glTextureParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERFVEXTPROC GLeeFuncPtr_glTextureParameterfvEXT; - #define glTextureParameterfvEXT GLeeFuncPtr_glTextureParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameteriEXT -#define GLEE_H_DEFINED_glTextureParameteriEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERIEXTPROC GLeeFuncPtr_glTextureParameteriEXT; - #define glTextureParameteriEXT GLeeFuncPtr_glTextureParameteriEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameterivEXT -#define GLEE_H_DEFINED_glTextureParameterivEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERIVEXTPROC GLeeFuncPtr_glTextureParameterivEXT; - #define glTextureParameterivEXT GLeeFuncPtr_glTextureParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureImage1DEXT -#define GLEE_H_DEFINED_glTextureImage1DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glTextureImage1DEXT; - #define glTextureImage1DEXT GLeeFuncPtr_glTextureImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureImage2DEXT -#define GLEE_H_DEFINED_glTextureImage2DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glTextureImage2DEXT; - #define glTextureImage2DEXT GLeeFuncPtr_glTextureImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureSubImage1DEXT -#define GLEE_H_DEFINED_glTextureSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glTextureSubImage1DEXT; - #define glTextureSubImage1DEXT GLeeFuncPtr_glTextureSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureSubImage2DEXT -#define GLEE_H_DEFINED_glTextureSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glTextureSubImage2DEXT; - #define glTextureSubImage2DEXT GLeeFuncPtr_glTextureSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTextureImage1DEXT -#define GLEE_H_DEFINED_glCopyTextureImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glCopyTextureImage1DEXT; - #define glCopyTextureImage1DEXT GLeeFuncPtr_glCopyTextureImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTextureImage2DEXT -#define GLEE_H_DEFINED_glCopyTextureImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glCopyTextureImage2DEXT; - #define glCopyTextureImage2DEXT GLeeFuncPtr_glCopyTextureImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTextureSubImage1DEXT -#define GLEE_H_DEFINED_glCopyTextureSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyTextureSubImage1DEXT; - #define glCopyTextureSubImage1DEXT GLeeFuncPtr_glCopyTextureSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTextureSubImage2DEXT -#define GLEE_H_DEFINED_glCopyTextureSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyTextureSubImage2DEXT; - #define glCopyTextureSubImage2DEXT GLeeFuncPtr_glCopyTextureSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureImageEXT -#define GLEE_H_DEFINED_glGetTextureImageEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLGETTEXTUREIMAGEEXTPROC GLeeFuncPtr_glGetTextureImageEXT; - #define glGetTextureImageEXT GLeeFuncPtr_glGetTextureImageEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureParameterfvEXT -#define GLEE_H_DEFINED_glGetTextureParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETTEXTUREPARAMETERFVEXTPROC GLeeFuncPtr_glGetTextureParameterfvEXT; - #define glGetTextureParameterfvEXT GLeeFuncPtr_glGetTextureParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureParameterivEXT -#define GLEE_H_DEFINED_glGetTextureParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTEXTUREPARAMETERIVEXTPROC GLeeFuncPtr_glGetTextureParameterivEXT; - #define glGetTextureParameterivEXT GLeeFuncPtr_glGetTextureParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureLevelParameterfvEXT -#define GLEE_H_DEFINED_glGetTextureLevelParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETTEXTURELEVELPARAMETERFVEXTPROC GLeeFuncPtr_glGetTextureLevelParameterfvEXT; - #define glGetTextureLevelParameterfvEXT GLeeFuncPtr_glGetTextureLevelParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureLevelParameterivEXT -#define GLEE_H_DEFINED_glGetTextureLevelParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTEXTURELEVELPARAMETERIVEXTPROC GLeeFuncPtr_glGetTextureLevelParameterivEXT; - #define glGetTextureLevelParameterivEXT GLeeFuncPtr_glGetTextureLevelParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureImage3DEXT -#define GLEE_H_DEFINED_glTextureImage3DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE3DEXTPROC GLeeFuncPtr_glTextureImage3DEXT; - #define glTextureImage3DEXT GLeeFuncPtr_glTextureImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureSubImage3DEXT -#define GLEE_H_DEFINED_glTextureSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glTextureSubImage3DEXT; - #define glTextureSubImage3DEXT GLeeFuncPtr_glTextureSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyTextureSubImage3DEXT -#define GLEE_H_DEFINED_glCopyTextureSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyTextureSubImage3DEXT; - #define glCopyTextureSubImage3DEXT GLeeFuncPtr_glCopyTextureSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameterfEXT -#define GLEE_H_DEFINED_glMultiTexParameterfEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERFEXTPROC GLeeFuncPtr_glMultiTexParameterfEXT; - #define glMultiTexParameterfEXT GLeeFuncPtr_glMultiTexParameterfEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameterfvEXT -#define GLEE_H_DEFINED_glMultiTexParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERFVEXTPROC GLeeFuncPtr_glMultiTexParameterfvEXT; - #define glMultiTexParameterfvEXT GLeeFuncPtr_glMultiTexParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameteriEXT -#define GLEE_H_DEFINED_glMultiTexParameteriEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERIEXTPROC GLeeFuncPtr_glMultiTexParameteriEXT; - #define glMultiTexParameteriEXT GLeeFuncPtr_glMultiTexParameteriEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameterivEXT -#define GLEE_H_DEFINED_glMultiTexParameterivEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERIVEXTPROC GLeeFuncPtr_glMultiTexParameterivEXT; - #define glMultiTexParameterivEXT GLeeFuncPtr_glMultiTexParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexImage1DEXT -#define GLEE_H_DEFINED_glMultiTexImage1DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glMultiTexImage1DEXT; - #define glMultiTexImage1DEXT GLeeFuncPtr_glMultiTexImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexImage2DEXT -#define GLEE_H_DEFINED_glMultiTexImage2DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glMultiTexImage2DEXT; - #define glMultiTexImage2DEXT GLeeFuncPtr_glMultiTexImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexSubImage1DEXT -#define GLEE_H_DEFINED_glMultiTexSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glMultiTexSubImage1DEXT; - #define glMultiTexSubImage1DEXT GLeeFuncPtr_glMultiTexSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexSubImage2DEXT -#define GLEE_H_DEFINED_glMultiTexSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glMultiTexSubImage2DEXT; - #define glMultiTexSubImage2DEXT GLeeFuncPtr_glMultiTexSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyMultiTexImage1DEXT -#define GLEE_H_DEFINED_glCopyMultiTexImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glCopyMultiTexImage1DEXT; - #define glCopyMultiTexImage1DEXT GLeeFuncPtr_glCopyMultiTexImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyMultiTexImage2DEXT -#define GLEE_H_DEFINED_glCopyMultiTexImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - GLEE_EXTERN GLEEPFNGLCOPYMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glCopyMultiTexImage2DEXT; - #define glCopyMultiTexImage2DEXT GLeeFuncPtr_glCopyMultiTexImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyMultiTexSubImage1DEXT -#define GLEE_H_DEFINED_glCopyMultiTexSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); - GLEE_EXTERN GLEEPFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage1DEXT; - #define glCopyMultiTexSubImage1DEXT GLeeFuncPtr_glCopyMultiTexSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyMultiTexSubImage2DEXT -#define GLEE_H_DEFINED_glCopyMultiTexSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage2DEXT; - #define glCopyMultiTexSubImage2DEXT GLeeFuncPtr_glCopyMultiTexSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexImageEXT -#define GLEE_H_DEFINED_glGetMultiTexImageEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLGETMULTITEXIMAGEEXTPROC GLeeFuncPtr_glGetMultiTexImageEXT; - #define glGetMultiTexImageEXT GLeeFuncPtr_glGetMultiTexImageEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexParameterfvEXT -#define GLEE_H_DEFINED_glGetMultiTexParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXPARAMETERFVEXTPROC GLeeFuncPtr_glGetMultiTexParameterfvEXT; - #define glGetMultiTexParameterfvEXT GLeeFuncPtr_glGetMultiTexParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexParameterivEXT -#define GLEE_H_DEFINED_glGetMultiTexParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXPARAMETERIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterivEXT; - #define glGetMultiTexParameterivEXT GLeeFuncPtr_glGetMultiTexParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexLevelParameterfvEXT -#define GLEE_H_DEFINED_glGetMultiTexLevelParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC GLeeFuncPtr_glGetMultiTexLevelParameterfvEXT; - #define glGetMultiTexLevelParameterfvEXT GLeeFuncPtr_glGetMultiTexLevelParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexLevelParameterivEXT -#define GLEE_H_DEFINED_glGetMultiTexLevelParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC GLeeFuncPtr_glGetMultiTexLevelParameterivEXT; - #define glGetMultiTexLevelParameterivEXT GLeeFuncPtr_glGetMultiTexLevelParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexImage3DEXT -#define GLEE_H_DEFINED_glMultiTexImage3DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXIMAGE3DEXTPROC GLeeFuncPtr_glMultiTexImage3DEXT; - #define glMultiTexImage3DEXT GLeeFuncPtr_glMultiTexImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexSubImage3DEXT -#define GLEE_H_DEFINED_glMultiTexSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); - GLEE_EXTERN GLEEPFNGLMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glMultiTexSubImage3DEXT; - #define glMultiTexSubImage3DEXT GLeeFuncPtr_glMultiTexSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCopyMultiTexSubImage3DEXT -#define GLEE_H_DEFINED_glCopyMultiTexSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCopyMultiTexSubImage3DEXT; - #define glCopyMultiTexSubImage3DEXT GLeeFuncPtr_glCopyMultiTexSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glBindMultiTextureEXT -#define GLEE_H_DEFINED_glBindMultiTextureEXT - typedef void (APIENTRYP GLEEPFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); - GLEE_EXTERN GLEEPFNGLBINDMULTITEXTUREEXTPROC GLeeFuncPtr_glBindMultiTextureEXT; - #define glBindMultiTextureEXT GLeeFuncPtr_glBindMultiTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glEnableClientStateIndexedEXT -#define GLEE_H_DEFINED_glEnableClientStateIndexedEXT - typedef void (APIENTRYP GLEEPFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); - GLEE_EXTERN GLEEPFNGLENABLECLIENTSTATEINDEXEDEXTPROC GLeeFuncPtr_glEnableClientStateIndexedEXT; - #define glEnableClientStateIndexedEXT GLeeFuncPtr_glEnableClientStateIndexedEXT -#endif -#ifndef GLEE_H_DEFINED_glDisableClientStateIndexedEXT -#define GLEE_H_DEFINED_glDisableClientStateIndexedEXT - typedef void (APIENTRYP GLEEPFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); - GLEE_EXTERN GLEEPFNGLDISABLECLIENTSTATEINDEXEDEXTPROC GLeeFuncPtr_glDisableClientStateIndexedEXT; - #define glDisableClientStateIndexedEXT GLeeFuncPtr_glDisableClientStateIndexedEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexCoordPointerEXT -#define GLEE_H_DEFINED_glMultiTexCoordPointerEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLMULTITEXCOORDPOINTEREXTPROC GLeeFuncPtr_glMultiTexCoordPointerEXT; - #define glMultiTexCoordPointerEXT GLeeFuncPtr_glMultiTexCoordPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexEnvfEXT -#define GLEE_H_DEFINED_glMultiTexEnvfEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLMULTITEXENVFEXTPROC GLeeFuncPtr_glMultiTexEnvfEXT; - #define glMultiTexEnvfEXT GLeeFuncPtr_glMultiTexEnvfEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexEnvfvEXT -#define GLEE_H_DEFINED_glMultiTexEnvfvEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLMULTITEXENVFVEXTPROC GLeeFuncPtr_glMultiTexEnvfvEXT; - #define glMultiTexEnvfvEXT GLeeFuncPtr_glMultiTexEnvfvEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexEnviEXT -#define GLEE_H_DEFINED_glMultiTexEnviEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLMULTITEXENVIEXTPROC GLeeFuncPtr_glMultiTexEnviEXT; - #define glMultiTexEnviEXT GLeeFuncPtr_glMultiTexEnviEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexEnvivEXT -#define GLEE_H_DEFINED_glMultiTexEnvivEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLMULTITEXENVIVEXTPROC GLeeFuncPtr_glMultiTexEnvivEXT; - #define glMultiTexEnvivEXT GLeeFuncPtr_glMultiTexEnvivEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGendEXT -#define GLEE_H_DEFINED_glMultiTexGendEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); - GLEE_EXTERN GLEEPFNGLMULTITEXGENDEXTPROC GLeeFuncPtr_glMultiTexGendEXT; - #define glMultiTexGendEXT GLeeFuncPtr_glMultiTexGendEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGendvEXT -#define GLEE_H_DEFINED_glMultiTexGendvEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params); - GLEE_EXTERN GLEEPFNGLMULTITEXGENDVEXTPROC GLeeFuncPtr_glMultiTexGendvEXT; - #define glMultiTexGendvEXT GLeeFuncPtr_glMultiTexGendvEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGenfEXT -#define GLEE_H_DEFINED_glMultiTexGenfEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); - GLEE_EXTERN GLEEPFNGLMULTITEXGENFEXTPROC GLeeFuncPtr_glMultiTexGenfEXT; - #define glMultiTexGenfEXT GLeeFuncPtr_glMultiTexGenfEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGenfvEXT -#define GLEE_H_DEFINED_glMultiTexGenfvEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLMULTITEXGENFVEXTPROC GLeeFuncPtr_glMultiTexGenfvEXT; - #define glMultiTexGenfvEXT GLeeFuncPtr_glMultiTexGenfvEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGeniEXT -#define GLEE_H_DEFINED_glMultiTexGeniEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); - GLEE_EXTERN GLEEPFNGLMULTITEXGENIEXTPROC GLeeFuncPtr_glMultiTexGeniEXT; - #define glMultiTexGeniEXT GLeeFuncPtr_glMultiTexGeniEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexGenivEXT -#define GLEE_H_DEFINED_glMultiTexGenivEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLMULTITEXGENIVEXTPROC GLeeFuncPtr_glMultiTexGenivEXT; - #define glMultiTexGenivEXT GLeeFuncPtr_glMultiTexGenivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexEnvfvEXT -#define GLEE_H_DEFINED_glGetMultiTexEnvfvEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXENVFVEXTPROC GLeeFuncPtr_glGetMultiTexEnvfvEXT; - #define glGetMultiTexEnvfvEXT GLeeFuncPtr_glGetMultiTexEnvfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexEnvivEXT -#define GLEE_H_DEFINED_glGetMultiTexEnvivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXENVIVEXTPROC GLeeFuncPtr_glGetMultiTexEnvivEXT; - #define glGetMultiTexEnvivEXT GLeeFuncPtr_glGetMultiTexEnvivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexGendvEXT -#define GLEE_H_DEFINED_glGetMultiTexGendvEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXGENDVEXTPROC GLeeFuncPtr_glGetMultiTexGendvEXT; - #define glGetMultiTexGendvEXT GLeeFuncPtr_glGetMultiTexGendvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexGenfvEXT -#define GLEE_H_DEFINED_glGetMultiTexGenfvEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXGENFVEXTPROC GLeeFuncPtr_glGetMultiTexGenfvEXT; - #define glGetMultiTexGenfvEXT GLeeFuncPtr_glGetMultiTexGenfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexGenivEXT -#define GLEE_H_DEFINED_glGetMultiTexGenivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXGENIVEXTPROC GLeeFuncPtr_glGetMultiTexGenivEXT; - #define glGetMultiTexGenivEXT GLeeFuncPtr_glGetMultiTexGenivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetFloatIndexedvEXT -#define GLEE_H_DEFINED_glGetFloatIndexedvEXT - typedef void (APIENTRYP GLEEPFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat * data); - GLEE_EXTERN GLEEPFNGLGETFLOATINDEXEDVEXTPROC GLeeFuncPtr_glGetFloatIndexedvEXT; - #define glGetFloatIndexedvEXT GLeeFuncPtr_glGetFloatIndexedvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetDoubleIndexedvEXT -#define GLEE_H_DEFINED_glGetDoubleIndexedvEXT - typedef void (APIENTRYP GLEEPFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble * data); - GLEE_EXTERN GLEEPFNGLGETDOUBLEINDEXEDVEXTPROC GLeeFuncPtr_glGetDoubleIndexedvEXT; - #define glGetDoubleIndexedvEXT GLeeFuncPtr_glGetDoubleIndexedvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetPointerIndexedvEXT -#define GLEE_H_DEFINED_glGetPointerIndexedvEXT - typedef void (APIENTRYP GLEEPFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* * data); - GLEE_EXTERN GLEEPFNGLGETPOINTERINDEXEDVEXTPROC GLeeFuncPtr_glGetPointerIndexedvEXT; - #define glGetPointerIndexedvEXT GLeeFuncPtr_glGetPointerIndexedvEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureImage3DEXT -#define GLEE_H_DEFINED_glCompressedTextureImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC GLeeFuncPtr_glCompressedTextureImage3DEXT; - #define glCompressedTextureImage3DEXT GLeeFuncPtr_glCompressedTextureImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureImage2DEXT -#define GLEE_H_DEFINED_glCompressedTextureImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC GLeeFuncPtr_glCompressedTextureImage2DEXT; - #define glCompressedTextureImage2DEXT GLeeFuncPtr_glCompressedTextureImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureImage1DEXT -#define GLEE_H_DEFINED_glCompressedTextureImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC GLeeFuncPtr_glCompressedTextureImage1DEXT; - #define glCompressedTextureImage1DEXT GLeeFuncPtr_glCompressedTextureImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureSubImage3DEXT -#define GLEE_H_DEFINED_glCompressedTextureSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage3DEXT; - #define glCompressedTextureSubImage3DEXT GLeeFuncPtr_glCompressedTextureSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureSubImage2DEXT -#define GLEE_H_DEFINED_glCompressedTextureSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage2DEXT; - #define glCompressedTextureSubImage2DEXT GLeeFuncPtr_glCompressedTextureSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedTextureSubImage1DEXT -#define GLEE_H_DEFINED_glCompressedTextureSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC GLeeFuncPtr_glCompressedTextureSubImage1DEXT; - #define glCompressedTextureSubImage1DEXT GLeeFuncPtr_glCompressedTextureSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glGetCompressedTextureImageEXT -#define GLEE_H_DEFINED_glGetCompressedTextureImageEXT - typedef void (APIENTRYP GLEEPFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC GLeeFuncPtr_glGetCompressedTextureImageEXT; - #define glGetCompressedTextureImageEXT GLeeFuncPtr_glGetCompressedTextureImageEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexImage3DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage3DEXT; - #define glCompressedMultiTexImage3DEXT GLeeFuncPtr_glCompressedMultiTexImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexImage2DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage2DEXT; - #define glCompressedMultiTexImage2DEXT GLeeFuncPtr_glCompressedMultiTexImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexImage1DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC GLeeFuncPtr_glCompressedMultiTexImage1DEXT; - #define glCompressedMultiTexImage1DEXT GLeeFuncPtr_glCompressedMultiTexImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexSubImage3DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexSubImage3DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage3DEXT; - #define glCompressedMultiTexSubImage3DEXT GLeeFuncPtr_glCompressedMultiTexSubImage3DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexSubImage2DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexSubImage2DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage2DEXT; - #define glCompressedMultiTexSubImage2DEXT GLeeFuncPtr_glCompressedMultiTexSubImage2DEXT -#endif -#ifndef GLEE_H_DEFINED_glCompressedMultiTexSubImage1DEXT -#define GLEE_H_DEFINED_glCompressedMultiTexSubImage1DEXT - typedef void (APIENTRYP GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * bits); - GLEE_EXTERN GLEEPFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC GLeeFuncPtr_glCompressedMultiTexSubImage1DEXT; - #define glCompressedMultiTexSubImage1DEXT GLeeFuncPtr_glCompressedMultiTexSubImage1DEXT -#endif -#ifndef GLEE_H_DEFINED_glGetCompressedMultiTexImageEXT -#define GLEE_H_DEFINED_glGetCompressedMultiTexImageEXT - typedef void (APIENTRYP GLEEPFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid * img); - GLEE_EXTERN GLEEPFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC GLeeFuncPtr_glGetCompressedMultiTexImageEXT; - #define glGetCompressedMultiTexImageEXT GLeeFuncPtr_glGetCompressedMultiTexImageEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramStringEXT -#define GLEE_H_DEFINED_glNamedProgramStringEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid * string); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMSTRINGEXTPROC GLeeFuncPtr_glNamedProgramStringEXT; - #define glNamedProgramStringEXT GLeeFuncPtr_glNamedProgramStringEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameter4dEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameter4dEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4dEXT; - #define glNamedProgramLocalParameter4dEXT GLeeFuncPtr_glNamedProgramLocalParameter4dEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameter4dvEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameter4dvEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4dvEXT; - #define glNamedProgramLocalParameter4dvEXT GLeeFuncPtr_glNamedProgramLocalParameter4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameter4fEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameter4fEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4fEXT; - #define glNamedProgramLocalParameter4fEXT GLeeFuncPtr_glNamedProgramLocalParameter4fEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameter4fvEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameter4fvEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameter4fvEXT; - #define glNamedProgramLocalParameter4fvEXT GLeeFuncPtr_glNamedProgramLocalParameter4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramLocalParameterdvEXT -#define GLEE_H_DEFINED_glGetNamedProgramLocalParameterdvEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterdvEXT; - #define glGetNamedProgramLocalParameterdvEXT GLeeFuncPtr_glGetNamedProgramLocalParameterdvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramLocalParameterfvEXT -#define GLEE_H_DEFINED_glGetNamedProgramLocalParameterfvEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterfvEXT; - #define glGetNamedProgramLocalParameterfvEXT GLeeFuncPtr_glGetNamedProgramLocalParameterfvEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramivEXT -#define GLEE_H_DEFINED_glGetNamedProgramivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMIVEXTPROC GLeeFuncPtr_glGetNamedProgramivEXT; - #define glGetNamedProgramivEXT GLeeFuncPtr_glGetNamedProgramivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramStringEXT -#define GLEE_H_DEFINED_glGetNamedProgramStringEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid * string); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMSTRINGEXTPROC GLeeFuncPtr_glGetNamedProgramStringEXT; - #define glGetNamedProgramStringEXT GLeeFuncPtr_glGetNamedProgramStringEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameters4fvEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameters4fvEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameters4fvEXT; - #define glNamedProgramLocalParameters4fvEXT GLeeFuncPtr_glNamedProgramLocalParameters4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameterI4iEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameterI4iEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4iEXT; - #define glNamedProgramLocalParameterI4iEXT GLeeFuncPtr_glNamedProgramLocalParameterI4iEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameterI4ivEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameterI4ivEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4ivEXT; - #define glNamedProgramLocalParameterI4ivEXT GLeeFuncPtr_glNamedProgramLocalParameterI4ivEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParametersI4ivEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParametersI4ivEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC GLeeFuncPtr_glNamedProgramLocalParametersI4ivEXT; - #define glNamedProgramLocalParametersI4ivEXT GLeeFuncPtr_glNamedProgramLocalParametersI4ivEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameterI4uiEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameterI4uiEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4uiEXT; - #define glNamedProgramLocalParameterI4uiEXT GLeeFuncPtr_glNamedProgramLocalParameterI4uiEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParameterI4uivEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParameterI4uivEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC GLeeFuncPtr_glNamedProgramLocalParameterI4uivEXT; - #define glNamedProgramLocalParameterI4uivEXT GLeeFuncPtr_glNamedProgramLocalParameterI4uivEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedProgramLocalParametersI4uivEXT -#define GLEE_H_DEFINED_glNamedProgramLocalParametersI4uivEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params); - GLEE_EXTERN GLEEPFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC GLeeFuncPtr_glNamedProgramLocalParametersI4uivEXT; - #define glNamedProgramLocalParametersI4uivEXT GLeeFuncPtr_glNamedProgramLocalParametersI4uivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramLocalParameterIivEXT -#define GLEE_H_DEFINED_glGetNamedProgramLocalParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterIivEXT; - #define glGetNamedProgramLocalParameterIivEXT GLeeFuncPtr_glGetNamedProgramLocalParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedProgramLocalParameterIuivEXT -#define GLEE_H_DEFINED_glGetNamedProgramLocalParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetNamedProgramLocalParameterIuivEXT; - #define glGetNamedProgramLocalParameterIuivEXT GLeeFuncPtr_glGetNamedProgramLocalParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameterIivEXT -#define GLEE_H_DEFINED_glTextureParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERIIVEXTPROC GLeeFuncPtr_glTextureParameterIivEXT; - #define glTextureParameterIivEXT GLeeFuncPtr_glTextureParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureParameterIuivEXT -#define GLEE_H_DEFINED_glTextureParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint * params); - GLEE_EXTERN GLEEPFNGLTEXTUREPARAMETERIUIVEXTPROC GLeeFuncPtr_glTextureParameterIuivEXT; - #define glTextureParameterIuivEXT GLeeFuncPtr_glTextureParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureParameterIivEXT -#define GLEE_H_DEFINED_glGetTextureParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETTEXTUREPARAMETERIIVEXTPROC GLeeFuncPtr_glGetTextureParameterIivEXT; - #define glGetTextureParameterIivEXT GLeeFuncPtr_glGetTextureParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetTextureParameterIuivEXT -#define GLEE_H_DEFINED_glGetTextureParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETTEXTUREPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetTextureParameterIuivEXT; - #define glGetTextureParameterIuivEXT GLeeFuncPtr_glGetTextureParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameterIivEXT -#define GLEE_H_DEFINED_glMultiTexParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERIIVEXTPROC GLeeFuncPtr_glMultiTexParameterIivEXT; - #define glMultiTexParameterIivEXT GLeeFuncPtr_glMultiTexParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexParameterIuivEXT -#define GLEE_H_DEFINED_glMultiTexParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint * params); - GLEE_EXTERN GLEEPFNGLMULTITEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glMultiTexParameterIuivEXT; - #define glMultiTexParameterIuivEXT GLeeFuncPtr_glMultiTexParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexParameterIivEXT -#define GLEE_H_DEFINED_glGetMultiTexParameterIivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXPARAMETERIIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterIivEXT; - #define glGetMultiTexParameterIivEXT GLeeFuncPtr_glGetMultiTexParameterIivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetMultiTexParameterIuivEXT -#define GLEE_H_DEFINED_glGetMultiTexParameterIuivEXT - typedef void (APIENTRYP GLEEPFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint * params); - GLEE_EXTERN GLEEPFNGLGETMULTITEXPARAMETERIUIVEXTPROC GLeeFuncPtr_glGetMultiTexParameterIuivEXT; - #define glGetMultiTexParameterIuivEXT GLeeFuncPtr_glGetMultiTexParameterIuivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1fEXT -#define GLEE_H_DEFINED_glProgramUniform1fEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1FEXTPROC GLeeFuncPtr_glProgramUniform1fEXT; - #define glProgramUniform1fEXT GLeeFuncPtr_glProgramUniform1fEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2fEXT -#define GLEE_H_DEFINED_glProgramUniform2fEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2FEXTPROC GLeeFuncPtr_glProgramUniform2fEXT; - #define glProgramUniform2fEXT GLeeFuncPtr_glProgramUniform2fEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3fEXT -#define GLEE_H_DEFINED_glProgramUniform3fEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3FEXTPROC GLeeFuncPtr_glProgramUniform3fEXT; - #define glProgramUniform3fEXT GLeeFuncPtr_glProgramUniform3fEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4fEXT -#define GLEE_H_DEFINED_glProgramUniform4fEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4FEXTPROC GLeeFuncPtr_glProgramUniform4fEXT; - #define glProgramUniform4fEXT GLeeFuncPtr_glProgramUniform4fEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1iEXT -#define GLEE_H_DEFINED_glProgramUniform1iEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1IEXTPROC GLeeFuncPtr_glProgramUniform1iEXT; - #define glProgramUniform1iEXT GLeeFuncPtr_glProgramUniform1iEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2iEXT -#define GLEE_H_DEFINED_glProgramUniform2iEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2IEXTPROC GLeeFuncPtr_glProgramUniform2iEXT; - #define glProgramUniform2iEXT GLeeFuncPtr_glProgramUniform2iEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3iEXT -#define GLEE_H_DEFINED_glProgramUniform3iEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3IEXTPROC GLeeFuncPtr_glProgramUniform3iEXT; - #define glProgramUniform3iEXT GLeeFuncPtr_glProgramUniform3iEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4iEXT -#define GLEE_H_DEFINED_glProgramUniform4iEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4IEXTPROC GLeeFuncPtr_glProgramUniform4iEXT; - #define glProgramUniform4iEXT GLeeFuncPtr_glProgramUniform4iEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1fvEXT -#define GLEE_H_DEFINED_glProgramUniform1fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1FVEXTPROC GLeeFuncPtr_glProgramUniform1fvEXT; - #define glProgramUniform1fvEXT GLeeFuncPtr_glProgramUniform1fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2fvEXT -#define GLEE_H_DEFINED_glProgramUniform2fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2FVEXTPROC GLeeFuncPtr_glProgramUniform2fvEXT; - #define glProgramUniform2fvEXT GLeeFuncPtr_glProgramUniform2fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3fvEXT -#define GLEE_H_DEFINED_glProgramUniform3fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3FVEXTPROC GLeeFuncPtr_glProgramUniform3fvEXT; - #define glProgramUniform3fvEXT GLeeFuncPtr_glProgramUniform3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4fvEXT -#define GLEE_H_DEFINED_glProgramUniform4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4FVEXTPROC GLeeFuncPtr_glProgramUniform4fvEXT; - #define glProgramUniform4fvEXT GLeeFuncPtr_glProgramUniform4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1ivEXT -#define GLEE_H_DEFINED_glProgramUniform1ivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1IVEXTPROC GLeeFuncPtr_glProgramUniform1ivEXT; - #define glProgramUniform1ivEXT GLeeFuncPtr_glProgramUniform1ivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2ivEXT -#define GLEE_H_DEFINED_glProgramUniform2ivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2IVEXTPROC GLeeFuncPtr_glProgramUniform2ivEXT; - #define glProgramUniform2ivEXT GLeeFuncPtr_glProgramUniform2ivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3ivEXT -#define GLEE_H_DEFINED_glProgramUniform3ivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3IVEXTPROC GLeeFuncPtr_glProgramUniform3ivEXT; - #define glProgramUniform3ivEXT GLeeFuncPtr_glProgramUniform3ivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4ivEXT -#define GLEE_H_DEFINED_glProgramUniform4ivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4IVEXTPROC GLeeFuncPtr_glProgramUniform4ivEXT; - #define glProgramUniform4ivEXT GLeeFuncPtr_glProgramUniform4ivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2fvEXT; - #define glProgramUniformMatrix2fvEXT GLeeFuncPtr_glProgramUniformMatrix2fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3fvEXT; - #define glProgramUniformMatrix3fvEXT GLeeFuncPtr_glProgramUniformMatrix3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4fvEXT; - #define glProgramUniformMatrix4fvEXT GLeeFuncPtr_glProgramUniformMatrix4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x3fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2x3fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x3fvEXT; - #define glProgramUniformMatrix2x3fvEXT GLeeFuncPtr_glProgramUniformMatrix2x3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x2fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3x2fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x2fvEXT; - #define glProgramUniformMatrix3x2fvEXT GLeeFuncPtr_glProgramUniformMatrix3x2fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x4fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2x4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x4fvEXT; - #define glProgramUniformMatrix2x4fvEXT GLeeFuncPtr_glProgramUniformMatrix2x4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x2fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4x2fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x2fvEXT; - #define glProgramUniformMatrix4x2fvEXT GLeeFuncPtr_glProgramUniformMatrix4x2fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x4fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3x4fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x4fvEXT; - #define glProgramUniformMatrix3x4fvEXT GLeeFuncPtr_glProgramUniformMatrix3x4fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x3fvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4x3fvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x3fvEXT; - #define glProgramUniformMatrix4x3fvEXT GLeeFuncPtr_glProgramUniformMatrix4x3fvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1uiEXT -#define GLEE_H_DEFINED_glProgramUniform1uiEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UIEXTPROC GLeeFuncPtr_glProgramUniform1uiEXT; - #define glProgramUniform1uiEXT GLeeFuncPtr_glProgramUniform1uiEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2uiEXT -#define GLEE_H_DEFINED_glProgramUniform2uiEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UIEXTPROC GLeeFuncPtr_glProgramUniform2uiEXT; - #define glProgramUniform2uiEXT GLeeFuncPtr_glProgramUniform2uiEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3uiEXT -#define GLEE_H_DEFINED_glProgramUniform3uiEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UIEXTPROC GLeeFuncPtr_glProgramUniform3uiEXT; - #define glProgramUniform3uiEXT GLeeFuncPtr_glProgramUniform3uiEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4uiEXT -#define GLEE_H_DEFINED_glProgramUniform4uiEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UIEXTPROC GLeeFuncPtr_glProgramUniform4uiEXT; - #define glProgramUniform4uiEXT GLeeFuncPtr_glProgramUniform4uiEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1uivEXT -#define GLEE_H_DEFINED_glProgramUniform1uivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UIVEXTPROC GLeeFuncPtr_glProgramUniform1uivEXT; - #define glProgramUniform1uivEXT GLeeFuncPtr_glProgramUniform1uivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2uivEXT -#define GLEE_H_DEFINED_glProgramUniform2uivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UIVEXTPROC GLeeFuncPtr_glProgramUniform2uivEXT; - #define glProgramUniform2uivEXT GLeeFuncPtr_glProgramUniform2uivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3uivEXT -#define GLEE_H_DEFINED_glProgramUniform3uivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UIVEXTPROC GLeeFuncPtr_glProgramUniform3uivEXT; - #define glProgramUniform3uivEXT GLeeFuncPtr_glProgramUniform3uivEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4uivEXT -#define GLEE_H_DEFINED_glProgramUniform4uivEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UIVEXTPROC GLeeFuncPtr_glProgramUniform4uivEXT; - #define glProgramUniform4uivEXT GLeeFuncPtr_glProgramUniform4uivEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedBufferDataEXT -#define GLEE_H_DEFINED_glNamedBufferDataEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid * data, GLenum usage); - GLEE_EXTERN GLEEPFNGLNAMEDBUFFERDATAEXTPROC GLeeFuncPtr_glNamedBufferDataEXT; - #define glNamedBufferDataEXT GLeeFuncPtr_glNamedBufferDataEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedBufferSubDataEXT -#define GLEE_H_DEFINED_glNamedBufferSubDataEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid * data); - GLEE_EXTERN GLEEPFNGLNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glNamedBufferSubDataEXT; - #define glNamedBufferSubDataEXT GLeeFuncPtr_glNamedBufferSubDataEXT -#endif -#ifndef GLEE_H_DEFINED_glMapNamedBufferEXT -#define GLEE_H_DEFINED_glMapNamedBufferEXT - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); - GLEE_EXTERN GLEEPFNGLMAPNAMEDBUFFEREXTPROC GLeeFuncPtr_glMapNamedBufferEXT; - #define glMapNamedBufferEXT GLeeFuncPtr_glMapNamedBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glUnmapNamedBufferEXT -#define GLEE_H_DEFINED_glUnmapNamedBufferEXT - typedef GLboolean (APIENTRYP GLEEPFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLUNMAPNAMEDBUFFEREXTPROC GLeeFuncPtr_glUnmapNamedBufferEXT; - #define glUnmapNamedBufferEXT GLeeFuncPtr_glUnmapNamedBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glMapNamedBufferRangeEXT -#define GLEE_H_DEFINED_glMapNamedBufferRangeEXT - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); - GLEE_EXTERN GLEEPFNGLMAPNAMEDBUFFERRANGEEXTPROC GLeeFuncPtr_glMapNamedBufferRangeEXT; - #define glMapNamedBufferRangeEXT GLeeFuncPtr_glMapNamedBufferRangeEXT -#endif -#ifndef GLEE_H_DEFINED_glFlushMappedNamedBufferRangeEXT -#define GLEE_H_DEFINED_glFlushMappedNamedBufferRangeEXT - typedef void (APIENTRYP GLEEPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); - GLEE_EXTERN GLEEPFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC GLeeFuncPtr_glFlushMappedNamedBufferRangeEXT; - #define glFlushMappedNamedBufferRangeEXT GLeeFuncPtr_glFlushMappedNamedBufferRangeEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedCopyBufferSubDataEXT -#define GLEE_H_DEFINED_glNamedCopyBufferSubDataEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - GLEE_EXTERN GLEEPFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC GLeeFuncPtr_glNamedCopyBufferSubDataEXT; - #define glNamedCopyBufferSubDataEXT GLeeFuncPtr_glNamedCopyBufferSubDataEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedBufferParameterivEXT -#define GLEE_H_DEFINED_glGetNamedBufferParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedBufferParameterivEXT; - #define glGetNamedBufferParameterivEXT GLeeFuncPtr_glGetNamedBufferParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedBufferPointervEXT -#define GLEE_H_DEFINED_glGetNamedBufferPointervEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDBUFFERPOINTERVEXTPROC GLeeFuncPtr_glGetNamedBufferPointervEXT; - #define glGetNamedBufferPointervEXT GLeeFuncPtr_glGetNamedBufferPointervEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedBufferSubDataEXT -#define GLEE_H_DEFINED_glGetNamedBufferSubDataEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid * data); - GLEE_EXTERN GLEEPFNGLGETNAMEDBUFFERSUBDATAEXTPROC GLeeFuncPtr_glGetNamedBufferSubDataEXT; - #define glGetNamedBufferSubDataEXT GLeeFuncPtr_glGetNamedBufferSubDataEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureBufferEXT -#define GLEE_H_DEFINED_glTextureBufferEXT - typedef void (APIENTRYP GLEEPFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); - GLEE_EXTERN GLEEPFNGLTEXTUREBUFFEREXTPROC GLeeFuncPtr_glTextureBufferEXT; - #define glTextureBufferEXT GLeeFuncPtr_glTextureBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexBufferEXT -#define GLEE_H_DEFINED_glMultiTexBufferEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); - GLEE_EXTERN GLEEPFNGLMULTITEXBUFFEREXTPROC GLeeFuncPtr_glMultiTexBufferEXT; - #define glMultiTexBufferEXT GLeeFuncPtr_glMultiTexBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedRenderbufferStorageEXT -#define GLEE_H_DEFINED_glNamedRenderbufferStorageEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageEXT; - #define glNamedRenderbufferStorageEXT GLeeFuncPtr_glNamedRenderbufferStorageEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedRenderbufferParameterivEXT -#define GLEE_H_DEFINED_glGetNamedRenderbufferParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedRenderbufferParameterivEXT; - #define glGetNamedRenderbufferParameterivEXT GLeeFuncPtr_glGetNamedRenderbufferParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glCheckNamedFramebufferStatusEXT -#define GLEE_H_DEFINED_glCheckNamedFramebufferStatusEXT - typedef GLenum (APIENTRYP GLEEPFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); - GLEE_EXTERN GLEEPFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC GLeeFuncPtr_glCheckNamedFramebufferStatusEXT; - #define glCheckNamedFramebufferStatusEXT GLeeFuncPtr_glCheckNamedFramebufferStatusEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTexture1DEXT -#define GLEE_H_DEFINED_glNamedFramebufferTexture1DEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture1DEXT; - #define glNamedFramebufferTexture1DEXT GLeeFuncPtr_glNamedFramebufferTexture1DEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTexture2DEXT -#define GLEE_H_DEFINED_glNamedFramebufferTexture2DEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture2DEXT; - #define glNamedFramebufferTexture2DEXT GLeeFuncPtr_glNamedFramebufferTexture2DEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTexture3DEXT -#define GLEE_H_DEFINED_glNamedFramebufferTexture3DEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC GLeeFuncPtr_glNamedFramebufferTexture3DEXT; - #define glNamedFramebufferTexture3DEXT GLeeFuncPtr_glNamedFramebufferTexture3DEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferRenderbufferEXT -#define GLEE_H_DEFINED_glNamedFramebufferRenderbufferEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC GLeeFuncPtr_glNamedFramebufferRenderbufferEXT; - #define glNamedFramebufferRenderbufferEXT GLeeFuncPtr_glNamedFramebufferRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glGetNamedFramebufferAttachmentParameterivEXT -#define GLEE_H_DEFINED_glGetNamedFramebufferAttachmentParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLeeFuncPtr_glGetNamedFramebufferAttachmentParameterivEXT; - #define glGetNamedFramebufferAttachmentParameterivEXT GLeeFuncPtr_glGetNamedFramebufferAttachmentParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glGenerateTextureMipmapEXT -#define GLEE_H_DEFINED_glGenerateTextureMipmapEXT - typedef void (APIENTRYP GLEEPFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); - GLEE_EXTERN GLEEPFNGLGENERATETEXTUREMIPMAPEXTPROC GLeeFuncPtr_glGenerateTextureMipmapEXT; - #define glGenerateTextureMipmapEXT GLeeFuncPtr_glGenerateTextureMipmapEXT -#endif -#ifndef GLEE_H_DEFINED_glGenerateMultiTexMipmapEXT -#define GLEE_H_DEFINED_glGenerateMultiTexMipmapEXT - typedef void (APIENTRYP GLEEPFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); - GLEE_EXTERN GLEEPFNGLGENERATEMULTITEXMIPMAPEXTPROC GLeeFuncPtr_glGenerateMultiTexMipmapEXT; - #define glGenerateMultiTexMipmapEXT GLeeFuncPtr_glGenerateMultiTexMipmapEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferDrawBufferEXT -#define GLEE_H_DEFINED_glFramebufferDrawBufferEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERDRAWBUFFEREXTPROC GLeeFuncPtr_glFramebufferDrawBufferEXT; - #define glFramebufferDrawBufferEXT GLeeFuncPtr_glFramebufferDrawBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferDrawBuffersEXT -#define GLEE_H_DEFINED_glFramebufferDrawBuffersEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum * bufs); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC GLeeFuncPtr_glFramebufferDrawBuffersEXT; - #define glFramebufferDrawBuffersEXT GLeeFuncPtr_glFramebufferDrawBuffersEXT -#endif -#ifndef GLEE_H_DEFINED_glFramebufferReadBufferEXT -#define GLEE_H_DEFINED_glFramebufferReadBufferEXT - typedef void (APIENTRYP GLEEPFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); - GLEE_EXTERN GLEEPFNGLFRAMEBUFFERREADBUFFEREXTPROC GLeeFuncPtr_glFramebufferReadBufferEXT; - #define glFramebufferReadBufferEXT GLeeFuncPtr_glFramebufferReadBufferEXT -#endif -#ifndef GLEE_H_DEFINED_glGetFramebufferParameterivEXT -#define GLEE_H_DEFINED_glGetFramebufferParameterivEXT - typedef void (APIENTRYP GLEEPFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC GLeeFuncPtr_glGetFramebufferParameterivEXT; - #define glGetFramebufferParameterivEXT GLeeFuncPtr_glGetFramebufferParameterivEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedRenderbufferStorageMultisampleEXT -#define GLEE_H_DEFINED_glNamedRenderbufferStorageMultisampleEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageMultisampleEXT; - #define glNamedRenderbufferStorageMultisampleEXT GLeeFuncPtr_glNamedRenderbufferStorageMultisampleEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedRenderbufferStorageMultisampleCoverageEXT -#define GLEE_H_DEFINED_glNamedRenderbufferStorageMultisampleCoverageEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); - GLEE_EXTERN GLEEPFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC GLeeFuncPtr_glNamedRenderbufferStorageMultisampleCoverageEXT; - #define glNamedRenderbufferStorageMultisampleCoverageEXT GLeeFuncPtr_glNamedRenderbufferStorageMultisampleCoverageEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTextureEXT -#define GLEE_H_DEFINED_glNamedFramebufferTextureEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC GLeeFuncPtr_glNamedFramebufferTextureEXT; - #define glNamedFramebufferTextureEXT GLeeFuncPtr_glNamedFramebufferTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTextureLayerEXT -#define GLEE_H_DEFINED_glNamedFramebufferTextureLayerEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC GLeeFuncPtr_glNamedFramebufferTextureLayerEXT; - #define glNamedFramebufferTextureLayerEXT GLeeFuncPtr_glNamedFramebufferTextureLayerEXT -#endif -#ifndef GLEE_H_DEFINED_glNamedFramebufferTextureFaceEXT -#define GLEE_H_DEFINED_glNamedFramebufferTextureFaceEXT - typedef void (APIENTRYP GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); - GLEE_EXTERN GLEEPFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC GLeeFuncPtr_glNamedFramebufferTextureFaceEXT; - #define glNamedFramebufferTextureFaceEXT GLeeFuncPtr_glNamedFramebufferTextureFaceEXT -#endif -#ifndef GLEE_H_DEFINED_glTextureRenderbufferEXT -#define GLEE_H_DEFINED_glTextureRenderbufferEXT - typedef void (APIENTRYP GLEEPFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLTEXTURERENDERBUFFEREXTPROC GLeeFuncPtr_glTextureRenderbufferEXT; - #define glTextureRenderbufferEXT GLeeFuncPtr_glTextureRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glMultiTexRenderbufferEXT -#define GLEE_H_DEFINED_glMultiTexRenderbufferEXT - typedef void (APIENTRYP GLEEPFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLMULTITEXRENDERBUFFEREXTPROC GLeeFuncPtr_glMultiTexRenderbufferEXT; - #define glMultiTexRenderbufferEXT GLeeFuncPtr_glMultiTexRenderbufferEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1dEXT -#define GLEE_H_DEFINED_glProgramUniform1dEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1DEXTPROC GLeeFuncPtr_glProgramUniform1dEXT; - #define glProgramUniform1dEXT GLeeFuncPtr_glProgramUniform1dEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2dEXT -#define GLEE_H_DEFINED_glProgramUniform2dEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2DEXTPROC GLeeFuncPtr_glProgramUniform2dEXT; - #define glProgramUniform2dEXT GLeeFuncPtr_glProgramUniform2dEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3dEXT -#define GLEE_H_DEFINED_glProgramUniform3dEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3DEXTPROC GLeeFuncPtr_glProgramUniform3dEXT; - #define glProgramUniform3dEXT GLeeFuncPtr_glProgramUniform3dEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4dEXT -#define GLEE_H_DEFINED_glProgramUniform4dEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4DEXTPROC GLeeFuncPtr_glProgramUniform4dEXT; - #define glProgramUniform4dEXT GLeeFuncPtr_glProgramUniform4dEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1dvEXT -#define GLEE_H_DEFINED_glProgramUniform1dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1DVEXTPROC GLeeFuncPtr_glProgramUniform1dvEXT; - #define glProgramUniform1dvEXT GLeeFuncPtr_glProgramUniform1dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2dvEXT -#define GLEE_H_DEFINED_glProgramUniform2dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2DVEXTPROC GLeeFuncPtr_glProgramUniform2dvEXT; - #define glProgramUniform2dvEXT GLeeFuncPtr_glProgramUniform2dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3dvEXT -#define GLEE_H_DEFINED_glProgramUniform3dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3DVEXTPROC GLeeFuncPtr_glProgramUniform3dvEXT; - #define glProgramUniform3dvEXT GLeeFuncPtr_glProgramUniform3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4dvEXT -#define GLEE_H_DEFINED_glProgramUniform4dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4DVEXTPROC GLeeFuncPtr_glProgramUniform4dvEXT; - #define glProgramUniform4dvEXT GLeeFuncPtr_glProgramUniform4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2dvEXT; - #define glProgramUniformMatrix2dvEXT GLeeFuncPtr_glProgramUniformMatrix2dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3dvEXT; - #define glProgramUniformMatrix3dvEXT GLeeFuncPtr_glProgramUniformMatrix3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4dvEXT; - #define glProgramUniformMatrix4dvEXT GLeeFuncPtr_glProgramUniformMatrix4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x3dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2x3dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x3dvEXT; - #define glProgramUniformMatrix2x3dvEXT GLeeFuncPtr_glProgramUniformMatrix2x3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix2x4dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix2x4dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix2x4dvEXT; - #define glProgramUniformMatrix2x4dvEXT GLeeFuncPtr_glProgramUniformMatrix2x4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x2dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3x2dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x2dvEXT; - #define glProgramUniformMatrix3x2dvEXT GLeeFuncPtr_glProgramUniformMatrix3x2dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix3x4dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix3x4dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix3x4dvEXT; - #define glProgramUniformMatrix3x4dvEXT GLeeFuncPtr_glProgramUniformMatrix3x4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x2dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4x2dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x2dvEXT; - #define glProgramUniformMatrix4x2dvEXT GLeeFuncPtr_glProgramUniformMatrix4x2dvEXT -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformMatrix4x3dvEXT -#define GLEE_H_DEFINED_glProgramUniformMatrix4x3dvEXT - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC GLeeFuncPtr_glProgramUniformMatrix4x3dvEXT; - #define glProgramUniformMatrix4x3dvEXT GLeeFuncPtr_glProgramUniformMatrix4x3dvEXT -#endif -#endif - -/* GL_EXT_vertex_array_bgra */ - -#ifndef GL_EXT_vertex_array_bgra -#define GL_EXT_vertex_array_bgra 1 -#define __GLEE_GL_EXT_vertex_array_bgra 1 -/* Constants */ -#endif - -/* GL_EXT_texture_swizzle */ - -#ifndef GL_EXT_texture_swizzle -#define GL_EXT_texture_swizzle 1 -#define __GLEE_GL_EXT_texture_swizzle 1 -/* Constants */ -#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 -#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 -#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 -#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 -#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 -#endif - -/* GL_NV_explicit_multisample */ - -#ifndef GL_NV_explicit_multisample -#define GL_NV_explicit_multisample 1 -#define __GLEE_GL_NV_explicit_multisample 1 -/* Constants */ -#define GL_SAMPLE_POSITION_NV 0x8E50 -#define GL_SAMPLE_MASK_NV 0x8E51 -#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 -#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 -#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 -#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 -#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 -#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 -#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 -#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 -#ifndef GLEE_H_DEFINED_glGetMultisamplefvNV -#define GLEE_H_DEFINED_glGetMultisamplefvNV - typedef void (APIENTRYP GLEEPFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat * val); - GLEE_EXTERN GLEEPFNGLGETMULTISAMPLEFVNVPROC GLeeFuncPtr_glGetMultisamplefvNV; - #define glGetMultisamplefvNV GLeeFuncPtr_glGetMultisamplefvNV -#endif -#ifndef GLEE_H_DEFINED_glSampleMaskIndexedNV -#define GLEE_H_DEFINED_glSampleMaskIndexedNV - typedef void (APIENTRYP GLEEPFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); - GLEE_EXTERN GLEEPFNGLSAMPLEMASKINDEXEDNVPROC GLeeFuncPtr_glSampleMaskIndexedNV; - #define glSampleMaskIndexedNV GLeeFuncPtr_glSampleMaskIndexedNV -#endif -#ifndef GLEE_H_DEFINED_glTexRenderbufferNV -#define GLEE_H_DEFINED_glTexRenderbufferNV - typedef void (APIENTRYP GLEEPFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); - GLEE_EXTERN GLEEPFNGLTEXRENDERBUFFERNVPROC GLeeFuncPtr_glTexRenderbufferNV; - #define glTexRenderbufferNV GLeeFuncPtr_glTexRenderbufferNV -#endif -#endif - -/* GL_NV_transform_feedback2 */ - -#ifndef GL_NV_transform_feedback2 -#define GL_NV_transform_feedback2 1 -#define __GLEE_GL_NV_transform_feedback2 1 -/* Constants */ -#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 -#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 -#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 -#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 -#ifndef GLEE_H_DEFINED_glBindTransformFeedbackNV -#define GLEE_H_DEFINED_glBindTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); - GLEE_EXTERN GLEEPFNGLBINDTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glBindTransformFeedbackNV; - #define glBindTransformFeedbackNV GLeeFuncPtr_glBindTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glDeleteTransformFeedbacksNV -#define GLEE_H_DEFINED_glDeleteTransformFeedbacksNV - typedef void (APIENTRYP GLEEPFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint * ids); - GLEE_EXTERN GLEEPFNGLDELETETRANSFORMFEEDBACKSNVPROC GLeeFuncPtr_glDeleteTransformFeedbacksNV; - #define glDeleteTransformFeedbacksNV GLeeFuncPtr_glDeleteTransformFeedbacksNV -#endif -#ifndef GLEE_H_DEFINED_glGenTransformFeedbacksNV -#define GLEE_H_DEFINED_glGenTransformFeedbacksNV - typedef void (APIENTRYP GLEEPFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint * ids); - GLEE_EXTERN GLEEPFNGLGENTRANSFORMFEEDBACKSNVPROC GLeeFuncPtr_glGenTransformFeedbacksNV; - #define glGenTransformFeedbacksNV GLeeFuncPtr_glGenTransformFeedbacksNV -#endif -#ifndef GLEE_H_DEFINED_glIsTransformFeedbackNV -#define GLEE_H_DEFINED_glIsTransformFeedbackNV - typedef GLboolean (APIENTRYP GLEEPFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLISTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glIsTransformFeedbackNV; - #define glIsTransformFeedbackNV GLeeFuncPtr_glIsTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glPauseTransformFeedbackNV -#define GLEE_H_DEFINED_glPauseTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLPAUSETRANSFORMFEEDBACKNVPROC) (); - GLEE_EXTERN GLEEPFNGLPAUSETRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glPauseTransformFeedbackNV; - #define glPauseTransformFeedbackNV GLeeFuncPtr_glPauseTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glResumeTransformFeedbackNV -#define GLEE_H_DEFINED_glResumeTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLRESUMETRANSFORMFEEDBACKNVPROC) (); - GLEE_EXTERN GLEEPFNGLRESUMETRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glResumeTransformFeedbackNV; - #define glResumeTransformFeedbackNV GLeeFuncPtr_glResumeTransformFeedbackNV -#endif -#ifndef GLEE_H_DEFINED_glDrawTransformFeedbackNV -#define GLEE_H_DEFINED_glDrawTransformFeedbackNV - typedef void (APIENTRYP GLEEPFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); - GLEE_EXTERN GLEEPFNGLDRAWTRANSFORMFEEDBACKNVPROC GLeeFuncPtr_glDrawTransformFeedbackNV; - #define glDrawTransformFeedbackNV GLeeFuncPtr_glDrawTransformFeedbackNV -#endif -#endif - -/* GL_ATI_meminfo */ - -#ifndef GL_ATI_meminfo -#define GL_ATI_meminfo 1 -#define __GLEE_GL_ATI_meminfo 1 -/* Constants */ -#define GL_VBO_FREE_MEMORY_ATI 0x87FB -#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC -#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD -#endif - -/* GL_AMD_performance_monitor */ - -#ifndef GL_AMD_performance_monitor -#define GL_AMD_performance_monitor 1 -#define __GLEE_GL_AMD_performance_monitor 1 -/* Constants */ -#define GL_COUNTER_TYPE_AMD 0x8BC0 -#define GL_COUNTER_RANGE_AMD 0x8BC1 -#define GL_UNSIGNED_INT64_AMD 0x8BC2 -#define GL_PERCENTAGE_AMD 0x8BC3 -#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 -#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 -#define GL_PERFMON_RESULT_AMD 0x8BC6 -#ifndef GLEE_H_DEFINED_glGetPerfMonitorGroupsAMD -#define GLEE_H_DEFINED_glGetPerfMonitorGroupsAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORGROUPSAMDPROC) (GLint * numGroups, GLsizei groupsSize, GLuint * groups); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORGROUPSAMDPROC GLeeFuncPtr_glGetPerfMonitorGroupsAMD; - #define glGetPerfMonitorGroupsAMD GLeeFuncPtr_glGetPerfMonitorGroupsAMD -#endif -#ifndef GLEE_H_DEFINED_glGetPerfMonitorCountersAMD -#define GLEE_H_DEFINED_glGetPerfMonitorCountersAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORCOUNTERSAMDPROC GLeeFuncPtr_glGetPerfMonitorCountersAMD; - #define glGetPerfMonitorCountersAMD GLeeFuncPtr_glGetPerfMonitorCountersAMD -#endif -#ifndef GLEE_H_DEFINED_glGetPerfMonitorGroupStringAMD -#define GLEE_H_DEFINED_glGetPerfMonitorGroupStringAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORGROUPSTRINGAMDPROC GLeeFuncPtr_glGetPerfMonitorGroupStringAMD; - #define glGetPerfMonitorGroupStringAMD GLeeFuncPtr_glGetPerfMonitorGroupStringAMD -#endif -#ifndef GLEE_H_DEFINED_glGetPerfMonitorCounterStringAMD -#define GLEE_H_DEFINED_glGetPerfMonitorCounterStringAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterStringAMD; - #define glGetPerfMonitorCounterStringAMD GLeeFuncPtr_glGetPerfMonitorCounterStringAMD -#endif -#ifndef GLEE_H_DEFINED_glGetPerfMonitorCounterInfoAMD -#define GLEE_H_DEFINED_glGetPerfMonitorCounterInfoAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid * data); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORCOUNTERINFOAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterInfoAMD; - #define glGetPerfMonitorCounterInfoAMD GLeeFuncPtr_glGetPerfMonitorCounterInfoAMD -#endif -#ifndef GLEE_H_DEFINED_glGenPerfMonitorsAMD -#define GLEE_H_DEFINED_glGenPerfMonitorsAMD - typedef void (APIENTRYP GLEEPFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint * monitors); - GLEE_EXTERN GLEEPFNGLGENPERFMONITORSAMDPROC GLeeFuncPtr_glGenPerfMonitorsAMD; - #define glGenPerfMonitorsAMD GLeeFuncPtr_glGenPerfMonitorsAMD -#endif -#ifndef GLEE_H_DEFINED_glDeletePerfMonitorsAMD -#define GLEE_H_DEFINED_glDeletePerfMonitorsAMD - typedef void (APIENTRYP GLEEPFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint * monitors); - GLEE_EXTERN GLEEPFNGLDELETEPERFMONITORSAMDPROC GLeeFuncPtr_glDeletePerfMonitorsAMD; - #define glDeletePerfMonitorsAMD GLeeFuncPtr_glDeletePerfMonitorsAMD -#endif -#ifndef GLEE_H_DEFINED_glSelectPerfMonitorCountersAMD -#define GLEE_H_DEFINED_glSelectPerfMonitorCountersAMD - typedef void (APIENTRYP GLEEPFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList); - GLEE_EXTERN GLEEPFNGLSELECTPERFMONITORCOUNTERSAMDPROC GLeeFuncPtr_glSelectPerfMonitorCountersAMD; - #define glSelectPerfMonitorCountersAMD GLeeFuncPtr_glSelectPerfMonitorCountersAMD -#endif -#ifndef GLEE_H_DEFINED_glBeginPerfMonitorAMD -#define GLEE_H_DEFINED_glBeginPerfMonitorAMD - typedef void (APIENTRYP GLEEPFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); - GLEE_EXTERN GLEEPFNGLBEGINPERFMONITORAMDPROC GLeeFuncPtr_glBeginPerfMonitorAMD; - #define glBeginPerfMonitorAMD GLeeFuncPtr_glBeginPerfMonitorAMD -#endif -#ifndef GLEE_H_DEFINED_glEndPerfMonitorAMD -#define GLEE_H_DEFINED_glEndPerfMonitorAMD - typedef void (APIENTRYP GLEEPFNGLENDPERFMONITORAMDPROC) (GLuint monitor); - GLEE_EXTERN GLEEPFNGLENDPERFMONITORAMDPROC GLeeFuncPtr_glEndPerfMonitorAMD; - #define glEndPerfMonitorAMD GLeeFuncPtr_glEndPerfMonitorAMD -#endif -#ifndef GLEE_H_DEFINED_glGetPerfMonitorCounterDataAMD -#define GLEE_H_DEFINED_glGetPerfMonitorCounterDataAMD - typedef void (APIENTRYP GLEEPFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten); - GLEE_EXTERN GLEEPFNGLGETPERFMONITORCOUNTERDATAAMDPROC GLeeFuncPtr_glGetPerfMonitorCounterDataAMD; - #define glGetPerfMonitorCounterDataAMD GLeeFuncPtr_glGetPerfMonitorCounterDataAMD -#endif -#endif - -/* GL_AMD_texture_texture4 */ - -#ifndef GL_AMD_texture_texture4 -#define GL_AMD_texture_texture4 1 -#define __GLEE_GL_AMD_texture_texture4 1 -/* Constants */ -#endif - -/* GL_AMD_vertex_shader_tesselator */ - -#ifndef GL_AMD_vertex_shader_tesselator -#define GL_AMD_vertex_shader_tesselator 1 -#define __GLEE_GL_AMD_vertex_shader_tesselator 1 -/* Constants */ -#define GL_SAMPLER_BUFFER_AMD 0x9001 -#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 -#define GL_TESSELLATION_MODE_AMD 0x9004 -#define GL_TESSELLATION_FACTOR_AMD 0x9005 -#define GL_DISCRETE_AMD 0x9006 -#define GL_CONTINUOUS_AMD 0x9007 -#ifndef GLEE_H_DEFINED_glTessellationFactorAMD -#define GLEE_H_DEFINED_glTessellationFactorAMD - typedef void (APIENTRYP GLEEPFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); - GLEE_EXTERN GLEEPFNGLTESSELLATIONFACTORAMDPROC GLeeFuncPtr_glTessellationFactorAMD; - #define glTessellationFactorAMD GLeeFuncPtr_glTessellationFactorAMD -#endif -#ifndef GLEE_H_DEFINED_glTessellationModeAMD -#define GLEE_H_DEFINED_glTessellationModeAMD - typedef void (APIENTRYP GLEEPFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLTESSELLATIONMODEAMDPROC GLeeFuncPtr_glTessellationModeAMD; - #define glTessellationModeAMD GLeeFuncPtr_glTessellationModeAMD -#endif -#endif - -/* GL_EXT_provoking_vertex */ - -#ifndef GL_EXT_provoking_vertex -#define GL_EXT_provoking_vertex 1 -#define __GLEE_GL_EXT_provoking_vertex 1 -/* Constants */ -#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C -#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D -#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E -#define GL_PROVOKING_VERTEX_EXT 0x8E4F -#ifndef GLEE_H_DEFINED_glProvokingVertexEXT -#define GLEE_H_DEFINED_glProvokingVertexEXT - typedef void (APIENTRYP GLEEPFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); - GLEE_EXTERN GLEEPFNGLPROVOKINGVERTEXEXTPROC GLeeFuncPtr_glProvokingVertexEXT; - #define glProvokingVertexEXT GLeeFuncPtr_glProvokingVertexEXT -#endif -#endif - -/* GL_EXT_texture_snorm */ - -#ifndef GL_EXT_texture_snorm -#define GL_EXT_texture_snorm 1 -#define __GLEE_GL_EXT_texture_snorm 1 -/* Constants */ -#define GL_ALPHA_SNORM 0x9010 -#define GL_LUMINANCE_SNORM 0x9011 -#define GL_LUMINANCE_ALPHA_SNORM 0x9012 -#define GL_INTENSITY_SNORM 0x9013 -#define GL_ALPHA8_SNORM 0x9014 -#define GL_LUMINANCE8_SNORM 0x9015 -#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 -#define GL_INTENSITY8_SNORM 0x9017 -#define GL_ALPHA16_SNORM 0x9018 -#define GL_LUMINANCE16_SNORM 0x9019 -#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A -#define GL_INTENSITY16_SNORM 0x901B -#endif - -/* GL_AMD_draw_buffers_blend */ - -#ifndef GL_AMD_draw_buffers_blend -#define GL_AMD_draw_buffers_blend 1 -#define __GLEE_GL_AMD_draw_buffers_blend 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glBlendFuncIndexedAMD -#define GLEE_H_DEFINED_glBlendFuncIndexedAMD - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); - GLEE_EXTERN GLEEPFNGLBLENDFUNCINDEXEDAMDPROC GLeeFuncPtr_glBlendFuncIndexedAMD; - #define glBlendFuncIndexedAMD GLeeFuncPtr_glBlendFuncIndexedAMD -#endif -#ifndef GLEE_H_DEFINED_glBlendFuncSeparateIndexedAMD -#define GLEE_H_DEFINED_glBlendFuncSeparateIndexedAMD - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC GLeeFuncPtr_glBlendFuncSeparateIndexedAMD; - #define glBlendFuncSeparateIndexedAMD GLeeFuncPtr_glBlendFuncSeparateIndexedAMD -#endif -#ifndef GLEE_H_DEFINED_glBlendEquationIndexedAMD -#define GLEE_H_DEFINED_glBlendEquationIndexedAMD - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONINDEXEDAMDPROC GLeeFuncPtr_glBlendEquationIndexedAMD; - #define glBlendEquationIndexedAMD GLeeFuncPtr_glBlendEquationIndexedAMD -#endif -#ifndef GLEE_H_DEFINED_glBlendEquationSeparateIndexedAMD -#define GLEE_H_DEFINED_glBlendEquationSeparateIndexedAMD - typedef void (APIENTRYP GLEEPFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); - GLEE_EXTERN GLEEPFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC GLeeFuncPtr_glBlendEquationSeparateIndexedAMD; - #define glBlendEquationSeparateIndexedAMD GLeeFuncPtr_glBlendEquationSeparateIndexedAMD -#endif -#endif - -/* GL_APPLE_texture_range */ - -#ifndef GL_APPLE_texture_range -#define GL_APPLE_texture_range 1 -#define __GLEE_GL_APPLE_texture_range 1 -/* Constants */ -#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 -#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 -#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC -#define GL_STORAGE_PRIVATE_APPLE 0x85BD -#ifndef GLEE_H_DEFINED_glTextureRangeAPPLE -#define GLEE_H_DEFINED_glTextureRangeAPPLE - typedef void (APIENTRYP GLEEPFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLTEXTURERANGEAPPLEPROC GLeeFuncPtr_glTextureRangeAPPLE; - #define glTextureRangeAPPLE GLeeFuncPtr_glTextureRangeAPPLE -#endif -#ifndef GLEE_H_DEFINED_glGetTexParameterPointervAPPLE -#define GLEE_H_DEFINED_glGetTexParameterPointervAPPLE - typedef void (APIENTRYP GLEEPFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* * params); - GLEE_EXTERN GLEEPFNGLGETTEXPARAMETERPOINTERVAPPLEPROC GLeeFuncPtr_glGetTexParameterPointervAPPLE; - #define glGetTexParameterPointervAPPLE GLeeFuncPtr_glGetTexParameterPointervAPPLE -#endif -#endif - -/* GL_APPLE_float_pixels */ - -#ifndef GL_APPLE_float_pixels -#define GL_APPLE_float_pixels 1 -#define __GLEE_GL_APPLE_float_pixels 1 -/* Constants */ -#define GL_HALF_APPLE 0x140B -#define GL_RGBA_FLOAT32_APPLE 0x8814 -#define GL_RGB_FLOAT32_APPLE 0x8815 -#define GL_ALPHA_FLOAT32_APPLE 0x8816 -#define GL_INTENSITY_FLOAT32_APPLE 0x8817 -#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 -#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 -#define GL_RGBA_FLOAT16_APPLE 0x881A -#define GL_RGB_FLOAT16_APPLE 0x881B -#define GL_ALPHA_FLOAT16_APPLE 0x881C -#define GL_INTENSITY_FLOAT16_APPLE 0x881D -#define GL_LUMINANCE_FLOAT16_APPLE 0x881E -#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F -#define GL_COLOR_FLOAT_APPLE 0x8A0F -#endif - -/* GL_APPLE_vertex_program_evaluators */ - -#ifndef GL_APPLE_vertex_program_evaluators -#define GL_APPLE_vertex_program_evaluators 1 -#define __GLEE_GL_APPLE_vertex_program_evaluators 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 -#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 -#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 -#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 -#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 -#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 -#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 -#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 -#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 -#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 -#ifndef GLEE_H_DEFINED_glEnableVertexAttribAPPLE -#define GLEE_H_DEFINED_glEnableVertexAttribAPPLE - typedef void (APIENTRYP GLEEPFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); - GLEE_EXTERN GLEEPFNGLENABLEVERTEXATTRIBAPPLEPROC GLeeFuncPtr_glEnableVertexAttribAPPLE; - #define glEnableVertexAttribAPPLE GLeeFuncPtr_glEnableVertexAttribAPPLE -#endif -#ifndef GLEE_H_DEFINED_glDisableVertexAttribAPPLE -#define GLEE_H_DEFINED_glDisableVertexAttribAPPLE - typedef void (APIENTRYP GLEEPFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); - GLEE_EXTERN GLEEPFNGLDISABLEVERTEXATTRIBAPPLEPROC GLeeFuncPtr_glDisableVertexAttribAPPLE; - #define glDisableVertexAttribAPPLE GLeeFuncPtr_glDisableVertexAttribAPPLE -#endif -#ifndef GLEE_H_DEFINED_glIsVertexAttribEnabledAPPLE -#define GLEE_H_DEFINED_glIsVertexAttribEnabledAPPLE - typedef GLboolean (APIENTRYP GLEEPFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); - GLEE_EXTERN GLEEPFNGLISVERTEXATTRIBENABLEDAPPLEPROC GLeeFuncPtr_glIsVertexAttribEnabledAPPLE; - #define glIsVertexAttribEnabledAPPLE GLeeFuncPtr_glIsVertexAttribEnabledAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMapVertexAttrib1dAPPLE -#define GLEE_H_DEFINED_glMapVertexAttrib1dAPPLE - typedef void (APIENTRYP GLEEPFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points); - GLEE_EXTERN GLEEPFNGLMAPVERTEXATTRIB1DAPPLEPROC GLeeFuncPtr_glMapVertexAttrib1dAPPLE; - #define glMapVertexAttrib1dAPPLE GLeeFuncPtr_glMapVertexAttrib1dAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMapVertexAttrib1fAPPLE -#define GLEE_H_DEFINED_glMapVertexAttrib1fAPPLE - typedef void (APIENTRYP GLEEPFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLMAPVERTEXATTRIB1FAPPLEPROC GLeeFuncPtr_glMapVertexAttrib1fAPPLE; - #define glMapVertexAttrib1fAPPLE GLeeFuncPtr_glMapVertexAttrib1fAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMapVertexAttrib2dAPPLE -#define GLEE_H_DEFINED_glMapVertexAttrib2dAPPLE - typedef void (APIENTRYP GLEEPFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points); - GLEE_EXTERN GLEEPFNGLMAPVERTEXATTRIB2DAPPLEPROC GLeeFuncPtr_glMapVertexAttrib2dAPPLE; - #define glMapVertexAttrib2dAPPLE GLeeFuncPtr_glMapVertexAttrib2dAPPLE -#endif -#ifndef GLEE_H_DEFINED_glMapVertexAttrib2fAPPLE -#define GLEE_H_DEFINED_glMapVertexAttrib2fAPPLE - typedef void (APIENTRYP GLEEPFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points); - GLEE_EXTERN GLEEPFNGLMAPVERTEXATTRIB2FAPPLEPROC GLeeFuncPtr_glMapVertexAttrib2fAPPLE; - #define glMapVertexAttrib2fAPPLE GLeeFuncPtr_glMapVertexAttrib2fAPPLE -#endif -#endif - -/* GL_APPLE_aux_depth_stencil */ - -#ifndef GL_APPLE_aux_depth_stencil -#define GL_APPLE_aux_depth_stencil 1 -#define __GLEE_GL_APPLE_aux_depth_stencil 1 -/* Constants */ -#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 -#endif - -/* GL_APPLE_object_purgeable */ - -#ifndef GL_APPLE_object_purgeable -#define GL_APPLE_object_purgeable 1 -#define __GLEE_GL_APPLE_object_purgeable 1 -/* Constants */ -#define GL_BUFFER_OBJECT_APPLE 0x85B3 -#define GL_RELEASED_APPLE 0x8A19 -#define GL_VOLATILE_APPLE 0x8A1A -#define GL_RETAINED_APPLE 0x8A1B -#define GL_UNDEFINED_APPLE 0x8A1C -#define GL_PURGEABLE_APPLE 0x8A1D -#ifndef GLEE_H_DEFINED_glObjectPurgeableAPPLE -#define GLEE_H_DEFINED_glObjectPurgeableAPPLE - typedef GLenum (APIENTRYP GLEEPFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); - GLEE_EXTERN GLEEPFNGLOBJECTPURGEABLEAPPLEPROC GLeeFuncPtr_glObjectPurgeableAPPLE; - #define glObjectPurgeableAPPLE GLeeFuncPtr_glObjectPurgeableAPPLE -#endif -#ifndef GLEE_H_DEFINED_glObjectUnpurgeableAPPLE -#define GLEE_H_DEFINED_glObjectUnpurgeableAPPLE - typedef GLenum (APIENTRYP GLEEPFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); - GLEE_EXTERN GLEEPFNGLOBJECTUNPURGEABLEAPPLEPROC GLeeFuncPtr_glObjectUnpurgeableAPPLE; - #define glObjectUnpurgeableAPPLE GLeeFuncPtr_glObjectUnpurgeableAPPLE -#endif -#ifndef GLEE_H_DEFINED_glGetObjectParameterivAPPLE -#define GLEE_H_DEFINED_glGetObjectParameterivAPPLE - typedef void (APIENTRYP GLEEPFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETOBJECTPARAMETERIVAPPLEPROC GLeeFuncPtr_glGetObjectParameterivAPPLE; - #define glGetObjectParameterivAPPLE GLeeFuncPtr_glGetObjectParameterivAPPLE -#endif -#endif - -/* GL_APPLE_row_bytes */ - -#ifndef GL_APPLE_row_bytes -#define GL_APPLE_row_bytes 1 -#define __GLEE_GL_APPLE_row_bytes 1 -/* Constants */ -#define GL_PACK_ROW_BYTES_APPLE 0x8A15 -#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 -#endif - -/* GL_APPLE_rgb_422 */ - -#ifndef GL_APPLE_rgb_422 -#define GL_APPLE_rgb_422 1 -#define __GLEE_GL_APPLE_rgb_422 1 -/* Constants */ -#define GL_RGB_422_APPLE 0x8A1F -#endif - -/* GL_NV_video_capture */ - -#ifndef GL_NV_video_capture -#define GL_NV_video_capture 1 -#define __GLEE_GL_NV_video_capture 1 -/* Constants */ -#define GL_VIDEO_BUFFER_NV 0x9020 -#define GL_VIDEO_BUFFER_BINDING_NV 0x9021 -#define GL_FIELD_UPPER_NV 0x9022 -#define GL_FIELD_LOWER_NV 0x9023 -#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 -#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 -#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 -#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 -#define GL_VIDEO_BUFFER_PITCH_NV 0x9028 -#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 -#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A -#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B -#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C -#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D -#define GL_PARTIAL_SUCCESS_NV 0x902E -#define GL_SUCCESS_NV 0x902F -#define GL_FAILURE_NV 0x9030 -#define GL_YCBYCR8_422_NV 0x9031 -#define GL_YCBAYCR8A_4224_NV 0x9032 -#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 -#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 -#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 -#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 -#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 -#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 -#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 -#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A -#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B -#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C -#ifndef GLEE_H_DEFINED_glBeginVideoCaptureNV -#define GLEE_H_DEFINED_glBeginVideoCaptureNV - typedef void (APIENTRYP GLEEPFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot); - GLEE_EXTERN GLEEPFNGLBEGINVIDEOCAPTURENVPROC GLeeFuncPtr_glBeginVideoCaptureNV; - #define glBeginVideoCaptureNV GLeeFuncPtr_glBeginVideoCaptureNV -#endif -#ifndef GLEE_H_DEFINED_glBindVideoCaptureStreamBufferNV -#define GLEE_H_DEFINED_glBindVideoCaptureStreamBufferNV - typedef void (APIENTRYP GLEEPFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); - GLEE_EXTERN GLEEPFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC GLeeFuncPtr_glBindVideoCaptureStreamBufferNV; - #define glBindVideoCaptureStreamBufferNV GLeeFuncPtr_glBindVideoCaptureStreamBufferNV -#endif -#ifndef GLEE_H_DEFINED_glBindVideoCaptureStreamTextureNV -#define GLEE_H_DEFINED_glBindVideoCaptureStreamTextureNV - typedef void (APIENTRYP GLEEPFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); - GLEE_EXTERN GLEEPFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC GLeeFuncPtr_glBindVideoCaptureStreamTextureNV; - #define glBindVideoCaptureStreamTextureNV GLeeFuncPtr_glBindVideoCaptureStreamTextureNV -#endif -#ifndef GLEE_H_DEFINED_glEndVideoCaptureNV -#define GLEE_H_DEFINED_glEndVideoCaptureNV - typedef void (APIENTRYP GLEEPFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot); - GLEE_EXTERN GLEEPFNGLENDVIDEOCAPTURENVPROC GLeeFuncPtr_glEndVideoCaptureNV; - #define glEndVideoCaptureNV GLeeFuncPtr_glEndVideoCaptureNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoCaptureivNV -#define GLEE_H_DEFINED_glGetVideoCaptureivNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOCAPTUREIVNVPROC GLeeFuncPtr_glGetVideoCaptureivNV; - #define glGetVideoCaptureivNV GLeeFuncPtr_glGetVideoCaptureivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoCaptureStreamivNV -#define GLEE_H_DEFINED_glGetVideoCaptureStreamivNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOCAPTURESTREAMIVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamivNV; - #define glGetVideoCaptureStreamivNV GLeeFuncPtr_glGetVideoCaptureStreamivNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoCaptureStreamfvNV -#define GLEE_H_DEFINED_glGetVideoCaptureStreamfvNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOCAPTURESTREAMFVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamfvNV; - #define glGetVideoCaptureStreamfvNV GLeeFuncPtr_glGetVideoCaptureStreamfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetVideoCaptureStreamdvNV -#define GLEE_H_DEFINED_glGetVideoCaptureStreamdvNV - typedef void (APIENTRYP GLEEPFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVIDEOCAPTURESTREAMDVNVPROC GLeeFuncPtr_glGetVideoCaptureStreamdvNV; - #define glGetVideoCaptureStreamdvNV GLeeFuncPtr_glGetVideoCaptureStreamdvNV -#endif -#ifndef GLEE_H_DEFINED_glVideoCaptureNV -#define GLEE_H_DEFINED_glVideoCaptureNV - typedef GLenum (APIENTRYP GLEEPFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint * sequence_num, GLuint64EXT * capture_time); - GLEE_EXTERN GLEEPFNGLVIDEOCAPTURENVPROC GLeeFuncPtr_glVideoCaptureNV; - #define glVideoCaptureNV GLeeFuncPtr_glVideoCaptureNV -#endif -#ifndef GLEE_H_DEFINED_glVideoCaptureStreamParameterivNV -#define GLEE_H_DEFINED_glVideoCaptureStreamParameterivNV - typedef void (APIENTRYP GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint * params); - GLEE_EXTERN GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterivNV; - #define glVideoCaptureStreamParameterivNV GLeeFuncPtr_glVideoCaptureStreamParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glVideoCaptureStreamParameterfvNV -#define GLEE_H_DEFINED_glVideoCaptureStreamParameterfvNV - typedef void (APIENTRYP GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat * params); - GLEE_EXTERN GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterfvNV; - #define glVideoCaptureStreamParameterfvNV GLeeFuncPtr_glVideoCaptureStreamParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glVideoCaptureStreamParameterdvNV -#define GLEE_H_DEFINED_glVideoCaptureStreamParameterdvNV - typedef void (APIENTRYP GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble * params); - GLEE_EXTERN GLEEPFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC GLeeFuncPtr_glVideoCaptureStreamParameterdvNV; - #define glVideoCaptureStreamParameterdvNV GLeeFuncPtr_glVideoCaptureStreamParameterdvNV -#endif -#endif - -/* GL_NV_copy_image */ - -#ifndef GL_NV_copy_image -#define GL_NV_copy_image 1 -#define __GLEE_GL_NV_copy_image 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glCopyImageSubDataNV -#define GLEE_H_DEFINED_glCopyImageSubDataNV - typedef void (APIENTRYP GLEEPFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNGLCOPYIMAGESUBDATANVPROC GLeeFuncPtr_glCopyImageSubDataNV; - #define glCopyImageSubDataNV GLeeFuncPtr_glCopyImageSubDataNV -#endif -#endif - -/* GL_EXT_separate_shader_objects */ - -#ifndef GL_EXT_separate_shader_objects -#define GL_EXT_separate_shader_objects 1 -#define __GLEE_GL_EXT_separate_shader_objects 1 -/* Constants */ -#define GL_ACTIVE_PROGRAM_EXT 0x8B8D -#ifndef GLEE_H_DEFINED_glUseShaderProgramEXT -#define GLEE_H_DEFINED_glUseShaderProgramEXT - typedef void (APIENTRYP GLEEPFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); - GLEE_EXTERN GLEEPFNGLUSESHADERPROGRAMEXTPROC GLeeFuncPtr_glUseShaderProgramEXT; - #define glUseShaderProgramEXT GLeeFuncPtr_glUseShaderProgramEXT -#endif -#ifndef GLEE_H_DEFINED_glActiveProgramEXT -#define GLEE_H_DEFINED_glActiveProgramEXT - typedef void (APIENTRYP GLEEPFNGLACTIVEPROGRAMEXTPROC) (GLuint program); - GLEE_EXTERN GLEEPFNGLACTIVEPROGRAMEXTPROC GLeeFuncPtr_glActiveProgramEXT; - #define glActiveProgramEXT GLeeFuncPtr_glActiveProgramEXT -#endif -#ifndef GLEE_H_DEFINED_glCreateShaderProgramEXT -#define GLEE_H_DEFINED_glCreateShaderProgramEXT - typedef GLuint (APIENTRYP GLEEPFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar * string); - GLEE_EXTERN GLEEPFNGLCREATESHADERPROGRAMEXTPROC GLeeFuncPtr_glCreateShaderProgramEXT; - #define glCreateShaderProgramEXT GLeeFuncPtr_glCreateShaderProgramEXT -#endif -#endif - -/* GL_NV_parameter_buffer_object2 */ - -#ifndef GL_NV_parameter_buffer_object2 -#define GL_NV_parameter_buffer_object2 1 -#define __GLEE_GL_NV_parameter_buffer_object2 1 -/* Constants */ -#endif - -/* GL_NV_shader_buffer_load */ - -#ifndef GL_NV_shader_buffer_load -#define GL_NV_shader_buffer_load 1 -#define __GLEE_GL_NV_shader_buffer_load 1 -/* Constants */ -#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D -#define GL_GPU_ADDRESS_NV 0x8F34 -#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 -#ifndef GLEE_H_DEFINED_glMakeBufferResidentNV -#define GLEE_H_DEFINED_glMakeBufferResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); - GLEE_EXTERN GLEEPFNGLMAKEBUFFERRESIDENTNVPROC GLeeFuncPtr_glMakeBufferResidentNV; - #define glMakeBufferResidentNV GLeeFuncPtr_glMakeBufferResidentNV -#endif -#ifndef GLEE_H_DEFINED_glMakeBufferNonResidentNV -#define GLEE_H_DEFINED_glMakeBufferNonResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLMAKEBUFFERNONRESIDENTNVPROC GLeeFuncPtr_glMakeBufferNonResidentNV; - #define glMakeBufferNonResidentNV GLeeFuncPtr_glMakeBufferNonResidentNV -#endif -#ifndef GLEE_H_DEFINED_glIsBufferResidentNV -#define GLEE_H_DEFINED_glIsBufferResidentNV - typedef GLboolean (APIENTRYP GLEEPFNGLISBUFFERRESIDENTNVPROC) (GLenum target); - GLEE_EXTERN GLEEPFNGLISBUFFERRESIDENTNVPROC GLeeFuncPtr_glIsBufferResidentNV; - #define glIsBufferResidentNV GLeeFuncPtr_glIsBufferResidentNV -#endif -#ifndef GLEE_H_DEFINED_glMakeNamedBufferResidentNV -#define GLEE_H_DEFINED_glMakeNamedBufferResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); - GLEE_EXTERN GLEEPFNGLMAKENAMEDBUFFERRESIDENTNVPROC GLeeFuncPtr_glMakeNamedBufferResidentNV; - #define glMakeNamedBufferResidentNV GLeeFuncPtr_glMakeNamedBufferResidentNV -#endif -#ifndef GLEE_H_DEFINED_glMakeNamedBufferNonResidentNV -#define GLEE_H_DEFINED_glMakeNamedBufferNonResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC GLeeFuncPtr_glMakeNamedBufferNonResidentNV; - #define glMakeNamedBufferNonResidentNV GLeeFuncPtr_glMakeNamedBufferNonResidentNV -#endif -#ifndef GLEE_H_DEFINED_glIsNamedBufferResidentNV -#define GLEE_H_DEFINED_glIsNamedBufferResidentNV - typedef GLboolean (APIENTRYP GLEEPFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); - GLEE_EXTERN GLEEPFNGLISNAMEDBUFFERRESIDENTNVPROC GLeeFuncPtr_glIsNamedBufferResidentNV; - #define glIsNamedBufferResidentNV GLeeFuncPtr_glIsNamedBufferResidentNV -#endif -#ifndef GLEE_H_DEFINED_glGetBufferParameterui64vNV -#define GLEE_H_DEFINED_glGetBufferParameterui64vNV - typedef void (APIENTRYP GLEEPFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETBUFFERPARAMETERUI64VNVPROC GLeeFuncPtr_glGetBufferParameterui64vNV; - #define glGetBufferParameterui64vNV GLeeFuncPtr_glGetBufferParameterui64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetNamedBufferParameterui64vNV -#define GLEE_H_DEFINED_glGetNamedBufferParameterui64vNV - typedef void (APIENTRYP GLEEPFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC GLeeFuncPtr_glGetNamedBufferParameterui64vNV; - #define glGetNamedBufferParameterui64vNV GLeeFuncPtr_glGetNamedBufferParameterui64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetIntegerui64vNV -#define GLEE_H_DEFINED_glGetIntegerui64vNV - typedef void (APIENTRYP GLEEPFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT * result); - GLEE_EXTERN GLEEPFNGLGETINTEGERUI64VNVPROC GLeeFuncPtr_glGetIntegerui64vNV; - #define glGetIntegerui64vNV GLeeFuncPtr_glGetIntegerui64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniformui64NV -#define GLEE_H_DEFINED_glUniformui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); - GLEE_EXTERN GLEEPFNGLUNIFORMUI64NVPROC GLeeFuncPtr_glUniformui64NV; - #define glUniformui64NV GLeeFuncPtr_glUniformui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniformui64vNV -#define GLEE_H_DEFINED_glUniformui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORMUI64VNVPROC GLeeFuncPtr_glUniformui64vNV; - #define glUniformui64vNV GLeeFuncPtr_glUniformui64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetUniformui64vNV -#define GLEE_H_DEFINED_glGetUniformui64vNV - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMUI64VNVPROC GLeeFuncPtr_glGetUniformui64vNV; - #define glGetUniformui64vNV GLeeFuncPtr_glGetUniformui64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformui64NV -#define GLEE_H_DEFINED_glProgramUniformui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMUI64NVPROC GLeeFuncPtr_glProgramUniformui64NV; - #define glProgramUniformui64NV GLeeFuncPtr_glProgramUniformui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformui64vNV -#define GLEE_H_DEFINED_glProgramUniformui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMUI64VNVPROC GLeeFuncPtr_glProgramUniformui64vNV; - #define glProgramUniformui64vNV GLeeFuncPtr_glProgramUniformui64vNV -#endif -#endif - -/* GL_NV_vertex_buffer_unified_memory */ - -#ifndef GL_NV_vertex_buffer_unified_memory -#define GL_NV_vertex_buffer_unified_memory 1 -#define __GLEE_GL_NV_vertex_buffer_unified_memory 1 -/* Constants */ -#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E -#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F -#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 -#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 -#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 -#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 -#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 -#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 -#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 -#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 -#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 -#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 -#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A -#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B -#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C -#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D -#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E -#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F -#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 -#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 -#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 -#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 -#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 -#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 -#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 -#ifndef GLEE_H_DEFINED_glBufferAddressRangeNV -#define GLEE_H_DEFINED_glBufferAddressRangeNV - typedef void (APIENTRYP GLEEPFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); - GLEE_EXTERN GLEEPFNGLBUFFERADDRESSRANGENVPROC GLeeFuncPtr_glBufferAddressRangeNV; - #define glBufferAddressRangeNV GLeeFuncPtr_glBufferAddressRangeNV -#endif -#ifndef GLEE_H_DEFINED_glVertexFormatNV -#define GLEE_H_DEFINED_glVertexFormatNV - typedef void (APIENTRYP GLEEPFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLVERTEXFORMATNVPROC GLeeFuncPtr_glVertexFormatNV; - #define glVertexFormatNV GLeeFuncPtr_glVertexFormatNV -#endif -#ifndef GLEE_H_DEFINED_glNormalFormatNV -#define GLEE_H_DEFINED_glNormalFormatNV - typedef void (APIENTRYP GLEEPFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLNORMALFORMATNVPROC GLeeFuncPtr_glNormalFormatNV; - #define glNormalFormatNV GLeeFuncPtr_glNormalFormatNV -#endif -#ifndef GLEE_H_DEFINED_glColorFormatNV -#define GLEE_H_DEFINED_glColorFormatNV - typedef void (APIENTRYP GLEEPFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLCOLORFORMATNVPROC GLeeFuncPtr_glColorFormatNV; - #define glColorFormatNV GLeeFuncPtr_glColorFormatNV -#endif -#ifndef GLEE_H_DEFINED_glIndexFormatNV -#define GLEE_H_DEFINED_glIndexFormatNV - typedef void (APIENTRYP GLEEPFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLINDEXFORMATNVPROC GLeeFuncPtr_glIndexFormatNV; - #define glIndexFormatNV GLeeFuncPtr_glIndexFormatNV -#endif -#ifndef GLEE_H_DEFINED_glTexCoordFormatNV -#define GLEE_H_DEFINED_glTexCoordFormatNV - typedef void (APIENTRYP GLEEPFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLTEXCOORDFORMATNVPROC GLeeFuncPtr_glTexCoordFormatNV; - #define glTexCoordFormatNV GLeeFuncPtr_glTexCoordFormatNV -#endif -#ifndef GLEE_H_DEFINED_glEdgeFlagFormatNV -#define GLEE_H_DEFINED_glEdgeFlagFormatNV - typedef void (APIENTRYP GLEEPFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); - GLEE_EXTERN GLEEPFNGLEDGEFLAGFORMATNVPROC GLeeFuncPtr_glEdgeFlagFormatNV; - #define glEdgeFlagFormatNV GLeeFuncPtr_glEdgeFlagFormatNV -#endif -#ifndef GLEE_H_DEFINED_glSecondaryColorFormatNV -#define GLEE_H_DEFINED_glSecondaryColorFormatNV - typedef void (APIENTRYP GLEEPFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLSECONDARYCOLORFORMATNVPROC GLeeFuncPtr_glSecondaryColorFormatNV; - #define glSecondaryColorFormatNV GLeeFuncPtr_glSecondaryColorFormatNV -#endif -#ifndef GLEE_H_DEFINED_glFogCoordFormatNV -#define GLEE_H_DEFINED_glFogCoordFormatNV - typedef void (APIENTRYP GLEEPFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLFOGCOORDFORMATNVPROC GLeeFuncPtr_glFogCoordFormatNV; - #define glFogCoordFormatNV GLeeFuncPtr_glFogCoordFormatNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribFormatNV -#define GLEE_H_DEFINED_glVertexAttribFormatNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBFORMATNVPROC GLeeFuncPtr_glVertexAttribFormatNV; - #define glVertexAttribFormatNV GLeeFuncPtr_glVertexAttribFormatNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribIFormatNV -#define GLEE_H_DEFINED_glVertexAttribIFormatNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBIFORMATNVPROC GLeeFuncPtr_glVertexAttribIFormatNV; - #define glVertexAttribIFormatNV GLeeFuncPtr_glVertexAttribIFormatNV -#endif -#ifndef GLEE_H_DEFINED_glGetIntegerui64i_vNV -#define GLEE_H_DEFINED_glGetIntegerui64i_vNV - typedef void (APIENTRYP GLEEPFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT * result); - GLEE_EXTERN GLEEPFNGLGETINTEGERUI64I_VNVPROC GLeeFuncPtr_glGetIntegerui64i_vNV; - #define glGetIntegerui64i_vNV GLeeFuncPtr_glGetIntegerui64i_vNV -#endif -#endif - -/* GL_NV_texture_barrier */ - -#ifndef GL_NV_texture_barrier -#define GL_NV_texture_barrier 1 -#define __GLEE_GL_NV_texture_barrier 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glTextureBarrierNV -#define GLEE_H_DEFINED_glTextureBarrierNV - typedef void (APIENTRYP GLEEPFNGLTEXTUREBARRIERNVPROC) (); - GLEE_EXTERN GLEEPFNGLTEXTUREBARRIERNVPROC GLeeFuncPtr_glTextureBarrierNV; - #define glTextureBarrierNV GLeeFuncPtr_glTextureBarrierNV -#endif -#endif - -/* GL_AMD_shader_stencil_export */ - -#ifndef GL_AMD_shader_stencil_export -#define GL_AMD_shader_stencil_export 1 -#define __GLEE_GL_AMD_shader_stencil_export 1 -/* Constants */ -#endif - -/* GL_AMD_seamless_cubemap_per_texture */ - -#ifndef GL_AMD_seamless_cubemap_per_texture -#define GL_AMD_seamless_cubemap_per_texture 1 -#define __GLEE_GL_AMD_seamless_cubemap_per_texture 1 -/* Constants */ -#endif - -/* GL_AMD_conservative_depth */ - -#ifndef GL_AMD_conservative_depth -#define GL_AMD_conservative_depth 1 -#define __GLEE_GL_AMD_conservative_depth 1 -/* Constants */ -#endif - -/* GL_EXT_shader_image_load_store */ - -#ifndef GL_EXT_shader_image_load_store -#define GL_EXT_shader_image_load_store 1 -#define __GLEE_GL_EXT_shader_image_load_store 1 -/* Constants */ -#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 -#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 -#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A -#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B -#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C -#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D -#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E -#define GL_IMAGE_1D_EXT 0x904C -#define GL_IMAGE_2D_EXT 0x904D -#define GL_IMAGE_3D_EXT 0x904E -#define GL_IMAGE_2D_RECT_EXT 0x904F -#define GL_IMAGE_CUBE_EXT 0x9050 -#define GL_IMAGE_BUFFER_EXT 0x9051 -#define GL_IMAGE_1D_ARRAY_EXT 0x9052 -#define GL_IMAGE_2D_ARRAY_EXT 0x9053 -#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 -#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 -#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 -#define GL_INT_IMAGE_1D_EXT 0x9057 -#define GL_INT_IMAGE_2D_EXT 0x9058 -#define GL_INT_IMAGE_3D_EXT 0x9059 -#define GL_INT_IMAGE_2D_RECT_EXT 0x905A -#define GL_INT_IMAGE_CUBE_EXT 0x905B -#define GL_INT_IMAGE_BUFFER_EXT 0x905C -#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D -#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E -#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F -#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 -#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 -#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 -#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 -#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 -#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 -#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 -#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 -#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 -#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 -#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C -#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D -#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E -#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 -#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 -#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 -#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 -#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 -#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 -#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 -#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 -#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 -#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 -#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 -#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 -#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF -#ifndef GLEE_H_DEFINED_glBindImageTextureEXT -#define GLEE_H_DEFINED_glBindImageTextureEXT - typedef void (APIENTRYP GLEEPFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); - GLEE_EXTERN GLEEPFNGLBINDIMAGETEXTUREEXTPROC GLeeFuncPtr_glBindImageTextureEXT; - #define glBindImageTextureEXT GLeeFuncPtr_glBindImageTextureEXT -#endif -#ifndef GLEE_H_DEFINED_glMemoryBarrierEXT -#define GLEE_H_DEFINED_glMemoryBarrierEXT - typedef void (APIENTRYP GLEEPFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers); - GLEE_EXTERN GLEEPFNGLMEMORYBARRIEREXTPROC GLeeFuncPtr_glMemoryBarrierEXT; - #define glMemoryBarrierEXT GLeeFuncPtr_glMemoryBarrierEXT -#endif -#endif - -/* GL_EXT_vertex_attrib_64bit */ - -#ifndef GL_EXT_vertex_attrib_64bit -#define GL_EXT_vertex_attrib_64bit 1 -#define __GLEE_GL_EXT_vertex_attrib_64bit 1 -/* Constants */ -#define GL_DOUBLE_VEC2_EXT 0x8FFC -#define GL_DOUBLE_VEC3_EXT 0x8FFD -#define GL_DOUBLE_VEC4_EXT 0x8FFE -#define GL_DOUBLE_MAT2_EXT 0x8F46 -#define GL_DOUBLE_MAT3_EXT 0x8F47 -#define GL_DOUBLE_MAT4_EXT 0x8F48 -#define GL_DOUBLE_MAT2x3_EXT 0x8F49 -#define GL_DOUBLE_MAT2x4_EXT 0x8F4A -#define GL_DOUBLE_MAT3x2_EXT 0x8F4B -#define GL_DOUBLE_MAT3x4_EXT 0x8F4C -#define GL_DOUBLE_MAT4x2_EXT 0x8F4D -#define GL_DOUBLE_MAT4x3_EXT 0x8F4E -#ifndef GLEE_H_DEFINED_glVertexAttribL1dEXT -#define GLEE_H_DEFINED_glVertexAttribL1dEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1DEXTPROC GLeeFuncPtr_glVertexAttribL1dEXT; - #define glVertexAttribL1dEXT GLeeFuncPtr_glVertexAttribL1dEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2dEXT -#define GLEE_H_DEFINED_glVertexAttribL2dEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2DEXTPROC GLeeFuncPtr_glVertexAttribL2dEXT; - #define glVertexAttribL2dEXT GLeeFuncPtr_glVertexAttribL2dEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3dEXT -#define GLEE_H_DEFINED_glVertexAttribL3dEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3DEXTPROC GLeeFuncPtr_glVertexAttribL3dEXT; - #define glVertexAttribL3dEXT GLeeFuncPtr_glVertexAttribL3dEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4dEXT -#define GLEE_H_DEFINED_glVertexAttribL4dEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4DEXTPROC GLeeFuncPtr_glVertexAttribL4dEXT; - #define glVertexAttribL4dEXT GLeeFuncPtr_glVertexAttribL4dEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL1dvEXT -#define GLEE_H_DEFINED_glVertexAttribL1dvEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1DVEXTPROC GLeeFuncPtr_glVertexAttribL1dvEXT; - #define glVertexAttribL1dvEXT GLeeFuncPtr_glVertexAttribL1dvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2dvEXT -#define GLEE_H_DEFINED_glVertexAttribL2dvEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2DVEXTPROC GLeeFuncPtr_glVertexAttribL2dvEXT; - #define glVertexAttribL2dvEXT GLeeFuncPtr_glVertexAttribL2dvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3dvEXT -#define GLEE_H_DEFINED_glVertexAttribL3dvEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3DVEXTPROC GLeeFuncPtr_glVertexAttribL3dvEXT; - #define glVertexAttribL3dvEXT GLeeFuncPtr_glVertexAttribL3dvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4dvEXT -#define GLEE_H_DEFINED_glVertexAttribL4dvEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4DVEXTPROC GLeeFuncPtr_glVertexAttribL4dvEXT; - #define glVertexAttribL4dvEXT GLeeFuncPtr_glVertexAttribL4dvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribLPointerEXT -#define GLEE_H_DEFINED_glVertexAttribLPointerEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBLPOINTEREXTPROC GLeeFuncPtr_glVertexAttribLPointerEXT; - #define glVertexAttribLPointerEXT GLeeFuncPtr_glVertexAttribLPointerEXT -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribLdvEXT -#define GLEE_H_DEFINED_glGetVertexAttribLdvEXT - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBLDVEXTPROC GLeeFuncPtr_glGetVertexAttribLdvEXT; - #define glGetVertexAttribLdvEXT GLeeFuncPtr_glGetVertexAttribLdvEXT -#endif -#ifndef GLEE_H_DEFINED_glVertexArrayVertexAttribLOffsetEXT -#define GLEE_H_DEFINED_glVertexArrayVertexAttribLOffsetEXT - typedef void (APIENTRYP GLEEPFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); - GLEE_EXTERN GLEEPFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC GLeeFuncPtr_glVertexArrayVertexAttribLOffsetEXT; - #define glVertexArrayVertexAttribLOffsetEXT GLeeFuncPtr_glVertexArrayVertexAttribLOffsetEXT -#endif -#endif - -/* GL_NV_gpu_program5 */ - -#ifndef GL_NV_gpu_program5 -#define GL_NV_gpu_program5 1 -#define __GLEE_GL_NV_gpu_program5 1 -/* Constants */ -#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A -#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B -#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C -#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D -#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E -#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F -#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44 -#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV 0x8F45 -#ifndef GLEE_H_DEFINED_glProgramSubroutineParametersuivNV -#define GLEE_H_DEFINED_glProgramSubroutineParametersuivNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint * params); - GLEE_EXTERN GLEEPFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC GLeeFuncPtr_glProgramSubroutineParametersuivNV; - #define glProgramSubroutineParametersuivNV GLeeFuncPtr_glProgramSubroutineParametersuivNV -#endif -#ifndef GLEE_H_DEFINED_glGetProgramSubroutineParameteruivNV -#define GLEE_H_DEFINED_glGetProgramSubroutineParameteruivNV - typedef void (APIENTRYP GLEEPFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint * param); - GLEE_EXTERN GLEEPFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC GLeeFuncPtr_glGetProgramSubroutineParameteruivNV; - #define glGetProgramSubroutineParameteruivNV GLeeFuncPtr_glGetProgramSubroutineParameteruivNV -#endif -#endif - -/* GL_NV_gpu_shader5 */ - -#ifndef GL_NV_gpu_shader5 -#define GL_NV_gpu_shader5 1 -#define __GLEE_GL_NV_gpu_shader5 1 -/* Constants */ -#define GL_INT64_NV 0x140E -#define GL_UNSIGNED_INT64_NV 0x140F -#define GL_INT8_NV 0x8FE0 -#define GL_INT8_VEC2_NV 0x8FE1 -#define GL_INT8_VEC3_NV 0x8FE2 -#define GL_INT8_VEC4_NV 0x8FE3 -#define GL_INT16_NV 0x8FE4 -#define GL_INT16_VEC2_NV 0x8FE5 -#define GL_INT16_VEC3_NV 0x8FE6 -#define GL_INT16_VEC4_NV 0x8FE7 -#define GL_INT64_VEC2_NV 0x8FE9 -#define GL_INT64_VEC3_NV 0x8FEA -#define GL_INT64_VEC4_NV 0x8FEB -#define GL_UNSIGNED_INT8_NV 0x8FEC -#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED -#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE -#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF -#define GL_UNSIGNED_INT16_NV 0x8FF0 -#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 -#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 -#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 -#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 -#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 -#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 -#define GL_FLOAT16_NV 0x8FF8 -#define GL_FLOAT16_VEC2_NV 0x8FF9 -#define GL_FLOAT16_VEC3_NV 0x8FFA -#define GL_FLOAT16_VEC4_NV 0x8FFB -#ifndef GLEE_H_DEFINED_glUniform1i64NV -#define GLEE_H_DEFINED_glUniform1i64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); - GLEE_EXTERN GLEEPFNGLUNIFORM1I64NVPROC GLeeFuncPtr_glUniform1i64NV; - #define glUniform1i64NV GLeeFuncPtr_glUniform1i64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform2i64NV -#define GLEE_H_DEFINED_glUniform2i64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); - GLEE_EXTERN GLEEPFNGLUNIFORM2I64NVPROC GLeeFuncPtr_glUniform2i64NV; - #define glUniform2i64NV GLeeFuncPtr_glUniform2i64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform3i64NV -#define GLEE_H_DEFINED_glUniform3i64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); - GLEE_EXTERN GLEEPFNGLUNIFORM3I64NVPROC GLeeFuncPtr_glUniform3i64NV; - #define glUniform3i64NV GLeeFuncPtr_glUniform3i64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform4i64NV -#define GLEE_H_DEFINED_glUniform4i64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); - GLEE_EXTERN GLEEPFNGLUNIFORM4I64NVPROC GLeeFuncPtr_glUniform4i64NV; - #define glUniform4i64NV GLeeFuncPtr_glUniform4i64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform1i64vNV -#define GLEE_H_DEFINED_glUniform1i64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1I64VNVPROC GLeeFuncPtr_glUniform1i64vNV; - #define glUniform1i64vNV GLeeFuncPtr_glUniform1i64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform2i64vNV -#define GLEE_H_DEFINED_glUniform2i64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2I64VNVPROC GLeeFuncPtr_glUniform2i64vNV; - #define glUniform2i64vNV GLeeFuncPtr_glUniform2i64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform3i64vNV -#define GLEE_H_DEFINED_glUniform3i64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3I64VNVPROC GLeeFuncPtr_glUniform3i64vNV; - #define glUniform3i64vNV GLeeFuncPtr_glUniform3i64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform4i64vNV -#define GLEE_H_DEFINED_glUniform4i64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4I64VNVPROC GLeeFuncPtr_glUniform4i64vNV; - #define glUniform4i64vNV GLeeFuncPtr_glUniform4i64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform1ui64NV -#define GLEE_H_DEFINED_glUniform1ui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); - GLEE_EXTERN GLEEPFNGLUNIFORM1UI64NVPROC GLeeFuncPtr_glUniform1ui64NV; - #define glUniform1ui64NV GLeeFuncPtr_glUniform1ui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform2ui64NV -#define GLEE_H_DEFINED_glUniform2ui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); - GLEE_EXTERN GLEEPFNGLUNIFORM2UI64NVPROC GLeeFuncPtr_glUniform2ui64NV; - #define glUniform2ui64NV GLeeFuncPtr_glUniform2ui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform3ui64NV -#define GLEE_H_DEFINED_glUniform3ui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); - GLEE_EXTERN GLEEPFNGLUNIFORM3UI64NVPROC GLeeFuncPtr_glUniform3ui64NV; - #define glUniform3ui64NV GLeeFuncPtr_glUniform3ui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform4ui64NV -#define GLEE_H_DEFINED_glUniform4ui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); - GLEE_EXTERN GLEEPFNGLUNIFORM4UI64NVPROC GLeeFuncPtr_glUniform4ui64NV; - #define glUniform4ui64NV GLeeFuncPtr_glUniform4ui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniform1ui64vNV -#define GLEE_H_DEFINED_glUniform1ui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM1UI64VNVPROC GLeeFuncPtr_glUniform1ui64vNV; - #define glUniform1ui64vNV GLeeFuncPtr_glUniform1ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform2ui64vNV -#define GLEE_H_DEFINED_glUniform2ui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM2UI64VNVPROC GLeeFuncPtr_glUniform2ui64vNV; - #define glUniform2ui64vNV GLeeFuncPtr_glUniform2ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform3ui64vNV -#define GLEE_H_DEFINED_glUniform3ui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM3UI64VNVPROC GLeeFuncPtr_glUniform3ui64vNV; - #define glUniform3ui64vNV GLeeFuncPtr_glUniform3ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glUniform4ui64vNV -#define GLEE_H_DEFINED_glUniform4ui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLUNIFORM4UI64VNVPROC GLeeFuncPtr_glUniform4ui64vNV; - #define glUniform4ui64vNV GLeeFuncPtr_glUniform4ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetUniformi64vNV -#define GLEE_H_DEFINED_glGetUniformi64vNV - typedef void (APIENTRYP GLEEPFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETUNIFORMI64VNVPROC GLeeFuncPtr_glGetUniformi64vNV; - #define glGetUniformi64vNV GLeeFuncPtr_glGetUniformi64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1i64NV -#define GLEE_H_DEFINED_glProgramUniform1i64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1I64NVPROC GLeeFuncPtr_glProgramUniform1i64NV; - #define glProgramUniform1i64NV GLeeFuncPtr_glProgramUniform1i64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2i64NV -#define GLEE_H_DEFINED_glProgramUniform2i64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2I64NVPROC GLeeFuncPtr_glProgramUniform2i64NV; - #define glProgramUniform2i64NV GLeeFuncPtr_glProgramUniform2i64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3i64NV -#define GLEE_H_DEFINED_glProgramUniform3i64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3I64NVPROC GLeeFuncPtr_glProgramUniform3i64NV; - #define glProgramUniform3i64NV GLeeFuncPtr_glProgramUniform3i64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4i64NV -#define GLEE_H_DEFINED_glProgramUniform4i64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4I64NVPROC GLeeFuncPtr_glProgramUniform4i64NV; - #define glProgramUniform4i64NV GLeeFuncPtr_glProgramUniform4i64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1i64vNV -#define GLEE_H_DEFINED_glProgramUniform1i64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1I64VNVPROC GLeeFuncPtr_glProgramUniform1i64vNV; - #define glProgramUniform1i64vNV GLeeFuncPtr_glProgramUniform1i64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2i64vNV -#define GLEE_H_DEFINED_glProgramUniform2i64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2I64VNVPROC GLeeFuncPtr_glProgramUniform2i64vNV; - #define glProgramUniform2i64vNV GLeeFuncPtr_glProgramUniform2i64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3i64vNV -#define GLEE_H_DEFINED_glProgramUniform3i64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3I64VNVPROC GLeeFuncPtr_glProgramUniform3i64vNV; - #define glProgramUniform3i64vNV GLeeFuncPtr_glProgramUniform3i64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4i64vNV -#define GLEE_H_DEFINED_glProgramUniform4i64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4I64VNVPROC GLeeFuncPtr_glProgramUniform4i64vNV; - #define glProgramUniform4i64vNV GLeeFuncPtr_glProgramUniform4i64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1ui64NV -#define GLEE_H_DEFINED_glProgramUniform1ui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UI64NVPROC GLeeFuncPtr_glProgramUniform1ui64NV; - #define glProgramUniform1ui64NV GLeeFuncPtr_glProgramUniform1ui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2ui64NV -#define GLEE_H_DEFINED_glProgramUniform2ui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UI64NVPROC GLeeFuncPtr_glProgramUniform2ui64NV; - #define glProgramUniform2ui64NV GLeeFuncPtr_glProgramUniform2ui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3ui64NV -#define GLEE_H_DEFINED_glProgramUniform3ui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UI64NVPROC GLeeFuncPtr_glProgramUniform3ui64NV; - #define glProgramUniform3ui64NV GLeeFuncPtr_glProgramUniform3ui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4ui64NV -#define GLEE_H_DEFINED_glProgramUniform4ui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UI64NVPROC GLeeFuncPtr_glProgramUniform4ui64NV; - #define glProgramUniform4ui64NV GLeeFuncPtr_glProgramUniform4ui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform1ui64vNV -#define GLEE_H_DEFINED_glProgramUniform1ui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM1UI64VNVPROC GLeeFuncPtr_glProgramUniform1ui64vNV; - #define glProgramUniform1ui64vNV GLeeFuncPtr_glProgramUniform1ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform2ui64vNV -#define GLEE_H_DEFINED_glProgramUniform2ui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM2UI64VNVPROC GLeeFuncPtr_glProgramUniform2ui64vNV; - #define glProgramUniform2ui64vNV GLeeFuncPtr_glProgramUniform2ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform3ui64vNV -#define GLEE_H_DEFINED_glProgramUniform3ui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM3UI64VNVPROC GLeeFuncPtr_glProgramUniform3ui64vNV; - #define glProgramUniform3ui64vNV GLeeFuncPtr_glProgramUniform3ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniform4ui64vNV -#define GLEE_H_DEFINED_glProgramUniform4ui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT * value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORM4UI64VNVPROC GLeeFuncPtr_glProgramUniform4ui64vNV; - #define glProgramUniform4ui64vNV GLeeFuncPtr_glProgramUniform4ui64vNV -#endif -#endif - -/* GL_NV_shader_buffer_store */ - -#ifndef GL_NV_shader_buffer_store -#define GL_NV_shader_buffer_store 1 -#define __GLEE_GL_NV_shader_buffer_store 1 -/* Constants */ -#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010 -#endif - -/* GL_NV_tessellation_program5 */ - -#ifndef GL_NV_tessellation_program5 -#define GL_NV_tessellation_program5 1 -#define __GLEE_GL_NV_tessellation_program5 1 -/* Constants */ -#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 -#define GL_TESS_CONTROL_PROGRAM_NV 0x891E -#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F -#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 -#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 -#endif - -/* GL_NV_vertex_attrib_integer_64bit */ - -#ifndef GL_NV_vertex_attrib_integer_64bit -#define GL_NV_vertex_attrib_integer_64bit 1 -#define __GLEE_GL_NV_vertex_attrib_integer_64bit 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glVertexAttribL1i64NV -#define GLEE_H_DEFINED_glVertexAttribL1i64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1I64NVPROC GLeeFuncPtr_glVertexAttribL1i64NV; - #define glVertexAttribL1i64NV GLeeFuncPtr_glVertexAttribL1i64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2i64NV -#define GLEE_H_DEFINED_glVertexAttribL2i64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2I64NVPROC GLeeFuncPtr_glVertexAttribL2i64NV; - #define glVertexAttribL2i64NV GLeeFuncPtr_glVertexAttribL2i64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3i64NV -#define GLEE_H_DEFINED_glVertexAttribL3i64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3I64NVPROC GLeeFuncPtr_glVertexAttribL3i64NV; - #define glVertexAttribL3i64NV GLeeFuncPtr_glVertexAttribL3i64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4i64NV -#define GLEE_H_DEFINED_glVertexAttribL4i64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4I64NVPROC GLeeFuncPtr_glVertexAttribL4i64NV; - #define glVertexAttribL4i64NV GLeeFuncPtr_glVertexAttribL4i64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL1i64vNV -#define GLEE_H_DEFINED_glVertexAttribL1i64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1I64VNVPROC GLeeFuncPtr_glVertexAttribL1i64vNV; - #define glVertexAttribL1i64vNV GLeeFuncPtr_glVertexAttribL1i64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2i64vNV -#define GLEE_H_DEFINED_glVertexAttribL2i64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2I64VNVPROC GLeeFuncPtr_glVertexAttribL2i64vNV; - #define glVertexAttribL2i64vNV GLeeFuncPtr_glVertexAttribL2i64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3i64vNV -#define GLEE_H_DEFINED_glVertexAttribL3i64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3I64VNVPROC GLeeFuncPtr_glVertexAttribL3i64vNV; - #define glVertexAttribL3i64vNV GLeeFuncPtr_glVertexAttribL3i64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4i64vNV -#define GLEE_H_DEFINED_glVertexAttribL4i64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4I64VNVPROC GLeeFuncPtr_glVertexAttribL4i64vNV; - #define glVertexAttribL4i64vNV GLeeFuncPtr_glVertexAttribL4i64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL1ui64NV -#define GLEE_H_DEFINED_glVertexAttribL1ui64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1UI64NVPROC GLeeFuncPtr_glVertexAttribL1ui64NV; - #define glVertexAttribL1ui64NV GLeeFuncPtr_glVertexAttribL1ui64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2ui64NV -#define GLEE_H_DEFINED_glVertexAttribL2ui64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2UI64NVPROC GLeeFuncPtr_glVertexAttribL2ui64NV; - #define glVertexAttribL2ui64NV GLeeFuncPtr_glVertexAttribL2ui64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3ui64NV -#define GLEE_H_DEFINED_glVertexAttribL3ui64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3UI64NVPROC GLeeFuncPtr_glVertexAttribL3ui64NV; - #define glVertexAttribL3ui64NV GLeeFuncPtr_glVertexAttribL3ui64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4ui64NV -#define GLEE_H_DEFINED_glVertexAttribL4ui64NV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4UI64NVPROC GLeeFuncPtr_glVertexAttribL4ui64NV; - #define glVertexAttribL4ui64NV GLeeFuncPtr_glVertexAttribL4ui64NV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL1ui64vNV -#define GLEE_H_DEFINED_glVertexAttribL1ui64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL1UI64VNVPROC GLeeFuncPtr_glVertexAttribL1ui64vNV; - #define glVertexAttribL1ui64vNV GLeeFuncPtr_glVertexAttribL1ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL2ui64vNV -#define GLEE_H_DEFINED_glVertexAttribL2ui64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL2UI64VNVPROC GLeeFuncPtr_glVertexAttribL2ui64vNV; - #define glVertexAttribL2ui64vNV GLeeFuncPtr_glVertexAttribL2ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL3ui64vNV -#define GLEE_H_DEFINED_glVertexAttribL3ui64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL3UI64VNVPROC GLeeFuncPtr_glVertexAttribL3ui64vNV; - #define glVertexAttribL3ui64vNV GLeeFuncPtr_glVertexAttribL3ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribL4ui64vNV -#define GLEE_H_DEFINED_glVertexAttribL4ui64vNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT * v); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBL4UI64VNVPROC GLeeFuncPtr_glVertexAttribL4ui64vNV; - #define glVertexAttribL4ui64vNV GLeeFuncPtr_glVertexAttribL4ui64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribLi64vNV -#define GLEE_H_DEFINED_glGetVertexAttribLi64vNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBLI64VNVPROC GLeeFuncPtr_glGetVertexAttribLi64vNV; - #define glGetVertexAttribLi64vNV GLeeFuncPtr_glGetVertexAttribLi64vNV -#endif -#ifndef GLEE_H_DEFINED_glGetVertexAttribLui64vNV -#define GLEE_H_DEFINED_glGetVertexAttribLui64vNV - typedef void (APIENTRYP GLEEPFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT * params); - GLEE_EXTERN GLEEPFNGLGETVERTEXATTRIBLUI64VNVPROC GLeeFuncPtr_glGetVertexAttribLui64vNV; - #define glGetVertexAttribLui64vNV GLeeFuncPtr_glGetVertexAttribLui64vNV -#endif -#ifndef GLEE_H_DEFINED_glVertexAttribLFormatNV -#define GLEE_H_DEFINED_glVertexAttribLFormatNV - typedef void (APIENTRYP GLEEPFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); - GLEE_EXTERN GLEEPFNGLVERTEXATTRIBLFORMATNVPROC GLeeFuncPtr_glVertexAttribLFormatNV; - #define glVertexAttribLFormatNV GLeeFuncPtr_glVertexAttribLFormatNV -#endif -#endif - -/* GL_NV_multisample_coverage */ - -#ifndef GL_NV_multisample_coverage -#define GL_NV_multisample_coverage 1 -#define __GLEE_GL_NV_multisample_coverage 1 -/* Constants */ -#define GL_COVERAGE_SAMPLES_NV 0x80A9 -#define GL_COLOR_SAMPLES_NV 0x8E20 -#endif - -/* GL_AMD_name_gen_delete */ - -#ifndef GL_AMD_name_gen_delete -#define GL_AMD_name_gen_delete 1 -#define __GLEE_GL_AMD_name_gen_delete 1 -/* Constants */ -#define GL_DATA_BUFFER_AMD 0x9151 -#define GL_PERFORMANCE_MONITOR_AMD 0x9152 -#define GL_QUERY_OBJECT_AMD 0x9153 -#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 -#define GL_SAMPLER_OBJECT_AMD 0x9155 -#ifndef GLEE_H_DEFINED_glGenNamesAMD -#define GLEE_H_DEFINED_glGenNamesAMD - typedef void (APIENTRYP GLEEPFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint * names); - GLEE_EXTERN GLEEPFNGLGENNAMESAMDPROC GLeeFuncPtr_glGenNamesAMD; - #define glGenNamesAMD GLeeFuncPtr_glGenNamesAMD -#endif -#ifndef GLEE_H_DEFINED_glDeleteNamesAMD -#define GLEE_H_DEFINED_glDeleteNamesAMD - typedef void (APIENTRYP GLEEPFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint * names); - GLEE_EXTERN GLEEPFNGLDELETENAMESAMDPROC GLeeFuncPtr_glDeleteNamesAMD; - #define glDeleteNamesAMD GLeeFuncPtr_glDeleteNamesAMD -#endif -#ifndef GLEE_H_DEFINED_glIsNameAMD -#define GLEE_H_DEFINED_glIsNameAMD - typedef GLboolean (APIENTRYP GLEEPFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name); - GLEE_EXTERN GLEEPFNGLISNAMEAMDPROC GLeeFuncPtr_glIsNameAMD; - #define glIsNameAMD GLeeFuncPtr_glIsNameAMD -#endif -#endif - -/* GL_AMD_debug_output */ - -#ifndef GL_AMD_debug_output -#define GL_AMD_debug_output 1 -#define __GLEE_GL_AMD_debug_output 1 -/* Constants */ -#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 -#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 -#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 -#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 -#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A -#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B -#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C -#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D -#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E -#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F -#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 -#ifndef GLEE_H_DEFINED_glDebugMessageEnableAMD -#define GLEE_H_DEFINED_glDebugMessageEnableAMD - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGEENABLEAMDPROC GLeeFuncPtr_glDebugMessageEnableAMD; - #define glDebugMessageEnableAMD GLeeFuncPtr_glDebugMessageEnableAMD -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageInsertAMD -#define GLEE_H_DEFINED_glDebugMessageInsertAMD - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar * buf); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGEINSERTAMDPROC GLeeFuncPtr_glDebugMessageInsertAMD; - #define glDebugMessageInsertAMD GLeeFuncPtr_glDebugMessageInsertAMD -#endif -#ifndef GLEE_H_DEFINED_glDebugMessageCallbackAMD -#define GLEE_H_DEFINED_glDebugMessageCallbackAMD - typedef void (APIENTRYP GLEEPFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid * userParam); - GLEE_EXTERN GLEEPFNGLDEBUGMESSAGECALLBACKAMDPROC GLeeFuncPtr_glDebugMessageCallbackAMD; - #define glDebugMessageCallbackAMD GLeeFuncPtr_glDebugMessageCallbackAMD -#endif -#ifndef GLEE_H_DEFINED_glGetDebugMessageLogAMD -#define GLEE_H_DEFINED_glGetDebugMessageLogAMD - typedef GLuint (APIENTRYP GLEEPFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum * categories, GLuint * severities, GLuint * ids, GLsizei * lengths, GLchar * message); - GLEE_EXTERN GLEEPFNGLGETDEBUGMESSAGELOGAMDPROC GLeeFuncPtr_glGetDebugMessageLogAMD; - #define glGetDebugMessageLogAMD GLeeFuncPtr_glGetDebugMessageLogAMD -#endif -#endif - -/* GL_AMD_transform_feedback3_lines_triangles */ - -#ifndef GL_AMD_transform_feedback3_lines_triangles -#define GL_AMD_transform_feedback3_lines_triangles 1 -#define __GLEE_GL_AMD_transform_feedback3_lines_triangles 1 -/* Constants */ -#endif - -/* GL_AMD_depth_clamp_separate */ - -#ifndef GL_AMD_depth_clamp_separate -#define GL_AMD_depth_clamp_separate 1 -#define __GLEE_GL_AMD_depth_clamp_separate 1 -/* Constants */ -#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E -#define GL_DEPTH_CLAMP_FAR_AMD 0x901F -#endif - -/* GL_EXT_texture_sRGB_decode */ - -#ifndef GL_EXT_texture_sRGB_decode -#define GL_EXT_texture_sRGB_decode 1 -#define __GLEE_GL_EXT_texture_sRGB_decode 1 -/* Constants */ -#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 -#define GL_DECODE_EXT 0x8A49 -#define GL_SKIP_DECODE_EXT 0x8A4A -#endif - -/* GL_NV_texture_multisample */ - -#ifndef GL_NV_texture_multisample -#define GL_NV_texture_multisample 1 -#define __GLEE_GL_NV_texture_multisample 1 -/* Constants */ -#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 -#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 -#ifndef GLEE_H_DEFINED_glTexImage2DMultisampleCoverageNV -#define GLEE_H_DEFINED_glTexImage2DMultisampleCoverageNV - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTexImage2DMultisampleCoverageNV; - #define glTexImage2DMultisampleCoverageNV GLeeFuncPtr_glTexImage2DMultisampleCoverageNV -#endif -#ifndef GLEE_H_DEFINED_glTexImage3DMultisampleCoverageNV -#define GLEE_H_DEFINED_glTexImage3DMultisampleCoverageNV - typedef void (APIENTRYP GLEEPFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTexImage3DMultisampleCoverageNV; - #define glTexImage3DMultisampleCoverageNV GLeeFuncPtr_glTexImage3DMultisampleCoverageNV -#endif -#ifndef GLEE_H_DEFINED_glTextureImage2DMultisampleNV -#define GLEE_H_DEFINED_glTextureImage2DMultisampleNV - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC GLeeFuncPtr_glTextureImage2DMultisampleNV; - #define glTextureImage2DMultisampleNV GLeeFuncPtr_glTextureImage2DMultisampleNV -#endif -#ifndef GLEE_H_DEFINED_glTextureImage3DMultisampleNV -#define GLEE_H_DEFINED_glTextureImage3DMultisampleNV - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC GLeeFuncPtr_glTextureImage3DMultisampleNV; - #define glTextureImage3DMultisampleNV GLeeFuncPtr_glTextureImage3DMultisampleNV -#endif -#ifndef GLEE_H_DEFINED_glTextureImage2DMultisampleCoverageNV -#define GLEE_H_DEFINED_glTextureImage2DMultisampleCoverageNV - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTextureImage2DMultisampleCoverageNV; - #define glTextureImage2DMultisampleCoverageNV GLeeFuncPtr_glTextureImage2DMultisampleCoverageNV -#endif -#ifndef GLEE_H_DEFINED_glTextureImage3DMultisampleCoverageNV -#define GLEE_H_DEFINED_glTextureImage3DMultisampleCoverageNV - typedef void (APIENTRYP GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); - GLEE_EXTERN GLEEPFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC GLeeFuncPtr_glTextureImage3DMultisampleCoverageNV; - #define glTextureImage3DMultisampleCoverageNV GLeeFuncPtr_glTextureImage3DMultisampleCoverageNV -#endif -#endif - -/* GL_AMD_blend_minmax_factor */ - -#ifndef GL_AMD_blend_minmax_factor -#define GL_AMD_blend_minmax_factor 1 -#define __GLEE_GL_AMD_blend_minmax_factor 1 -/* Constants */ -#define GL_FACTOR_MIN_AMD 0x901C -#define GL_FACTOR_MAX_AMD 0x901D -#endif - -/* GL_AMD_sample_positions */ - -#ifndef GL_AMD_sample_positions -#define GL_AMD_sample_positions 1 -#define __GLEE_GL_AMD_sample_positions 1 -/* Constants */ -#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F -#ifndef GLEE_H_DEFINED_glSetMultisamplefvAMD -#define GLEE_H_DEFINED_glSetMultisamplefvAMD - typedef void (APIENTRYP GLEEPFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat * val); - GLEE_EXTERN GLEEPFNGLSETMULTISAMPLEFVAMDPROC GLeeFuncPtr_glSetMultisamplefvAMD; - #define glSetMultisamplefvAMD GLeeFuncPtr_glSetMultisamplefvAMD -#endif -#endif - -/* GL_EXT_x11_sync_object */ - -#ifndef GL_EXT_x11_sync_object -#define GL_EXT_x11_sync_object 1 -#define __GLEE_GL_EXT_x11_sync_object 1 -/* Constants */ -#define GL_SYNC_X11_FENCE_EXT 0x90E1 -#ifndef GLEE_H_DEFINED_glImportSyncEXT -#define GLEE_H_DEFINED_glImportSyncEXT - typedef GLsync (APIENTRYP GLEEPFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); - GLEE_EXTERN GLEEPFNGLIMPORTSYNCEXTPROC GLeeFuncPtr_glImportSyncEXT; - #define glImportSyncEXT GLeeFuncPtr_glImportSyncEXT -#endif -#endif - -/* GL_AMD_multi_draw_indirect */ - -#ifndef GL_AMD_multi_draw_indirect -#define GL_AMD_multi_draw_indirect 1 -#define __GLEE_GL_AMD_multi_draw_indirect 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glMultiDrawArraysIndirectAMD -#define GLEE_H_DEFINED_glMultiDrawArraysIndirectAMD - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid * indirect, GLsizei primcount, GLsizei stride); - GLEE_EXTERN GLEEPFNGLMULTIDRAWARRAYSINDIRECTAMDPROC GLeeFuncPtr_glMultiDrawArraysIndirectAMD; - #define glMultiDrawArraysIndirectAMD GLeeFuncPtr_glMultiDrawArraysIndirectAMD -#endif -#ifndef GLEE_H_DEFINED_glMultiDrawElementsIndirectAMD -#define GLEE_H_DEFINED_glMultiDrawElementsIndirectAMD - typedef void (APIENTRYP GLEEPFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid * indirect, GLsizei primcount, GLsizei stride); - GLEE_EXTERN GLEEPFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC GLeeFuncPtr_glMultiDrawElementsIndirectAMD; - #define glMultiDrawElementsIndirectAMD GLeeFuncPtr_glMultiDrawElementsIndirectAMD -#endif -#endif - -/* GL_EXT_framebuffer_multisample_blit_scaled */ - -#ifndef GL_EXT_framebuffer_multisample_blit_scaled -#define GL_EXT_framebuffer_multisample_blit_scaled 1 -#define __GLEE_GL_EXT_framebuffer_multisample_blit_scaled 1 -/* Constants */ -#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA -#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB -#endif - -/* GL_NV_path_rendering */ - -#ifndef GL_NV_path_rendering -#define GL_NV_path_rendering 1 -#define __GLEE_GL_NV_path_rendering 1 -/* Constants */ -#define GL_PATH_FORMAT_SVG_NV 0x9070 -#define GL_PATH_FORMAT_PS_NV 0x9071 -#define GL_STANDARD_FONT_NAME_NV 0x9072 -#define GL_SYSTEM_FONT_NAME_NV 0x9073 -#define GL_FILE_NAME_NV 0x9074 -#define GL_PATH_STROKE_WIDTH_NV 0x9075 -#define GL_PATH_END_CAPS_NV 0x9076 -#define GL_PATH_INITIAL_END_CAP_NV 0x9077 -#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 -#define GL_PATH_JOIN_STYLE_NV 0x9079 -#define GL_PATH_MITER_LIMIT_NV 0x907A -#define GL_PATH_DASH_CAPS_NV 0x907B -#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C -#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D -#define GL_PATH_DASH_OFFSET_NV 0x907E -#define GL_PATH_CLIENT_LENGTH_NV 0x907F -#define GL_PATH_FILL_MODE_NV 0x9080 -#define GL_PATH_FILL_MASK_NV 0x9081 -#define GL_PATH_FILL_COVER_MODE_NV 0x9082 -#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 -#define GL_PATH_STROKE_MASK_NV 0x9084 -#define GL_COUNT_UP_NV 0x9088 -#define GL_COUNT_DOWN_NV 0x9089 -#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A -#define GL_CONVEX_HULL_NV 0x908B -#define GL_BOUNDING_BOX_NV 0x908D -#define GL_TRANSLATE_X_NV 0x908E -#define GL_TRANSLATE_Y_NV 0x908F -#define GL_TRANSLATE_2D_NV 0x9090 -#define GL_TRANSLATE_3D_NV 0x9091 -#define GL_AFFINE_2D_NV 0x9092 -#define GL_AFFINE_3D_NV 0x9094 -#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 -#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 -#define GL_UTF8_NV 0x909A -#define GL_UTF16_NV 0x909B -#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C -#define GL_PATH_COMMAND_COUNT_NV 0x909D -#define GL_PATH_COORD_COUNT_NV 0x909E -#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F -#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 -#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 -#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 -#define GL_SQUARE_NV 0x90A3 -#define GL_ROUND_NV 0x90A4 -#define GL_TRIANGULAR_NV 0x90A5 -#define GL_BEVEL_NV 0x90A6 -#define GL_MITER_REVERT_NV 0x90A7 -#define GL_MITER_TRUNCATE_NV 0x90A8 -#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 -#define GL_USE_MISSING_GLYPH_NV 0x90AA -#define GL_PATH_ERROR_POSITION_NV 0x90AB -#define GL_PATH_FOG_GEN_MODE_NV 0x90AC -#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD -#define GL_ADJACENT_PAIRS_NV 0x90AE -#define GL_FIRST_TO_REST_NV 0x90AF -#define GL_PATH_GEN_MODE_NV 0x90B0 -#define GL_PATH_GEN_COEFF_NV 0x90B1 -#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 -#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 -#define GL_PATH_STENCIL_FUNC_NV 0x90B7 -#define GL_PATH_STENCIL_REF_NV 0x90B8 -#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 -#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD -#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE -#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF -#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 -#define GL_MOVE_TO_RESETS_NV 0x90B5 -#define GL_MOVE_TO_CONTINUES_NV 0x90B6 -#define GL_CLOSE_PATH_NV 0x00 -#define GL_MOVE_TO_NV 0x02 -#define GL_RELATIVE_MOVE_TO_NV 0x03 -#define GL_LINE_TO_NV 0x04 -#define GL_RELATIVE_LINE_TO_NV 0x05 -#define GL_HORIZONTAL_LINE_TO_NV 0x06 -#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 -#define GL_VERTICAL_LINE_TO_NV 0x08 -#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 -#define GL_QUADRATIC_CURVE_TO_NV 0x0A -#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B -#define GL_CUBIC_CURVE_TO_NV 0x0C -#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D -#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E -#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F -#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 -#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 -#define GL_SMALL_CCW_ARC_TO_NV 0x12 -#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 -#define GL_SMALL_CW_ARC_TO_NV 0x14 -#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 -#define GL_LARGE_CCW_ARC_TO_NV 0x16 -#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 -#define GL_LARGE_CW_ARC_TO_NV 0x18 -#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 -#define GL_RESTART_PATH_NV 0xF0 -#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 -#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 -#define GL_RECT_NV 0xF6 -#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 -#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA -#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC -#define GL_ARC_TO_NV 0xFE -#define GL_RELATIVE_ARC_TO_NV 0xFF -#define GL_BOLD_BIT_NV 0x01 -#define GL_ITALIC_BIT_NV 0x02 -#define GL_GLYPH_WIDTH_BIT_NV 0x01 -#define GL_GLYPH_HEIGHT_BIT_NV 0x02 -#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 -#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 -#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 -#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 -#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 -#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 -#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 -#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 -#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 -#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 -#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 -#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 -#define GL_FONT_ASCENDER_BIT_NV 0x00200000 -#define GL_FONT_DESCENDER_BIT_NV 0x00400000 -#define GL_FONT_HEIGHT_BIT_NV 0x00800000 -#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 -#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 -#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 -#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 -#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 -#ifndef GLEE_H_DEFINED_glGenPathsNV -#define GLEE_H_DEFINED_glGenPathsNV - typedef GLuint (APIENTRYP GLEEPFNGLGENPATHSNVPROC) (GLsizei range); - GLEE_EXTERN GLEEPFNGLGENPATHSNVPROC GLeeFuncPtr_glGenPathsNV; - #define glGenPathsNV GLeeFuncPtr_glGenPathsNV -#endif -#ifndef GLEE_H_DEFINED_glDeletePathsNV -#define GLEE_H_DEFINED_glDeletePathsNV - typedef void (APIENTRYP GLEEPFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); - GLEE_EXTERN GLEEPFNGLDELETEPATHSNVPROC GLeeFuncPtr_glDeletePathsNV; - #define glDeletePathsNV GLeeFuncPtr_glDeletePathsNV -#endif -#ifndef GLEE_H_DEFINED_glIsPathNV -#define GLEE_H_DEFINED_glIsPathNV - typedef GLboolean (APIENTRYP GLEEPFNGLISPATHNVPROC) (GLuint path); - GLEE_EXTERN GLEEPFNGLISPATHNVPROC GLeeFuncPtr_glIsPathNV; - #define glIsPathNV GLeeFuncPtr_glIsPathNV -#endif -#ifndef GLEE_H_DEFINED_glPathCommandsNV -#define GLEE_H_DEFINED_glPathCommandsNV - typedef void (APIENTRYP GLEEPFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coords); - GLEE_EXTERN GLEEPFNGLPATHCOMMANDSNVPROC GLeeFuncPtr_glPathCommandsNV; - #define glPathCommandsNV GLeeFuncPtr_glPathCommandsNV -#endif -#ifndef GLEE_H_DEFINED_glPathCoordsNV -#define GLEE_H_DEFINED_glPathCoordsNV - typedef void (APIENTRYP GLEEPFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid * coords); - GLEE_EXTERN GLEEPFNGLPATHCOORDSNVPROC GLeeFuncPtr_glPathCoordsNV; - #define glPathCoordsNV GLeeFuncPtr_glPathCoordsNV -#endif -#ifndef GLEE_H_DEFINED_glPathSubCommandsNV -#define GLEE_H_DEFINED_glPathSubCommandsNV - typedef void (APIENTRYP GLEEPFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coords); - GLEE_EXTERN GLEEPFNGLPATHSUBCOMMANDSNVPROC GLeeFuncPtr_glPathSubCommandsNV; - #define glPathSubCommandsNV GLeeFuncPtr_glPathSubCommandsNV -#endif -#ifndef GLEE_H_DEFINED_glPathSubCoordsNV -#define GLEE_H_DEFINED_glPathSubCoordsNV - typedef void (APIENTRYP GLEEPFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid * coords); - GLEE_EXTERN GLEEPFNGLPATHSUBCOORDSNVPROC GLeeFuncPtr_glPathSubCoordsNV; - #define glPathSubCoordsNV GLeeFuncPtr_glPathSubCoordsNV -#endif -#ifndef GLEE_H_DEFINED_glPathStringNV -#define GLEE_H_DEFINED_glPathStringNV - typedef void (APIENTRYP GLEEPFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const GLvoid * pathString); - GLEE_EXTERN GLEEPFNGLPATHSTRINGNVPROC GLeeFuncPtr_glPathStringNV; - #define glPathStringNV GLeeFuncPtr_glPathStringNV -#endif -#ifndef GLEE_H_DEFINED_glPathGlyphsNV -#define GLEE_H_DEFINED_glPathGlyphsNV - typedef void (APIENTRYP GLEEPFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const GLvoid * fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid * charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); - GLEE_EXTERN GLEEPFNGLPATHGLYPHSNVPROC GLeeFuncPtr_glPathGlyphsNV; - #define glPathGlyphsNV GLeeFuncPtr_glPathGlyphsNV -#endif -#ifndef GLEE_H_DEFINED_glPathGlyphRangeNV -#define GLEE_H_DEFINED_glPathGlyphRangeNV - typedef void (APIENTRYP GLEEPFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const GLvoid * fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); - GLEE_EXTERN GLEEPFNGLPATHGLYPHRANGENVPROC GLeeFuncPtr_glPathGlyphRangeNV; - #define glPathGlyphRangeNV GLeeFuncPtr_glPathGlyphRangeNV -#endif -#ifndef GLEE_H_DEFINED_glWeightPathsNV -#define GLEE_H_DEFINED_glWeightPathsNV - typedef void (APIENTRYP GLEEPFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint * paths, const GLfloat * weights); - GLEE_EXTERN GLEEPFNGLWEIGHTPATHSNVPROC GLeeFuncPtr_glWeightPathsNV; - #define glWeightPathsNV GLeeFuncPtr_glWeightPathsNV -#endif -#ifndef GLEE_H_DEFINED_glCopyPathNV -#define GLEE_H_DEFINED_glCopyPathNV - typedef void (APIENTRYP GLEEPFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); - GLEE_EXTERN GLEEPFNGLCOPYPATHNVPROC GLeeFuncPtr_glCopyPathNV; - #define glCopyPathNV GLeeFuncPtr_glCopyPathNV -#endif -#ifndef GLEE_H_DEFINED_glInterpolatePathsNV -#define GLEE_H_DEFINED_glInterpolatePathsNV - typedef void (APIENTRYP GLEEPFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); - GLEE_EXTERN GLEEPFNGLINTERPOLATEPATHSNVPROC GLeeFuncPtr_glInterpolatePathsNV; - #define glInterpolatePathsNV GLeeFuncPtr_glInterpolatePathsNV -#endif -#ifndef GLEE_H_DEFINED_glTransformPathNV -#define GLEE_H_DEFINED_glTransformPathNV - typedef void (APIENTRYP GLEEPFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat * transformValues); - GLEE_EXTERN GLEEPFNGLTRANSFORMPATHNVPROC GLeeFuncPtr_glTransformPathNV; - #define glTransformPathNV GLeeFuncPtr_glTransformPathNV -#endif -#ifndef GLEE_H_DEFINED_glPathParameterivNV -#define GLEE_H_DEFINED_glPathParameterivNV - typedef void (APIENTRYP GLEEPFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint * value); - GLEE_EXTERN GLEEPFNGLPATHPARAMETERIVNVPROC GLeeFuncPtr_glPathParameterivNV; - #define glPathParameterivNV GLeeFuncPtr_glPathParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glPathParameteriNV -#define GLEE_H_DEFINED_glPathParameteriNV - typedef void (APIENTRYP GLEEPFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); - GLEE_EXTERN GLEEPFNGLPATHPARAMETERINVPROC GLeeFuncPtr_glPathParameteriNV; - #define glPathParameteriNV GLeeFuncPtr_glPathParameteriNV -#endif -#ifndef GLEE_H_DEFINED_glPathParameterfvNV -#define GLEE_H_DEFINED_glPathParameterfvNV - typedef void (APIENTRYP GLEEPFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat * value); - GLEE_EXTERN GLEEPFNGLPATHPARAMETERFVNVPROC GLeeFuncPtr_glPathParameterfvNV; - #define glPathParameterfvNV GLeeFuncPtr_glPathParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glPathParameterfNV -#define GLEE_H_DEFINED_glPathParameterfNV - typedef void (APIENTRYP GLEEPFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); - GLEE_EXTERN GLEEPFNGLPATHPARAMETERFNVPROC GLeeFuncPtr_glPathParameterfNV; - #define glPathParameterfNV GLeeFuncPtr_glPathParameterfNV -#endif -#ifndef GLEE_H_DEFINED_glPathDashArrayNV -#define GLEE_H_DEFINED_glPathDashArrayNV - typedef void (APIENTRYP GLEEPFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat * dashArray); - GLEE_EXTERN GLEEPFNGLPATHDASHARRAYNVPROC GLeeFuncPtr_glPathDashArrayNV; - #define glPathDashArrayNV GLeeFuncPtr_glPathDashArrayNV -#endif -#ifndef GLEE_H_DEFINED_glPathStencilFuncNV -#define GLEE_H_DEFINED_glPathStencilFuncNV - typedef void (APIENTRYP GLEEPFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); - GLEE_EXTERN GLEEPFNGLPATHSTENCILFUNCNVPROC GLeeFuncPtr_glPathStencilFuncNV; - #define glPathStencilFuncNV GLeeFuncPtr_glPathStencilFuncNV -#endif -#ifndef GLEE_H_DEFINED_glPathStencilDepthOffsetNV -#define GLEE_H_DEFINED_glPathStencilDepthOffsetNV - typedef void (APIENTRYP GLEEPFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); - GLEE_EXTERN GLEEPFNGLPATHSTENCILDEPTHOFFSETNVPROC GLeeFuncPtr_glPathStencilDepthOffsetNV; - #define glPathStencilDepthOffsetNV GLeeFuncPtr_glPathStencilDepthOffsetNV -#endif -#ifndef GLEE_H_DEFINED_glStencilFillPathNV -#define GLEE_H_DEFINED_glStencilFillPathNV - typedef void (APIENTRYP GLEEPFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); - GLEE_EXTERN GLEEPFNGLSTENCILFILLPATHNVPROC GLeeFuncPtr_glStencilFillPathNV; - #define glStencilFillPathNV GLeeFuncPtr_glStencilFillPathNV -#endif -#ifndef GLEE_H_DEFINED_glStencilStrokePathNV -#define GLEE_H_DEFINED_glStencilStrokePathNV - typedef void (APIENTRYP GLEEPFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); - GLEE_EXTERN GLEEPFNGLSTENCILSTROKEPATHNVPROC GLeeFuncPtr_glStencilStrokePathNV; - #define glStencilStrokePathNV GLeeFuncPtr_glStencilStrokePathNV -#endif -#ifndef GLEE_H_DEFINED_glStencilFillPathInstancedNV -#define GLEE_H_DEFINED_glStencilFillPathInstancedNV - typedef void (APIENTRYP GLEEPFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues); - GLEE_EXTERN GLEEPFNGLSTENCILFILLPATHINSTANCEDNVPROC GLeeFuncPtr_glStencilFillPathInstancedNV; - #define glStencilFillPathInstancedNV GLeeFuncPtr_glStencilFillPathInstancedNV -#endif -#ifndef GLEE_H_DEFINED_glStencilStrokePathInstancedNV -#define GLEE_H_DEFINED_glStencilStrokePathInstancedNV - typedef void (APIENTRYP GLEEPFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues); - GLEE_EXTERN GLEEPFNGLSTENCILSTROKEPATHINSTANCEDNVPROC GLeeFuncPtr_glStencilStrokePathInstancedNV; - #define glStencilStrokePathInstancedNV GLeeFuncPtr_glStencilStrokePathInstancedNV -#endif -#ifndef GLEE_H_DEFINED_glPathCoverDepthFuncNV -#define GLEE_H_DEFINED_glPathCoverDepthFuncNV - typedef void (APIENTRYP GLEEPFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func); - GLEE_EXTERN GLEEPFNGLPATHCOVERDEPTHFUNCNVPROC GLeeFuncPtr_glPathCoverDepthFuncNV; - #define glPathCoverDepthFuncNV GLeeFuncPtr_glPathCoverDepthFuncNV -#endif -#ifndef GLEE_H_DEFINED_glPathColorGenNV -#define GLEE_H_DEFINED_glPathColorGenNV - typedef void (APIENTRYP GLEEPFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat * coeffs); - GLEE_EXTERN GLEEPFNGLPATHCOLORGENNVPROC GLeeFuncPtr_glPathColorGenNV; - #define glPathColorGenNV GLeeFuncPtr_glPathColorGenNV -#endif -#ifndef GLEE_H_DEFINED_glPathTexGenNV -#define GLEE_H_DEFINED_glPathTexGenNV - typedef void (APIENTRYP GLEEPFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat * coeffs); - GLEE_EXTERN GLEEPFNGLPATHTEXGENNVPROC GLeeFuncPtr_glPathTexGenNV; - #define glPathTexGenNV GLeeFuncPtr_glPathTexGenNV -#endif -#ifndef GLEE_H_DEFINED_glPathFogGenNV -#define GLEE_H_DEFINED_glPathFogGenNV - typedef void (APIENTRYP GLEEPFNGLPATHFOGGENNVPROC) (GLenum genMode); - GLEE_EXTERN GLEEPFNGLPATHFOGGENNVPROC GLeeFuncPtr_glPathFogGenNV; - #define glPathFogGenNV GLeeFuncPtr_glPathFogGenNV -#endif -#ifndef GLEE_H_DEFINED_glCoverFillPathNV -#define GLEE_H_DEFINED_glCoverFillPathNV - typedef void (APIENTRYP GLEEPFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); - GLEE_EXTERN GLEEPFNGLCOVERFILLPATHNVPROC GLeeFuncPtr_glCoverFillPathNV; - #define glCoverFillPathNV GLeeFuncPtr_glCoverFillPathNV -#endif -#ifndef GLEE_H_DEFINED_glCoverStrokePathNV -#define GLEE_H_DEFINED_glCoverStrokePathNV - typedef void (APIENTRYP GLEEPFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); - GLEE_EXTERN GLEEPFNGLCOVERSTROKEPATHNVPROC GLeeFuncPtr_glCoverStrokePathNV; - #define glCoverStrokePathNV GLeeFuncPtr_glCoverStrokePathNV -#endif -#ifndef GLEE_H_DEFINED_glCoverFillPathInstancedNV -#define GLEE_H_DEFINED_glCoverFillPathInstancedNV - typedef void (APIENTRYP GLEEPFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); - GLEE_EXTERN GLEEPFNGLCOVERFILLPATHINSTANCEDNVPROC GLeeFuncPtr_glCoverFillPathInstancedNV; - #define glCoverFillPathInstancedNV GLeeFuncPtr_glCoverFillPathInstancedNV -#endif -#ifndef GLEE_H_DEFINED_glCoverStrokePathInstancedNV -#define GLEE_H_DEFINED_glCoverStrokePathInstancedNV - typedef void (APIENTRYP GLEEPFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); - GLEE_EXTERN GLEEPFNGLCOVERSTROKEPATHINSTANCEDNVPROC GLeeFuncPtr_glCoverStrokePathInstancedNV; - #define glCoverStrokePathInstancedNV GLeeFuncPtr_glCoverStrokePathInstancedNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathParameterivNV -#define GLEE_H_DEFINED_glGetPathParameterivNV - typedef void (APIENTRYP GLEEPFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint * value); - GLEE_EXTERN GLEEPFNGLGETPATHPARAMETERIVNVPROC GLeeFuncPtr_glGetPathParameterivNV; - #define glGetPathParameterivNV GLeeFuncPtr_glGetPathParameterivNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathParameterfvNV -#define GLEE_H_DEFINED_glGetPathParameterfvNV - typedef void (APIENTRYP GLEEPFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat * value); - GLEE_EXTERN GLEEPFNGLGETPATHPARAMETERFVNVPROC GLeeFuncPtr_glGetPathParameterfvNV; - #define glGetPathParameterfvNV GLeeFuncPtr_glGetPathParameterfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathCommandsNV -#define GLEE_H_DEFINED_glGetPathCommandsNV - typedef void (APIENTRYP GLEEPFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte * commands); - GLEE_EXTERN GLEEPFNGLGETPATHCOMMANDSNVPROC GLeeFuncPtr_glGetPathCommandsNV; - #define glGetPathCommandsNV GLeeFuncPtr_glGetPathCommandsNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathCoordsNV -#define GLEE_H_DEFINED_glGetPathCoordsNV - typedef void (APIENTRYP GLEEPFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat * coords); - GLEE_EXTERN GLEEPFNGLGETPATHCOORDSNVPROC GLeeFuncPtr_glGetPathCoordsNV; - #define glGetPathCoordsNV GLeeFuncPtr_glGetPathCoordsNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathDashArrayNV -#define GLEE_H_DEFINED_glGetPathDashArrayNV - typedef void (APIENTRYP GLEEPFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat * dashArray); - GLEE_EXTERN GLEEPFNGLGETPATHDASHARRAYNVPROC GLeeFuncPtr_glGetPathDashArrayNV; - #define glGetPathDashArrayNV GLeeFuncPtr_glGetPathDashArrayNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathMetricsNV -#define GLEE_H_DEFINED_glGetPathMetricsNV - typedef void (APIENTRYP GLEEPFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLsizei stride, GLfloat * metrics); - GLEE_EXTERN GLEEPFNGLGETPATHMETRICSNVPROC GLeeFuncPtr_glGetPathMetricsNV; - #define glGetPathMetricsNV GLeeFuncPtr_glGetPathMetricsNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathMetricRangeNV -#define GLEE_H_DEFINED_glGetPathMetricRangeNV - typedef void (APIENTRYP GLEEPFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat * metrics); - GLEE_EXTERN GLEEPFNGLGETPATHMETRICRANGENVPROC GLeeFuncPtr_glGetPathMetricRangeNV; - #define glGetPathMetricRangeNV GLeeFuncPtr_glGetPathMetricRangeNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathSpacingNV -#define GLEE_H_DEFINED_glGetPathSpacingNV - typedef void (APIENTRYP GLEEPFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat * returnedSpacing); - GLEE_EXTERN GLEEPFNGLGETPATHSPACINGNVPROC GLeeFuncPtr_glGetPathSpacingNV; - #define glGetPathSpacingNV GLeeFuncPtr_glGetPathSpacingNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathColorGenivNV -#define GLEE_H_DEFINED_glGetPathColorGenivNV - typedef void (APIENTRYP GLEEPFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint * value); - GLEE_EXTERN GLEEPFNGLGETPATHCOLORGENIVNVPROC GLeeFuncPtr_glGetPathColorGenivNV; - #define glGetPathColorGenivNV GLeeFuncPtr_glGetPathColorGenivNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathColorGenfvNV -#define GLEE_H_DEFINED_glGetPathColorGenfvNV - typedef void (APIENTRYP GLEEPFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat * value); - GLEE_EXTERN GLEEPFNGLGETPATHCOLORGENFVNVPROC GLeeFuncPtr_glGetPathColorGenfvNV; - #define glGetPathColorGenfvNV GLeeFuncPtr_glGetPathColorGenfvNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathTexGenivNV -#define GLEE_H_DEFINED_glGetPathTexGenivNV - typedef void (APIENTRYP GLEEPFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint * value); - GLEE_EXTERN GLEEPFNGLGETPATHTEXGENIVNVPROC GLeeFuncPtr_glGetPathTexGenivNV; - #define glGetPathTexGenivNV GLeeFuncPtr_glGetPathTexGenivNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathTexGenfvNV -#define GLEE_H_DEFINED_glGetPathTexGenfvNV - typedef void (APIENTRYP GLEEPFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat * value); - GLEE_EXTERN GLEEPFNGLGETPATHTEXGENFVNVPROC GLeeFuncPtr_glGetPathTexGenfvNV; - #define glGetPathTexGenfvNV GLeeFuncPtr_glGetPathTexGenfvNV -#endif -#ifndef GLEE_H_DEFINED_glIsPointInFillPathNV -#define GLEE_H_DEFINED_glIsPointInFillPathNV - typedef GLboolean (APIENTRYP GLEEPFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLISPOINTINFILLPATHNVPROC GLeeFuncPtr_glIsPointInFillPathNV; - #define glIsPointInFillPathNV GLeeFuncPtr_glIsPointInFillPathNV -#endif -#ifndef GLEE_H_DEFINED_glIsPointInStrokePathNV -#define GLEE_H_DEFINED_glIsPointInStrokePathNV - typedef GLboolean (APIENTRYP GLEEPFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); - GLEE_EXTERN GLEEPFNGLISPOINTINSTROKEPATHNVPROC GLeeFuncPtr_glIsPointInStrokePathNV; - #define glIsPointInStrokePathNV GLeeFuncPtr_glIsPointInStrokePathNV -#endif -#ifndef GLEE_H_DEFINED_glGetPathLengthNV -#define GLEE_H_DEFINED_glGetPathLengthNV - typedef GLfloat (APIENTRYP GLEEPFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); - GLEE_EXTERN GLEEPFNGLGETPATHLENGTHNVPROC GLeeFuncPtr_glGetPathLengthNV; - #define glGetPathLengthNV GLeeFuncPtr_glGetPathLengthNV -#endif -#ifndef GLEE_H_DEFINED_glPointAlongPathNV -#define GLEE_H_DEFINED_glPointAlongPathNV - typedef GLboolean (APIENTRYP GLEEPFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat * x, GLfloat * y, GLfloat * tangentX, GLfloat * tangentY); - GLEE_EXTERN GLEEPFNGLPOINTALONGPATHNVPROC GLeeFuncPtr_glPointAlongPathNV; - #define glPointAlongPathNV GLeeFuncPtr_glPointAlongPathNV -#endif -#endif - -/* GL_AMD_pinned_memory */ - -#ifndef GL_AMD_pinned_memory -#define GL_AMD_pinned_memory 1 -#define __GLEE_GL_AMD_pinned_memory 1 -/* Constants */ -#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 -#endif - -/* GL_AMD_stencil_operation_extended */ - -#ifndef GL_AMD_stencil_operation_extended -#define GL_AMD_stencil_operation_extended 1 -#define __GLEE_GL_AMD_stencil_operation_extended 1 -/* Constants */ -#define GL_SET_AMD 0x874A -#define GL_REPLACE_VALUE_AMD 0x874B -#define GL_STENCIL_OP_VALUE_AMD 0x874C -#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D -#ifndef GLEE_H_DEFINED_glStencilOpValueAMD -#define GLEE_H_DEFINED_glStencilOpValueAMD - typedef void (APIENTRYP GLEEPFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value); - GLEE_EXTERN GLEEPFNGLSTENCILOPVALUEAMDPROC GLeeFuncPtr_glStencilOpValueAMD; - #define glStencilOpValueAMD GLeeFuncPtr_glStencilOpValueAMD -#endif -#endif - -/* GL_AMD_vertex_shader_viewport_index */ - -#ifndef GL_AMD_vertex_shader_viewport_index -#define GL_AMD_vertex_shader_viewport_index 1 -#define __GLEE_GL_AMD_vertex_shader_viewport_index 1 -/* Constants */ -#endif - -/* GL_AMD_vertex_shader_layer */ - -#ifndef GL_AMD_vertex_shader_layer -#define GL_AMD_vertex_shader_layer 1 -#define __GLEE_GL_AMD_vertex_shader_layer 1 -/* Constants */ -#endif - -/* GL_NV_bindless_texture */ - -#ifndef GL_NV_bindless_texture -#define GL_NV_bindless_texture 1 -#define __GLEE_GL_NV_bindless_texture 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glGetTextureHandleNV -#define GLEE_H_DEFINED_glGetTextureHandleNV - typedef GLuint64 (APIENTRYP GLEEPFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); - GLEE_EXTERN GLEEPFNGLGETTEXTUREHANDLENVPROC GLeeFuncPtr_glGetTextureHandleNV; - #define glGetTextureHandleNV GLeeFuncPtr_glGetTextureHandleNV -#endif -#ifndef GLEE_H_DEFINED_glGetTextureSamplerHandleNV -#define GLEE_H_DEFINED_glGetTextureSamplerHandleNV - typedef GLuint64 (APIENTRYP GLEEPFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); - GLEE_EXTERN GLEEPFNGLGETTEXTURESAMPLERHANDLENVPROC GLeeFuncPtr_glGetTextureSamplerHandleNV; - #define glGetTextureSamplerHandleNV GLeeFuncPtr_glGetTextureSamplerHandleNV -#endif -#ifndef GLEE_H_DEFINED_glMakeTextureHandleResidentNV -#define GLEE_H_DEFINED_glMakeTextureHandleResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); - GLEE_EXTERN GLEEPFNGLMAKETEXTUREHANDLERESIDENTNVPROC GLeeFuncPtr_glMakeTextureHandleResidentNV; - #define glMakeTextureHandleResidentNV GLeeFuncPtr_glMakeTextureHandleResidentNV -#endif -#ifndef GLEE_H_DEFINED_glMakeTextureHandleNonResidentNV -#define GLEE_H_DEFINED_glMakeTextureHandleNonResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); - GLEE_EXTERN GLEEPFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC GLeeFuncPtr_glMakeTextureHandleNonResidentNV; - #define glMakeTextureHandleNonResidentNV GLeeFuncPtr_glMakeTextureHandleNonResidentNV -#endif -#ifndef GLEE_H_DEFINED_glGetImageHandleNV -#define GLEE_H_DEFINED_glGetImageHandleNV - typedef GLuint64 (APIENTRYP GLEEPFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); - GLEE_EXTERN GLEEPFNGLGETIMAGEHANDLENVPROC GLeeFuncPtr_glGetImageHandleNV; - #define glGetImageHandleNV GLeeFuncPtr_glGetImageHandleNV -#endif -#ifndef GLEE_H_DEFINED_glMakeImageHandleResidentNV -#define GLEE_H_DEFINED_glMakeImageHandleResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); - GLEE_EXTERN GLEEPFNGLMAKEIMAGEHANDLERESIDENTNVPROC GLeeFuncPtr_glMakeImageHandleResidentNV; - #define glMakeImageHandleResidentNV GLeeFuncPtr_glMakeImageHandleResidentNV -#endif -#ifndef GLEE_H_DEFINED_glMakeImageHandleNonResidentNV -#define GLEE_H_DEFINED_glMakeImageHandleNonResidentNV - typedef void (APIENTRYP GLEEPFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); - GLEE_EXTERN GLEEPFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC GLeeFuncPtr_glMakeImageHandleNonResidentNV; - #define glMakeImageHandleNonResidentNV GLeeFuncPtr_glMakeImageHandleNonResidentNV -#endif -#ifndef GLEE_H_DEFINED_glUniformHandleui64NV -#define GLEE_H_DEFINED_glUniformHandleui64NV - typedef void (APIENTRYP GLEEPFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); - GLEE_EXTERN GLEEPFNGLUNIFORMHANDLEUI64NVPROC GLeeFuncPtr_glUniformHandleui64NV; - #define glUniformHandleui64NV GLeeFuncPtr_glUniformHandleui64NV -#endif -#ifndef GLEE_H_DEFINED_glUniformHandleui64vNV -#define GLEE_H_DEFINED_glUniformHandleui64vNV - typedef void (APIENTRYP GLEEPFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 * value); - GLEE_EXTERN GLEEPFNGLUNIFORMHANDLEUI64VNVPROC GLeeFuncPtr_glUniformHandleui64vNV; - #define glUniformHandleui64vNV GLeeFuncPtr_glUniformHandleui64vNV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformHandleui64NV -#define GLEE_H_DEFINED_glProgramUniformHandleui64NV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMHANDLEUI64NVPROC GLeeFuncPtr_glProgramUniformHandleui64NV; - #define glProgramUniformHandleui64NV GLeeFuncPtr_glProgramUniformHandleui64NV -#endif -#ifndef GLEE_H_DEFINED_glProgramUniformHandleui64vNV -#define GLEE_H_DEFINED_glProgramUniformHandleui64vNV - typedef void (APIENTRYP GLEEPFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 * values); - GLEE_EXTERN GLEEPFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC GLeeFuncPtr_glProgramUniformHandleui64vNV; - #define glProgramUniformHandleui64vNV GLeeFuncPtr_glProgramUniformHandleui64vNV -#endif -#ifndef GLEE_H_DEFINED_glIsTextureHandleResidentNV -#define GLEE_H_DEFINED_glIsTextureHandleResidentNV - typedef GLboolean (APIENTRYP GLEEPFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); - GLEE_EXTERN GLEEPFNGLISTEXTUREHANDLERESIDENTNVPROC GLeeFuncPtr_glIsTextureHandleResidentNV; - #define glIsTextureHandleResidentNV GLeeFuncPtr_glIsTextureHandleResidentNV -#endif -#ifndef GLEE_H_DEFINED_glIsImageHandleResidentNV -#define GLEE_H_DEFINED_glIsImageHandleResidentNV - typedef GLboolean (APIENTRYP GLEEPFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); - GLEE_EXTERN GLEEPFNGLISIMAGEHANDLERESIDENTNVPROC GLeeFuncPtr_glIsImageHandleResidentNV; - #define glIsImageHandleResidentNV GLeeFuncPtr_glIsImageHandleResidentNV -#endif -#endif - -/* GL_NV_shader_atomic_float */ - -#ifndef GL_NV_shader_atomic_float -#define GL_NV_shader_atomic_float 1 -#define __GLEE_GL_NV_shader_atomic_float 1 -/* Constants */ -#endif - -/* GL_AMD_query_buffer_object */ - -#ifndef GL_AMD_query_buffer_object -#define GL_AMD_query_buffer_object 1 -#define __GLEE_GL_AMD_query_buffer_object 1 -/* Constants */ -#define GL_QUERY_BUFFER_AMD 0x9192 -#define GL_QUERY_BUFFER_BINDING_AMD 0x9193 -#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194 -#endif - -/* GL_NV_compute_program5 */ - -#ifndef GL_NV_compute_program5 -#define GL_NV_compute_program5 1 -#define __GLEE_GL_NV_compute_program5 1 -/* Constants */ -#define GL_COMPUTE_PROGRAM_NV 0x90FB -#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC -#endif - -/* GL_NV_shader_storage_buffer_object */ - -#ifndef GL_NV_shader_storage_buffer_object -#define GL_NV_shader_storage_buffer_object 1 -#define __GLEE_GL_NV_shader_storage_buffer_object 1 -/* Constants */ -#endif - -/* GL_NV_shader_atomic_counters */ - -#ifndef GL_NV_shader_atomic_counters -#define GL_NV_shader_atomic_counters 1 -#define __GLEE_GL_NV_shader_atomic_counters 1 -/* Constants */ -#endif - -/* GL_NV_deep_texture3D */ - -#ifndef GL_NV_deep_texture3D -#define GL_NV_deep_texture3D 1 -#define __GLEE_GL_NV_deep_texture3D 1 -/* Constants */ -#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0 -#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1 -#endif - -/* GL_NVX_conditional_render */ - -#ifndef GL_NVX_conditional_render -#define GL_NVX_conditional_render 1 -#define __GLEE_GL_NVX_conditional_render 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glBeginConditionalRenderNVX -#define GLEE_H_DEFINED_glBeginConditionalRenderNVX - typedef void (APIENTRYP GLEEPFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id); - GLEE_EXTERN GLEEPFNGLBEGINCONDITIONALRENDERNVXPROC GLeeFuncPtr_glBeginConditionalRenderNVX; - #define glBeginConditionalRenderNVX GLeeFuncPtr_glBeginConditionalRenderNVX -#endif -#ifndef GLEE_H_DEFINED_glEndConditionalRenderNVX -#define GLEE_H_DEFINED_glEndConditionalRenderNVX - typedef void (APIENTRYP GLEEPFNGLENDCONDITIONALRENDERNVXPROC) (); - GLEE_EXTERN GLEEPFNGLENDCONDITIONALRENDERNVXPROC GLeeFuncPtr_glEndConditionalRenderNVX; - #define glEndConditionalRenderNVX GLeeFuncPtr_glEndConditionalRenderNVX -#endif -#endif - -/* GL_AMD_sparse_texture */ - -#ifndef GL_AMD_sparse_texture -#define GL_AMD_sparse_texture 1 -#define __GLEE_GL_AMD_sparse_texture 1 -/* Constants */ -#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195 -#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196 -#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197 -#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198 -#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199 -#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A -#define GL_MIN_SPARSE_LEVEL_AMD 0x919B -#define GL_MIN_LOD_WARNING_AMD 0x919C -#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001 -#ifndef GLEE_H_DEFINED_glTexStorageSparseAMD -#define GLEE_H_DEFINED_glTexStorageSparseAMD - typedef void (APIENTRYP GLEEPFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); - GLEE_EXTERN GLEEPFNGLTEXSTORAGESPARSEAMDPROC GLeeFuncPtr_glTexStorageSparseAMD; - #define glTexStorageSparseAMD GLeeFuncPtr_glTexStorageSparseAMD -#endif -#ifndef GLEE_H_DEFINED_glTextureStorageSparseAMD -#define GLEE_H_DEFINED_glTextureStorageSparseAMD - typedef void (APIENTRYP GLEEPFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); - GLEE_EXTERN GLEEPFNGLTEXTURESTORAGESPARSEAMDPROC GLeeFuncPtr_glTextureStorageSparseAMD; - #define glTextureStorageSparseAMD GLeeFuncPtr_glTextureStorageSparseAMD -#endif -#endif - -/* GL_AMD_shader_trinary_minmax */ - -#ifndef GL_AMD_shader_trinary_minmax -#define GL_AMD_shader_trinary_minmax 1 -#define __GLEE_GL_AMD_shader_trinary_minmax 1 -/* Constants */ -#endif - -/* GL_INTEL_map_texture */ - -#ifndef GL_INTEL_map_texture -#define GL_INTEL_map_texture 1 -#define __GLEE_GL_INTEL_map_texture 1 -/* Constants */ -#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF -#define GL_LAYOUT_DEFAULT_INTEL -#define GL_LAYOUT_LINEAR_INTEL -#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL -#ifndef GLEE_H_DEFINED_glSyncTextureINTEL -#define GLEE_H_DEFINED_glSyncTextureINTEL - typedef void (APIENTRYP GLEEPFNGLSYNCTEXTUREINTELPROC) (GLuint texture); - GLEE_EXTERN GLEEPFNGLSYNCTEXTUREINTELPROC GLeeFuncPtr_glSyncTextureINTEL; - #define glSyncTextureINTEL GLeeFuncPtr_glSyncTextureINTEL -#endif -#ifndef GLEE_H_DEFINED_glUnmapTexture2DINTEL -#define GLEE_H_DEFINED_glUnmapTexture2DINTEL - typedef void (APIENTRYP GLEEPFNGLUNMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level); - GLEE_EXTERN GLEEPFNGLUNMAPTEXTURE2DINTELPROC GLeeFuncPtr_glUnmapTexture2DINTEL; - #define glUnmapTexture2DINTEL GLeeFuncPtr_glUnmapTexture2DINTEL -#endif -#ifndef GLEE_H_DEFINED_glMapTexture2DINTEL -#define GLEE_H_DEFINED_glMapTexture2DINTEL - typedef GLvoid* (APIENTRYP GLEEPFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level, GLbitfield access, const GLint * stride, const GLenum * layout); - GLEE_EXTERN GLEEPFNGLMAPTEXTURE2DINTELPROC GLeeFuncPtr_glMapTexture2DINTEL; - #define glMapTexture2DINTEL GLeeFuncPtr_glMapTexture2DINTEL -#endif -#endif - -/* GL_NV_draw_texture */ - -#ifndef GL_NV_draw_texture -#define GL_NV_draw_texture 1 -#define __GLEE_GL_NV_draw_texture 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glDrawTextureNV -#define GLEE_H_DEFINED_glDrawTextureNV - typedef void (APIENTRYP GLEEPFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); - GLEE_EXTERN GLEEPFNGLDRAWTEXTURENVPROC GLeeFuncPtr_glDrawTextureNV; - #define glDrawTextureNV GLeeFuncPtr_glDrawTextureNV -#endif -#endif - -/* GL_SGIX_texture_select */ - -#ifndef GL_SGIX_texture_select -#define GL_SGIX_texture_select 1 -#define __GLEE_GL_SGIX_texture_select 1 -/* Constants */ -#endif - -/* GL_INGR_blend_func_separate */ - -#ifndef GL_INGR_blend_func_separate -#define GL_INGR_blend_func_separate 1 -#define __GLEE_GL_INGR_blend_func_separate 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glBlendFuncSeparateINGR -#define GLEE_H_DEFINED_glBlendFuncSeparateINGR - typedef void (APIENTRYP GLEEPFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); - GLEE_EXTERN GLEEPFNGLBLENDFUNCSEPARATEINGRPROC GLeeFuncPtr_glBlendFuncSeparateINGR; - #define glBlendFuncSeparateINGR GLeeFuncPtr_glBlendFuncSeparateINGR -#endif -#endif - -/* GL_SGIX_depth_pass_instrument */ - -#ifndef GL_SGIX_depth_pass_instrument -#define GL_SGIX_depth_pass_instrument 1 -#define __GLEE_GL_SGIX_depth_pass_instrument 1 -/* Constants */ -#endif - -/* GL_SGIX_igloo_interface */ - -#ifndef GL_SGIX_igloo_interface -#define GL_SGIX_igloo_interface 1 -#define __GLEE_GL_SGIX_igloo_interface 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glIglooInterfaceSGIX -#define GLEE_H_DEFINED_glIglooInterfaceSGIX - typedef void (APIENTRYP GLEEPFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid * params); - GLEE_EXTERN GLEEPFNGLIGLOOINTERFACESGIXPROC GLeeFuncPtr_glIglooInterfaceSGIX; - #define glIglooInterfaceSGIX GLeeFuncPtr_glIglooInterfaceSGIX -#endif -#endif - -/* WGL */ - -#ifdef _WIN32 - -/* Extension querying variables */ - -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_buffer_region; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_multisample; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_extensions_string; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_pixel_format; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_make_current_read; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_pbuffer; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_render_texture; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_pixel_format_float; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_create_context; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_create_context_profile; -GLEE_EXTERN GLboolean _GLEE_WGL_ARB_create_context_robustness; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_make_current_read; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_pixel_format; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_pbuffer; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_depth_float; -GLEE_EXTERN GLboolean _GLEE_WGL_3DFX_multisample; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_multisample; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_digital_video_control; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_gamma; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_genlock; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_image_buffer; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_swap_frame_lock; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_render_depth_texture; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_render_texture_rectangle; -GLEE_EXTERN GLboolean _GLEE_WGL_ATI_pixel_format_float; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_float_buffer; -GLEE_EXTERN GLboolean _GLEE_WGL_3DL_stereo_control; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_pixel_format_packed_float; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_present_video; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_swap_group; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_gpu_affinity; -GLEE_EXTERN GLboolean _GLEE_WGL_AMD_gpu_association; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_copy_image; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_multisample_coverage; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_create_context_es2_profile; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_DX_interop; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_DX_interop2; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_swap_control_tear; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_display_color_table; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_extensions_string; -GLEE_EXTERN GLboolean _GLEE_WGL_EXT_swap_control; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_vertex_array_range; -GLEE_EXTERN GLboolean _GLEE_WGL_OML_sync_control; -GLEE_EXTERN GLboolean _GLEE_WGL_I3D_swap_frame_usage; -GLEE_EXTERN GLboolean _GLEE_WGL_NV_video_output; - -/* Aliases for extension querying variables */ - -#define GLEE_WGL_ARB_buffer_region GLeeEnabled(&_GLEE_WGL_ARB_buffer_region) -#define GLEE_WGL_ARB_multisample GLeeEnabled(&_GLEE_WGL_ARB_multisample) -#define GLEE_WGL_ARB_extensions_string GLeeEnabled(&_GLEE_WGL_ARB_extensions_string) -#define GLEE_WGL_ARB_pixel_format GLeeEnabled(&_GLEE_WGL_ARB_pixel_format) -#define GLEE_WGL_ARB_make_current_read GLeeEnabled(&_GLEE_WGL_ARB_make_current_read) -#define GLEE_WGL_ARB_pbuffer GLeeEnabled(&_GLEE_WGL_ARB_pbuffer) -#define GLEE_WGL_ARB_render_texture GLeeEnabled(&_GLEE_WGL_ARB_render_texture) -#define GLEE_WGL_ARB_pixel_format_float GLeeEnabled(&_GLEE_WGL_ARB_pixel_format_float) -#define GLEE_WGL_ARB_framebuffer_sRGB GLeeEnabled(&_GLEE_WGL_ARB_framebuffer_sRGB) -#define GLEE_WGL_ARB_create_context GLeeEnabled(&_GLEE_WGL_ARB_create_context) -#define GLEE_WGL_ARB_create_context_profile GLeeEnabled(&_GLEE_WGL_ARB_create_context_profile) -#define GLEE_WGL_ARB_create_context_robustness GLeeEnabled(&_GLEE_WGL_ARB_create_context_robustness) -#define GLEE_WGL_EXT_make_current_read GLeeEnabled(&_GLEE_WGL_EXT_make_current_read) -#define GLEE_WGL_EXT_pixel_format GLeeEnabled(&_GLEE_WGL_EXT_pixel_format) -#define GLEE_WGL_EXT_pbuffer GLeeEnabled(&_GLEE_WGL_EXT_pbuffer) -#define GLEE_WGL_EXT_depth_float GLeeEnabled(&_GLEE_WGL_EXT_depth_float) -#define GLEE_WGL_3DFX_multisample GLeeEnabled(&_GLEE_WGL_3DFX_multisample) -#define GLEE_WGL_EXT_multisample GLeeEnabled(&_GLEE_WGL_EXT_multisample) -#define GLEE_WGL_I3D_digital_video_control GLeeEnabled(&_GLEE_WGL_I3D_digital_video_control) -#define GLEE_WGL_I3D_gamma GLeeEnabled(&_GLEE_WGL_I3D_gamma) -#define GLEE_WGL_I3D_genlock GLeeEnabled(&_GLEE_WGL_I3D_genlock) -#define GLEE_WGL_I3D_image_buffer GLeeEnabled(&_GLEE_WGL_I3D_image_buffer) -#define GLEE_WGL_I3D_swap_frame_lock GLeeEnabled(&_GLEE_WGL_I3D_swap_frame_lock) -#define GLEE_WGL_NV_render_depth_texture GLeeEnabled(&_GLEE_WGL_NV_render_depth_texture) -#define GLEE_WGL_NV_render_texture_rectangle GLeeEnabled(&_GLEE_WGL_NV_render_texture_rectangle) -#define GLEE_WGL_ATI_pixel_format_float GLeeEnabled(&_GLEE_WGL_ATI_pixel_format_float) -#define GLEE_WGL_NV_float_buffer GLeeEnabled(&_GLEE_WGL_NV_float_buffer) -#define GLEE_WGL_3DL_stereo_control GLeeEnabled(&_GLEE_WGL_3DL_stereo_control) -#define GLEE_WGL_EXT_pixel_format_packed_float GLeeEnabled(&_GLEE_WGL_EXT_pixel_format_packed_float) -#define GLEE_WGL_EXT_framebuffer_sRGB GLeeEnabled(&_GLEE_WGL_EXT_framebuffer_sRGB) -#define GLEE_WGL_NV_present_video GLeeEnabled(&_GLEE_WGL_NV_present_video) -#define GLEE_WGL_NV_swap_group GLeeEnabled(&_GLEE_WGL_NV_swap_group) -#define GLEE_WGL_NV_gpu_affinity GLeeEnabled(&_GLEE_WGL_NV_gpu_affinity) -#define GLEE_WGL_AMD_gpu_association GLeeEnabled(&_GLEE_WGL_AMD_gpu_association) -#define GLEE_WGL_NV_copy_image GLeeEnabled(&_GLEE_WGL_NV_copy_image) -#define GLEE_WGL_NV_multisample_coverage GLeeEnabled(&_GLEE_WGL_NV_multisample_coverage) -#define GLEE_WGL_EXT_create_context_es2_profile GLeeEnabled(&_GLEE_WGL_EXT_create_context_es2_profile) -#define GLEE_WGL_NV_DX_interop GLeeEnabled(&_GLEE_WGL_NV_DX_interop) -#define GLEE_WGL_NV_DX_interop2 GLeeEnabled(&_GLEE_WGL_NV_DX_interop2) -#define GLEE_WGL_EXT_swap_control_tear GLeeEnabled(&_GLEE_WGL_EXT_swap_control_tear) -#define GLEE_WGL_EXT_display_color_table GLeeEnabled(&_GLEE_WGL_EXT_display_color_table) -#define GLEE_WGL_EXT_extensions_string GLeeEnabled(&_GLEE_WGL_EXT_extensions_string) -#define GLEE_WGL_EXT_swap_control GLeeEnabled(&_GLEE_WGL_EXT_swap_control) -#define GLEE_WGL_NV_vertex_array_range GLeeEnabled(&_GLEE_WGL_NV_vertex_array_range) -#define GLEE_WGL_OML_sync_control GLeeEnabled(&_GLEE_WGL_OML_sync_control) -#define GLEE_WGL_I3D_swap_frame_usage GLeeEnabled(&_GLEE_WGL_I3D_swap_frame_usage) -#define GLEE_WGL_NV_video_output GLeeEnabled(&_GLEE_WGL_NV_video_output) - -/* WGL_ARB_buffer_region */ - -#ifndef WGL_ARB_buffer_region -#define WGL_ARB_buffer_region 1 -#define __GLEE_WGL_ARB_buffer_region 1 -/* Constants */ -#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 -#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 -#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 -#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 -#ifndef GLEE_H_DEFINED_wglCreateBufferRegionARB -#define GLEE_H_DEFINED_wglCreateBufferRegionARB - typedef HANDLE (APIENTRYP GLEEPFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); - GLEE_EXTERN GLEEPFNWGLCREATEBUFFERREGIONARBPROC GLeeFuncPtr_wglCreateBufferRegionARB; - #define wglCreateBufferRegionARB GLeeFuncPtr_wglCreateBufferRegionARB -#endif -#ifndef GLEE_H_DEFINED_wglDeleteBufferRegionARB -#define GLEE_H_DEFINED_wglDeleteBufferRegionARB - typedef VOID (APIENTRYP GLEEPFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); - GLEE_EXTERN GLEEPFNWGLDELETEBUFFERREGIONARBPROC GLeeFuncPtr_wglDeleteBufferRegionARB; - #define wglDeleteBufferRegionARB GLeeFuncPtr_wglDeleteBufferRegionARB -#endif -#ifndef GLEE_H_DEFINED_wglSaveBufferRegionARB -#define GLEE_H_DEFINED_wglSaveBufferRegionARB - typedef BOOL (APIENTRYP GLEEPFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); - GLEE_EXTERN GLEEPFNWGLSAVEBUFFERREGIONARBPROC GLeeFuncPtr_wglSaveBufferRegionARB; - #define wglSaveBufferRegionARB GLeeFuncPtr_wglSaveBufferRegionARB -#endif -#ifndef GLEE_H_DEFINED_wglRestoreBufferRegionARB -#define GLEE_H_DEFINED_wglRestoreBufferRegionARB - typedef BOOL (APIENTRYP GLEEPFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); - GLEE_EXTERN GLEEPFNWGLRESTOREBUFFERREGIONARBPROC GLeeFuncPtr_wglRestoreBufferRegionARB; - #define wglRestoreBufferRegionARB GLeeFuncPtr_wglRestoreBufferRegionARB -#endif -#endif - -/* WGL_ARB_multisample */ - -#ifndef WGL_ARB_multisample -#define WGL_ARB_multisample 1 -#define __GLEE_WGL_ARB_multisample 1 -/* Constants */ -#define WGL_SAMPLE_BUFFERS_ARB 0x2041 -#define WGL_SAMPLES_ARB 0x2042 -#endif - -/* WGL_ARB_extensions_string */ - -#ifndef WGL_ARB_extensions_string -#define WGL_ARB_extensions_string 1 -#define __GLEE_WGL_ARB_extensions_string 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglGetExtensionsStringARB -#define GLEE_H_DEFINED_wglGetExtensionsStringARB - typedef const char * (APIENTRYP GLEEPFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); - GLEE_EXTERN GLEEPFNWGLGETEXTENSIONSSTRINGARBPROC GLeeFuncPtr_wglGetExtensionsStringARB; - #define wglGetExtensionsStringARB GLeeFuncPtr_wglGetExtensionsStringARB -#endif -#endif - -/* WGL_ARB_pixel_format */ - -#ifndef WGL_ARB_pixel_format -#define WGL_ARB_pixel_format 1 -#define __GLEE_WGL_ARB_pixel_format 1 -/* Constants */ -#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 -#define WGL_DRAW_TO_WINDOW_ARB 0x2001 -#define WGL_DRAW_TO_BITMAP_ARB 0x2002 -#define WGL_ACCELERATION_ARB 0x2003 -#define WGL_NEED_PALETTE_ARB 0x2004 -#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 -#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 -#define WGL_SWAP_METHOD_ARB 0x2007 -#define WGL_NUMBER_OVERLAYS_ARB 0x2008 -#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 -#define WGL_TRANSPARENT_ARB 0x200A -#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 -#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 -#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 -#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A -#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B -#define WGL_SHARE_DEPTH_ARB 0x200C -#define WGL_SHARE_STENCIL_ARB 0x200D -#define WGL_SHARE_ACCUM_ARB 0x200E -#define WGL_SUPPORT_GDI_ARB 0x200F -#define WGL_SUPPORT_OPENGL_ARB 0x2010 -#define WGL_DOUBLE_BUFFER_ARB 0x2011 -#define WGL_STEREO_ARB 0x2012 -#define WGL_PIXEL_TYPE_ARB 0x2013 -#define WGL_COLOR_BITS_ARB 0x2014 -#define WGL_RED_BITS_ARB 0x2015 -#define WGL_RED_SHIFT_ARB 0x2016 -#define WGL_GREEN_BITS_ARB 0x2017 -#define WGL_GREEN_SHIFT_ARB 0x2018 -#define WGL_BLUE_BITS_ARB 0x2019 -#define WGL_BLUE_SHIFT_ARB 0x201A -#define WGL_ALPHA_BITS_ARB 0x201B -#define WGL_ALPHA_SHIFT_ARB 0x201C -#define WGL_ACCUM_BITS_ARB 0x201D -#define WGL_ACCUM_RED_BITS_ARB 0x201E -#define WGL_ACCUM_GREEN_BITS_ARB 0x201F -#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 -#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 -#define WGL_DEPTH_BITS_ARB 0x2022 -#define WGL_STENCIL_BITS_ARB 0x2023 -#define WGL_AUX_BUFFERS_ARB 0x2024 -#define WGL_NO_ACCELERATION_ARB 0x2025 -#define WGL_GENERIC_ACCELERATION_ARB 0x2026 -#define WGL_FULL_ACCELERATION_ARB 0x2027 -#define WGL_SWAP_EXCHANGE_ARB 0x2028 -#define WGL_SWAP_COPY_ARB 0x2029 -#define WGL_SWAP_UNDEFINED_ARB 0x202A -#define WGL_TYPE_RGBA_ARB 0x202B -#define WGL_TYPE_COLORINDEX_ARB 0x202C -#ifndef GLEE_H_DEFINED_wglGetPixelFormatAttribivARB -#define GLEE_H_DEFINED_wglGetPixelFormatAttribivARB - typedef BOOL (APIENTRYP GLEEPFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, int * piValues); - GLEE_EXTERN GLEEPFNWGLGETPIXELFORMATATTRIBIVARBPROC GLeeFuncPtr_wglGetPixelFormatAttribivARB; - #define wglGetPixelFormatAttribivARB GLeeFuncPtr_wglGetPixelFormatAttribivARB -#endif -#ifndef GLEE_H_DEFINED_wglGetPixelFormatAttribfvARB -#define GLEE_H_DEFINED_wglGetPixelFormatAttribfvARB - typedef BOOL (APIENTRYP GLEEPFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, FLOAT * pfValues); - GLEE_EXTERN GLEEPFNWGLGETPIXELFORMATATTRIBFVARBPROC GLeeFuncPtr_wglGetPixelFormatAttribfvARB; - #define wglGetPixelFormatAttribfvARB GLeeFuncPtr_wglGetPixelFormatAttribfvARB -#endif -#ifndef GLEE_H_DEFINED_wglChoosePixelFormatARB -#define GLEE_H_DEFINED_wglChoosePixelFormatARB - typedef BOOL (APIENTRYP GLEEPFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats); - GLEE_EXTERN GLEEPFNWGLCHOOSEPIXELFORMATARBPROC GLeeFuncPtr_wglChoosePixelFormatARB; - #define wglChoosePixelFormatARB GLeeFuncPtr_wglChoosePixelFormatARB -#endif -#endif - -/* WGL_ARB_make_current_read */ - -#ifndef WGL_ARB_make_current_read -#define WGL_ARB_make_current_read 1 -#define __GLEE_WGL_ARB_make_current_read 1 -/* Constants */ -#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 -#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 -#ifndef GLEE_H_DEFINED_wglMakeContextCurrentARB -#define GLEE_H_DEFINED_wglMakeContextCurrentARB - typedef BOOL (APIENTRYP GLEEPFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); - GLEE_EXTERN GLEEPFNWGLMAKECONTEXTCURRENTARBPROC GLeeFuncPtr_wglMakeContextCurrentARB; - #define wglMakeContextCurrentARB GLeeFuncPtr_wglMakeContextCurrentARB -#endif -#ifndef GLEE_H_DEFINED_wglGetCurrentReadDCARB -#define GLEE_H_DEFINED_wglGetCurrentReadDCARB - typedef HDC (APIENTRYP GLEEPFNWGLGETCURRENTREADDCARBPROC) (); - GLEE_EXTERN GLEEPFNWGLGETCURRENTREADDCARBPROC GLeeFuncPtr_wglGetCurrentReadDCARB; - #define wglGetCurrentReadDCARB GLeeFuncPtr_wglGetCurrentReadDCARB -#endif -#endif - -/* WGL_ARB_pbuffer */ - -#ifndef WGL_ARB_pbuffer -#define WGL_ARB_pbuffer 1 -#define __GLEE_WGL_ARB_pbuffer 1 -/* Constants */ -#define WGL_DRAW_TO_PBUFFER_ARB 0x202D -#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E -#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F -#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 -#define WGL_PBUFFER_LARGEST_ARB 0x2033 -#define WGL_PBUFFER_WIDTH_ARB 0x2034 -#define WGL_PBUFFER_HEIGHT_ARB 0x2035 -#define WGL_PBUFFER_LOST_ARB 0x2036 -#ifndef GLEE_H_DEFINED_wglCreatePbufferARB -#define GLEE_H_DEFINED_wglCreatePbufferARB - typedef HPBUFFERARB (APIENTRYP GLEEPFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList); - GLEE_EXTERN GLEEPFNWGLCREATEPBUFFERARBPROC GLeeFuncPtr_wglCreatePbufferARB; - #define wglCreatePbufferARB GLeeFuncPtr_wglCreatePbufferARB -#endif -#ifndef GLEE_H_DEFINED_wglGetPbufferDCARB -#define GLEE_H_DEFINED_wglGetPbufferDCARB - typedef HDC (APIENTRYP GLEEPFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); - GLEE_EXTERN GLEEPFNWGLGETPBUFFERDCARBPROC GLeeFuncPtr_wglGetPbufferDCARB; - #define wglGetPbufferDCARB GLeeFuncPtr_wglGetPbufferDCARB -#endif -#ifndef GLEE_H_DEFINED_wglReleasePbufferDCARB -#define GLEE_H_DEFINED_wglReleasePbufferDCARB - typedef int (APIENTRYP GLEEPFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); - GLEE_EXTERN GLEEPFNWGLRELEASEPBUFFERDCARBPROC GLeeFuncPtr_wglReleasePbufferDCARB; - #define wglReleasePbufferDCARB GLeeFuncPtr_wglReleasePbufferDCARB -#endif -#ifndef GLEE_H_DEFINED_wglDestroyPbufferARB -#define GLEE_H_DEFINED_wglDestroyPbufferARB - typedef BOOL (APIENTRYP GLEEPFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); - GLEE_EXTERN GLEEPFNWGLDESTROYPBUFFERARBPROC GLeeFuncPtr_wglDestroyPbufferARB; - #define wglDestroyPbufferARB GLeeFuncPtr_wglDestroyPbufferARB -#endif -#ifndef GLEE_H_DEFINED_wglQueryPbufferARB -#define GLEE_H_DEFINED_wglQueryPbufferARB - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int * piValue); - GLEE_EXTERN GLEEPFNWGLQUERYPBUFFERARBPROC GLeeFuncPtr_wglQueryPbufferARB; - #define wglQueryPbufferARB GLeeFuncPtr_wglQueryPbufferARB -#endif -#endif - -/* WGL_ARB_render_texture */ - -#ifndef WGL_ARB_render_texture -#define WGL_ARB_render_texture 1 -#define __GLEE_WGL_ARB_render_texture 1 -/* Constants */ -#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 -#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 -#define WGL_TEXTURE_FORMAT_ARB 0x2072 -#define WGL_TEXTURE_TARGET_ARB 0x2073 -#define WGL_MIPMAP_TEXTURE_ARB 0x2074 -#define WGL_TEXTURE_RGB_ARB 0x2075 -#define WGL_TEXTURE_RGBA_ARB 0x2076 -#define WGL_NO_TEXTURE_ARB 0x2077 -#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 -#define WGL_TEXTURE_1D_ARB 0x2079 -#define WGL_TEXTURE_2D_ARB 0x207A -#define WGL_MIPMAP_LEVEL_ARB 0x207B -#define WGL_CUBE_MAP_FACE_ARB 0x207C -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 -#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 -#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 -#define WGL_FRONT_LEFT_ARB 0x2083 -#define WGL_FRONT_RIGHT_ARB 0x2084 -#define WGL_BACK_LEFT_ARB 0x2085 -#define WGL_BACK_RIGHT_ARB 0x2086 -#define WGL_AUX0_ARB 0x2087 -#define WGL_AUX1_ARB 0x2088 -#define WGL_AUX2_ARB 0x2089 -#define WGL_AUX3_ARB 0x208A -#define WGL_AUX4_ARB 0x208B -#define WGL_AUX5_ARB 0x208C -#define WGL_AUX6_ARB 0x208D -#define WGL_AUX7_ARB 0x208E -#define WGL_AUX8_ARB 0x208F -#define WGL_AUX9_ARB 0x2090 -#ifndef GLEE_H_DEFINED_wglBindTexImageARB -#define GLEE_H_DEFINED_wglBindTexImageARB - typedef BOOL (APIENTRYP GLEEPFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); - GLEE_EXTERN GLEEPFNWGLBINDTEXIMAGEARBPROC GLeeFuncPtr_wglBindTexImageARB; - #define wglBindTexImageARB GLeeFuncPtr_wglBindTexImageARB -#endif -#ifndef GLEE_H_DEFINED_wglReleaseTexImageARB -#define GLEE_H_DEFINED_wglReleaseTexImageARB - typedef BOOL (APIENTRYP GLEEPFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); - GLEE_EXTERN GLEEPFNWGLRELEASETEXIMAGEARBPROC GLeeFuncPtr_wglReleaseTexImageARB; - #define wglReleaseTexImageARB GLeeFuncPtr_wglReleaseTexImageARB -#endif -#ifndef GLEE_H_DEFINED_wglSetPbufferAttribARB -#define GLEE_H_DEFINED_wglSetPbufferAttribARB - typedef BOOL (APIENTRYP GLEEPFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int * piAttribList); - GLEE_EXTERN GLEEPFNWGLSETPBUFFERATTRIBARBPROC GLeeFuncPtr_wglSetPbufferAttribARB; - #define wglSetPbufferAttribARB GLeeFuncPtr_wglSetPbufferAttribARB -#endif -#endif - -/* WGL_ARB_pixel_format_float */ - -#ifndef WGL_ARB_pixel_format_float -#define WGL_ARB_pixel_format_float 1 -#define __GLEE_WGL_ARB_pixel_format_float 1 -/* Constants */ -#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 -#endif - -/* WGL_ARB_framebuffer_sRGB */ - -#ifndef WGL_ARB_framebuffer_sRGB -#define WGL_ARB_framebuffer_sRGB 1 -#define __GLEE_WGL_ARB_framebuffer_sRGB 1 -/* Constants */ -#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 -#endif - -/* WGL_ARB_create_context */ - -#ifndef WGL_ARB_create_context -#define WGL_ARB_create_context 1 -#define __GLEE_WGL_ARB_create_context 1 -/* Constants */ -#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001 -#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 -#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 -#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 -#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 -#define WGL_CONTEXT_FLAGS_ARB 0x2094 -#define ERROR_INVALID_VERSION_ARB 0x2095 -#ifndef GLEE_H_DEFINED_wglCreateContextAttribsARB -#define GLEE_H_DEFINED_wglCreateContextAttribsARB - typedef HGLRC (APIENTRYP GLEEPFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int * attribList); - GLEE_EXTERN GLEEPFNWGLCREATECONTEXTATTRIBSARBPROC GLeeFuncPtr_wglCreateContextAttribsARB; - #define wglCreateContextAttribsARB GLeeFuncPtr_wglCreateContextAttribsARB -#endif -#endif - -/* WGL_ARB_create_context_profile */ - -#ifndef WGL_ARB_create_context_profile -#define WGL_ARB_create_context_profile 1 -#define __GLEE_WGL_ARB_create_context_profile 1 -/* Constants */ -#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 -#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 -#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 -#define ERROR_INVALID_PROFILE_ARB 0x2096 -#endif - -/* WGL_ARB_create_context_robustness */ - -#ifndef WGL_ARB_create_context_robustness -#define WGL_ARB_create_context_robustness 1 -#define __GLEE_WGL_ARB_create_context_robustness 1 -/* Constants */ -#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 -#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 -#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 -#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 -#endif - -/* WGL_EXT_make_current_read */ - -#ifndef WGL_EXT_make_current_read -#define WGL_EXT_make_current_read 1 -#define __GLEE_WGL_EXT_make_current_read 1 -/* Constants */ -#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 -#ifndef GLEE_H_DEFINED_wglMakeContextCurrentEXT -#define GLEE_H_DEFINED_wglMakeContextCurrentEXT - typedef BOOL (APIENTRYP GLEEPFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); - GLEE_EXTERN GLEEPFNWGLMAKECONTEXTCURRENTEXTPROC GLeeFuncPtr_wglMakeContextCurrentEXT; - #define wglMakeContextCurrentEXT GLeeFuncPtr_wglMakeContextCurrentEXT -#endif -#ifndef GLEE_H_DEFINED_wglGetCurrentReadDCEXT -#define GLEE_H_DEFINED_wglGetCurrentReadDCEXT - typedef HDC (APIENTRYP GLEEPFNWGLGETCURRENTREADDCEXTPROC) (); - GLEE_EXTERN GLEEPFNWGLGETCURRENTREADDCEXTPROC GLeeFuncPtr_wglGetCurrentReadDCEXT; - #define wglGetCurrentReadDCEXT GLeeFuncPtr_wglGetCurrentReadDCEXT -#endif -#endif - -/* WGL_EXT_pixel_format */ - -#ifndef WGL_EXT_pixel_format -#define WGL_EXT_pixel_format 1 -#define __GLEE_WGL_EXT_pixel_format 1 -/* Constants */ -#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 -#define WGL_DRAW_TO_WINDOW_EXT 0x2001 -#define WGL_DRAW_TO_BITMAP_EXT 0x2002 -#define WGL_ACCELERATION_EXT 0x2003 -#define WGL_NEED_PALETTE_EXT 0x2004 -#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 -#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 -#define WGL_SWAP_METHOD_EXT 0x2007 -#define WGL_NUMBER_OVERLAYS_EXT 0x2008 -#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 -#define WGL_TRANSPARENT_EXT 0x200A -#define WGL_TRANSPARENT_VALUE_EXT 0x200B -#define WGL_SHARE_DEPTH_EXT 0x200C -#define WGL_SHARE_STENCIL_EXT 0x200D -#define WGL_SHARE_ACCUM_EXT 0x200E -#define WGL_SUPPORT_GDI_EXT 0x200F -#define WGL_SUPPORT_OPENGL_EXT 0x2010 -#define WGL_DOUBLE_BUFFER_EXT 0x2011 -#define WGL_STEREO_EXT 0x2012 -#define WGL_PIXEL_TYPE_EXT 0x2013 -#define WGL_COLOR_BITS_EXT 0x2014 -#define WGL_RED_BITS_EXT 0x2015 -#define WGL_RED_SHIFT_EXT 0x2016 -#define WGL_GREEN_BITS_EXT 0x2017 -#define WGL_GREEN_SHIFT_EXT 0x2018 -#define WGL_BLUE_BITS_EXT 0x2019 -#define WGL_BLUE_SHIFT_EXT 0x201A -#define WGL_ALPHA_BITS_EXT 0x201B -#define WGL_ALPHA_SHIFT_EXT 0x201C -#define WGL_ACCUM_BITS_EXT 0x201D -#define WGL_ACCUM_RED_BITS_EXT 0x201E -#define WGL_ACCUM_GREEN_BITS_EXT 0x201F -#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 -#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 -#define WGL_DEPTH_BITS_EXT 0x2022 -#define WGL_STENCIL_BITS_EXT 0x2023 -#define WGL_AUX_BUFFERS_EXT 0x2024 -#define WGL_NO_ACCELERATION_EXT 0x2025 -#define WGL_GENERIC_ACCELERATION_EXT 0x2026 -#define WGL_FULL_ACCELERATION_EXT 0x2027 -#define WGL_SWAP_EXCHANGE_EXT 0x2028 -#define WGL_SWAP_COPY_EXT 0x2029 -#define WGL_SWAP_UNDEFINED_EXT 0x202A -#define WGL_TYPE_RGBA_EXT 0x202B -#define WGL_TYPE_COLORINDEX_EXT 0x202C -#ifndef GLEE_H_DEFINED_wglGetPixelFormatAttribivEXT -#define GLEE_H_DEFINED_wglGetPixelFormatAttribivEXT - typedef BOOL (APIENTRYP GLEEPFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, int * piValues); - GLEE_EXTERN GLEEPFNWGLGETPIXELFORMATATTRIBIVEXTPROC GLeeFuncPtr_wglGetPixelFormatAttribivEXT; - #define wglGetPixelFormatAttribivEXT GLeeFuncPtr_wglGetPixelFormatAttribivEXT -#endif -#ifndef GLEE_H_DEFINED_wglGetPixelFormatAttribfvEXT -#define GLEE_H_DEFINED_wglGetPixelFormatAttribfvEXT - typedef BOOL (APIENTRYP GLEEPFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, FLOAT * pfValues); - GLEE_EXTERN GLEEPFNWGLGETPIXELFORMATATTRIBFVEXTPROC GLeeFuncPtr_wglGetPixelFormatAttribfvEXT; - #define wglGetPixelFormatAttribfvEXT GLeeFuncPtr_wglGetPixelFormatAttribfvEXT -#endif -#ifndef GLEE_H_DEFINED_wglChoosePixelFormatEXT -#define GLEE_H_DEFINED_wglChoosePixelFormatEXT - typedef BOOL (APIENTRYP GLEEPFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats); - GLEE_EXTERN GLEEPFNWGLCHOOSEPIXELFORMATEXTPROC GLeeFuncPtr_wglChoosePixelFormatEXT; - #define wglChoosePixelFormatEXT GLeeFuncPtr_wglChoosePixelFormatEXT -#endif -#endif - -/* WGL_EXT_pbuffer */ - -#ifndef WGL_EXT_pbuffer -#define WGL_EXT_pbuffer 1 -#define __GLEE_WGL_EXT_pbuffer 1 -/* Constants */ -#define WGL_DRAW_TO_PBUFFER_EXT 0x202D -#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E -#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F -#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 -#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 -#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 -#define WGL_PBUFFER_LARGEST_EXT 0x2033 -#define WGL_PBUFFER_WIDTH_EXT 0x2034 -#define WGL_PBUFFER_HEIGHT_EXT 0x2035 -#ifndef GLEE_H_DEFINED_wglCreatePbufferEXT -#define GLEE_H_DEFINED_wglCreatePbufferEXT - typedef HPBUFFEREXT (APIENTRYP GLEEPFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList); - GLEE_EXTERN GLEEPFNWGLCREATEPBUFFEREXTPROC GLeeFuncPtr_wglCreatePbufferEXT; - #define wglCreatePbufferEXT GLeeFuncPtr_wglCreatePbufferEXT -#endif -#ifndef GLEE_H_DEFINED_wglGetPbufferDCEXT -#define GLEE_H_DEFINED_wglGetPbufferDCEXT - typedef HDC (APIENTRYP GLEEPFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); - GLEE_EXTERN GLEEPFNWGLGETPBUFFERDCEXTPROC GLeeFuncPtr_wglGetPbufferDCEXT; - #define wglGetPbufferDCEXT GLeeFuncPtr_wglGetPbufferDCEXT -#endif -#ifndef GLEE_H_DEFINED_wglReleasePbufferDCEXT -#define GLEE_H_DEFINED_wglReleasePbufferDCEXT - typedef int (APIENTRYP GLEEPFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); - GLEE_EXTERN GLEEPFNWGLRELEASEPBUFFERDCEXTPROC GLeeFuncPtr_wglReleasePbufferDCEXT; - #define wglReleasePbufferDCEXT GLeeFuncPtr_wglReleasePbufferDCEXT -#endif -#ifndef GLEE_H_DEFINED_wglDestroyPbufferEXT -#define GLEE_H_DEFINED_wglDestroyPbufferEXT - typedef BOOL (APIENTRYP GLEEPFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); - GLEE_EXTERN GLEEPFNWGLDESTROYPBUFFEREXTPROC GLeeFuncPtr_wglDestroyPbufferEXT; - #define wglDestroyPbufferEXT GLeeFuncPtr_wglDestroyPbufferEXT -#endif -#ifndef GLEE_H_DEFINED_wglQueryPbufferEXT -#define GLEE_H_DEFINED_wglQueryPbufferEXT - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int * piValue); - GLEE_EXTERN GLEEPFNWGLQUERYPBUFFEREXTPROC GLeeFuncPtr_wglQueryPbufferEXT; - #define wglQueryPbufferEXT GLeeFuncPtr_wglQueryPbufferEXT -#endif -#endif - -/* WGL_EXT_depth_float */ - -#ifndef WGL_EXT_depth_float -#define WGL_EXT_depth_float 1 -#define __GLEE_WGL_EXT_depth_float 1 -/* Constants */ -#define WGL_DEPTH_FLOAT_EXT 0x2040 -#endif - -/* WGL_3DFX_multisample */ - -#ifndef WGL_3DFX_multisample -#define WGL_3DFX_multisample 1 -#define __GLEE_WGL_3DFX_multisample 1 -/* Constants */ -#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 -#define WGL_SAMPLES_3DFX 0x2061 -#endif - -/* WGL_EXT_multisample */ - -#ifndef WGL_EXT_multisample -#define WGL_EXT_multisample 1 -#define __GLEE_WGL_EXT_multisample 1 -/* Constants */ -#define WGL_SAMPLE_BUFFERS_EXT 0x2041 -#define WGL_SAMPLES_EXT 0x2042 -#endif - -/* WGL_I3D_digital_video_control */ - -#ifndef WGL_I3D_digital_video_control -#define WGL_I3D_digital_video_control 1 -#define __GLEE_WGL_I3D_digital_video_control 1 -/* Constants */ -#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 -#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 -#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 -#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 -#ifndef GLEE_H_DEFINED_wglGetDigitalVideoParametersI3D -#define GLEE_H_DEFINED_wglGetDigitalVideoParametersI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int * piValue); - GLEE_EXTERN GLEEPFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC GLeeFuncPtr_wglGetDigitalVideoParametersI3D; - #define wglGetDigitalVideoParametersI3D GLeeFuncPtr_wglGetDigitalVideoParametersI3D -#endif -#ifndef GLEE_H_DEFINED_wglSetDigitalVideoParametersI3D -#define GLEE_H_DEFINED_wglSetDigitalVideoParametersI3D - typedef BOOL (APIENTRYP GLEEPFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int * piValue); - GLEE_EXTERN GLEEPFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC GLeeFuncPtr_wglSetDigitalVideoParametersI3D; - #define wglSetDigitalVideoParametersI3D GLeeFuncPtr_wglSetDigitalVideoParametersI3D -#endif -#endif - -/* WGL_I3D_gamma */ - -#ifndef WGL_I3D_gamma -#define WGL_I3D_gamma 1 -#define __GLEE_WGL_I3D_gamma 1 -/* Constants */ -#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E -#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F -#ifndef GLEE_H_DEFINED_wglGetGammaTableParametersI3D -#define GLEE_H_DEFINED_wglGetGammaTableParametersI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int * piValue); - GLEE_EXTERN GLEEPFNWGLGETGAMMATABLEPARAMETERSI3DPROC GLeeFuncPtr_wglGetGammaTableParametersI3D; - #define wglGetGammaTableParametersI3D GLeeFuncPtr_wglGetGammaTableParametersI3D -#endif -#ifndef GLEE_H_DEFINED_wglSetGammaTableParametersI3D -#define GLEE_H_DEFINED_wglSetGammaTableParametersI3D - typedef BOOL (APIENTRYP GLEEPFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int * piValue); - GLEE_EXTERN GLEEPFNWGLSETGAMMATABLEPARAMETERSI3DPROC GLeeFuncPtr_wglSetGammaTableParametersI3D; - #define wglSetGammaTableParametersI3D GLeeFuncPtr_wglSetGammaTableParametersI3D -#endif -#ifndef GLEE_H_DEFINED_wglGetGammaTableI3D -#define GLEE_H_DEFINED_wglGetGammaTableI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT * puRed, USHORT * puGreen, USHORT * puBlue); - GLEE_EXTERN GLEEPFNWGLGETGAMMATABLEI3DPROC GLeeFuncPtr_wglGetGammaTableI3D; - #define wglGetGammaTableI3D GLeeFuncPtr_wglGetGammaTableI3D -#endif -#ifndef GLEE_H_DEFINED_wglSetGammaTableI3D -#define GLEE_H_DEFINED_wglSetGammaTableI3D - typedef BOOL (APIENTRYP GLEEPFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT * puRed, const USHORT * puGreen, const USHORT * puBlue); - GLEE_EXTERN GLEEPFNWGLSETGAMMATABLEI3DPROC GLeeFuncPtr_wglSetGammaTableI3D; - #define wglSetGammaTableI3D GLeeFuncPtr_wglSetGammaTableI3D -#endif -#endif - -/* WGL_I3D_genlock */ - -#ifndef WGL_I3D_genlock -#define WGL_I3D_genlock 1 -#define __GLEE_WGL_I3D_genlock 1 -/* Constants */ -#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 -#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045 -#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046 -#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047 -#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 -#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 -#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A -#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B -#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C -#ifndef GLEE_H_DEFINED_wglEnableGenlockI3D -#define GLEE_H_DEFINED_wglEnableGenlockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); - GLEE_EXTERN GLEEPFNWGLENABLEGENLOCKI3DPROC GLeeFuncPtr_wglEnableGenlockI3D; - #define wglEnableGenlockI3D GLeeFuncPtr_wglEnableGenlockI3D -#endif -#ifndef GLEE_H_DEFINED_wglDisableGenlockI3D -#define GLEE_H_DEFINED_wglDisableGenlockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); - GLEE_EXTERN GLEEPFNWGLDISABLEGENLOCKI3DPROC GLeeFuncPtr_wglDisableGenlockI3D; - #define wglDisableGenlockI3D GLeeFuncPtr_wglDisableGenlockI3D -#endif -#ifndef GLEE_H_DEFINED_wglIsEnabledGenlockI3D -#define GLEE_H_DEFINED_wglIsEnabledGenlockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL * pFlag); - GLEE_EXTERN GLEEPFNWGLISENABLEDGENLOCKI3DPROC GLeeFuncPtr_wglIsEnabledGenlockI3D; - #define wglIsEnabledGenlockI3D GLeeFuncPtr_wglIsEnabledGenlockI3D -#endif -#ifndef GLEE_H_DEFINED_wglGenlockSourceI3D -#define GLEE_H_DEFINED_wglGenlockSourceI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); - GLEE_EXTERN GLEEPFNWGLGENLOCKSOURCEI3DPROC GLeeFuncPtr_wglGenlockSourceI3D; - #define wglGenlockSourceI3D GLeeFuncPtr_wglGenlockSourceI3D -#endif -#ifndef GLEE_H_DEFINED_wglGetGenlockSourceI3D -#define GLEE_H_DEFINED_wglGetGenlockSourceI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT * uSource); - GLEE_EXTERN GLEEPFNWGLGETGENLOCKSOURCEI3DPROC GLeeFuncPtr_wglGetGenlockSourceI3D; - #define wglGetGenlockSourceI3D GLeeFuncPtr_wglGetGenlockSourceI3D -#endif -#ifndef GLEE_H_DEFINED_wglGenlockSourceEdgeI3D -#define GLEE_H_DEFINED_wglGenlockSourceEdgeI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); - GLEE_EXTERN GLEEPFNWGLGENLOCKSOURCEEDGEI3DPROC GLeeFuncPtr_wglGenlockSourceEdgeI3D; - #define wglGenlockSourceEdgeI3D GLeeFuncPtr_wglGenlockSourceEdgeI3D -#endif -#ifndef GLEE_H_DEFINED_wglGetGenlockSourceEdgeI3D -#define GLEE_H_DEFINED_wglGetGenlockSourceEdgeI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT * uEdge); - GLEE_EXTERN GLEEPFNWGLGETGENLOCKSOURCEEDGEI3DPROC GLeeFuncPtr_wglGetGenlockSourceEdgeI3D; - #define wglGetGenlockSourceEdgeI3D GLeeFuncPtr_wglGetGenlockSourceEdgeI3D -#endif -#ifndef GLEE_H_DEFINED_wglGenlockSampleRateI3D -#define GLEE_H_DEFINED_wglGenlockSampleRateI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); - GLEE_EXTERN GLEEPFNWGLGENLOCKSAMPLERATEI3DPROC GLeeFuncPtr_wglGenlockSampleRateI3D; - #define wglGenlockSampleRateI3D GLeeFuncPtr_wglGenlockSampleRateI3D -#endif -#ifndef GLEE_H_DEFINED_wglGetGenlockSampleRateI3D -#define GLEE_H_DEFINED_wglGetGenlockSampleRateI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT * uRate); - GLEE_EXTERN GLEEPFNWGLGETGENLOCKSAMPLERATEI3DPROC GLeeFuncPtr_wglGetGenlockSampleRateI3D; - #define wglGetGenlockSampleRateI3D GLeeFuncPtr_wglGetGenlockSampleRateI3D -#endif -#ifndef GLEE_H_DEFINED_wglGenlockSourceDelayI3D -#define GLEE_H_DEFINED_wglGenlockSourceDelayI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); - GLEE_EXTERN GLEEPFNWGLGENLOCKSOURCEDELAYI3DPROC GLeeFuncPtr_wglGenlockSourceDelayI3D; - #define wglGenlockSourceDelayI3D GLeeFuncPtr_wglGenlockSourceDelayI3D -#endif -#ifndef GLEE_H_DEFINED_wglGetGenlockSourceDelayI3D -#define GLEE_H_DEFINED_wglGetGenlockSourceDelayI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT * uDelay); - GLEE_EXTERN GLEEPFNWGLGETGENLOCKSOURCEDELAYI3DPROC GLeeFuncPtr_wglGetGenlockSourceDelayI3D; - #define wglGetGenlockSourceDelayI3D GLeeFuncPtr_wglGetGenlockSourceDelayI3D -#endif -#ifndef GLEE_H_DEFINED_wglQueryGenlockMaxSourceDelayI3D -#define GLEE_H_DEFINED_wglQueryGenlockMaxSourceDelayI3D - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT * uMaxLineDelay, UINT * uMaxPixelDelay); - GLEE_EXTERN GLEEPFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC GLeeFuncPtr_wglQueryGenlockMaxSourceDelayI3D; - #define wglQueryGenlockMaxSourceDelayI3D GLeeFuncPtr_wglQueryGenlockMaxSourceDelayI3D -#endif -#endif - -/* WGL_I3D_image_buffer */ - -#ifndef WGL_I3D_image_buffer -#define WGL_I3D_image_buffer 1 -#define __GLEE_WGL_I3D_image_buffer 1 -/* Constants */ -#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 -#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 -#ifndef GLEE_H_DEFINED_wglCreateImageBufferI3D -#define GLEE_H_DEFINED_wglCreateImageBufferI3D - typedef LPVOID (APIENTRYP GLEEPFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); - GLEE_EXTERN GLEEPFNWGLCREATEIMAGEBUFFERI3DPROC GLeeFuncPtr_wglCreateImageBufferI3D; - #define wglCreateImageBufferI3D GLeeFuncPtr_wglCreateImageBufferI3D -#endif -#ifndef GLEE_H_DEFINED_wglDestroyImageBufferI3D -#define GLEE_H_DEFINED_wglDestroyImageBufferI3D - typedef BOOL (APIENTRYP GLEEPFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); - GLEE_EXTERN GLEEPFNWGLDESTROYIMAGEBUFFERI3DPROC GLeeFuncPtr_wglDestroyImageBufferI3D; - #define wglDestroyImageBufferI3D GLeeFuncPtr_wglDestroyImageBufferI3D -#endif -#ifndef GLEE_H_DEFINED_wglAssociateImageBufferEventsI3D -#define GLEE_H_DEFINED_wglAssociateImageBufferEventsI3D - typedef BOOL (APIENTRYP GLEEPFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE * pEvent, const LPVOID * pAddress, const DWORD * pSize, UINT count); - GLEE_EXTERN GLEEPFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC GLeeFuncPtr_wglAssociateImageBufferEventsI3D; - #define wglAssociateImageBufferEventsI3D GLeeFuncPtr_wglAssociateImageBufferEventsI3D -#endif -#ifndef GLEE_H_DEFINED_wglReleaseImageBufferEventsI3D -#define GLEE_H_DEFINED_wglReleaseImageBufferEventsI3D - typedef BOOL (APIENTRYP GLEEPFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID * pAddress, UINT count); - GLEE_EXTERN GLEEPFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC GLeeFuncPtr_wglReleaseImageBufferEventsI3D; - #define wglReleaseImageBufferEventsI3D GLeeFuncPtr_wglReleaseImageBufferEventsI3D -#endif -#endif - -/* WGL_I3D_swap_frame_lock */ - -#ifndef WGL_I3D_swap_frame_lock -#define WGL_I3D_swap_frame_lock 1 -#define __GLEE_WGL_I3D_swap_frame_lock 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglEnableFrameLockI3D -#define GLEE_H_DEFINED_wglEnableFrameLockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLENABLEFRAMELOCKI3DPROC) (); - GLEE_EXTERN GLEEPFNWGLENABLEFRAMELOCKI3DPROC GLeeFuncPtr_wglEnableFrameLockI3D; - #define wglEnableFrameLockI3D GLeeFuncPtr_wglEnableFrameLockI3D -#endif -#ifndef GLEE_H_DEFINED_wglDisableFrameLockI3D -#define GLEE_H_DEFINED_wglDisableFrameLockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLDISABLEFRAMELOCKI3DPROC) (); - GLEE_EXTERN GLEEPFNWGLDISABLEFRAMELOCKI3DPROC GLeeFuncPtr_wglDisableFrameLockI3D; - #define wglDisableFrameLockI3D GLeeFuncPtr_wglDisableFrameLockI3D -#endif -#ifndef GLEE_H_DEFINED_wglIsEnabledFrameLockI3D -#define GLEE_H_DEFINED_wglIsEnabledFrameLockI3D - typedef BOOL (APIENTRYP GLEEPFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL * pFlag); - GLEE_EXTERN GLEEPFNWGLISENABLEDFRAMELOCKI3DPROC GLeeFuncPtr_wglIsEnabledFrameLockI3D; - #define wglIsEnabledFrameLockI3D GLeeFuncPtr_wglIsEnabledFrameLockI3D -#endif -#ifndef GLEE_H_DEFINED_wglQueryFrameLockMasterI3D -#define GLEE_H_DEFINED_wglQueryFrameLockMasterI3D - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL * pFlag); - GLEE_EXTERN GLEEPFNWGLQUERYFRAMELOCKMASTERI3DPROC GLeeFuncPtr_wglQueryFrameLockMasterI3D; - #define wglQueryFrameLockMasterI3D GLeeFuncPtr_wglQueryFrameLockMasterI3D -#endif -#endif - -/* WGL_NV_render_depth_texture */ - -#ifndef WGL_NV_render_depth_texture -#define WGL_NV_render_depth_texture 1 -#define __GLEE_WGL_NV_render_depth_texture 1 -/* Constants */ -#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 -#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 -#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 -#define WGL_DEPTH_COMPONENT_NV 0x20A7 -#endif - -/* WGL_NV_render_texture_rectangle */ - -#ifndef WGL_NV_render_texture_rectangle -#define WGL_NV_render_texture_rectangle 1 -#define __GLEE_WGL_NV_render_texture_rectangle 1 -/* Constants */ -#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 -#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 -#endif - -/* WGL_ATI_pixel_format_float */ - -#ifndef WGL_ATI_pixel_format_float -#define WGL_ATI_pixel_format_float 1 -#define __GLEE_WGL_ATI_pixel_format_float 1 -/* Constants */ -#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 -#endif - -/* WGL_NV_float_buffer */ - -#ifndef WGL_NV_float_buffer -#define WGL_NV_float_buffer 1 -#define __GLEE_WGL_NV_float_buffer 1 -/* Constants */ -#define WGL_FLOAT_COMPONENTS_NV 0x20B0 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 -#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 -#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 -#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 -#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 -#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 -#endif - -/* WGL_3DL_stereo_control */ - -#ifndef WGL_3DL_stereo_control -#define WGL_3DL_stereo_control 1 -#define __GLEE_WGL_3DL_stereo_control 1 -/* Constants */ -#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 -#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 -#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 -#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 -#ifndef GLEE_H_DEFINED_wglSetStereoEmitterState3DL -#define GLEE_H_DEFINED_wglSetStereoEmitterState3DL - typedef BOOL (APIENTRYP GLEEPFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); - GLEE_EXTERN GLEEPFNWGLSETSTEREOEMITTERSTATE3DLPROC GLeeFuncPtr_wglSetStereoEmitterState3DL; - #define wglSetStereoEmitterState3DL GLeeFuncPtr_wglSetStereoEmitterState3DL -#endif -#endif - -/* WGL_EXT_pixel_format_packed_float */ - -#ifndef WGL_EXT_pixel_format_packed_float -#define WGL_EXT_pixel_format_packed_float 1 -#define __GLEE_WGL_EXT_pixel_format_packed_float 1 -/* Constants */ -#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 -#endif - -/* WGL_EXT_framebuffer_sRGB */ - -#ifndef WGL_EXT_framebuffer_sRGB -#define WGL_EXT_framebuffer_sRGB 1 -#define __GLEE_WGL_EXT_framebuffer_sRGB 1 -/* Constants */ -#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 -#endif - -/* WGL_NV_present_video */ - -#ifndef WGL_NV_present_video -#define WGL_NV_present_video 1 -#define __GLEE_WGL_NV_present_video 1 -/* Constants */ -#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 -#ifndef GLEE_H_DEFINED_wglEnumerateVideoDevicesNV -#define GLEE_H_DEFINED_wglEnumerateVideoDevicesNV - typedef int (APIENTRYP GLEEPFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDC, HVIDEOOUTPUTDEVICENV * phDeviceList); - GLEE_EXTERN GLEEPFNWGLENUMERATEVIDEODEVICESNVPROC GLeeFuncPtr_wglEnumerateVideoDevicesNV; - #define wglEnumerateVideoDevicesNV GLeeFuncPtr_wglEnumerateVideoDevicesNV -#endif -#ifndef GLEE_H_DEFINED_wglBindVideoDeviceNV -#define GLEE_H_DEFINED_wglBindVideoDeviceNV - typedef BOOL (APIENTRYP GLEEPFNWGLBINDVIDEODEVICENVPROC) (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int * piAttribList); - GLEE_EXTERN GLEEPFNWGLBINDVIDEODEVICENVPROC GLeeFuncPtr_wglBindVideoDeviceNV; - #define wglBindVideoDeviceNV GLeeFuncPtr_wglBindVideoDeviceNV -#endif -#ifndef GLEE_H_DEFINED_wglQueryCurrentContextNV -#define GLEE_H_DEFINED_wglQueryCurrentContextNV - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int * piValue); - GLEE_EXTERN GLEEPFNWGLQUERYCURRENTCONTEXTNVPROC GLeeFuncPtr_wglQueryCurrentContextNV; - #define wglQueryCurrentContextNV GLeeFuncPtr_wglQueryCurrentContextNV -#endif -#endif - -/* WGL_NV_swap_group */ - -#ifndef WGL_NV_swap_group -#define WGL_NV_swap_group 1 -#define __GLEE_WGL_NV_swap_group 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglJoinSwapGroupNV -#define GLEE_H_DEFINED_wglJoinSwapGroupNV - typedef BOOL (APIENTRYP GLEEPFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); - GLEE_EXTERN GLEEPFNWGLJOINSWAPGROUPNVPROC GLeeFuncPtr_wglJoinSwapGroupNV; - #define wglJoinSwapGroupNV GLeeFuncPtr_wglJoinSwapGroupNV -#endif -#ifndef GLEE_H_DEFINED_wglBindSwapBarrierNV -#define GLEE_H_DEFINED_wglBindSwapBarrierNV - typedef BOOL (APIENTRYP GLEEPFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); - GLEE_EXTERN GLEEPFNWGLBINDSWAPBARRIERNVPROC GLeeFuncPtr_wglBindSwapBarrierNV; - #define wglBindSwapBarrierNV GLeeFuncPtr_wglBindSwapBarrierNV -#endif -#ifndef GLEE_H_DEFINED_wglQuerySwapGroupNV -#define GLEE_H_DEFINED_wglQuerySwapGroupNV - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint * group, GLuint * barrier); - GLEE_EXTERN GLEEPFNWGLQUERYSWAPGROUPNVPROC GLeeFuncPtr_wglQuerySwapGroupNV; - #define wglQuerySwapGroupNV GLeeFuncPtr_wglQuerySwapGroupNV -#endif -#ifndef GLEE_H_DEFINED_wglQueryMaxSwapGroupsNV -#define GLEE_H_DEFINED_wglQueryMaxSwapGroupsNV - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint * maxGroups, GLuint * maxBarriers); - GLEE_EXTERN GLEEPFNWGLQUERYMAXSWAPGROUPSNVPROC GLeeFuncPtr_wglQueryMaxSwapGroupsNV; - #define wglQueryMaxSwapGroupsNV GLeeFuncPtr_wglQueryMaxSwapGroupsNV -#endif -#ifndef GLEE_H_DEFINED_wglQueryFrameCountNV -#define GLEE_H_DEFINED_wglQueryFrameCountNV - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint * count); - GLEE_EXTERN GLEEPFNWGLQUERYFRAMECOUNTNVPROC GLeeFuncPtr_wglQueryFrameCountNV; - #define wglQueryFrameCountNV GLeeFuncPtr_wglQueryFrameCountNV -#endif -#ifndef GLEE_H_DEFINED_wglResetFrameCountNV -#define GLEE_H_DEFINED_wglResetFrameCountNV - typedef BOOL (APIENTRYP GLEEPFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); - GLEE_EXTERN GLEEPFNWGLRESETFRAMECOUNTNVPROC GLeeFuncPtr_wglResetFrameCountNV; - #define wglResetFrameCountNV GLeeFuncPtr_wglResetFrameCountNV -#endif -#endif - -/* WGL_NV_gpu_affinity */ - -#ifndef WGL_NV_gpu_affinity -#define WGL_NV_gpu_affinity 1 -#define __GLEE_WGL_NV_gpu_affinity 1 -/* Constants */ -#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 -#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 -#ifndef GLEE_H_DEFINED_wglEnumGpusNV -#define GLEE_H_DEFINED_wglEnumGpusNV - typedef BOOL (APIENTRYP GLEEPFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV * phGpu); - GLEE_EXTERN GLEEPFNWGLENUMGPUSNVPROC GLeeFuncPtr_wglEnumGpusNV; - #define wglEnumGpusNV GLeeFuncPtr_wglEnumGpusNV -#endif -#ifndef GLEE_H_DEFINED_wglEnumGpuDevicesNV -#define GLEE_H_DEFINED_wglEnumGpuDevicesNV - typedef BOOL (APIENTRYP GLEEPFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); - GLEE_EXTERN GLEEPFNWGLENUMGPUDEVICESNVPROC GLeeFuncPtr_wglEnumGpuDevicesNV; - #define wglEnumGpuDevicesNV GLeeFuncPtr_wglEnumGpuDevicesNV -#endif -#ifndef GLEE_H_DEFINED_wglCreateAffinityDCNV -#define GLEE_H_DEFINED_wglCreateAffinityDCNV - typedef HDC (APIENTRYP GLEEPFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV * phGpuList); - GLEE_EXTERN GLEEPFNWGLCREATEAFFINITYDCNVPROC GLeeFuncPtr_wglCreateAffinityDCNV; - #define wglCreateAffinityDCNV GLeeFuncPtr_wglCreateAffinityDCNV -#endif -#ifndef GLEE_H_DEFINED_wglEnumGpusFromAffinityDCNV -#define GLEE_H_DEFINED_wglEnumGpusFromAffinityDCNV - typedef BOOL (APIENTRYP GLEEPFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV * hGpu); - GLEE_EXTERN GLEEPFNWGLENUMGPUSFROMAFFINITYDCNVPROC GLeeFuncPtr_wglEnumGpusFromAffinityDCNV; - #define wglEnumGpusFromAffinityDCNV GLeeFuncPtr_wglEnumGpusFromAffinityDCNV -#endif -#ifndef GLEE_H_DEFINED_wglDeleteDCNV -#define GLEE_H_DEFINED_wglDeleteDCNV - typedef BOOL (APIENTRYP GLEEPFNWGLDELETEDCNVPROC) (HDC hdc); - GLEE_EXTERN GLEEPFNWGLDELETEDCNVPROC GLeeFuncPtr_wglDeleteDCNV; - #define wglDeleteDCNV GLeeFuncPtr_wglDeleteDCNV -#endif -#endif - -/* WGL_AMD_gpu_association */ - -#ifndef WGL_AMD_gpu_association -#define WGL_AMD_gpu_association 1 -#define __GLEE_WGL_AMD_gpu_association 1 -/* Constants */ -#define WGL_GPU_VENDOR_AMD 0x1F00 -#define WGL_GPU_RENDERER_STRING_AMD 0x1F01 -#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 -#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 -#define WGL_GPU_RAM_AMD 0x21A3 -#define WGL_GPU_CLOCK_AMD 0x21A4 -#define WGL_GPU_NUM_PIPES_AMD 0x21A5 -#define WGL_GPU_NUM_SIMD_AMD 0x21A6 -#define WGL_GPU_NUM_RB_AMD 0x21A7 -#define WGL_GPU_NUM_SPI_AMD 0x21A8 -#ifndef GLEE_H_DEFINED_wglGetGPUIDsAMD -#define GLEE_H_DEFINED_wglGetGPUIDsAMD - typedef UINT (APIENTRYP GLEEPFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT * ids); - GLEE_EXTERN GLEEPFNWGLGETGPUIDSAMDPROC GLeeFuncPtr_wglGetGPUIDsAMD; - #define wglGetGPUIDsAMD GLeeFuncPtr_wglGetGPUIDsAMD -#endif -#ifndef GLEE_H_DEFINED_wglGetGPUInfoAMD -#define GLEE_H_DEFINED_wglGetGPUInfoAMD - typedef INT (APIENTRYP GLEEPFNWGLGETGPUINFOAMDPROC) (UINT id, int property, GLenum dataType, UINT size, void * data); - GLEE_EXTERN GLEEPFNWGLGETGPUINFOAMDPROC GLeeFuncPtr_wglGetGPUInfoAMD; - #define wglGetGPUInfoAMD GLeeFuncPtr_wglGetGPUInfoAMD -#endif -#ifndef GLEE_H_DEFINED_wglGetContextGPUIDAMD -#define GLEE_H_DEFINED_wglGetContextGPUIDAMD - typedef UINT (APIENTRYP GLEEPFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); - GLEE_EXTERN GLEEPFNWGLGETCONTEXTGPUIDAMDPROC GLeeFuncPtr_wglGetContextGPUIDAMD; - #define wglGetContextGPUIDAMD GLeeFuncPtr_wglGetContextGPUIDAMD -#endif -#ifndef GLEE_H_DEFINED_wglCreateAssociatedContextAMD -#define GLEE_H_DEFINED_wglCreateAssociatedContextAMD - typedef HGLRC (APIENTRYP GLEEPFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); - GLEE_EXTERN GLEEPFNWGLCREATEASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglCreateAssociatedContextAMD; - #define wglCreateAssociatedContextAMD GLeeFuncPtr_wglCreateAssociatedContextAMD -#endif -#ifndef GLEE_H_DEFINED_wglCreateAssociatedContextAttribsAMD -#define GLEE_H_DEFINED_wglCreateAssociatedContextAttribsAMD - typedef HGLRC (APIENTRYP GLEEPFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int * attribList); - GLEE_EXTERN GLEEPFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC GLeeFuncPtr_wglCreateAssociatedContextAttribsAMD; - #define wglCreateAssociatedContextAttribsAMD GLeeFuncPtr_wglCreateAssociatedContextAttribsAMD -#endif -#ifndef GLEE_H_DEFINED_wglDeleteAssociatedContextAMD -#define GLEE_H_DEFINED_wglDeleteAssociatedContextAMD - typedef BOOL (APIENTRYP GLEEPFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); - GLEE_EXTERN GLEEPFNWGLDELETEASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglDeleteAssociatedContextAMD; - #define wglDeleteAssociatedContextAMD GLeeFuncPtr_wglDeleteAssociatedContextAMD -#endif -#ifndef GLEE_H_DEFINED_wglMakeAssociatedContextCurrentAMD -#define GLEE_H_DEFINED_wglMakeAssociatedContextCurrentAMD - typedef BOOL (APIENTRYP GLEEPFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); - GLEE_EXTERN GLEEPFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC GLeeFuncPtr_wglMakeAssociatedContextCurrentAMD; - #define wglMakeAssociatedContextCurrentAMD GLeeFuncPtr_wglMakeAssociatedContextCurrentAMD -#endif -#ifndef GLEE_H_DEFINED_wglGetCurrentAssociatedContextAMD -#define GLEE_H_DEFINED_wglGetCurrentAssociatedContextAMD - typedef HGLRC (APIENTRYP GLEEPFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (); - GLEE_EXTERN GLEEPFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC GLeeFuncPtr_wglGetCurrentAssociatedContextAMD; - #define wglGetCurrentAssociatedContextAMD GLeeFuncPtr_wglGetCurrentAssociatedContextAMD -#endif -#ifndef GLEE_H_DEFINED_wglBlitContextFramebufferAMD -#define GLEE_H_DEFINED_wglBlitContextFramebufferAMD - typedef VOID (APIENTRYP GLEEPFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - GLEE_EXTERN GLEEPFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC GLeeFuncPtr_wglBlitContextFramebufferAMD; - #define wglBlitContextFramebufferAMD GLeeFuncPtr_wglBlitContextFramebufferAMD -#endif -#endif - -/* WGL_NV_copy_image */ - -#ifndef WGL_NV_copy_image -#define WGL_NV_copy_image 1 -#define __GLEE_WGL_NV_copy_image 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglCopyImageSubDataNV -#define GLEE_H_DEFINED_wglCopyImageSubDataNV - typedef BOOL (APIENTRYP GLEEPFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNWGLCOPYIMAGESUBDATANVPROC GLeeFuncPtr_wglCopyImageSubDataNV; - #define wglCopyImageSubDataNV GLeeFuncPtr_wglCopyImageSubDataNV -#endif -#endif - -/* WGL_NV_multisample_coverage */ - -#ifndef WGL_NV_multisample_coverage -#define WGL_NV_multisample_coverage 1 -#define __GLEE_WGL_NV_multisample_coverage 1 -/* Constants */ -#define WGL_COVERAGE_SAMPLES_NV 0x2042 -#define WGL_COLOR_SAMPLES_NV 0x20B9 -#endif - -/* WGL_EXT_create_context_es2_profile */ - -#ifndef WGL_EXT_create_context_es2_profile -#define WGL_EXT_create_context_es2_profile 1 -#define __GLEE_WGL_EXT_create_context_es2_profile 1 -/* Constants */ -#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 -#endif - -/* WGL_NV_DX_interop */ - -#ifndef WGL_NV_DX_interop -#define WGL_NV_DX_interop 1 -#define __GLEE_WGL_NV_DX_interop 1 -/* Constants */ -#define WGL_ACCESS_READ_ONLY_NV 0x00000000 -#define WGL_ACCESS_READ_WRITE_NV 0x00000001 -#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002 -#ifndef GLEE_H_DEFINED_wglDXSetResourceShareHandleNV -#define GLEE_H_DEFINED_wglDXSetResourceShareHandleNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void * dxObject, HANDLE shareHandle); - GLEE_EXTERN GLEEPFNWGLDXSETRESOURCESHAREHANDLENVPROC GLeeFuncPtr_wglDXSetResourceShareHandleNV; - #define wglDXSetResourceShareHandleNV GLeeFuncPtr_wglDXSetResourceShareHandleNV -#endif -#ifndef GLEE_H_DEFINED_wglDXOpenDeviceNV -#define GLEE_H_DEFINED_wglDXOpenDeviceNV - typedef HANDLE (APIENTRYP GLEEPFNWGLDXOPENDEVICENVPROC) (void * dxDevice); - GLEE_EXTERN GLEEPFNWGLDXOPENDEVICENVPROC GLeeFuncPtr_wglDXOpenDeviceNV; - #define wglDXOpenDeviceNV GLeeFuncPtr_wglDXOpenDeviceNV -#endif -#ifndef GLEE_H_DEFINED_wglDXCloseDeviceNV -#define GLEE_H_DEFINED_wglDXCloseDeviceNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); - GLEE_EXTERN GLEEPFNWGLDXCLOSEDEVICENVPROC GLeeFuncPtr_wglDXCloseDeviceNV; - #define wglDXCloseDeviceNV GLeeFuncPtr_wglDXCloseDeviceNV -#endif -#ifndef GLEE_H_DEFINED_wglDXRegisterObjectNV -#define GLEE_H_DEFINED_wglDXRegisterObjectNV - typedef HANDLE (APIENTRYP GLEEPFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void * dxObject, GLuint name, GLenum type, GLenum access); - GLEE_EXTERN GLEEPFNWGLDXREGISTEROBJECTNVPROC GLeeFuncPtr_wglDXRegisterObjectNV; - #define wglDXRegisterObjectNV GLeeFuncPtr_wglDXRegisterObjectNV -#endif -#ifndef GLEE_H_DEFINED_wglDXUnregisterObjectNV -#define GLEE_H_DEFINED_wglDXUnregisterObjectNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); - GLEE_EXTERN GLEEPFNWGLDXUNREGISTEROBJECTNVPROC GLeeFuncPtr_wglDXUnregisterObjectNV; - #define wglDXUnregisterObjectNV GLeeFuncPtr_wglDXUnregisterObjectNV -#endif -#ifndef GLEE_H_DEFINED_wglDXObjectAccessNV -#define GLEE_H_DEFINED_wglDXObjectAccessNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); - GLEE_EXTERN GLEEPFNWGLDXOBJECTACCESSNVPROC GLeeFuncPtr_wglDXObjectAccessNV; - #define wglDXObjectAccessNV GLeeFuncPtr_wglDXObjectAccessNV -#endif -#ifndef GLEE_H_DEFINED_wglDXLockObjectsNV -#define GLEE_H_DEFINED_wglDXLockObjectsNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE * hObjects); - GLEE_EXTERN GLEEPFNWGLDXLOCKOBJECTSNVPROC GLeeFuncPtr_wglDXLockObjectsNV; - #define wglDXLockObjectsNV GLeeFuncPtr_wglDXLockObjectsNV -#endif -#ifndef GLEE_H_DEFINED_wglDXUnlockObjectsNV -#define GLEE_H_DEFINED_wglDXUnlockObjectsNV - typedef BOOL (APIENTRYP GLEEPFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE * hObjects); - GLEE_EXTERN GLEEPFNWGLDXUNLOCKOBJECTSNVPROC GLeeFuncPtr_wglDXUnlockObjectsNV; - #define wglDXUnlockObjectsNV GLeeFuncPtr_wglDXUnlockObjectsNV -#endif -#endif - -/* WGL_NV_DX_interop2 */ - -#ifndef WGL_NV_DX_interop2 -#define WGL_NV_DX_interop2 1 -#define __GLEE_WGL_NV_DX_interop2 1 -/* Constants */ -#endif - -/* WGL_EXT_swap_control_tear */ - -#ifndef WGL_EXT_swap_control_tear -#define WGL_EXT_swap_control_tear 1 -#define __GLEE_WGL_EXT_swap_control_tear 1 -/* Constants */ -#endif - -/* WGL_EXT_display_color_table */ - -#ifndef WGL_EXT_display_color_table -#define WGL_EXT_display_color_table 1 -#define __GLEE_WGL_EXT_display_color_table 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglCreateDisplayColorTableEXT -#define GLEE_H_DEFINED_wglCreateDisplayColorTableEXT - typedef GLboolean (APIENTRYP GLEEPFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); - GLEE_EXTERN GLEEPFNWGLCREATEDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglCreateDisplayColorTableEXT; - #define wglCreateDisplayColorTableEXT GLeeFuncPtr_wglCreateDisplayColorTableEXT -#endif -#ifndef GLEE_H_DEFINED_wglLoadDisplayColorTableEXT -#define GLEE_H_DEFINED_wglLoadDisplayColorTableEXT - typedef GLboolean (APIENTRYP GLEEPFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort * table, GLuint length); - GLEE_EXTERN GLEEPFNWGLLOADDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglLoadDisplayColorTableEXT; - #define wglLoadDisplayColorTableEXT GLeeFuncPtr_wglLoadDisplayColorTableEXT -#endif -#ifndef GLEE_H_DEFINED_wglBindDisplayColorTableEXT -#define GLEE_H_DEFINED_wglBindDisplayColorTableEXT - typedef GLboolean (APIENTRYP GLEEPFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); - GLEE_EXTERN GLEEPFNWGLBINDDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglBindDisplayColorTableEXT; - #define wglBindDisplayColorTableEXT GLeeFuncPtr_wglBindDisplayColorTableEXT -#endif -#ifndef GLEE_H_DEFINED_wglDestroyDisplayColorTableEXT -#define GLEE_H_DEFINED_wglDestroyDisplayColorTableEXT - typedef VOID (APIENTRYP GLEEPFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); - GLEE_EXTERN GLEEPFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC GLeeFuncPtr_wglDestroyDisplayColorTableEXT; - #define wglDestroyDisplayColorTableEXT GLeeFuncPtr_wglDestroyDisplayColorTableEXT -#endif -#endif - -/* WGL_EXT_extensions_string */ - -#ifndef WGL_EXT_extensions_string -#define WGL_EXT_extensions_string 1 -#define __GLEE_WGL_EXT_extensions_string 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglGetExtensionsStringEXT -#define GLEE_H_DEFINED_wglGetExtensionsStringEXT - typedef const char * (APIENTRYP GLEEPFNWGLGETEXTENSIONSSTRINGEXTPROC) (); - GLEE_EXTERN GLEEPFNWGLGETEXTENSIONSSTRINGEXTPROC GLeeFuncPtr_wglGetExtensionsStringEXT; - #define wglGetExtensionsStringEXT GLeeFuncPtr_wglGetExtensionsStringEXT -#endif -#endif - -/* WGL_EXT_swap_control */ - -#ifndef WGL_EXT_swap_control -#define WGL_EXT_swap_control 1 -#define __GLEE_WGL_EXT_swap_control 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglSwapIntervalEXT -#define GLEE_H_DEFINED_wglSwapIntervalEXT - typedef BOOL (APIENTRYP GLEEPFNWGLSWAPINTERVALEXTPROC) (int interval); - GLEE_EXTERN GLEEPFNWGLSWAPINTERVALEXTPROC GLeeFuncPtr_wglSwapIntervalEXT; - #define wglSwapIntervalEXT GLeeFuncPtr_wglSwapIntervalEXT -#endif -#ifndef GLEE_H_DEFINED_wglGetSwapIntervalEXT -#define GLEE_H_DEFINED_wglGetSwapIntervalEXT - typedef int (APIENTRYP GLEEPFNWGLGETSWAPINTERVALEXTPROC) (); - GLEE_EXTERN GLEEPFNWGLGETSWAPINTERVALEXTPROC GLeeFuncPtr_wglGetSwapIntervalEXT; - #define wglGetSwapIntervalEXT GLeeFuncPtr_wglGetSwapIntervalEXT -#endif -#endif - -/* WGL_NV_vertex_array_range */ - -#ifndef WGL_NV_vertex_array_range -#define WGL_NV_vertex_array_range 1 -#define __GLEE_WGL_NV_vertex_array_range 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglAllocateMemoryNV -#define GLEE_H_DEFINED_wglAllocateMemoryNV - typedef void* (APIENTRYP GLEEPFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); - GLEE_EXTERN GLEEPFNWGLALLOCATEMEMORYNVPROC GLeeFuncPtr_wglAllocateMemoryNV; - #define wglAllocateMemoryNV GLeeFuncPtr_wglAllocateMemoryNV -#endif -#ifndef GLEE_H_DEFINED_wglFreeMemoryNV -#define GLEE_H_DEFINED_wglFreeMemoryNV - typedef void (APIENTRYP GLEEPFNWGLFREEMEMORYNVPROC) (void * pointer); - GLEE_EXTERN GLEEPFNWGLFREEMEMORYNVPROC GLeeFuncPtr_wglFreeMemoryNV; - #define wglFreeMemoryNV GLeeFuncPtr_wglFreeMemoryNV -#endif -#endif - -/* WGL_OML_sync_control */ - -#ifndef WGL_OML_sync_control -#define WGL_OML_sync_control 1 -#define __GLEE_WGL_OML_sync_control 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglGetSyncValuesOML -#define GLEE_H_DEFINED_wglGetSyncValuesOML - typedef BOOL (APIENTRYP GLEEPFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 * ust, INT64 * msc, INT64 * sbc); - GLEE_EXTERN GLEEPFNWGLGETSYNCVALUESOMLPROC GLeeFuncPtr_wglGetSyncValuesOML; - #define wglGetSyncValuesOML GLeeFuncPtr_wglGetSyncValuesOML -#endif -#ifndef GLEE_H_DEFINED_wglGetMscRateOML -#define GLEE_H_DEFINED_wglGetMscRateOML - typedef BOOL (APIENTRYP GLEEPFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 * numerator, INT32 * denominator); - GLEE_EXTERN GLEEPFNWGLGETMSCRATEOMLPROC GLeeFuncPtr_wglGetMscRateOML; - #define wglGetMscRateOML GLeeFuncPtr_wglGetMscRateOML -#endif -#ifndef GLEE_H_DEFINED_wglSwapBuffersMscOML -#define GLEE_H_DEFINED_wglSwapBuffersMscOML - typedef INT64 (APIENTRYP GLEEPFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); - GLEE_EXTERN GLEEPFNWGLSWAPBUFFERSMSCOMLPROC GLeeFuncPtr_wglSwapBuffersMscOML; - #define wglSwapBuffersMscOML GLeeFuncPtr_wglSwapBuffersMscOML -#endif -#ifndef GLEE_H_DEFINED_wglSwapLayerBuffersMscOML -#define GLEE_H_DEFINED_wglSwapLayerBuffersMscOML - typedef INT64 (APIENTRYP GLEEPFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); - GLEE_EXTERN GLEEPFNWGLSWAPLAYERBUFFERSMSCOMLPROC GLeeFuncPtr_wglSwapLayerBuffersMscOML; - #define wglSwapLayerBuffersMscOML GLeeFuncPtr_wglSwapLayerBuffersMscOML -#endif -#ifndef GLEE_H_DEFINED_wglWaitForMscOML -#define GLEE_H_DEFINED_wglWaitForMscOML - typedef BOOL (APIENTRYP GLEEPFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 * ust, INT64 * msc, INT64 * sbc); - GLEE_EXTERN GLEEPFNWGLWAITFORMSCOMLPROC GLeeFuncPtr_wglWaitForMscOML; - #define wglWaitForMscOML GLeeFuncPtr_wglWaitForMscOML -#endif -#ifndef GLEE_H_DEFINED_wglWaitForSbcOML -#define GLEE_H_DEFINED_wglWaitForSbcOML - typedef BOOL (APIENTRYP GLEEPFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 * ust, INT64 * msc, INT64 * sbc); - GLEE_EXTERN GLEEPFNWGLWAITFORSBCOMLPROC GLeeFuncPtr_wglWaitForSbcOML; - #define wglWaitForSbcOML GLeeFuncPtr_wglWaitForSbcOML -#endif -#endif - -/* WGL_I3D_swap_frame_usage */ - -#ifndef WGL_I3D_swap_frame_usage -#define WGL_I3D_swap_frame_usage 1 -#define __GLEE_WGL_I3D_swap_frame_usage 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglGetFrameUsageI3D -#define GLEE_H_DEFINED_wglGetFrameUsageI3D - typedef BOOL (APIENTRYP GLEEPFNWGLGETFRAMEUSAGEI3DPROC) (float * pUsage); - GLEE_EXTERN GLEEPFNWGLGETFRAMEUSAGEI3DPROC GLeeFuncPtr_wglGetFrameUsageI3D; - #define wglGetFrameUsageI3D GLeeFuncPtr_wglGetFrameUsageI3D -#endif -#ifndef GLEE_H_DEFINED_wglBeginFrameTrackingI3D -#define GLEE_H_DEFINED_wglBeginFrameTrackingI3D - typedef BOOL (APIENTRYP GLEEPFNWGLBEGINFRAMETRACKINGI3DPROC) (); - GLEE_EXTERN GLEEPFNWGLBEGINFRAMETRACKINGI3DPROC GLeeFuncPtr_wglBeginFrameTrackingI3D; - #define wglBeginFrameTrackingI3D GLeeFuncPtr_wglBeginFrameTrackingI3D -#endif -#ifndef GLEE_H_DEFINED_wglEndFrameTrackingI3D -#define GLEE_H_DEFINED_wglEndFrameTrackingI3D - typedef BOOL (APIENTRYP GLEEPFNWGLENDFRAMETRACKINGI3DPROC) (); - GLEE_EXTERN GLEEPFNWGLENDFRAMETRACKINGI3DPROC GLeeFuncPtr_wglEndFrameTrackingI3D; - #define wglEndFrameTrackingI3D GLeeFuncPtr_wglEndFrameTrackingI3D -#endif -#ifndef GLEE_H_DEFINED_wglQueryFrameTrackingI3D -#define GLEE_H_DEFINED_wglQueryFrameTrackingI3D - typedef BOOL (APIENTRYP GLEEPFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD * pFrameCount, DWORD * pMissedFrames, float * pLastMissedUsage); - GLEE_EXTERN GLEEPFNWGLQUERYFRAMETRACKINGI3DPROC GLeeFuncPtr_wglQueryFrameTrackingI3D; - #define wglQueryFrameTrackingI3D GLeeFuncPtr_wglQueryFrameTrackingI3D -#endif -#endif - -/* WGL_NV_video_output */ - -#ifndef WGL_NV_video_output -#define WGL_NV_video_output 1 -#define __GLEE_WGL_NV_video_output 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_wglGetVideoDeviceNV -#define GLEE_H_DEFINED_wglGetVideoDeviceNV - typedef BOOL (APIENTRYP GLEEPFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV * hVideoDevice); - GLEE_EXTERN GLEEPFNWGLGETVIDEODEVICENVPROC GLeeFuncPtr_wglGetVideoDeviceNV; - #define wglGetVideoDeviceNV GLeeFuncPtr_wglGetVideoDeviceNV -#endif -#ifndef GLEE_H_DEFINED_wglReleaseVideoDeviceNV -#define GLEE_H_DEFINED_wglReleaseVideoDeviceNV - typedef BOOL (APIENTRYP GLEEPFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); - GLEE_EXTERN GLEEPFNWGLRELEASEVIDEODEVICENVPROC GLeeFuncPtr_wglReleaseVideoDeviceNV; - #define wglReleaseVideoDeviceNV GLeeFuncPtr_wglReleaseVideoDeviceNV -#endif -#ifndef GLEE_H_DEFINED_wglBindVideoImageNV -#define GLEE_H_DEFINED_wglBindVideoImageNV - typedef BOOL (APIENTRYP GLEEPFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); - GLEE_EXTERN GLEEPFNWGLBINDVIDEOIMAGENVPROC GLeeFuncPtr_wglBindVideoImageNV; - #define wglBindVideoImageNV GLeeFuncPtr_wglBindVideoImageNV -#endif -#ifndef GLEE_H_DEFINED_wglReleaseVideoImageNV -#define GLEE_H_DEFINED_wglReleaseVideoImageNV - typedef BOOL (APIENTRYP GLEEPFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); - GLEE_EXTERN GLEEPFNWGLRELEASEVIDEOIMAGENVPROC GLeeFuncPtr_wglReleaseVideoImageNV; - #define wglReleaseVideoImageNV GLeeFuncPtr_wglReleaseVideoImageNV -#endif -#ifndef GLEE_H_DEFINED_wglSendPbufferToVideoNV -#define GLEE_H_DEFINED_wglSendPbufferToVideoNV - typedef BOOL (APIENTRYP GLEEPFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock); - GLEE_EXTERN GLEEPFNWGLSENDPBUFFERTOVIDEONVPROC GLeeFuncPtr_wglSendPbufferToVideoNV; - #define wglSendPbufferToVideoNV GLeeFuncPtr_wglSendPbufferToVideoNV -#endif -#ifndef GLEE_H_DEFINED_wglGetVideoInfoNV -#define GLEE_H_DEFINED_wglGetVideoInfoNV - typedef BOOL (APIENTRYP GLEEPFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo); - GLEE_EXTERN GLEEPFNWGLGETVIDEOINFONVPROC GLeeFuncPtr_wglGetVideoInfoNV; - #define wglGetVideoInfoNV GLeeFuncPtr_wglGetVideoInfoNV -#endif -#endif -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else /* GLX */ - -/* Extension querying variables */ - -GLEE_EXTERN GLboolean _GLEE_GLX_VERSION_1_3; -GLEE_EXTERN GLboolean _GLEE_GLX_VERSION_1_4; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_multisample; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_vertex_buffer_object; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_fbconfig_float; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_create_context; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_create_context_profile; -GLEE_EXTERN GLboolean _GLEE_GLX_ARB_create_context_robustness; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIS_multisample; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_visual_info; -GLEE_EXTERN GLboolean _GLEE_GLX_SGI_swap_control; -GLEE_EXTERN GLboolean _GLEE_GLX_SGI_video_sync; -GLEE_EXTERN GLboolean _GLEE_GLX_SGI_make_current_read; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_visual_rating; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_import_context; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_fbconfig; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_pbuffer; -GLEE_EXTERN GLboolean _GLEE_GLX_SGI_cushion; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_video_resize; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_swap_group; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_swap_barrier; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIS_blended_overlay; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIS_shared_multisample; -GLEE_EXTERN GLboolean _GLEE_GLX_SUN_get_transparent_index; -GLEE_EXTERN GLboolean _GLEE_GLX_3DFX_multisample; -GLEE_EXTERN GLboolean _GLEE_GLX_MESA_copy_sub_buffer; -GLEE_EXTERN GLboolean _GLEE_GLX_MESA_pixmap_colormap; -GLEE_EXTERN GLboolean _GLEE_GLX_MESA_release_buffers; -GLEE_EXTERN GLboolean _GLEE_GLX_MESA_set_3dfx_mode; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_visual_select_group; -GLEE_EXTERN GLboolean _GLEE_GLX_OML_swap_method; -GLEE_EXTERN GLboolean _GLEE_GLX_OML_sync_control; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_float_buffer; -GLEE_EXTERN GLboolean _GLEE_GLX_SGIX_hyperpipe; -GLEE_EXTERN GLboolean _GLEE_GLX_MESA_agp_offset; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_fbconfig_packed_float; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_framebuffer_sRGB; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_texture_from_pixmap; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_present_video; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_video_out; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_swap_group; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_video_capture; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_swap_control; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_copy_image; -GLEE_EXTERN GLboolean _GLEE_GLX_INTEL_swap_event; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_multisample_coverage; -GLEE_EXTERN GLboolean _GLEE_GLX_AMD_gpu_association; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_create_context_es2_profile; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_create_context_es_profile; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_swap_control_tear; -GLEE_EXTERN GLboolean _GLEE_GLX_EXT_buffer_age; -GLEE_EXTERN GLboolean _GLEE_GLX_NV_video_output; - -/* Aliases for extension querying variables */ - -#define GLEE_GLX_VERSION_1_3 GLeeEnabled(&_GLEE_GLX_VERSION_1_3) -#define GLEE_GLX_VERSION_1_4 GLeeEnabled(&_GLEE_GLX_VERSION_1_4) -#define GLEE_GLX_ARB_multisample GLeeEnabled(&_GLEE_GLX_ARB_multisample) -#define GLEE_GLX_ARB_vertex_buffer_object GLeeEnabled(&_GLEE_GLX_ARB_vertex_buffer_object) -#define GLEE_GLX_ARB_fbconfig_float GLeeEnabled(&_GLEE_GLX_ARB_fbconfig_float) -#define GLEE_GLX_ARB_framebuffer_sRGB GLeeEnabled(&_GLEE_GLX_ARB_framebuffer_sRGB) -#define GLEE_GLX_ARB_create_context GLeeEnabled(&_GLEE_GLX_ARB_create_context) -#define GLEE_GLX_ARB_create_context_profile GLeeEnabled(&_GLEE_GLX_ARB_create_context_profile) -#define GLEE_GLX_ARB_create_context_robustness GLeeEnabled(&_GLEE_GLX_ARB_create_context_robustness) -#define GLEE_GLX_SGIS_multisample GLeeEnabled(&_GLEE_GLX_SGIS_multisample) -#define GLEE_GLX_EXT_visual_info GLeeEnabled(&_GLEE_GLX_EXT_visual_info) -#define GLEE_GLX_SGI_swap_control GLeeEnabled(&_GLEE_GLX_SGI_swap_control) -#define GLEE_GLX_SGI_video_sync GLeeEnabled(&_GLEE_GLX_SGI_video_sync) -#define GLEE_GLX_SGI_make_current_read GLeeEnabled(&_GLEE_GLX_SGI_make_current_read) -#define GLEE_GLX_EXT_visual_rating GLeeEnabled(&_GLEE_GLX_EXT_visual_rating) -#define GLEE_GLX_EXT_import_context GLeeEnabled(&_GLEE_GLX_EXT_import_context) -#define GLEE_GLX_SGIX_fbconfig GLeeEnabled(&_GLEE_GLX_SGIX_fbconfig) -#define GLEE_GLX_SGIX_pbuffer GLeeEnabled(&_GLEE_GLX_SGIX_pbuffer) -#define GLEE_GLX_SGI_cushion GLeeEnabled(&_GLEE_GLX_SGI_cushion) -#define GLEE_GLX_SGIX_video_resize GLeeEnabled(&_GLEE_GLX_SGIX_video_resize) -#define GLEE_GLX_SGIX_swap_group GLeeEnabled(&_GLEE_GLX_SGIX_swap_group) -#define GLEE_GLX_SGIX_swap_barrier GLeeEnabled(&_GLEE_GLX_SGIX_swap_barrier) -#define GLEE_GLX_SGIS_blended_overlay GLeeEnabled(&_GLEE_GLX_SGIS_blended_overlay) -#define GLEE_GLX_SGIS_shared_multisample GLeeEnabled(&_GLEE_GLX_SGIS_shared_multisample) -#define GLEE_GLX_SUN_get_transparent_index GLeeEnabled(&_GLEE_GLX_SUN_get_transparent_index) -#define GLEE_GLX_3DFX_multisample GLeeEnabled(&_GLEE_GLX_3DFX_multisample) -#define GLEE_GLX_MESA_copy_sub_buffer GLeeEnabled(&_GLEE_GLX_MESA_copy_sub_buffer) -#define GLEE_GLX_MESA_pixmap_colormap GLeeEnabled(&_GLEE_GLX_MESA_pixmap_colormap) -#define GLEE_GLX_MESA_release_buffers GLeeEnabled(&_GLEE_GLX_MESA_release_buffers) -#define GLEE_GLX_MESA_set_3dfx_mode GLeeEnabled(&_GLEE_GLX_MESA_set_3dfx_mode) -#define GLEE_GLX_SGIX_visual_select_group GLeeEnabled(&_GLEE_GLX_SGIX_visual_select_group) -#define GLEE_GLX_OML_swap_method GLeeEnabled(&_GLEE_GLX_OML_swap_method) -#define GLEE_GLX_OML_sync_control GLeeEnabled(&_GLEE_GLX_OML_sync_control) -#define GLEE_GLX_NV_float_buffer GLeeEnabled(&_GLEE_GLX_NV_float_buffer) -#define GLEE_GLX_SGIX_hyperpipe GLeeEnabled(&_GLEE_GLX_SGIX_hyperpipe) -#define GLEE_GLX_MESA_agp_offset GLeeEnabled(&_GLEE_GLX_MESA_agp_offset) -#define GLEE_GLX_EXT_fbconfig_packed_float GLeeEnabled(&_GLEE_GLX_EXT_fbconfig_packed_float) -#define GLEE_GLX_EXT_framebuffer_sRGB GLeeEnabled(&_GLEE_GLX_EXT_framebuffer_sRGB) -#define GLEE_GLX_EXT_texture_from_pixmap GLeeEnabled(&_GLEE_GLX_EXT_texture_from_pixmap) -#define GLEE_GLX_NV_present_video GLeeEnabled(&_GLEE_GLX_NV_present_video) -#define GLEE_GLX_NV_video_out GLeeEnabled(&_GLEE_GLX_NV_video_out) -#define GLEE_GLX_NV_swap_group GLeeEnabled(&_GLEE_GLX_NV_swap_group) -#define GLEE_GLX_NV_video_capture GLeeEnabled(&_GLEE_GLX_NV_video_capture) -#define GLEE_GLX_EXT_swap_control GLeeEnabled(&_GLEE_GLX_EXT_swap_control) -#define GLEE_GLX_NV_copy_image GLeeEnabled(&_GLEE_GLX_NV_copy_image) -#define GLEE_GLX_INTEL_swap_event GLeeEnabled(&_GLEE_GLX_INTEL_swap_event) -#define GLEE_GLX_NV_multisample_coverage GLeeEnabled(&_GLEE_GLX_NV_multisample_coverage) -#define GLEE_GLX_AMD_gpu_association GLeeEnabled(&_GLEE_GLX_AMD_gpu_association) -#define GLEE_GLX_EXT_create_context_es2_profile GLeeEnabled(&_GLEE_GLX_EXT_create_context_es2_profile) -#define GLEE_GLX_EXT_create_context_es_profile GLeeEnabled(&_GLEE_GLX_EXT_create_context_es_profile) -#define GLEE_GLX_EXT_swap_control_tear GLeeEnabled(&_GLEE_GLX_EXT_swap_control_tear) -#define GLEE_GLX_EXT_buffer_age GLeeEnabled(&_GLEE_GLX_EXT_buffer_age) -#define GLEE_GLX_NV_video_output GLeeEnabled(&_GLEE_GLX_NV_video_output) - -/* GLX_VERSION_1_3 */ - -#ifndef GLX_VERSION_1_3 -#define GLX_VERSION_1_3 1 -#define __GLEE_GLX_VERSION_1_3 1 -/* Constants */ -#define GLX_WINDOW_BIT 0x00000001 -#define GLX_PIXMAP_BIT 0x00000002 -#define GLX_PBUFFER_BIT 0x00000004 -#define GLX_RGBA_BIT 0x00000001 -#define GLX_COLOR_INDEX_BIT 0x00000002 -#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 -#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 -#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 -#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 -#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 -#define GLX_AUX_BUFFERS_BIT 0x00000010 -#define GLX_DEPTH_BUFFER_BIT 0x00000020 -#define GLX_STENCIL_BUFFER_BIT 0x00000040 -#define GLX_ACCUM_BUFFER_BIT 0x00000080 -#define GLX_CONFIG_CAVEAT 0x20 -#define GLX_X_VISUAL_TYPE 0x22 -#define GLX_TRANSPARENT_TYPE 0x23 -#define GLX_TRANSPARENT_INDEX_VALUE 0x24 -#define GLX_TRANSPARENT_RED_VALUE 0x25 -#define GLX_TRANSPARENT_GREEN_VALUE 0x26 -#define GLX_TRANSPARENT_BLUE_VALUE 0x27 -#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 -#define GLX_DONT_CARE 0xFFFFFFFF -#define GLX_NONE 0x8000 -#define GLX_SLOW_CONFIG 0x8001 -#define GLX_TRUE_COLOR 0x8002 -#define GLX_DIRECT_COLOR 0x8003 -#define GLX_PSEUDO_COLOR 0x8004 -#define GLX_STATIC_COLOR 0x8005 -#define GLX_GRAY_SCALE 0x8006 -#define GLX_STATIC_GRAY 0x8007 -#define GLX_TRANSPARENT_RGB 0x8008 -#define GLX_TRANSPARENT_INDEX 0x8009 -#define GLX_VISUAL_ID 0x800B -#define GLX_SCREEN 0x800C -#define GLX_NON_CONFORMANT_CONFIG 0x800D -#define GLX_DRAWABLE_TYPE 0x8010 -#define GLX_RENDER_TYPE 0x8011 -#define GLX_X_RENDERABLE 0x8012 -#define GLX_FBCONFIG_ID 0x8013 -#define GLX_RGBA_TYPE 0x8014 -#define GLX_COLOR_INDEX_TYPE 0x8015 -#define GLX_MAX_PBUFFER_WIDTH 0x8016 -#define GLX_MAX_PBUFFER_HEIGHT 0x8017 -#define GLX_MAX_PBUFFER_PIXELS 0x8018 -#define GLX_PRESERVED_CONTENTS 0x801B -#define GLX_LARGEST_PBUFFER 0x801C -#define GLX_WIDTH 0x801D -#define GLX_HEIGHT 0x801E -#define GLX_EVENT_MASK 0x801F -#define GLX_DAMAGED 0x8020 -#define GLX_SAVED 0x8021 -#define GLX_WINDOW 0x8022 -#define GLX_PBUFFER 0x8023 -#define GLX_PBUFFER_HEIGHT 0x8040 -#define GLX_PBUFFER_WIDTH 0x8041 -#ifndef GLEE_H_DEFINED_glXGetFBConfigs -#define GLEE_H_DEFINED_glXGetFBConfigs - typedef GLXFBConfig * (APIENTRYP GLEEPFNGLXGETFBCONFIGSPROC) (Display * dpy, int screen, int * nelements); - GLEE_EXTERN GLEEPFNGLXGETFBCONFIGSPROC GLeeFuncPtr_glXGetFBConfigs; - #define glXGetFBConfigs GLeeFuncPtr_glXGetFBConfigs -#endif -#ifndef GLEE_H_DEFINED_glXChooseFBConfig -#define GLEE_H_DEFINED_glXChooseFBConfig - typedef GLXFBConfig * (APIENTRYP GLEEPFNGLXCHOOSEFBCONFIGPROC) (Display * dpy, int screen, const int * attrib_list, int * nelements); - GLEE_EXTERN GLEEPFNGLXCHOOSEFBCONFIGPROC GLeeFuncPtr_glXChooseFBConfig; - #define glXChooseFBConfig GLeeFuncPtr_glXChooseFBConfig -#endif -#ifndef GLEE_H_DEFINED_glXGetFBConfigAttrib -#define GLEE_H_DEFINED_glXGetFBConfigAttrib - typedef int (APIENTRYP GLEEPFNGLXGETFBCONFIGATTRIBPROC) (Display * dpy, GLXFBConfig config, int attribute, int * value); - GLEE_EXTERN GLEEPFNGLXGETFBCONFIGATTRIBPROC GLeeFuncPtr_glXGetFBConfigAttrib; - #define glXGetFBConfigAttrib GLeeFuncPtr_glXGetFBConfigAttrib -#endif -#ifndef GLEE_H_DEFINED_glXGetVisualFromFBConfig -#define GLEE_H_DEFINED_glXGetVisualFromFBConfig - typedef XVisualInfo * (APIENTRYP GLEEPFNGLXGETVISUALFROMFBCONFIGPROC) (Display * dpy, GLXFBConfig config); - GLEE_EXTERN GLEEPFNGLXGETVISUALFROMFBCONFIGPROC GLeeFuncPtr_glXGetVisualFromFBConfig; - #define glXGetVisualFromFBConfig GLeeFuncPtr_glXGetVisualFromFBConfig -#endif -#ifndef GLEE_H_DEFINED_glXCreateWindow -#define GLEE_H_DEFINED_glXCreateWindow - typedef GLXWindow (APIENTRYP GLEEPFNGLXCREATEWINDOWPROC) (Display * dpy, GLXFBConfig config, Window win, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXCREATEWINDOWPROC GLeeFuncPtr_glXCreateWindow; - #define glXCreateWindow GLeeFuncPtr_glXCreateWindow -#endif -#ifndef GLEE_H_DEFINED_glXDestroyWindow -#define GLEE_H_DEFINED_glXDestroyWindow - typedef void (APIENTRYP GLEEPFNGLXDESTROYWINDOWPROC) (Display * dpy, GLXWindow win); - GLEE_EXTERN GLEEPFNGLXDESTROYWINDOWPROC GLeeFuncPtr_glXDestroyWindow; - #define glXDestroyWindow GLeeFuncPtr_glXDestroyWindow -#endif -#ifndef GLEE_H_DEFINED_glXCreatePixmap -#define GLEE_H_DEFINED_glXCreatePixmap - typedef GLXPixmap (APIENTRYP GLEEPFNGLXCREATEPIXMAPPROC) (Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXCREATEPIXMAPPROC GLeeFuncPtr_glXCreatePixmap; - #define glXCreatePixmap GLeeFuncPtr_glXCreatePixmap -#endif -#ifndef GLEE_H_DEFINED_glXDestroyPixmap -#define GLEE_H_DEFINED_glXDestroyPixmap - typedef void (APIENTRYP GLEEPFNGLXDESTROYPIXMAPPROC) (Display * dpy, GLXPixmap pixmap); - GLEE_EXTERN GLEEPFNGLXDESTROYPIXMAPPROC GLeeFuncPtr_glXDestroyPixmap; - #define glXDestroyPixmap GLeeFuncPtr_glXDestroyPixmap -#endif -#ifndef GLEE_H_DEFINED_glXCreatePbuffer -#define GLEE_H_DEFINED_glXCreatePbuffer - typedef GLXPbuffer (APIENTRYP GLEEPFNGLXCREATEPBUFFERPROC) (Display * dpy, GLXFBConfig config, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXCREATEPBUFFERPROC GLeeFuncPtr_glXCreatePbuffer; - #define glXCreatePbuffer GLeeFuncPtr_glXCreatePbuffer -#endif -#ifndef GLEE_H_DEFINED_glXDestroyPbuffer -#define GLEE_H_DEFINED_glXDestroyPbuffer - typedef void (APIENTRYP GLEEPFNGLXDESTROYPBUFFERPROC) (Display * dpy, GLXPbuffer pbuf); - GLEE_EXTERN GLEEPFNGLXDESTROYPBUFFERPROC GLeeFuncPtr_glXDestroyPbuffer; - #define glXDestroyPbuffer GLeeFuncPtr_glXDestroyPbuffer -#endif -#ifndef GLEE_H_DEFINED_glXQueryDrawable -#define GLEE_H_DEFINED_glXQueryDrawable - typedef void (APIENTRYP GLEEPFNGLXQUERYDRAWABLEPROC) (Display * dpy, GLXDrawable draw, int attribute, unsigned int * value); - GLEE_EXTERN GLEEPFNGLXQUERYDRAWABLEPROC GLeeFuncPtr_glXQueryDrawable; - #define glXQueryDrawable GLeeFuncPtr_glXQueryDrawable -#endif -#ifndef GLEE_H_DEFINED_glXCreateNewContext -#define GLEE_H_DEFINED_glXCreateNewContext - typedef GLXContext (APIENTRYP GLEEPFNGLXCREATENEWCONTEXTPROC) (Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); - GLEE_EXTERN GLEEPFNGLXCREATENEWCONTEXTPROC GLeeFuncPtr_glXCreateNewContext; - #define glXCreateNewContext GLeeFuncPtr_glXCreateNewContext -#endif -#ifndef GLEE_H_DEFINED_glXMakeContextCurrent -#define GLEE_H_DEFINED_glXMakeContextCurrent - typedef Bool (APIENTRYP GLEEPFNGLXMAKECONTEXTCURRENTPROC) (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); - GLEE_EXTERN GLEEPFNGLXMAKECONTEXTCURRENTPROC GLeeFuncPtr_glXMakeContextCurrent; - #define glXMakeContextCurrent GLeeFuncPtr_glXMakeContextCurrent -#endif -#ifndef GLEE_H_DEFINED_glXGetCurrentReadDrawable -#define GLEE_H_DEFINED_glXGetCurrentReadDrawable - typedef GLXDrawable (APIENTRYP GLEEPFNGLXGETCURRENTREADDRAWABLEPROC) (); - GLEE_EXTERN GLEEPFNGLXGETCURRENTREADDRAWABLEPROC GLeeFuncPtr_glXGetCurrentReadDrawable; - #define glXGetCurrentReadDrawable GLeeFuncPtr_glXGetCurrentReadDrawable -#endif -#ifndef GLEE_H_DEFINED_glXGetCurrentDisplay -#define GLEE_H_DEFINED_glXGetCurrentDisplay - typedef Display * (APIENTRYP GLEEPFNGLXGETCURRENTDISPLAYPROC) (); - GLEE_EXTERN GLEEPFNGLXGETCURRENTDISPLAYPROC GLeeFuncPtr_glXGetCurrentDisplay; - #define glXGetCurrentDisplay GLeeFuncPtr_glXGetCurrentDisplay -#endif -#ifndef GLEE_H_DEFINED_glXQueryContext -#define GLEE_H_DEFINED_glXQueryContext - typedef int (APIENTRYP GLEEPFNGLXQUERYCONTEXTPROC) (Display * dpy, GLXContext ctx, int attribute, int * value); - GLEE_EXTERN GLEEPFNGLXQUERYCONTEXTPROC GLeeFuncPtr_glXQueryContext; - #define glXQueryContext GLeeFuncPtr_glXQueryContext -#endif -#ifndef GLEE_H_DEFINED_glXSelectEvent -#define GLEE_H_DEFINED_glXSelectEvent - typedef void (APIENTRYP GLEEPFNGLXSELECTEVENTPROC) (Display * dpy, GLXDrawable draw, unsigned long event_mask); - GLEE_EXTERN GLEEPFNGLXSELECTEVENTPROC GLeeFuncPtr_glXSelectEvent; - #define glXSelectEvent GLeeFuncPtr_glXSelectEvent -#endif -#ifndef GLEE_H_DEFINED_glXGetSelectedEvent -#define GLEE_H_DEFINED_glXGetSelectedEvent - typedef void (APIENTRYP GLEEPFNGLXGETSELECTEDEVENTPROC) (Display * dpy, GLXDrawable draw, unsigned long * event_mask); - GLEE_EXTERN GLEEPFNGLXGETSELECTEDEVENTPROC GLeeFuncPtr_glXGetSelectedEvent; - #define glXGetSelectedEvent GLeeFuncPtr_glXGetSelectedEvent -#endif -#endif - -/* GLX_VERSION_1_4 */ - -#ifndef GLX_VERSION_1_4 -#define GLX_VERSION_1_4 1 -#define __GLEE_GLX_VERSION_1_4 1 -/* Constants */ -#define GLX_SAMPLE_BUFFERS 100000 -#define GLX_SAMPLES 100001 -#ifndef GLEE_H_DEFINED_glXGetProcAddress -#define GLEE_H_DEFINED_glXGetProcAddress - typedef __GLXextFuncPtr (APIENTRYP GLEEPFNGLXGETPROCADDRESSPROC) (const GLubyte * procName); - GLEE_EXTERN GLEEPFNGLXGETPROCADDRESSPROC GLeeFuncPtr_glXGetProcAddress; - #define glXGetProcAddress GLeeFuncPtr_glXGetProcAddress -#endif -#endif - -/* GLX_ARB_multisample */ - -#ifndef GLX_ARB_multisample -#define GLX_ARB_multisample 1 -#define __GLEE_GLX_ARB_multisample 1 -/* Constants */ -#define GLX_SAMPLE_BUFFERS_ARB 100000 -#define GLX_SAMPLES_ARB 100001 -#endif - -/* GLX_ARB_vertex_buffer_object */ - -#ifndef GLX_ARB_vertex_buffer_object -#define GLX_ARB_vertex_buffer_object 1 -#define __GLEE_GLX_ARB_vertex_buffer_object 1 -/* Constants */ -#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 -#endif - -/* GLX_ARB_fbconfig_float */ - -#ifndef GLX_ARB_fbconfig_float -#define GLX_ARB_fbconfig_float 1 -#define __GLEE_GLX_ARB_fbconfig_float 1 -/* Constants */ -#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9 -#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 -#endif - -/* GLX_ARB_framebuffer_sRGB */ - -#ifndef GLX_ARB_framebuffer_sRGB -#define GLX_ARB_framebuffer_sRGB 1 -#define __GLEE_GLX_ARB_framebuffer_sRGB 1 -/* Constants */ -#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 -#endif - -/* GLX_ARB_create_context */ - -#ifndef GLX_ARB_create_context -#define GLX_ARB_create_context 1 -#define __GLEE_GLX_ARB_create_context 1 -/* Constants */ -#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001 -#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002 -#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 -#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 -#define GLX_CONTEXT_FLAGS_ARB 0x2094 -#ifndef GLEE_H_DEFINED_glXCreateContextAttribsARB -#define GLEE_H_DEFINED_glXCreateContextAttribsARB - typedef GLXContext (APIENTRYP GLEEPFNGLXCREATECONTEXTATTRIBSARBPROC) (Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXCREATECONTEXTATTRIBSARBPROC GLeeFuncPtr_glXCreateContextAttribsARB; - #define glXCreateContextAttribsARB GLeeFuncPtr_glXCreateContextAttribsARB -#endif -#endif - -/* GLX_ARB_create_context_profile */ - -#ifndef GLX_ARB_create_context_profile -#define GLX_ARB_create_context_profile 1 -#define __GLEE_GLX_ARB_create_context_profile 1 -/* Constants */ -#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 -#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 -#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 -#endif - -/* GLX_ARB_create_context_robustness */ - -#ifndef GLX_ARB_create_context_robustness -#define GLX_ARB_create_context_robustness 1 -#define __GLEE_GLX_ARB_create_context_robustness 1 -/* Constants */ -#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 -#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 -#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 -#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 -#endif - -/* GLX_SGIS_multisample */ - -#ifndef GLX_SGIS_multisample -#define GLX_SGIS_multisample 1 -#define __GLEE_GLX_SGIS_multisample 1 -/* Constants */ -#define GLX_SAMPLE_BUFFERS_SGIS 100000 -#define GLX_SAMPLES_SGIS 100001 -#endif - -/* GLX_EXT_visual_info */ - -#ifndef GLX_EXT_visual_info -#define GLX_EXT_visual_info 1 -#define __GLEE_GLX_EXT_visual_info 1 -/* Constants */ -#define GLX_X_VISUAL_TYPE_EXT 0x22 -#define GLX_TRANSPARENT_TYPE_EXT 0x23 -#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 -#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 -#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 -#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 -#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 -#define GLX_NONE_EXT 0x8000 -#define GLX_TRUE_COLOR_EXT 0x8002 -#define GLX_DIRECT_COLOR_EXT 0x8003 -#define GLX_PSEUDO_COLOR_EXT 0x8004 -#define GLX_STATIC_COLOR_EXT 0x8005 -#define GLX_GRAY_SCALE_EXT 0x8006 -#define GLX_STATIC_GRAY_EXT 0x8007 -#define GLX_TRANSPARENT_RGB_EXT 0x8008 -#define GLX_TRANSPARENT_INDEX_EXT 0x8009 -#endif - -/* GLX_SGI_swap_control */ - -#ifndef GLX_SGI_swap_control -#define GLX_SGI_swap_control 1 -#define __GLEE_GLX_SGI_swap_control 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXSwapIntervalSGI -#define GLEE_H_DEFINED_glXSwapIntervalSGI - typedef int (APIENTRYP GLEEPFNGLXSWAPINTERVALSGIPROC) (int interval); - GLEE_EXTERN GLEEPFNGLXSWAPINTERVALSGIPROC GLeeFuncPtr_glXSwapIntervalSGI; - #define glXSwapIntervalSGI GLeeFuncPtr_glXSwapIntervalSGI -#endif -#endif - -/* GLX_SGI_video_sync */ - -#ifndef GLX_SGI_video_sync -#define GLX_SGI_video_sync 1 -#define __GLEE_GLX_SGI_video_sync 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXGetVideoSyncSGI -#define GLEE_H_DEFINED_glXGetVideoSyncSGI - typedef int (APIENTRYP GLEEPFNGLXGETVIDEOSYNCSGIPROC) (unsigned int * count); - GLEE_EXTERN GLEEPFNGLXGETVIDEOSYNCSGIPROC GLeeFuncPtr_glXGetVideoSyncSGI; - #define glXGetVideoSyncSGI GLeeFuncPtr_glXGetVideoSyncSGI -#endif -#ifndef GLEE_H_DEFINED_glXWaitVideoSyncSGI -#define GLEE_H_DEFINED_glXWaitVideoSyncSGI - typedef int (APIENTRYP GLEEPFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int * count); - GLEE_EXTERN GLEEPFNGLXWAITVIDEOSYNCSGIPROC GLeeFuncPtr_glXWaitVideoSyncSGI; - #define glXWaitVideoSyncSGI GLeeFuncPtr_glXWaitVideoSyncSGI -#endif -#endif - -/* GLX_SGI_make_current_read */ - -#ifndef GLX_SGI_make_current_read -#define GLX_SGI_make_current_read 1 -#define __GLEE_GLX_SGI_make_current_read 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXMakeCurrentReadSGI -#define GLEE_H_DEFINED_glXMakeCurrentReadSGI - typedef Bool (APIENTRYP GLEEPFNGLXMAKECURRENTREADSGIPROC) (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); - GLEE_EXTERN GLEEPFNGLXMAKECURRENTREADSGIPROC GLeeFuncPtr_glXMakeCurrentReadSGI; - #define glXMakeCurrentReadSGI GLeeFuncPtr_glXMakeCurrentReadSGI -#endif -#ifndef GLEE_H_DEFINED_glXGetCurrentReadDrawableSGI -#define GLEE_H_DEFINED_glXGetCurrentReadDrawableSGI - typedef GLXDrawable (APIENTRYP GLEEPFNGLXGETCURRENTREADDRAWABLESGIPROC) (); - GLEE_EXTERN GLEEPFNGLXGETCURRENTREADDRAWABLESGIPROC GLeeFuncPtr_glXGetCurrentReadDrawableSGI; - #define glXGetCurrentReadDrawableSGI GLeeFuncPtr_glXGetCurrentReadDrawableSGI -#endif -#endif - -/* GLX_EXT_visual_rating */ - -#ifndef GLX_EXT_visual_rating -#define GLX_EXT_visual_rating 1 -#define __GLEE_GLX_EXT_visual_rating 1 -/* Constants */ -#define GLX_VISUAL_CAVEAT_EXT 0x20 -#define GLX_SLOW_VISUAL_EXT 0x8001 -#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D -#endif - -/* GLX_EXT_import_context */ - -#ifndef GLX_EXT_import_context -#define GLX_EXT_import_context 1 -#define __GLEE_GLX_EXT_import_context 1 -/* Constants */ -#define GLX_SHARE_CONTEXT_EXT 0x800A -#define GLX_VISUAL_ID_EXT 0x800B -#define GLX_SCREEN_EXT 0x800C -#ifndef GLEE_H_DEFINED_glXGetCurrentDisplayEXT -#define GLEE_H_DEFINED_glXGetCurrentDisplayEXT - typedef Display * (APIENTRYP GLEEPFNGLXGETCURRENTDISPLAYEXTPROC) (); - GLEE_EXTERN GLEEPFNGLXGETCURRENTDISPLAYEXTPROC GLeeFuncPtr_glXGetCurrentDisplayEXT; - #define glXGetCurrentDisplayEXT GLeeFuncPtr_glXGetCurrentDisplayEXT -#endif -#ifndef GLEE_H_DEFINED_glXQueryContextInfoEXT -#define GLEE_H_DEFINED_glXQueryContextInfoEXT - typedef int (APIENTRYP GLEEPFNGLXQUERYCONTEXTINFOEXTPROC) (Display * dpy, GLXContext context, int attribute, int * value); - GLEE_EXTERN GLEEPFNGLXQUERYCONTEXTINFOEXTPROC GLeeFuncPtr_glXQueryContextInfoEXT; - #define glXQueryContextInfoEXT GLeeFuncPtr_glXQueryContextInfoEXT -#endif -#ifndef GLEE_H_DEFINED_glXGetContextIDEXT -#define GLEE_H_DEFINED_glXGetContextIDEXT - typedef GLEE_GLXContextID (APIENTRYP GLEEPFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); - GLEE_EXTERN GLEEPFNGLXGETCONTEXTIDEXTPROC GLeeFuncPtr_glXGetContextIDEXT; - #define glXGetContextIDEXT GLeeFuncPtr_glXGetContextIDEXT -#endif -#ifndef GLEE_H_DEFINED_glXImportContextEXT -#define GLEE_H_DEFINED_glXImportContextEXT - typedef GLXContext (APIENTRYP GLEEPFNGLXIMPORTCONTEXTEXTPROC) (Display * dpy, GLEE_GLXContextID contextID); - GLEE_EXTERN GLEEPFNGLXIMPORTCONTEXTEXTPROC GLeeFuncPtr_glXImportContextEXT; - #define glXImportContextEXT GLeeFuncPtr_glXImportContextEXT -#endif -#ifndef GLEE_H_DEFINED_glXFreeContextEXT -#define GLEE_H_DEFINED_glXFreeContextEXT - typedef void (APIENTRYP GLEEPFNGLXFREECONTEXTEXTPROC) (Display * dpy, GLXContext context); - GLEE_EXTERN GLEEPFNGLXFREECONTEXTEXTPROC GLeeFuncPtr_glXFreeContextEXT; - #define glXFreeContextEXT GLeeFuncPtr_glXFreeContextEXT -#endif -#endif - -/* GLX_SGIX_fbconfig */ - -#ifndef GLX_SGIX_fbconfig -#define GLX_SGIX_fbconfig 1 -#define __GLEE_GLX_SGIX_fbconfig 1 -/* Constants */ -#define GLX_WINDOW_BIT_SGIX 0x00000001 -#define GLX_PIXMAP_BIT_SGIX 0x00000002 -#define GLX_RGBA_BIT_SGIX 0x00000001 -#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 -#define GLX_DRAWABLE_TYPE_SGIX 0x8010 -#define GLX_RENDER_TYPE_SGIX 0x8011 -#define GLX_X_RENDERABLE_SGIX 0x8012 -#define GLX_FBCONFIG_ID_SGIX 0x8013 -#define GLX_RGBA_TYPE_SGIX 0x8014 -#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 -#ifndef GLEE_H_DEFINED_glXGetFBConfigAttribSGIX -#define GLEE_H_DEFINED_glXGetFBConfigAttribSGIX - typedef int (APIENTRYP GLEEPFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display * dpy, GLXFBConfigSGIX config, int attribute, int * value); - GLEE_EXTERN GLEEPFNGLXGETFBCONFIGATTRIBSGIXPROC GLeeFuncPtr_glXGetFBConfigAttribSGIX; - #define glXGetFBConfigAttribSGIX GLeeFuncPtr_glXGetFBConfigAttribSGIX -#endif -#ifndef GLEE_H_DEFINED_glXChooseFBConfigSGIX -#define GLEE_H_DEFINED_glXChooseFBConfigSGIX - typedef GLXFBConfigSGIX * (APIENTRYP GLEEPFNGLXCHOOSEFBCONFIGSGIXPROC) (Display * dpy, int screen, int * attrib_list, int * nelements); - GLEE_EXTERN GLEEPFNGLXCHOOSEFBCONFIGSGIXPROC GLeeFuncPtr_glXChooseFBConfigSGIX; - #define glXChooseFBConfigSGIX GLeeFuncPtr_glXChooseFBConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXCreateGLXPixmapWithConfigSGIX -#define GLEE_H_DEFINED_glXCreateGLXPixmapWithConfigSGIX - typedef GLXPixmap (APIENTRYP GLEEPFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap); - GLEE_EXTERN GLEEPFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC GLeeFuncPtr_glXCreateGLXPixmapWithConfigSGIX; - #define glXCreateGLXPixmapWithConfigSGIX GLeeFuncPtr_glXCreateGLXPixmapWithConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXCreateContextWithConfigSGIX -#define GLEE_H_DEFINED_glXCreateContextWithConfigSGIX - typedef GLXContext (APIENTRYP GLEEPFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct); - GLEE_EXTERN GLEEPFNGLXCREATECONTEXTWITHCONFIGSGIXPROC GLeeFuncPtr_glXCreateContextWithConfigSGIX; - #define glXCreateContextWithConfigSGIX GLeeFuncPtr_glXCreateContextWithConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXGetVisualFromFBConfigSGIX -#define GLEE_H_DEFINED_glXGetVisualFromFBConfigSGIX - typedef XVisualInfo * (APIENTRYP GLEEPFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display * dpy, GLXFBConfigSGIX config); - GLEE_EXTERN GLEEPFNGLXGETVISUALFROMFBCONFIGSGIXPROC GLeeFuncPtr_glXGetVisualFromFBConfigSGIX; - #define glXGetVisualFromFBConfigSGIX GLeeFuncPtr_glXGetVisualFromFBConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXGetFBConfigFromVisualSGIX -#define GLEE_H_DEFINED_glXGetFBConfigFromVisualSGIX - typedef GLXFBConfigSGIX (APIENTRYP GLEEPFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display * dpy, XVisualInfo * vis); - GLEE_EXTERN GLEEPFNGLXGETFBCONFIGFROMVISUALSGIXPROC GLeeFuncPtr_glXGetFBConfigFromVisualSGIX; - #define glXGetFBConfigFromVisualSGIX GLeeFuncPtr_glXGetFBConfigFromVisualSGIX -#endif -#endif - -/* GLX_SGIX_pbuffer */ - -#ifndef GLX_SGIX_pbuffer -#define GLX_SGIX_pbuffer 1 -#define __GLEE_GLX_SGIX_pbuffer 1 -/* Constants */ -#define GLX_PBUFFER_BIT_SGIX 0x00000004 -#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 -#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 -#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 -#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 -#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 -#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 -#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 -#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 -#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 -#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 -#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 -#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 -#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 -#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 -#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A -#define GLX_PRESERVED_CONTENTS_SGIX 0x801B -#define GLX_LARGEST_PBUFFER_SGIX 0x801C -#define GLX_WIDTH_SGIX 0x801D -#define GLX_HEIGHT_SGIX 0x801E -#define GLX_EVENT_MASK_SGIX 0x801F -#define GLX_DAMAGED_SGIX 0x8020 -#define GLX_SAVED_SGIX 0x8021 -#define GLX_WINDOW_SGIX 0x8022 -#define GLX_PBUFFER_SGIX 0x8023 -#ifndef GLEE_H_DEFINED_glXCreateGLXPbufferSGIX -#define GLEE_H_DEFINED_glXCreateGLXPbufferSGIX - typedef GLXPbufferSGIX (APIENTRYP GLEEPFNGLXCREATEGLXPBUFFERSGIXPROC) (Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list); - GLEE_EXTERN GLEEPFNGLXCREATEGLXPBUFFERSGIXPROC GLeeFuncPtr_glXCreateGLXPbufferSGIX; - #define glXCreateGLXPbufferSGIX GLeeFuncPtr_glXCreateGLXPbufferSGIX -#endif -#ifndef GLEE_H_DEFINED_glXDestroyGLXPbufferSGIX -#define GLEE_H_DEFINED_glXDestroyGLXPbufferSGIX - typedef void (APIENTRYP GLEEPFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display * dpy, GLXPbufferSGIX pbuf); - GLEE_EXTERN GLEEPFNGLXDESTROYGLXPBUFFERSGIXPROC GLeeFuncPtr_glXDestroyGLXPbufferSGIX; - #define glXDestroyGLXPbufferSGIX GLeeFuncPtr_glXDestroyGLXPbufferSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryGLXPbufferSGIX -#define GLEE_H_DEFINED_glXQueryGLXPbufferSGIX - typedef int (APIENTRYP GLEEPFNGLXQUERYGLXPBUFFERSGIXPROC) (Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value); - GLEE_EXTERN GLEEPFNGLXQUERYGLXPBUFFERSGIXPROC GLeeFuncPtr_glXQueryGLXPbufferSGIX; - #define glXQueryGLXPbufferSGIX GLeeFuncPtr_glXQueryGLXPbufferSGIX -#endif -#ifndef GLEE_H_DEFINED_glXSelectEventSGIX -#define GLEE_H_DEFINED_glXSelectEventSGIX - typedef void (APIENTRYP GLEEPFNGLXSELECTEVENTSGIXPROC) (Display * dpy, GLXDrawable drawable, unsigned long mask); - GLEE_EXTERN GLEEPFNGLXSELECTEVENTSGIXPROC GLeeFuncPtr_glXSelectEventSGIX; - #define glXSelectEventSGIX GLeeFuncPtr_glXSelectEventSGIX -#endif -#ifndef GLEE_H_DEFINED_glXGetSelectedEventSGIX -#define GLEE_H_DEFINED_glXGetSelectedEventSGIX - typedef void (APIENTRYP GLEEPFNGLXGETSELECTEDEVENTSGIXPROC) (Display * dpy, GLXDrawable drawable, unsigned long * mask); - GLEE_EXTERN GLEEPFNGLXGETSELECTEDEVENTSGIXPROC GLeeFuncPtr_glXGetSelectedEventSGIX; - #define glXGetSelectedEventSGIX GLeeFuncPtr_glXGetSelectedEventSGIX -#endif -#endif - -/* GLX_SGI_cushion */ - -#ifndef GLX_SGI_cushion -#define GLX_SGI_cushion 1 -#define __GLEE_GLX_SGI_cushion 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXCushionSGI -#define GLEE_H_DEFINED_glXCushionSGI - typedef void (APIENTRYP GLEEPFNGLXCUSHIONSGIPROC) (Display * dpy, Window window, float cushion); - GLEE_EXTERN GLEEPFNGLXCUSHIONSGIPROC GLeeFuncPtr_glXCushionSGI; - #define glXCushionSGI GLeeFuncPtr_glXCushionSGI -#endif -#endif - -/* GLX_SGIX_video_resize */ - -#ifndef GLX_SGIX_video_resize -#define GLX_SGIX_video_resize 1 -#define __GLEE_GLX_SGIX_video_resize 1 -/* Constants */ -#define GLX_SYNC_FRAME_SGIX 0x00000000 -#define GLX_SYNC_SWAP_SGIX 0x00000001 -#ifndef GLEE_H_DEFINED_glXBindChannelToWindowSGIX -#define GLEE_H_DEFINED_glXBindChannelToWindowSGIX - typedef int (APIENTRYP GLEEPFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display * display, int screen, int channel, Window window); - GLEE_EXTERN GLEEPFNGLXBINDCHANNELTOWINDOWSGIXPROC GLeeFuncPtr_glXBindChannelToWindowSGIX; - #define glXBindChannelToWindowSGIX GLeeFuncPtr_glXBindChannelToWindowSGIX -#endif -#ifndef GLEE_H_DEFINED_glXChannelRectSGIX -#define GLEE_H_DEFINED_glXChannelRectSGIX - typedef int (APIENTRYP GLEEPFNGLXCHANNELRECTSGIXPROC) (Display * display, int screen, int channel, int x, int y, int w, int h); - GLEE_EXTERN GLEEPFNGLXCHANNELRECTSGIXPROC GLeeFuncPtr_glXChannelRectSGIX; - #define glXChannelRectSGIX GLeeFuncPtr_glXChannelRectSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryChannelRectSGIX -#define GLEE_H_DEFINED_glXQueryChannelRectSGIX - typedef int (APIENTRYP GLEEPFNGLXQUERYCHANNELRECTSGIXPROC) (Display * display, int screen, int channel, int * dx, int * dy, int * dw, int * dh); - GLEE_EXTERN GLEEPFNGLXQUERYCHANNELRECTSGIXPROC GLeeFuncPtr_glXQueryChannelRectSGIX; - #define glXQueryChannelRectSGIX GLeeFuncPtr_glXQueryChannelRectSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryChannelDeltasSGIX -#define GLEE_H_DEFINED_glXQueryChannelDeltasSGIX - typedef int (APIENTRYP GLEEPFNGLXQUERYCHANNELDELTASSGIXPROC) (Display * display, int screen, int channel, int * x, int * y, int * w, int * h); - GLEE_EXTERN GLEEPFNGLXQUERYCHANNELDELTASSGIXPROC GLeeFuncPtr_glXQueryChannelDeltasSGIX; - #define glXQueryChannelDeltasSGIX GLeeFuncPtr_glXQueryChannelDeltasSGIX -#endif -#ifndef GLEE_H_DEFINED_glXChannelRectSyncSGIX -#define GLEE_H_DEFINED_glXChannelRectSyncSGIX - typedef int (APIENTRYP GLEEPFNGLXCHANNELRECTSYNCSGIXPROC) (Display * display, int screen, int channel, GLenum synctype); - GLEE_EXTERN GLEEPFNGLXCHANNELRECTSYNCSGIXPROC GLeeFuncPtr_glXChannelRectSyncSGIX; - #define glXChannelRectSyncSGIX GLeeFuncPtr_glXChannelRectSyncSGIX -#endif -#endif - -/* GLX_SGIX_swap_group */ - -#ifndef GLX_SGIX_swap_group -#define GLX_SGIX_swap_group 1 -#define __GLEE_GLX_SGIX_swap_group 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXJoinSwapGroupSGIX -#define GLEE_H_DEFINED_glXJoinSwapGroupSGIX - typedef void (APIENTRYP GLEEPFNGLXJOINSWAPGROUPSGIXPROC) (Display * dpy, GLXDrawable drawable, GLXDrawable member); - GLEE_EXTERN GLEEPFNGLXJOINSWAPGROUPSGIXPROC GLeeFuncPtr_glXJoinSwapGroupSGIX; - #define glXJoinSwapGroupSGIX GLeeFuncPtr_glXJoinSwapGroupSGIX -#endif -#endif - -/* GLX_SGIX_swap_barrier */ - -#ifndef GLX_SGIX_swap_barrier -#define GLX_SGIX_swap_barrier 1 -#define __GLEE_GLX_SGIX_swap_barrier 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXBindSwapBarrierSGIX -#define GLEE_H_DEFINED_glXBindSwapBarrierSGIX - typedef void (APIENTRYP GLEEPFNGLXBINDSWAPBARRIERSGIXPROC) (Display * dpy, GLXDrawable drawable, int barrier); - GLEE_EXTERN GLEEPFNGLXBINDSWAPBARRIERSGIXPROC GLeeFuncPtr_glXBindSwapBarrierSGIX; - #define glXBindSwapBarrierSGIX GLeeFuncPtr_glXBindSwapBarrierSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryMaxSwapBarriersSGIX -#define GLEE_H_DEFINED_glXQueryMaxSwapBarriersSGIX - typedef Bool (APIENTRYP GLEEPFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display * dpy, int screen, int * max); - GLEE_EXTERN GLEEPFNGLXQUERYMAXSWAPBARRIERSSGIXPROC GLeeFuncPtr_glXQueryMaxSwapBarriersSGIX; - #define glXQueryMaxSwapBarriersSGIX GLeeFuncPtr_glXQueryMaxSwapBarriersSGIX -#endif -#endif - -/* GLX_SGIS_blended_overlay */ - -#ifndef GLX_SGIS_blended_overlay -#define GLX_SGIS_blended_overlay 1 -#define __GLEE_GLX_SGIS_blended_overlay 1 -/* Constants */ -#define GLX_BLENDED_RGBA_SGIS 0x8025 -#endif - -/* GLX_SGIS_shared_multisample */ - -#ifndef GLX_SGIS_shared_multisample -#define GLX_SGIS_shared_multisample 1 -#define __GLEE_GLX_SGIS_shared_multisample 1 -/* Constants */ -#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 -#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 -#endif - -/* GLX_SUN_get_transparent_index */ - -#ifndef GLX_SUN_get_transparent_index -#define GLX_SUN_get_transparent_index 1 -#define __GLEE_GLX_SUN_get_transparent_index 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXGetTransparentIndexSUN -#define GLEE_H_DEFINED_glXGetTransparentIndexSUN - typedef Status (APIENTRYP GLEEPFNGLXGETTRANSPARENTINDEXSUNPROC) (Display * dpy, Window overlay, Window underlay, long * pTransparentIndex); - GLEE_EXTERN GLEEPFNGLXGETTRANSPARENTINDEXSUNPROC GLeeFuncPtr_glXGetTransparentIndexSUN; - #define glXGetTransparentIndexSUN GLeeFuncPtr_glXGetTransparentIndexSUN -#endif -#endif - -/* GLX_3DFX_multisample */ - -#ifndef GLX_3DFX_multisample -#define GLX_3DFX_multisample 1 -#define __GLEE_GLX_3DFX_multisample 1 -/* Constants */ -#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 -#define GLX_SAMPLES_3DFX 0x8051 -#endif - -/* GLX_MESA_copy_sub_buffer */ - -#ifndef GLX_MESA_copy_sub_buffer -#define GLX_MESA_copy_sub_buffer 1 -#define __GLEE_GLX_MESA_copy_sub_buffer 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXCopySubBufferMESA -#define GLEE_H_DEFINED_glXCopySubBufferMESA - typedef void (APIENTRYP GLEEPFNGLXCOPYSUBBUFFERMESAPROC) (Display * dpy, GLXDrawable drawable, int x, int y, int width, int height); - GLEE_EXTERN GLEEPFNGLXCOPYSUBBUFFERMESAPROC GLeeFuncPtr_glXCopySubBufferMESA; - #define glXCopySubBufferMESA GLeeFuncPtr_glXCopySubBufferMESA -#endif -#endif - -/* GLX_MESA_pixmap_colormap */ - -#ifndef GLX_MESA_pixmap_colormap -#define GLX_MESA_pixmap_colormap 1 -#define __GLEE_GLX_MESA_pixmap_colormap 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXCreateGLXPixmapMESA -#define GLEE_H_DEFINED_glXCreateGLXPixmapMESA - typedef GLXPixmap (APIENTRYP GLEEPFNGLXCREATEGLXPIXMAPMESAPROC) (Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap); - GLEE_EXTERN GLEEPFNGLXCREATEGLXPIXMAPMESAPROC GLeeFuncPtr_glXCreateGLXPixmapMESA; - #define glXCreateGLXPixmapMESA GLeeFuncPtr_glXCreateGLXPixmapMESA -#endif -#endif - -/* GLX_MESA_release_buffers */ - -#ifndef GLX_MESA_release_buffers -#define GLX_MESA_release_buffers 1 -#define __GLEE_GLX_MESA_release_buffers 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXReleaseBuffersMESA -#define GLEE_H_DEFINED_glXReleaseBuffersMESA - typedef Bool (APIENTRYP GLEEPFNGLXRELEASEBUFFERSMESAPROC) (Display * dpy, GLXDrawable drawable); - GLEE_EXTERN GLEEPFNGLXRELEASEBUFFERSMESAPROC GLeeFuncPtr_glXReleaseBuffersMESA; - #define glXReleaseBuffersMESA GLeeFuncPtr_glXReleaseBuffersMESA -#endif -#endif - -/* GLX_MESA_set_3dfx_mode */ - -#ifndef GLX_MESA_set_3dfx_mode -#define GLX_MESA_set_3dfx_mode 1 -#define __GLEE_GLX_MESA_set_3dfx_mode 1 -/* Constants */ -#define GLX_3DFX_WINDOW_MODE_MESA 0x1 -#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 -#ifndef GLEE_H_DEFINED_glXSet3DfxModeMESA -#define GLEE_H_DEFINED_glXSet3DfxModeMESA - typedef Bool (APIENTRYP GLEEPFNGLXSET3DFXMODEMESAPROC) (int mode); - GLEE_EXTERN GLEEPFNGLXSET3DFXMODEMESAPROC GLeeFuncPtr_glXSet3DfxModeMESA; - #define glXSet3DfxModeMESA GLeeFuncPtr_glXSet3DfxModeMESA -#endif -#endif - -/* GLX_SGIX_visual_select_group */ - -#ifndef GLX_SGIX_visual_select_group -#define GLX_SGIX_visual_select_group 1 -#define __GLEE_GLX_SGIX_visual_select_group 1 -/* Constants */ -#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 -#endif - -/* GLX_OML_swap_method */ - -#ifndef GLX_OML_swap_method -#define GLX_OML_swap_method 1 -#define __GLEE_GLX_OML_swap_method 1 -/* Constants */ -#define GLX_SWAP_METHOD_OML 0x8060 -#define GLX_SWAP_EXCHANGE_OML 0x8061 -#define GLX_SWAP_COPY_OML 0x8062 -#define GLX_SWAP_UNDEFINED_OML 0x8063 -#endif - -/* GLX_OML_sync_control */ - -#ifndef GLX_OML_sync_control -#define GLX_OML_sync_control 1 -#define __GLEE_GLX_OML_sync_control 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXGetSyncValuesOML -#define GLEE_H_DEFINED_glXGetSyncValuesOML - typedef Bool (APIENTRYP GLEEPFNGLXGETSYNCVALUESOMLPROC) (Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc); - GLEE_EXTERN GLEEPFNGLXGETSYNCVALUESOMLPROC GLeeFuncPtr_glXGetSyncValuesOML; - #define glXGetSyncValuesOML GLeeFuncPtr_glXGetSyncValuesOML -#endif -#ifndef GLEE_H_DEFINED_glXGetMscRateOML -#define GLEE_H_DEFINED_glXGetMscRateOML - typedef Bool (APIENTRYP GLEEPFNGLXGETMSCRATEOMLPROC) (Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator); - GLEE_EXTERN GLEEPFNGLXGETMSCRATEOMLPROC GLeeFuncPtr_glXGetMscRateOML; - #define glXGetMscRateOML GLeeFuncPtr_glXGetMscRateOML -#endif -#ifndef GLEE_H_DEFINED_glXSwapBuffersMscOML -#define GLEE_H_DEFINED_glXSwapBuffersMscOML - typedef int64_t (APIENTRYP GLEEPFNGLXSWAPBUFFERSMSCOMLPROC) (Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); - GLEE_EXTERN GLEEPFNGLXSWAPBUFFERSMSCOMLPROC GLeeFuncPtr_glXSwapBuffersMscOML; - #define glXSwapBuffersMscOML GLeeFuncPtr_glXSwapBuffersMscOML -#endif -#ifndef GLEE_H_DEFINED_glXWaitForMscOML -#define GLEE_H_DEFINED_glXWaitForMscOML - typedef Bool (APIENTRYP GLEEPFNGLXWAITFORMSCOMLPROC) (Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * ust, int64_t * msc, int64_t * sbc); - GLEE_EXTERN GLEEPFNGLXWAITFORMSCOMLPROC GLeeFuncPtr_glXWaitForMscOML; - #define glXWaitForMscOML GLeeFuncPtr_glXWaitForMscOML -#endif -#ifndef GLEE_H_DEFINED_glXWaitForSbcOML -#define GLEE_H_DEFINED_glXWaitForSbcOML - typedef Bool (APIENTRYP GLEEPFNGLXWAITFORSBCOMLPROC) (Display * dpy, GLXDrawable drawable, int64_t target_sbc, int64_t * ust, int64_t * msc, int64_t * sbc); - GLEE_EXTERN GLEEPFNGLXWAITFORSBCOMLPROC GLeeFuncPtr_glXWaitForSbcOML; - #define glXWaitForSbcOML GLeeFuncPtr_glXWaitForSbcOML -#endif -#endif - -/* GLX_NV_float_buffer */ - -#ifndef GLX_NV_float_buffer -#define GLX_NV_float_buffer 1 -#define __GLEE_GLX_NV_float_buffer 1 -/* Constants */ -#define GLX_FLOAT_COMPONENTS_NV 0x20B0 -#endif - -/* GLX_SGIX_hyperpipe */ - -#ifndef GLX_SGIX_hyperpipe -#define GLX_SGIX_hyperpipe 1 -#define __GLEE_GLX_SGIX_hyperpipe 1 -/* Constants */ -#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 -#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 -#define GLX_BAD_HYPERPIPE_SGIX 92 -#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 -#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 -#define GLX_PIPE_RECT_SGIX 0x00000001 -#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 -#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 -#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 -#define GLX_HYPERPIPE_ID_SGIX 0x8030 -#ifndef GLEE_H_DEFINED_glXQueryHyperpipeNetworkSGIX -#define GLEE_H_DEFINED_glXQueryHyperpipeNetworkSGIX - typedef GLXHyperpipeNetworkSGIX * (APIENTRYP GLEEPFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display * dpy, int * npipes); - GLEE_EXTERN GLEEPFNGLXQUERYHYPERPIPENETWORKSGIXPROC GLeeFuncPtr_glXQueryHyperpipeNetworkSGIX; - #define glXQueryHyperpipeNetworkSGIX GLeeFuncPtr_glXQueryHyperpipeNetworkSGIX -#endif -#ifndef GLEE_H_DEFINED_glXHyperpipeConfigSGIX -#define GLEE_H_DEFINED_glXHyperpipeConfigSGIX - typedef int (APIENTRYP GLEEPFNGLXHYPERPIPECONFIGSGIXPROC) (Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId); - GLEE_EXTERN GLEEPFNGLXHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXHyperpipeConfigSGIX; - #define glXHyperpipeConfigSGIX GLeeFuncPtr_glXHyperpipeConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryHyperpipeConfigSGIX -#define GLEE_H_DEFINED_glXQueryHyperpipeConfigSGIX - typedef GLXHyperpipeConfigSGIX * (APIENTRYP GLEEPFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display * dpy, int hpId, int * npipes); - GLEE_EXTERN GLEEPFNGLXQUERYHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXQueryHyperpipeConfigSGIX; - #define glXQueryHyperpipeConfigSGIX GLeeFuncPtr_glXQueryHyperpipeConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXDestroyHyperpipeConfigSGIX -#define GLEE_H_DEFINED_glXDestroyHyperpipeConfigSGIX - typedef int (APIENTRYP GLEEPFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display * dpy, int hpId); - GLEE_EXTERN GLEEPFNGLXDESTROYHYPERPIPECONFIGSGIXPROC GLeeFuncPtr_glXDestroyHyperpipeConfigSGIX; - #define glXDestroyHyperpipeConfigSGIX GLeeFuncPtr_glXDestroyHyperpipeConfigSGIX -#endif -#ifndef GLEE_H_DEFINED_glXBindHyperpipeSGIX -#define GLEE_H_DEFINED_glXBindHyperpipeSGIX - typedef int (APIENTRYP GLEEPFNGLXBINDHYPERPIPESGIXPROC) (Display * dpy, int hpId); - GLEE_EXTERN GLEEPFNGLXBINDHYPERPIPESGIXPROC GLeeFuncPtr_glXBindHyperpipeSGIX; - #define glXBindHyperpipeSGIX GLeeFuncPtr_glXBindHyperpipeSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryHyperpipeBestAttribSGIX -#define GLEE_H_DEFINED_glXQueryHyperpipeBestAttribSGIX - typedef int (APIENTRYP GLEEPFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList); - GLEE_EXTERN GLEEPFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC GLeeFuncPtr_glXQueryHyperpipeBestAttribSGIX; - #define glXQueryHyperpipeBestAttribSGIX GLeeFuncPtr_glXQueryHyperpipeBestAttribSGIX -#endif -#ifndef GLEE_H_DEFINED_glXHyperpipeAttribSGIX -#define GLEE_H_DEFINED_glXHyperpipeAttribSGIX - typedef int (APIENTRYP GLEEPFNGLXHYPERPIPEATTRIBSGIXPROC) (Display * dpy, int timeSlice, int attrib, int size, void * attribList); - GLEE_EXTERN GLEEPFNGLXHYPERPIPEATTRIBSGIXPROC GLeeFuncPtr_glXHyperpipeAttribSGIX; - #define glXHyperpipeAttribSGIX GLeeFuncPtr_glXHyperpipeAttribSGIX -#endif -#ifndef GLEE_H_DEFINED_glXQueryHyperpipeAttribSGIX -#define GLEE_H_DEFINED_glXQueryHyperpipeAttribSGIX - typedef int (APIENTRYP GLEEPFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList); - GLEE_EXTERN GLEEPFNGLXQUERYHYPERPIPEATTRIBSGIXPROC GLeeFuncPtr_glXQueryHyperpipeAttribSGIX; - #define glXQueryHyperpipeAttribSGIX GLeeFuncPtr_glXQueryHyperpipeAttribSGIX -#endif -#endif - -/* GLX_MESA_agp_offset */ - -#ifndef GLX_MESA_agp_offset -#define GLX_MESA_agp_offset 1 -#define __GLEE_GLX_MESA_agp_offset 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXGetAGPOffsetMESA -#define GLEE_H_DEFINED_glXGetAGPOffsetMESA - typedef unsigned int (APIENTRYP GLEEPFNGLXGETAGPOFFSETMESAPROC) (const void * pointer); - GLEE_EXTERN GLEEPFNGLXGETAGPOFFSETMESAPROC GLeeFuncPtr_glXGetAGPOffsetMESA; - #define glXGetAGPOffsetMESA GLeeFuncPtr_glXGetAGPOffsetMESA -#endif -#endif - -/* GLX_EXT_fbconfig_packed_float */ - -#ifndef GLX_EXT_fbconfig_packed_float -#define GLX_EXT_fbconfig_packed_float 1 -#define __GLEE_GLX_EXT_fbconfig_packed_float 1 -/* Constants */ -#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 -#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 -#endif - -/* GLX_EXT_framebuffer_sRGB */ - -#ifndef GLX_EXT_framebuffer_sRGB -#define GLX_EXT_framebuffer_sRGB 1 -#define __GLEE_GLX_EXT_framebuffer_sRGB 1 -/* Constants */ -#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 -#endif - -/* GLX_EXT_texture_from_pixmap */ - -#ifndef GLX_EXT_texture_from_pixmap -#define GLX_EXT_texture_from_pixmap 1 -#define __GLEE_GLX_EXT_texture_from_pixmap 1 -/* Constants */ -#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 -#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 -#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 -#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 -#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 -#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 -#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 -#define GLX_Y_INVERTED_EXT 0x20D4 -#define GLX_TEXTURE_FORMAT_EXT 0x20D5 -#define GLX_TEXTURE_TARGET_EXT 0x20D6 -#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 -#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 -#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 -#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA -#define GLX_TEXTURE_1D_EXT 0x20DB -#define GLX_TEXTURE_2D_EXT 0x20DC -#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD -#define GLX_FRONT_LEFT_EXT 0x20DE -#define GLX_FRONT_RIGHT_EXT 0x20DF -#define GLX_BACK_LEFT_EXT 0x20E0 -#define GLX_BACK_RIGHT_EXT 0x20E1 -#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT -#define GLX_BACK_EXT GLX_BACK_LEFT_EXT -#define GLX_AUX0_EXT 0x20E2 -#define GLX_AUX1_EXT 0x20E3 -#define GLX_AUX2_EXT 0x20E4 -#define GLX_AUX3_EXT 0x20E5 -#define GLX_AUX4_EXT 0x20E6 -#define GLX_AUX5_EXT 0x20E7 -#define GLX_AUX6_EXT 0x20E8 -#define GLX_AUX7_EXT 0x20E9 -#define GLX_AUX8_EXT 0x20EA -#define GLX_AUX9_EXT 0x20EB -#ifndef GLEE_H_DEFINED_glXBindTexImageEXT -#define GLEE_H_DEFINED_glXBindTexImageEXT - typedef void (APIENTRYP GLEEPFNGLXBINDTEXIMAGEEXTPROC) (Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXBINDTEXIMAGEEXTPROC GLeeFuncPtr_glXBindTexImageEXT; - #define glXBindTexImageEXT GLeeFuncPtr_glXBindTexImageEXT -#endif -#ifndef GLEE_H_DEFINED_glXReleaseTexImageEXT -#define GLEE_H_DEFINED_glXReleaseTexImageEXT - typedef void (APIENTRYP GLEEPFNGLXRELEASETEXIMAGEEXTPROC) (Display * dpy, GLXDrawable drawable, int buffer); - GLEE_EXTERN GLEEPFNGLXRELEASETEXIMAGEEXTPROC GLeeFuncPtr_glXReleaseTexImageEXT; - #define glXReleaseTexImageEXT GLeeFuncPtr_glXReleaseTexImageEXT -#endif -#endif - -/* GLX_NV_present_video */ - -#ifndef GLX_NV_present_video -#define GLX_NV_present_video 1 -#define __GLEE_GLX_NV_present_video 1 -/* Constants */ -#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 -#ifndef GLEE_H_DEFINED_glXEnumerateVideoDevicesNV -#define GLEE_H_DEFINED_glXEnumerateVideoDevicesNV - typedef unsigned int * (APIENTRYP GLEEPFNGLXENUMERATEVIDEODEVICESNVPROC) (Display * dpy, int screen, int * nelements); - GLEE_EXTERN GLEEPFNGLXENUMERATEVIDEODEVICESNVPROC GLeeFuncPtr_glXEnumerateVideoDevicesNV; - #define glXEnumerateVideoDevicesNV GLeeFuncPtr_glXEnumerateVideoDevicesNV -#endif -#ifndef GLEE_H_DEFINED_glXBindVideoDeviceNV -#define GLEE_H_DEFINED_glXBindVideoDeviceNV - typedef int (APIENTRYP GLEEPFNGLXBINDVIDEODEVICENVPROC) (Display * dpy, unsigned int video_slot, unsigned int video_device, const int * attrib_list); - GLEE_EXTERN GLEEPFNGLXBINDVIDEODEVICENVPROC GLeeFuncPtr_glXBindVideoDeviceNV; - #define glXBindVideoDeviceNV GLeeFuncPtr_glXBindVideoDeviceNV -#endif -#endif - -/* GLX_NV_video_out */ - -#ifndef GLX_NV_video_out -#define GLX_NV_video_out 1 -#define __GLEE_GLX_NV_video_out 1 -/* Constants */ -#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 -#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 -#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 -#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 -#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 -#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 -#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 -#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA -#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB -#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC -#endif - -/* GLX_NV_swap_group */ - -#ifndef GLX_NV_swap_group -#define GLX_NV_swap_group 1 -#define __GLEE_GLX_NV_swap_group 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXJoinSwapGroupNV -#define GLEE_H_DEFINED_glXJoinSwapGroupNV - typedef Bool (APIENTRYP GLEEPFNGLXJOINSWAPGROUPNVPROC) (Display * dpy, GLXDrawable drawable, GLuint group); - GLEE_EXTERN GLEEPFNGLXJOINSWAPGROUPNVPROC GLeeFuncPtr_glXJoinSwapGroupNV; - #define glXJoinSwapGroupNV GLeeFuncPtr_glXJoinSwapGroupNV -#endif -#ifndef GLEE_H_DEFINED_glXBindSwapBarrierNV -#define GLEE_H_DEFINED_glXBindSwapBarrierNV - typedef Bool (APIENTRYP GLEEPFNGLXBINDSWAPBARRIERNVPROC) (Display * dpy, GLuint group, GLuint barrier); - GLEE_EXTERN GLEEPFNGLXBINDSWAPBARRIERNVPROC GLeeFuncPtr_glXBindSwapBarrierNV; - #define glXBindSwapBarrierNV GLeeFuncPtr_glXBindSwapBarrierNV -#endif -#ifndef GLEE_H_DEFINED_glXQuerySwapGroupNV -#define GLEE_H_DEFINED_glXQuerySwapGroupNV - typedef Bool (APIENTRYP GLEEPFNGLXQUERYSWAPGROUPNVPROC) (Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier); - GLEE_EXTERN GLEEPFNGLXQUERYSWAPGROUPNVPROC GLeeFuncPtr_glXQuerySwapGroupNV; - #define glXQuerySwapGroupNV GLeeFuncPtr_glXQuerySwapGroupNV -#endif -#ifndef GLEE_H_DEFINED_glXQueryMaxSwapGroupsNV -#define GLEE_H_DEFINED_glXQueryMaxSwapGroupsNV - typedef Bool (APIENTRYP GLEEPFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers); - GLEE_EXTERN GLEEPFNGLXQUERYMAXSWAPGROUPSNVPROC GLeeFuncPtr_glXQueryMaxSwapGroupsNV; - #define glXQueryMaxSwapGroupsNV GLeeFuncPtr_glXQueryMaxSwapGroupsNV -#endif -#ifndef GLEE_H_DEFINED_glXQueryFrameCountNV -#define GLEE_H_DEFINED_glXQueryFrameCountNV - typedef Bool (APIENTRYP GLEEPFNGLXQUERYFRAMECOUNTNVPROC) (Display * dpy, int screen, GLuint * count); - GLEE_EXTERN GLEEPFNGLXQUERYFRAMECOUNTNVPROC GLeeFuncPtr_glXQueryFrameCountNV; - #define glXQueryFrameCountNV GLeeFuncPtr_glXQueryFrameCountNV -#endif -#ifndef GLEE_H_DEFINED_glXResetFrameCountNV -#define GLEE_H_DEFINED_glXResetFrameCountNV - typedef Bool (APIENTRYP GLEEPFNGLXRESETFRAMECOUNTNVPROC) (Display * dpy, int screen); - GLEE_EXTERN GLEEPFNGLXRESETFRAMECOUNTNVPROC GLeeFuncPtr_glXResetFrameCountNV; - #define glXResetFrameCountNV GLeeFuncPtr_glXResetFrameCountNV -#endif -#endif - -/* GLX_NV_video_capture */ - -#ifndef GLX_NV_video_capture -#define GLX_NV_video_capture 1 -#define __GLEE_GLX_NV_video_capture 1 -/* Constants */ -#define GLX_DEVICE_ID_NV 0x20CD -#define GLX_UNIQUE_ID_NV 0x20CE -#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF -#ifndef GLEE_H_DEFINED_glXBindVideoCaptureDeviceNV -#define GLEE_H_DEFINED_glXBindVideoCaptureDeviceNV - typedef int (APIENTRYP GLEEPFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); - GLEE_EXTERN GLEEPFNGLXBINDVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXBindVideoCaptureDeviceNV; - #define glXBindVideoCaptureDeviceNV GLeeFuncPtr_glXBindVideoCaptureDeviceNV -#endif -#ifndef GLEE_H_DEFINED_glXEnumerateVideoCaptureDevicesNV -#define GLEE_H_DEFINED_glXEnumerateVideoCaptureDevicesNV - typedef GLXVideoCaptureDeviceNV * (APIENTRYP GLEEPFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display * dpy, int screen, int * nelements); - GLEE_EXTERN GLEEPFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC GLeeFuncPtr_glXEnumerateVideoCaptureDevicesNV; - #define glXEnumerateVideoCaptureDevicesNV GLeeFuncPtr_glXEnumerateVideoCaptureDevicesNV -#endif -#ifndef GLEE_H_DEFINED_glXLockVideoCaptureDeviceNV -#define GLEE_H_DEFINED_glXLockVideoCaptureDeviceNV - typedef void (APIENTRYP GLEEPFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display * dpy, GLXVideoCaptureDeviceNV device); - GLEE_EXTERN GLEEPFNGLXLOCKVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXLockVideoCaptureDeviceNV; - #define glXLockVideoCaptureDeviceNV GLeeFuncPtr_glXLockVideoCaptureDeviceNV -#endif -#ifndef GLEE_H_DEFINED_glXQueryVideoCaptureDeviceNV -#define GLEE_H_DEFINED_glXQueryVideoCaptureDeviceNV - typedef int (APIENTRYP GLEEPFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value); - GLEE_EXTERN GLEEPFNGLXQUERYVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXQueryVideoCaptureDeviceNV; - #define glXQueryVideoCaptureDeviceNV GLeeFuncPtr_glXQueryVideoCaptureDeviceNV -#endif -#ifndef GLEE_H_DEFINED_glXReleaseVideoCaptureDeviceNV -#define GLEE_H_DEFINED_glXReleaseVideoCaptureDeviceNV - typedef void (APIENTRYP GLEEPFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display * dpy, GLXVideoCaptureDeviceNV device); - GLEE_EXTERN GLEEPFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC GLeeFuncPtr_glXReleaseVideoCaptureDeviceNV; - #define glXReleaseVideoCaptureDeviceNV GLeeFuncPtr_glXReleaseVideoCaptureDeviceNV -#endif -#endif - -/* GLX_EXT_swap_control */ - -#ifndef GLX_EXT_swap_control -#define GLX_EXT_swap_control 1 -#define __GLEE_GLX_EXT_swap_control 1 -/* Constants */ -#define GLX_SWAP_INTERVAL_EXT 0x20F1 -#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 -#ifndef GLEE_H_DEFINED_glXSwapIntervalEXT -#define GLEE_H_DEFINED_glXSwapIntervalEXT - typedef void (APIENTRYP GLEEPFNGLXSWAPINTERVALEXTPROC) (Display * dpy, GLXDrawable drawable, int interval); - GLEE_EXTERN GLEEPFNGLXSWAPINTERVALEXTPROC GLeeFuncPtr_glXSwapIntervalEXT; - #define glXSwapIntervalEXT GLeeFuncPtr_glXSwapIntervalEXT -#endif -#endif - -/* GLX_NV_copy_image */ - -#ifndef GLX_NV_copy_image -#define GLX_NV_copy_image 1 -#define __GLEE_GLX_NV_copy_image 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXCopyImageSubDataNV -#define GLEE_H_DEFINED_glXCopyImageSubDataNV - typedef void (APIENTRYP GLEEPFNGLXCOPYIMAGESUBDATANVPROC) (Display * dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); - GLEE_EXTERN GLEEPFNGLXCOPYIMAGESUBDATANVPROC GLeeFuncPtr_glXCopyImageSubDataNV; - #define glXCopyImageSubDataNV GLeeFuncPtr_glXCopyImageSubDataNV -#endif -#endif - -/* GLX_INTEL_swap_event */ - -#ifndef GLX_INTEL_swap_event -#define GLX_INTEL_swap_event 1 -#define __GLEE_GLX_INTEL_swap_event 1 -/* Constants */ -#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000 -#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 -#define GLX_COPY_COMPLETE_INTEL 0x8181 -#define GLX_FLIP_COMPLETE_INTEL 0x8182 -#endif - -/* GLX_NV_multisample_coverage */ - -#ifndef GLX_NV_multisample_coverage -#define GLX_NV_multisample_coverage 1 -#define __GLEE_GLX_NV_multisample_coverage 1 -/* Constants */ -#define GLX_COVERAGE_SAMPLES_NV 100001 -#define GLX_COLOR_SAMPLES_NV 0x20B3 -#endif - -/* GLX_AMD_gpu_association */ - -#ifndef GLX_AMD_gpu_association -#define GLX_AMD_gpu_association 1 -#define __GLEE_GLX_AMD_gpu_association 1 -/* Constants */ -#define GLX_GPU_VENDOR_AMD 0x1F00 -#define GLX_GPU_RENDERER_STRING_AMD 0x1F01 -#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 -#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 -#define GLX_GPU_RAM_AMD 0x21A3 -#define GLX_GPU_CLOCK_AMD 0x21A4 -#define GLX_GPU_NUM_PIPES_AMD 0x21A5 -#define GLX_GPU_NUM_SIMD_AMD 0x21A6 -#define GLX_GPU_NUM_RB_AMD 0x21A7 -#define GLX_GPU_NUM_SPI_AMD 0x21A8 -#endif - -/* GLX_EXT_create_context_es2_profile */ - -#ifndef GLX_EXT_create_context_es2_profile -#define GLX_EXT_create_context_es2_profile 1 -#define __GLEE_GLX_EXT_create_context_es2_profile 1 -/* Constants */ -#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 -#endif - -/* GLX_EXT_create_context_es_profile */ - -#ifndef GLX_EXT_create_context_es_profile -#define GLX_EXT_create_context_es_profile 1 -#define __GLEE_GLX_EXT_create_context_es_profile 1 -/* Constants */ -#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 -#endif - -/* GLX_EXT_swap_control_tear */ - -#ifndef GLX_EXT_swap_control_tear -#define GLX_EXT_swap_control_tear 1 -#define __GLEE_GLX_EXT_swap_control_tear 1 -/* Constants */ -#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3 -#endif - -/* GLX_EXT_buffer_age */ - -#ifndef GLX_EXT_buffer_age -#define GLX_EXT_buffer_age 1 -#define __GLEE_GLX_EXT_buffer_age 1 -/* Constants */ -#define GLX_BACK_BUFFER_AGE_EXT 0x20F4 -#endif - -/* GLX_NV_video_output */ - -#ifndef GLX_NV_video_output -#define GLX_NV_video_output 1 -#define __GLEE_GLX_NV_video_output 1 -/* Constants */ -#ifndef GLEE_H_DEFINED_glXGetVideoDeviceNV -#define GLEE_H_DEFINED_glXGetVideoDeviceNV - typedef int (APIENTRYP GLEEPFNGLXGETVIDEODEVICENVPROC) (Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice); - GLEE_EXTERN GLEEPFNGLXGETVIDEODEVICENVPROC GLeeFuncPtr_glXGetVideoDeviceNV; - #define glXGetVideoDeviceNV GLeeFuncPtr_glXGetVideoDeviceNV -#endif -#ifndef GLEE_H_DEFINED_glXReleaseVideoDeviceNV -#define GLEE_H_DEFINED_glXReleaseVideoDeviceNV - typedef int (APIENTRYP GLEEPFNGLXRELEASEVIDEODEVICENVPROC) (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice); - GLEE_EXTERN GLEEPFNGLXRELEASEVIDEODEVICENVPROC GLeeFuncPtr_glXReleaseVideoDeviceNV; - #define glXReleaseVideoDeviceNV GLeeFuncPtr_glXReleaseVideoDeviceNV -#endif -#ifndef GLEE_H_DEFINED_glXBindVideoImageNV -#define GLEE_H_DEFINED_glXBindVideoImageNV - typedef int (APIENTRYP GLEEPFNGLXBINDVIDEOIMAGENVPROC) (Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); - GLEE_EXTERN GLEEPFNGLXBINDVIDEOIMAGENVPROC GLeeFuncPtr_glXBindVideoImageNV; - #define glXBindVideoImageNV GLeeFuncPtr_glXBindVideoImageNV -#endif -#ifndef GLEE_H_DEFINED_glXReleaseVideoImageNV -#define GLEE_H_DEFINED_glXReleaseVideoImageNV - typedef int (APIENTRYP GLEEPFNGLXRELEASEVIDEOIMAGENVPROC) (Display * dpy, GLXPbuffer pbuf); - GLEE_EXTERN GLEEPFNGLXRELEASEVIDEOIMAGENVPROC GLeeFuncPtr_glXReleaseVideoImageNV; - #define glXReleaseVideoImageNV GLeeFuncPtr_glXReleaseVideoImageNV -#endif -#ifndef GLEE_H_DEFINED_glXSendPbufferToVideoNV -#define GLEE_H_DEFINED_glXSendPbufferToVideoNV - typedef int (APIENTRYP GLEEPFNGLXSENDPBUFFERTOVIDEONVPROC) (Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock); - GLEE_EXTERN GLEEPFNGLXSENDPBUFFERTOVIDEONVPROC GLeeFuncPtr_glXSendPbufferToVideoNV; - #define glXSendPbufferToVideoNV GLeeFuncPtr_glXSendPbufferToVideoNV -#endif -#ifndef GLEE_H_DEFINED_glXGetVideoInfoNV -#define GLEE_H_DEFINED_glXGetVideoInfoNV - typedef int (APIENTRYP GLEEPFNGLXGETVIDEOINFONVPROC) (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo); - GLEE_EXTERN GLEEPFNGLXGETVIDEOINFONVPROC GLeeFuncPtr_glXGetVideoInfoNV; - #define glXGetVideoInfoNV GLeeFuncPtr_glXGetVideoInfoNV -#endif -#endif -#endif /*end GLX */ - -/***************************************************************** - * GLee functions - *****************************************************************/ - -GLEE_EXTERN GLboolean GLeeInit( void ); -GLEE_EXTERN GLint GLeeForceLink(const char * extensionName); -GLEE_EXTERN const char * GLeeGetErrorString( void ); -GLEE_EXTERN const char * GLeeGetExtStrGL( void ); -GLEE_EXTERN GLboolean GLeeEnabled(GLboolean * extensionQueryingVariable); - -#ifdef _WIN32 -GLEE_EXTERN const char * GLeeGetExtStrWGL( void ); -#elif defined(__APPLE__) || defined(__APPLE_CC__) -#else -GLEE_EXTERN const char * GLeeGetExtStrGLX( void ); -#endif - -#ifdef __cplusplus -} /* end C linkage */ -#endif - -#endif /* __glee_h_ defined */ diff --git a/src/modules/graphics/opengl/Graphics.cpp b/src/modules/graphics/opengl/Graphics.cpp index a95f04725..8d6073cc9 100644 --- a/src/modules/graphics/opengl/Graphics.cpp +++ b/src/modules/graphics/opengl/Graphics.cpp @@ -38,6 +38,10 @@ #include #include +#ifdef LOVE_IOS +#include +#endif + namespace love { namespace graphics @@ -49,7 +53,8 @@ Graphics::Graphics() : width(0) , height(0) , created(false) - , activeStencil(false) + , active(true) + , writingToStencil(false) { gl = OpenGL(); @@ -73,6 +78,12 @@ Graphics::~Graphics() states.clear(); defaultFont.set(nullptr); + if (Shader::defaultShader) + { + Shader::defaultShader->release(); + Shader::defaultShader = nullptr; + } + currentWindow->release(); } @@ -93,13 +104,14 @@ void Graphics::restoreState(const DisplayState &s) setLineJoin(s.lineJoin); setPointSize(s.pointSize); - setPointStyle(s.pointStyle); if (s.scissor) setScissor(s.scissorBox.x, s.scissorBox.y, s.scissorBox.w, s.scissorBox.h); else setScissor(); + setStencilTest(s.stencilTest, s.stencilInvert); + setFont(s.font.get()); setShader(s.shader.get()); setCanvas(s.canvases); @@ -132,9 +144,6 @@ void Graphics::restoreStateChecked(const DisplayState &s) if (s.pointSize != cur.pointSize) setPointSize(s.pointSize); - if (s.pointStyle != cur.pointStyle) - setPointStyle(s.pointStyle); - if (s.scissor != cur.scissor || (s.scissor && !(s.scissorBox == cur.scissorBox))) { if (s.scissor) @@ -143,18 +152,26 @@ void Graphics::restoreStateChecked(const DisplayState &s) setScissor(); } + if (s.stencilTest != cur.stencilTest || s.stencilInvert != cur.stencilInvert) + setStencilTest(s.stencilTest, s.stencilInvert); + setFont(s.font.get()); setShader(s.shader.get()); + bool canvaseschanged = s.canvases.size() != cur.canvases.size(); + for (size_t i = 0; i < s.canvases.size() && i < cur.canvases.size(); i++) { if (s.canvases[i].get() != cur.canvases[i].get()) { - setCanvas(s.canvases); + canvaseschanged = true; break; } } + if (canvaseschanged) + setCanvas(s.canvases); + if (s.colorMask != cur.colorMask) setColorMask(s.colorMask); @@ -178,7 +195,7 @@ void Graphics::checkSetDefaultFont() if (!fontmodule) throw love::Exception("Font module has not been loaded."); - StrongRef r(fontmodule->newRasterizer(12)); + StrongRef r(fontmodule->newTrueTypeRasterizer(12)); r->release(); defaultFont.set(newFont(r.get())); @@ -202,7 +219,7 @@ void Graphics::setViewportSize(int width, int height) setCanvas(); // Set the viewport to top-left corner. - gl.setViewport(OpenGL::Viewport(0, 0, width, height)); + gl.setViewport({0, 0, width, height}); // If a canvas was bound before this function was called, it needs to be // made aware of the new system viewport size. @@ -222,39 +239,43 @@ bool Graphics::setMode(int width, int height, bool &sRGB) // Okay, setup OpenGL. gl.initContext(); + gl.setupContext(); created = true; setViewportSize(width, height); - // Make sure antialiasing works when set elsewhere - if (GLEE_VERSION_1_3 || GLEE_ARB_multisample) - glEnable(GL_MULTISAMPLE); - // Enable blending glEnable(GL_BLEND); - // Make sure smooth points look OK. - glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); - // Auto-generated mipmaps should be the best quality possible - if (GLEE_VERSION_1_4 || GLEE_SGIS_generate_mipmap) - glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST); + glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST); + + if (!GLAD_ES_VERSION_2_0) + { + // Make sure antialiasing works when set elsewhere + glEnable(GL_MULTISAMPLE); + + // Enable texturing + glEnable(GL_TEXTURE_2D); + } - // Enable textures - glEnable(GL_TEXTURE_2D); gl.setTextureUnit(0); // Set pixel row alignment glPixelStorei(GL_UNPACK_ALIGNMENT, 1); // Set whether drawing converts input from linear -> sRGB colorspace. - if (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_sRGB || GLEE_EXT_framebuffer_sRGB) + if (GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_sRGB || GLAD_EXT_framebuffer_sRGB + || GLAD_ES_VERSION_3_0 || GLAD_EXT_sRGB) { - if (sRGB) - glEnable(GL_FRAMEBUFFER_SRGB); - else - glDisable(GL_FRAMEBUFFER_SRGB); + if (GLAD_VERSION_1_0 || GLAD_EXT_sRGB_write_control) + { + if (sRGB) + glEnable(GL_FRAMEBUFFER_SRGB); + else + glDisable(GL_FRAMEBUFFER_SRGB); + } } else sRGB = false; @@ -263,7 +284,7 @@ bool Graphics::setMode(int width, int height, bool &sRGB) bool enabledebug = false; - if (GLEE_VERSION_3_0) + if (GLAD_VERSION_3_0) { // Enable OpenGL's debug output if a debug context has been created. GLint flags = 0; @@ -284,6 +305,18 @@ bool Graphics::setMode(int width, int height, bool &sRGB) pixel_size_stack.reserve(5); pixel_size_stack.push_back(1); + // We always need a default shader. + if (!Shader::defaultShader) + { + Renderer renderer = GLAD_ES_VERSION_2_0 ? RENDERER_OPENGLES : RENDERER_OPENGL; + Shader::defaultShader = newShader(Shader::defaultCode[renderer]); + } + + // A shader should always be active, but the default shader shouldn't be + // returned by getShader(), so we don't do setShader(defaultShader). + if (!Shader::current) + Shader::defaultShader->attach(); + return true; } @@ -301,7 +334,24 @@ void Graphics::unSetMode() created = false; } -static void APIENTRY debugCB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei /*len*/, const GLchar *msg, GLvoid* /*usr*/) +void Graphics::setActive(bool enable) +{ + // Make sure all pending OpenGL commands have fully executed before + // returning, if we're going from active to inactive. + if (isCreated() && this->active && !enable) + glFinish(); + + active = enable; +} + +bool Graphics::isActive() const +{ + // The graphics module is only completely 'active' if there's a window, a + // context, and the active variable is set. + return active && isCreated() && currentWindow && currentWindow->isCreated(); +} + +static void APIENTRY debugCB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei /*len*/, const GLchar *msg, const GLvoid* /*usr*/) { // Human-readable strings for the debug info. const char *sourceStr = OpenGL::debugSourceString(source); @@ -316,14 +366,18 @@ void Graphics::setDebug(bool enable) { // Make sure debug output is supported. The AMD ext. is a bit different // so we don't make use of it, since AMD drivers now support KHR_debug. - if (!(GLEE_VERSION_4_3 || GLEE_KHR_debug || GLEE_ARB_debug_output)) + if (!(GLAD_VERSION_4_3 || GLAD_KHR_debug || GLAD_ARB_debug_output)) + return; + + // TODO: We don't support GL_KHR_debug in GLES yet. + if (GLAD_ES_VERSION_2_0) return; // Ugly hack to reduce code duplication. - if (GLEE_ARB_debug_output && !(GLEE_VERSION_4_3 || GLEE_KHR_debug)) + if (GLAD_ARB_debug_output && !(GLAD_VERSION_4_3 || GLAD_KHR_debug)) { - glDebugMessageCallback = (GLEEPFNGLDEBUGMESSAGECALLBACKPROC) glDebugMessageCallbackARB; - glDebugMessageControl = (GLEEPFNGLDEBUGMESSAGECONTROLPROC) glDebugMessageControlARB; + fp_glDebugMessageCallback = (pfn_glDebugMessageCallback) fp_glDebugMessageCallbackARB; + fp_glDebugMessageControl = (pfn_glDebugMessageControl) fp_glDebugMessageControlARB; } if (!enable) @@ -332,7 +386,7 @@ void Graphics::setDebug(bool enable) glDebugMessageCallback(nullptr, nullptr); // We can disable debug output entirely with KHR_debug. - if (GLEE_VERSION_4_3 || GLEE_KHR_debug) + if (GLAD_VERSION_4_3 || GLAD_KHR_debug) glDisable(GL_DEBUG_OUTPUT); return; @@ -350,7 +404,7 @@ void Graphics::setDebug(bool enable) glDebugMessageControl(GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR, GL_DONT_CARE, 0, 0, GL_FALSE); glDebugMessageControl(GL_DEBUG_SOURCE_SHADER_COMPILER, GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR, GL_DONT_CARE, 0, 0, GL_FALSE); - if (GLEE_VERSION_4_3 || GLEE_KHR_debug) + if (GLAD_VERSION_4_3 || GLAD_KHR_debug) glEnable(GL_DEBUG_OUTPUT); ::printf("OpenGL debug output enabled (LOVE_GRAPHICS_DEBUG=1)\n"); @@ -359,23 +413,86 @@ void Graphics::setDebug(bool enable) void Graphics::reset() { DisplayState s; - discardStencil(); - origin(); + drawToStencilBuffer(false); restoreState(s); + origin(); } -void Graphics::clear() +void Graphics::clear(Color c) { - glClear(GL_COLOR_BUFFER_BIT); + glClearColor(c.r / 255.0f, c.g / 255.0f, c.b / 255.0f, c.a / 255.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +} + +void Graphics::discard(bool color, bool stencil) +{ + if (!(GLAD_VERSION_4_3 || GLAD_ARB_invalidate_subdata || GLAD_ES_VERSION_3_0 || GLAD_EXT_discard_framebuffer)) + return; + + std::vector attachments; + attachments.reserve(3); + + // glDiscardFramebuffer uses different attachment enums for the default FBO. + if (!Canvas::current && gl.getDefaultFBO() == 0) + { + if (color) + attachments.push_back(GL_COLOR); + + if (stencil) + { + attachments.push_back(GL_STENCIL); + attachments.push_back(GL_DEPTH); + } + } + else + { + if (color) + { + attachments.push_back(GL_COLOR_ATTACHMENT0); + for (int i = 0; i < (int) states.back().canvases.size() - 1; i++) + attachments.push_back(GL_COLOR_ATTACHMENT1 + i); + } + + if (stencil) + { + attachments.push_back(GL_STENCIL_ATTACHMENT); + attachments.push_back(GL_DEPTH_ATTACHMENT); + } + } + + // Hint for the driver that it doesn't need to save these buffers. + if (GLAD_VERSION_4_3 || GLAD_ARB_invalidate_subdata || GLAD_ES_VERSION_3_0) + glInvalidateFramebuffer(GL_FRAMEBUFFER, (GLint) attachments.size(), &attachments[0]); + else if (GLAD_EXT_discard_framebuffer) + glDiscardFramebufferEXT(GL_FRAMEBUFFER, (GLint) attachments.size(), &attachments[0]); } void Graphics::present() { + if (!isActive()) + return; + + // Make sure we don't have a canvas active. + std::vector> canvases = states.back().canvases; + setCanvas(); + + // Discard the stencil buffer before swapping. + discard(false, true); + +#ifdef LOVE_IOS + // Hack: SDL's color renderbuffer needs to be bound when swapBuffers is called. + GLuint rbo = SDL_iPhoneGetViewRenderbuffer(SDL_GL_GetCurrentWindow()); + glBindRenderbuffer(GL_RENDERBUFFER, rbo); +#endif + currentWindow->swapBuffers(); + // Restore the currently active canvas, if there is one. + setCanvas(canvases); + // Reset the per-frame stat counts. gl.stats.drawCalls = 0; - Canvas::switchCount = 0; + gl.stats.framebufferBinds = 0; } int Graphics::getWidth() const @@ -395,7 +512,7 @@ bool Graphics::isCreated() const void Graphics::setScissor(int x, int y, int width, int height) { - OpenGL::Viewport box(x, y, width, height); + OpenGL::Viewport box = {x, y, width, height}; states.back().scissor = true; glEnable(GL_SCISSOR_TEST); @@ -422,44 +539,79 @@ bool Graphics::getScissor(int &x, int &y, int &width, int &height) const return states.back().scissor; } -void Graphics::defineStencil() +void Graphics::drawToStencilBuffer(bool enable) { + if (writingToStencil == enable) + return; + + writingToStencil = enable; + + if (!enable) + { + const DisplayState &state = states.back(); + + // Revert the color write mask. + setColorMask(state.colorMask); + + // Use the user-set stencil test state when writes are disabled. + setStencilTest(state.stencilTest, state.stencilInvert); + return; + } + // Make sure the active canvas has a stencil buffer. if (Canvas::current) Canvas::current->checkCreateStencil(); - // Disable color writes but don't save the mask values. + // Disable color writes but don't save the state for it. glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); - glClear(GL_STENCIL_BUFFER_BIT); + // The stencil test must be enabled in order to write to the stencil buffer. glEnable(GL_STENCIL_TEST); + glStencilFunc(GL_ALWAYS, 1, 1); glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); - - activeStencil = true; } -void Graphics::useStencil(bool invert) +void Graphics::setStencilTest(bool enable, bool invert) { - glStencilFunc(GL_EQUAL, (GLint)(!invert), 1); // invert ? 0 : 1 - glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); - setColorMask(states.back().colorMask); -} + DisplayState &state = states.back(); + state.stencilTest = enable; + state.stencilInvert = invert; -void Graphics::discardStencil() -{ - if (!activeStencil) + if (writingToStencil) return; - setColorMask(states.back().colorMask); - glDisable(GL_STENCIL_TEST); - activeStencil = false; + if (!enable) + { + glDisable(GL_STENCIL_TEST); + return; + } + + // Make sure the active canvas has a stencil buffer. + if (Canvas::current) + Canvas::current->checkCreateStencil(); + + glEnable(GL_STENCIL_TEST); + glStencilFunc(GL_EQUAL, invert ? 0 : 1, 1); + glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); } -Image *Graphics::newImage(love::image::ImageData *data, Image::Format format) +void Graphics::getStencilTest(bool &enable, bool &invert) +{ + const DisplayState &state = states.back(); + enable = state.stencilTest; + invert = state.stencilInvert; +} + +void Graphics::clearStencil() +{ + glClear(GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +} + +Image *Graphics::newImage(love::image::ImageData *data, const Image::Flags &flags) { // Create the image. - Image *image = new Image(data, format); + Image *image = new Image(data, flags); if (!isCreated()) return image; @@ -477,16 +629,16 @@ Image *Graphics::newImage(love::image::ImageData *data, Image::Format format) if (!success) { image->release(); - return 0; + return nullptr; } return image; } -Image *Graphics::newImage(love::image::CompressedData *cdata, Image::Format format) +Image *Graphics::newImage(love::image::CompressedData *cdata, const Image::Flags &flags) { // Create the image. - Image *image = new Image(cdata, format); + Image *image = new Image(cdata, flags); if (!isCreated()) return image; @@ -504,7 +656,7 @@ Image *Graphics::newImage(love::image::CompressedData *cdata, Image::Format form if (!success) { image->release(); - return 0; + return nullptr; } return image; @@ -607,6 +759,11 @@ Mesh *Graphics::newMesh(int vertexcount, Mesh::DrawMode mode) return new Mesh(vertexcount, mode); } +Text *Graphics::newText(Font *font, const std::string &text) +{ + return new Text(font, text); +} + void Graphics::setColor(const Color &c) { gl.setColor(c); @@ -620,7 +777,6 @@ Color Graphics::getColor() const void Graphics::setBackgroundColor(const Color &c) { - gl.setClearColor(c); states.back().backgroundColor = c; } @@ -660,6 +816,7 @@ void Graphics::setShader() { DisplayState &state = states.back(); + // This will activate the default shader. Shader::detach(); state.shader.set(nullptr); @@ -755,23 +912,11 @@ void Graphics::setBlendMode(Graphics::BlendMode mode) switch (mode) { case BLEND_ALPHA: - if (GLEE_VERSION_1_4 || GLEE_EXT_blend_func_separate) - { - blend.srcRGB = GL_SRC_ALPHA; - blend.srcA = GL_ONE; - blend.dstRGB = blend.dstA = GL_ONE_MINUS_SRC_ALPHA; - } - else - { - // Fallback for OpenGL implementations without support for separate blend functions. - // This will most likely only be used for the Microsoft software renderer and - // since it's still stuck with OpenGL 1.1, the only expected difference is a - // different alpha value when reading back the default framebuffer (newScreenshot). - blend.srcRGB = blend.srcA = GL_SRC_ALPHA; - blend.dstRGB = blend.dstA = GL_ONE_MINUS_SRC_ALPHA; - } + blend.srcRGB = GL_SRC_ALPHA; + blend.srcA = GL_ONE; + blend.dstRGB = blend.dstA = GL_ONE_MINUS_SRC_ALPHA; break; - case BLEND_MULTIPLICATIVE: + case BLEND_MULTIPLY: blend.srcRGB = blend.srcA = GL_DST_COLOR; blend.dstRGB = blend.dstA = GL_ZERO; break; @@ -779,9 +924,9 @@ void Graphics::setBlendMode(Graphics::BlendMode mode) blend.srcRGB = blend.srcA = GL_ONE; blend.dstRGB = blend.dstA = GL_ONE_MINUS_SRC_ALPHA; break; - case BLEND_SUBTRACTIVE: + case BLEND_SUBTRACT: blend.func = GL_FUNC_REVERSE_SUBTRACT; - case BLEND_ADDITIVE: + case BLEND_ADD: blend.srcRGB = blend.srcA = GL_SRC_ALPHA; blend.dstRGB = blend.dstA = GL_ONE; break; @@ -863,32 +1008,21 @@ Graphics::LineJoin Graphics::getLineJoin() const void Graphics::setPointSize(float size) { - glPointSize(size); + gl.setPointSize(size); states.back().pointSize = size; } -void Graphics::setPointStyle(Graphics::PointStyle style) -{ - if (style == POINT_SMOOTH) - glEnable(GL_POINT_SMOOTH); - else // love::POINT_ROUGH - glDisable(GL_POINT_SMOOTH); - - states.back().pointStyle = style; -} - float Graphics::getPointSize() const { return states.back().pointSize; } -Graphics::PointStyle Graphics::getPointStyle() const -{ - return states.back().pointStyle; -} - void Graphics::setWireframe(bool enable) { + // Not supported in OpenGL ES. + if (GLAD_ES_VERSION_2_0) + return; + glPolygonMode(GL_FRONT_AND_BACK, enable ? GL_LINE : GL_FILL); states.back().wireframe = enable; } @@ -905,70 +1039,17 @@ void Graphics::print(const std::string &str, float x, float y , float angle, flo DisplayState &state = states.back(); if (state.font.get() != nullptr) - state.font->print(str, x, y, 0.0, angle, sx, sy, ox, oy, kx, ky); + state.font->print(str, x, y, angle, sx, sy, ox, oy, kx, ky); } -void Graphics::printf(const std::string &str, float x, float y, float wrap, AlignMode align, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +void Graphics::printf(const std::string &str, float x, float y, float wrap, Font::AlignMode align, float angle, float sx, float sy, float ox, float oy, float kx, float ky) { checkSetDefaultFont(); DisplayState &state = states.back(); - if (state.font.get() == nullptr) - return; - - if (wrap < 0.0f) - throw love::Exception("Horizontal wrap limit cannot be negative."); - - using std::string; - using std::vector; - - // wrappedlines indicates which lines were automatically wrapped. It's - // guaranteed to have the same number of elements as lines_to_draw. - vector wrappedlines; - vector lines_to_draw = state.font->getWrap(str, wrap, 0, &wrappedlines); - - static Matrix t; - t.setTransformation(ceilf(x), ceilf(y), angle, sx, sy, ox, oy, kx, ky); - - OpenGL::TempTransform transform(gl); - transform.get() *= t; - - x = y = 0.0f; - - // now for the actual printing - vector::const_iterator line_iter, line_end = lines_to_draw.end(); - float extra_spacing = 0.0f; - int num_spaces = 0; - int i = 0; - - for (line_iter = lines_to_draw.begin(); line_iter != line_end; ++line_iter) - { - float width = static_cast(state.font->getWidth(*line_iter)); - switch (align) - { - case ALIGN_RIGHT: - state.font->print(*line_iter, ceilf(x + (wrap - width)), ceilf(y), 0.0f); - break; - case ALIGN_CENTER: - state.font->print(*line_iter, ceilf(x + (wrap - width) / 2), ceilf(y), 0.0f); - break; - case ALIGN_JUSTIFY: - num_spaces = std::count(line_iter->begin(), line_iter->end(), ' '); - if (wrappedlines[i] && num_spaces >= 1) - extra_spacing = (wrap - width) / float(num_spaces); - else - extra_spacing = 0.0f; - state.font->print(*line_iter, ceilf(x), ceilf(y), extra_spacing); - break; - case ALIGN_LEFT: - default: - state.font->print(*line_iter, ceilf(x), ceilf(y), 0.0f); - break; - } - y += state.font->getHeight() * state.font->getLineHeight(); - i++; - } + if (state.font.get() != nullptr) + state.font->printf(str, x, y, wrap, align, angle, sx, sy, ox, oy, kx, ky); } /** @@ -977,13 +1058,14 @@ void Graphics::printf(const std::string &str, float x, float y, float wrap, Alig void Graphics::point(float x, float y) { - gl.prepareDraw(); - gl.bindTexture(0); - glBegin(GL_POINTS); - glVertex2f(x, y); - glEnd(); + GLfloat coord[] = {x, y}; - ++gl.stats.drawCalls; + gl.prepareDraw(); + gl.bindTexture(gl.getDefaultTexture()); + glEnableVertexAttribArray(ATTRIB_POS); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, 0, coord); + gl.drawArrays(GL_POINTS, 0, 1); + glDisableVertexAttribArray(ATTRIB_POS); } void Graphics::polyline(const float *coords, size_t count) @@ -1076,11 +1158,11 @@ void Graphics::arc(DrawMode mode, float x, float y, float radius, float angle1, else { gl.prepareDraw(); - gl.bindTexture(0); - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_FLOAT, 0, (const GLvoid *) coords); + gl.bindTexture(gl.getDefaultTexture()); + glEnableVertexAttribArray(ATTRIB_POS); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, 0, coords); gl.drawArrays(GL_TRIANGLE_FAN, 0, points + 2); - glDisableClientState(GL_VERTEX_ARRAY); + glDisableVertexAttribArray(ATTRIB_POS); } delete[] coords; @@ -1100,11 +1182,11 @@ void Graphics::polygon(DrawMode mode, const float *coords, size_t count) else { gl.prepareDraw(); - gl.bindTexture(0); - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_FLOAT, 0, (const GLvoid *)coords); - gl.drawArrays(GL_POLYGON, 0, count/2-1); // opengl will close the polygon for us - glDisableClientState(GL_VERTEX_ARRAY); + gl.bindTexture(gl.getDefaultTexture()); + glEnableVertexAttribArray(ATTRIB_POS); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, 0, coords); + gl.drawArrays(GL_TRIANGLE_FAN, 0, (int)count/2-1); // opengl will close the polygon for us + glDisableVertexAttribArray(ATTRIB_POS); } } @@ -1118,12 +1200,11 @@ love::image::ImageData *Graphics::newScreenshot(love::image::Image *image, bool int w = getWidth(); int h = getHeight(); - int row = 4*w; + int row = 4 * w; + int size = row * h; - int size = row*h; - - GLubyte *pixels = 0; - GLubyte *screenshot = 0; + GLubyte *pixels = nullptr; + GLubyte *screenshot = nullptr; try { @@ -1148,15 +1229,15 @@ love::image::ImageData *Graphics::newScreenshot(love::image::Image *image, bool } // OpenGL sucks and reads pixels from the lower-left. Let's fix that. - - GLubyte *src = pixels - row, *dst = screenshot + size; + GLubyte *src = pixels - row; + GLubyte *dst = screenshot + size; for (int i = 0; i < h; ++i) memcpy(dst-=row, src+=row, row); delete[] pixels; - love::image::ImageData *img = 0; + love::image::ImageData *img = nullptr; try { // Tell the new ImageData that it owns the screenshot data, so we don't @@ -1179,7 +1260,11 @@ love::image::ImageData *Graphics::newScreenshot(love::image::Image *image, bool Graphics::RendererInfo Graphics::getRendererInfo() const { RendererInfo info; - info.name = "OpenGL"; + + if (GLAD_ES_VERSION_2_0) + info.name = "OpenGL ES"; + else + info.name = "OpenGL"; const char *str = (const char *) glGetString(GL_VERSION); if (str) @@ -1207,7 +1292,7 @@ Graphics::Stats Graphics::getStats() const Stats stats; stats.drawCalls = gl.stats.drawCalls; - stats.canvasSwitches = Canvas::switchCount; + stats.canvasSwitches = gl.stats.framebufferBinds; stats.canvases = Canvas::canvasCount; stats.images = Image::imageCount; stats.fonts = Font::fontCount; @@ -1235,15 +1320,8 @@ double Graphics::getSystemLimit(SystemLimit limittype) const case Graphics::LIMIT_MULTI_CANVAS: limit = (double) gl.getMaxRenderTargets(); break; - case Graphics::LIMIT_CANVAS_FSAA: // For backward-compatibility. case Graphics::LIMIT_CANVAS_MSAA: - if (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object - || GLEE_EXT_framebuffer_multisample) - { - GLint intlimit = 0; - glGetIntegerv(GL_MAX_SAMPLES, &intlimit); - limit = (double) intlimit; - } + limit = (double) gl.getMaxRenderbufferSamples(); break; default: break; @@ -1256,24 +1334,10 @@ bool Graphics::isSupported(Support feature) const { switch (feature) { - case SUPPORT_CANVAS: - return Canvas::isSupported(); - case SUPPORT_HDR_CANVAS: - return Canvas::isFormatSupported(Canvas::FORMAT_HDR); case SUPPORT_MULTI_CANVAS: return Canvas::isMultiCanvasSupported(); - case SUPPORT_SHADER: - return Shader::isSupported(); - case SUPPORT_NPOT: - return Image::hasNpot(); - case SUPPORT_SUBTRACTIVE: - return (GLEE_VERSION_1_4 || GLEE_ARB_imaging) || (GLEE_EXT_blend_minmax && GLEE_EXT_blend_subtract); - case SUPPORT_MIPMAP: - return Image::hasMipmapSupport(); - case SUPPORT_DXT: - return Image::hasCompressedTextureSupport(image::CompressedData::FORMAT_DXT5); - case SUPPORT_BC5: - return Image::hasCompressedTextureSupport(image::CompressedData::FORMAT_BC5); + case SUPPORT_MULTI_CANVAS_FORMATS: + return Canvas::isMultiFormatMultiCanvasSupported(); case SUPPORT_SRGB: // sRGB support for the screen is guaranteed if it's supported as a // Canvas format. @@ -1354,15 +1418,16 @@ Graphics::DisplayState::DisplayState() , lineStyle(LINE_SMOOTH) , lineJoin(LINE_JOIN_MITER) , pointSize(1.0f) - , pointStyle(POINT_SMOOTH) , scissor(false) , scissorBox() + , stencilTest(false) + , stencilInvert(false) , font(nullptr) , shader(nullptr) , colorMask({true, true, true, true}) , wireframe(false) , defaultFilter() - , defaultMipmapFilter(Texture::FILTER_NONE) + , defaultMipmapFilter(Texture::FILTER_NEAREST) , defaultMipmapSharpness(0.0f) { } @@ -1375,9 +1440,10 @@ Graphics::DisplayState::DisplayState(const DisplayState &other) , lineStyle(other.lineStyle) , lineJoin(other.lineJoin) , pointSize(other.pointSize) - , pointStyle(other.pointStyle) , scissor(other.scissor) , scissorBox(other.scissorBox) + , stencilTest(other.stencilTest) + , stencilInvert(other.stencilInvert) , font(other.font) , shader(other.shader) , canvases(other.canvases) @@ -1402,9 +1468,10 @@ Graphics::DisplayState &Graphics::DisplayState::operator = (const DisplayState & lineStyle = other.lineStyle; lineJoin = other.lineJoin; pointSize = other.pointSize; - pointStyle = other.pointStyle; scissor = other.scissor; scissorBox = other.scissorBox; + stencilTest = other.stencilTest; + stencilInvert = other.stencilInvert; font = other.font; shader = other.shader; diff --git a/src/modules/graphics/opengl/Graphics.h b/src/modules/graphics/opengl/Graphics.h index e0a792fb1..ff343bbff 100644 --- a/src/modules/graphics/opengl/Graphics.h +++ b/src/modules/graphics/opengl/Graphics.h @@ -40,11 +40,13 @@ #include "Font.h" #include "Image.h" #include "graphics/Quad.h" +#include "graphics/Texture.h" #include "SpriteBatch.h" #include "ParticleSystem.h" #include "Canvas.h" #include "Shader.h" #include "Mesh.h" +#include "Text.h" namespace love { @@ -53,11 +55,6 @@ namespace graphics namespace opengl { -// During display mode changing, certain -// variables about the OpenGL context are -// lost. - - class Graphics : public love::graphics::Graphics { public: @@ -72,6 +69,9 @@ public: virtual bool setMode(int width, int height, bool &sRGB); virtual void unSetMode(); + virtual void setActive(bool active); + virtual bool isActive() const; + void setDebug(bool enable); /** @@ -82,9 +82,14 @@ public: void reset(); /** - * Clears the screen. + * Clears the screen to a specific color. **/ - void clear(); + void clear(Color c); + + /** + * Discards the contents of the screen. + **/ + void discard(bool color, bool stencil); /** * Flips buffers. (Rendered geometry is presented on screen). @@ -128,28 +133,27 @@ public: bool getScissor(int &x, int &y, int &width, int &height) const; /** - * Enables the stencil buffer and set stencil function to fill it - */ - void defineStencil(); + * Enables or disables drawing to the stencil buffer. When enabled, the + * color buffer is disabled. + **/ + void drawToStencilBuffer(bool enable); /** - * Set stencil function to mask the following drawing calls using - * the current stencil buffer - * @param invert Invert the mask, i.e. draw everywhere expect where - * the mask is defined. - */ - void useStencil(bool invert = false); + * Sets whether stencil testing is enabled. + **/ + void setStencilTest(bool enable, bool invert); + void getStencilTest(bool &enable, bool &invert); /** - * Disables the stencil buffer - */ - void discardStencil(); + * Clear the stencil buffer in the active Canvas(es.) + **/ + void clearStencil(); /** * Creates an Image object with padding and/or optimization. **/ - Image *newImage(love::image::ImageData *data, Image::Format format = Image::FORMAT_NORMAL); - Image *newImage(love::image::CompressedData *cdata, Image::Format format = Image::FORMAT_NORMAL); + Image *newImage(love::image::ImageData *data, const Image::Flags &flags); + Image *newImage(love::image::CompressedData *cdata, const Image::Flags &flags); Quad *newQuad(Quad::Viewport v, float sw, float sh); @@ -169,6 +173,8 @@ public: Mesh *newMesh(const std::vector &vertices, Mesh::DrawMode mode = Mesh::DRAW_MODE_FAN); Mesh *newMesh(int vertexcount, Mesh::DrawMode mode = Mesh::DRAW_MODE_FAN); + Text *newText(Font *font, const std::string &text = ""); + /** * Sets the foreground color. * @param c The new foreground color. @@ -279,22 +285,11 @@ public: **/ void setPointSize(float size); - /** - * Sets the style of points. - * @param style POINT_SMOOTH or POINT_ROUGH. - **/ - void setPointStyle(PointStyle style); - /** * Gets the point size. **/ float getPointSize() const; - /** - * Gets the point style. - **/ - PointStyle getPointStyle() const; - /** * Sets whether graphics will be drawn as wireframe lines instead of filled * triangles (has no effect for drawn points.) @@ -339,7 +334,7 @@ public: * @param kx Shear along the x-axis. * @param ky Shear along the y-axis. **/ - void printf(const std::string &str, float x, float y, float wrap, AlignMode align, float angle, float sx, float sy, float ox, float oy, float kx, float ky); + void printf(const std::string &str, float x, float y, float wrap, Font::AlignMode align, float angle, float sx, float sy, float ox, float oy, float kx, float ky); /** * Draws a point at (x,y). @@ -446,11 +441,14 @@ private: LineJoin lineJoin; float pointSize; - PointStyle pointStyle; bool scissor; OpenGL::Viewport scissorBox; + // Stencil. + bool stencilTest; + bool stencilInvert; + StrongRef font; StrongRef shader; @@ -486,8 +484,9 @@ private: int width; int height; bool created; + bool active; - bool activeStencil; + bool writingToStencil; std::vector states; std::vector stackTypes; // Keeps track of the pushed stack types. diff --git a/src/modules/graphics/opengl/Image.cpp b/src/modules/graphics/opengl/Image.cpp index be5ce0c5f..9876a45f6 100644 --- a/src/modules/graphics/opengl/Image.cpp +++ b/src/modules/graphics/opengl/Image.cpp @@ -20,6 +20,8 @@ #include "Image.h" +#include "common/int.h" + // STD #include // For memcpy #include // for min/max @@ -35,19 +37,16 @@ int Image::imageCount = 0; float Image::maxMipmapSharpness = 0.0f; -Texture::FilterMode Image::defaultMipmapFilter = Texture::FILTER_NONE; +Texture::FilterMode Image::defaultMipmapFilter = Texture::FILTER_NEAREST; float Image::defaultMipmapSharpness = 0.0f; -Image::Image(love::image::ImageData *data, Format format) +Image::Image(love::image::ImageData *data, const Flags &flags) : data(data) , cdata(nullptr) - , paddedWidth(width) - , paddedHeight(height) , texture(0) , mipmapSharpness(defaultMipmapSharpness) - , mipmapsCreated(false) , compressed(false) - , format(format) + , flags(flags) , usingDefaultTexture(false) , textureMemorySize(0) { @@ -58,21 +57,29 @@ Image::Image(love::image::ImageData *data, Format format) ++imageCount; } -Image::Image(love::image::CompressedData *cdata, Format format) +Image::Image(love::image::CompressedData *cdata, const Flags &flags) : data(nullptr) , cdata(cdata) - , paddedWidth(width) - , paddedHeight(height) , texture(0) , mipmapSharpness(defaultMipmapSharpness) - , mipmapsCreated(false) , compressed(true) - , format(format) + , flags(flags) , usingDefaultTexture(false) , textureMemorySize(0) { + this->flags.sRGB = (flags.sRGB || cdata->isSRGB()); + width = cdata->getWidth(0); height = cdata->getHeight(0); + + if (flags.mipmaps) + { + // The mipmap texture data comes from the CompressedData in this case, + // so we should make sure it has all necessary mipmap levels. + if (cdata->getMipmapCount() < (int) log2(std::max(width, height)) + 1) + throw love::Exception("Image cannot have mipmaps: compressed image data does not have all required mipmap levels."); + } + preload(); ++imageCount; @@ -80,19 +87,282 @@ Image::Image(love::image::CompressedData *cdata, Format format) Image::~Image() { - unload(); - + unloadVolatile(); --imageCount; } -love::image::ImageData *Image::getImageData() const +void Image::preload() { - return data.get(); + for (int i = 0; i < 4; i++) + vertices[i].r = vertices[i].g = vertices[i].b = vertices[i].a = 255; + + // Vertices are ordered for use with triangle strips: + // 0----2 + // | / | + // | / | + // 1----3 + vertices[0].x = 0.0f; + vertices[0].y = 0.0f; + vertices[1].x = 0.0f; + vertices[1].y = (float) height; + vertices[2].x = (float) width; + vertices[2].y = 0.0f; + vertices[3].x = (float) width; + vertices[3].y = (float) height; + + vertices[0].s = 0.0f; + vertices[0].t = 0.0f; + vertices[1].s = 0.0f; + vertices[1].t = 1.0f; + vertices[2].s = 1.0f; + vertices[2].t = 0.0f; + vertices[3].s = 1.0f; + vertices[3].t = 1.0f; + + if (flags.mipmaps) + filter.mipmap = defaultMipmapFilter; } -love::image::CompressedData *Image::getCompressedData() const +bool Image::load() { - return cdata.get(); + return loadVolatile(); +} + +void Image::generateMipmaps() +{ + // The GL_GENERATE_MIPMAP texparameter is set in loadVolatile if we don't + // have support for glGenerateMipmap. + if (flags.mipmaps && !isCompressed() && + (GLAD_ES_VERSION_2_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object)) + { + // Driver bug: http://www.opengl.org/wiki/Common_Mistakes#Automatic_mipmap_generation +#if defined(LOVE_WINDOWS) || defined(LOVE_LINUX) + if (gl.getVendor() == OpenGL::VENDOR_ATI_AMD) + glEnable(GL_TEXTURE_2D); +#endif + + glGenerateMipmap(GL_TEXTURE_2D); + } +} + +void Image::loadDefaultTexture() +{ + usingDefaultTexture = true; + + gl.bindTexture(texture); + setFilter(filter); + + // A nice friendly checkerboard to signify invalid textures... + GLubyte px[] = {0xFF,0xFF,0xFF,0xFF, 0xC0,0xC0,0xC0,0xFF, + 0xC0,0xC0,0xC0,0xFF, 0xFF,0xFF,0xFF,0xFF}; + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, px); +} + +void Image::loadTextureFromCompressedData() +{ + GLenum iformat = getCompressedFormat(cdata->getFormat()); + int count = flags.mipmaps ? cdata->getMipmapCount() : 1; + + // We have to inform OpenGL if the image doesn't have all mipmap levels. + if (GLAD_ES_VERSION_3_0 || GLAD_VERSION_1_0) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, count - 1); + + for (int i = 0; i < count; i++) + { + glCompressedTexImage2D(GL_TEXTURE_2D, i, iformat, + cdata->getWidth(i), cdata->getHeight(i), 0, + (GLsizei) cdata->getSize(i), cdata->getData(i)); + } +} + +void Image::loadTextureFromImageData() +{ + GLenum iformat = flags.sRGB ? GL_SRGB8_ALPHA8 : GL_RGBA8; + GLenum format = GL_RGBA; + + // in GLES2, the internalformat and format params of TexImage have to match. + if (GLAD_ES_VERSION_2_0 && !GLAD_ES_VERSION_3_0) + { + format = flags.sRGB ? GL_SRGB_ALPHA : GL_RGBA; + iformat = format; + } + + { + love::thread::Lock lock(data->getMutex()); + glTexImage2D(GL_TEXTURE_2D, 0, iformat, width, height, 0, format, + GL_UNSIGNED_BYTE, data->getData()); + } + + generateMipmaps(); +} + +bool Image::loadVolatile() +{ + if (isCompressed() && !hasCompressedTextureSupport(cdata->getFormat(), flags.sRGB)) + { + const char *str; + if (image::CompressedData::getConstant(cdata->getFormat(), str)) + { + throw love::Exception("Cannot create image: " + "%s%s compressed images are not supported on this system.", flags.sRGB ? "sRGB " : "", str); + } + else + throw love::Exception("cannot create image: format is not supported on this system."); + } + else if (!isCompressed()) + { + if (flags.sRGB && !hasSRGBSupport()) + throw love::Exception("sRGB images are not supported on this system."); + + // GL_EXT_sRGB doesn't support glGenerateMipmap for sRGB textures. + if (flags.sRGB && (GLAD_ES_VERSION_2_0 && GLAD_EXT_sRGB && !GLAD_ES_VERSION_3_0)) + { + flags.mipmaps = false; + filter.mipmap = FILTER_NONE; + } + } + + // NPOT textures don't support mipmapping without full NPOT support. + if ((GLAD_ES_VERSION_2_0 && !(GLAD_ES_VERSION_3_0 || GLAD_OES_texture_npot)) + && (width != next_p2(width) || height != next_p2(height))) + { + flags.mipmaps = false; + filter.mipmap = FILTER_NONE; + } + + if (maxMipmapSharpness == 0.0f && GLAD_VERSION_1_4) + glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS, &maxMipmapSharpness); + + glGenTextures(1, &texture); + gl.bindTexture(texture); + + setFilter(filter); + setWrap(wrap); + setMipmapSharpness(mipmapSharpness); + + // Use a default texture if the size is too big for the system. + if (width > gl.getMaxTextureSize() || height > gl.getMaxTextureSize()) + { + loadDefaultTexture(); + return true; + } + + if (!flags.mipmaps && (GLAD_ES_VERSION_3_0 || GLAD_VERSION_1_0)) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0); + + if (flags.mipmaps && !isCompressed() && + !(GLAD_ES_VERSION_2_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object)) + { + // Auto-generate mipmaps every time the texture is modified, if + // glGenerateMipmap isn't supported. + glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); + } + + while (glGetError() != GL_NO_ERROR); // Clear errors. + + try + { + if (isCompressed()) + loadTextureFromCompressedData(); + else + loadTextureFromImageData(); + + GLenum glerr = glGetError(); + if (glerr != GL_NO_ERROR) + throw love::Exception("Cannot create image (error code 0x%x)", glerr); + } + catch (love::Exception &) + { + gl.deleteTexture(texture); + texture = 0; + throw; + } + + size_t prevmemsize = textureMemorySize; + + if (isCompressed()) + { + textureMemorySize = 0; + for (int i = 0; i < (flags.mipmaps ? cdata->getMipmapCount() : 1); i++) + textureMemorySize += cdata->getSize(i); + } + else + { + textureMemorySize = width * height * 4; + if (flags.mipmaps) + textureMemorySize *= 1.333; + } + + gl.updateTextureMemorySize(prevmemsize, textureMemorySize); + + usingDefaultTexture = false; + return true; +} + +void Image::unloadVolatile() +{ + if (texture == 0) + return; + + gl.deleteTexture(texture); + texture = 0; + + gl.updateTextureMemorySize(textureMemorySize, 0); + textureMemorySize = 0; +} + +bool Image::refresh(int xoffset, int yoffset, int w, int h) +{ + // No effect if the texture hasn't been created yet. + if (texture == 0 || usingDefaultTexture) + return false; + + if (xoffset < 0 || yoffset < 0 || w <= 0 || h <= 0 || + (xoffset + w) > width || (yoffset + h) > height) + { + throw love::Exception("Invalid rectangle dimensions."); + } + + gl.bindTexture(texture); + + if (isCompressed()) + loadTextureFromCompressedData(); + else + { + const image::pixel *pdata = (const image::pixel *) data->getData(); + pdata += yoffset * data->getWidth() + xoffset; + + { + thread::Lock lock(data->getMutex()); + glTexSubImage2D(GL_TEXTURE_2D, 0, xoffset, yoffset, w, h, GL_RGBA, + GL_UNSIGNED_BYTE, pdata); + } + + generateMipmaps(); + } + + return true; +} + +void Image::drawv(const Matrix &t, const Vertex *v) +{ + OpenGL::TempTransform transform(gl); + transform.get() *= t; + + gl.bindTexture(texture); + + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); + + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &v[0].x); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &v[0].s); + + gl.prepareDraw(); + gl.drawArrays(GL_TRIANGLE_STRIP, 0, 4); + + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); } void Image::draw(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) @@ -111,152 +381,31 @@ void Image::drawq(Quad *quad, float x, float y, float angle, float sx, float sy, drawv(t, quad->getVertices()); } -void Image::predraw() +const void *Image::getHandle() const { - bind(); - - if (width != paddedWidth || height != paddedHeight) - { - // NPOT image padded to POT size, so the texcoords should be scaled. - glMatrixMode(GL_TEXTURE); - glPushMatrix(); - glScalef(float(width) / float(paddedWidth), float(height) / float(paddedHeight), 0.0f); - glMatrixMode(GL_MODELVIEW); - } + return &texture; } -void Image::postdraw() +love::image::ImageData *Image::getImageData() const { - if (width != paddedWidth || height != paddedHeight) - { - glMatrixMode(GL_TEXTURE); - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); - } + return data.get(); } -GLuint Image::getGLTexture() const +love::image::CompressedData *Image::getCompressedData() const { - return texture; -} - -void Image::uploadCompressedMipmaps() -{ - if (!isCompressed() || !cdata.get() || !hasCompressedTextureSupport(cdata->getFormat())) - return; - - bind(); - - int count = cdata->getMipmapCount(); - - // We have to inform OpenGL if the image doesn't have all mipmap levels. - if (GLEE_VERSION_1_2 || GLEE_SGIS_texture_lod) - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, count - 1); - } - else if (cdata->getWidth(count-1) > 1 || cdata->getHeight(count-1) > 1) - { - // Telling OpenGL to ignore certain levels isn't always supported. - throw love::Exception("Cannot load mipmaps: " - "compressed image does not have all required levels."); - } - - size_t totalsize = cdata->getSize(0); - - for (int i = 1; i < count; i++) - { - totalsize += cdata->getSize(i); - glCompressedTexImage2DARB(GL_TEXTURE_2D, - i, - getCompressedFormat(cdata->getFormat()), - cdata->getWidth(i), - cdata->getHeight(i), - 0, - GLsizei(cdata->getSize(i)), - cdata->getData(i)); - } - - size_t prevmemsize = textureMemorySize; - textureMemorySize = totalsize; - gl.updateTextureMemorySize(prevmemsize, textureMemorySize); -} - -void Image::createMipmaps() -{ - // Only valid for Images created with ImageData. - if (!data.get() || isCompressed()) - return; - - if (!hasMipmapSupport()) - throw love::Exception("Mipmap filtering is not supported on this system."); - - // Some old drivers claim support for NPOT textures, but fail when creating - // mipmaps. We can't detect which systems will do this, so we fail gracefully - // for all NPOT images. - int w = int(width), h = int(height); - if (w != next_p2(w) || h != next_p2(h)) - { - throw love::Exception("Cannot create mipmaps: " - "image does not have power of two dimensions."); - } - - bind(); - - // Prevent other threads from changing the ImageData while we upload it. - love::thread::Lock lock(data->getMutex()); - - if (hasNpot() && (GLEE_VERSION_3_0 || GLEE_ARB_framebuffer_object)) - { - if (gl.getVendor() == OpenGL::VENDOR_ATI_AMD) - { - // AMD/ATI drivers have several bugs when generating mipmaps, - // re-uploading the entire base image seems to be required. - uploadTexture(); - - // More bugs: http://www.opengl.org/wiki/Common_Mistakes#Automatic_mipmap_generation - glEnable(GL_TEXTURE_2D); - } - - glGenerateMipmap(GL_TEXTURE_2D); - } - else - { - glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); - glTexSubImage2D(GL_TEXTURE_2D, - 0, - 0, - 0, - (GLsizei)width, - (GLsizei)height, - GL_RGBA, - GL_UNSIGNED_BYTE, - data->getData()); - glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_FALSE); - } - - size_t prevmemsize = textureMemorySize; - textureMemorySize = paddedWidth * paddedHeight * 4 * 1.3333; - gl.updateTextureMemorySize(prevmemsize, textureMemorySize); -} - -void Image::checkMipmapsCreated() -{ - if (mipmapsCreated || filter.mipmap == FILTER_NONE || usingDefaultTexture) - return; - - if (isCompressed() && cdata.get() && hasCompressedTextureSupport(cdata->getFormat())) - uploadCompressedMipmaps(); - else if (data.get()) - createMipmaps(); - else - return; - - mipmapsCreated = true; + return cdata.get(); } void Image::setFilter(const Texture::Filter &f) { - const Filter oldfilter = filter; + if (!validateFilter(f, flags.mipmaps)) + { + if (f.mipmap != FILTER_NONE && !flags.mipmaps) + throw love::Exception("Non-mipmapped image cannot have mipmap filtering."); + else + throw love::Exception("Invalid texture filter."); + } + filter = f; // We don't want filtering or (attempted) mipmaps on the default texture. @@ -266,44 +415,44 @@ void Image::setFilter(const Texture::Filter &f) filter.min = filter.mag = FILTER_NEAREST; } - bind(); + gl.bindTexture(texture); gl.setTextureFilter(filter); - - try - { - checkMipmapsCreated(); - } - catch (love::Exception &) - { - // Don't keep the new mipmap filter if we can't create mipmaps. - filter = oldfilter; - gl.setTextureFilter(filter); - throw; - } } -void Image::setWrap(const Texture::Wrap &w) +bool Image::setWrap(const Texture::Wrap &w) { + bool success = true; wrap = w; - bind(); + if ((GLAD_ES_VERSION_2_0 && !(GLAD_ES_VERSION_3_0 || GLAD_OES_texture_npot)) + && (width != next_p2(width) || height != next_p2(height))) + { + if (wrap.s != WRAP_CLAMP || wrap.t != WRAP_CLAMP) + success = false; + + // If we only have limited NPOT support then the wrap mode must be CLAMP. + wrap.s = wrap.t = WRAP_CLAMP; + } + + gl.bindTexture(texture); gl.setTextureWrap(w); + + return success; } void Image::setMipmapSharpness(float sharpness) { - if (hasMipmapSharpnessSupport()) - { - // LOD bias has the range (-maxbias, maxbias) - mipmapSharpness = std::min(std::max(sharpness, -maxMipmapSharpness + 0.01f), maxMipmapSharpness - 0.01f); + // OpenGL ES doesn't support LOD bias via glTexParameter. + if (!GLAD_VERSION_1_4) + return; - bind(); + // LOD bias has the range (-maxbias, maxbias) + mipmapSharpness = std::min(std::max(sharpness, -maxMipmapSharpness + 0.01f), maxMipmapSharpness - 0.01f); - // negative bias is sharper - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_LOD_BIAS, -mipmapSharpness); - } - else - mipmapSharpness = 0.0f; + gl.bindTexture(texture); + + // negative bias is sharper + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_LOD_BIAS, -mipmapSharpness); } float Image::getMipmapSharpness() const @@ -311,274 +460,9 @@ float Image::getMipmapSharpness() const return mipmapSharpness; } -void Image::bind() const +const Image::Flags &Image::getFlags() const { - if (texture == 0) - return; - - gl.bindTexture(texture); -} - -void Image::preload() -{ - memset(vertices, 255, sizeof(Vertex)*4); - - vertices[0].x = 0; - vertices[0].y = 0; - vertices[1].x = 0; - vertices[1].y = (float) height; - vertices[2].x = (float) width; - vertices[2].y = (float) height; - vertices[3].x = (float) width; - vertices[3].y = 0; - - vertices[0].s = 0; - vertices[0].t = 0; - vertices[1].s = 0; - vertices[1].t = 1; - vertices[2].s = 1; - vertices[2].t = 1; - vertices[3].s = 1; - vertices[3].t = 0; - - filter.mipmap = defaultMipmapFilter; -} - -bool Image::load() -{ - return loadVolatile(); -} - -void Image::unload() -{ - return unloadVolatile(); -} - -bool Image::loadVolatile() -{ - if (format == FORMAT_SRGB && !hasSRGBSupport()) - throw love::Exception("sRGB images are not supported on this system."); - - if (isCompressed() && cdata.get() && !hasCompressedTextureSupport(cdata->getFormat())) - { - const char *str; - if (image::CompressedData::getConstant(cdata->getFormat(), str)) - { - throw love::Exception("Cannot create image: " - "%s compressed images are not supported on this system.", str); - } - else - throw love::Exception("cannot create image: format is not supported on this system."); - } - - if (hasMipmapSharpnessSupport() && maxMipmapSharpness == 0.0f) - glGetFloatv(GL_MAX_TEXTURE_LOD_BIAS, &maxMipmapSharpness); - - glGenTextures(1, &texture); - gl.bindTexture(texture); - - filter.anisotropy = gl.setTextureFilter(filter); - gl.setTextureWrap(wrap); - setMipmapSharpness(mipmapSharpness); - - paddedWidth = width; - paddedHeight = height; - - if (!hasNpot()) - { - // NPOT textures will be padded to POT dimensions if necessary. - paddedWidth = next_p2(width); - paddedHeight = next_p2(height); - } - - // Use a default texture if the size is too big for the system. - if (paddedWidth > gl.getMaxTextureSize() || paddedHeight > gl.getMaxTextureSize()) - { - uploadDefaultTexture(); - return true; - } - - // Mutex lock will potentially cover texture loading and mipmap creation. - love::thread::EmptyLock lock; - if (data.get()) - lock.setLock(data->getMutex()); - - while (glGetError() != GL_NO_ERROR); // Clear errors. - - if (hasNpot() || (width == paddedWidth && height == paddedHeight)) - uploadTexture(); - else - uploadTexturePadded(); - - GLenum glerr = glGetError(); - if (glerr != GL_NO_ERROR) - throw love::Exception("Cannot create image (error code 0x%x)", glerr); - - if (isCompressed()) - textureMemorySize = cdata->getSize(0); - else - textureMemorySize = paddedWidth * paddedHeight * 4; - - gl.updateTextureMemorySize(0, textureMemorySize); - - usingDefaultTexture = false; - mipmapsCreated = false; - checkMipmapsCreated(); - - return true; -} - -void Image::uploadTexturePadded() -{ - if (isCompressed() && cdata.get()) - { - // Padded textures don't really work if they're compressed... - throw love::Exception("Cannot create image: " - "compressed NPOT images are not supported on this system."); - } - else if (data.get()) - { - GLenum iformat = (format == FORMAT_SRGB) ? GL_SRGB8_ALPHA8 : GL_RGBA8; - glTexImage2D(GL_TEXTURE_2D, - 0, - iformat, - (GLsizei)paddedWidth, - (GLsizei)paddedHeight, - 0, - GL_RGBA, - GL_UNSIGNED_BYTE, - 0); - - glTexSubImage2D(GL_TEXTURE_2D, - 0, - 0, 0, - (GLsizei)width, - (GLsizei)height, - GL_RGBA, - GL_UNSIGNED_BYTE, - data->getData()); - } -} - -void Image::uploadTexture() -{ - if (isCompressed() && cdata.get()) - { - GLenum format = getCompressedFormat(cdata->getFormat()); - glCompressedTexImage2DARB(GL_TEXTURE_2D, - 0, - format, - cdata->getWidth(0), - cdata->getHeight(0), - 0, - GLsizei(cdata->getSize(0)), - cdata->getData(0)); - } - else if (data.get()) - { - GLenum iformat = (format == FORMAT_SRGB) ? GL_SRGB8_ALPHA8 : GL_RGBA8; - glTexImage2D(GL_TEXTURE_2D, - 0, - iformat, - (GLsizei)width, - (GLsizei)height, - 0, - GL_RGBA, - GL_UNSIGNED_BYTE, - data->getData()); - } -} - -void Image::unloadVolatile() -{ - // Delete the hardware texture. - if (texture != 0) - { - gl.deleteTexture(texture); - texture = 0; - - gl.updateTextureMemorySize(textureMemorySize, 0); - textureMemorySize = 0; - } -} - -bool Image::refresh() -{ - // No effect if the texture hasn't been created yet. - if (texture == 0) - return false; - - if (usingDefaultTexture) - { - uploadDefaultTexture(); - return true; - } - - // We want this lock to potentially cover mipmap creation as well. - love::thread::EmptyLock lock; - - bind(); - - if (data.get() && !isCompressed()) - lock.setLock(data->getMutex()); - - while (glGetError() != GL_NO_ERROR); // Clear errors. - - if (hasNpot() || (width == paddedWidth && height == paddedHeight)) - uploadTexture(); - else - uploadTexturePadded(); - - if (glGetError() != GL_NO_ERROR) - uploadDefaultTexture(); - else - usingDefaultTexture = false; - - mipmapsCreated = false; - checkMipmapsCreated(); - - return true; -} - -Image::Format Image::getFormat() const -{ - return format; -} - -void Image::uploadDefaultTexture() -{ - usingDefaultTexture = true; - - bind(); - setFilter(filter); - - // A nice friendly checkerboard to signify invalid textures... - GLubyte px[] = {0xFF,0xFF,0xFF,0xFF, 0xC0,0xC0,0xC0,0xFF, - 0xC0,0xC0,0xC0,0xFF, 0xFF,0xFF,0xFF,0xFF}; - - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, px); -} - -void Image::drawv(const Matrix &t, const Vertex *v) -{ - OpenGL::TempTransform transform(gl); - transform.get() *= t; - - predraw(); - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - - glVertexPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *)&v[0].x); - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *)&v[0].s); - - gl.prepareDraw(); - gl.drawArrays(GL_QUADS, 0, 4); - - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); - - postdraw(); + return flags; } void Image::setDefaultMipmapSharpness(float sharpness) @@ -608,22 +492,20 @@ bool Image::isCompressed() const GLenum Image::getCompressedFormat(image::CompressedData::Format cformat) const { - bool srgb = format == FORMAT_SRGB; - switch (cformat) { case image::CompressedData::FORMAT_DXT1: - if (srgb) + if (flags.sRGB) return GL_COMPRESSED_SRGB_S3TC_DXT1_EXT; else return GL_COMPRESSED_RGB_S3TC_DXT1_EXT; case image::CompressedData::FORMAT_DXT3: - if (srgb) + if (flags.sRGB) return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT; else return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; case image::CompressedData::FORMAT_DXT5: - if (srgb) + if (flags.sRGB) return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT; else return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; @@ -636,70 +518,114 @@ GLenum Image::getCompressedFormat(image::CompressedData::Format cformat) const case image::CompressedData::FORMAT_BC5s: return GL_COMPRESSED_SIGNED_RG_RGTC2; case image::CompressedData::FORMAT_BC6H: - return GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB; + return GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT; case image::CompressedData::FORMAT_BC6Hs: - return GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB; + return GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT; case image::CompressedData::FORMAT_BC7: - if (srgb) - return GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB; + if (flags.sRGB) + return GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM; else - return GL_COMPRESSED_RGBA_BPTC_UNORM_ARB; - case image::CompressedData::FORMAT_BC7SRGB: - return GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB; + return GL_COMPRESSED_RGBA_BPTC_UNORM; + case image::CompressedData::FORMAT_ETC1: + // The ETC2 format can load ETC1 textures. + if (GLAD_ES_VERSION_3_0 || GLAD_VERSION_4_3 || GLAD_ARB_ES3_compatibility) + return GL_COMPRESSED_RGB8_ETC2; + else + return GL_ETC1_RGB8_OES; + case image::CompressedData::FORMAT_ETC2_RGB: + if (flags.sRGB) + return GL_COMPRESSED_SRGB8_ETC2; + else + return GL_COMPRESSED_RGB8_ETC2; + case image::CompressedData::FORMAT_ETC2_RGBA: + if (flags.sRGB) + return GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC; + else + return GL_COMPRESSED_RGBA8_ETC2_EAC; + case image::CompressedData::FORMAT_ETC2_RGBA1: + if (flags.sRGB) + return GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2; + else + return GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2; + case image::CompressedData::FORMAT_EAC_R: + return GL_COMPRESSED_R11_EAC; + case image::CompressedData::FORMAT_EAC_Rs: + return GL_COMPRESSED_SIGNED_R11_EAC; + case image::CompressedData::FORMAT_EAC_RG: + return GL_COMPRESSED_RG11_EAC; + case image::CompressedData::FORMAT_EAC_RGs: + return GL_COMPRESSED_SIGNED_RG11_EAC; + case image::CompressedData::FORMAT_PVR1_RGB2: + if (flags.sRGB) + return GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT; + else + return GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + case image::CompressedData::FORMAT_PVR1_RGB4: + if (flags.sRGB) + return GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT; + else + return GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + case image::CompressedData::FORMAT_PVR1_RGBA2: + if (flags.sRGB) + return GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT; + else + return GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + case image::CompressedData::FORMAT_PVR1_RGBA4: + if (flags.sRGB) + return GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT; + else + return GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; default: - if (srgb) + if (flags.sRGB) return GL_SRGB8_ALPHA8; else return GL_RGBA8; } } -bool Image::hasNpot() -{ - return GLEE_VERSION_2_0 || GLEE_ARB_texture_non_power_of_two; -} - bool Image::hasAnisotropicFilteringSupport() { - return GLEE_EXT_texture_filter_anisotropic; + return GLAD_EXT_texture_filter_anisotropic; } -bool Image::hasMipmapSupport() +bool Image::hasCompressedTextureSupport(image::CompressedData::Format format, bool sRGB) { - return GLEE_VERSION_1_4 || GLEE_SGIS_generate_mipmap; -} - -bool Image::hasMipmapSharpnessSupport() -{ - return GLEE_VERSION_1_4; -} - -bool Image::hasCompressedTextureSupport() -{ - return GLEE_VERSION_1_3 || GLEE_ARB_texture_compression; -} - -bool Image::hasCompressedTextureSupport(image::CompressedData::Format format) -{ - if (!hasCompressedTextureSupport()) - return false; - switch (format) { case image::CompressedData::FORMAT_DXT1: + return GLAD_EXT_texture_compression_s3tc || GLAD_EXT_texture_compression_dxt1; case image::CompressedData::FORMAT_DXT3: + return GLAD_EXT_texture_compression_s3tc || GLAD_ANGLE_texture_compression_dxt3; case image::CompressedData::FORMAT_DXT5: - return GLEE_EXT_texture_compression_s3tc; + return GLAD_EXT_texture_compression_s3tc || GLAD_ANGLE_texture_compression_dxt5; case image::CompressedData::FORMAT_BC4: case image::CompressedData::FORMAT_BC4s: case image::CompressedData::FORMAT_BC5: case image::CompressedData::FORMAT_BC5s: - return (GLEE_VERSION_3_0 || GLEE_ARB_texture_compression_rgtc || GLEE_EXT_texture_compression_rgtc); + return (GLAD_VERSION_3_0 || GLAD_ARB_texture_compression_rgtc || GLAD_EXT_texture_compression_rgtc); case image::CompressedData::FORMAT_BC6H: case image::CompressedData::FORMAT_BC6Hs: case image::CompressedData::FORMAT_BC7: - case image::CompressedData::FORMAT_BC7SRGB: - return GLEE_VERSION_4_2 || GLEE_ARB_texture_compression_bptc; + return GLAD_VERSION_4_2 || GLAD_ARB_texture_compression_bptc; + case image::CompressedData::FORMAT_ETC1: + // ETC2 support guarantees ETC1 support as well. + return GLAD_ES_VERSION_3_0 || GLAD_VERSION_4_3 || GLAD_ARB_ES3_compatibility || GLAD_OES_compressed_ETC1_RGB8_texture; + case image::CompressedData::FORMAT_ETC2_RGB: + case image::CompressedData::FORMAT_ETC2_RGBA: + case image::CompressedData::FORMAT_ETC2_RGBA1: + case image::CompressedData::FORMAT_EAC_R: + case image::CompressedData::FORMAT_EAC_Rs: + case image::CompressedData::FORMAT_EAC_RG: + case image::CompressedData::FORMAT_EAC_RGs: + return GLAD_ES_VERSION_3_0 || GLAD_VERSION_4_3 || GLAD_ARB_ES3_compatibility; + case image::CompressedData::FORMAT_PVR1_RGB2: + case image::CompressedData::FORMAT_PVR1_RGB4: + case image::CompressedData::FORMAT_PVR1_RGBA2: + case image::CompressedData::FORMAT_PVR1_RGBA4: + if (sRGB) + return GLAD_EXT_pvrtc_sRGB; + else + return GLAD_IMG_texture_compression_pvrtc; default: return false; } @@ -707,26 +633,26 @@ bool Image::hasCompressedTextureSupport(image::CompressedData::Format format) bool Image::hasSRGBSupport() { - return GLEE_VERSION_2_1 || GLEE_EXT_texture_sRGB; + return GLAD_ES_VERSION_3_0 || GLAD_EXT_sRGB || GLAD_VERSION_2_1 || GLAD_EXT_texture_sRGB; } -bool Image::getConstant(const char *in, Format &out) +bool Image::getConstant(const char *in, FlagType &out) { - return formats.find(in, out); + return flagNames.find(in, out); } -bool Image::getConstant(Format in, const char *&out) +bool Image::getConstant(FlagType in, const char *&out) { - return formats.find(in, out); + return flagNames.find(in, out); } -StringMap::Entry Image::formatEntries[] = +StringMap::Entry Image::flagNameEntries[] = { - {"normal", Image::FORMAT_NORMAL}, - {"srgb", Image::FORMAT_SRGB}, + {"mipmaps", Image::FLAG_TYPE_MIPMAPS}, + {"srgb", Image::FLAG_TYPE_SRGB}, }; -StringMap Image::formats(Image::formatEntries, sizeof(Image::formatEntries)); +StringMap Image::flagNames(Image::flagNameEntries, sizeof(Image::flagNameEntries)); } // opengl } // graphics diff --git a/src/modules/graphics/opengl/Image.h b/src/modules/graphics/opengl/Image.h index 0e96032ed..74b0fc891 100644 --- a/src/modules/graphics/opengl/Image.h +++ b/src/modules/graphics/opengl/Image.h @@ -29,7 +29,8 @@ #include "common/math.h" #include "image/ImageData.h" #include "image/CompressedData.h" -#include "Texture.h" +#include "graphics/Texture.h" +#include "graphics/Volatile.h" // OpenGL #include "OpenGL.h" @@ -47,15 +48,21 @@ namespace opengl * * @author Anders Ruud **/ -class Image : public Texture +class Image : public Texture, public Volatile { public: - enum Format + enum FlagType { - FORMAT_NORMAL, - FORMAT_SRGB, - FORMAT_MAX_ENUM + FLAG_TYPE_MIPMAPS, + FLAG_TYPE_SRGB, + FLAG_TYPE_MAX_ENUM + }; + + struct Flags + { + bool mipmaps = false; + bool sRGB = false;; }; /** @@ -64,22 +71,22 @@ public: * * @param data The data from which to load the image. **/ - Image(love::image::ImageData *data, Format format = FORMAT_NORMAL); + Image(love::image::ImageData *data, const Flags &flags); /** * Creates a new Image with compressed image data. * * @param cdata The compressed data from which to load the image. **/ - Image(love::image::CompressedData *cdata, Format format = FORMAT_NORMAL); + Image(love::image::CompressedData *cdata, const Flags &flags); - /** - * Destructor. Deletes the hardware texture and other resources. - **/ virtual ~Image(); - love::image::ImageData *getImageData() const; - love::image::CompressedData *getCompressedData() const; + bool load(); + + // Implements Volatile. + bool loadVolatile(); + void unloadVolatile(); /** * @copydoc Drawable::draw() @@ -91,18 +98,13 @@ public: **/ void drawq(Quad *quad, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky); - /** - * Call before using this Image's texture to draw. Binds the texture, - * globally scales texture coordinates if the Image has NPOT dimensions and - * NPOT isn't supported, etc. - **/ - virtual void predraw(); - virtual void postdraw(); + virtual const void *getHandle() const; - virtual GLuint getGLTexture() const; + love::image::ImageData *getImageData() const; + love::image::CompressedData *getCompressedData() const; virtual void setFilter(const Texture::Filter &f); - virtual void setWrap(const Texture::Wrap &w); + virtual bool setWrap(const Texture::Wrap &w); void setMipmapSharpness(float sharpness); float getMipmapSharpness() const; @@ -112,50 +114,41 @@ public: **/ bool isCompressed() const; - void bind() const; - - bool load(); - void unload(); - - // Implements Volatile. - bool loadVolatile(); - void unloadVolatile(); - /** * Re-uploads the ImageData or CompressedData associated with this Image to - * the GPU, allowing situations where lovers modify an ImageData after image - * creation from the ImageData, and apply the changes with Image:refresh(). + * the GPU. **/ - bool refresh(); + bool refresh(int xoffset, int yoffset, int w, int h); - Format getFormat() const; + const Flags &getFlags() const; static void setDefaultMipmapSharpness(float sharpness); static float getDefaultMipmapSharpness(); static void setDefaultMipmapFilter(FilterMode f); static FilterMode getDefaultMipmapFilter(); - static bool hasNpot(); static bool hasAnisotropicFilteringSupport(); - static bool hasMipmapSupport(); - static bool hasMipmapSharpnessSupport(); - - static bool hasCompressedTextureSupport(); - static bool hasCompressedTextureSupport(image::CompressedData::Format format); - + static bool hasCompressedTextureSupport(image::CompressedData::Format format, bool sRGB); static bool hasSRGBSupport(); - static bool getConstant(const char *in, Format &out); - static bool getConstant(Format in, const char *&out); + static bool getConstant(const char *in, FlagType &out); + static bool getConstant(FlagType in, const char *&out); static int imageCount; private: - void uploadDefaultTexture(); - void drawv(const Matrix &t, const Vertex *v); + void preload(); + + void generateMipmaps(); + void loadDefaultTexture(); + void loadTextureFromCompressedData(); + void loadTextureFromImageData(); + + GLenum getCompressedFormat(image::CompressedData::Format cformat) const; + // The ImageData from which the texture is created. May be null if // Compressed image data was used to create the texture. StrongRef data; @@ -164,23 +157,17 @@ private: // null if raw ImageData was used to create the texture. StrongRef cdata; - // Real dimensions of the texture, if it was auto-padded to POT size. - int paddedWidth, paddedHeight; - // OpenGL texture identifier. GLuint texture; // Mipmap texture LOD bias (sharpness) value. float mipmapSharpness; - // True if mipmaps have been created for this Image. - bool mipmapsCreated; - // Whether this Image is using a compressed texture. bool compressed; - // The format to interpret the image's data as. - Format format; + // The flags used to initialize this Image. + Flags flags; // True if the image wasn't able to be properly created and it had to fall // back to a default texture. @@ -188,24 +175,13 @@ private: size_t textureMemorySize; - void preload(); - - void uploadTexturePadded(); - void uploadTexture(); - - void uploadCompressedMipmaps(); - void createMipmaps(); - void checkMipmapsCreated(); - static float maxMipmapSharpness; static FilterMode defaultMipmapFilter; static float defaultMipmapSharpness; - GLenum getCompressedFormat(image::CompressedData::Format cformat) const; - - static StringMap::Entry formatEntries[]; - static StringMap formats; + static StringMap::Entry flagNameEntries[]; + static StringMap flagNames; }; // Image diff --git a/src/modules/graphics/opengl/Mesh.cpp b/src/modules/graphics/opengl/Mesh.cpp index 0c61240b7..02ddc107d 100644 --- a/src/modules/graphics/opengl/Mesh.cpp +++ b/src/modules/graphics/opengl/Mesh.cpp @@ -97,10 +97,7 @@ void Mesh::setVertices(const std::vector &verts) } if (!vbo) - { - // Full memory backing because we might access the data at any time. - vbo = VertexBuffer::Create(size, GL_ARRAY_BUFFER, GL_DYNAMIC_DRAW, VertexBuffer::BACKING_FULL); - } + vbo = VertexBuffer::Create(size, GL_ARRAY_BUFFER, GL_DYNAMIC_DRAW); vertex_count = verts.size(); @@ -183,10 +180,7 @@ void Mesh::setVertexMap(const std::vector &map) } if (!ibo && size > 0) - { - // Full memory backing because we might access the data at any time. - ibo = VertexBuffer::Create(size, GL_ELEMENT_ARRAY_BUFFER, GL_DYNAMIC_DRAW, VertexBuffer::BACKING_FULL); - } + ibo = VertexBuffer::Create(size, GL_ELEMENT_ARRAY_BUFFER, GL_DYNAMIC_DRAW); element_count = map.size(); @@ -324,9 +318,9 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo return; if (texture.get()) - texture->predraw(); + gl.bindTexture(*(GLuint *) texture->getHandle()); else - gl.bindTexture(0); + gl.bindTexture(gl.getDefaultTexture()); Matrix m; m.setTransformation(x, y, angle, sx, sy, ox, oy, kx, ky); @@ -339,17 +333,17 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo // Make sure the VBO isn't mapped when we draw (sends data to GPU if needed.) vbo->unmap(); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); - glVertexPointer(2, GL_FLOAT, sizeof(Vertex), vbo->getPointer(pos_offset)); - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), vbo->getPointer(tex_offset)); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), vbo->getPointer(pos_offset)); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), vbo->getPointer(tex_offset)); if (hasVertexColors()) { // Per-vertex colors. - glEnableClientState(GL_COLOR_ARRAY); - glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(Vertex), vbo->getPointer(color_offset)); + glEnableVertexAttribArray(ATTRIB_COLOR); + glVertexAttribPointer(ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(Vertex), vbo->getPointer(color_offset)); } GLenum mode = getGLDrawMode(draw_mode); @@ -364,7 +358,7 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo // Make sure the index buffer isn't mapped (sends data to GPU if needed.) ibo->unmap(); - int max = element_count - 1; + int max = (int) element_count - 1; if (range_max >= 0) max = std::min(range_max, max); @@ -379,7 +373,7 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo } else { - int max = vertex_count - 1; + int max = (int) vertex_count - 1; if (range_max >= 0) max = std::min(range_max, max); @@ -391,18 +385,15 @@ void Mesh::draw(float x, float y, float angle, float sx, float sy, float ox, flo gl.drawArrays(mode, min, max - min + 1); } - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); if (hasVertexColors()) { - glDisableClientState(GL_COLOR_ARRAY); + glDisableVertexAttribArray(ATTRIB_COLOR); // Using the color array leaves the GL constant color undefined. gl.setColor(gl.getColor()); } - - if (texture.get()) - texture->postdraw(); } GLenum Mesh::getGLDrawMode(DrawMode mode) const diff --git a/src/modules/graphics/opengl/Mesh.h b/src/modules/graphics/opengl/Mesh.h index 7791f6c11..1c599b1d8 100644 --- a/src/modules/graphics/opengl/Mesh.h +++ b/src/modules/graphics/opengl/Mesh.h @@ -27,7 +27,7 @@ #include "common/math.h" #include "common/StringMap.h" #include "graphics/Drawable.h" -#include "Texture.h" +#include "graphics/Texture.h" #include "VertexBuffer.h" // C++ diff --git a/src/modules/graphics/opengl/OpenGL.cpp b/src/modules/graphics/opengl/OpenGL.cpp index cc38b6c49..f0e3acd84 100644 --- a/src/modules/graphics/opengl/OpenGL.cpp +++ b/src/modules/graphics/opengl/OpenGL.cpp @@ -33,6 +33,13 @@ // C #include +// For SDL_GL_GetProcAddress. +#include + +#ifdef LOVE_IOS +#include +#endif + namespace love { namespace graphics @@ -45,7 +52,9 @@ OpenGL::OpenGL() , contextInitialized(false) , maxAnisotropy(1.0f) , maxTextureSize(0) - , maxRenderTargets(0) + , maxRenderTargets(1) + , maxRenderbufferSamples(0) + , maxTextureUnits(1) , vendor(VENDOR_UNKNOWN) , state() { @@ -53,29 +62,33 @@ OpenGL::OpenGL() matrices.projection.reserve(2); } -void OpenGL::initContext() +bool OpenGL::initContext() { if (contextInitialized) - return; + return true; + + if (!gladLoadGLLoader(SDL_GL_GetProcAddress)) + return false; initOpenGLFunctions(); initVendor(); initMatrices(); - // Store the current color so we don't have to get it through GL later. - GLfloat glcolor[4]; - glGetFloatv(GL_CURRENT_COLOR, glcolor); - state.color.r = glcolor[0] * 255; - state.color.g = glcolor[1] * 255; - state.color.b = glcolor[2] * 255; - state.color.a = glcolor[3] * 255; + contextInitialized = true; - // Same with the current clear color. - glGetFloatv(GL_COLOR_CLEAR_VALUE, glcolor); - state.clearColor.r = glcolor[0] * 255; - state.clearColor.g = glcolor[1] * 255; - state.clearColor.b = glcolor[2] * 255; - state.clearColor.a = glcolor[3] * 255; + return true; +} + +void OpenGL::setupContext() +{ + if (!contextInitialized) + return; + + initMaxValues(); + + state.color = Color(255, 255, 255, 255); + GLfloat glcolor[4] = {1.0f, 1.0f, 1.0f, 1.0f}; + glVertexAttrib4fv(ATTRIB_COLOR, glcolor); // Get the current viewport. glGetIntegerv(GL_VIEWPORT, (GLint *) &state.viewport.x); @@ -85,41 +98,32 @@ void OpenGL::initContext() glGetIntegerv(GL_SCISSOR_BOX, (GLint *) &state.scissor.x); state.scissor.y = state.viewport.h - (state.scissor.y + state.scissor.h); - // Initialize multiple texture unit support for shaders, if available. - state.textureUnits.clear(); - if (Shader::isSupported()) - { - GLint maxtextureunits; - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxtextureunits); - - state.textureUnits.resize(maxtextureunits, 0); - - GLenum curgltextureunit; - glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint *) &curgltextureunit); - - state.curTextureUnit = (int) curgltextureunit - GL_TEXTURE0; - - // Retrieve currently bound textures for each texture unit. - for (size_t i = 0; i < state.textureUnits.size(); i++) - { - glActiveTexture(GL_TEXTURE0 + i); - glGetIntegerv(GL_TEXTURE_BINDING_2D, (GLint *) &state.textureUnits[i]); - } - - glActiveTexture(curgltextureunit); - } + if (GLAD_VERSION_1_0) + glGetFloatv(GL_POINT_SIZE, &state.pointSize); else + state.pointSize = 1.0f; + + // Initialize multiple texture unit support for shaders. + state.boundTextures.clear(); + state.boundTextures.resize(maxTextureUnits, 0); + + GLenum curgltextureunit; + glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint *) &curgltextureunit); + + state.curTextureUnit = (int) curgltextureunit - GL_TEXTURE0; + + // Retrieve currently bound textures for each texture unit. + for (int i = 0; i < (int) state.boundTextures.size(); i++) { - // Multitexturing not supported, so we only have 1 texture unit. - state.textureUnits.resize(1, 0); - state.curTextureUnit = 0; - glGetIntegerv(GL_TEXTURE_BINDING_2D, (GLint *) &state.textureUnits[0]); + glActiveTexture(GL_TEXTURE0 + i); + glGetIntegerv(GL_TEXTURE_BINDING_2D, (GLint *) &state.boundTextures[i]); } + glActiveTexture(curgltextureunit); + BlendState blend = {GL_ONE, GL_ONE, GL_ZERO, GL_ZERO, GL_FUNC_ADD}; setBlendState(blend); - initMaxValues(); createDefaultTexture(); // Invalidate the cached matrices by setting some elements to NaN. @@ -127,7 +131,8 @@ void OpenGL::initContext() state.lastProjectionMatrix.setTranslation(nan, nan); state.lastTransformMatrix.setTranslation(nan, nan); - glMatrixMode(GL_MODELVIEW); + if (GLAD_VERSION_1_0) + glMatrixMode(GL_MODELVIEW); contextInitialized = true; } @@ -137,6 +142,9 @@ void OpenGL::deInitContext() if (!contextInitialized) return; + glDeleteTextures(1, &state.defaultTexture); + state.defaultTexture = 0; + contextInitialized = false; } @@ -150,6 +158,7 @@ void OpenGL::initVendor() } // http://feedback.wildfiregames.com/report/opengl/feature/GL_VENDOR + // http://stackoverflow.com/questions/2093594/opengl-extensions-available-on-different-android-devices if (strstr(vstr, "ATI Technologies")) vendor = VENDOR_ATI_AMD; else if (strstr(vstr, "NVIDIA")) @@ -158,65 +167,96 @@ void OpenGL::initVendor() vendor = VENDOR_INTEL; else if (strstr(vstr, "Mesa")) vendor = VENDOR_MESA_SOFT; - else if (strstr(vstr, "Apple Computer")) + else if (strstr(vstr, "Apple Computer") || strstr(vstr, "Apple Inc.")) vendor = VENDOR_APPLE; else if (strstr(vstr, "Microsoft")) vendor = VENDOR_MICROSOFT; + else if (strstr(vstr, "Imagination")) + vendor = VENDOR_IMGTEC; + else if (strstr(vstr, "ARM")) + vendor = VENDOR_ARM; + else if (strstr(vstr, "Qualcomm")) + vendor = VENDOR_QUALCOMM; + else if (strstr(vstr, "Broadcom")) + vendor = VENDOR_BROADCOM; + else if (strstr(vstr, "Vivante")) + vendor = VENDOR_VIVANTE; else vendor = VENDOR_UNKNOWN; } void OpenGL::initOpenGLFunctions() { - // The functionality of the core and ARB VBOs are identical, so we can - // assign the pointers of the core functions to the names of the ARB - // functions, if the latter isn't supported but the former is. - if (GLEE_VERSION_1_5 && !GLEE_ARB_vertex_buffer_object) + // Alias extension-suffixed framebuffer functions to core versions since + // there are so many different-named extensions that do the same things... + if (!(GLAD_ES_VERSION_3_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object)) { - glBindBufferARB = (GLEEPFNGLBINDBUFFERARBPROC) glBindBuffer; - glBufferDataARB = (GLEEPFNGLBUFFERDATAARBPROC) glBufferData; - glBufferSubDataARB = (GLEEPFNGLBUFFERSUBDATAARBPROC) glBufferSubData; - glDeleteBuffersARB = (GLEEPFNGLDELETEBUFFERSARBPROC) glDeleteBuffers; - glGenBuffersARB = (GLEEPFNGLGENBUFFERSARBPROC) glGenBuffers; - glGetBufferParameterivARB = (GLEEPFNGLGETBUFFERPARAMETERIVARBPROC) glGetBufferParameteriv; - glGetBufferPointervARB = (GLEEPFNGLGETBUFFERPOINTERVARBPROC) glGetBufferPointerv; - glGetBufferSubDataARB = (GLEEPFNGLGETBUFFERSUBDATAARBPROC) glGetBufferSubData; - glIsBufferARB = (GLEEPFNGLISBUFFERARBPROC) glIsBuffer; - glMapBufferARB = (GLEEPFNGLMAPBUFFERARBPROC) glMapBuffer; - glUnmapBufferARB = (GLEEPFNGLUNMAPBUFFERARBPROC) glUnmapBuffer; - } + if (GLAD_VERSION_1_0 && GLAD_EXT_framebuffer_object) + { + fp_glBindRenderbuffer = fp_glBindRenderbufferEXT; + fp_glDeleteRenderbuffers = fp_glDeleteRenderbuffersEXT; + fp_glGenRenderbuffers = fp_glGenRenderbuffersEXT; + fp_glRenderbufferStorage = fp_glRenderbufferStorageEXT; + fp_glGetRenderbufferParameteriv = fp_glGetRenderbufferParameterivEXT; + fp_glBindFramebuffer = fp_glBindFramebufferEXT; + fp_glDeleteFramebuffers = fp_glDeleteFramebuffersEXT; + fp_glGenFramebuffers = fp_glGenFramebuffersEXT; + fp_glCheckFramebufferStatus = fp_glCheckFramebufferStatusEXT; + fp_glFramebufferTexture2D = fp_glFramebufferTexture2DEXT; + fp_glFramebufferRenderbuffer = fp_glFramebufferRenderbufferEXT; + fp_glGetFramebufferAttachmentParameteriv = fp_glGetFramebufferAttachmentParameterivEXT; + fp_glGenerateMipmap = fp_glGenerateMipmapEXT; + } - // Same deal for compressed textures. - if (GLEE_VERSION_1_3 && !GLEE_ARB_texture_compression) - { - glCompressedTexImage2DARB = (GLEEPFNGLCOMPRESSEDTEXIMAGE2DARBPROC) glCompressedTexImage2D; - glCompressedTexSubImage2DARB = (GLEEPFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) glCompressedTexSubImage2D; - glGetCompressedTexImageARB = (GLEEPFNGLGETCOMPRESSEDTEXIMAGEARBPROC) glGetCompressedTexImage; + if (GLAD_EXT_framebuffer_blit) + fp_glBlitFramebuffer = fp_glBlitFramebufferEXT; + else if (GLAD_ANGLE_framebuffer_blit) + fp_glBlitFramebuffer = fp_glBlitFramebufferANGLE; + else if (GLAD_NV_framebuffer_blit) + fp_glBlitFramebuffer = fp_glBlitFramebufferNV; + + if (GLAD_EXT_framebuffer_multisample) + fp_glRenderbufferStorageMultisample = fp_glRenderbufferStorageMultisampleEXT; + else if (GLAD_APPLE_framebuffer_multisample) + fp_glRenderbufferStorageMultisample = fp_glRenderbufferStorageMultisampleAPPLE; + else if (GLAD_ANGLE_framebuffer_multisample) + fp_glRenderbufferStorageMultisample = fp_glRenderbufferStorageMultisampleANGLE; + else if (GLAD_NV_framebuffer_multisample) + fp_glRenderbufferStorageMultisample = fp_glRenderbufferStorageMultisampleNV; } } void OpenGL::initMaxValues() { // We'll need this value to clamp anisotropy. - if (GLEE_EXT_texture_filter_anisotropic) + if (GLAD_EXT_texture_filter_anisotropic) glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy); else maxAnisotropy = 1.0f; glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize); - if (Canvas::isSupported() && (GLEE_VERSION_2_0 || GLEE_ARB_draw_buffers)) + int maxattachments = 1; + int maxdrawbuffers = 1; + + if (GLAD_ES_VERSION_3_0 || GLAD_VERSION_2_0) { - int maxattachments = 0; glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &maxattachments); - - int maxdrawbuffers = 0; glGetIntegerv(GL_MAX_DRAW_BUFFERS, &maxdrawbuffers); + } - maxRenderTargets = std::min(maxattachments, maxdrawbuffers); + maxRenderTargets = std::min(maxattachments, maxdrawbuffers); + + if (GLAD_ES_VERSION_3_0 || GLAD_VERSION_3_0 || GLAD_ARB_framebuffer_object + || GLAD_EXT_framebuffer_multisample || GLAD_APPLE_framebuffer_multisample + || GLAD_ANGLE_framebuffer_multisample) + { + glGetIntegerv(GL_MAX_SAMPLES, &maxRenderbufferSamples); } else - maxRenderTargets = 0; + maxRenderbufferSamples = 0; + + glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxTextureUnits); } void OpenGL::initMatrices() @@ -235,8 +275,10 @@ void OpenGL::createDefaultTexture() // primitives, which would create the need to use different "passthrough" // shaders for untextured primitives vs images. - GLuint curtexture = state.textureUnits[state.curTextureUnit]; - bindTexture(0); + GLuint curtexture = state.boundTextures[state.curTextureUnit]; + + glGenTextures(1, &state.defaultTexture); + bindTexture(state.defaultTexture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); @@ -245,7 +287,7 @@ void OpenGL::createDefaultTexture() glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); GLubyte pix = 255; - glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE8, 1, 1, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, &pix); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, 1, 1, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, &pix); bindTexture(curtexture); } @@ -273,40 +315,43 @@ void OpenGL::prepareDraw() // Make sure the active shader has the correct values for its // love-provided uniforms. shader->checkSetScreenParams(); + } - // We need to make sure antialiased Canvases are properly resolved - // before sampling from their textures in a shader. - // This is kind of a big hack. :( - for (auto &r : shader->getBoundRetainables()) + const Matrix &curproj = matrices.projection.back(); + const Matrix &curxform = matrices.transform.back(); + + if (GLAD_ES_VERSION_2_0 && shader) + { + // Send built-in uniforms to the current shader. + shader->sendBuiltinMatrix(Shader::BUILTIN_TRANSFORM_MATRIX, 4, curxform.getElements(), 1); + shader->sendBuiltinMatrix(Shader::BUILTIN_PROJECTION_MATRIX, 4, curproj.getElements(), 1); + + Matrix tp_matrix(curproj * curxform); + shader->sendBuiltinMatrix(Shader::BUILTIN_TRANSFORM_PROJECTION_MATRIX, 4, tp_matrix.getElements(), 1); + + shader->sendBuiltinFloat(Shader::BUILTIN_POINT_SIZE, 1, &state.pointSize, 1); + } + else if (GLAD_VERSION_1_0) + { + const Matrix &lastproj = state.lastProjectionMatrix; + const Matrix &lastxform = state.lastTransformMatrix; + + // We only need to re-upload the projection matrix if it's changed. + if (memcmp(curproj.getElements(), lastproj.getElements(), sizeof(float) * 16) != 0) { - // Even bigger hack! D: - Canvas *canvas = dynamic_cast(r.second); - if (canvas != nullptr) - canvas->resolveMSAA(); + glMatrixMode(GL_PROJECTION); + glLoadMatrixf(curproj.getElements()); + glMatrixMode(GL_MODELVIEW); + + state.lastProjectionMatrix = matrices.projection.back(); } - } - const float *curproj = matrices.projection.back().getElements(); - const float *lastproj = state.lastProjectionMatrix.getElements(); - - // We only need to re-upload the projection matrix if it's changed. - if (memcmp(curproj, lastproj, sizeof(float) * 16) != 0) - { - glMatrixMode(GL_PROJECTION); - glLoadMatrixf(curproj); - glMatrixMode(GL_MODELVIEW); - - state.lastProjectionMatrix = matrices.projection.back(); - } - - const float *curxform = matrices.transform.back().getElements(); - const float *lastxform = state.lastTransformMatrix.getElements(); - - // Same with the transform matrix. - if (memcmp(curxform, lastxform, sizeof(float) * 16) != 0) - { - glLoadMatrixf(curxform); - state.lastTransformMatrix = matrices.transform.back(); + // Same with the transform matrix. + if (memcmp(curxform.getElements(), lastxform.getElements(), sizeof(float) * 16) != 0) + { + glLoadMatrixf(curxform.getElements()); + state.lastTransformMatrix = matrices.transform.back(); + } } } @@ -324,7 +369,9 @@ void OpenGL::drawElements(GLenum mode, GLsizei count, GLenum type, const void *i void OpenGL::setColor(const Color &c) { - glColor4ubv(&c.r); + GLfloat glc[] = {c.r / 255.0f, c.g / 255.0f, c.b / 255.0f, c.a / 255.0f}; + glVertexAttrib4fv(ATTRIB_COLOR, glc); + state.color = c; } @@ -333,17 +380,6 @@ Color OpenGL::getColor() const return state.color; } -void OpenGL::setClearColor(const Color &c) -{ - glClearColor(c.r / 255.0f, c.g / 255.0f, c.b / 255.0f, c.a / 255.0f); - state.clearColor = c; -} - -Color OpenGL::getClearColor() const -{ - return state.clearColor; -} - void OpenGL::setViewport(const OpenGL::Viewport &v) { glViewport(v.x, v.y, v.w, v.h); @@ -381,28 +417,8 @@ OpenGL::Viewport OpenGL::getScissor() const void OpenGL::setBlendState(const BlendState &blend) { - if (GLEE_VERSION_1_4 || GLEE_ARB_imaging) - glBlendEquation(blend.func); - else if (GLEE_EXT_blend_minmax && GLEE_EXT_blend_subtract) - glBlendEquationEXT(blend.func); - else - { - if (blend.func == GL_FUNC_REVERSE_SUBTRACT) - throw love::Exception("This graphics card does not support the subtractive blend mode!"); - // GL_FUNC_ADD is the default even without access to glBlendEquation, so that'll still work. - } - - if (blend.srcRGB == blend.srcA && blend.dstRGB == blend.dstA) - glBlendFunc(blend.srcRGB, blend.dstRGB); - else - { - if (GLEE_VERSION_1_4) - glBlendFuncSeparate(blend.srcRGB, blend.dstRGB, blend.srcA, blend.dstA); - else if (GLEE_EXT_blend_func_separate) - glBlendFuncSeparateEXT(blend.srcRGB, blend.dstRGB, blend.srcA, blend.dstA); - else - throw love::Exception("This graphics card does not support separated rgb and alpha blend functions!"); - } + glBlendEquation(blend.func); + glBlendFuncSeparate(blend.srcRGB, blend.dstRGB, blend.srcA, blend.dstA); state.blend = blend; } @@ -412,46 +428,85 @@ OpenGL::BlendState OpenGL::getBlendState() const return state.blend; } +void OpenGL::setPointSize(float size) +{ + if (GLAD_VERSION_1_0) + glPointSize(size); + + state.pointSize = size; +} + +float OpenGL::getPointSize() const +{ + return state.pointSize; +} + +void OpenGL::bindFramebuffer(GLenum target, GLuint framebuffer) +{ + glBindFramebuffer(target, framebuffer); + + if (target == GL_FRAMEBUFFER) + ++stats.framebufferBinds; +} + +GLuint OpenGL::getDefaultFBO() const +{ +#ifdef LOVE_IOS + // Hack: iOS uses a custom FBO. + return SDL_iPhoneGetViewFramebuffer(SDL_GL_GetCurrentWindow()); +#else + return 0; +#endif +} + +GLuint OpenGL::getDefaultTexture() const +{ + return state.defaultTexture; +} + void OpenGL::setTextureUnit(int textureunit) { - if (textureunit < 0 || (size_t) textureunit >= state.textureUnits.size()) + if (textureunit < 0 || (size_t) textureunit >= state.boundTextures.size()) throw love::Exception("Invalid texture unit index (%d).", textureunit); if (textureunit != state.curTextureUnit) - { - if (state.textureUnits.size() > 1) - glActiveTexture(GL_TEXTURE0 + textureunit); - else - throw love::Exception("Multitexturing is not supported."); - } + glActiveTexture(GL_TEXTURE0 + textureunit); state.curTextureUnit = textureunit; } void OpenGL::bindTexture(GLuint texture) { - if (texture != state.textureUnits[state.curTextureUnit]) + if (texture != state.boundTextures[state.curTextureUnit]) { - state.textureUnits[state.curTextureUnit] = texture; + state.boundTextures[state.curTextureUnit] = texture; glBindTexture(GL_TEXTURE_2D, texture); } } -void OpenGL::bindTextureToUnit(GLuint texture, int textureunit, bool restoreprev) +void OpenGL::bindTextures(GLuint first, GLsizei count, const GLuint *textures) { - if (textureunit < 0 || (size_t) textureunit >= state.textureUnits.size()) - throw love::Exception("Invalid texture unit index."); + if (first + count > (GLuint) maxTextureUnits) + return; - if (texture != state.textureUnits[textureunit]) + if (GLAD_VERSION_4_4 || GLAD_ARB_multi_bind) + glBindTextures(first, count, textures); + else { - int oldtextureunit = state.curTextureUnit; - setTextureUnit(textureunit); + for (GLint i = 0; i < count; i++) + { + GLuint texture = textures != nullptr ? textures[i] : 0; - state.textureUnits[textureunit] = texture; - glBindTexture(GL_TEXTURE_2D, texture); + if (state.boundTextures[first + i] != texture) + { + glActiveTexture(GL_TEXTURE0 + first + i); + glBindTexture(GL_TEXTURE_2D, texture); - if (restoreprev) - setTextureUnit(oldtextureunit); + state.boundTextures[first + i] = texture; + } + } + + glActiveTexture(GL_TEXTURE0 + state.curTextureUnit); } } @@ -459,7 +514,7 @@ void OpenGL::deleteTexture(GLuint texture) { // glDeleteTextures binds texture 0 to all texture units the deleted texture // was bound to before deletion. - for (GLuint &texid : state.textureUnits) + for (GLuint &texid : state.boundTextures) { if (texid == texture) texid = 0; @@ -468,7 +523,7 @@ void OpenGL::deleteTexture(GLuint texture) glDeleteTextures(1, &texture); } -float OpenGL::setTextureFilter(graphics::Texture::Filter &f) +void OpenGL::setTextureFilter(graphics::Texture::Filter &f) { GLint gmin, gmag; @@ -493,7 +548,6 @@ float OpenGL::setTextureFilter(graphics::Texture::Filter &f) gmin = GL_LINEAR; } - switch (f.mag) { case Texture::FILTER_NEAREST: @@ -508,13 +562,13 @@ float OpenGL::setTextureFilter(graphics::Texture::Filter &f) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, gmin); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, gmag); - if (GLEE_EXT_texture_filter_anisotropic) + if (GLAD_EXT_texture_filter_anisotropic) { f.anisotropy = std::min(std::max(f.anisotropy, 1.0f), maxAnisotropy); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, f.anisotropy); } - - return f.anisotropy; + else + f.anisotropy = 1.0f; } void OpenGL::setTextureWrap(const graphics::Texture::Wrap &w) @@ -547,6 +601,16 @@ int OpenGL::getMaxRenderTargets() const return maxRenderTargets; } +int OpenGL::getMaxRenderbufferSamples() const +{ + return maxRenderbufferSamples; +} + +int OpenGL::getMaxTextureUnits() const +{ + return maxTextureUnits; +} + void OpenGL::updateTextureMemorySize(size_t oldsize, size_t newsize) { int64 memsize = (int64) stats.textureMemory + ((int64 )newsize - (int64) oldsize); diff --git a/src/modules/graphics/opengl/OpenGL.h b/src/modules/graphics/opengl/OpenGL.h index 70c35cb08..e902b81d0 100644 --- a/src/modules/graphics/opengl/OpenGL.h +++ b/src/modules/graphics/opengl/OpenGL.h @@ -21,13 +21,14 @@ #ifndef LOVE_GRAPHICS_OPENGL_OPENGL_H #define LOVE_GRAPHICS_OPENGL_OPENGL_H -#include "GLee.h" - // LOVE #include "graphics/Color.h" #include "graphics/Texture.h" #include "common/Matrix.h" +// GLAD +#include "libraries/glad/gladfuncs.hpp" + // C++ #include #include @@ -42,6 +43,21 @@ namespace graphics namespace opengl { +// Awful, but the library uses the namespace in order to use the functions sanely +// with proper autocomplete in IDEs while having name mangling safety - +// no clashes with other GL libraries when linking, etc. +using namespace glad; + +// Vertex attribute indices used in shaders by LOVE. The values map to OpenGL +// generic vertex attribute indices. +enum VertexAttribID +{ + ATTRIB_POS = 0, + ATTRIB_TEXCOORD, + ATTRIB_COLOR, + ATTRIB_MAX_ENUM +}; + /** * Thin layer between OpenGL and the rest of the program. * Internally shadows some OpenGL context state for improved efficiency and @@ -60,36 +76,22 @@ public: VENDOR_NVIDIA, VENDOR_INTEL, VENDOR_MESA_SOFT, // Software renderer. - VENDOR_APPLE, // Software renderer. + VENDOR_APPLE, // Software renderer on desktops. VENDOR_MICROSOFT, // Software renderer. + VENDOR_IMGTEC, + VENDOR_ARM, + VENDOR_QUALCOMM, + VENDOR_BROADCOM, + VENDOR_VIVANTE, VENDOR_UNKNOWN }; - // Vertex attributes used in shaders by LOVE. The values map to OpenGL - // generic vertex attribute indices, when applicable. - // LOVE uses the old hard-coded attribute APIs for positions, colors, etc. - // (for now.) - enum VertexAttrib - { - // Instance ID when pseudo-instancing is used. - ATTRIB_PSEUDO_INSTANCE_ID = 1, - ATTRIB_MAX_ENUM - }; - // A rectangle representing an OpenGL viewport or a scissor box. struct Viewport { int x, y; int w, h; - Viewport() - : x(0), y(0), w(0), h(0) - {} - - Viewport(int _x, int _y, int _w, int _h) - : x(_x), y(_y), w(_w), h(_h) - {} - bool operator == (const Viewport &rhs) const { return x == rhs.x && y == rhs.y && w == rhs.w && h == rhs.h; @@ -137,15 +139,21 @@ public: { size_t textureMemory; int drawCalls; + int framebufferBinds; } stats; OpenGL(); /** - * Initializes some required context state based on current and default - * OpenGL state. Call this directly after creating an OpenGL context! + * Initializes the active OpenGL context. **/ - void initContext(); + bool initContext(); + + /** + * Sets up some required context state based on current and default OpenGL + * state. Call this directly after initializing an OpenGL context! + **/ + void setupContext(); /** * Marks current context state as invalid and deletes OpenGL objects owned @@ -181,16 +189,6 @@ public: **/ Color getColor() const; - /** - * Sets the current clear color for all framebuffer objects. - **/ - void setClearColor(const Color &c); - - /** - * Gets the current clear color. - **/ - Color getClearColor() const; - /** * Sets the OpenGL rendering viewport to the specified rectangle. * The y-coordinate starts at the top. @@ -224,6 +222,32 @@ public: **/ BlendState getBlendState() const; + /** + * Sets the global point size. + **/ + void setPointSize(float size); + + /** + * Gets the global point size. + **/ + float getPointSize() const; + + /** + * Binds a Framebuffer Object to the specified target. + **/ + void bindFramebuffer(GLenum target, GLuint framebuffer); + + /** + * This will usually be 0 (system drawable), but some platforms require a + * non-zero FBO for rendering. + **/ + GLuint getDefaultFBO() const; + + /** + * Gets the ID for love's default texture (used for "untextured" primitives.) + **/ + GLuint getDefaultTexture() const; + /** * Helper for setting the active texture unit. * @@ -238,12 +262,10 @@ public: void bindTexture(GLuint texture); /** - * Helper for binding a texture to a specific texture unit. - * - * @param textureunit Index in the range of [0, maxtextureunits-1] - * @param restoreprev Restore previously bound texture unit when done. + * Binds multiple textures to texture units without changing the active + * texture unit. Equivalent to glBindTextures. **/ - void bindTextureToUnit(GLuint texture, int textureunit, bool restoreprev); + void bindTextures(GLuint first, GLsizei count, const GLuint *textures); /** * Helper for deleting an OpenGL texture. @@ -253,9 +275,10 @@ public: /** * Sets the texture filter mode for the currently bound texture. - * Returns the actual amount of anisotropic filtering set. + * The anisotropy parameter of the argument is set to the actual amount of + * anisotropy that was used. **/ - float setTextureFilter(graphics::Texture::Filter &f); + void setTextureFilter(graphics::Texture::Filter &f); /** * Sets the texture wrap mode for the currently bound texture. @@ -272,6 +295,16 @@ public: **/ int getMaxRenderTargets() const; + /** + * Returns the maximum supported number of MSAA samples for renderbuffers. + **/ + int getMaxRenderbufferSamples() const; + + /** + * Returns the maximum number of accessible texture units. + **/ + int getMaxTextureUnits() const; + void updateTextureMemorySize(size_t oldsize, size_t newsize); /** @@ -297,6 +330,8 @@ private: float maxAnisotropy; int maxTextureSize; int maxRenderTargets; + int maxRenderbufferSamples; + int maxTextureUnits; Vendor vendor; @@ -306,10 +341,8 @@ private: // Current constant color. Color color; - Color clearColor; - // Texture unit state (currently bound texture for each texture unit.) - std::vector textureUnits; + std::vector boundTextures; // Currently active texture unit. int curTextureUnit; @@ -317,6 +350,10 @@ private: Viewport viewport; Viewport scissor; + float pointSize; + + GLuint defaultTexture; + BlendState blend; Matrix lastProjectionMatrix; diff --git a/src/modules/graphics/opengl/ParticleSystem.cpp b/src/modules/graphics/opengl/ParticleSystem.cpp index 546b7a8c8..5f4649279 100644 --- a/src/modules/graphics/opengl/ParticleSystem.cpp +++ b/src/modules/graphics/opengl/ParticleSystem.cpp @@ -64,6 +64,7 @@ ParticleSystem::ParticleSystem(Texture *texture, uint32 size) , pHead(nullptr) , pTail(nullptr) , particleVerts(nullptr) + , ibo(1) , texture(texture) , active(true) , insertMode(INSERT_MODE_TOP) @@ -112,6 +113,7 @@ ParticleSystem::ParticleSystem(const ParticleSystem &p) , pHead(nullptr) , pTail(nullptr) , particleVerts(nullptr) + , ibo(p.ibo) , texture(p.texture) , active(p.active) , insertMode(p.insertMode) @@ -196,6 +198,7 @@ void ParticleSystem::setBufferSize(uint32 size) { if (size == 0 || size > MAX_PARTICLES) throw love::Exception("Invalid buffer size"); + ibo = VertexIndex(size); deleteBuffers(); createBuffers(size); reset(); @@ -873,24 +876,25 @@ void ParticleSystem::draw(float x, float y, float angle, float sx, float sy, flo p = p->next; } - texture->predraw(); - - glEnableClientState(GL_COLOR_ARRAY); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - - glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(Vertex), (GLvoid *) &particleVerts[0].r); - glVertexPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *) &particleVerts[0].x); - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), (GLvoid *) &particleVerts[0].s); - + gl.bindTexture(*(GLuint *) texture->getHandle()); gl.prepareDraw(); - gl.drawArrays(GL_QUADS, 0, pCount * 4); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_COLOR_ARRAY); + glEnableVertexAttribArray(ATTRIB_COLOR); + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); - texture->postdraw(); + glVertexAttribPointer(ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(Vertex), &particleVerts[0].r); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &particleVerts[0].x); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), &particleVerts[0].s); + + { + VertexBuffer::Bind ibo_bind(*ibo.getVertexBuffer()); + gl.drawElements(GL_TRIANGLES, (GLsizei) ibo.getIndexCount(pCount), ibo.getType(), ibo.getPointer(0)); + } + + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); + glDisableVertexAttribArray(ATTRIB_COLOR); gl.setColor(curcolor); } @@ -984,7 +988,7 @@ void ParticleSystem::update(float dt) { s = t * (float) k; // [0:numquads-1] (clamped below) i = (s > 0.0f) ? (size_t) s : 0; - p->quadIndex = (i < k) ? i : k - 1; + p->quadIndex = (int) ((i < k) ? i : k - 1); } // Next particle. diff --git a/src/modules/graphics/opengl/ParticleSystem.h b/src/modules/graphics/opengl/ParticleSystem.h index d92c8c54a..717d054c1 100644 --- a/src/modules/graphics/opengl/ParticleSystem.h +++ b/src/modules/graphics/opengl/ParticleSystem.h @@ -28,7 +28,8 @@ #include "graphics/Drawable.h" #include "graphics/Color.h" #include "graphics/Quad.h" -#include "Texture.h" +#include "graphics/Texture.h" +#include "VertexBuffer.h" // STL #include @@ -575,6 +576,9 @@ protected: // array of transformed vertex data for all particles, for drawing Vertex *particleVerts; + // Vertex index buffer. + VertexIndex ibo; + // The texture to be drawn. StrongRef texture; diff --git a/src/modules/graphics/opengl/Polyline.cpp b/src/modules/graphics/opengl/Polyline.cpp index 8d618f3c4..940cdb28c 100644 --- a/src/modules/graphics/opengl/Polyline.cpp +++ b/src/modules/graphics/opengl/Polyline.cpp @@ -18,14 +18,15 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#include - // LOVE #include "Polyline.h" // OpenGL #include "OpenGL.h" +// C++ +#include + // treat adjacent segments with angles between their directions <5 degree as straight static const float LINES_PARALLEL_EPS = 0.05f; @@ -327,13 +328,50 @@ Polyline::~Polyline() void Polyline::draw() { + GLushort *indices = nullptr; + + // TODO: We should probably be using a reusable index buffer. + if (use_quad_indices) + { + size_t numindices = (vertex_count / 4) * 6; + if (overdraw) + numindices = std::max(numindices, (overdraw_vertex_count / 4) * 6); + + try + { + indices = new GLushort[numindices]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + // Fill the index array to make 2 triangles from each quad. + for (size_t i = 0; i < numindices / 6; i++) + { + // First triangle. + indices[i * 6 + 0] = GLushort(i * 4 + 0); + indices[i * 6 + 1] = GLushort(i * 4 + 1); + indices[i * 6 + 2] = GLushort(i * 4 + 2); + + // Second triangle. + indices[i * 6 + 3] = GLushort(i * 4 + 1); + indices[i * 6 + 4] = GLushort(i * 4 + 2); + indices[i * 6 + 5] = GLushort(i * 4 + 3); + } + } + gl.prepareDraw(); // draw the core line - gl.bindTexture(0); - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_FLOAT, 0, (const GLvoid *)vertices); - gl.drawArrays(draw_mode, 0, vertex_count); + gl.bindTexture(gl.getDefaultTexture()); + glEnableVertexAttribArray(ATTRIB_POS); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, 0, vertices); + + if (use_quad_indices) + gl.drawElements(draw_mode, (int) (vertex_count / 4) * 6, GL_UNSIGNED_SHORT, indices); + else + gl.drawArrays(draw_mode, 0, (int) vertex_count); if (overdraw) { @@ -342,18 +380,26 @@ void Polyline::draw() Color *colors = new Color[overdraw_vertex_count]; fill_color_array(colors, c); - glEnableClientState(GL_COLOR_ARRAY); - glColorPointer(4, GL_UNSIGNED_BYTE, 0, colors); - glVertexPointer(2, GL_FLOAT, 0, (const GLvoid *)overdraw); - gl.drawArrays(draw_mode, 0, overdraw_vertex_count); - glDisableClientState(GL_COLOR_ARRAY); + glEnableVertexAttribArray(ATTRIB_COLOR); + glVertexAttribPointer(ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, colors); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, 0, overdraw); + + if (use_quad_indices) + gl.drawElements(draw_mode, (int) (overdraw_vertex_count / 4) * 6, GL_UNSIGNED_SHORT, indices); + else + gl.drawArrays(draw_mode, 0, (int) overdraw_vertex_count); + + glDisableVertexAttribArray(ATTRIB_COLOR); delete[] colors; gl.setColor(c); } - glDisableClientState(GL_VERTEX_ARRAY); + glDisableVertexAttribArray(ATTRIB_POS); + + if (indices) + delete[] indices; } void Polyline::fill_color_array(Color *colors, const Color &c) diff --git a/src/modules/graphics/opengl/Polyline.h b/src/modules/graphics/opengl/Polyline.h index 3f139cc9c..759202e50 100644 --- a/src/modules/graphics/opengl/Polyline.h +++ b/src/modules/graphics/opengl/Polyline.h @@ -21,14 +21,16 @@ #ifndef LOVE_GRAPHICS_OPENGL_POLYLINE_H #define LOVE_GRAPHICS_OPENGL_POLYLINE_H -#include - // LOVE +#include "common/config.h" #include "common/Vector.h" // OpenGL #include "OpenGL.h" +// C++ +#include + namespace love { namespace graphics @@ -43,12 +45,13 @@ namespace opengl class Polyline { public: - Polyline(GLenum mode = GL_TRIANGLE_STRIP) + Polyline(GLenum mode = GL_TRIANGLE_STRIP, bool quadindices = false) : vertices(NULL) , overdraw(NULL) , vertex_count(0) , overdraw_vertex_count(0) , draw_mode(mode) + , use_quad_indices(quadindices) {} virtual ~Polyline(); @@ -90,6 +93,7 @@ protected: size_t vertex_count; size_t overdraw_vertex_count; GLenum draw_mode; + bool use_quad_indices; }; // Polyline @@ -102,7 +106,7 @@ class NoneJoinPolyline : public Polyline { public: NoneJoinPolyline() - : Polyline(GL_QUADS) + : Polyline(GL_TRIANGLES, true) {} void render(const float *vertices, size_t count, float halfwidth, float pixel_size, bool draw_overdraw) diff --git a/src/modules/graphics/opengl/Shader.cpp b/src/modules/graphics/opengl/Shader.cpp index 60129aaa9..657c458a0 100644 --- a/src/modules/graphics/opengl/Shader.cpp +++ b/src/modules/graphics/opengl/Shader.cpp @@ -62,8 +62,10 @@ namespace Shader *Shader::current = nullptr; +Shader *Shader::defaultShader = nullptr; + +Shader::ShaderSource Shader::defaultCode[Graphics::RENDERER_MAX_ENUM]; -GLint Shader::maxTexUnits = 0; std::vector Shader::textureCounters; Shader::Shader(const ShaderSource &source) @@ -77,16 +79,9 @@ Shader::Shader(const ShaderSource &source) if (source.vertex.empty() && source.pixel.empty()) throw love::Exception("Cannot create shader: no source code!"); - if (maxTexUnits <= 0) - { - GLint maxtexunits; - glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &maxtexunits); - maxTexUnits = std::max(maxtexunits - 1, 0); - } - // initialize global texture id counters if needed - if (textureCounters.size() < (size_t) maxTexUnits) - textureCounters.resize(maxTexUnits, 0); + if ((int) textureCounters.size() < gl.getMaxTextureUnits()) + textureCounters.resize(gl.getMaxTextureUnits(), 0); // load shader source and create program object loadVolatile(); @@ -126,9 +121,6 @@ GLuint Shader::compileCode(ShaderStage stage, const std::string &code) break; } - // clear existing errors - while (glGetError() != GL_NO_ERROR); - GLuint shaderid = glCreateShader(glstage); if (shaderid == 0) @@ -224,17 +216,22 @@ bool Shader::loadVolatile() // zero out active texture list activeTexUnits.clear(); - activeTexUnits.insert(activeTexUnits.begin(), maxTexUnits, 0); + activeTexUnits.insert(activeTexUnits.begin(), gl.getMaxTextureUnits(), 0); std::vector shaderids; + const ShaderSource *defaults = &defaultCode[Graphics::RENDERER_OPENGL]; + if (GLAD_ES_VERSION_2_0) + defaults = &defaultCode[Graphics::RENDERER_OPENGLES]; + + // The shader program must have both vertex and pixel shader stages. + const std::string &vertexcode = shaderSource.vertex.empty() ? defaults->vertex : shaderSource.vertex; + const std::string &pixelcode = shaderSource.pixel.empty() ? defaults->pixel : shaderSource.pixel; + try { - if (!shaderSource.vertex.empty()) - shaderids.push_back(compileCode(STAGE_VERTEX, shaderSource.vertex)); - - if (!shaderSource.pixel.empty()) - shaderids.push_back(compileCode(STAGE_PIXEL, shaderSource.pixel)); + shaderids.push_back(compileCode(STAGE_VERTEX, vertexcode)); + shaderids.push_back(compileCode(STAGE_PIXEL, pixelcode)); } catch (love::Exception &) { @@ -243,9 +240,6 @@ bool Shader::loadVolatile() throw; } - if (shaderids.empty()) - throw love::Exception("Cannot create shader: no valid source code!"); - program = glCreateProgram(); if (program == 0) @@ -259,18 +253,10 @@ bool Shader::loadVolatile() glAttachShader(program, id); // Bind generic vertex attribute indices to names in the shader. - for (int i = 0; i < int(OpenGL::ATTRIB_MAX_ENUM); i++) + for (int i = 0; i < int(ATTRIB_MAX_ENUM); i++) { - OpenGL::VertexAttrib attrib = (OpenGL::VertexAttrib) i; - - // FIXME: We skip this both because pseudo-instancing is temporarily - // disabled (see graphics.lua), and because binding a non-existant - // attribute name to a location causes a shader linker warning. - if (attrib == OpenGL::ATTRIB_PSEUDO_INSTANCE_ID) - continue; - const char *name = nullptr; - if (attribNames.find(attrib, name)) + if (attribNames.find((VertexAttribID) i, name)) glBindAttribLocation(program, i, (const GLchar *) name); } @@ -294,10 +280,10 @@ bool Shader::loadVolatile() // Retreive all active uniform variables in this shader from OpenGL. mapActiveUniforms(); - for (int i = 0; i < int(OpenGL::ATTRIB_MAX_ENUM); i++) + for (int i = 0; i < int(ATTRIB_MAX_ENUM); i++) { const char *name = nullptr; - if (attribNames.find(OpenGL::VertexAttrib(i), name)) + if (attribNames.find(VertexAttribID(i), name)) builtinAttributes[i] = glGetAttribLocation(program, name); else builtinAttributes[i] = -1; @@ -334,7 +320,7 @@ void Shader::unloadVolatile() // active texture list is probably invalid, clear it activeTexUnits.clear(); - activeTexUnits.insert(activeTexUnits.begin(), maxTexUnits, 0); + activeTexUnits.resize(gl.getMaxTextureUnits(), 0); // same with uniform location list uniforms.clear(); @@ -396,19 +382,20 @@ void Shader::attach(bool temporary) { // make sure all sent textures are properly bound to their respective texture units // note: list potentially contains texture ids of deleted/invalid textures! - for (size_t i = 0; i < activeTexUnits.size(); ++i) - { - if (activeTexUnits[i] > 0) - gl.bindTextureToUnit(activeTexUnits[i], i + 1, false); - } - - // We always want to use texture unit 0 for everyhing else. - gl.setTextureUnit(0); + gl.bindTextures(1, (GLsizei) activeTexUnits.size(), &activeTexUnits[0]); } } void Shader::detach() { + if (defaultShader) + { + if (current != defaultShader) + defaultShader->attach(); + + return; + } + if (current != nullptr) glUseProgram(0); @@ -426,72 +413,6 @@ const Shader::Uniform &Shader::getUniform(const std::string &name) const return it->second; } -int Shader::getUniformTypeSize(GLenum type) const -{ - switch (type) - { - case GL_INT: - case GL_FLOAT: - case GL_BOOL: - case GL_SAMPLER_1D: - case GL_SAMPLER_2D: - case GL_SAMPLER_3D: - return 1; - case GL_INT_VEC2: - case GL_FLOAT_VEC2: - case GL_FLOAT_MAT2: - case GL_BOOL_VEC2: - return 2; - case GL_INT_VEC3: - case GL_FLOAT_VEC3: - case GL_FLOAT_MAT3: - case GL_BOOL_VEC3: - return 3; - case GL_INT_VEC4: - case GL_FLOAT_VEC4: - case GL_FLOAT_MAT4: - case GL_BOOL_VEC4: - return 4; - default: - break; - } - - return 1; -} - -Shader::UniformType Shader::getUniformBaseType(GLenum type) const -{ - switch (type) - { - case GL_INT: - case GL_INT_VEC2: - case GL_INT_VEC3: - case GL_INT_VEC4: - return UNIFORM_INT; - case GL_FLOAT: - case GL_FLOAT_VEC2: - case GL_FLOAT_VEC3: - case GL_FLOAT_VEC4: - case GL_FLOAT_MAT2: - case GL_FLOAT_MAT3: - case GL_FLOAT_MAT4: - return UNIFORM_FLOAT; - case GL_BOOL: - case GL_BOOL_VEC2: - case GL_BOOL_VEC3: - case GL_BOOL_VEC4: - return UNIFORM_BOOL; - case GL_SAMPLER_1D: - case GL_SAMPLER_2D: - case GL_SAMPLER_3D: - return UNIFORM_SAMPLER; - default: - break; - } - - return UNIFORM_UNKNOWN; -} - void Shader::checkSetUniformError(const Uniform &u, int size, int count, UniformType sendtype) const { if (!program) @@ -592,7 +513,7 @@ void Shader::sendMatrix(const std::string &name, int size, const GLfloat *m, int void Shader::sendTexture(const std::string &name, Texture *texture) { - GLuint gltex = texture->getGLTexture(); + GLuint gltex = *(GLuint *) texture->getHandle(); TemporaryAttacher attacher(this); @@ -602,13 +523,10 @@ void Shader::sendTexture(const std::string &name, Texture *texture) checkSetUniformError(u, 1, 1, UNIFORM_SAMPLER); // bind texture to assigned texture unit and send uniform to shader program - gl.bindTextureToUnit(gltex, texunit, false); + gl.bindTextures(texunit, 1, &gltex); glUniform1i(u.location, texunit); - // reset texture unit - gl.setTextureUnit(0); - // increment global shader texture id counter for this texture unit, if we haven't already if (activeTexUnits[texunit-1] == 0) ++textureCounters[texunit-1]; @@ -621,11 +539,12 @@ void Shader::sendTexture(const std::string &name, Texture *texture) void Shader::retainObject(const std::string &name, Object *object) { + object->retain(); + auto it = boundRetainables.find(name); if (it != boundRetainables.end()) it->second->release(); - object->retain(); boundRetainables[name] = object; } @@ -644,7 +563,7 @@ int Shader::getTextureUnit(const std::string &name) if (freeunit_it != textureCounters.end()) { // we don't want to use unit 0 - texunit = std::distance(textureCounters.begin(), freeunit_it) + 1; + texunit = (int) std::distance(textureCounters.begin(), freeunit_it) + 1; } else { @@ -655,7 +574,7 @@ int Shader::getTextureUnit(const std::string &name) throw love::Exception("No more texture units available for shader."); // we don't want to use unit 0 - texunit = std::distance(activeTexUnits.begin(), nextunit_it) + 1; + texunit = (int) std::distance(activeTexUnits.begin(), nextunit_it) + 1; } texUnitPool[name] = texunit; @@ -679,7 +598,7 @@ Shader::UniformType Shader::getExternVariable(const std::string &name, int &comp return it->second.baseType; } -bool Shader::hasVertexAttrib(OpenGL::VertexAttrib attrib) const +bool Shader::hasVertexAttrib(VertexAttribID attrib) const { return builtinAttributes[int(attrib)] != -1; } @@ -689,6 +608,33 @@ bool Shader::hasBuiltinUniform(BuiltinUniform builtin) const return builtinUniforms[int(builtin)] != -1; } +bool Shader::sendBuiltinMatrix(BuiltinUniform builtin, int size, const GLfloat *m, int count) +{ + if (!hasBuiltinUniform(builtin)) + return false; + + GLint location = builtinUniforms[GLint(builtin)]; + + TemporaryAttacher attacher(this); + + switch (size) + { + case 2: + glUniformMatrix2fv(location, count, GL_FALSE, m); + break; + case 3: + glUniformMatrix3fv(location, count, GL_FALSE, m); + break; + case 4: + glUniformMatrix4fv(location, count, GL_FALSE, m); + break; + default: + return false; + } + + return true; +} + bool Shader::sendBuiltinFloat(BuiltinUniform builtin, int size, const GLfloat *vec, int count) { if (!hasBuiltinUniform(builtin)) @@ -727,26 +673,26 @@ void Shader::checkSetScreenParams() return; // In the shader, we do pixcoord.y = gl_FragCoord.y * params.z + params.w. - // This lets us flip pixcoord.y when needed, to be consistent (Canvases - // have flipped y-values for pixel coordinates.) + // This lets us flip pixcoord.y when needed, to be consistent (drawing with + // no Canvas active makes the y-values for pixel coordinates flipped.) GLfloat params[] = { (GLfloat) view.w, (GLfloat) view.h, 0.0f, 0.0f, }; if (Canvas::current != nullptr) - { - // gl_FragCoord.y is flipped in Canvases, so we un-flip: - // pixcoord.y = gl_FragCoord.y * -1.0 + height. - params[2] = -1.0f; - params[3] = (GLfloat) view.h; - } - else { // No flipping: pixcoord.y = gl_FragCoord.y * 1.0 + 0.0. params[2] = 1.0f; params[3] = 0.0f; } + else + { + // gl_FragCoord.y is flipped when drawing to the screen, so we un-flip: + // pixcoord.y = gl_FragCoord.y * -1.0 + height. + params[2] = -1.0f; + params[3] = (GLfloat) view.h; + } sendBuiltinFloat(BUILTIN_SCREEN_SIZE, 4, params, 1); @@ -761,11 +707,7 @@ const std::map &Shader::getBoundRetainables() const std::string Shader::getGLSLVersion() { - const char *tmp = nullptr; - - // GL_SHADING_LANGUAGE_VERSION isn't available in OpenGL < 2.0. - if (GLEE_VERSION_2_0 || GLEE_ARB_shading_language_100) - tmp = (const char *) glGetString(GL_SHADING_LANGUAGE_VERSION); + const char *tmp = (const char *) glGetString(GL_SHADING_LANGUAGE_VERSION); if (tmp == nullptr) return "0.0"; @@ -782,7 +724,69 @@ std::string Shader::getGLSLVersion() bool Shader::isSupported() { - return GLEE_VERSION_2_0 && getGLSLVersion() >= "1.2"; + return GLAD_ES_VERSION_2_0 || (getGLSLVersion() >= "1.2"); +} + +int Shader::getUniformTypeSize(GLenum type) const +{ + switch (type) + { + case GL_INT: + case GL_FLOAT: + case GL_BOOL: + case GL_SAMPLER_1D: + case GL_SAMPLER_2D: + case GL_SAMPLER_3D: + return 1; + case GL_INT_VEC2: + case GL_FLOAT_VEC2: + case GL_FLOAT_MAT2: + case GL_BOOL_VEC2: + return 2; + case GL_INT_VEC3: + case GL_FLOAT_VEC3: + case GL_FLOAT_MAT3: + case GL_BOOL_VEC3: + return 3; + case GL_INT_VEC4: + case GL_FLOAT_VEC4: + case GL_FLOAT_MAT4: + case GL_BOOL_VEC4: + return 4; + default: + return 1; + } +} + +Shader::UniformType Shader::getUniformBaseType(GLenum type) const +{ + switch (type) + { + case GL_INT: + case GL_INT_VEC2: + case GL_INT_VEC3: + case GL_INT_VEC4: + return UNIFORM_INT; + case GL_FLOAT: + case GL_FLOAT_VEC2: + case GL_FLOAT_VEC3: + case GL_FLOAT_VEC4: + case GL_FLOAT_MAT2: + case GL_FLOAT_MAT3: + case GL_FLOAT_MAT4: + return UNIFORM_FLOAT; + case GL_BOOL: + case GL_BOOL_VEC2: + case GL_BOOL_VEC3: + case GL_BOOL_VEC4: + return UNIFORM_BOOL; + case GL_SAMPLER_1D: + case GL_SAMPLER_2D: + case GL_SAMPLER_3D: + return UNIFORM_SAMPLER; + default: + return UNIFORM_UNKNOWN; + } } bool Shader::getConstant(const char *in, UniformType &out) @@ -814,15 +818,21 @@ StringMap::Entry Shader::uniformT StringMap Shader::uniformTypes(Shader::uniformTypeEntries, sizeof(Shader::uniformTypeEntries)); -StringMap::Entry Shader::attribNameEntries[] = +StringMap::Entry Shader::attribNameEntries[] = { - {"love_PseudoInstanceID", OpenGL::ATTRIB_PSEUDO_INSTANCE_ID}, + {"VertexPosition", ATTRIB_POS}, + {"VertexTexCoord", ATTRIB_TEXCOORD}, + {"VertexColor", ATTRIB_COLOR}, }; -StringMap Shader::attribNames(Shader::attribNameEntries, sizeof(Shader::attribNameEntries)); +StringMap Shader::attribNames(Shader::attribNameEntries, sizeof(Shader::attribNameEntries)); StringMap::Entry Shader::builtinNameEntries[] = { + {"TransformMatrix", Shader::BUILTIN_TRANSFORM_MATRIX}, + {"ProjectionMatrix", Shader::BUILTIN_PROJECTION_MATRIX}, + {"TransformProjectionMatrix", Shader::BUILTIN_TRANSFORM_PROJECTION_MATRIX}, + {"love_PointSize", Shader::BUILTIN_POINT_SIZE}, {"love_ScreenSize", Shader::BUILTIN_SCREEN_SIZE}, }; diff --git a/src/modules/graphics/opengl/Shader.h b/src/modules/graphics/opengl/Shader.h index d8a96ed56..8b6dc1102 100644 --- a/src/modules/graphics/opengl/Shader.h +++ b/src/modules/graphics/opengl/Shader.h @@ -24,8 +24,10 @@ // LOVE #include "common/Object.h" #include "common/StringMap.h" +#include "graphics/Graphics.h" +#include "graphics/Texture.h" +#include "graphics/Volatile.h" #include "OpenGL.h" -#include "Texture.h" // STL #include @@ -46,9 +48,6 @@ class Shader : public Object, public Volatile { public: - // Pointer to currently active Shader. - static Shader *current; - enum ShaderStage { STAGE_VERTEX, @@ -59,6 +58,10 @@ public: // Built-in uniform (extern) variables. enum BuiltinUniform { + BUILTIN_TRANSFORM_MATRIX = 0, + BUILTIN_PROJECTION_MATRIX, + BUILTIN_TRANSFORM_PROJECTION_MATRIX, + BUILTIN_POINT_SIZE, BUILTIN_SCREEN_SIZE, BUILTIN_MAX_ENUM }; @@ -80,6 +83,15 @@ public: std::string pixel; }; + // Pointer to currently active Shader. + static Shader *current; + + // Pointer to the default Shader. + static Shader *defaultShader; + + // Default shader code (a shader is always required internally.) + static ShaderSource defaultCode[Graphics::RENDERER_MAX_ENUM]; + /** * Creates a new Shader using a list of source codes. * Source must contain either vertex or pixel shader code, or both. @@ -165,8 +177,9 @@ public: /** * Internal use only. **/ - bool hasVertexAttrib(OpenGL::VertexAttrib attrib) const; + bool hasVertexAttrib(VertexAttribID attrib) const; bool hasBuiltinUniform(BuiltinUniform builtin) const; + bool sendBuiltinMatrix(BuiltinUniform builtin, int size, const GLfloat *m, int count); bool sendBuiltinFloat(BuiltinUniform builtin, int size, const GLfloat *m, int count); void checkSetScreenParams(); @@ -221,7 +234,7 @@ private: GLint builtinUniforms[BUILTIN_MAX_ENUM]; // Location values for any generic vertex attribute variables. - GLint builtinAttributes[OpenGL::ATTRIB_MAX_ENUM]; + GLint builtinAttributes[ATTRIB_MAX_ENUM]; // Uniform location buffer map std::map uniforms; @@ -237,9 +250,6 @@ private: Canvas *lastCanvas; OpenGL::Viewport lastViewport; - // Max GPU texture units available for sent images - static GLint maxTexUnits; - // Counts total number of textures bound to each texture unit in all shaders static std::vector textureCounters; @@ -250,8 +260,8 @@ private: static StringMap uniformTypes; // Names for the generic vertex attributes used by love. - static StringMap::Entry attribNameEntries[]; - static StringMap attribNames; + static StringMap::Entry attribNameEntries[]; + static StringMap attribNames; // Names for the built-in uniform variables. static StringMap::Entry builtinNameEntries[]; diff --git a/src/modules/graphics/opengl/SpriteBatch.cpp b/src/modules/graphics/opengl/SpriteBatch.cpp index d5b19b24b..75352b113 100644 --- a/src/modules/graphics/opengl/SpriteBatch.cpp +++ b/src/modules/graphics/opengl/SpriteBatch.cpp @@ -26,7 +26,7 @@ // LOVE #include "VertexBuffer.h" -#include "Texture.h" +#include "graphics/Texture.h" // C++ #include @@ -183,7 +183,7 @@ void SpriteBatch::setBufferSize(int newsize) if (newsize == size) return; - // Map (lock) the old VertexBuffer to get a pointer to its data. + // Map the old VertexBuffer to get a pointer to its data. void *old_data = nullptr; { VertexBuffer::Bind bind(*array_buf); @@ -226,7 +226,7 @@ int SpriteBatch::getBufferSize() const void SpriteBatch::draw(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) { - const size_t pos_offset = offsetof(Vertex, x); + const size_t pos_offset = offsetof(Vertex, x); const size_t texel_offset = offsetof(Vertex, s); const size_t color_offset = offsetof(Vertex, r); @@ -238,7 +238,7 @@ void SpriteBatch::draw(float x, float y, float angle, float sx, float sy, float OpenGL::TempTransform transform(gl); transform.get() *= t; - texture->predraw(); + gl.bindTexture(*(GLuint *) texture->getHandle()); VertexBuffer::Bind array_bind(*array_buf); VertexBuffer::Bind element_bind(*element_buf.getVertexBuffer()); @@ -252,29 +252,27 @@ void SpriteBatch::draw(float x, float y, float angle, float sx, float sy, float // Apply per-sprite color, if a color is set. if (color) { - glEnableClientState(GL_COLOR_ARRAY); - glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(Vertex), array_buf->getPointer(color_offset)); + glEnableVertexAttribArray(ATTRIB_COLOR); + glVertexAttribPointer(ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(Vertex), array_buf->getPointer(color_offset)); } - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_FLOAT, sizeof(Vertex), array_buf->getPointer(pos_offset)); + glEnableVertexAttribArray(ATTRIB_POS); + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), array_buf->getPointer(pos_offset)); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), array_buf->getPointer(texel_offset)); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), array_buf->getPointer(texel_offset)); gl.prepareDraw(); - gl.drawElements(GL_TRIANGLES, element_buf.getIndexCount(next), element_buf.getType(), element_buf.getPointer(0)); + gl.drawElements(GL_TRIANGLES, (GLsizei) element_buf.getIndexCount(next), element_buf.getType(), element_buf.getPointer(0)); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); if (color) { - glDisableClientState(GL_COLOR_ARRAY); + glDisableVertexAttribArray(ATTRIB_COLOR); gl.setColor(curcolor); } - - texture->postdraw(); } void SpriteBatch::addv(const Vertex *v, const Matrix &m, int index) diff --git a/src/modules/graphics/opengl/SpriteBatch.h b/src/modules/graphics/opengl/SpriteBatch.h index 9f9188f47..d22f4f82d 100644 --- a/src/modules/graphics/opengl/SpriteBatch.h +++ b/src/modules/graphics/opengl/SpriteBatch.h @@ -38,12 +38,13 @@ namespace love { namespace graphics { -namespace opengl -{ // Forward declarations. class Texture; +namespace opengl +{ + class SpriteBatch : public Drawable { public: diff --git a/src/modules/graphics/opengl/Text.cpp b/src/modules/graphics/opengl/Text.cpp new file mode 100644 index 000000000..47606ef55 --- /dev/null +++ b/src/modules/graphics/opengl/Text.cpp @@ -0,0 +1,283 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "Text.h" +#include "common/Matrix.h" + +#include + +namespace love +{ +namespace graphics +{ +namespace opengl +{ + +Text::Text(Font *font, const std::string &text) + : font(font) + , vbo(nullptr) + , text_info() + , vert_offset(0) + , texture_cache_id((uint32) -1) +{ + set(text); +} + +Text::~Text() +{ + delete vbo; +} + +void Text::uploadVertices(const std::vector &vertices, size_t vertoffset) +{ + size_t offset = vertoffset * sizeof(Font::GlyphVertex); + size_t datasize = vertices.size() * sizeof(Font::GlyphVertex); + uint8 *vbodata = nullptr; + + // If we haven't created a VBO or the vertices are too big, make a new one. + if (datasize > 0 && (!vbo || (offset + datasize) > vbo->getSize())) + { + // Make it bigger than necessary to reduce potential future allocations. + size_t newsize = size_t((offset + datasize) * 1.5); + if (vbo != nullptr) + newsize = std::max(size_t(vbo->getSize() * 1.5), newsize); + + VertexBuffer *new_vbo = VertexBuffer::Create(newsize, GL_ARRAY_BUFFER, GL_DYNAMIC_DRAW); + + if (vbo != nullptr) + { + try + { + VertexBuffer::Bind bind(*vbo); + vbodata = (uint8 *) vbo->map(); + } + catch (love::Exception &) + { + delete new_vbo; + throw; + } + + VertexBuffer::Bind bind(*new_vbo); + new_vbo->fill(0, vbo->getSize(), vbodata); + } + + delete vbo; + vbo = new_vbo; + } + + if (vbo != nullptr) + { + VertexBuffer::Bind bind(*vbo); + vbodata = (uint8 *) vbo->map(); + memcpy(vbodata + offset, &vertices[0], datasize); + // We unmap when we draw, to avoid unnecessary full map()/unmap() calls. + } +} + +void Text::regenerateVertices() +{ + // If the font's texture cache was invalidated then we need to recreate the + // text's vertices, since glyph texcoords might have changed. + if (font->getTextureCacheID() != texture_cache_id) + { + std::vector textdata = text_data; + + clear(); + + for (const TextData &t : textdata) + addTextData(t); + + texture_cache_id = font->getTextureCacheID(); + } +} + +void Text::addTextData(const TextData &t) +{ + std::vector vertices; + std::vector new_commands; + + // We only have formatted text if the align mode is valid. + if (t.align == Font::ALIGN_MAX_ENUM) + new_commands = font->generateVertices(t.text, vertices, 0.0f, Vector(0.0f, 0.0f), &text_info); + else + new_commands = font->generateVerticesFormatted(t.text, t.wrap, t.align, vertices, &text_info); + + if (t.use_matrix) + t.matrix.transform(&vertices[0], &vertices[0], (int) vertices.size()); + + size_t voffset = vert_offset; + + if (!t.append_vertices) + { + voffset = 0; + draw_commands.clear(); + } + + uploadVertices(vertices, voffset); + + if (!new_commands.empty()) + { + // The start vertex should be adjusted to account for the vertex offset. + for (Font::DrawCommand &cmd : new_commands) + cmd.startvertex += (int) voffset; + + auto firstcmd = new_commands.begin(); + + // If the first draw command in the new list has the same texture as the + // last one in the existing list we're building and its vertices are + // in-order, we can combine them (saving a draw call.) + if (!draw_commands.empty()) + { + auto prevcmd = draw_commands.back(); + if (prevcmd.texture == firstcmd->texture && (prevcmd.startvertex + prevcmd.vertexcount) == firstcmd->startvertex) + { + draw_commands.back().vertexcount += firstcmd->vertexcount; + ++firstcmd; + } + } + + // Append the new draw commands to the list we're building. + draw_commands.insert(draw_commands.end(), firstcmd, new_commands.end()); + } + + vert_offset = voffset + vertices.size(); + text_data.push_back(t); + + // Font::generateVertices can invalidate the font's texture cache. + if (font->getTextureCacheID() != texture_cache_id) + regenerateVertices(); +} + +void Text::set(const std::string &text) +{ + if (text.empty()) + return set(); + + addTextData({text, -1.0f, Font::ALIGN_MAX_ENUM, false, false, Matrix()}); +} + +void Text::set(const std::string &text, float wrap, Font::AlignMode align) +{ + if (text.empty()) + return set(); + + addTextData({text, wrap, align, false, false, Matrix()}); +} + +void Text::set() +{ + clear(); +} + +void Text::add(const std::string &text, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +{ + if (text.empty()) + return; + + Matrix m; + m.setTransformation(x, y, angle, sx, sy, ox, oy, kx, ky); + + addTextData({text, -1.0f, Font::ALIGN_MAX_ENUM, true, true, m}); +} + +void Text::addf(const std::string &text, float wrap, Font::AlignMode align, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +{ + if (text.empty()) + return; + + Matrix m; + m.setTransformation(x, y, angle, sx, sy, ox, oy, kx, ky); + + addTextData({text, wrap, align, true, true, m}); +} + +void Text::clear() +{ + text_data.clear(); + draw_commands.clear(); + texture_cache_id = font->getTextureCacheID(); + text_info = {}; + vert_offset = 0; +} + +void Text::draw(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky) +{ + if (vbo == nullptr || draw_commands.empty()) + return; + + // Re-generate the text if the Font's texture cache was invalidated. + if (font->getTextureCacheID() != texture_cache_id) + regenerateVertices(); + + const size_t pos_offset = offsetof(Font::GlyphVertex, x); + const size_t tex_offset = offsetof(Font::GlyphVertex, s); + const size_t stride = sizeof(Font::GlyphVertex); + + Matrix t; + t.setTransformation(ceilf(x), ceilf(y), angle, sx, sy, ox, oy, kx, ky); + + OpenGL::TempTransform transform(gl); + transform.get() *= t; + + { + VertexBuffer::Bind bind(*vbo); + vbo->unmap(); // Make sure all pending data is flushed to the GPU. + + // Font::drawVertices expects AttribPointer calls to be done already. + glVertexAttribPointer(ATTRIB_POS, 2, GL_FLOAT, GL_FALSE, stride, vbo->getPointer(pos_offset)); + glVertexAttribPointer(ATTRIB_TEXCOORD, 2, GL_FLOAT, GL_FALSE, stride, vbo->getPointer(tex_offset)); + } + + glEnableVertexAttribArray(ATTRIB_POS); + glEnableVertexAttribArray(ATTRIB_TEXCOORD); + + try + { + font->drawVertices(draw_commands); + } + catch (love::Exception &) + { + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); + throw; + } + + glDisableVertexAttribArray(ATTRIB_TEXCOORD); + glDisableVertexAttribArray(ATTRIB_POS); +} + +Font *Text::getFont() const +{ + return font.get(); +} + +int Text::getWidth() const +{ + return text_info.width; +} + +int Text::getHeight() const +{ + return text_info.height; +} + +} // opengl +} // graphics +} // love diff --git a/src/modules/graphics/opengl/Text.h b/src/modules/graphics/opengl/Text.h new file mode 100644 index 000000000..bfb2bbb6f --- /dev/null +++ b/src/modules/graphics/opengl/Text.h @@ -0,0 +1,102 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_GRAPHICS_OPENGL_TEXT_H +#define LOVE_GRAPHICS_OPENGL_TEXT_H + +// LOVE +#include "common/config.h" +#include "graphics/Drawable.h" +#include "Font.h" +#include "VertexBuffer.h" + +namespace love +{ +namespace graphics +{ +namespace opengl +{ + +class Text : public Drawable +{ +public: + + Text(Font *font, const std::string &text = ""); + virtual ~Text(); + + void set(const std::string &text); + void set(const std::string &text, float wrap, Font::AlignMode align); + void set(); + + void add(const std::string &text, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky); + void addf(const std::string &text, float wrap, Font::AlignMode align, float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky); + void clear(); + + // Implements Drawable. + virtual void draw(float x, float y, float angle, float sx, float sy, float ox, float oy, float kx, float ky); + + Font *getFont() const; + + /** + * Gets the width of the currently set text. + **/ + int getWidth() const; + + /** + * Gets the height of the currently set text. + **/ + int getHeight() const; + +private: + + struct TextData + { + std::string text; + float wrap; + Font::AlignMode align; + bool use_matrix; + bool append_vertices; + Matrix matrix; + }; + + void uploadVertices(const std::vector &vertices, size_t vertoffset); + void regenerateVertices(); + void addTextData(const TextData &s); + + StrongRef font; + VertexBuffer *vbo; + + std::vector draw_commands; + + std::vector text_data; + Font::TextInfo text_info; + + size_t vert_offset; + + // Used so we know when the font's texture cache is invalidated. + uint32 texture_cache_id; + +}; // Text + +} // opengl +} // graphics +} // love + +#endif // LOVE_GRAPHICS_OPENGL_TEXT_H diff --git a/src/modules/graphics/opengl/VertexBuffer.cpp b/src/modules/graphics/opengl/VertexBuffer.cpp index 0fc981250..435727416 100644 --- a/src/modules/graphics/opengl/VertexBuffer.cpp +++ b/src/modules/graphics/opengl/VertexBuffer.cpp @@ -27,11 +27,6 @@ #include #include -// Conflicts with std::numeric_limits::max() (Windows). -#ifdef max -# undef max -#endif - namespace love { namespace graphics @@ -41,148 +36,71 @@ namespace opengl // VertexBuffer -VertexBuffer *VertexBuffer::Create(size_t size, GLenum target, GLenum usage, MemoryBacking backing) +VertexBuffer *VertexBuffer::Create(size_t size, GLenum target, GLenum usage) { - try - { - // Try to create a VBO. - return new VBO(size, target, usage, backing); - } - catch(const love::Exception &) - { - // VBO not supported ... create regular array. - return new VertexArray(size, target, usage, backing); - } + return new VertexBuffer(size, target, usage); } -VertexBuffer::VertexBuffer(size_t size, GLenum target, GLenum usage, MemoryBacking backing) +VertexBuffer::VertexBuffer(size_t size, GLenum target, GLenum usage) : is_bound(false) , is_mapped(false) , size(size) , target(target) , usage(usage) - , backing(backing) -{ -} - -VertexBuffer::~VertexBuffer() -{ -} - -// VertexArray - -VertexArray::VertexArray(size_t size, GLenum target, GLenum usage, MemoryBacking backing) - : VertexBuffer(size, target, usage, backing) - , buf(new char[size]) -{ -} - -VertexArray::~VertexArray() -{ - delete [] buf; -} - -void *VertexArray::map() -{ - is_mapped = true; - return buf; -} - -void VertexArray::unmap(size_t /*usedOffset*/, size_t /*usedSize*/) -{ - is_mapped = false; -} - -void VertexArray::bind() -{ - is_bound = true; -} - -void VertexArray::unbind() -{ - is_bound = false; -} - -void VertexArray::fill(size_t offset, size_t size, const void *data) -{ - memcpy(buf + offset, data, size); -} - -const void *VertexArray::getPointer(size_t offset) const -{ - return buf + offset; -} - -// VBO - -VBO::VBO(size_t size, GLenum target, GLenum usage, MemoryBacking backing) - : VertexBuffer(size, target, usage, backing) , vbo(0) , memory_map(nullptr) - , is_dirty(false) { - if (!(GLEE_ARB_vertex_buffer_object || GLEE_VERSION_1_5)) - throw love::Exception("Not supported"); - - if (getMemoryBacking() == BACKING_FULL) - memory_map = (char *) malloc(getSize()); + try + { + memory_map = new char[size]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } bool ok = load(false); if (!ok) { - free(memory_map); + delete[] memory_map; throw love::Exception("Could not load VBO."); } } -VBO::~VBO() +VertexBuffer::~VertexBuffer() { if (vbo != 0) - unload(false); + unload(); - if (memory_map) - free(memory_map); + delete[] memory_map; } -void *VBO::map() +void *VertexBuffer::map() { if (is_mapped) return memory_map; - if (!memory_map) - { - memory_map = (char * ) malloc(getSize()); - if (!memory_map) - throw love::Exception("Out of memory (oh the humanity!)"); - } - - if (is_dirty) - { - glGetBufferSubDataARB(getTarget(), 0, (GLsizeiptr) getSize(), memory_map); - is_dirty = false; - } - is_mapped = true; return memory_map; } -void VBO::unmapStatic(size_t offset, size_t size) +void VertexBuffer::unmapStatic(size_t offset, size_t size) { // Upload the mapped data to the buffer. - glBufferSubDataARB(getTarget(), (GLintptr) offset, (GLsizeiptr) size, memory_map + offset); + glBufferSubData(getTarget(), (GLintptr) offset, (GLsizeiptr) size, memory_map + offset); } -void VBO::unmapStream() +void VertexBuffer::unmapStream() { // "orphan" current buffer to avoid implicit synchronisation on the GPU: // http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-AsynchronousBufferTransfers.pdf - glBufferDataARB(getTarget(), (GLsizeiptr) getSize(), nullptr, getUsage()); - glBufferDataARB(getTarget(), (GLsizeiptr) getSize(), memory_map, getUsage()); + glBufferData(getTarget(), (GLsizeiptr) getSize(), nullptr, getUsage()); + glBufferData(getTarget(), (GLsizeiptr) getSize(), memory_map, getUsage()); } -void VBO::unmap(size_t usedOffset, size_t usedSize) +void VertexBuffer::unmap(size_t usedOffset, size_t usedSize) { if (!is_mapped) return; @@ -194,7 +112,7 @@ void VBO::unmap(size_t usedOffset, size_t usedSize) // bound here. if (!is_bound) { - glBindBufferARB(getTarget(), vbo); + glBindBuffer(getTarget(), vbo); is_bound = true; } @@ -220,83 +138,66 @@ void VBO::unmap(size_t usedOffset, size_t usedSize) is_mapped = false; } -void VBO::bind() +void VertexBuffer::bind() { if (!is_mapped) { - glBindBufferARB(getTarget(), vbo); + glBindBuffer(getTarget(), vbo); is_bound = true; } } -void VBO::unbind() +void VertexBuffer::unbind() { if (is_bound) - glBindBufferARB(getTarget(), 0); + glBindBuffer(getTarget(), 0); is_bound = false; } -void VBO::fill(size_t offset, size_t size, const void *data) +void VertexBuffer::fill(size_t offset, size_t size, const void *data) { - if (is_mapped || getMemoryBacking() == BACKING_FULL) - memcpy(memory_map + offset, data, size); + memcpy(memory_map + offset, data, size); if (!is_mapped) - { - glBufferSubDataARB(getTarget(), (GLintptr) offset, (GLsizeiptr) size, data); - - if (getMemoryBacking() != BACKING_FULL) - is_dirty = true; - } + glBufferSubData(getTarget(), (GLintptr) offset, (GLsizeiptr) size, data); } -const void *VBO::getPointer(size_t offset) const +const void *VertexBuffer::getPointer(size_t offset) const { return BUFFER_OFFSET(offset); } -bool VBO::loadVolatile() +bool VertexBuffer::loadVolatile() { return load(true); } -void VBO::unloadVolatile() +void VertexBuffer::unloadVolatile() { - unload(true); + unload(); } -bool VBO::load(bool restore) +bool VertexBuffer::load(bool restore) { - glGenBuffersARB(1, &vbo); + glGenBuffers(1, &vbo); VertexBuffer::Bind bind(*this); // Copy the old buffer only if 'restore' was requested. const GLvoid *src = restore ? memory_map : nullptr; - while (GL_NO_ERROR != glGetError()) - /* clear error messages */; - // Note that if 'src' is '0', no data will be copied. - glBufferDataARB(getTarget(), (GLsizeiptr) getSize(), src, getUsage()); - GLenum err = glGetError(); + glBufferData(getTarget(), (GLsizeiptr) getSize(), src, getUsage()); - return (GL_NO_ERROR == err); + return true; } -void VBO::unload(bool save) +void VertexBuffer::unload() { - // Save data before unloading, if we need to. - if (save && getMemoryBacking() == BACKING_PARTIAL) - { - VertexBuffer::Bind bind(*this); - map(); // saves buffer content to memory_map. - } - is_mapped = false; - glDeleteBuffersARB(1, &vbo); + glDeleteBuffers(1, &vbo); vbo = 0; } @@ -462,15 +363,19 @@ void VertexIndex::fill() T *indices = (T *) mapper.get(); + // 0----2 + // | / | + // | / | + // 1----3 for (size_t i = 0; i < maxSize; ++i) { - indices[i*6+0] = i * 4 + 0; - indices[i*6+1] = i * 4 + 1; - indices[i*6+2] = i * 4 + 2; + indices[i*6+0] = T(i * 4 + 0); + indices[i*6+1] = T(i * 4 + 1); + indices[i*6+2] = T(i * 4 + 2); - indices[i*6+3] = i * 4 + 0; - indices[i*6+4] = i * 4 + 2; - indices[i*6+5] = i * 4 + 3; + indices[i*6+3] = T(i * 4 + 1); + indices[i*6+4] = T(i * 4 + 2); + indices[i*6+5] = T(i * 4 + 3); } } diff --git a/src/modules/graphics/opengl/VertexBuffer.h b/src/modules/graphics/opengl/VertexBuffer.h index de90f823b..22eb5f5e7 100644 --- a/src/modules/graphics/opengl/VertexBuffer.h +++ b/src/modules/graphics/opengl/VertexBuffer.h @@ -40,36 +40,17 @@ namespace opengl { /** - * VertexBuffer is an abstraction over VBOs (Vertex Buffer Objects), which - * falls back to regular vertex arrays if VBOs are not supported. - * - * This allows code to take advantage of VBOs where available, but still - * work on older systems where it's *not* available. Everyone's happy. + * VertexBuffer is a thin abstraction over VBOs (Vertex Buffer Objects) and + * other OpenGL Buffer Objects. * * The class is (for now) meant for internal use. */ -class VertexBuffer +class VertexBuffer : public Volatile { public: - // Different guarantees for VertexBuffer data storage. - enum MemoryBacking - { - // The VertexBuffer is will have a valid copy of its data in main memory - // at all times. - BACKING_FULL, - - // The VertexBuffer will have a valid copy of its data in main memory - // when it needs to be reloaded and when it's mapped. - BACKING_PARTIAL - }; - /** - * Create a new VertexBuffer (either a plain vertex array, or a VBO), - * based on what's supported on the system. - * - * If VBOs are not supported, a plain vertex array will automatically - * be created and returned instead. + * Create a new VertexBuffer. * * @param size The size of the VertexBuffer (in bytes). * @param target GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER. @@ -77,7 +58,7 @@ public: * @param backing Determines what guarantees are placed on the data. * @return A new VertexBuffer. */ - static VertexBuffer *Create(size_t size, GLenum target, GLenum usage, MemoryBacking backing = BACKING_PARTIAL); + static VertexBuffer *Create(size_t size, GLenum target, GLenum usage); /** * Constructor. @@ -87,10 +68,10 @@ public: * @param usage Usage hint, e.g. GL_DYNAMIC_DRAW. * @param backing Determines what guarantees are placed on the data. */ - VertexBuffer(size_t size, GLenum target, GLenum usage, MemoryBacking backing = BACKING_PARTIAL); + VertexBuffer(size_t size, GLenum target, GLenum usage); /** - * Destructor. Does nothing, but must be declared virtual. + * Destructor. */ virtual ~VertexBuffer(); @@ -134,11 +115,6 @@ public: return is_mapped; } - MemoryBacking getMemoryBacking() const - { - return backing; - } - /** * Map the VertexBuffer to client memory. * @@ -149,7 +125,7 @@ public: * * @return A pointer to memory which represents the buffer. */ - virtual void *map() = 0; + virtual void *map(); /** * Unmap a previously mapped VertexBuffer. The buffer must be unmapped @@ -161,18 +137,18 @@ public: * sub-range of data modified. Optional. * @param usedSize The size of the sub-range of modified data. Optional. */ - virtual void unmap(size_t usedOffset = 0, size_t usedSize = -1) = 0; + virtual void unmap(size_t usedOffset = 0, size_t usedSize = -1); /** * Bind the VertexBuffer to its specified target. * (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, etc). */ - virtual void bind() = 0; + virtual void bind(); /** * Unbind a prevously bound VertexBuffer. */ - virtual void unbind() = 0; + virtual void unbind(); /** * Fill a portion of the buffer with data. @@ -183,7 +159,7 @@ public: * @param size The size of the incoming data. * @param data Pointer to memory to copy data from. */ - virtual void fill(size_t offset, size_t size, const void *data) = 0; + virtual void fill(size_t offset, size_t size, const void *data); /** * Get a pointer which represents the specified byte offset. @@ -191,7 +167,11 @@ public: * @param offset The byte offset. (0 is first byte). * @return A pointer which represents the offset. */ - virtual const void *getPointer(size_t offset) const = 0; + virtual const void *getPointer(size_t offset) const; + + // Implements Volatile. + virtual bool loadVolatile(); + virtual void unloadVolatile(); /** * This helper class can bind a VertexArray temporarily, and @@ -222,11 +202,13 @@ public: // VertexBuffer to work on. VertexBuffer &buf; - }; + + }; // Bind class Mapper { public: + /** * Memory-maps a VertexBuffer. */ @@ -253,98 +235,11 @@ public: } private: + VertexBuffer &buf; void *elems; - }; -protected: - - // Whether the buffer is currently bound. - bool is_bound; - - // Whether the buffer is currently mapped to main memory. - bool is_mapped; - -private: - - // The size of the buffer, in bytes. - size_t size; - - // The target buffer object. (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER). - GLenum target; - - // Usage hint. GL_[DYNAMIC, STATIC, STREAM]_DRAW. - GLenum usage; - - // - MemoryBacking backing; -}; - -/** - * Implementation of VertexBuffer which uses plain arrays to store the data. - * - * This implementation should be supported everywhere, and acts as a fallback - * on systems which do not support VBOs. - */ -class VertexArray : public VertexBuffer -{ -public: - - /** - * @copydoc VertexBuffer(int, GLenum, GLenum, Backing) - */ - VertexArray(size_t size, GLenum target, GLenum usage, MemoryBacking backing); - - /** - * Frees the data we've allocated. - */ - virtual ~VertexArray(); - - // Implements VertexBuffer. - virtual void *map(); - virtual void unmap(size_t usedOffset = 0, size_t usedSize = -1); - virtual void bind(); - virtual void unbind(); - virtual void fill(size_t offset, size_t size, const void *data); - virtual const void *getPointer(size_t offset) const ; - -private: - // Holds the data. - char *buf; -}; - -/** - * Vertex Buffer Object (VBO) implementation of VertexBuffer. - * - * This will be used on all systems that support it. It's in general - * faster than vertex arrays, but especially in use-cases where there - * is no need to update the data every frame. - **/ -class VBO : public VertexBuffer, public Volatile -{ -public: - - /** - * @copydoc VertexBuffer(size_t, GLenum, GLenum, Backing) - **/ - VBO(size_t size, GLenum target, GLenum usage, MemoryBacking backing); - - /** - * Deletes the VBOs from OpenGL. - **/ - virtual ~VBO(); - - // Implements VertexBuffer. - virtual void *map(); - virtual void unmap(size_t usedOffset = 0, size_t usedSize = -1); - virtual void bind(); - virtual void unbind(); - virtual void fill(size_t offset, size_t size, const void *data); - virtual const void *getPointer(size_t offset) const ; - - // Implements Volatile. - bool loadVolatile(); - void unloadVolatile(); + }; // Mapper private: @@ -355,28 +250,34 @@ private: * @return True on success, false otherwise. */ bool load(bool restore); - - /** - * Optionally save the data in the VBO, then delete it. - * - * @param save True to save the data before deleting. - */ - void unload(bool save); + void unload(); void unmapStatic(size_t offset, size_t size); void unmapStream(); + // Whether the buffer is currently bound. + bool is_bound; + + // Whether the buffer is currently mapped to main memory. + bool is_mapped; + + // The size of the buffer, in bytes. + size_t size; + + // The target buffer object. (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER). + GLenum target; + + // Usage hint. GL_[DYNAMIC, STATIC, STREAM]_DRAW. + GLenum usage; + // The VBO identifier. Assigned by OpenGL. GLuint vbo; - // A pointer to mapped memory. Will be inialized on the first - // call to map(). + // A pointer to mapped memory. char *memory_map; - // Set if the buffer was modified while operating on gpu memory - // and needs to be synchronized. - bool is_dirty; -}; +}; // VertexBuffer + /** * VertexIndex manages one shared VertexBuffer that stores the indices for an @@ -388,7 +289,7 @@ private: * indices[i*6 + 1] = i*4 + 1; * indices[i*6 + 2] = i*4 + 2; * - * indices[i*6 + 3] = i*4 + 0; + * indices[i*6 + 3] = i*4 + 1; * indices[i*6 + 4] = i*4 + 2; * indices[i*6 + 5] = i*4 + 3; * diff --git a/src/modules/graphics/opengl/wrap_Canvas.cpp b/src/modules/graphics/opengl/wrap_Canvas.cpp index bb6838f6a..b85f0d64c 100644 --- a/src/modules/graphics/opengl/wrap_Canvas.cpp +++ b/src/modules/graphics/opengl/wrap_Canvas.cpp @@ -30,7 +30,7 @@ namespace opengl Canvas *luax_checkcanvas(lua_State *L, int idx) { - return luax_checktype(L, idx, "Canvas", GRAPHICS_CANVAS_T); + return luax_checktype(L, idx, GRAPHICS_CANVAS_ID); } int w_Canvas_renderTo(lua_State *L) @@ -62,64 +62,23 @@ int w_Canvas_renderTo(lua_State *L) return 0; } -int w_Canvas_getImageData(lua_State *L) +int w_Canvas_newImageData(lua_State *L) { Canvas *canvas = luax_checkcanvas(L, 1); - love::image::Image *image = luax_getmodule(L, "image", MODULE_IMAGE_T); - love::image::ImageData *img = canvas->getImageData(image); - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, img); + love::image::Image *image = luax_getmodule(L, MODULE_IMAGE_ID); + int x = luaL_optint(L, 2, 0); + int y = luaL_optint(L, 3, 0); + int w = luaL_optint(L, 4, canvas->getWidth()); + int h = luaL_optint(L, 5, canvas->getHeight()); + + love::image::ImageData *img = nullptr; + luax_catchexcept(L, [&](){ img = canvas->newImageData(image, x, y, w, h); }); + + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, img); img->release(); return 1; } -int w_Canvas_getPixel(lua_State * L) -{ - Canvas * canvas = luax_checkcanvas(L, 1); - int x = luaL_checkint(L, 2); - int y = luaL_checkint(L, 3); - unsigned char c[4]; - - luax_catchexcept(L, [&](){ canvas->getPixel(c, x, y); }); - - lua_pushnumber(L, c[0]); - lua_pushnumber(L, c[1]); - lua_pushnumber(L, c[2]); - lua_pushnumber(L, c[3]); - return 4; -} - -int w_Canvas_clear(lua_State *L) -{ - Canvas *canvas = luax_checkcanvas(L, 1); - Color c; - if (lua_isnoneornil(L, 2)) - { - c.set(0, 0, 0, 0); - } - else if (lua_istable(L, 2)) - { - for (int i = 1; i <= 4; i++) - lua_rawgeti(L, 2, i); - - c.r = (unsigned char)luaL_checkinteger(L, -4); - c.g = (unsigned char)luaL_checkinteger(L, -3); - c.b = (unsigned char)luaL_checkinteger(L, -2); - c.a = (unsigned char)luaL_optinteger(L, -1, 255); - - lua_pop(L, 4); - } - else - { - c.r = (unsigned char)luaL_checkinteger(L, 2); - c.g = (unsigned char)luaL_checkinteger(L, 3); - c.b = (unsigned char)luaL_checkinteger(L, 4); - c.a = (unsigned char)luaL_optinteger(L, 5, 255); - } - canvas->clear(c); - - return 0; -} - int w_Canvas_getFormat(lua_State *L) { Canvas *canvas = luax_checkcanvas(L, 1); @@ -151,24 +110,15 @@ static const luaL_Reg functions[] = { "getWrap", w_Texture_getWrap }, { "renderTo", w_Canvas_renderTo }, - { "getImageData", w_Canvas_getImageData }, - { "getPixel", w_Canvas_getPixel }, - { "clear", w_Canvas_clear }, + { "newImageData", w_Canvas_newImageData }, { "getFormat", w_Canvas_getFormat }, { "getMSAA", w_Canvas_getMSAA }, - - // Deprecated since 0.9.1. - { "getType", w_Canvas_getFormat }, - - // Deprecated since 0.9.2. - { "getFSAA", w_Canvas_getMSAA }, - { 0, 0 } }; extern "C" int luaopen_canvas(lua_State *L) { - return luax_register_type(L, "Canvas", functions); + return luax_register_type(L, GRAPHICS_CANVAS_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_Canvas.h b/src/modules/graphics/opengl/wrap_Canvas.h index 1093f980f..9eb0fbe19 100644 --- a/src/modules/graphics/opengl/wrap_Canvas.h +++ b/src/modules/graphics/opengl/wrap_Canvas.h @@ -24,7 +24,7 @@ // LOVE #include "common/runtime.h" #include "Canvas.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" namespace love { @@ -36,9 +36,7 @@ namespace opengl //see Canvas.h Canvas *luax_checkcanvas(lua_State *L, int idx); int w_Canvas_renderTo(lua_State *L); -int w_Canvas_getImageData(lua_State *L); -int w_Canvas_getPixel(lua_State * L); -int w_Canvas_clear(lua_State *L); +int w_Canvas_newImageData(lua_State *L); int w_Canvas_getFormat(lua_State *L); int w_Canvas_getMSAA(lua_State *L); extern "C" int luaopen_canvas(lua_State *L); diff --git a/src/modules/graphics/opengl/wrap_Font.cpp b/src/modules/graphics/opengl/wrap_Font.cpp index 34203f070..6c26a780c 100644 --- a/src/modules/graphics/opengl/wrap_Font.cpp +++ b/src/modules/graphics/opengl/wrap_Font.cpp @@ -30,7 +30,7 @@ namespace opengl Font *luax_checkfont(lua_State *L, int idx) { - return luax_checktype(L, idx, "Font", GRAPHICS_FONT_T); + return luax_checktype(L, idx, GRAPHICS_FONT_ID); } int w_Font_getHeight(lua_State *L) @@ -55,12 +55,20 @@ int w_Font_getWrap(lua_State *L) const char *str = luaL_checkstring(L, 2); float wrap = (float) luaL_checknumber(L, 3); int max_width = 0, numlines = 0; + std::vector lines; + std::vector widths; luax_catchexcept(L, [&]() { - std::vector lines = t->getWrap(str, wrap, &max_width); - numlines = lines.size(); + t->getWrap(str, wrap, lines, &widths); + numlines = (int) lines.size(); }); + for (int width : widths) + { + if (width > max_width) + max_width = width; + } + lua_pushinteger(L, max_width); lua_pushinteger(L, numlines); return 2; @@ -178,7 +186,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_font(lua_State *L) { - return luax_register_type(L, "Font", functions); + return luax_register_type(L, GRAPHICS_FONT_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_Graphics.cpp b/src/modules/graphics/opengl/wrap_Graphics.cpp index 63db95d31..17f0f12c6 100644 --- a/src/modules/graphics/opengl/wrap_Graphics.cpp +++ b/src/modules/graphics/opengl/wrap_Graphics.cpp @@ -45,9 +45,41 @@ int w_reset(lua_State *) return 0; } -int w_clear(lua_State *) +int w_clear(lua_State *L) { - instance()->clear(); + Color color; + + if (lua_isnoneornil(L, 1)) + color.set(0, 0, 0, 0); + else if (lua_istable(L, 1)) + { + for (int i = 1; i <= 4; i++) + lua_rawgeti(L, 1, i); + + color.r = (unsigned char) luaL_checkinteger(L, -4); + color.g = (unsigned char) luaL_checkinteger(L, -3); + color.b = (unsigned char) luaL_checkinteger(L, -2); + color.a = (unsigned char) luaL_optinteger(L, -1, 255); + + lua_pop(L, 4); + } + else + { + color.r = (unsigned char) luaL_checkinteger(L, 1); + color.g = (unsigned char) luaL_checkinteger(L, 2); + color.b = (unsigned char) luaL_checkinteger(L, 3); + color.a = (unsigned char) luaL_optinteger(L, 4, 255); + } + + instance()->clear(color); + return 0; +} + +int w_discard(lua_State *L) +{ + bool color = luax_optboolean(L, 1, true); + bool stencil = luax_optboolean(L, 2, true); + instance()->discard(color, stencil); return 0; } @@ -63,6 +95,12 @@ int w_isCreated(lua_State *L) return 1; } +int w_isActive(lua_State *L) +{ + luax_pushboolean(L, instance()->isActive()); + return 1; +} + int w_getWidth(lua_State *L) { lua_pushinteger(L, instance()->getWidth()); @@ -119,38 +157,48 @@ int w_getScissor(lua_State *L) return 4; } -static int setStencil(lua_State *L, bool invert) +int w_stencil(lua_State *L) { - // no argument -> clear stencil - if (lua_isnoneornil(L, 1)) - { - instance()->discardStencil(); - return 0; - } - luaL_checktype(L, 1, LUA_TFUNCTION); - instance()->defineStencil(); - lua_call(L, lua_gettop(L) - 1, 0); // call stencil(...) - instance()->useStencil(invert); + instance()->drawToStencilBuffer(true); + + // Call stencilfunc(...) + lua_call(L, lua_gettop(L) - 1, 0); + + instance()->drawToStencilBuffer(false); return 0; } -int w_setStencil(lua_State *L) +int w_setStencilTest(lua_State *L) { - return setStencil(L, false); + bool enable = luax_toboolean(L, 1); + bool invert = luax_toboolean(L, 2); + instance()->setStencilTest(enable, invert); + return 0; } -int w_setInvertedStencil(lua_State *L) +int w_getStencilTest(lua_State *L) { - return setStencil(L, true); + bool enabled, inverted; + instance()->getStencilTest(enabled, inverted); + luax_pushboolean(L, enabled); + luax_pushboolean(L, inverted); + return 2; } -int w_getMaxTextureSize(lua_State *L) +int w_clearStencil(lua_State* /*L*/) { - lua_pushinteger(L, instance()->getSystemLimit(Graphics::LIMIT_TEXTURE_SIZE)); - return 1; + instance()->clearStencil(); + return 0; +} + +static const char *imageFlagName(Image::FlagType flagtype) +{ + const char *name = nullptr; + Image::getConstant(flagtype, name); + return name; } int w_newImage(lua_State *L) @@ -158,16 +206,18 @@ int w_newImage(lua_State *L) love::image::ImageData *data = nullptr; love::image::CompressedData *cdata = nullptr; - Image::Format format = Image::FORMAT_NORMAL; - const char *fstr = lua_isnoneornil(L, 2) ? nullptr : luaL_checkstring(L, 2); - - if (fstr != nullptr && !Image::getConstant(fstr, format)) - return luaL_error(L, "Invalid Image format: %s", fstr); + Image::Flags flags; + if (!lua_isnoneornil(L, 2)) + { + luaL_checktype(L, 2, LUA_TTABLE); + flags.mipmaps = luax_boolflag(L, 2, imageFlagName(Image::FLAG_TYPE_MIPMAPS), flags.mipmaps); + flags.sRGB = luax_boolflag(L, 2, imageFlagName(Image::FLAG_TYPE_SRGB), flags.sRGB); + } bool releasedata = false; // Convert to ImageData / CompressedData, if necessary. - if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) + if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_ID) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_ID)) { love::image::Image *image = Module::getInstance(Module::M_IMAGE); if (image == nullptr) @@ -193,10 +243,10 @@ int w_newImage(lua_State *L) // Lua's GC won't release the image data, so we should do it ourselves. releasedata = true; } - else if (luax_istype(L, 1, IMAGE_COMPRESSED_DATA_T)) - cdata = luax_checktype(L, 1, "CompressedData", IMAGE_COMPRESSED_DATA_T); + else if (luax_istype(L, 1, IMAGE_COMPRESSED_DATA_ID)) + cdata = luax_checktype(L, 1, IMAGE_COMPRESSED_DATA_ID); else - data = luax_checktype(L, 1, "ImageData", IMAGE_IMAGE_DATA_T); + data = luax_checktype(L, 1, IMAGE_IMAGE_DATA_ID); if (!data && !cdata) return luaL_error(L, "Error creating image (could not load data.)"); @@ -206,9 +256,9 @@ int w_newImage(lua_State *L) luax_catchexcept(L, [&]() { if (cdata) - image = instance()->newImage(cdata, format); + image = instance()->newImage(cdata, flags); else if (data) - image = instance()->newImage(data, format); + image = instance()->newImage(data, flags); }, [&]() { if (releasedata && data) @@ -222,7 +272,7 @@ int w_newImage(lua_State *L) return luaL_error(L, "Could not load image."); // Push the type. - luax_pushtype(L, "Image", GRAPHICS_IMAGE_T, image); + luax_pushtype(L, GRAPHICS_IMAGE_ID, image); image->release(); return 1; } @@ -239,21 +289,18 @@ int w_newQuad(lua_State *L) float sh = (float) luaL_checknumber(L, 6); Quad *quad = instance()->newQuad(v, sw, sh); - luax_pushtype(L, "Quad", GRAPHICS_QUAD_T, quad); + luax_pushtype(L, GRAPHICS_QUAD_ID, quad); quad->release(); return 1; } int w_newFont(lua_State *L) { - // Convert to Rasterizer, if necessary. Note that lua_isstring returns true - // if the value is a number, which we rely on for the variant that uses the - // default Font rather than a font file. - if (lua_isnoneornil(L, 1) || lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) - { - if (lua_isnone(L, 1)) - lua_pushnil(L); + Font *font = nullptr; + // Convert to Rasterizer, if necessary. + if (!luax_istype(L, 1, FONT_RASTERIZER_ID)) + { std::vector idxs; for (int i = 0; i < lua_gettop(L); i++) idxs.push_back(i + 1); @@ -261,18 +308,14 @@ int w_newFont(lua_State *L) luax_convobj(L, &idxs[0], (int) idxs.size(), "font", "newRasterizer"); } - love::font::Rasterizer *rasterizer = luax_checktype(L, 1, "Rasterizer", FONT_RASTERIZER_T); + love::font::Rasterizer *rasterizer = luax_checktype(L, 1, FONT_RASTERIZER_ID); - Font *font = 0; luax_catchexcept(L, [&]() { font = instance()->newFont(rasterizer, instance()->getDefaultFilter()); } ); - if (font == 0) - return luaL_error(L, "Could not load font."); - // Push the type. - luax_pushtype(L, "Font", GRAPHICS_FONT_T, font); + luax_pushtype(L, GRAPHICS_FONT_ID, font); font->release(); return 1; } @@ -283,39 +326,33 @@ int w_newImageFont(lua_State *L) Texture::Filter filter = instance()->getDefaultFilter(); // Convert to ImageData if necessary. - if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) - luax_convobj(L, 1, "image", "newImageData"); - else if (luax_istype(L, 1, GRAPHICS_IMAGE_T)) + if (luax_istype(L, 1, GRAPHICS_IMAGE_ID)) { - Image *i = luax_checktype(L, 1, "Image", GRAPHICS_IMAGE_T); + Image *i = luax_checktype(L, 1, GRAPHICS_IMAGE_ID); filter = i->getFilter(); love::image::ImageData *id = i->getImageData(); if (!id) return luaL_argerror(L, 1, "Image must not be compressed."); - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, id); + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, id); lua_replace(L, 1); } // Convert to Rasterizer if necessary. - if (luax_istype(L, 1, IMAGE_IMAGE_DATA_T)) + if (!luax_istype(L, 1, FONT_RASTERIZER_ID)) { luaL_checkstring(L, 2); int idxs[] = {1, 2}; - luax_convobj(L, idxs, 2, "font", "newRasterizer"); + luax_convobj(L, idxs, 2, "font", "newImageRasterizer"); } - love::font::Rasterizer *rasterizer = luax_checktype(L, 1, "Rasterizer", FONT_RASTERIZER_T); + love::font::Rasterizer *rasterizer = luax_checktype(L, 1, FONT_RASTERIZER_ID); // Create the font. Font *font = instance()->newFont(rasterizer, filter); - if (font == 0) - return luaL_error(L, "Could not load font."); - // Push the type. - luax_pushtype(L, "Font", GRAPHICS_FONT_T, font); + luax_pushtype(L, GRAPHICS_FONT_ID, font); font->release(); - return 1; } @@ -336,7 +373,7 @@ int w_newSpriteBatch(lua_State *L) [&](){ t = instance()->newSpriteBatch(texture, size, usage); } ); - luax_pushtype(L, "SpriteBatch", GRAPHICS_SPRITE_BATCH_T, t); + luax_pushtype(L, GRAPHICS_SPRITE_BATCH_ID, t); t->release(); return 1; } @@ -353,7 +390,7 @@ int w_newParticleSystem(lua_State *L) [&](){ t = instance()->newParticleSystem(texture, int(size)); } ); - luax_pushtype(L, "ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_T, t); + luax_pushtype(L, GRAPHICS_PARTICLE_SYSTEM_ID, t); t->release(); return 1; } @@ -378,16 +415,13 @@ int w_newCanvas(lua_State *L) if (canvas == nullptr) return luaL_error(L, "Canvas not created, but no error thrown. I don't even..."); - luax_pushtype(L, "Canvas", GRAPHICS_CANVAS_T, canvas); + luax_pushtype(L, GRAPHICS_CANVAS_ID, canvas); canvas->release(); return 1; } int w_newShader(lua_State *L) { - if (!Shader::isSupported()) - return luaL_error(L, "Sorry, your graphics card does not support shaders."); - // clamp stack to 2 elements lua_settop(L, 2); @@ -472,7 +506,7 @@ int w_newShader(lua_State *L) try { Shader *shader = instance()->newShader(source); - luax_pushtype(L, "Shader", GRAPHICS_SHADER_T, shader); + luax_pushtype(L, GRAPHICS_SHADER_ID, shader); shader->release(); } catch (love::Exception &e) @@ -524,7 +558,7 @@ int w_newMesh(lua_State *L) // Get the vertices from the table. for (size_t i = 1; i <= vertex_count; i++) { - lua_rawgeti(L, 1, i); + lua_rawgeti(L, 1, (int) i); if (lua_type(L, -1) != LUA_TTABLE) return luax_typerror(L, 1, "table of tables"); @@ -565,11 +599,28 @@ int w_newMesh(lua_State *L) if (tex) t->setTexture(tex); - luax_pushtype(L, "Mesh", GRAPHICS_MESH_T, t); + luax_pushtype(L, GRAPHICS_MESH_ID, t); t->release(); return 1; } +int w_newText(lua_State *L) +{ + Font *font = luax_checkfont(L, 1); + Text *t = nullptr; + + if (lua_isnoneornil(L, 2)) + luax_catchexcept(L, [&](){ t = instance()->newText(font); }); + else + { + std::string text = luax_checkstring(L, 2); + luax_catchexcept(L, [&](){ t = instance()->newText(font, text); }); + } + + luax_pushtype(L, GRAPHICS_TEXT_ID, t); + return 1; +} + int w_setColor(lua_State *L) { Color c; @@ -645,14 +696,14 @@ int w_getBackgroundColor(lua_State *L) int w_setNewFont(lua_State *L) { int ret = w_newFont(L); - Font *font = luax_checktype(L, -1, "Font", GRAPHICS_FONT_T); + Font *font = luax_checktype(L, -1, GRAPHICS_FONT_ID); instance()->setFont(font); return ret; } int w_setFont(lua_State *L) { - Font *font = luax_checktype(L, 1, "Font", GRAPHICS_FONT_T); + Font *font = luax_checktype(L, 1, GRAPHICS_FONT_ID); instance()->setFont(font); return 0; } @@ -662,7 +713,7 @@ int w_getFont(lua_State *L) Font *f = nullptr; luax_catchexcept(L, [&](){ f = instance()->getFont(); }); - luax_pushtype(L, "Font", GRAPHICS_FONT_T, f); + luax_pushtype(L, GRAPHICS_FONT_ID, f); return 1; } @@ -727,26 +778,20 @@ int w_getBlendMode(lua_State *L) int w_setDefaultFilter(lua_State *L) { - Texture::FilterMode min; - Texture::FilterMode mag; + Texture::Filter f; const char *minstr = luaL_checkstring(L, 1); const char *magstr = luaL_optstring(L, 2, minstr); - if (!Texture::getConstant(minstr, min)) + if (!Texture::getConstant(minstr, f.min)) return luaL_error(L, "Invalid filter mode: %s", minstr); - if (!Texture::getConstant(magstr, mag)) + if (!Texture::getConstant(magstr, f.mag)) return luaL_error(L, "Invalid filter mode: %s", magstr); - float anisotropy = (float) luaL_optnumber(L, 3, 1.0); - - Texture::Filter f; - f.min = min; - f.mag = mag; - f.anisotropy = anisotropy; + f.anisotropy = (float) luaL_optnumber(L, 3, 1.0); instance()->setDefaultFilter(f); - + return 0; } @@ -862,40 +907,12 @@ int w_setPointSize(lua_State *L) return 0; } -int w_setPointStyle(lua_State *L) -{ - Graphics::PointStyle style; - - const char *str = luaL_checkstring(L, 1); - if (!Graphics::getConstant(str, style)) - return luaL_error(L, "Invalid point style: %s", str); - - instance()->setPointStyle(style); - return 0; -} - int w_getPointSize(lua_State *L) { lua_pushnumber(L, instance()->getPointSize()); return 1; } -int w_getPointStyle(lua_State *L) -{ - Graphics::PointStyle style = instance()->getPointStyle(); - const char *str; - if (!Graphics::getConstant(style, str)) - return luaL_error(L, "Unknown point style"); - lua_pushstring(L, str); - return 1; -} - -int w_getMaxPointSize(lua_State *L) -{ - lua_pushnumber(L, instance()->getSystemLimit(Graphics::LIMIT_POINT_SIZE)); - return 1; -} - int w_setWireframe(lua_State *L) { instance()->setWireframe(luax_toboolean(L, 1)); @@ -910,21 +927,21 @@ int w_isWireframe(lua_State *L) int w_newScreenshot(lua_State *L) { - love::image::Image *image = luax_getmodule(L, "image", MODULE_IMAGE_T); + love::image::Image *image = luax_getmodule(L, MODULE_IMAGE_ID); bool copyAlpha = luax_optboolean(L, 1, false); love::image::ImageData *i = 0; luax_catchexcept(L, [&](){ i = instance()->newScreenshot(image, copyAlpha); }); - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, i); + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, i); i->release(); return 1; } int w_setCanvas(lua_State *L) { - // discard stencil testing - instance()->discardStencil(); + // Disable stencil writes. + instance()->drawToStencilBuffer(false); // called with none -> reset to default buffer if (lua_isnoneornil(L, 1)) @@ -938,7 +955,7 @@ int w_setCanvas(lua_State *L) if (is_table) { - for (size_t i = 1; i <= lua_objlen(L, 1); i++) + for (int i = 1; i <= (int) lua_objlen(L, 1); i++) { lua_rawgeti(L, 1, i); canvases.push_back(luax_checkcanvas(L, -1)); @@ -968,7 +985,7 @@ int w_getCanvas(lua_State *L) for (Canvas *c : canvases) { - luax_pushtype(L, "Canvas", GRAPHICS_CANVAS_T, c); + luax_pushtype(L, GRAPHICS_CANVAS_ID, c); n++; } @@ -998,32 +1015,60 @@ int w_getShader(lua_State *L) { Shader *shader = instance()->getShader(); if (shader) - luax_pushtype(L, "Shader", GRAPHICS_SHADER_T, shader); + luax_pushtype(L, GRAPHICS_SHADER_ID, shader); else lua_pushnil(L); return 1; } -int w_isSupported(lua_State *L) +int w_setDefaultShaderCode(lua_State *L) { - bool supported = true; + luaL_checktype(L, 1, LUA_TTABLE); - for (int i = 1; i <= lua_gettop(L); i++) + lua_getfield(L, 1, "opengl"); + lua_rawgeti(L, -1, 1); + lua_rawgeti(L, -2, 2); + + Shader::ShaderSource openglcode; + openglcode.vertex = luax_checkstring(L, -2); + openglcode.pixel = luax_checkstring(L, -1); + + lua_pop(L, 3); + + lua_getfield(L, 1, "opengles"); + lua_rawgeti(L, -1, 1); + lua_rawgeti(L, -2, 2); + + Shader::ShaderSource openglescode; + openglescode.vertex = luax_checkstring(L, -2); + openglescode.pixel = luax_checkstring(L, -1); + + lua_pop(L, 3); + + Shader::defaultCode[Graphics::RENDERER_OPENGL] = openglcode; + Shader::defaultCode[Graphics::RENDERER_OPENGLES] = openglescode; + + return 0; +} + + +int w_getSupported(lua_State *L) +{ + lua_createtable(L, 0, (int) Graphics::SUPPORT_MAX_ENUM); + + for (int i = 0; i < (int) Graphics::SUPPORT_MAX_ENUM; i++) { - const char *str = luaL_checkstring(L, i); - Graphics::Support feature; - if (!Graphics::getConstant(str, feature)) - return luaL_error(L, "Invalid graphics feature: %s", str); + Graphics::Support feature = (Graphics::Support) i; + const char *name = nullptr; - if (!instance()->isSupported(feature)) - { - supported = false; - break; - } + if (!Graphics::getConstant(feature, name)) + continue; + + luax_pushboolean(L, instance()->isSupported(feature)); + lua_setfield(L, -2, name); } - luax_pushboolean(L, supported); return 1; } @@ -1061,7 +1106,7 @@ int w_getCompressedImageFormats(lua_State *L) if (!image::CompressedData::getConstant(format, name)) continue; - luax_pushboolean(L, Image::hasCompressedTextureSupport(format)); + luax_pushboolean(L, Image::hasCompressedTextureSupport(format, false)); lua_setfield(L, -2, name); } @@ -1080,6 +1125,25 @@ int w_getRendererInfo(lua_State *L) return 4; } +int w_getSystemLimits(lua_State *L) +{ + lua_createtable(L, 0, (int) Graphics::LIMIT_MAX_ENUM); + + for (int i = 0; i < (int) Graphics::LIMIT_MAX_ENUM; i++) + { + Graphics::SystemLimit limittype = (Graphics::SystemLimit) i; + const char *name = nullptr; + + if (!Graphics::getConstant(limittype, name)) + continue; + + lua_pushnumber(L, instance()->getSystemLimit(limittype)); + lua_setfield(L, -2, name); + } + + return 1; +} + int w_getStats(lua_State *L) { Graphics::Stats stats = instance()->getStats(); @@ -1111,19 +1175,7 @@ int w_getStats(lua_State *L) Graphics::getConstant(Graphics::STAT_TEXTURE_MEMORY, sname); lua_pushnumber(L, (lua_Number) stats.textureMemory); lua_setfield(L, -2, sname); - - return 1; -} - -int w_getSystemLimit(lua_State *L) -{ - const char *limitstr = luaL_checkstring(L, 1); - Graphics::SystemLimit limittype; - - if (!Graphics::getConstant(limitstr, limittype)) - return luaL_error(L, "Invalid system limit type: %s", limitstr); - - lua_pushnumber(L, instance()->getSystemLimit(limittype)); + return 1; } @@ -1134,10 +1186,10 @@ int w_draw(lua_State *L) Quad *quad = nullptr; int startidx = 2; - if (luax_istype(L, 2, GRAPHICS_QUAD_T)) + if (luax_istype(L, 2, GRAPHICS_QUAD_ID)) { texture = luax_checktexture(L, 1); - quad = luax_totype(L, 2, "Quad", GRAPHICS_QUAD_T); + quad = luax_totype(L, 2, GRAPHICS_QUAD_ID); startidx = 3; } else if (lua_isnil(L, 2) && !lua_isnoneornil(L, 3)) @@ -1146,7 +1198,7 @@ int w_draw(lua_State *L) } else { - drawable = luax_checktype(L, 1, "Drawable", GRAPHICS_DRAWABLE_T); + drawable = luax_checktype(L, 1, GRAPHICS_DRAWABLE_ID); startidx = 2; } @@ -1199,14 +1251,14 @@ int w_printf(lua_State *L) float ox = 0.0f, oy = 0.0f; float kx = 0.0f, ky = 0.0f; - Graphics::AlignMode align = Graphics::ALIGN_LEFT; + Font::AlignMode align = Font::ALIGN_LEFT; if (lua_gettop(L) >= 5) { if (!lua_isnil(L, 5)) { const char *str = luaL_checkstring(L, 5); - if (!Graphics::getConstant(str, align)) + if (!Font::getConstant(str, align)) return luaL_error(L, "Incorrect alignment: %s", str); } @@ -1239,7 +1291,7 @@ int w_line(lua_State *L) bool is_table = false; if (args == 1 && lua_istable(L, 1)) { - args = lua_objlen(L, 1); + args = (int) lua_objlen(L, 1); is_table = true; } @@ -1340,7 +1392,7 @@ int w_polygon(lua_State *L) float *coords; if (args == 1 && lua_istable(L, 2)) { - args = lua_objlen(L, 2); + args = (int) lua_objlen(L, 2); is_table = true; } @@ -1435,6 +1487,7 @@ static const luaL_Reg functions[] = { { "reset", w_reset }, { "clear", w_clear }, + { "discard", w_discard }, { "present", w_present }, { "newImage", w_newImage }, @@ -1446,6 +1499,7 @@ static const luaL_Reg functions[] = { "newCanvas", w_newCanvas }, { "newShader", w_newShader }, { "newMesh", w_newMesh }, + { "newText", w_newText }, { "setColor", w_setColor }, { "getColor", w_getColor }, @@ -1471,9 +1525,7 @@ static const luaL_Reg functions[] = { "getLineStyle", w_getLineStyle }, { "getLineJoin", w_getLineJoin }, { "setPointSize", w_setPointSize }, - { "setPointStyle", w_setPointStyle }, { "getPointSize", w_getPointSize }, - { "getPointStyle", w_getPointStyle }, { "setWireframe", w_setWireframe }, { "isWireframe", w_isWireframe }, { "newScreenshot", w_newScreenshot }, @@ -1482,13 +1534,14 @@ static const luaL_Reg functions[] = { "setShader", w_setShader }, { "getShader", w_getShader }, + { "_setDefaultShaderCode", w_setDefaultShaderCode }, - { "isSupported", w_isSupported }, + { "getSupported", w_getSupported }, { "getCanvasFormats", w_getCanvasFormats }, { "getCompressedImageFormats", w_getCompressedImageFormats }, { "getRendererInfo", w_getRendererInfo }, + { "getSystemLimits", w_getSystemLimits }, { "getStats", w_getStats }, - { "getSystemLimit", w_getSystemLimit }, { "draw", w_draw }, @@ -1496,6 +1549,7 @@ static const luaL_Reg functions[] = { "printf", w_printf }, { "isCreated", w_isCreated }, + { "isActive", w_isActive }, { "getWidth", w_getWidth }, { "getHeight", w_getHeight }, { "getDimensions", w_getDimensions }, @@ -1503,8 +1557,10 @@ static const luaL_Reg functions[] = { "setScissor", w_setScissor }, { "getScissor", w_getScissor }, - { "setStencil", w_setStencil }, - { "setInvertedStencil", w_setInvertedStencil }, + { "stencil", w_stencil }, + { "setStencilTest", w_setStencilTest }, + { "getStencilTest", w_getStencilTest }, + { "clearStencil", w_clearStencil }, { "point", w_point }, { "line", w_line }, @@ -1522,10 +1578,6 @@ static const luaL_Reg functions[] = { "shear", w_shear }, { "origin", w_origin }, - // Deprecated since 0.9.1. - { "getMaxImageSize", w_getMaxTextureSize }, - { "getMaxPointSize", w_getMaxPointSize }, - { 0, 0 } }; @@ -1540,6 +1592,7 @@ static const lua_CFunction types[] = luaopen_canvas, luaopen_shader, luaopen_mesh, + luaopen_text, 0 }; @@ -1556,7 +1609,7 @@ extern "C" int luaopen_love_graphics(lua_State *L) WrappedModule w; w.module = instance; w.name = "graphics"; - w.flags = MODULE_GRAPHICS_T; + w.type = MODULE_GRAPHICS_ID; w.functions = functions; w.types = types; diff --git a/src/modules/graphics/opengl/wrap_Graphics.h b/src/modules/graphics/opengl/wrap_Graphics.h index 10add9c9e..ce30adbc9 100644 --- a/src/modules/graphics/opengl/wrap_Graphics.h +++ b/src/modules/graphics/opengl/wrap_Graphics.h @@ -24,12 +24,13 @@ // LOVE #include "wrap_Font.h" #include "wrap_Image.h" -#include "wrap_Quad.h" +#include "graphics/wrap_Quad.h" #include "wrap_SpriteBatch.h" #include "wrap_ParticleSystem.h" #include "wrap_Canvas.h" #include "wrap_Shader.h" #include "wrap_Mesh.h" +#include "wrap_Text.h" #include "Graphics.h" namespace love @@ -41,16 +42,19 @@ namespace opengl int w_reset(lua_State *L); int w_clear(lua_State *L); +int w_discard(lua_State *L); int w_present(lua_State *L); int w_isCreated(lua_State *L); +int w_isActive(lua_State *L); int w_getWidth(lua_State *L); int w_getHeight(lua_State *L); int w_getDimensions(lua_State *L); int w_setScissor(lua_State *L); int w_getScissor(lua_State *L); -int w_setStencil(lua_State *L); -int w_setInvertedStencil(lua_State *L); -int w_getMaxTextureSize(lua_State *L); +int w_stencil(lua_State *L); +int w_setStencilTest(lua_State *L); +int w_getStencilTest(lua_State *L); +int w_clearStencil(lua_State *L); int w_newImage(lua_State *L); int w_newQuad(lua_State *L); int w_newFont(lua_State *L); @@ -60,6 +64,7 @@ int w_newParticleSystem(lua_State *L); int w_newCanvas(lua_State *L); // comments in function int w_newShader(lua_State *L); int w_newMesh(lua_State *L); +int w_newText(lua_State *L); int w_setColor(lua_State *L); int w_getColor(lua_State *L); int w_setBackgroundColor(lua_State *L); @@ -82,10 +87,7 @@ int w_getLineWidth(lua_State *L); int w_getLineStyle(lua_State *L); int w_getLineJoin(lua_State *L); int w_setPointSize(lua_State *L); -int w_setPointStyle(lua_State *L); int w_getPointSize(lua_State *L); -int w_getPointStyle(lua_State *L); -int w_getMaxPointSize(lua_State *L); int w_setWireframe(lua_State *L); int w_isWireframe(lua_State *L); int w_newScreenshot(lua_State *L); @@ -93,12 +95,13 @@ int w_setCanvas(lua_State *L); int w_getCanvas(lua_State *L); int w_setShader(lua_State *L); int w_getShader(lua_State *L); -int w_isSupported(lua_State *L); +int w_setDefaultShaderCode(lua_State *L); +int w_getSupported(lua_State *L); int w_getCanvasFormats(lua_State *L); int w_getCompressedImageFormats(lua_State *L); int w_getRendererInfo(lua_State *L); +int w_getSystemLimits(lua_State *L); int w_getStats(lua_State *L); -int w_getSystemLimit(lua_State *L); int w_draw(lua_State *L); int w_print(lua_State *L); int w_printf(lua_State *L); diff --git a/src/modules/graphics/opengl/wrap_Image.cpp b/src/modules/graphics/opengl/wrap_Image.cpp index 9e2dac9fc..b99d856f0 100644 --- a/src/modules/graphics/opengl/wrap_Image.cpp +++ b/src/modules/graphics/opengl/wrap_Image.cpp @@ -30,7 +30,7 @@ namespace opengl Image *luax_checkimage(lua_State *L, int idx) { - return luax_checktype(L, idx, "Image", GRAPHICS_IMAGE_T); + return luax_checktype(L, idx, GRAPHICS_IMAGE_ID); } int w_Image_setMipmapFilter(lua_State *L) @@ -48,9 +48,7 @@ int w_Image_setMipmapFilter(lua_State *L) } luax_catchexcept(L, [&](){ t->setFilter(f); }); - - float sharpness = (float) luaL_optnumber(L, 3, 0); - t->setMipmapSharpness(sharpness); + t->setMipmapSharpness((float) luaL_optnumber(L, 3, 0.0)); return 0; } @@ -81,7 +79,13 @@ int w_Image_isCompressed(lua_State *L) int w_Image_refresh(lua_State *L) { Image *i = luax_checkimage(L, 1); - luax_catchexcept(L, [&](){ i->refresh(); }); + + int xoffset = luaL_optint(L, 2, 0); + int yoffset = luaL_optint(L, 3, 0); + int w = luaL_optint(L, 4, i->getWidth()); + int h = luaL_optint(L, 5, i->getHeight()); + + luax_catchexcept(L, [&](){ i->refresh(xoffset, yoffset, w, h); }); return 0; } @@ -90,21 +94,9 @@ int w_Image_getData(lua_State *L) Image *i = luax_checkimage(L, 1); if (i->isCompressed()) - { - love::image::CompressedData *t = i->getCompressedData(); - if (t) - luax_pushtype(L, "CompressedData", IMAGE_COMPRESSED_DATA_T, t); - else - lua_pushnil(L); - } + luax_pushtype(L, IMAGE_COMPRESSED_DATA_ID, i->getCompressedData()); else - { - love::image::ImageData *t = i->getImageData(); - if (t) - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, t); - else - lua_pushnil(L); - } + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, i->getImageData()); return 1; } @@ -130,7 +122,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_image(lua_State *L) { - return luax_register_type(L, "Image", functions); + return luax_register_type(L, GRAPHICS_IMAGE_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_Image.h b/src/modules/graphics/opengl/wrap_Image.h index d91d81b2b..7204890be 100644 --- a/src/modules/graphics/opengl/wrap_Image.h +++ b/src/modules/graphics/opengl/wrap_Image.h @@ -24,7 +24,7 @@ // LOVE #include "common/runtime.h" #include "Image.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" namespace love { diff --git a/src/modules/graphics/opengl/wrap_Mesh.cpp b/src/modules/graphics/opengl/wrap_Mesh.cpp index 20c33c94f..1bfbc5999 100644 --- a/src/modules/graphics/opengl/wrap_Mesh.cpp +++ b/src/modules/graphics/opengl/wrap_Mesh.cpp @@ -22,7 +22,7 @@ #include "wrap_Mesh.h" #include "Image.h" #include "Canvas.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" // C++ #include @@ -36,7 +36,7 @@ namespace opengl Mesh *luax_checkmesh(lua_State *L, int idx) { - return luax_checktype(L, idx, "Mesh", GRAPHICS_MESH_T); + return luax_checktype(L, idx, GRAPHICS_MESH_ID); } int w_Mesh_setVertex(lua_State *L) @@ -102,12 +102,12 @@ int w_Mesh_setVertices(lua_State *L) { Mesh *t = luax_checkmesh(L, 1); - size_t vertex_count = lua_objlen(L, 2); + int vertex_count = (int) lua_objlen(L, 2); std::vector vertices; vertices.reserve(vertex_count); // Get the vertices from the table. - for (size_t i = 1; i <= vertex_count; i++) + for (int i = 1; i <= vertex_count; i++) { lua_rawgeti(L, 2, i); @@ -144,13 +144,13 @@ int w_Mesh_getVertices(lua_State *L) const Vertex *vertices = t->getVertices(); - size_t count = t->getVertexCount(); + int count = (int) t->getVertexCount(); lua_createtable(L, count, 0); if (count == 0 || vertices == nullptr) return 1; - for (size_t i = 0; i < count; i++) + for (int i = 0; i < count; i++) { // Create vertex table. lua_createtable(L, 8, 0); @@ -199,7 +199,7 @@ int w_Mesh_setVertexMap(lua_State *L) Mesh *t = luax_checkmesh(L, 1); bool is_table = lua_istable(L, 2); - int nargs = is_table ? lua_objlen(L, 2) : lua_gettop(L) - 1; + int nargs = is_table ? (int) lua_objlen(L, 2) : lua_gettop(L) - 1; std::vector vertexmap; vertexmap.reserve(nargs); @@ -227,11 +227,11 @@ int w_Mesh_getVertexMap(lua_State *L) std::vector vertex_map; luax_catchexcept(L, [&](){ t->getVertexMap(vertex_map); }); - size_t element_count = vertex_map.size(); + int element_count = (int) vertex_map.size(); lua_createtable(L, element_count, 0); - for (size_t i = 0; i < element_count; i++) + for (int i = 0; i < element_count; i++) { lua_pushinteger(L, lua_Integer(vertex_map[i]) + 1); lua_rawseti(L, -2, i + 1); @@ -265,9 +265,9 @@ int w_Mesh_getTexture(lua_State *L) // FIXME: big hack right here. if (typeid(*tex) == typeid(Image)) - luax_pushtype(L, "Image", GRAPHICS_IMAGE_T, tex); + luax_pushtype(L, GRAPHICS_IMAGE_ID, tex); else if (typeid(*tex) == typeid(Canvas)) - luax_pushtype(L, "Canvas", GRAPHICS_CANVAS_T, tex); + luax_pushtype(L, GRAPHICS_CANVAS_ID, tex); else return luaL_error(L, "Unable to determine texture type."); @@ -363,17 +363,12 @@ static const luaL_Reg functions[] = { "getDrawRange", w_Mesh_getDrawRange }, { "setVertexColors", w_Mesh_setVertexColors }, { "hasVertexColors", w_Mesh_hasVertexColors }, - - // Deprecated since 0.9.1. - { "setImage", w_Mesh_setTexture }, - { "getImage", w_Mesh_getTexture }, - { 0, 0 } }; extern "C" int luaopen_mesh(lua_State *L) { - return luax_register_type(L, "Mesh", functions); + return luax_register_type(L, GRAPHICS_MESH_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_ParticleSystem.cpp b/src/modules/graphics/opengl/wrap_ParticleSystem.cpp index 970f2c3de..d60a0b0a4 100644 --- a/src/modules/graphics/opengl/wrap_ParticleSystem.cpp +++ b/src/modules/graphics/opengl/wrap_ParticleSystem.cpp @@ -24,7 +24,7 @@ #include "Image.h" #include "Canvas.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" // C #include @@ -41,7 +41,7 @@ namespace opengl ParticleSystem *luax_checkparticlesystem(lua_State *L, int idx) { - return luax_checktype(L, idx, "ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_T); + return luax_checktype(L, idx, GRAPHICS_PARTICLE_SYSTEM_ID); } int w_ParticleSystem_clone(lua_State *L) @@ -51,7 +51,7 @@ int w_ParticleSystem_clone(lua_State *L) ParticleSystem *clone = nullptr; luax_catchexcept(L, [&](){ clone = t->clone(); }); - luax_pushtype(L, "ParticleSystem", GRAPHICS_PARTICLE_SYSTEM_T, clone); + luax_pushtype(L, GRAPHICS_PARTICLE_SYSTEM_ID, clone); clone->release(); return 1; } @@ -71,9 +71,9 @@ int w_ParticleSystem_getTexture(lua_State *L) // FIXME: big hack right here. if (typeid(*tex) == typeid(Image)) - luax_pushtype(L, "Image", GRAPHICS_IMAGE_T, tex); + luax_pushtype(L, GRAPHICS_IMAGE_ID, tex); else if (typeid(*tex) == typeid(Canvas)) - luax_pushtype(L, "Canvas", GRAPHICS_CANVAS_T, tex); + luax_pushtype(L, GRAPHICS_CANVAS_ID, tex); else return luaL_error(L, "Unable to determine texture type."); @@ -381,7 +381,7 @@ int w_ParticleSystem_setSizes(lua_State *L) { std::vector sizes(nSizes); for (size_t i = 0; i < nSizes; ++i) - sizes[i] = luax_checkfloat(L, 1 + i + 1); + sizes[i] = luax_checkfloat(L, (int) (1 + i + 1)); t->setSizes(sizes); } @@ -396,7 +396,7 @@ int w_ParticleSystem_getSizes(lua_State *L) for (size_t i = 0; i < sizes.size(); i++) lua_pushnumber(L, sizes[i]); - return sizes.size(); + return (int) sizes.size(); } int w_ParticleSystem_setSizeVariation(lua_State *L) @@ -494,14 +494,14 @@ int w_ParticleSystem_setColors(lua_State *L) if (lua_istable(L, 2)) // setColors({r,g,b,a}, {r,g,b,a}, ...) { - size_t nColors = lua_gettop(L) - 1; + int nColors = (int) lua_gettop(L) - 1; if (nColors > 8) return luaL_error(L, "At most eight (8) colors may be used."); std::vector colors(nColors); - for (size_t i = 0; i < nColors; i++) + for (int i = 0; i < nColors; i++) { luaL_checktype(L, i + 2, LUA_TTABLE); @@ -528,7 +528,7 @@ int w_ParticleSystem_setColors(lua_State *L) else // setColors(r,g,b,a, r,g,b,a, ...) { int cargs = lua_gettop(L) - 1; - size_t nColors = (cargs + 3) / 4; // nColors = ceil(color_args / 4) + int nColors = (cargs + 3) / 4; // nColors = ceil(color_args / 4) if (cargs != 3 && (cargs % 4 != 0 || cargs == 0)) return luaL_error(L, "Expected red, green, blue, and alpha. Only got %d of 4 components.", cargs % 4); @@ -547,7 +547,7 @@ int w_ParticleSystem_setColors(lua_State *L) else { std::vector colors(nColors); - for (size_t i = 0; i < nColors; ++i) + for (int i = 0; i < nColors; ++i) { unsigned char r = (unsigned char) luaL_checkinteger(L, 1 + i*4 + 1); unsigned char g = (unsigned char) luaL_checkinteger(L, 1 + i*4 + 2); @@ -582,7 +582,7 @@ int w_ParticleSystem_getColors(lua_State *L) lua_rawseti(L, -2, 4); } - return colors.size(); + return (int) colors.size(); } int w_ParticleSystem_setQuads(lua_State *L) @@ -592,11 +592,11 @@ int w_ParticleSystem_setQuads(lua_State *L) if (lua_istable(L, 2)) { - for (size_t i = 1; i <= lua_objlen(L, 2); i++) + for (int i = 1; i <= (int) lua_objlen(L, 2); i++) { lua_rawgeti(L, 2, i); - Quad *q = luax_checktype(L, -1, "Quad", GRAPHICS_QUAD_T); + Quad *q = luax_checktype(L, -1, GRAPHICS_QUAD_ID); quads.push_back(q); lua_pop(L, 1); @@ -606,7 +606,7 @@ int w_ParticleSystem_setQuads(lua_State *L) { for (int i = 2; i <= lua_gettop(L); i++) { - Quad *q = luax_checktype(L, i, "Quad", GRAPHICS_QUAD_T); + Quad *q = luax_checktype(L, i, GRAPHICS_QUAD_ID); quads.push_back(q); } } @@ -622,9 +622,9 @@ int w_ParticleSystem_getQuads(lua_State *L) lua_createtable(L, (int) quads.size(), 0); - for (size_t i = 0; i < quads.size(); i++) + for (int i = 0; i < (int) quads.size(); i++) { - luax_pushtype(L, "Quad", GRAPHICS_QUAD_T, quads[i]); + luax_pushtype(L, GRAPHICS_QUAD_ID, quads[i]); lua_rawseti(L, -2, i + 1); } @@ -779,17 +779,12 @@ static const luaL_Reg functions[] = { "isPaused", w_ParticleSystem_isPaused }, { "isStopped", w_ParticleSystem_isStopped }, { "update", w_ParticleSystem_update }, - - // Deprecated since 0.9.1. - { "setImage", w_ParticleSystem_setTexture }, - { "getImage", w_ParticleSystem_getTexture }, - { 0, 0 } }; extern "C" int luaopen_particlesystem(lua_State *L) { - return luax_register_type(L, "ParticleSystem", functions); + return luax_register_type(L, GRAPHICS_PARTICLE_SYSTEM_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_Shader.cpp b/src/modules/graphics/opengl/wrap_Shader.cpp index 555cee437..cd5421b4a 100644 --- a/src/modules/graphics/opengl/wrap_Shader.cpp +++ b/src/modules/graphics/opengl/wrap_Shader.cpp @@ -19,7 +19,7 @@ **/ #include "wrap_Shader.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" #include #include @@ -32,7 +32,7 @@ namespace opengl Shader *luax_checkshader(lua_State *L, int idx) { - return luax_checktype(L, idx, "Shader", GRAPHICS_SHADER_T); + return luax_checktype(L, idx, GRAPHICS_SHADER_ID); } int w_Shader_getWarnings(lua_State *L) @@ -87,7 +87,7 @@ static T *_getVectors(lua_State *L, int count, size_t &dimension) return 0; } - for (size_t k = 1; k <= dimension; ++k) + for (int k = 1; k <= (int) dimension; ++k) { lua_rawgeti(L, 3 + i, k); if (lua_isnumber(L, -1)) @@ -132,7 +132,7 @@ int w_Shader_sendInt(lua_State *L) bool should_error = false; try { - shader->sendInt(name, dimension, values, count); + shader->sendInt(name, (int) dimension, values, count); } catch (love::Exception &e) { @@ -173,7 +173,7 @@ int w_Shader_sendFloat(lua_State *L) bool should_error = false; try { - shader->sendFloat(name, dimension, values, count); + shader->sendFloat(name, (int) dimension, values, count); } catch (love::Exception &e) { @@ -199,7 +199,7 @@ int w_Shader_sendMatrix(lua_State *L) return luax_typerror(L, 3, "matrix table"); lua_getfield(L, 3, "dimension"); - int dimension = lua_tointeger(L, -1); + int dimension = (int) lua_tointeger(L, -1); lua_pop(L, 1); if (dimension < 2 || dimension > 4) @@ -217,7 +217,7 @@ int w_Shader_sendMatrix(lua_State *L) // a dimension of mind. You're moving into a land of both shadow // and substance, of things and ideas. You've just crossed over // into... the Twilight Zone. - int other_dimension = lua_tointeger(L, -1); + int other_dimension = (int) lua_tointeger(L, -1); delete[] values; return luaL_error(L, "Invalid matrix size at argument %d: Expected size %dx%d, got %dx%d.", 3+i, dimension, dimension, other_dimension, other_dimension); @@ -258,19 +258,19 @@ static void w_convertMatrices(lua_State *L, int idx) for (int matrix = idx; matrix < idx + matrixcount; matrix++) { luaL_checktype(L, matrix, LUA_TTABLE); - int dimension = lua_objlen(L, matrix); + int dimension = (int) lua_objlen(L, matrix); int newi = 1; lua_createtable(L, dimension * dimension, 0); // Collapse {{a,b,c}, {d,e,f}, ...} to {a,b,c, d,e,f, ...} - for (size_t i = 1; i <= lua_objlen(L, matrix); i++) + for (int i = 1; i <= (int) lua_objlen(L, matrix); i++) { // Push args[matrix][i] onto the stack. lua_rawgeti(L, matrix, i); luaL_checktype(L, -1, LUA_TTABLE); - for (size_t j = 1; j <= lua_objlen(L, -1); j++) + for (int j = 1; j <= (int) lua_objlen(L, -1); j++) { // Push args[matrix[i][j] onto the stack. lua_rawgeti(L, -1, j); @@ -308,7 +308,7 @@ int w_Shader_send(lua_State *L) // Texture (Image or Canvas). p = (Proxy *) lua_touserdata(L, 3); - if (p->flags[GRAPHICS_TEXTURE_ID]) + if (typeFlags[p->type][GRAPHICS_TEXTURE_ID]) return w_Shader_sendTexture(L); break; @@ -376,17 +376,12 @@ static const luaL_Reg functions[] = { "sendTexture", w_Shader_sendTexture }, { "send", w_Shader_send }, { "getExternVariable", w_Shader_getExternVariable }, - - // Deprecated since 0.9.1. - { "sendImage", w_Shader_sendTexture }, - { "sendCanvas", w_Shader_sendTexture }, - { 0, 0 } }; extern "C" int luaopen_shader(lua_State *L) { - return luax_register_type(L, "Shader", functions); + return luax_register_type(L, GRAPHICS_SHADER_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_SpriteBatch.cpp b/src/modules/graphics/opengl/wrap_SpriteBatch.cpp index 5b891348e..fd3ab73bb 100644 --- a/src/modules/graphics/opengl/wrap_SpriteBatch.cpp +++ b/src/modules/graphics/opengl/wrap_SpriteBatch.cpp @@ -22,7 +22,7 @@ #include "wrap_SpriteBatch.h" #include "Image.h" #include "Canvas.h" -#include "wrap_Texture.h" +#include "graphics/wrap_Texture.h" // C++ #include @@ -36,7 +36,7 @@ namespace opengl SpriteBatch *luax_checkspritebatch(lua_State *L, int idx) { - return luax_checktype(L, idx, "SpriteBatch", GRAPHICS_SPRITE_BATCH_T); + return luax_checktype(L, idx, GRAPHICS_SPRITE_BATCH_ID); } int w_SpriteBatch_add(lua_State *L) @@ -45,9 +45,9 @@ int w_SpriteBatch_add(lua_State *L) Quad *quad = nullptr; int startidx = 2; - if (luax_istype(L, 2, GRAPHICS_QUAD_T)) + if (luax_istype(L, 2, GRAPHICS_QUAD_ID)) { - quad = luax_totype(L, 2, "Quad", GRAPHICS_QUAD_T); + quad = luax_totype(L, 2, GRAPHICS_QUAD_ID); startidx = 3; } else if (lua_isnil(L, 2) && !lua_isnoneornil(L, 3)) @@ -78,14 +78,14 @@ int w_SpriteBatch_add(lua_State *L) int w_SpriteBatch_set(lua_State *L) { SpriteBatch *t = luax_checkspritebatch(L, 1); - int id = luaL_checkinteger(L, 2); + int id = luaL_checkint(L, 2); Quad *quad = nullptr; int startidx = 3; - if (luax_istype(L, 3, GRAPHICS_QUAD_T)) + if (luax_istype(L, 3, GRAPHICS_QUAD_ID)) { - quad = luax_totype(L, 3, "Quad", GRAPHICS_QUAD_T); + quad = luax_totype(L, 3, GRAPHICS_QUAD_ID); startidx = 4; } else if (lua_isnil(L, 3) && !lua_isnoneornil(L, 4)) @@ -118,12 +118,6 @@ int w_SpriteBatch_clear(lua_State *L) return 0; } -int w_SpriteBatch_bind(lua_State* /*L*/) -{ - // No-op (deprecated.) - return 0; -} - int w_SpriteBatch_flush(lua_State *L) { SpriteBatch *t = luax_checkspritebatch(L, 1); @@ -146,9 +140,9 @@ int w_SpriteBatch_getTexture(lua_State *L) // FIXME: big hack right here. if (typeid(*tex) == typeid(Image)) - luax_pushtype(L, "Image", GRAPHICS_IMAGE_T, tex); + luax_pushtype(L, GRAPHICS_IMAGE_ID, tex); else if (typeid(*tex) == typeid(Canvas)) - luax_pushtype(L, "Canvas", GRAPHICS_CANVAS_T, tex); + luax_pushtype(L, GRAPHICS_CANVAS_ID, tex); else return luaL_error(L, "Unable to determine texture type."); @@ -242,21 +236,12 @@ static const luaL_Reg functions[] = { "getCount", w_SpriteBatch_getCount }, { "setBufferSize", w_SpriteBatch_setBufferSize }, { "getBufferSize", w_SpriteBatch_getBufferSize }, - - // Deprecated since 0.9.1. - { "setImage", w_SpriteBatch_setTexture }, - { "getImage", w_SpriteBatch_getTexture }, - - // Deprecated since 0.9.2. - { "bind", w_SpriteBatch_bind }, - { "unbind", w_SpriteBatch_flush }, - { 0, 0 } }; extern "C" int luaopen_spritebatch(lua_State *L) { - return luax_register_type(L, "SpriteBatch", functions); + return luax_register_type(L, GRAPHICS_SPRITE_BATCH_ID, functions); } } // opengl diff --git a/src/modules/graphics/opengl/wrap_SpriteBatch.h b/src/modules/graphics/opengl/wrap_SpriteBatch.h index b4095971e..84c92699f 100644 --- a/src/modules/graphics/opengl/wrap_SpriteBatch.h +++ b/src/modules/graphics/opengl/wrap_SpriteBatch.h @@ -33,11 +33,8 @@ namespace opengl SpriteBatch *luax_checkspritebatch(lua_State *L, int idx); int w_SpriteBatch_add(lua_State *L); -int w_SpriteBatch_addg(lua_State *L); int w_SpriteBatch_set(lua_State *L); -int w_SpriteBatch_setg(lua_State *L); int w_SpriteBatch_clear(lua_State *L); -int w_SpriteBatch_bind(lua_State *L); int w_SpriteBatch_flush(lua_State *L); int w_SpriteBatch_setTexture(lua_State *L); int w_SpriteBatch_getTexture(lua_State *L); diff --git a/src/modules/graphics/opengl/wrap_Text.cpp b/src/modules/graphics/opengl/wrap_Text.cpp new file mode 100644 index 000000000..c60af4304 --- /dev/null +++ b/src/modules/graphics/opengl/wrap_Text.cpp @@ -0,0 +1,180 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "wrap_Text.h" + +namespace love +{ +namespace graphics +{ +namespace opengl +{ + +Text *luax_checktext(lua_State *L, int idx) +{ + return luax_checktype(L, idx, GRAPHICS_TEXT_ID); +} + +int w_Text_set(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + + if (lua_isnoneornil(L, 2)) + { + // No argument: clear all current text. + luax_catchexcept(L, [&](){ t->set(); }); + } + else if (lua_isnoneornil(L, 3)) + { + // Single argument: unformatted text. + std::string newtext = luax_checkstring(L, 2); + luax_catchexcept(L, [&](){ t->set(newtext); }); + } + else + { + // Multiple arguments: formatted text. + float wraplimit = (float) luaL_checknumber(L, 3); + + Font::AlignMode align; + const char *alignstr = luaL_checkstring(L, 4); + if (!Font::getConstant(alignstr, align)) + return luaL_error(L, "Invalid align mode: %s", alignstr); + + std::string newtext = luax_checkstring(L, 2); + + luax_catchexcept(L, [&](){ t->set(newtext, wraplimit, align); }); + } + + return 0; +} + +int w_Text_setf(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + + float wraplimit = (float) luaL_checknumber(L, 3); + + Font::AlignMode align; + const char *alignstr = luaL_checkstring(L, 4); + if (!Font::getConstant(alignstr, align)) + return luaL_error(L, "Invalid align mode: %s", alignstr); + + std::string newtext = luax_checkstring(L, 2); + + luax_catchexcept(L, [&](){ t->set(newtext, wraplimit, align); }); + + return 0; +} + +int w_Text_add(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + std::string text = luax_checkstring(L, 2); + + float x = (float) luaL_optnumber(L, 3, 0.0); + float y = (float) luaL_optnumber(L, 4, 0.0); + float a = (float) luaL_optnumber(L, 5, 0.0); + float sx = (float) luaL_optnumber(L, 6, 1.0); + float sy = (float) luaL_optnumber(L, 7, sx); + float ox = (float) luaL_optnumber(L, 8, 0.0); + float oy = (float) luaL_optnumber(L, 9, 0.0); + float kx = (float) luaL_optnumber(L, 10, 0.0); + float ky = (float) luaL_optnumber(L, 11, 0.0); + + luax_catchexcept(L, [&](){ t->add(text, x, y, a, sx, sy, ox, oy, kx, ky); }); + return 0; +} + +int w_Text_addf(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + std::string text = luax_checkstring(L, 2); + float wrap = (float) luaL_checknumber(L, 3); + + Font::AlignMode align = Font::ALIGN_MAX_ENUM; + const char *alignstr = luaL_checkstring(L, 4); + + if (!Font::getConstant(alignstr, align)) + return luaL_error(L, "Invalid align mode: %s", alignstr); + + float x = (float) luaL_optnumber(L, 5, 0.0); + float y = (float) luaL_optnumber(L, 6, 0.0); + float a = (float) luaL_optnumber(L, 7, 0.0); + float sx = (float) luaL_optnumber(L, 8, 1.0); + float sy = (float) luaL_optnumber(L, 9, sx); + float ox = (float) luaL_optnumber(L, 10, 0.0); + float oy = (float) luaL_optnumber(L, 11, 0.0); + float kx = (float) luaL_optnumber(L, 12, 0.0); + float ky = (float) luaL_optnumber(L, 13, 0.0); + + luax_catchexcept(L, [&](){ t->addf(text, wrap, align, x, y, a, sx, sy, ox, oy, kx, ky); }); + return 0; +} + +int w_Text_clear(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + luax_catchexcept(L, [&](){ t->clear(); }); + return 0; +} + +int w_Text_getFont(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + Font *f = t->getFont(); + luax_pushtype(L, GRAPHICS_FONT_ID, f); + return 1; +} + +int w_Text_getWidth(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + lua_pushnumber(L, t->getWidth()); + return 1; +} + +int w_Text_getHeight(lua_State *L) +{ + Text *t = luax_checktext(L, 1); + lua_pushnumber(L, t->getHeight()); + return 1; +} + +static const luaL_Reg functions[] = +{ + { "set", w_Text_set }, + { "setf", w_Text_setf }, + { "add", w_Text_add }, + { "addf", w_Text_addf }, + { "clear", w_Text_clear }, + { "getFont", w_Text_getFont }, + { "getWidth", w_Text_getWidth }, + { "getHeight", w_Text_getHeight }, + { 0, 0 } +}; + +extern "C" int luaopen_text(lua_State *L) +{ + return luax_register_type(L, GRAPHICS_TEXT_ID, functions); +} + +} // opengl +} // graphics +} // love diff --git a/src/modules/graphics/opengl/Texture.h b/src/modules/graphics/opengl/wrap_Text.h similarity index 60% rename from src/modules/graphics/opengl/Texture.h rename to src/modules/graphics/opengl/wrap_Text.h index e30de6960..b156b71a6 100644 --- a/src/modules/graphics/opengl/Texture.h +++ b/src/modules/graphics/opengl/wrap_Text.h @@ -18,13 +18,11 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_GRAPHICS_OPENGL_TEXTURE_H -#define LOVE_GRAPHICS_OPENGL_TEXTURE_H +#ifndef LOVE_GRAPHICS_OPENGL_WRAP_TEXT_H +#define LOVE_GRAPHICS_OPENGL_WRAP_TEXT_H -// LOVE -#include "graphics/Texture.h" -#include "graphics/Volatile.h" -#include "OpenGL.h" +#include "Text.h" +#include "common/runtime.h" namespace love { @@ -33,33 +31,20 @@ namespace graphics namespace opengl { -class Texture : public love::graphics::Texture, public Volatile -{ -public: - - virtual ~Texture() {} - - /** - * Gets the OpenGL id for this texture. - **/ - virtual GLuint getGLTexture() const = 0; - - /** - * Any setup the texture might need to do before drawing, e.g. binding - * the OpenGL texture for use. - **/ - virtual void predraw() {} - - /** - * Any cleanup the texture might need to do directly after drawing. - **/ - virtual void postdraw() {} - - -}; // Texture +Text *luax_checktext(lua_State *L, int idx); +int w_Text_set(lua_State *L); +int w_Text_setf(lua_State *L); +int w_Text_add(lua_State *L); +int w_Text_addf(lua_State *L); +int w_Text_clear(lua_State *L); +int w_Text_getFont(lua_State *L); +int w_Text_getWidth(lua_State *L); +int w_Text_getHeight(lua_State *L); +extern "C" int luaopen_text(lua_State *L); } // opengl } // graphics } // love -#endif // LOVE_GRAPHICS_OPENGL_TEXTURE_H +#endif // LOVE_GRAPHICS_OPENGL_WRAP_TEXT_H + diff --git a/src/modules/graphics/opengl/wrap_Quad.cpp b/src/modules/graphics/wrap_Quad.cpp similarity index 93% rename from src/modules/graphics/opengl/wrap_Quad.cpp rename to src/modules/graphics/wrap_Quad.cpp index 77a2dbeb9..2ee276db5 100644 --- a/src/modules/graphics/opengl/wrap_Quad.cpp +++ b/src/modules/graphics/wrap_Quad.cpp @@ -25,12 +25,10 @@ namespace love { namespace graphics { -namespace opengl -{ Quad *luax_checkquad(lua_State *L, int idx) { - return luax_checktype(L, idx, "Quad", GRAPHICS_QUAD_T); + return luax_checktype(L, idx, GRAPHICS_QUAD_ID); } int w_Quad_setViewport(lua_State *L) @@ -75,9 +73,8 @@ static const luaL_Reg functions[] = extern "C" int luaopen_quad(lua_State *L) { - return luax_register_type(L, "Quad", functions); + return luax_register_type(L, GRAPHICS_QUAD_ID, functions); } -} // opengl } // graphics } // love diff --git a/src/modules/graphics/opengl/wrap_Quad.h b/src/modules/graphics/wrap_Quad.h similarity index 86% rename from src/modules/graphics/opengl/wrap_Quad.h rename to src/modules/graphics/wrap_Quad.h index a766ecb81..5cc6f9963 100644 --- a/src/modules/graphics/opengl/wrap_Quad.h +++ b/src/modules/graphics/wrap_Quad.h @@ -18,27 +18,24 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_GRAPHICS_OPENGL_WRAP_QUAD_H -#define LOVE_GRAPHICS_OPENGL_WRAP_QUAD_H +#ifndef LOVE_GRAPHICS_WRAP_QUAD_H +#define LOVE_GRAPHICS_WRAP_QUAD_H // LOVE #include "common/runtime.h" -#include "graphics/Quad.h" +#include "Quad.h" namespace love { namespace graphics { -namespace opengl -{ Quad *luax_checkquad(lua_State *L, int idx); int w_Quad_setViewport(lua_State *L); int w_Quad_getViewport(lua_State *L); extern "C" int luaopen_quad(lua_State *L); -} // opengl } // graphics } // love -#endif // LOVE_GRAPHICS_OPENGL_WRAP_QUAD_H +#endif // LOVE_GRAPHICS_WRAP_QUAD_H diff --git a/src/modules/graphics/opengl/wrap_Texture.cpp b/src/modules/graphics/wrap_Texture.cpp similarity index 96% rename from src/modules/graphics/opengl/wrap_Texture.cpp rename to src/modules/graphics/wrap_Texture.cpp index 7d6a92dad..a6a0e9543 100644 --- a/src/modules/graphics/opengl/wrap_Texture.cpp +++ b/src/modules/graphics/wrap_Texture.cpp @@ -24,12 +24,10 @@ namespace love { namespace graphics { -namespace opengl -{ Texture *luax_checktexture(lua_State *L, int idx) { - return luax_checktype(L, idx, "Texture", GRAPHICS_TEXTURE_T); + return luax_checktype(L, idx, GRAPHICS_TEXTURE_ID); } int w_Texture_getWidth(lua_State *L) @@ -105,8 +103,8 @@ int w_Texture_setWrap(lua_State *L) if (!Texture::getConstant(tstr, w.t)) return luaL_error(L, "Invalid wrap mode, %s", tstr); - t->setWrap(w); - return 0; + luax_pushboolean(L, t->setWrap(w)); + return 1; } int w_Texture_getWrap(lua_State *L) @@ -127,7 +125,5 @@ int w_Texture_getWrap(lua_State *L) return 2; } - -} // opengl } // graphics } // love diff --git a/src/modules/graphics/opengl/wrap_Texture.h b/src/modules/graphics/wrap_Texture.h similarity index 89% rename from src/modules/graphics/opengl/wrap_Texture.h rename to src/modules/graphics/wrap_Texture.h index bb9c54a05..dd75da6ad 100644 --- a/src/modules/graphics/opengl/wrap_Texture.h +++ b/src/modules/graphics/wrap_Texture.h @@ -18,8 +18,8 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_GRAPHICS_OPENGL_WRAP_TEXTURE_H -#define LOVE_GRAPHICS_OPENGL_WRAP_TEXTURE_H +#ifndef LOVE_GRAPHICS_WRAP_TEXTURE_H +#define LOVE_GRAPHICS_WRAP_TEXTURE_H #include "Texture.h" #include "common/runtime.h" @@ -28,8 +28,6 @@ namespace love { namespace graphics { -namespace opengl -{ Texture *luax_checktexture(lua_State *L, int idx); int w_Texture_getWidth(lua_State *L); @@ -40,8 +38,7 @@ int w_Texture_getFilter(lua_State *L); int w_Texture_setWrap(lua_State *L); int w_Texture_getWrap(lua_State *L); -} // opengl } // graphics } // love -#endif // LOVE_GRAPHICS_OPENGL_WRAP_TEXTURE_H +#endif // LOVE_GRAPHICS_WRAP_TEXTURE_H diff --git a/src/modules/image/CompressedData.cpp b/src/modules/image/CompressedData.cpp index 71e1647e8..5be769d7c 100644 --- a/src/modules/image/CompressedData.cpp +++ b/src/modules/image/CompressedData.cpp @@ -27,7 +27,8 @@ namespace image CompressedData::CompressedData() : format(FORMAT_UNKNOWN) - , data(0) + , sRGB(false) + , data(nullptr) , dataSize(0) { } @@ -48,7 +49,7 @@ void *CompressedData::getData() const int CompressedData::getMipmapCount() const { - return dataImages.size(); + return (int) dataImages.size(); } size_t CompressedData::getSize(int miplevel) const @@ -62,7 +63,7 @@ void *CompressedData::getData(int miplevel) const { checkMipmapLevelExists(miplevel); - return (void *) &dataImages[miplevel].data[0]; + return &dataImages[miplevel].data[0]; } int CompressedData::getWidth(int miplevel) const @@ -84,6 +85,11 @@ CompressedData::Format CompressedData::getFormat() const return format; } +bool CompressedData::isSRGB() const +{ + return sRGB; +} + void CompressedData::checkMipmapLevelExists(int miplevel) const { if (miplevel < 0 || miplevel >= (int) dataImages.size()) @@ -103,17 +109,28 @@ bool CompressedData::getConstant(CompressedData::Format in, const char *&out) StringMap::Entry CompressedData::formatEntries[] = { {"unknown", CompressedData::FORMAT_UNKNOWN}, - {"dxt1", CompressedData::FORMAT_DXT1}, - {"dxt3", CompressedData::FORMAT_DXT3}, - {"dxt5", CompressedData::FORMAT_DXT5}, - {"bc4", CompressedData::FORMAT_BC4}, - {"bc4s", CompressedData::FORMAT_BC4s}, - {"bc5", CompressedData::FORMAT_BC5}, - {"bc5s", CompressedData::FORMAT_BC5s}, - {"bc6h", CompressedData::FORMAT_BC6H}, - {"bc6hs", CompressedData::FORMAT_BC6Hs}, - {"bc7", CompressedData::FORMAT_BC7}, - {"bc7srgb", CompressedData::FORMAT_BC7SRGB}, + {"DXT1", CompressedData::FORMAT_DXT1}, + {"DXT3", CompressedData::FORMAT_DXT3}, + {"DXT5", CompressedData::FORMAT_DXT5}, + {"BC4", CompressedData::FORMAT_BC4}, + {"BC4s", CompressedData::FORMAT_BC4s}, + {"BC5", CompressedData::FORMAT_BC5}, + {"BC5s", CompressedData::FORMAT_BC5s}, + {"BC6h", CompressedData::FORMAT_BC6H}, + {"BC6hs", CompressedData::FORMAT_BC6Hs}, + {"BC7", CompressedData::FORMAT_BC7}, + {"ETC1", CompressedData::FORMAT_ETC1}, + {"ETC2rgb", CompressedData::FORMAT_ETC2_RGB}, + {"ETC2rgba", CompressedData::FORMAT_ETC2_RGBA}, + {"ETC2rgba1", CompressedData::FORMAT_ETC2_RGBA1}, + {"EACr", CompressedData::FORMAT_EAC_R}, + {"EACrs", CompressedData::FORMAT_EAC_Rs}, + {"EACrg", CompressedData::FORMAT_EAC_RG}, + {"EACrgs", CompressedData::FORMAT_EAC_RGs}, + {"PVR1rgb2", CompressedData::FORMAT_PVR1_RGB2}, + {"PVR1rgb4", CompressedData::FORMAT_PVR1_RGB4}, + {"PVR1rgba2", CompressedData::FORMAT_PVR1_RGBA2}, + {"PVR1rgba4", CompressedData::FORMAT_PVR1_RGBA4}, }; StringMap CompressedData::formats(CompressedData::formatEntries, sizeof(CompressedData::formatEntries)); diff --git a/src/modules/image/CompressedData.h b/src/modules/image/CompressedData.h index 9ddb4e211..80f18e13b 100644 --- a/src/modules/image/CompressedData.h +++ b/src/modules/image/CompressedData.h @@ -57,7 +57,18 @@ public: FORMAT_BC6H, FORMAT_BC6Hs, FORMAT_BC7, - FORMAT_BC7SRGB, + FORMAT_ETC1, + FORMAT_ETC2_RGB, + FORMAT_ETC2_RGBA, + FORMAT_ETC2_RGBA1, + FORMAT_EAC_R, + FORMAT_EAC_Rs, + FORMAT_EAC_RG, + FORMAT_EAC_RGs, + FORMAT_PVR1_RGB2, + FORMAT_PVR1_RGB4, + FORMAT_PVR1_RGBA2, + FORMAT_PVR1_RGBA4, FORMAT_MAX_ENUM }; @@ -108,6 +119,8 @@ public: **/ Format getFormat() const; + bool isSRGB() const; + static bool getConstant(const char *in, Format &out); static bool getConstant(Format in, const char *&out); @@ -115,6 +128,8 @@ protected: Format format; + bool sRGB; + // Single block of memory containing all of the sub-images. uint8 *data; size_t dataSize; diff --git a/src/modules/image/ImageData.cpp b/src/modules/image/ImageData.cpp index 212432fa3..2dfd2eb48 100644 --- a/src/modules/image/ImageData.cpp +++ b/src/modules/image/ImageData.cpp @@ -179,7 +179,6 @@ bool ImageData::getConstant(ImageData::Format in, const char *&out) StringMap::Entry ImageData::formatEntries[] = { {"tga", ImageData::FORMAT_TGA}, - {"bmp", ImageData::FORMAT_BMP}, {"jpg", ImageData::FORMAT_JPG}, {"png", ImageData::FORMAT_PNG}, }; diff --git a/src/modules/image/ImageData.h b/src/modules/image/ImageData.h index bbf63417c..ef8ddf773 100644 --- a/src/modules/image/ImageData.h +++ b/src/modules/image/ImageData.h @@ -50,7 +50,6 @@ public: enum Format { FORMAT_TGA, - FORMAT_BMP, FORMAT_JPG, FORMAT_PNG, FORMAT_MAX_ENUM diff --git a/src/modules/image/magpie/CompressedData.cpp b/src/modules/image/magpie/CompressedData.cpp index 07af19ef9..e1d11d55a 100644 --- a/src/modules/image/magpie/CompressedData.cpp +++ b/src/modules/image/magpie/CompressedData.cpp @@ -20,8 +20,6 @@ #include "CompressedData.h" -#include "ddsHandler.h" - namespace love { namespace image @@ -29,9 +27,38 @@ namespace image namespace magpie { -CompressedData::CompressedData(love::filesystem::FileData *filedata) +CompressedData::CompressedData(std::list formats, love::filesystem::FileData *filedata) { - load(filedata); + CompressedFormatHandler *parser = nullptr; + + for (CompressedFormatHandler *handler : formats) + { + if (handler->canParse(filedata)) + { + parser = handler; + break; + } + } + + if (parser == nullptr) + throw love::Exception("Could not parse compressed data: Unknown format."); + + data = parser->parse(filedata, dataImages, dataSize, format, sRGB); + + if (data == nullptr) + throw love::Exception("Could not parse compressed data."); + + if (format == FORMAT_UNKNOWN) + { + delete[] data; + throw love::Exception("Could not parse compressed data: Unknown format."); + } + + if (dataImages.size() == 0 || dataSize == 0) + { + delete[] data; + throw love::Exception("Could not parse compressed data: No valid data?"); + } } CompressedData::~CompressedData() @@ -39,51 +66,6 @@ CompressedData::~CompressedData() delete[] data; } -void CompressedData::load(love::filesystem::FileData *filedata) -{ - // SubImage vector will be populated by a parser. - std::vector parsedimages; - Format texformat = FORMAT_UNKNOWN; - - uint8 *newdata = 0; - size_t newdata_size = 0; - - if (ddsHandler::canParse(filedata)) - newdata = ddsHandler::parse(filedata, parsedimages, newdata_size, texformat); - - if (newdata == 0) - throw love::Exception("Could not parse compressed data."); - - if (texformat == FORMAT_UNKNOWN) - { - delete[] newdata; - throw love::Exception("Could not parse compressed data: Unknown format."); - } - - if (parsedimages.size() == 0 || newdata_size == 0) - { - delete[] newdata; - throw love::Exception("Could not parse compressed data: No valid data?"); - } - - // Make sure to clean up any previously loaded data. - delete[] data; - - data = newdata; - dataSize = newdata_size; - - dataImages = parsedimages; - format = texformat; -} - -bool CompressedData::isCompressed(love::filesystem::FileData *filedata) -{ - if (ddsHandler::canParse(filedata)) - return true; - - return false; -} - } // magpie } // image } // love diff --git a/src/modules/image/magpie/CompressedData.h b/src/modules/image/magpie/CompressedData.h index da66ee9dc..aba40febc 100644 --- a/src/modules/image/magpie/CompressedData.h +++ b/src/modules/image/magpie/CompressedData.h @@ -22,9 +22,13 @@ #define LOVE_IMAGE_MAGPIE_COMPRESSED_DATA_H // LOVE +#include "CompressedFormatHandler.h" #include "filesystem/FileData.h" #include "image/CompressedData.h" +// C++ +#include + namespace love { namespace image @@ -36,15 +40,9 @@ class CompressedData : public love::image::CompressedData { public: - CompressedData(love::filesystem::FileData *filedata); + CompressedData(std::list formats, love::filesystem::FileData *filedata); virtual ~CompressedData(); - static bool isCompressed(love::filesystem::FileData *filedata); - -private: - - void load(love::filesystem::FileData *filedata); - }; // CompressedData } // magpie diff --git a/src/modules/image/magpie/CompressedFormatHandler.h b/src/modules/image/magpie/CompressedFormatHandler.h new file mode 100644 index 000000000..246342195 --- /dev/null +++ b/src/modules/image/magpie/CompressedFormatHandler.h @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_COMPRESSED_HANDLER_H +#define LOVE_IMAGE_MAGPIE_COMPRESSED_HANDLER_H + +// LOVE +#include "filesystem/FileData.h" +#include "image/CompressedData.h" +#include "common/Object.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +/** + * Base class for all CompressedData parser library interfaces. + * We inherit from love::Object to take advantage of reference counting... + **/ +class CompressedFormatHandler : public love::Object +{ +public: + + CompressedFormatHandler() {} + virtual ~CompressedFormatHandler() {} + + /** + * Determines whether a particular FileData can be parsed as CompressedData + * by this handler. + * @param data The data to parse. + **/ + virtual bool canParse(const filesystem::FileData *data) = 0; + + /** + * Parses compressed image filedata into a list of sub-images and returns + * a single block of memory containing all the images. + * + * @param[in] filedata The data to parse. + * @param[out] image The list of sub-images generated. Byte data is a pointer + * to the returned data. + * @param[out] dataSize The total size in bytes of the returned data. + * @param[out] format The format of the Compressed Data. + * @param[out] sRGB Whether the texture is sRGB-encoded. + * + * @return The single block of memory containing the parsed images. + **/ + virtual uint8 *parse(filesystem::FileData *filedata, std::vector &images, + size_t &dataSize, CompressedData::Format &format, bool &sRGB) = 0; + +}; // CompressedFormatHandler + +} // magpie +} // image +} // love + +#endif // LOVE_IMAGE_MAGPIE_COMPRESSED_HANDLER_H diff --git a/src/modules/image/magpie/DevilHandler.cpp b/src/modules/image/magpie/DevilHandler.cpp deleted file mode 100644 index 12bc98d56..000000000 --- a/src/modules/image/magpie/DevilHandler.cpp +++ /dev/null @@ -1,228 +0,0 @@ -/** - * Copyright (c) 2006-2015 LOVE Development Team - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - **/ - -#include "DevilHandler.h" - -// LOVE -#include "common/Exception.h" -#include "common/math.h" - -// DevIL -#include - -namespace love -{ -namespace image -{ -namespace magpie -{ - -static inline void ilxClearErrors() -{ - while (ilGetError() != IL_NO_ERROR); -} - -DevilHandler::DevilHandler() - : mutex(nullptr) -{ - // There should only ever be one DevilHandler object (owned by the Image - // module), so we can use the global initialization function here. - ilInit(); - ilEnable(IL_ORIGIN_SET); - ilOriginFunc(IL_ORIGIN_UPPER_LEFT); -} - -DevilHandler::~DevilHandler() -{ - ilShutDown(); - - if (mutex) - delete mutex; -} - -bool DevilHandler::canDecode(love::filesystem::FileData * /*data*/) -{ - // DevIL can decode a lot of formats... - return true; -} - -bool DevilHandler::canEncode(ImageData::Format format) -{ - switch (format) - { - case ImageData::FORMAT_BMP: - case ImageData::FORMAT_TGA: - case ImageData::FORMAT_JPG: - case ImageData::FORMAT_PNG: - return true; - default: - return false; - } - - return false; -} - -DevilHandler::DecodedImage DevilHandler::decode(love::filesystem::FileData *data) -{ - if (!mutex) - mutex = love::thread::newMutex(); - - love::thread::Lock lock(mutex); - - ILuint image = ilGenImage(); - ilBindImage(image); - - DecodedImage img; - - try - { - bool success = ilLoadL(IL_TYPE_UNKNOWN, (void *)data->getData(), (ILuint) data->getSize()) == IL_TRUE; - - if (!success) - throw love::Exception("Could not decode image!"); - - img.width = ilGetInteger(IL_IMAGE_WIDTH); - img.height = ilGetInteger(IL_IMAGE_HEIGHT); - - // Make sure the image is in RGBA format. - ilConvertImage(IL_RGBA, IL_UNSIGNED_BYTE); - - // This should always be four. - int bpp = ilGetInteger(IL_IMAGE_BPP); - if (bpp != sizeof(pixel)) - throw love::Exception("Could not convert image!"); - - img.size = (size_t) ilGetInteger(IL_IMAGE_SIZE_OF_DATA); - - try - { - img.data = new ILubyte[img.size]; - } - catch (std::bad_alloc &) - { - throw love::Exception("Out of memory."); - } - - memcpy(img.data, ilGetData(), img.size); - } - catch (std::exception &e) - { - // catches love and std exceptions - ilDeleteImage(image); - throw love::Exception("%s", e.what()); - } - - ilDeleteImage(image); - - return img; -} - -DevilHandler::EncodedImage DevilHandler::encode(const DecodedImage &img, ImageData::Format format) -{ - if (!mutex) - mutex = love::thread::newMutex(); - - love::thread::Lock lock(mutex); - - ILuint tempimage = ilGenImage(); - ilBindImage(tempimage); - ilxClearErrors(); - - EncodedImage encodedimage; - - try - { - bool success = ilTexImage(img.width, img.height, 1, sizeof(pixel), IL_RGBA, IL_UNSIGNED_BYTE, img.data) == IL_TRUE; - - ILenum err = ilGetError(); - ilxClearErrors(); - - if (!success) - { - if (err != IL_NO_ERROR) - { - switch (err) - { - case IL_ILLEGAL_OPERATION: - throw love::Exception("Illegal operation"); - case IL_INVALID_PARAM: - throw love::Exception("Invalid parameters"); - case IL_OUT_OF_MEMORY: - throw love::Exception("Out of memory"); - default: - throw love::Exception("Unknown error (%d)", (int) err); - } - } - - throw love::Exception("Could not create image for the encoding!"); - } - - ilRegisterOrigin(IL_ORIGIN_UPPER_LEFT); - - ILuint ilFormat; - switch (format) - { - case ImageData::FORMAT_BMP: - ilFormat = IL_BMP; - break; - case ImageData::FORMAT_TGA: - ilFormat = IL_TGA; - break; - case ImageData::FORMAT_JPG: - ilFormat = IL_JPG; - break; - case ImageData::FORMAT_PNG: - default: // PNG is the default format - ilFormat = IL_PNG; - break; - } - - encodedimage.size = ilSaveL(ilFormat, NULL, 0); - if (!encodedimage.size) - throw love::Exception("Could not encode image!"); - - try - { - encodedimage.data = new ILubyte[encodedimage.size]; - } - catch(std::bad_alloc &) - { - throw love::Exception("Out of memory"); - } - - ilSaveL(ilFormat, encodedimage.data, encodedimage.size); - } - catch (std::exception &e) - { - // Catches love and std exceptions. - ilDeleteImage(tempimage); - delete[] encodedimage.data; - encodedimage.data = 0; - throw love::Exception("%s", e.what()); - } - - ilDeleteImage(tempimage); - - return encodedimage; -} - -} // magpie -} // image -} // love diff --git a/src/modules/image/magpie/FormatHandler.cpp b/src/modules/image/magpie/FormatHandler.cpp index 174bd96a4..55781fec4 100644 --- a/src/modules/image/magpie/FormatHandler.cpp +++ b/src/modules/image/magpie/FormatHandler.cpp @@ -57,6 +57,11 @@ FormatHandler::EncodedImage FormatHandler::encode(const DecodedImage& /*img*/, I throw love::Exception("Image encoding is not implemented for this format backend."); } +void FormatHandler::free(unsigned char *mem) +{ + delete[] mem; +} + } // magpie } // image } // love diff --git a/src/modules/image/magpie/FormatHandler.h b/src/modules/image/magpie/FormatHandler.h index 798c0629c..e3b1d45ad 100644 --- a/src/modules/image/magpie/FormatHandler.h +++ b/src/modules/image/magpie/FormatHandler.h @@ -44,18 +44,17 @@ public: // Raw RGBA pixel data. struct DecodedImage { - int width, height; - size_t size; - unsigned char *data; - DecodedImage() : width(0), height(0), size(0), data(0) {} + int width = 0; + int height = 0; + size_t size = 0; + unsigned char *data = nullptr; }; // Pixel data encoded in a particular format. struct EncodedImage { - size_t size; - unsigned char *data; - EncodedImage() : size(0), data(0) {} + size_t size = 0; + unsigned char *data = nullptr; }; /** @@ -93,6 +92,11 @@ public: **/ virtual EncodedImage encode(const DecodedImage &img, ImageData::Format format); + /** + * Frees memory allocated by the format handler. + **/ + virtual void free(unsigned char *mem); + }; // FormatHandler } // magpie diff --git a/src/modules/image/magpie/Image.cpp b/src/modules/image/magpie/Image.cpp index 971aa1823..470357cee 100644 --- a/src/modules/image/magpie/Image.cpp +++ b/src/modules/image/magpie/Image.cpp @@ -23,7 +23,15 @@ #include "ImageData.h" #include "CompressedData.h" -#include "DevilHandler.h" +#include "JPEGHandler.h" +#include "PNGHandler.h" +#include "STBHandler.h" +#include "ImageIOHandler.h" + +#include "ddsHandler.h" +#include "PVRHandler.h" +#include "KTXHandler.h" +#include "PKMHandler.h" namespace love { @@ -34,15 +42,33 @@ namespace magpie Image::Image() { - formatHandlers.push_back(new DevilHandler); + formatHandlers.push_back(new PNGHandler); + +#ifndef LOVE_NO_TURBOJPEG + formatHandlers.push_back(new JPEGHandler); +#endif + + formatHandlers.push_back(new STBHandler); + +#ifdef LOVE_SUPPORT_IMAGEIO + formatHandlers.push_back(new ImageIOHandler); +#endif + + compressedFormatHandlers.push_back(new DDSHandler); + compressedFormatHandlers.push_back(new PVRHandler); + compressedFormatHandlers.push_back(new KTXHandler); + compressedFormatHandlers.push_back(new PKMHandler); } Image::~Image() { // ImageData objects reference the FormatHandlers in our list, so we should // release them instead of deleting them completely here. - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) - (*it)->release(); + for (FormatHandler *handler : formatHandlers) + handler->release(); + + for (CompressedFormatHandler *handler : compressedFormatHandlers) + handler->release(); } const char *Image::getName() const @@ -67,12 +93,18 @@ love::image::ImageData *Image::newImageData(int width, int height, void *data, b love::image::CompressedData *Image::newCompressedData(love::filesystem::FileData *data) { - return new CompressedData(data); + return new CompressedData(compressedFormatHandlers, data); } bool Image::isCompressed(love::filesystem::FileData *data) { - return CompressedData::isCompressed(data); + for (CompressedFormatHandler *handler : compressedFormatHandlers) + { + if (handler->canParse(data)) + return true; + } + + return false; } } // magpie diff --git a/src/modules/image/magpie/Image.h b/src/modules/image/magpie/Image.h index 50809bdc3..4597e46b9 100644 --- a/src/modules/image/magpie/Image.h +++ b/src/modules/image/magpie/Image.h @@ -24,6 +24,7 @@ // LOVE #include "image/Image.h" #include "FormatHandler.h" +#include "CompressedFormatHandler.h" // C++ #include @@ -63,6 +64,9 @@ private: // Image format handlers we can use for decoding and encoding ImageData. std::list formatHandlers; + // Compressed image format handers we can use for parsing CompressedData. + std::list compressedFormatHandlers; + }; // Image } // magpie diff --git a/src/modules/image/magpie/ImageData.cpp b/src/modules/image/magpie/ImageData.cpp index 90e602f65..b40a3ee24 100644 --- a/src/modules/image/magpie/ImageData.cpp +++ b/src/modules/image/magpie/ImageData.cpp @@ -30,18 +30,20 @@ namespace magpie ImageData::ImageData(std::list formats, love::filesystem::FileData *data) : formatHandlers(formats) + , decodeHandler(nullptr) { - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) - (*it)->retain(); + for (FormatHandler *handler : formatHandlers) + handler->retain(); decode(data); } ImageData::ImageData(std::list formats, int width, int height) : formatHandlers(formats) + , decodeHandler(nullptr) { - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) - (*it)->retain(); + for (FormatHandler *handler : formatHandlers) + handler->retain(); this->width = width; this->height = height; @@ -54,9 +56,10 @@ ImageData::ImageData(std::list formats, int width, int height) ImageData::ImageData(std::list formats, int width, int height, void *data, bool own) : formatHandlers(formats) + , decodeHandler(nullptr) { - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) - (*it)->retain(); + for (FormatHandler *handler : formatHandlers) + handler->retain(); this->width = width; this->height = height; @@ -69,10 +72,13 @@ ImageData::ImageData(std::list formats, int width, int height, ImageData::~ImageData() { - delete[] data; + if (decodeHandler) + decodeHandler->free(data); + else + delete[] data; - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) - (*it)->release(); + for (FormatHandler *handler : formatHandlers) + handler->release(); } void ImageData::create(int width, int height, void *data) @@ -88,23 +94,32 @@ void ImageData::create(int width, int height, void *data) if (data) memcpy(this->data, data, width*height*sizeof(pixel)); + + decodeHandler = nullptr; } void ImageData::decode(love::filesystem::FileData *data) { + FormatHandler *decoder = nullptr; FormatHandler::DecodedImage decodedimage; - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) + for (FormatHandler *handler : formatHandlers) { - if ((*it)->canDecode(data)) + if (handler->canDecode(data)) { - decodedimage = (*it)->decode(data); + decoder = handler; break; } } + if (decoder) + decodedimage = decoder->decode(data); + if (decodedimage.data == nullptr) - throw love::Exception("Could not decode image: unrecognized format."); + { + const char *ext = data->getExtension().c_str(); + throw love::Exception("Could not decode to ImageData: unrecognized format (%s)", ext); + } // The decoder *must* output a 32 bits-per-pixel image. if (decodedimage.size != decodedimage.width*decodedimage.height*sizeof(pixel)) @@ -113,54 +128,65 @@ void ImageData::decode(love::filesystem::FileData *data) throw love::Exception("Could not convert image!"); } - if (this->data) + // Clean up any old data. + if (decodeHandler) + decodeHandler->free(this->data); + else delete[] this->data; this->width = decodedimage.width; this->height = decodedimage.height; this->data = decodedimage.data; + + decodeHandler = decoder; } void ImageData::encode(love::filesystem::File *f, ImageData::Format format) { + FormatHandler *encoder = nullptr; FormatHandler::EncodedImage encodedimage; + FormatHandler::DecodedImage rawimage; + rawimage.width = width; + rawimage.height = height; + rawimage.size = width*height*sizeof(pixel); + rawimage.data = data; + + for (FormatHandler *handler : formatHandlers) { - // We only need to lock this mutex when actually encoding the ImageData. - thread::Lock lock(mutex); - - FormatHandler::DecodedImage rawimage; - rawimage.width = width; - rawimage.height = height; - rawimage.size = width*height*sizeof(pixel); - rawimage.data = data; - - for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it) + if (handler->canEncode(format)) { - if ((*it)->canEncode(format)) - { - encodedimage = (*it)->encode(rawimage, format); - break; - } + encoder = handler; + break; } + } - if (encodedimage.data == nullptr) - throw love::Exception("Image format has no suitable encoder."); + if (encoder != nullptr) + { + thread::Lock lock(mutex); + encodedimage = encoder->encode(rawimage, format); + } + + if (encoder == nullptr || encodedimage.data == nullptr) + { + const char *fname = "unknown"; + getConstant(format, fname); + throw love::Exception("no suitable image encoder for %s format.", fname); } try { - f->open(love::filesystem::File::WRITE); + f->open(love::filesystem::File::MODE_WRITE); f->write(encodedimage.data, encodedimage.size); f->close(); } catch (love::Exception &) { - delete[] encodedimage.data; + encoder->free(encodedimage.data); throw; } - delete[] encodedimage.data; + encoder->free(encodedimage.data); } } // magpie diff --git a/src/modules/image/magpie/ImageData.h b/src/modules/image/magpie/ImageData.h index 258189177..c8dbc9459 100644 --- a/src/modules/image/magpie/ImageData.h +++ b/src/modules/image/magpie/ImageData.h @@ -59,6 +59,10 @@ private: // Image format handlers we can use for decoding and encoding. std::list formatHandlers; + // The format handler that was used to decode the ImageData. We need to know + // this so we can properly delete memory allocated by the decoder. + FormatHandler *decodeHandler; + }; // ImageData } // magpie diff --git a/src/modules/image/magpie/ImageIOHandler.cpp b/src/modules/image/magpie/ImageIOHandler.cpp new file mode 100644 index 000000000..1c26ea8a4 --- /dev/null +++ b/src/modules/image/magpie/ImageIOHandler.cpp @@ -0,0 +1,278 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "ImageIOHandler.h" + +#ifdef LOVE_SUPPORT_IMAGEIO + +// LOVE +#include "common/Exception.h" +#include "common/math.h" +#include "filesystem/File.h" + +// ImageIO +#include + +#if defined(LOVE_IOS) +#include +#elif defined(LOVE_MACOSX) +#include +#endif + +// STL +#include +#include + +using love::thread::Lock; + +namespace love +{ +namespace image +{ +namespace magpie +{ + +static const CFStringRef invalidFormat = CFSTR(""); + +static CFStringRef getFormatType(ImageData::Format format) +{ + switch (format) + { + case ImageData::FORMAT_JPG: + return kUTTypeJPEG; + case ImageData::FORMAT_TGA: + return CFSTR("com.truevision.tga-image"); + case ImageData::FORMAT_PNG: + return kUTTypePNG; + default: + return invalidFormat; + } +} + +ImageIOHandler::ImageIOHandler() + : mutex(nullptr) +{ + mutex = love::thread::newMutex(); +} + +ImageIOHandler::~ImageIOHandler() +{ + delete mutex; +} + +bool ImageIOHandler::canDecode(love::filesystem::FileData *data) +{ + CFStringRef cfext = CFStringCreateWithCString(nullptr, data->getExtension().c_str(), kCFStringEncodingUTF8); + CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, cfext, nullptr); + + CFRelease(cfext); + + if (!UTI) + return false; + + CFArrayRef types = CGImageSourceCopyTypeIdentifiers(); + Boolean isdecodable = CFArrayContainsValue(types, CFRangeMake(0, CFArrayGetCount(types)), UTI); + + CFRelease(UTI); + CFRelease(types); + + return isdecodable; +} + +bool ImageIOHandler::canEncode(ImageData::Format format) +{ + CFStringRef cftype = getFormatType(format); + if (cftype == invalidFormat) + return false; + + // Is the format supported for writing on this system? + CFArrayRef types = CGImageDestinationCopyTypeIdentifiers(); + + Boolean iswritable = CFArrayContainsValue(types, CFRangeMake(0, CFArrayGetCount(types)), cftype); + CFRelease(types); + + return iswritable; +} + +ImageIOHandler::DecodedImage ImageIOHandler::decode(love::filesystem::FileData *data) +{ + Lock lock(mutex); + + DecodedImage img; + + CFDataRef cfdata = CFDataCreateWithBytesNoCopy(nullptr, (const UInt8 *) data->getData(), data->getSize(), kCFAllocatorNull); + CGImageSourceRef source = CGImageSourceCreateWithData(cfdata, nullptr); + CGImageRef image = CGImageSourceCreateImageAtIndex(source, 0, nullptr); + + CFRelease(cfdata); + CFRelease(source); + + if (!image) + throw love::Exception("Could not decode image!"); + + img.width = (int) CGImageGetWidth(image); + img.height = (int) CGImageGetHeight(image); + + CGImageAlphaInfo alphainfo = CGImageGetAlphaInfo(image); + + size_t bpp = CGImageGetBitsPerPixel(image); + + // If the bpp doesn't match, we need to draw the image onto a new 32 bpp canvas + if (bpp != 32) + { + // Create a new bitmap canvas + CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); + CGContextRef context = CGBitmapContextCreate(nullptr, img.width, img.height, 8, img.width*sizeof(pixel), colorspace, kCGImageAlphaPremultipliedLast); + CGColorSpaceRelease(colorspace); + + if (!context) + { + CGImageRelease(image); + throw love::Exception("Could not decode image: error converting to 32 bpp!"); + } + + // Draw a black background + CGContextSetRGBFillColor(context, 0, 0, 0, 1); + CGContextFillRect(context, CGRectMake(0, 0, img.width, img.height)); + + CGContextDrawImage(context, CGRectMake(0, 0, img.width, img.height), image); + + // Replace the old image with the canvas + CGImageRef contextimage = CGBitmapContextCreateImage(context); + CGContextRelease(context); + + CGImageRelease(image); + image = contextimage; + + if (!image) + throw love::Exception("Could not decode image: error converting to 32 bpp!"); + } + + cfdata = CGDataProviderCopyData(CGImageGetDataProvider(image)); + CGImageRelease(image); + + img.size = CFDataGetLength(cfdata); + + try + { + img.data = new unsigned char[img.size]; + } + catch (std::bad_alloc &) + { + CFRelease(cfdata); + throw love::Exception("Out of memory."); + } + + CFDataGetBytes(cfdata, CFRangeMake(0, img.size), (UInt8 *) img.data); + CFRelease(cfdata); + + // ImageIO might try to be "helpful" and premultiply the image's alpha for us, + // now we have to un-premultiply it ourselves. Thanks... + if (alphainfo == kCGImageAlphaPremultipliedLast) + { + pixel *pixels = (pixel *) img.data; + for (int i = 0; i < img.width * img.height; i++) + { + unsigned char alpha = pixels[i].a; + + if (alpha > 0 && alpha < 255) + { + pixels[i].r = ((short) pixels[i].r * 255) / alpha; + pixels[i].g = ((short) pixels[i].g * 255) / alpha; + pixels[i].b = ((short) pixels[i].b * 255) / alpha; + } + } + } + + return img; +} + +ImageIOHandler::EncodedImage ImageIOHandler::encode(const DecodedImage &img, ImageData::Format format) +{ + Lock lock(mutex); + + EncodedImage encodedimage; + + CFStringRef cftype = getFormatType(format); + + if (cftype == invalidFormat || !canEncode(format)) + throw love::Exception("Could not encode image: format is not supported on this system."); + + CGDataProviderRef provider = CGDataProviderCreateWithData(nullptr, img.data, img.size, nullptr); + + CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); + CGBitmapInfo bitmapinfo = kCGBitmapByteOrderDefault | kCGImageAlphaLast; + CGColorRenderingIntent intent = kCGRenderingIntentDefault; + size_t pixsize = sizeof(pixel); + + // Create a CoreGraphics image using the ImageData + CGImageRef image = CGImageCreate(img.width, img.height, 8, 8*pixsize, img.width*pixsize, space, bitmapinfo, provider, nullptr, false, intent); + + CGColorSpaceRelease(space); + CGDataProviderRelease(provider); + + CFMutableDataRef encodeddata = CFDataCreateMutable(nullptr, 0); + if (!encodeddata) + { + CFRelease(image); + throw love::Exception("Could not create image for encoding!"); + } + + // Set up the encoder, using encodeddata as a chunk of memory to store the final result + CGImageDestinationRef dest = CGImageDestinationCreateWithData(encodeddata, cftype, 1, nullptr); + CGImageDestinationAddImage(dest, image, nullptr); + + // Encode the CoreGraphics image to the specified format + bool success = CGImageDestinationFinalize(dest); + + CFRelease(image); + CFRelease(dest); + + CFIndex encodedsize = CFDataGetLength(encodeddata); + + if (!success || encodedsize <= 0) + { + CFRelease(encodeddata); + throw love::Exception("Could not encode image!"); + } + + encodedimage.size = encodedsize; + + try + { + encodedimage.data = new unsigned char[encodedsize]; + } + catch (std::bad_alloc &) + { + CFRelease(encodeddata); + throw love::Exception("Out of memory"); + } + + CFDataGetBytes(encodeddata, CFRangeMake(0, encodedsize), encodedimage.data); + CFRelease(encodeddata); + + return encodedimage; +} + +} // magpie +} // image +} // love + +#endif // LOVE_SUPPORT_IMAGEIO diff --git a/src/modules/image/magpie/ImageIOHandler.h b/src/modules/image/magpie/ImageIOHandler.h new file mode 100644 index 000000000..d70836b0f --- /dev/null +++ b/src/modules/image/magpie/ImageIOHandler.h @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_IMAGEIO_HANDLER_H +#define LOVE_IMAGE_MAGPIE_IMAGEIO_HANDLER_H + +#include "common/config.h" + +#ifdef LOVE_SUPPORT_IMAGEIO + +// LOVE +#include "FormatHandler.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +class ImageIOHandler : public FormatHandler +{ +public: + + ImageIOHandler(); + virtual ~ImageIOHandler(); + + // Implements FormatHandler. + + virtual bool canDecode(love::filesystem::FileData *data); + virtual bool canEncode(ImageData::Format format); + + virtual DecodedImage decode(love::filesystem::FileData *data); + virtual EncodedImage encode(const DecodedImage &img, ImageData::Format format); + +private: + + love::thread::Mutex *mutex; + +}; // ImageIOHandler + +} // magpie +} // image +} // love + +#endif // LOVE_SUPPORT_IMAGEIO + +#endif // LOVE_IMAGE_MAGPIE_IMAGEIO_HANDLER_H diff --git a/src/modules/image/magpie/JPEGHandler.cpp b/src/modules/image/magpie/JPEGHandler.cpp new file mode 100644 index 000000000..7bc559d94 --- /dev/null +++ b/src/modules/image/magpie/JPEGHandler.cpp @@ -0,0 +1,168 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "JPEGHandler.h" + +#ifndef LOVE_NO_TURBOJPEG + +// LOVE +#include "common/Exception.h" +#include "common/math.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +JPEGHandler::JPEGHandler() +{ + mutex = love::thread::newMutex(); + + decompressor = tjInitDecompress(); + compressor = tjInitCompress(); +} + +JPEGHandler::~JPEGHandler() +{ + delete mutex; + + if (decompressor) + tjDestroy(decompressor); + + if (compressor) + tjDestroy(compressor); +} + +bool JPEGHandler::canDecode(love::filesystem::FileData *data) +{ + if (!decompressor) + return false; + + love::thread::Lock lock(mutex); + + int w, h, subsamp; + int status = tjDecompressHeader2(decompressor, + (unsigned char *) data->getData(), + data->getSize(), + &w, &h, &subsamp); + + return (status == 0); +} + +bool JPEGHandler::canEncode(ImageData::Format format) +{ + if (!compressor) + return false; + + return format == ImageData::FORMAT_JPG; +} + +FormatHandler::DecodedImage JPEGHandler::decode(love::filesystem::FileData *data) +{ + if (!decompressor) + throw love::Exception("Could not decode jpeg image: %s", tjGetErrorStr()); + + DecodedImage img; + unsigned char *jpegdata = (unsigned char *) data->getData(); + + love::thread::Lock lock(mutex); + + int unused; + int status = tjDecompressHeader2(decompressor, + jpegdata, data->getSize(), + &img.width, &img.height, + &unused); + + if (status < 0) + throw love::Exception("Could not decode jpeg image: %s", tjGetErrorStr()); + + img.size = img.width * img.height * sizeof(pixel); + + try + { + img.data = new unsigned char[img.size]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + status = tjDecompress2(decompressor, + jpegdata, data->getSize(), + img.data, 0, 0, 0, TJPF_RGBA, 0); + + if (status < 0) + { + delete[] img.data; + throw love::Exception("Could not decode jpeg image: %s", tjGetErrorStr()); + } + + return img; +} + +FormatHandler::EncodedImage JPEGHandler::encode(const DecodedImage &img, ImageData::Format format) +{ + if (!canEncode(format)) + throw love::Exception("JPEG encoder cannot encode specified format."); + + EncodedImage encodedimage; + + love::thread::Lock lock(mutex); + + unsigned long tjsize = tjBufSize(img.width, img.height, TJSAMP_444); + + try + { + // We want to allocate the memory ourselves instead of letting + // TurboJPEG do it, so we can safely use delete[] in ImageData.cpp. + encodedimage.data = new unsigned char[tjsize]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + unsigned long jpegSize = tjsize; + + int status = tjCompress2(compressor, + img.data, + img.width, 0, img.height, + TJPF_RGBA, + &encodedimage.data, &jpegSize, + TJSAMP_444, COMPRESS_QUALITY, TJFLAG_NOREALLOC); + + if (status < 0) + { + delete[] encodedimage.data; + throw love::Exception("Could not encode jpeg image: %s", tjGetErrorStr()); + } + + encodedimage.size = jpegSize; + + return encodedimage; +} + +} // magpie +} // image +} // love + +#endif // LOVE_NO_TURBOJPEG diff --git a/src/modules/image/magpie/JPEGHandler.h b/src/modules/image/magpie/JPEGHandler.h new file mode 100644 index 000000000..2d2131e42 --- /dev/null +++ b/src/modules/image/magpie/JPEGHandler.h @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_JPEG_HANDLER_H +#define LOVE_IMAGE_MAGPIE_JPEG_HANDLER_H + +#include "common/config.h" + +#ifndef LOVE_NO_TURBOJPEG + +// LOVE +#include "FormatHandler.h" +#include "thread/threads.h" + +// libjpeg-turbo +#ifdef LOVE_APPLE_USE_FRAMEWORKS +#include +#else +#include +#endif + +namespace love +{ +namespace image +{ +namespace magpie +{ + +/** + * Interface between ImageData and TurboJPEG. + **/ +class JPEGHandler : public FormatHandler +{ +public: + + // Implements FormatHandler. + + JPEGHandler(); + virtual ~JPEGHandler(); + + virtual bool canDecode(love::filesystem::FileData *data); + virtual bool canEncode(ImageData::Format format); + + virtual DecodedImage decode(love::filesystem::FileData *data); + virtual EncodedImage encode(const DecodedImage &img, ImageData::Format format); + +private: + + Mutex *mutex; + + tjhandle decompressor; + tjhandle compressor; + + static const int COMPRESS_QUALITY = 90; + +}; // JPEGHandler + +} // magpie +} // image +} // love + +#endif // LOVE_NO_TURBOJPEG + +#endif // LOVE_IMAGE_MAGPIE_JPEG_HANDLER_H diff --git a/src/modules/image/magpie/KTXHandler.cpp b/src/modules/image/magpie/KTXHandler.cpp new file mode 100644 index 000000000..1767ca369 --- /dev/null +++ b/src/modules/image/magpie/KTXHandler.cpp @@ -0,0 +1,267 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "KTXHandler.h" +#include "common/int.h" + +// C +#include + +// C++ +#include + +namespace love +{ +namespace image +{ +namespace magpie +{ + +namespace +{ + +#define KTX_IDENTIFIER_REF {0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A} +#define KTX_ENDIAN_REF (0x04030201) +#define KTX_ENDIAN_REF_REV (0x01020304) +#define KTX_HEADER_SIZE (64) + +struct KTXHeader +{ + uint8 identifier[12]; + uint32 endianness; + uint32 glType; + uint32 glTypeSize; + uint32 glFormat; + uint32 glInternalFormat; + uint32 glBaseInternalFormat; + uint32 pixelWidth; + uint32 pixelHeight; + uint32 pixelDepth; + uint32 numberOfArrayElements; + uint32 numberOfFaces; + uint32 numberOfMipmapLevels; + uint32 bytesOfKeyValueData; +}; + +static_assert(sizeof(KTXHeader) == KTX_HEADER_SIZE, "Real size of KTX header doesn't match struct size!"); + +enum KTXGLInternalFormat +{ + KTX_GL_ETC1_RGB8_OES = 0x8D64, + + KTX_GL_COMPRESSED_R11_EAC = 0x9270, + KTX_GL_COMPRESSED_SIGNED_R11_EAC = 0x9271, + KTX_GL_COMPRESSED_RG11_EAC = 0x9272, + KTX_GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273, + KTX_GL_COMPRESSED_RGB8_ETC2 = 0x9274, + KTX_GL_COMPRESSED_SRGB8_ETC2 = 0x9275, + KTX_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276, + KTX_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277, + KTX_GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278, + KTX_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279, + + // I don't know if any KTX file contains PVR data, but why not support it. + KTX_GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00, + KTX_GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01, + KTX_GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02, + KTX_GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03, + + // Same with DXT1/3/5. + KTX_GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0, + KTX_GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2, + KTX_GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 +}; + +CompressedData::Format convertFormat(uint32 glformat, bool &sRGB) +{ + sRGB = false; + + switch (glformat) + { + case KTX_GL_ETC1_RGB8_OES: + return CompressedData::FORMAT_ETC1; + case KTX_GL_COMPRESSED_R11_EAC: + return CompressedData::FORMAT_EAC_R; + case KTX_GL_COMPRESSED_SIGNED_R11_EAC: + return CompressedData::FORMAT_EAC_Rs; + case KTX_GL_COMPRESSED_RG11_EAC: + return CompressedData::FORMAT_EAC_RG; + case KTX_GL_COMPRESSED_SIGNED_RG11_EAC: + return CompressedData::FORMAT_EAC_RGs; + case KTX_GL_COMPRESSED_RGB8_ETC2: + return CompressedData::FORMAT_ETC2_RGB; + case KTX_GL_COMPRESSED_SRGB8_ETC2: + sRGB = true; + return CompressedData::FORMAT_ETC2_RGB; + case KTX_GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: + return CompressedData::FORMAT_ETC2_RGBA1; + case KTX_GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: + sRGB = true; + return CompressedData::FORMAT_ETC2_RGBA1; + case KTX_GL_COMPRESSED_RGBA8_ETC2_EAC: + return CompressedData::FORMAT_ETC2_RGBA; + case KTX_GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: + sRGB = true; + return CompressedData::FORMAT_ETC2_RGBA; + case KTX_GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: + return CompressedData::FORMAT_PVR1_RGB4; + case KTX_GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: + return CompressedData::FORMAT_PVR1_RGB2; + case KTX_GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: + return CompressedData::FORMAT_PVR1_RGBA4; + case KTX_GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: + return CompressedData::FORMAT_PVR1_RGBA2; + case KTX_GL_COMPRESSED_RGB_S3TC_DXT1_EXT: + return CompressedData::FORMAT_DXT1; + case KTX_GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: + return CompressedData::FORMAT_DXT3; + case KTX_GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: + return CompressedData::FORMAT_DXT5; + default: + return CompressedData::FORMAT_UNKNOWN; + } +} + +} // Anonymous namespace. + +bool KTXHandler::canParse(const filesystem::FileData *data) +{ + if (data->getSize() < sizeof(KTXHeader)) + return false; + + KTXHeader *header = (KTXHeader *) data->getData(); + uint8 ktxidentifier[12] = KTX_IDENTIFIER_REF; + + if (memcmp(header->identifier, ktxidentifier, 12) != 0) + return false; + + if (header->endianness != KTX_ENDIAN_REF && header->endianness != KTX_ENDIAN_REF_REV) + return false; + + return true; +} + +uint8 *KTXHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB) +{ + if (!canParse(filedata)) + throw love::Exception("Could not decode compressed data (not a KTX file?)"); + + KTXHeader header = *(KTXHeader *) filedata->getData(); + + if (header.endianness == KTX_ENDIAN_REF_REV) + { + uint32 *headerArray = (uint32 *) &header.glType; + for (int i = 0; i < 12; i++) + headerArray[i] = swap32(headerArray[i]); + } + + header.numberOfMipmapLevels = std::max(header.numberOfMipmapLevels, 1u); + + bool isSRGB = false; + CompressedData::Format cformat = convertFormat(header.glInternalFormat, isSRGB); + + if (cformat == CompressedData::FORMAT_UNKNOWN) + throw love::Exception("Unsupported image format in KTX file."); + + if (header.numberOfArrayElements > 0) + throw love::Exception("Texture arrays in KTX files are not supported."); + + if (header.pixelDepth > 1) + throw love::Exception("3D textures in KTX files are not supported."); + + if (header.numberOfFaces > 1) + throw love::Exception("Cubemap textures in KTX files are not supported."); + + size_t fileoffset = sizeof(KTXHeader) + header.bytesOfKeyValueData; + const uint8 *filebytes = (uint8 *) filedata->getData(); + size_t totalsize = 0; + + // Calculate the total size needed to hold the data in memory. + for (int i = 0; i < (int) header.numberOfMipmapLevels; i++) + { + if (fileoffset + sizeof(uint32) > filedata->getSize()) + throw love::Exception("Could not parse KTX file: unexpected EOF."); + + uint32 mipsize = *(uint32 *) (filebytes + fileoffset); + + if (header.endianness == KTX_ENDIAN_REF_REV) + mipsize = swap32(mipsize); + + fileoffset += sizeof(uint32); + + // All mipsize fields are at a file offset that's a multiple of 4, so + // there might be some padding after the actual data in this mip level. + uint32 mipsizepadded = (mipsize + 3) & ~uint32(3); + + totalsize += mipsizepadded; + fileoffset += mipsizepadded; + } + + uint8 *data = nullptr; + try + { + data = new uint8[totalsize]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + // Reset the file offset to the start of the file's image data. + fileoffset = sizeof(KTXHeader) + header.bytesOfKeyValueData; + size_t dataoffset = 0; + + // Copy each mipmap level of the image from the file to our block of memory. + for (int i = 0; i < (int) header.numberOfMipmapLevels; i++) + { + uint32 mipsize = *(uint32 *) (filebytes + fileoffset); + + if (header.endianness == KTX_ENDIAN_REF_REV) + mipsize = swap32(mipsize); + + fileoffset += sizeof(uint32); + + uint32 mipsizepadded = (mipsize + 3) & ~uint32(3); + + CompressedData::SubImage mip; + mip.width = (int) std::max(header.pixelWidth >> i, 1u); + mip.height = (int) std::max(header.pixelHeight >> i, 1u); + mip.size = mipsize; + + memcpy(data + dataoffset, filebytes + fileoffset, mipsize); + mip.data = data + dataoffset; + + fileoffset += mipsizepadded; + dataoffset += mipsizepadded; + + images.push_back(mip); + } + + dataSize = totalsize; + format = cformat; + sRGB = isSRGB; + + return data; +} + +} // magpie +} // image +} // love diff --git a/src/modules/image/magpie/KTXHandler.h b/src/modules/image/magpie/KTXHandler.h new file mode 100644 index 000000000..661073611 --- /dev/null +++ b/src/modules/image/magpie/KTXHandler.h @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_KTX_HANDLER_H +#define LOVE_IMAGE_MAGPIE_KTX_HANDLER_H + +#include "common/config.h" +#include "CompressedFormatHandler.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +/** + * Handles KTX files with compressed image data inside. + **/ +class KTXHandler : public CompressedFormatHandler +{ +public: + + virtual ~KTXHandler() {} + + // Implements CompressedFormatHandler. + virtual bool canParse(const filesystem::FileData *data); + virtual uint8 *parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB); + +}; // KTXHandler + +} // magpie +} // image +} // love + +#endif // LOVE_IMAGE_MAGPIE_KTX_HANDLER_H diff --git a/src/modules/image/magpie/PKMHandler.cpp b/src/modules/image/magpie/PKMHandler.cpp new file mode 100644 index 000000000..73e498d1d --- /dev/null +++ b/src/modules/image/magpie/PKMHandler.cpp @@ -0,0 +1,172 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "PKMHandler.h" +#include "common/int.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +namespace +{ + +// Big endian to host (and vice versa.) +inline uint16 swap16big(uint16 x) +{ +#ifdef LOVE_BIG_ENDIAN + return x; +#else + return swap16(x); +#endif +} + +static const uint8 pkmIdentifier[] = {'P','K','M',' '}; + +struct PKMHeader +{ + uint8 identifier[4]; + uint8 version[2]; + uint16 textureFormatBig; + uint16 extendedWidthBig; + uint16 extendedHeightBig; + uint16 widthBig; + uint16 heightBig; +}; + +enum PKMTextureFormat +{ + ETC1_RGB_NO_MIPMAPS = 0, + ETC2PACKAGE_RGB_NO_MIPMAPS, + ETC2PACKAGE_RGBA_NO_MIPMAPS_OLD, + ETC2PACKAGE_RGBA_NO_MIPMAPS, + ETC2PACKAGE_RGBA1_NO_MIPMAPS, + ETC2PACKAGE_R_NO_MIPMAPS, + ETC2PACKAGE_RG_NO_MIPMAPS, + ETC2PACKAGE_R_SIGNED_NO_MIPMAPS, + ETC2PACKAGE_RG_SIGNED_NO_MIPMAPS +}; + +CompressedData::Format convertFormat(uint16 texformat) +{ + switch (texformat) + { + case ETC1_RGB_NO_MIPMAPS: + return CompressedData::FORMAT_ETC1; + case ETC2PACKAGE_RGB_NO_MIPMAPS: + return CompressedData::FORMAT_ETC2_RGB; + case ETC2PACKAGE_RGBA_NO_MIPMAPS_OLD: + case ETC2PACKAGE_RGBA_NO_MIPMAPS: + return CompressedData::FORMAT_ETC2_RGBA; + case ETC2PACKAGE_RGBA1_NO_MIPMAPS: + return CompressedData::FORMAT_ETC2_RGBA1; + case ETC2PACKAGE_R_NO_MIPMAPS: + return CompressedData::FORMAT_EAC_R; + case ETC2PACKAGE_RG_NO_MIPMAPS: + return CompressedData::FORMAT_EAC_RG; + case ETC2PACKAGE_R_SIGNED_NO_MIPMAPS: + return CompressedData::FORMAT_EAC_Rs; + case ETC2PACKAGE_RG_SIGNED_NO_MIPMAPS: + return CompressedData::FORMAT_EAC_RGs; + default: + return CompressedData::FORMAT_UNKNOWN; + } +} + +} // Anonymous namespace. + +bool PKMHandler::canParse(const filesystem::FileData *data) +{ + if (data->getSize() <= sizeof(PKMHeader)) + return false; + + const PKMHeader *header = (const PKMHeader *) data->getData(); + + if (memcmp(header->identifier, pkmIdentifier, 4) != 0) + return false; + + // At the time of this writing, only v1.0 and v2.0 exist. + if ((header->version[0] != '2' && header->version[0] != '1') || header->version[1] != '0') + return false; + + return true; +} + +uint8 *PKMHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB) +{ + if (!canParse(filedata)) + throw love::Exception("Could not decode compressed data (not a PKM file?)"); + + PKMHeader header = *(const PKMHeader *) filedata->getData(); + + header.textureFormatBig = swap16big(header.textureFormatBig); + header.extendedWidthBig = swap16big(header.extendedWidthBig); + header.extendedHeightBig = swap16big(header.extendedHeightBig); + header.widthBig = swap16big(header.widthBig); + header.heightBig = swap16big(header.heightBig); + + CompressedData::Format cformat = convertFormat(header.textureFormatBig); + + if (cformat == CompressedData::FORMAT_UNKNOWN) + throw love::Exception("Could not parse PKM file: unsupported texture format."); + + // The rest of the file after the header is all texture data. + size_t totalsize = filedata->getSize() - sizeof(PKMHeader); + uint8 *data = nullptr; + + try + { + data = new uint8[totalsize]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + // PKM files only store a single mipmap level. + memcpy(data, (uint8 *) filedata->getData() + sizeof(PKMHeader), totalsize); + + CompressedData::SubImage mip; + + // TODO: verify whether glCompressedTexImage works properly with the unpadded + // width and height values (extended == padded.) + mip.width = header.widthBig; + mip.height = header.heightBig; + + mip.size = totalsize; + mip.data = data; + + images.push_back(mip); + + dataSize = totalsize; + format = cformat; + sRGB = false; + + return data; +} + +} // magpie +} // image +} // love + diff --git a/src/modules/image/magpie/PKMHandler.h b/src/modules/image/magpie/PKMHandler.h new file mode 100644 index 000000000..b8277d04b --- /dev/null +++ b/src/modules/image/magpie/PKMHandler.h @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_PKM_HANDLER_H +#define LOVE_IMAGE_MAGPIE_PKM_HANDLER_H + +#include "common/config.h" +#include "CompressedFormatHandler.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +/** + * Handles PKM files with compressed ETC data inside. + **/ +class PKMHandler : public CompressedFormatHandler +{ +public: + + virtual ~PKMHandler() {} + + // Implements CompressedFormatHandler. + virtual bool canParse(const filesystem::FileData *data); + virtual uint8 *parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB); + +}; // PKMHandler + +} // magpie +} // image +} // love + +#endif // LOVE_IMAGE_MAGPIE_PKM_HANDLER_H diff --git a/src/modules/image/magpie/PNGHandler.cpp b/src/modules/image/magpie/PNGHandler.cpp new file mode 100644 index 000000000..a8cc2e7c2 --- /dev/null +++ b/src/modules/image/magpie/PNGHandler.cpp @@ -0,0 +1,212 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "PNGHandler.h" + +// LOVE +#include "common/Exception.h" +#include "common/math.h" + +// LodePNG +#include "lodepng/lodepng.h" + +// zlib +#include + +// C++ +#include + +// C +#include + +namespace love +{ +namespace image +{ +namespace magpie +{ + +// Custom PNG decompression function for LodePNG, using zlib. +static unsigned zlibDecompress(unsigned char **out, size_t *outsize, const unsigned char *in, + size_t insize, const LodePNGDecompressSettings* /*settings*/) +{ + int status = Z_OK; + + uLongf outdatasize = insize; + size_t sizemultiplier = 0; + unsigned char *outdata = nullptr; + + while (true) + { + // Enough size to hold the decompressed data, hopefully. + outdatasize = insize << (++sizemultiplier); + + // LodePNG uses malloc, realloc, and free. + outdata = (unsigned char *) malloc(outdatasize); + + if (!outdata) + return 83; // "Memory allocation failed" error code for LodePNG. + + // Use zlib to decompress the PNG data. + status = uncompress(outdata, &outdatasize, in, insize); + + // If the out buffer was big enough, break out of the loop. + if (status != Z_BUF_ERROR) + break; + + // Otherwise delete the out buffer and try again with a larger size... + free(outdata); + outdata = nullptr; + } + + if (status != Z_OK) + { + free(outdata); + return 10000; // "Unknown error code" for LodePNG. + } + + if (out != nullptr) + *out = outdata; + + if (outsize != nullptr) + *outsize = outdatasize; + + return 0; // Success. +} + +// Custom PNG compression function for LodePNG, using zlib. +static unsigned zlibCompress(unsigned char **out, size_t *outsize, const unsigned char *in, + size_t insize, const LodePNGCompressSettings* /*settings*/) +{ + // Get the maximum compressed size of the data. + uLongf outdatasize = compressBound(insize); + + // LodePNG uses malloc, realloc, and free. + unsigned char *outdata = (unsigned char *) malloc(outdatasize); + + if (!outdata) + return 83; // "Memory allocation failed" error code for LodePNG. + + // Use zlib to compress the PNG data. + int status = compress(outdata, &outdatasize, in, insize); + + if (status != Z_OK) + { + free(outdata); + return 10000; // "Unknown error code" for LodePNG. + } + + if (out != nullptr) + *out = outdata; + + if (outsize != nullptr) + *outsize = (size_t) outdatasize; + + return 0; // Success. +} + +bool PNGHandler::canDecode(love::filesystem::FileData *data) +{ + unsigned int width = 0, height = 0; + unsigned char *indata = (unsigned char *) data->getData(); + size_t insize = data->getSize(); + + lodepng::State state; + unsigned status = lodepng_inspect(&width, &height, &state, indata, insize); + + return status == 0 && width > 0 && height > 0; +} + +bool PNGHandler::canEncode(ImageData::Format format) +{ + return format == ImageData::FORMAT_PNG; +} + +PNGHandler::DecodedImage PNGHandler::decode(love::filesystem::FileData *fdata) +{ + unsigned int width = 0, height = 0; + unsigned char *indata = (unsigned char *) fdata->getData(); + size_t insize = fdata->getSize(); + + DecodedImage img; + + lodepng::State state; + + state.info_raw.colortype = LCT_RGBA; + state.info_raw.bitdepth = 8; + + state.decoder.zlibsettings.custom_zlib = zlibDecompress; + + unsigned status = lodepng_decode(&img.data, &width, &height, + &state, indata, insize); + + if (status != 0) + { + const char *err = lodepng_error_text(status); + throw love::Exception("Could not decode PNG image (%s)", err); + } + + img.width = (int) width; + img.height = (int) height; + img.size = width * height * 4; + + return img; +} + +PNGHandler::EncodedImage PNGHandler::encode(const DecodedImage &img, ImageData::Format format) +{ + if (format != ImageData::FORMAT_PNG) + throw love::Exception("PNG encoder cannot encode to non-PNG format."); + + EncodedImage encimg; + + lodepng::State state; + + state.info_raw.colortype = LCT_RGBA; + state.info_raw.bitdepth = 8; + + // TODO: support plain RGB (24-bit) encoding in the future? + state.info_png.color.colortype = LCT_RGBA; + state.info_png.color.bitdepth = 8; + + state.encoder.zlibsettings.custom_zlib = zlibCompress; + + unsigned status = lodepng_encode(&encimg.data, &encimg.size, + img.data, img.width, img.height, &state); + + if (status != 0) + { + const char *err = lodepng_error_text(status); + throw love::Exception("Could not encode PNG image (%s)", err); + } + + return encimg; +} + +void PNGHandler::free(unsigned char *mem) +{ + // LodePNG uses malloc, realloc, and free. + if (mem) + ::free(mem); +} + +} // magpie +} // image +} // love diff --git a/src/modules/image/magpie/DevilHandler.h b/src/modules/image/magpie/PNGHandler.h similarity index 79% rename from src/modules/image/magpie/DevilHandler.h rename to src/modules/image/magpie/PNGHandler.h index ed56ab665..0b6d1a771 100644 --- a/src/modules/image/magpie/DevilHandler.h +++ b/src/modules/image/magpie/PNGHandler.h @@ -18,13 +18,11 @@ * 3. This notice may not be removed or altered from any source distribution. **/ -#ifndef LOVE_IMAGE_MAGPIE_DEVIL_HANDLER_H -#define LOVE_IMAGE_MAGPIE_DEVIL_HANDLER_H +#ifndef LOVE_IMAGE_MAGPIE_PNG_HANDLER_H +#define LOVE_IMAGE_MAGPIE_PNG_HANDLER_H // LOVE -#include "filesystem/FileData.h" #include "FormatHandler.h" -#include "thread/threads.h" namespace love { @@ -34,31 +32,26 @@ namespace magpie { /** - * Interface between ImageData and DevIL. + * Interface between ImageData and LodePNG. **/ -class DevilHandler : public FormatHandler +class PNGHandler : public FormatHandler { public: // Implements FormatHandler. - DevilHandler(); - virtual ~DevilHandler(); - virtual bool canDecode(love::filesystem::FileData *data); virtual bool canEncode(ImageData::Format format); virtual DecodedImage decode(love::filesystem::FileData *data); virtual EncodedImage encode(const DecodedImage &img, ImageData::Format format); -private: + virtual void free(unsigned char *mem); - Mutex *mutex; - -}; // DevilHandler +}; // PNGHandler } // magpie } // image } // love -#endif // LOVE_IMAGE_MAGPIE_DEVIL_HANDLER_H +#endif // LOVE_IMAGE_MAGPIE_PNG_HANDLER_H diff --git a/src/modules/image/magpie/PVRHandler.cpp b/src/modules/image/magpie/PVRHandler.cpp new file mode 100644 index 000000000..c5c34b0e6 --- /dev/null +++ b/src/modules/image/magpie/PVRHandler.cpp @@ -0,0 +1,386 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "PVRHandler.h" +#include "common/int.h" + +// C++ +#include + +namespace love +{ +namespace image +{ +namespace magpie +{ + +namespace +{ + +// 'P' 'V' 'R' 3 +static const uint32 PVRTEX3_IDENT = 0x03525650; +static const uint32 PVRTEX3_IDENT_REV = 0x50565203; + +#pragma pack(push, 4) +struct PVRTexHeaderV3 +{ + uint32 version; /// Version of the file header, used to identify it. + uint32 flags; /// Various format flags. + uint64 pixelFormat; /// The pixel format, 8cc value storing the 4 channel identifiers and their respective sizes. + uint32 colorSpace; /// The Color Space of the texture, currently either linear RGB or sRGB. + uint32 channelType; /// Variable type that the channel is stored in. Supports signed/unsigned int/short/byte or float for now. + uint32 height; /// Height of the texture. + uint32 width; /// Width of the texture. + uint32 depth; /// Depth of the texture. (Z-slices) + uint32 numSurfaces; /// Number of members in a Texture Array. + uint32 numFaces; /// Number of faces in a Cube Map. Maybe be a value other than 6. + uint32 numMipmaps; /// Number of MIP Maps in the texture - NB: Includes top level. + uint32 metaDataSize; /// Size of the accompanying meta data. +}; +#pragma pack(pop) + +enum PVRV3PixelFormat +{ + ePVRTPF_PVRTCI_2bpp_RGB = 0x00, + ePVRTPF_PVRTCI_2bpp_RGBA, + ePVRTPF_PVRTCI_4bpp_RGB, + ePVRTPF_PVRTCI_4bpp_RGBA, + ePVRTPF_PVRTCII_2bpp, + ePVRTPF_PVRTCII_4bpp, + ePVRTPF_ETC1 = 0x06, + ePVRTPF_DXT1, + ePVRTPF_DXT2, + ePVRTPF_DXT3, + ePVRTPF_DXT4, + ePVRTPF_DXT5, + ePVRTF_UNKNOWN_FORMAT = 0x7F +}; + +// 'P' 'V' 'R' '!' +static const uint32 PVRTEX2_IDENT = 0x21525650; +static const uint32 PVRTEX2_IDENT_REV = 0x50565221; + +struct PVRTexHeaderV2 +{ + uint32 headerSize; + uint32 height; + uint32 width; + uint32 numMipmaps; + uint32 flags; + uint32 dataSize; + uint32 bpp; + uint32 bitmaskRed; + uint32 bitmaskGreen; + uint32 bitmaskBlue; + uint32 bitmaskAlpha; + uint32 pvrTag; + uint32 numSurfaces; +}; + +// The legacy V2 pixel types we support. +enum PVRPixelTypeV2 +{ + PixelTypePVRTC2 = 0x18, + PixelTypePVRTC4, + PixelTypePVRTCII2 = 0x1C, + PixelTypePVRTCII4, + PixelTypeDXT1 = 0x20, + PixelTypeDXT3 = 0x22, + PixelTypeDXT5 = 0x24, + PixelTypeETC1 = 0x36 +}; + +// Convert a V2 header to V3. +void ConvertPVRHeader(PVRTexHeaderV2 header2, PVRTexHeaderV3 *header3) +{ + // If the header's endianness doesn't match our own, we swap everything. + if (header2.pvrTag == PVRTEX2_IDENT_REV) + { + // All of the struct's members are uint32 values, so we can do this. + uint32 *headerArray = (uint32 *) &header2; + for (size_t i = 0; i < sizeof(PVRTexHeaderV2) / sizeof(uint32); i++) + headerArray[i] = swap32(headerArray[i]); + } + + memset(header3, 0, sizeof(PVRTexHeaderV3)); + + header3->version = PVRTEX3_IDENT; + header3->height = header2.height; + header3->width = header2.width; + header3->depth = 1; + header3->numSurfaces = header2.numSurfaces; + header3->numFaces = 1; + header3->numMipmaps = header2.numMipmaps; + header3->metaDataSize = 0; + + switch ((PVRPixelTypeV2) (header2.flags & 0xFF)) + { + case PixelTypePVRTC2: + header3->pixelFormat = ePVRTPF_PVRTCI_2bpp_RGBA; + break; + case PixelTypePVRTC4: + header3->pixelFormat = ePVRTPF_PVRTCI_4bpp_RGBA; + break; + case PixelTypePVRTCII2: + header3->pixelFormat = ePVRTPF_PVRTCII_2bpp; + break; + case PixelTypePVRTCII4: + header3->pixelFormat = ePVRTPF_PVRTCII_4bpp; + break; + case PixelTypeDXT1: + header3->pixelFormat = ePVRTPF_DXT1; + break; + case PixelTypeDXT3: + header3->pixelFormat = ePVRTPF_DXT3; + break; + case PixelTypeDXT5: + header3->pixelFormat = ePVRTPF_DXT5; + break; + case PixelTypeETC1: + header3->pixelFormat = ePVRTPF_ETC1; + break; + default: + header3->pixelFormat = ePVRTF_UNKNOWN_FORMAT; + break; + } +} + +CompressedData::Format convertFormat(PVRV3PixelFormat format) +{ + switch (format) + { + case ePVRTPF_PVRTCI_2bpp_RGB: + return CompressedData::FORMAT_PVR1_RGB2; + case ePVRTPF_PVRTCI_2bpp_RGBA: + return CompressedData::FORMAT_PVR1_RGBA2; + case ePVRTPF_PVRTCI_4bpp_RGB: + return CompressedData::FORMAT_PVR1_RGB4; + case ePVRTPF_PVRTCI_4bpp_RGBA: + return CompressedData::FORMAT_PVR1_RGBA4; + case ePVRTPF_ETC1: + return CompressedData::FORMAT_ETC1; + case ePVRTPF_DXT1: + return CompressedData::FORMAT_DXT1; + case ePVRTPF_DXT3: + return CompressedData::FORMAT_DXT3; + case ePVRTPF_DXT5: + return CompressedData::FORMAT_DXT5; + default: + return CompressedData::FORMAT_UNKNOWN; + } +} + +int getBitsPerPixel(uint64 pixelformat) +{ + // Uncompressed formats have their bits per pixel stored in the high bits. + if ((pixelformat & 0xFFFFFFFF) != pixelformat) + { + const uint8 *charformat = (const uint8 *) &pixelformat; + return charformat[4] + charformat[5] + charformat[6] + charformat[7]; + } + + switch (pixelformat) + { + case ePVRTPF_PVRTCI_2bpp_RGB: + case ePVRTPF_PVRTCI_2bpp_RGBA: + case ePVRTPF_PVRTCII_2bpp: + return 2; + case ePVRTPF_PVRTCI_4bpp_RGB: + case ePVRTPF_PVRTCI_4bpp_RGBA: + case ePVRTPF_PVRTCII_4bpp: + case ePVRTPF_ETC1: + case ePVRTPF_DXT1: + return 4; + case ePVRTPF_DXT2: + case ePVRTPF_DXT3: + case ePVRTPF_DXT4: + case ePVRTPF_DXT5: + return 8; + default: + return 0; + } +} + +void getFormatMinDimensions(uint64 pixelformat, int &minX, int &minY) +{ + switch (pixelformat) + { + case ePVRTPF_PVRTCI_2bpp_RGB: + case ePVRTPF_PVRTCI_2bpp_RGBA: + minX = 16; + minY = 8; + break; + case ePVRTPF_PVRTCI_4bpp_RGB: + case ePVRTPF_PVRTCI_4bpp_RGBA: + minX = minY = 8; + break; + case ePVRTPF_PVRTCII_2bpp: + minX = 8; + minY = 4; + break; + case ePVRTPF_PVRTCII_4bpp: + minX = minY = 4; + break; + case ePVRTPF_DXT1: + case ePVRTPF_DXT2: + case ePVRTPF_DXT3: + case ePVRTPF_DXT4: + case ePVRTPF_DXT5: + case ePVRTPF_ETC1: + minX = minY = 4; + break; + default: // We don't handle all possible formats, but that's fine. + minX = minY = 1; + break; + } +} + +size_t getMipLevelSize(const PVRTexHeaderV3 &header, int miplevel) +{ + int smallestwidth = 1; + int smallestheight = 1; + getFormatMinDimensions(header.pixelFormat, smallestwidth, smallestheight); + + int width = std::max((int) header.width >> miplevel, 1); + int height = std::max((int) header.height >> miplevel, 1); + int depth = std::max((int) header.depth >> miplevel, 1); + + // Pad the dimensions. + width += (-width) % smallestwidth; + height += (-height) % smallestheight; + + return getBitsPerPixel(header.pixelFormat) * width * height * depth / 8; +} + +} // Anonymous namespace. + + +bool PVRHandler::canParse(const filesystem::FileData *data) +{ + if (data->getSize() < sizeof(PVRTexHeaderV2) || data->getSize() < sizeof(PVRTexHeaderV3)) + return false; + + PVRTexHeaderV3 *header3 = (PVRTexHeaderV3 *) data->getData(); + + // Magic number (FourCC identifier.) + if (header3->version == PVRTEX3_IDENT || header3->version == PVRTEX3_IDENT_REV) + return true; + + // Maybe it has a V2 header. + PVRTexHeaderV2 *header2 = (PVRTexHeaderV2 *) data->getData(); + + // FourCC identifier. + if (header2->pvrTag == PVRTEX2_IDENT || header2->pvrTag == PVRTEX2_IDENT_REV) + return true; + + return false; +} + +uint8 *PVRHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB) +{ + if (!canParse(filedata)) + throw love::Exception("Could not decode compressed data (not a PVR file?)"); + + PVRTexHeaderV3 header3 = *(PVRTexHeaderV3 *) filedata->getData(); + + // If the header isn't the V3 format, assume it's V2 and convert. + if (header3.version != PVRTEX3_IDENT && header3.version != PVRTEX3_IDENT_REV) + ConvertPVRHeader(*(PVRTexHeaderV2 *) filedata->getData(), &header3); + + // If the header's endianness doesn't match our own, then we swap everything. + if (header3.version == PVRTEX3_IDENT_REV) + { + header3.version = PVRTEX3_IDENT; + header3.flags = swap32(header3.flags); + header3.pixelFormat = swap64(header3.pixelFormat); + header3.colorSpace = swap32(header3.colorSpace); + header3.channelType = swap32(header3.channelType); + header3.height = swap32(header3.height); + header3.width = swap32(header3.width); + header3.depth = swap32(header3.depth); + header3.numFaces = swap32(header3.numFaces); + header3.numMipmaps = swap32(header3.numMipmaps); + header3.metaDataSize = swap32(header3.metaDataSize); + } + + if (header3.depth > 1) + throw love::Exception("Image depths greater than 1 in PVR files are unsupported."); + + CompressedData::Format cformat = convertFormat((PVRV3PixelFormat) header3.pixelFormat); + + if (cformat == CompressedData::FORMAT_UNKNOWN) + throw love::Exception("Could not parse PVR file: unsupported image format."); + + size_t totalsize = 0; + uint8 *data = nullptr; + + // Ignore faces and surfaces except the first ones (for now.) + for (int i = 0; i < (int) header3.numMipmaps; i++) + totalsize += getMipLevelSize(header3, i); + + size_t fileoffset = sizeof(PVRTexHeaderV3) + header3.metaDataSize; + + // Make sure the file actually holds this much data... + if (filedata->getSize() < fileoffset + totalsize) + throw love::Exception("Could not parse PVR file: invalid size calculation."); + + try + { + data = new uint8[totalsize]; + } + catch (std::bad_alloc &) + { + throw love::Exception("Out of memory."); + } + + size_t curoffset = 0; + const uint8 *filebytes = (uint8 *) filedata->getData() + fileoffset; + + for (int i = 0; i < (int) header3.numMipmaps; i++) + { + size_t mipsize = getMipLevelSize(header3, i); + + if (curoffset + mipsize > totalsize) + break; // Just in case. + + CompressedData::SubImage mip; + mip.width = std::max((int) header3.width >> i, 1); + mip.height = std::max((int) header3.height >> i, 1); + mip.size = mipsize; + + memcpy(data + curoffset, filebytes + curoffset, mipsize); + mip.data = data + curoffset; + + curoffset += mipsize; + + images.push_back(mip); + } + + dataSize = totalsize; + format = cformat; + sRGB = (header3.colorSpace == 1); + + return data; +} + +} // magpie +} // image +} // love diff --git a/src/modules/image/magpie/PVRHandler.h b/src/modules/image/magpie/PVRHandler.h new file mode 100644 index 000000000..8cdaf9bb3 --- /dev/null +++ b/src/modules/image/magpie/PVRHandler.h @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_PVR_HANDLER_H +#define LOVE_IMAGE_MAGPIE_PVR_HANDLER_H + +// LOVE +#include "common/config.h" +#include "CompressedFormatHandler.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +class PVRHandler : public CompressedFormatHandler +{ +public: + + virtual ~PVRHandler() {} + + // Implements CompressedFormatHandler. + virtual bool canParse(const filesystem::FileData *data); + virtual uint8 *parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB); + +}; // PVRHandler + +} // magpie +} // image +} // love + +#endif // LOVE_IMAGE_MAGPIE_PVR_HANDLER_H diff --git a/src/modules/image/magpie/STBHandler.cpp b/src/modules/image/magpie/STBHandler.cpp new file mode 100644 index 000000000..8b1e8c5f5 --- /dev/null +++ b/src/modules/image/magpie/STBHandler.cpp @@ -0,0 +1,154 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "STBHandler.h" + +static void loveSTBAssert(bool test, const char *teststr) +{ + if (!test) + throw love::Exception("Could not decode image (stb_image assertion '%s' failed)", teststr); +} + +// stb_image +// #define STBI_ONLY_JPEG +#define STBI_ONLY_BMP +#define STBI_ONLY_TGA +#define STBI_NO_STDIO +#define STB_IMAGE_IMPLEMENTATION +#define STBI_ASSERT(A) loveSTBAssert((A), #A) +#include "libraries/stb/stb_image.h" + +// C +#include + +namespace love +{ +namespace image +{ +namespace magpie +{ + +bool STBHandler::canDecode(love::filesystem::FileData *data) +{ + int w = 0; + int h = 0; + int comp = 0; + + int status = stbi_info_from_memory((const stbi_uc *) data->getData(), + (int) data->getSize(), &w, &h, &comp); + + return status == 1 && w > 0 && h > 0; +} + +bool STBHandler::canEncode(ImageData::Format format) +{ + return format == ImageData::FORMAT_TGA; +} + +FormatHandler::DecodedImage STBHandler::decode(love::filesystem::FileData *data) +{ + DecodedImage img; + + int comp = 0; + img.data = stbi_load_from_memory((const stbi_uc *) data->getData(), + (int) data->getSize(), + &img.width, &img.height, + &comp, 4); + + if (img.data == nullptr || img.width <= 0 || img.height <= 0) + throw love::Exception("Could not decode TGA or BMP image."); + + img.size = img.width * img.height * 4; + + return img; +} + +FormatHandler::EncodedImage STBHandler::encode(const DecodedImage &img, ImageData::Format format) +{ + if (!canEncode(format)) + throw love::Exception("Invalid format."); + + // We don't actually use stb_image for encoding, but this code is small + // enough that it might as well stay here. + + EncodedImage encimg; + + const size_t headerlen = 18; + const size_t bpp = 4; + + encimg.size = (img.width * img.height * bpp) + headerlen; + + // We need to use malloc because we use stb_image_free (which uses free()) + // as our custom free() function, which is called by the ImageData after + // encode() is complete. + // stb_image's source code is compiled with this source, so calling malloc() + // directly is fine. + encimg.data = (unsigned char *) malloc(encimg.size); + + if (encimg.data == nullptr) + throw love::Exception("Out of memory."); + + // here's the header for the Targa file format. + encimg.data[0] = 0; // ID field size + encimg.data[1] = 0; // colormap type + encimg.data[2] = 2; // image type + encimg.data[3] = encimg.data[4] = 0; // colormap start + encimg.data[5] = encimg.data[6] = 0; // colormap length + encimg.data[7] = 32; // colormap bits + encimg.data[8] = encimg.data[9] = 0; // x origin + encimg.data[10] = encimg.data[11] = 0; // y origin + // Targa is little endian, so: + encimg.data[12] = img.width & 255; // least significant byte of width + encimg.data[13] = img.width >> 8; // most significant byte of width + encimg.data[14] = img.height & 255; // least significant byte of height + encimg.data[15] = img.height >> 8; // most significant byte of height + encimg.data[16] = bpp * 8; // bits per pixel + encimg.data[17] = 0x20; // descriptor bits (flip bits: 0x10 horizontal, 0x20 vertical) + + // header done. write the pixel data to TGA: + memcpy(encimg.data + headerlen, img.data, img.width * img.height * bpp); + + // convert the pixels from RGBA to BGRA. + pixel *encodedpixels = (pixel *) (encimg.data + headerlen); + for (int y = 0; y < img.height; y++) + { + for (int x = 0; x < img.width; x++) + { + unsigned char r = encodedpixels[y * img.width + x].r; + unsigned char b = encodedpixels[y * img.width + x].b; + encodedpixels[y * img.width + x].r = b; + encodedpixels[y * img.width + x].b = r; + } + } + + return encimg; +} + +void STBHandler::free(unsigned char *mem) +{ + // The STB decoder gave memory allocated directly by stb_image to the + // ImageData, so we use stb_image_free to delete it. + stbi_image_free(mem); +} + +} // magpie +} // image +} // love diff --git a/src/modules/image/magpie/STBHandler.h b/src/modules/image/magpie/STBHandler.h new file mode 100644 index 000000000..2636fd65a --- /dev/null +++ b/src/modules/image/magpie/STBHandler.h @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_IMAGE_MAGPIE_STB_HANDLER_H +#define LOVE_IMAGE_MAGPIE_STB_HANDLER_H + +#include "FormatHandler.h" + +namespace love +{ +namespace image +{ +namespace magpie +{ + +/** + * Interface between ImageData and the stb_image library, for decoding TGA and + * BMP images. + * + * We could use stb_image to decode PNG and JPEG as well, but performance and + * comprehensive format support is lacking compared to some alternatives, plus + * stb_image_write doesn't have JPEG support. + **/ +class STBHandler : public FormatHandler +{ +public: + + // Implements FormatHandler. + + virtual bool canDecode(love::filesystem::FileData *data); + virtual bool canEncode(ImageData::Format format); + + virtual DecodedImage decode(love::filesystem::FileData *data); + virtual EncodedImage encode(const DecodedImage &img, ImageData::Format format); + + virtual void free(unsigned char *mem); + +}; // STBHandler + +} // magpie +} // image +} // love + +#endif // LOVE_IMAGE_MAGPIE_STB_HANDLER_H diff --git a/src/modules/image/magpie/ddsHandler.cpp b/src/modules/image/magpie/ddsHandler.cpp index 6b02867a8..12c35c0ee 100644 --- a/src/modules/image/magpie/ddsHandler.cpp +++ b/src/modules/image/magpie/ddsHandler.cpp @@ -27,19 +27,20 @@ namespace image namespace magpie { -bool ddsHandler::canParse(const filesystem::FileData *data) +bool DDSHandler::canParse(const filesystem::FileData *data) { return dds::isCompressedDDS(data->getData(), data->getSize()); } -uint8 *ddsHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format) +uint8 *DDSHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB) { if (!dds::isDDS(filedata->getData(), filedata->getSize())) throw love::Exception("Could not decode compressed data (not a DDS file?)"); CompressedData::Format texformat = CompressedData::FORMAT_UNKNOWN; + bool isSRGB = false; - uint8 *data = 0; + uint8 *data = nullptr; dataSize = 0; images.clear(); @@ -48,7 +49,7 @@ uint8 *ddsHandler::parse(filesystem::FileData *filedata, std::vectorgetData(), filedata->getSize()); - texformat = convertFormat(parser.getFormat()); + texformat = convertFormat(parser.getFormat(), isSRGB); if (texformat == CompressedData::FORMAT_UNKNOWN) throw love::Exception("Could not parse compressed data: Unsupported format."); @@ -96,11 +97,14 @@ uint8 *ddsHandler::parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format); + // Implements CompressedFormatHandler. + virtual bool canParse(const filesystem::FileData *data); + virtual uint8 *parse(filesystem::FileData *filedata, std::vector &images, size_t &dataSize, CompressedData::Format &format, bool &sRGB); private: - static CompressedData::Format convertFormat(dds::Format ddsformat); + static CompressedData::Format convertFormat(dds::Format ddsformat, bool &sRGB); -}; // ddsHandler +}; // DDSHandler } // magpie } // image diff --git a/src/modules/image/wrap_CompressedData.cpp b/src/modules/image/wrap_CompressedData.cpp index 884d042a3..f38cb188f 100644 --- a/src/modules/image/wrap_CompressedData.cpp +++ b/src/modules/image/wrap_CompressedData.cpp @@ -28,13 +28,13 @@ namespace image CompressedData *luax_checkcompresseddata(lua_State *L, int idx) { - return luax_checktype(L, idx, "CompressedData", IMAGE_COMPRESSED_DATA_T); + return luax_checktype(L, idx, IMAGE_COMPRESSED_DATA_ID); } int w_CompressedData_getWidth(lua_State *L) { CompressedData *t = luax_checkcompresseddata(L, 1); - int miplevel = luaL_optinteger(L, 2, 1); + int miplevel = luaL_optint(L, 2, 1); int width = 0; luax_catchexcept(L, [&](){ width = t->getWidth(miplevel - 1); }); @@ -46,7 +46,7 @@ int w_CompressedData_getWidth(lua_State *L) int w_CompressedData_getHeight(lua_State *L) { CompressedData *t = luax_checkcompresseddata(L, 1); - int miplevel = luaL_optinteger(L, 2, 1); + int miplevel = luaL_optint(L, 2, 1); int height = 0; luax_catchexcept(L, [&](){ height = t->getHeight(miplevel - 1); }); @@ -58,7 +58,7 @@ int w_CompressedData_getHeight(lua_State *L) int w_CompressedData_getDimensions(lua_State *L) { CompressedData *t = luax_checkcompresseddata(L, 1); - int miplevel = luaL_optinteger(L, 2, 1); + int miplevel = luaL_optint(L, 2, 1); int width = 0, height = 0; luax_catchexcept(L, [&]() @@ -111,7 +111,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_compresseddata(lua_State *L) { - return luax_register_type(L, "CompressedData", functions); + return luax_register_type(L, IMAGE_COMPRESSED_DATA_ID, functions); } } // image diff --git a/src/modules/image/wrap_Image.cpp b/src/modules/image/wrap_Image.cpp index 9af041276..812749e37 100644 --- a/src/modules/image/wrap_Image.cpp +++ b/src/modules/image/wrap_Image.cpp @@ -47,7 +47,7 @@ int w_newImageData(lua_State *L) ImageData *t = nullptr; luax_catchexcept(L, [&](){ t = instance()->newImageData(w, h); }); - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, t); + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, t); t->release(); return 1; } @@ -61,7 +61,7 @@ int w_newImageData(lua_State *L) [&]() { data->release(); } ); - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, t); + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, t); t->release(); return 1; } @@ -76,7 +76,7 @@ int w_newCompressedData(lua_State *L) [&]() { data->release(); } ); - luax_pushtype(L, "CompressedData", IMAGE_COMPRESSED_DATA_T, t); + luax_pushtype(L, IMAGE_COMPRESSED_DATA_ID, t); t->release(); return 1; } @@ -120,7 +120,7 @@ extern "C" int luaopen_love_image(lua_State *L) WrappedModule w; w.module = instance; w.name = "image"; - w.flags = MODULE_IMAGE_T; + w.type = MODULE_IMAGE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/image/wrap_ImageData.cpp b/src/modules/image/wrap_ImageData.cpp index b4918fe46..bbaf03f74 100644 --- a/src/modules/image/wrap_ImageData.cpp +++ b/src/modules/image/wrap_ImageData.cpp @@ -30,7 +30,7 @@ namespace image ImageData *luax_checkimagedata(lua_State *L, int idx) { - return luax_checktype(L, idx, "ImageData", IMAGE_IMAGE_DATA_T); + return luax_checktype(L, idx, IMAGE_IMAGE_DATA_ID); } int w_ImageData_getWidth(lua_State *L) @@ -245,7 +245,7 @@ int w_ImageData_encode(lua_State *L) if (lua_isstring(L, 2)) luax_convobj(L, 2, "filesystem", "newFile"); - love::filesystem::File *file = luax_checktype(L, 2, "File", FILESYSTEM_FILE_T); + love::filesystem::File *file = luax_checktype(L, 2, FILESYSTEM_FILE_ID); if (lua_isnoneornil(L, 3)) { @@ -285,7 +285,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_imagedata(lua_State *L) { - return luax_register_type(L, "ImageData", functions); + return luax_register_type(L, IMAGE_IMAGE_DATA_ID, functions); } } // image diff --git a/src/modules/joystick/sdl/Joystick.cpp b/src/modules/joystick/sdl/Joystick.cpp index 2cef123bd..bc2be0eab 100644 --- a/src/modules/joystick/sdl/Joystick.cpp +++ b/src/modules/joystick/sdl/Joystick.cpp @@ -122,17 +122,7 @@ bool Joystick::isConnected() const const char *Joystick::getName() const { - // Use the saved name if this Joystick isn't connected anymore. - if (!isConnected()) - return name.c_str(); - - // Prefer the Joystick name for consistency. - const char *joyname = SDL_JoystickName(joyhandle); - - if (!joyname && isGamepad()) - joyname = SDL_GameControllerName(controller); - - return joyname; + return name.c_str(); } int Joystick::getAxisCount() const diff --git a/src/modules/joystick/sdl/JoystickModule.cpp b/src/modules/joystick/sdl/JoystickModule.cpp index de8fbe352..f2628eb18 100644 --- a/src/modules/joystick/sdl/JoystickModule.cpp +++ b/src/modules/joystick/sdl/JoystickModule.cpp @@ -84,7 +84,7 @@ love::joystick::Joystick *JoystickModule::getJoystick(int joyindex) int JoystickModule::getIndex(const love::joystick::Joystick *joystick) { - for (size_t i = 0; i < activeSticks.size(); i++) + for (int i = 0; i < (int) activeSticks.size(); i++) { if (activeSticks[i] == joystick) return i; @@ -132,7 +132,7 @@ love::joystick::Joystick *JoystickModule::addJoystick(int deviceindex) if (!joystick) { - joystick = new Joystick(joysticks.size()); + joystick = new Joystick((int) joysticks.size()); joysticks.push_back(joystick); } diff --git a/src/modules/joystick/wrap_Joystick.cpp b/src/modules/joystick/wrap_Joystick.cpp index 40a67edca..1f71d4a8d 100644 --- a/src/modules/joystick/wrap_Joystick.cpp +++ b/src/modules/joystick/wrap_Joystick.cpp @@ -31,7 +31,7 @@ namespace joystick Joystick *luax_checkjoystick(lua_State *L, int idx) { - return luax_checktype(L, idx, "Joystick", JOYSTICK_JOYSTICK_T); + return luax_checktype(L, idx, JOYSTICK_JOYSTICK_ID); } int w_Joystick_isConnected(lua_State *L) @@ -255,7 +255,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_joystick(lua_State *L) { - return luax_register_type(L, "Joystick", functions); + return luax_register_type(L, JOYSTICK_JOYSTICK_ID, functions); } } // joystick diff --git a/src/modules/joystick/wrap_JoystickModule.cpp b/src/modules/joystick/wrap_JoystickModule.cpp index 8fd3ec9b2..8ddbacd39 100644 --- a/src/modules/joystick/wrap_JoystickModule.cpp +++ b/src/modules/joystick/wrap_JoystickModule.cpp @@ -40,7 +40,7 @@ int w_getJoysticks(lua_State *L) for (int i = 0; i < stickcount; i++) { Joystick *stick = instance()->getJoystick(i); - luax_pushtype(L, "Joystick", JOYSTICK_JOYSTICK_T, stick); + luax_pushtype(L, JOYSTICK_JOYSTICK_ID, stick); lua_rawseti(L, -2, i + 1); } @@ -254,7 +254,7 @@ extern "C" int luaopen_love_joystick(lua_State *L) WrappedModule w; w.module = instance; w.name = "joystick"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/keyboard/Keyboard.cpp b/src/modules/keyboard/Keyboard.cpp index 5b9941176..c9770147c 100644 --- a/src/modules/keyboard/Keyboard.cpp +++ b/src/modules/keyboard/Keyboard.cpp @@ -55,10 +55,11 @@ StringMap::Entry Keyboard::keyEntries[] = {"escape", Keyboard::KEY_ESCAPE}, {"backspace", Keyboard::KEY_BACKSPACE}, {"tab", Keyboard::KEY_TAB}, - {" ", Keyboard::KEY_SPACE}, + {"space", Keyboard::KEY_SPACE}, {"!", Keyboard::KEY_EXCLAIM}, {"\"", Keyboard::KEY_QUOTEDBL}, {"#", Keyboard::KEY_HASH}, + {"%", Keyboard::KEY_PERCENT}, {"$", Keyboard::KEY_DOLLAR}, {"&", Keyboard::KEY_AMPERSAND}, {"'", Keyboard::KEY_QUOTE}, @@ -302,7 +303,7 @@ StringMap::Entry Keyboard::scan {"escape", SCANCODE_ESCAPE}, {"backspace", SCANCODE_BACKSPACE}, {"tab", SCANCODE_TAB}, - {" ", SCANCODE_SPACE}, + {"space", SCANCODE_SPACE}, {"-", SCANCODE_MINUS}, {"=", SCANCODE_EQUALS}, diff --git a/src/modules/keyboard/Keyboard.h b/src/modules/keyboard/Keyboard.h index 80fbed5c8..1eb3de35d 100644 --- a/src/modules/keyboard/Keyboard.h +++ b/src/modules/keyboard/Keyboard.h @@ -25,6 +25,9 @@ #include "common/Module.h" #include "common/StringMap.h" +// C++ +#include + namespace love { namespace keyboard @@ -534,11 +537,18 @@ public: virtual bool hasKeyRepeat() const = 0; /** - * Checks whether certain keys are down or not. - * @param keylist An array of key identifiers, terminated by KEY_MAX_ENUM. - * @return boolean + * Checks whether certain keys are pressed or not. + * @param keylist A list of key identifiers. + * @return Whether any of the specified keys are pressed. **/ - virtual bool isDown(Key *keylist) const = 0; + virtual bool isDown(const std::vector &keylist) const = 0; + + /** + * Checks whether certain scancodes are pressed or not. + * @param scancodelist A list of scancodes. + * @return Whether any of the specified scancodes are pressed. + **/ + virtual bool isScancodeDown(const std::vector &scancodelist) const = 0; /** * Gets the key corresponding to the specified scancode according to the @@ -553,16 +563,29 @@ public: virtual Scancode getScancodeFromKey(Key key) const = 0; /** - * Sets whether text input events should be sent - * @param enable Whether to send text input events. + * Sets whether text input events should be received. + * @param enable Whether to receive text input events. **/ virtual void setTextInput(bool enable) = 0; + /** + * Sets whether text input events should be received, and specifies where + * on the screen the text will appear. This is used as a hint so on-screen + * keyboards don't cover the text area. + **/ + virtual void setTextInput(bool enable, double x, double y, double w, double h) = 0; + /** * Gets whether text input events are enabled. **/ virtual bool hasTextInput() const = 0; + /** + * Gets whether the system will display an on-screen keyboard when text input + * events are enabled. + **/ + virtual bool hasScreenKeyboard() const = 0; + static bool getConstant(const char *in, Key &out); static bool getConstant(Key in, const char *&out); diff --git a/src/modules/keyboard/sdl/Keyboard.cpp b/src/modules/keyboard/sdl/Keyboard.cpp index c19895011..ac6ed2738 100644 --- a/src/modules/keyboard/sdl/Keyboard.cpp +++ b/src/modules/keyboard/sdl/Keyboard.cpp @@ -19,6 +19,7 @@ **/ #include "Keyboard.h" +#include "window/Window.h" namespace love { @@ -47,14 +48,31 @@ bool Keyboard::hasKeyRepeat() const return key_repeat; } -bool Keyboard::isDown(Key *keylist) const +bool Keyboard::isDown(const std::vector &keylist) const { - const Uint8 *keystate = SDL_GetKeyboardState(nullptr); + const Uint8 *state = SDL_GetKeyboardState(nullptr); - for (Key key = *keylist; key != KEY_MAX_ENUM; key = *(++keylist)) + for (Key key : keylist) { SDL_Scancode scancode = SDL_GetScancodeFromKey(keymap[key]); - if (keystate[scancode]) + if (state[scancode]) + return true; + } + + return false; +} + +bool Keyboard::isScancodeDown(const std::vector &scancodelist) const +{ + const Uint8 *state = SDL_GetKeyboardState(nullptr); + + for (Scancode scancode : scancodelist) + { + SDL_Scancode sdlscancode = SDL_SCANCODE_UNKNOWN; + if (!scancodes.find(scancode, sdlscancode)) + continue; + + if (state[sdlscancode]) return true; } @@ -100,11 +118,43 @@ void Keyboard::setTextInput(bool enable) SDL_StopTextInput(); } +void Keyboard::setTextInput(bool enable, double x, double y, double w, double h) +{ + // SDL_SetTextInputRect expects coordinates in window-space but setTextInput + // takes pixels, so we should convert. + window::Window *window = Module::getInstance(M_WINDOW); + if (window) + { + window->pixelToWindowCoords(&x, &y); + window->pixelToWindowCoords(&w, &h); + } + + SDL_Rect rect = {(int) x, (int) y, (int) w, (int) h}; + SDL_SetTextInputRect(&rect); + + setTextInput(enable); +} + bool Keyboard::hasTextInput() const { return SDL_IsTextInputActive(); } +bool Keyboard::hasScreenKeyboard() const +{ + return SDL_HasScreenKeyboardSupport(); +} + +bool Keyboard::getConstant(Scancode in, SDL_Scancode &out) +{ + return scancodes.find(in, out); +} + +bool Keyboard::getConstant(SDL_Scancode in, Scancode &out) +{ + return scancodes.find(in, out); +} + const SDL_Keycode *Keyboard::createKeyMap() { // Array must be static so its lifetime continues once the function returns. @@ -120,6 +170,7 @@ const SDL_Keycode *Keyboard::createKeyMap() k[Keyboard::KEY_EXCLAIM] = SDLK_EXCLAIM; k[Keyboard::KEY_QUOTEDBL] = SDLK_QUOTEDBL; k[Keyboard::KEY_HASH] = SDLK_HASH; + k[Keyboard::KEY_PERCENT] = SDLK_PERCENT; k[Keyboard::KEY_DOLLAR] = SDLK_DOLLAR; k[Keyboard::KEY_AMPERSAND] = SDLK_AMPERSAND; k[Keyboard::KEY_QUOTE] = SDLK_QUOTE; diff --git a/src/modules/keyboard/sdl/Keyboard.h b/src/modules/keyboard/sdl/Keyboard.h index 7f4a83338..46d9d0fe4 100644 --- a/src/modules/keyboard/sdl/Keyboard.h +++ b/src/modules/keyboard/sdl/Keyboard.h @@ -46,13 +46,19 @@ public: void setKeyRepeat(bool enable); bool hasKeyRepeat() const; - bool isDown(Key *keylist) const; + bool isDown(const std::vector &keylist) const; + bool isScancodeDown(const std::vector &scancodelist) const; Key getKeyFromScancode(Scancode scancode) const; Scancode getScancodeFromKey(Key key) const; void setTextInput(bool enable); + void setTextInput(bool enable, double x, double y, double w, double h); bool hasTextInput() const; + bool hasScreenKeyboard() const; + + static bool getConstant(Scancode in, SDL_Scancode &out); + static bool getConstant(SDL_Scancode in, Scancode &out); private: diff --git a/src/modules/keyboard/wrap_Keyboard.cpp b/src/modules/keyboard/wrap_Keyboard.cpp index a2eb77eb9..2c3932f8c 100644 --- a/src/modules/keyboard/wrap_Keyboard.cpp +++ b/src/modules/keyboard/wrap_Keyboard.cpp @@ -46,19 +46,34 @@ int w_hasKeyRepeat(lua_State *L) int w_isDown(lua_State *L) { Keyboard::Key k; - unsigned int num = lua_gettop(L); - Keyboard::Key *keylist = new Keyboard::Key[num+1]; - unsigned int counter = 0; + int num = lua_gettop(L); + std::vector keylist; + keylist.reserve(num); - for (unsigned int i = 0; i < num; i++) + for (int i = 0; i < num; i++) { if (Keyboard::getConstant(luaL_checkstring(L, i+1), k)) - keylist[counter++] = k; + keylist.push_back(k); } - keylist[counter] = Keyboard::KEY_MAX_ENUM; luax_pushboolean(L, instance()->isDown(keylist)); - delete[] keylist; + return 1; +} + +int w_isScancodeDown(lua_State *L) +{ + Keyboard::Scancode scancode; + int num = lua_gettop(L); + std::vector scancodelist; + scancodelist.reserve(num); + + for (int i = 0; i < num; i++) + { + if (Keyboard::getConstant(luaL_checkstring(L, i+1), scancode)) + scancodelist.push_back(scancode); + } + + luax_pushboolean(L, instance()->isScancodeDown(scancodelist)); return 1; } @@ -98,7 +113,19 @@ int w_getKeyFromScancode(lua_State *L) int w_setTextInput(lua_State *L) { - instance()->setTextInput(luax_toboolean(L, 1)); + bool enable = luax_toboolean(L, 1); + + if (lua_gettop(L) <= 1) + instance()->setTextInput(enable); + else + { + double x = luaL_checknumber(L, 2); + double y = luaL_checknumber(L, 3); + double w = luaL_checknumber(L, 4); + double h = luaL_checknumber(L, 5); + instance()->setTextInput(enable, x, y, w, h); + } + return 0; } @@ -108,6 +135,12 @@ int w_hasTextInput(lua_State *L) return 1; } +int w_hasScreenKeyboard(lua_State *L) +{ + luax_pushboolean(L, instance()->hasScreenKeyboard()); + return 1; +} + // List of functions to wrap. static const luaL_Reg functions[] = { @@ -115,7 +148,9 @@ static const luaL_Reg functions[] = { "hasKeyRepeat", w_hasKeyRepeat }, { "setTextInput", w_setTextInput }, { "hasTextInput", w_hasTextInput }, + { "hasScreenKeyboard", w_hasScreenKeyboard }, { "isDown", w_isDown }, + { "isScancodeDown", w_isScancodeDown }, { "getScancodeFromKey", w_getScancodeFromKey }, { "getKeyFromScancode", w_getKeyFromScancode }, { 0, 0 } @@ -134,7 +169,7 @@ extern "C" int luaopen_love_keyboard(lua_State *L) WrappedModule w; w.module = instance; w.name = "keyboard"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = 0; diff --git a/src/modules/keyboard/wrap_Keyboard.h b/src/modules/keyboard/wrap_Keyboard.h index 49f5239e7..952fe018a 100644 --- a/src/modules/keyboard/wrap_Keyboard.h +++ b/src/modules/keyboard/wrap_Keyboard.h @@ -33,10 +33,12 @@ namespace keyboard int w_setKeyRepeat(lua_State *L); int w_hasKeyRepeat(lua_State *L); int w_isDown(lua_State *L); +int w_isScancodeDown(lua_State *L); int w_getKeyFromScancode(lua_State *L); int w_getScancodeFromkey(lua_State *L); int w_setTextInput(lua_State *L); int w_hasTextInput(lua_State *L); +int w_hasScreenKeyboard(lua_State *L); extern "C" LOVE_EXPORT int luaopen_love_keyboard(lua_State *L); } // keyboard diff --git a/src/modules/love/love.cpp b/src/modules/love/love.cpp index 2e205f2a1..67a4646b0 100644 --- a/src/modules/love/love.cpp +++ b/src/modules/love/love.cpp @@ -100,6 +100,9 @@ extern "C" #if defined(LOVE_ENABLE_THREAD) extern int luaopen_love_thread(lua_State*); #endif +#if defined(LOVE_ENABLE_TOUCH) + extern int luaopen_love_touch(lua_State*); +#endif #if defined(LOVE_ENABLE_WINDOW) extern int luaopen_love_window(lua_State*); #endif @@ -152,6 +155,9 @@ static const luaL_Reg modules[] = { #if defined(LOVE_ENABLE_THREAD) { "love.thread", luaopen_love_thread }, #endif +#if defined(LOVE_ENABLE_TOUCH) + { "love.touch", luaopen_love_touch }, +#endif #if defined(LOVE_ENABLE_WINDOW) { "love.window", luaopen_love_window }, #endif @@ -224,6 +230,8 @@ int luaopen_love(lua_State * L) lua_pushstring(L, "Windows"); #elif defined(LOVE_MACOSX) lua_pushstring(L, "OS X"); +#elif defined(LOVE_IOS) + lua_pushstring(L, "iOS"); #elif defined(LOVE_LINUX) lua_pushstring(L, "Linux"); #else diff --git a/src/modules/math/BezierCurve.cpp b/src/modules/math/BezierCurve.cpp index 3c1f7685a..04a0c4ff2 100644 --- a/src/modules/math/BezierCurve.cpp +++ b/src/modules/math/BezierCurve.cpp @@ -174,7 +174,7 @@ Vector BezierCurve::evaluate(double t) const return points[0]; } -vector BezierCurve::render(size_t accuracy) const +vector BezierCurve::render(int accuracy) const { if (controlPoints.size() < 2) throw Exception("Invalid Bezier curve: Not enough control points."); diff --git a/src/modules/math/BezierCurve.h b/src/modules/math/BezierCurve.h index 7c06bf6ed..29dc589bf 100644 --- a/src/modules/math/BezierCurve.h +++ b/src/modules/math/BezierCurve.h @@ -112,7 +112,7 @@ public: * @param accuracy The 'fineness' of the curve. * @returns A polygon chain that approximates the bezier curve. **/ - std::vector render(size_t accuracy = 4) const; + std::vector render(int accuracy = 4) const; private: std::vector controlPoints; diff --git a/src/modules/math/RandomGenerator.cpp b/src/modules/math/RandomGenerator.cpp index 5bc86d048..6bd215434 100644 --- a/src/modules/math/RandomGenerator.cpp +++ b/src/modules/math/RandomGenerator.cpp @@ -21,11 +21,11 @@ #include "RandomGenerator.h" // C++ -#include #include #include // C +#include #include namespace love @@ -33,6 +33,20 @@ namespace love namespace math { +// Thomas Wang's 64-bit integer hashing function: +// https://web.archive.org/web/20110807030012/http://www.cris.com/%7ETtwang/tech/inthash.htm +static uint64 wangHash64(uint64 key) +{ + key = (~key) + (key << 21); // key = (key << 21) - key - 1; + key = key ^ (key >> 24); + key = (key + (key << 3)) + (key << 8); // key * 265 + key = key ^ (key >> 14); + key = (key + (key << 2)) + (key << 4); // key * 21 + key = key ^ (key >> 28); + key = key + (key << 31); + return key; +} + // 64 bit Xorshift implementation taken from the end of Sec. 3 (page 4) in // George Marsaglia, "Xorshift RNGs", Journal of Statistical Software, Vol.8 (Issue 14), 2003 @@ -75,12 +89,18 @@ double RandomGenerator::randomNormal(double stddev) void RandomGenerator::setSeed(RandomGenerator::Seed newseed) { - // 0 xor 0 is still 0, so Xorshift can't generate new numbers. - if (newseed.b64 == 0) - throw love::Exception("Random seed cannot be 0."); - seed = newseed; - rng_state = seed; + + // Xorshift isn't designed to give a good distribution of values across many + // similar seeds, so we hash the state integer before using it. + // http://www.reedbeta.com/blog/2013/01/12/quick-and-easy-gpu-random-numbers-in-d3d11/ + // Xorshift also can't handle a state value of 0, so we avoid that. + do + { + newseed.b64 = wangHash64(newseed.b64); + } while (newseed.b64 == 0); + + rng_state = newseed; } RandomGenerator::Seed RandomGenerator::getSeed() const @@ -93,32 +113,17 @@ void RandomGenerator::setState(const std::string &statestr) // For this implementation we'll accept a hex string representing the // 64-bit state integer xorshift uses. - Seed state = {}; - // Hex string must start with 0x. if (statestr.find("0x") != 0 || statestr.size() < 3) - throw love::Exception("Invalid random state."); + throw love::Exception("Invalid random state: %s", statestr.c_str()); - // standardized strtoull (or 64 bit integer support for stringstream) - // requires C++11's standard library, which we can't use yet. - // I use strtol like this not because it's the best solution, but because - // it's "good enough". + Seed state = {}; - // Convert the hex string to the state integer character-by-character. - for (size_t i = 2; i < statestr.size(); i++) - { - char hex[2] = {statestr[i], 0}; - char *end = nullptr; + char *end = nullptr; + state.b64 = strtoull(statestr.c_str(), &end, 16); - // Convert the current hex character to a number. - int nibble = strtol(hex, &end, 16); - - // Check if strtol failed to convert it. - if (end != nullptr && *end != 0) - throw love::Exception("Invalid random state."); - - state.b64 = (state.b64 << 4) + nibble; - } + if (end != nullptr && *end != 0) + throw love::Exception("Invalid random state: %s", statestr.c_str()); rng_state = state; } @@ -127,14 +132,8 @@ std::string RandomGenerator::getState() const { // For this implementation we'll return a hex string representing the 64-bit // state integer xorshift uses. - std::stringstream ss; - - ss << "0x"; - - // Again with the stringstream not dealing with 64 bit integers... - ss << std::setfill('0') << std::setw(8) << std::hex << rng_state.b32.high; - ss << std::setfill('0') << std::setw(8) << std::hex << rng_state.b32.low; + ss << "0x" << std::setfill('0') << std::setw(16) << std::hex << rng_state.b64; return ss.str(); } diff --git a/src/modules/math/wrap_BezierCurve.cpp b/src/modules/math/wrap_BezierCurve.cpp index 0104d8311..bf367d255 100644 --- a/src/modules/math/wrap_BezierCurve.cpp +++ b/src/modules/math/wrap_BezierCurve.cpp @@ -30,7 +30,7 @@ namespace math BezierCurve *luax_checkbeziercurve(lua_State *L, int idx) { - return luax_checktype(L, idx, "BezierCurve", MATH_BEZIER_CURVE_T); + return luax_checktype(L, idx, MATH_BEZIER_CURVE_ID); } int w_BezierCurve_getDegree(lua_State *L) @@ -44,7 +44,7 @@ int w_BezierCurve_getDerivative(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); BezierCurve *deriv = new BezierCurve(curve->getDerivative()); - luax_pushtype(L, "BezierCurve", MATH_BEZIER_CURVE_T, deriv); + luax_pushtype(L, MATH_BEZIER_CURVE_ID, deriv); deriv->release(); return 1; } @@ -52,7 +52,7 @@ int w_BezierCurve_getDerivative(lua_State *L) int w_BezierCurve_getControlPoint(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); - int idx = luaL_checkinteger(L, 2); + int idx = luaL_checkint(L, 2); if (idx > 0) // 1-indexing idx--; @@ -69,7 +69,7 @@ int w_BezierCurve_getControlPoint(lua_State *L) int w_BezierCurve_setControlPoint(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); - int idx = luaL_checkinteger(L, 2); + int idx = luaL_checkint(L, 2); float vx = (float) luaL_checknumber(L, 3); float vy = (float) luaL_checknumber(L, 4); @@ -85,7 +85,7 @@ int w_BezierCurve_insertControlPoint(lua_State *L) BezierCurve *curve = luax_checkbeziercurve(L, 1); float vx = (float) luaL_checknumber(L, 2); float vy = (float) luaL_checknumber(L, 3); - int idx = luaL_optinteger(L, 4, -1); + int idx = luaL_optint(L, 4, -1); if (idx > 0) // 1-indexing idx--; @@ -148,13 +148,13 @@ int w_BezierCurve_evaluate(lua_State *L) int w_BezierCurve_render(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); - int accuracy = luaL_optinteger(L, 2, 5); + int accuracy = luaL_optint(L, 2, 5); std::vector points; luax_catchexcept(L, [&](){ points = curve->render(accuracy); }); - lua_createtable(L, points.size()*2, 0); - for (size_t i = 0; i < points.size(); ++i) + lua_createtable(L, (int) points.size() * 2, 0); + for (int i = 0; i < (int) points.size(); ++i) { lua_pushnumber(L, points[i].x); lua_rawseti(L, -2, 2*i+1); @@ -183,7 +183,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_beziercurve(lua_State *L) { - return luax_register_type(L, "BezierCurve", functions); + return luax_register_type(L, MATH_BEZIER_CURVE_ID, functions); } } // math diff --git a/src/modules/math/wrap_Math.cpp b/src/modules/math/wrap_Math.cpp index 047699865..a801eb283 100644 --- a/src/modules/math/wrap_Math.cpp +++ b/src/modules/math/wrap_Math.cpp @@ -100,7 +100,7 @@ int w_newRandomGenerator(lua_State *L) return luaL_error(L, "%s", lua_tostring(L, -1)); } - luax_pushtype(L, "RandomGenerator", MATH_RANDOM_GENERATOR_T, t); + luax_pushtype(L, MATH_RANDOM_GENERATOR_ID, t); t->release(); return 1; } @@ -110,9 +110,9 @@ int w_newBezierCurve(lua_State *L) std::vector points; if (lua_istable(L, 1)) { - size_t top = lua_objlen(L, 1); + int top = (int) lua_objlen(L, 1); points.reserve(top / 2); - for (size_t i = 1; i <= top; i += 2) + for (int i = 1; i <= top; i += 2) { lua_rawgeti(L, 1, i); lua_rawgeti(L, 1, i+1); @@ -127,9 +127,9 @@ int w_newBezierCurve(lua_State *L) } else { - size_t top = lua_gettop(L); + int top = (int) lua_gettop(L); points.reserve(top / 2); - for (size_t i = 1; i <= top; i += 2) + for (int i = 1; i <= top; i += 2) { Vector v; v.x = (float) luaL_checknumber(L, i); @@ -139,7 +139,7 @@ int w_newBezierCurve(lua_State *L) } BezierCurve *curve = Math::instance.newBezierCurve(points); - luax_pushtype(L, "BezierCurve", MATH_BEZIER_CURVE_T, curve); + luax_pushtype(L, MATH_BEZIER_CURVE_ID, curve); curve->release(); return 1; } @@ -149,9 +149,9 @@ int w_triangulate(lua_State *L) std::vector vertices; if (lua_istable(L, 1)) { - size_t top = lua_objlen(L, 1); + int top = (int) lua_objlen(L, 1); vertices.reserve(top / 2); - for (size_t i = 1; i <= top; i += 2) + for (int i = 1; i <= top; i += 2) { lua_rawgeti(L, 1, i); lua_rawgeti(L, 1, i+1); @@ -166,9 +166,9 @@ int w_triangulate(lua_State *L) } else { - size_t top = lua_gettop(L); + int top = (int) lua_gettop(L); vertices.reserve(top / 2); - for (size_t i = 1; i <= top; i += 2) + for (int i = 1; i <= top; i += 2) { Vertex v; v.x = (float) luaL_checknumber(L, i); @@ -189,8 +189,8 @@ int w_triangulate(lua_State *L) triangles = Math::instance.triangulate(vertices); }); - lua_createtable(L, triangles.size(), 0); - for (size_t i = 0; i < triangles.size(); ++i) + lua_createtable(L, (int) triangles.size(), 0); + for (int i = 0; i < (int) triangles.size(); ++i) { const Triangle &tri = triangles[i]; @@ -219,9 +219,9 @@ int w_isConvex(lua_State *L) std::vector vertices; if (lua_istable(L, 1)) { - size_t top = lua_objlen(L, 1); + int top = (int) lua_objlen(L, 1); vertices.reserve(top / 2); - for (size_t i = 1; i <= top; i += 2) + for (int i = 1; i <= top; i += 2) { lua_rawgeti(L, 1, i); lua_rawgeti(L, 1, i+1); @@ -257,7 +257,7 @@ static int getGammaArgs(lua_State *L, float color[4]) if (lua_istable(L, 1)) { - int n = lua_objlen(L, 1); + int n = (int) lua_objlen(L, 1); for (int i = 1; i <= n && i <= 4; i++) { lua_rawgeti(L, 1, i); @@ -384,7 +384,7 @@ extern "C" int luaopen_love_math(lua_State *L) WrappedModule w; w.module = &Math::instance; w.name = "math"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/math/wrap_RandomGenerator.cpp b/src/modules/math/wrap_RandomGenerator.cpp index 4b1ef5867..e78ac161b 100644 --- a/src/modules/math/wrap_RandomGenerator.cpp +++ b/src/modules/math/wrap_RandomGenerator.cpp @@ -84,7 +84,7 @@ int luax_getrandom(lua_State *L, int startidx, double r) RandomGenerator *luax_checkrandomgenerator(lua_State *L, int idx) { - return luax_checktype(L, idx, "RandomGenerator", MATH_RANDOM_GENERATOR_T); + return luax_checktype(L, idx, MATH_RANDOM_GENERATOR_ID); } int w_RandomGenerator_random(lua_State *L) @@ -148,7 +148,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_randomgenerator(lua_State *L) { - return luax_register_type(L, "RandomGenerator", functions); + return luax_register_type(L, MATH_RANDOM_GENERATOR_ID, functions); } } // math diff --git a/src/modules/mouse/Mouse.cpp b/src/modules/mouse/Mouse.cpp index 9f7453547..be455058a 100644 --- a/src/modules/mouse/Mouse.cpp +++ b/src/modules/mouse/Mouse.cpp @@ -40,8 +40,6 @@ StringMap::Entry Mouse::buttonEntries[] = {"l", Mouse::BUTTON_LEFT}, {"m", Mouse::BUTTON_MIDDLE}, {"r", Mouse::BUTTON_RIGHT}, - {"wu", Mouse::BUTTON_WHEELUP}, - {"wd", Mouse::BUTTON_WHEELDOWN}, {"x1", Mouse::BUTTON_X1}, {"x2", Mouse::BUTTON_X2}, }; diff --git a/src/modules/mouse/Mouse.h b/src/modules/mouse/Mouse.h index 77ebc6195..bf23018f7 100644 --- a/src/modules/mouse/Mouse.h +++ b/src/modules/mouse/Mouse.h @@ -44,8 +44,6 @@ public: BUTTON_RIGHT, BUTTON_X1, BUTTON_X2, - BUTTON_WHEELUP, - BUTTON_WHEELDOWN, BUTTON_MAX_ENUM }; @@ -62,12 +60,14 @@ public: virtual Cursor *getCursor() const = 0; - virtual int getX() const = 0; - virtual int getY() const = 0; - virtual void getPosition(int &x, int &y) const = 0; - virtual void setX(int x) = 0; - virtual void setY(int y) = 0; - virtual void setPosition(int x, int y) = 0; + virtual bool hasCursor() const = 0; + + virtual double getX() const = 0; + virtual double getY() const = 0; + virtual void getPosition(double &x, double &y) const = 0; + virtual void setX(double x) = 0; + virtual void setY(double y) = 0; + virtual void setPosition(double x, double y) = 0; virtual void setVisible(bool visible) = 0; virtual bool isDown(Button *buttonlist) const = 0; virtual bool isVisible() const = 0; diff --git a/src/modules/mouse/sdl/Mouse.cpp b/src/modules/mouse/sdl/Mouse.cpp index 5f912ec46..72ed2e787 100644 --- a/src/modules/mouse/sdl/Mouse.cpp +++ b/src/modules/mouse/sdl/Mouse.cpp @@ -34,25 +34,19 @@ namespace sdl // SDL reports mouse coordinates in the window coordinate system in OS X, but // we want them in pixel coordinates (may be different with high-DPI enabled.) -static void windowToPixelCoords(int *x, int *y) +static void windowToPixelCoords(double *x, double *y) { window::Window *window = Module::getInstance(Module::M_WINDOW); - - if (window && x) - *x = (int) window->toPixels(*x); - if (window && y) - *y = (int) window->toPixels(*y); + if (window) + window->windowToPixelCoords(x, y); } // And vice versa for setting mouse coordinates. -static void pixelToWindowCoords(int *x, int *y) +static void pixelToWindowCoords(double *x, double *y) { window::Window *window = Module::getInstance(Module::M_WINDOW); - - if (window && x) - *x = (int) window->fromPixels(*x); - if (window && y) - *y = (int) window->fromPixels(*y); + if (window) + window->pixelToWindowCoords(x, y); } const char *Mouse::getName() const @@ -112,35 +106,45 @@ love::mouse::Cursor *Mouse::getCursor() const return curCursor.get(); } -int Mouse::getX() const + +bool Mouse::hasCursor() const +{ + return SDL_GetDefaultCursor() != nullptr; +} + +double Mouse::getX() const { int x; SDL_GetMouseState(&x, nullptr); - windowToPixelCoords(&x, nullptr); - return x; + double dx = (double) x; + windowToPixelCoords(&dx, nullptr); + + return dx; } -int Mouse::getY() const +double Mouse::getY() const { int y; SDL_GetMouseState(nullptr, &y); - windowToPixelCoords(nullptr, &y); - return y; + double dy = (double) y; + windowToPixelCoords(nullptr, &dy); + + return dy; } -void Mouse::getPosition(int &x, int &y) const +void Mouse::getPosition(double &x, double &y) const { int mx, my; SDL_GetMouseState(&mx, &my); - windowToPixelCoords(&mx, &my); - x = mx; - y = my; + x = (double) mx; + y = (double) my; + windowToPixelCoords(&x, &y); } -void Mouse::setPosition(int x, int y) +void Mouse::setPosition(double x, double y) { love::window::Window *window = love::window::sdl::Window::getSingleton(); @@ -149,7 +153,7 @@ void Mouse::setPosition(int x, int y) handle = (SDL_Window *) window->getHandle(); pixelToWindowCoords(&x, &y); - SDL_WarpMouseInWindow(handle, x, y); + SDL_WarpMouseInWindow(handle, (int) x, (int) y); // SDL_WarpMouse doesn't directly update SDL's internal mouse state in Linux // and Windows, so we call SDL_PumpEvents now to make sure the next @@ -157,16 +161,14 @@ void Mouse::setPosition(int x, int y) SDL_PumpEvents(); } -void Mouse::setX(int x) +void Mouse::setX(double x) { - int y = getY(); - setPosition(x, y); + setPosition(x, getY()); } -void Mouse::setY(int y) +void Mouse::setY(double y) { - int x = getX(); - setPosition(x, y); + setPosition(getX(), y); } void Mouse::setVisible(bool visible) diff --git a/src/modules/mouse/sdl/Mouse.h b/src/modules/mouse/sdl/Mouse.h index 93db09440..7c285fd58 100644 --- a/src/modules/mouse/sdl/Mouse.h +++ b/src/modules/mouse/sdl/Mouse.h @@ -53,12 +53,14 @@ public: love::mouse::Cursor *getCursor() const; - int getX() const; - int getY() const; - void getPosition(int &x, int &y) const; - void setX(int x); - void setY(int y); - void setPosition(int x, int y); + bool hasCursor() const; + + double getX() const; + double getY() const; + void getPosition(double &x, double &y) const; + void setX(double x); + void setY(double y); + void setPosition(double x, double y); void setVisible(bool visible); bool isDown(Button *buttonlist) const; bool isVisible() const; diff --git a/src/modules/mouse/wrap_Cursor.cpp b/src/modules/mouse/wrap_Cursor.cpp index 2bb93cfcd..b1ea65626 100644 --- a/src/modules/mouse/wrap_Cursor.cpp +++ b/src/modules/mouse/wrap_Cursor.cpp @@ -28,7 +28,7 @@ namespace mouse Cursor *luax_checkcursor(lua_State *L, int idx) { - return luax_checktype(L, idx, "Cursor", MOUSE_CURSOR_T); + return luax_checktype(L, idx, MOUSE_CURSOR_ID); } int w_Cursor_getType(lua_State *L) @@ -61,7 +61,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_cursor(lua_State *L) { - return luax_register_type(L, "Cursor", functions); + return luax_register_type(L, MOUSE_CURSOR_ID, functions); } } // mouse diff --git a/src/modules/mouse/wrap_Mouse.cpp b/src/modules/mouse/wrap_Mouse.cpp index bf46149ba..d433ccd50 100644 --- a/src/modules/mouse/wrap_Mouse.cpp +++ b/src/modules/mouse/wrap_Mouse.cpp @@ -36,16 +36,16 @@ int w_newCursor(lua_State *L) { Cursor *cursor = nullptr; - if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_T) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) + if (lua_isstring(L, 1) || luax_istype(L, 1, FILESYSTEM_FILE_ID) || luax_istype(L, 1, FILESYSTEM_FILE_DATA_ID)) luax_convobj(L, 1, "image", "newImageData"); - love::image::ImageData *data = luax_checktype(L, 1, "ImageData", IMAGE_IMAGE_DATA_T); + love::image::ImageData *data = luax_checktype(L, 1, IMAGE_IMAGE_DATA_ID); int hotx = luaL_optint(L, 2, 0); int hoty = luaL_optint(L, 3, 0); luax_catchexcept(L, [&](){ cursor = instance()->newCursor(data, hotx, hoty); }); - luax_pushtype(L, "Cursor", MOUSE_CURSOR_T, cursor); + luax_pushtype(L, MOUSE_CURSOR_ID, cursor); cursor->release(); return 1; } @@ -61,7 +61,7 @@ int w_getSystemCursor(lua_State *L) Cursor *cursor = 0; luax_catchexcept(L, [&](){ cursor = instance()->getSystemCursor(systemCursor); }); - luax_pushtype(L, "Cursor", MOUSE_CURSOR_T, cursor); + luax_pushtype(L, MOUSE_CURSOR_ID, cursor); return 1; } @@ -84,13 +84,19 @@ int w_getCursor(lua_State *L) Cursor *cursor = instance()->getCursor(); if (cursor) - luax_pushtype(L, "Cursor", MOUSE_CURSOR_T, cursor); + luax_pushtype(L, MOUSE_CURSOR_ID, cursor); else lua_pushnil(L); return 1; } +int w_hasCursor(lua_State *L) +{ + luax_pushboolean(L, instance()->hasCursor()); + return 1; +} + int w_getX(lua_State *L) { lua_pushnumber(L, instance()->getX()); @@ -105,31 +111,31 @@ int w_getY(lua_State *L) int w_getPosition(lua_State *L) { - int x, y; + double x, y; instance()->getPosition(x, y); - lua_pushinteger(L, x); - lua_pushinteger(L, y); + lua_pushnumber(L, x); + lua_pushnumber(L, y); return 2; } int w_setX(lua_State *L) { - int x = luaL_checkint(L, 1); + double x = luaL_checknumber(L, 1); instance()->setX(x); return 0; } int w_setY(lua_State *L) { - int y = luaL_checkint(L, 1); + double y = luaL_checknumber(L, 1); instance()->setY(y); return 0; } int w_setPosition(lua_State *L) { - int x = luaL_checkint(L, 1); - int y = luaL_checkint(L, 2); + double x = luaL_checknumber(L, 1); + double y = luaL_checknumber(L, 2); instance()->setPosition(x, y); return 0; } @@ -199,6 +205,7 @@ static const luaL_Reg functions[] = { "getSystemCursor", w_getSystemCursor }, { "setCursor", w_setCursor }, { "getCursor", w_getCursor }, + { "hasCursor", w_hasCursor }, { "getX", w_getX }, { "getY", w_getY }, { "setX", w_setX }, @@ -235,7 +242,7 @@ extern "C" int luaopen_love_mouse(lua_State *L) WrappedModule w; w.module = instance; w.name = "mouse"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/mouse/wrap_Mouse.h b/src/modules/mouse/wrap_Mouse.h index f08e430b3..4963494b3 100644 --- a/src/modules/mouse/wrap_Mouse.h +++ b/src/modules/mouse/wrap_Mouse.h @@ -34,6 +34,7 @@ int w_newCursor(lua_State *L); int w_getSystemCursor(lua_State *L); int w_setCursor(lua_State *L); int w_getCursor(lua_State *L); +int w_hasCursor(lua_State *L); int w_getX(lua_State *L); int w_getY(lua_State *L); int w_getPosition(lua_State *L); diff --git a/src/modules/physics/box2d/Body.cpp b/src/modules/physics/box2d/Body.cpp index e6232ef92..886bbcca2 100644 --- a/src/modules/physics/box2d/Body.cpp +++ b/src/modules/physics/box2d/Body.cpp @@ -435,7 +435,7 @@ int Body::getFixtureList(lua_State *L) const Fixture *fixture = (Fixture *)Memoizer::find(f); if (!fixture) throw love::Exception("A fixture has escaped Memoizer!"); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, fixture); + luax_pushtype(L, PHYSICS_FIXTURE_ID, fixture); lua_rawseti(L, -2, i); i++; } @@ -483,7 +483,7 @@ int Body::getContactList(lua_State *L) const else contact->retain(); - luax_pushtype(L, "Contact", PHYSICS_CONTACT_T, contact); + luax_pushtype(L, PHYSICS_CONTACT_ID, contact); contact->release(); lua_rawseti(L, -2, i); i++; diff --git a/src/modules/physics/box2d/Physics.cpp b/src/modules/physics/box2d/Physics.cpp index 7e404496d..0929a44b5 100644 --- a/src/modules/physics/box2d/Physics.cpp +++ b/src/modules/physics/box2d/Physics.cpp @@ -97,7 +97,7 @@ int Physics::newPolygonShape(lua_State *L) bool istable = lua_istable(L, 1); if (istable) - argc = lua_objlen(L, 1); + argc = (int) lua_objlen(L, 1); if (argc % 2 != 0) return luaL_error(L, "Number of vertex components must be a multiple of two."); @@ -146,7 +146,7 @@ int Physics::newPolygonShape(lua_State *L) } PolygonShape *p = new PolygonShape(s); - luax_pushtype(L, "PolygonShape", PHYSICS_POLYGON_SHAPE_T, p); + luax_pushtype(L, PHYSICS_POLYGON_SHAPE_ID, p); p->release(); return 1; } @@ -158,12 +158,12 @@ int Physics::newChainShape(lua_State *L) bool istable = lua_istable(L, 2); if (istable) - argc = lua_objlen(L, 2); + argc = (int) lua_objlen(L, 2); if (argc % 2 != 0) return luaL_error(L, "Number of vertex components must be a multiple of two."); - int vcount = (int)argc/2; + int vcount = argc/2; bool loop = luax_toboolean(L, 1); b2Vec2 *vecs = new b2Vec2[vcount]; @@ -208,7 +208,7 @@ int Physics::newChainShape(lua_State *L) delete[] vecs; ChainShape *c = new ChainShape(s); - luax_pushtype(L, "ChainShape", PHYSICS_CHAIN_SHAPE_T, c); + luax_pushtype(L, PHYSICS_CHAIN_SHAPE_ID, c); c->release(); return 1; } @@ -281,8 +281,8 @@ Fixture *Physics::newFixture(Body *body, Shape *shape, float density) int Physics::getDistance(lua_State *L) { - Fixture *fixtureA = luax_checktype(L, 1, "Fixture", PHYSICS_FIXTURE_T); - Fixture *fixtureB = luax_checktype(L, 2, "Fixture", PHYSICS_FIXTURE_T); + Fixture *fixtureA = luax_checktype(L, 1, PHYSICS_FIXTURE_ID); + Fixture *fixtureB = luax_checktype(L, 2, PHYSICS_FIXTURE_ID); b2DistanceProxy pA, pB; b2DistanceInput i; b2DistanceOutput o; diff --git a/src/modules/physics/box2d/World.cpp b/src/modules/physics/box2d/World.cpp index 1bafc838d..b48104b9f 100644 --- a/src/modules/physics/box2d/World.cpp +++ b/src/modules/physics/box2d/World.cpp @@ -57,7 +57,7 @@ void World::ContactCallback::process(b2Contact *contact, const b2ContactImpulse { Fixture *a = (Fixture *)Memoizer::find(contact->GetFixtureA()); if (a != 0) - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, a); + luax_pushtype(L, PHYSICS_FIXTURE_ID, a); else throw love::Exception("A fixture has escaped Memoizer!"); } @@ -66,7 +66,7 @@ void World::ContactCallback::process(b2Contact *contact, const b2ContactImpulse { Fixture *b = (Fixture *)Memoizer::find(contact->GetFixtureB()); if (b != 0) - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, b); + luax_pushtype(L, PHYSICS_FIXTURE_ID, b); else throw love::Exception("A fixture has escaped Memoizer!"); } @@ -77,7 +77,7 @@ void World::ContactCallback::process(b2Contact *contact, const b2ContactImpulse else cobj->retain(); - luax_pushtype(L, "Contact", (PHYSICS_CONTACT_T), cobj); + luax_pushtype(L, PHYSICS_CONTACT_ID, cobj); cobj->release(); int args = 3; @@ -128,8 +128,8 @@ bool World::ContactFilter::process(Fixture *a, Fixture *b) { lua_State *L = ref->getL(); ref->push(); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, a); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, b); + luax_pushtype(L, PHYSICS_FIXTURE_ID, a); + luax_pushtype(L, PHYSICS_FIXTURE_ID, b); lua_call(L, 2, 1); return luax_toboolean(L, -1); } @@ -156,7 +156,7 @@ bool World::QueryCallback::ReportFixture(b2Fixture *fixture) Fixture *f = (Fixture *)Memoizer::find(fixture); if (!f) throw love::Exception("A fixture has escaped Memoizer!"); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, f); + luax_pushtype(L, PHYSICS_FIXTURE_ID, f); lua_call(L, 1, 1); return luax_toboolean(L, -1); } @@ -183,7 +183,7 @@ float32 World::RayCastCallback::ReportFixture(b2Fixture *fixture, const b2Vec2 & Fixture *f = (Fixture *)Memoizer::find(fixture); if (!f) throw love::Exception("A fixture has escaped Memoizer!"); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, f); + luax_pushtype(L, PHYSICS_FIXTURE_ID, f); b2Vec2 scaledPoint = Physics::scaleUp(point); lua_pushnumber(L, scaledPoint.x); lua_pushnumber(L, scaledPoint.y); @@ -431,7 +431,7 @@ int World::getBodyList(lua_State *L) const Body *body = (Body *)Memoizer::find(b); if (!body) throw love::Exception("A body has escaped Memoizer!"); - luax_pushtype(L, "Body", PHYSICS_BODY_T, body); + luax_pushtype(L, PHYSICS_BODY_ID, body); lua_rawseti(L, -2, i); i++; } @@ -449,7 +449,7 @@ int World::getJointList(lua_State *L) const if (!j) break; Joint *joint = (Joint *)Memoizer::find(j); if (!joint) throw love::Exception("A joint has escaped Memoizer!"); - luax_pushtype(L, "Joint", PHYSICS_JOINT_T, joint); + luax_pushtype(L, PHYSICS_JOINT_ID, joint); lua_rawseti(L, -2, i); i++; } @@ -470,7 +470,7 @@ int World::getContactList(lua_State *L) const contact = new Contact(c); else contact->retain(); - luax_pushtype(L, "Contact", PHYSICS_CONTACT_T, contact); + luax_pushtype(L, PHYSICS_CONTACT_ID, contact); contact->release(); lua_rawseti(L, -2, i); i++; diff --git a/src/modules/physics/box2d/wrap_Body.cpp b/src/modules/physics/box2d/wrap_Body.cpp index 786fe9cb9..edd8dfea5 100644 --- a/src/modules/physics/box2d/wrap_Body.cpp +++ b/src/modules/physics/box2d/wrap_Body.cpp @@ -30,7 +30,7 @@ namespace box2d Body *luax_checkbody(lua_State *L, int idx) { - Body *b = luax_checktype(L, idx, "Body", PHYSICS_BODY_T); + Body *b = luax_checktype(L, idx, PHYSICS_BODY_ID); if (b->body == 0) luaL_error(L, "Attempt to use destroyed body."); return b; @@ -526,7 +526,7 @@ int w_Body_getWorld(lua_State *L) { Body *t = luax_checkbody(L, 1); World *world = t->getWorld(); - luax_pushtype(L, "World", PHYSICS_WORLD_T, world); + luax_pushtype(L, PHYSICS_WORLD_ID, world); return 1; } @@ -566,7 +566,7 @@ int w_Body_destroy(lua_State *L) int w_Body_isDestroyed(lua_State *L) { - Body *b = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); + Body *b = luax_checktype(L, 1, PHYSICS_BODY_ID); luax_pushboolean(L, b->body == nullptr); return 1; } @@ -650,7 +650,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_body(lua_State *L) { - return luax_register_type(L, "Body", functions); + return luax_register_type(L, PHYSICS_BODY_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_ChainShape.cpp b/src/modules/physics/box2d/wrap_ChainShape.cpp index 0f7b7b5a7..918aecc35 100644 --- a/src/modules/physics/box2d/wrap_ChainShape.cpp +++ b/src/modules/physics/box2d/wrap_ChainShape.cpp @@ -31,7 +31,7 @@ namespace box2d ChainShape *luax_checkchainshape(lua_State *L, int idx) { - return luax_checktype(L, idx, "ChainShape", PHYSICS_CHAIN_SHAPE_T); + return luax_checktype(L, idx, PHYSICS_CHAIN_SHAPE_ID); } int w_ChainShape_setNextVertex(lua_State *L) @@ -65,7 +65,7 @@ int w_ChainShape_getChildEdge(lua_State *L) int index = luaL_checkint(L, 2) - 1; // Convert from 1-based index EdgeShape *e = 0; luax_catchexcept(L, [&](){ e = c->getChildEdge(index); }); - luax_pushtype(L, "EdgeShape", PHYSICS_EDGE_SHAPE_T, e); + luax_pushtype(L, PHYSICS_EDGE_SHAPE_ID, e); e->release(); return 1; } @@ -127,7 +127,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_chainshape(lua_State *L) { - return luax_register_type(L, "ChainShape", functions); + return luax_register_type(L, PHYSICS_CHAIN_SHAPE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_CircleShape.cpp b/src/modules/physics/box2d/wrap_CircleShape.cpp index 85610b86f..b3a027895 100644 --- a/src/modules/physics/box2d/wrap_CircleShape.cpp +++ b/src/modules/physics/box2d/wrap_CircleShape.cpp @@ -29,7 +29,7 @@ namespace box2d CircleShape *luax_checkcircleshape(lua_State *L, int idx) { - return luax_checktype(L, idx, "CircleShape", PHYSICS_CIRCLE_SHAPE_T); + return luax_checktype(L, idx, PHYSICS_CIRCLE_SHAPE_ID); } int w_CircleShape_getRadius(lua_State *L) @@ -83,7 +83,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_circleshape(lua_State *L) { - return luax_register_type(L, "CircleShape", functions); + return luax_register_type(L, PHYSICS_CIRCLE_SHAPE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_Contact.cpp b/src/modules/physics/box2d/wrap_Contact.cpp index bb02f60ca..4a3a7cef6 100644 --- a/src/modules/physics/box2d/wrap_Contact.cpp +++ b/src/modules/physics/box2d/wrap_Contact.cpp @@ -30,7 +30,7 @@ namespace box2d Contact *luax_checkcontact(lua_State *L, int idx) { - Contact *c = luax_checktype(L, idx, "Contact", PHYSICS_CONTACT_T); + Contact *c = luax_checktype(L, idx, PHYSICS_CONTACT_ID); if (!c->isValid()) luaL_error(L, "Attempt to use destroyed contact."); return c; @@ -146,14 +146,14 @@ int w_Contact_getFixtures(lua_State *L) Fixture *b = nullptr; luax_catchexcept(L, [&](){ t->getFixtures(a, b); }); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, a); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, b); + luax_pushtype(L, PHYSICS_FIXTURE_ID, a); + luax_pushtype(L, PHYSICS_FIXTURE_ID, b); return 2; } int w_Contact_isDestroyed(lua_State *L) { - Contact *c = luax_checktype(L, 1, "Contact", PHYSICS_CONTACT_T); + Contact *c = luax_checktype(L, 1, PHYSICS_CONTACT_ID); luax_pushboolean(L, !c->isValid()); return 1; } @@ -181,7 +181,7 @@ extern "C" int luaopen_contact(lua_State *L) { 0, 0 } }; - return luax_register_type(L, "Contact", functions); + return luax_register_type(L, PHYSICS_CONTACT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_DistanceJoint.cpp b/src/modules/physics/box2d/wrap_DistanceJoint.cpp index 1d16d967c..5f06cdfc6 100644 --- a/src/modules/physics/box2d/wrap_DistanceJoint.cpp +++ b/src/modules/physics/box2d/wrap_DistanceJoint.cpp @@ -29,7 +29,7 @@ namespace box2d DistanceJoint *luax_checkdistancejoint(lua_State *L, int idx) { - DistanceJoint *j = luax_checktype(L, idx, "DistanceJoint", PHYSICS_DISTANCE_JOINT_T); + DistanceJoint *j = luax_checktype(L, idx, PHYSICS_DISTANCE_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -104,7 +104,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_distancejoint(lua_State *L) { - return luax_register_type(L, "DistanceJoint", functions); + return luax_register_type(L, PHYSICS_DISTANCE_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_EdgeShape.cpp b/src/modules/physics/box2d/wrap_EdgeShape.cpp index fb106486c..9caafbdcd 100644 --- a/src/modules/physics/box2d/wrap_EdgeShape.cpp +++ b/src/modules/physics/box2d/wrap_EdgeShape.cpp @@ -29,7 +29,7 @@ namespace box2d EdgeShape *luax_checkedgeshape(lua_State *L, int idx) { - return luax_checktype(L, idx, "EdgeShape", PHYSICS_EDGE_SHAPE_T); + return luax_checktype(L, idx, PHYSICS_EDGE_SHAPE_ID); } int w_EdgeShape_getPoints(lua_State *L) @@ -55,7 +55,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_edgeshape(lua_State *L) { - return luax_register_type(L, "EdgeShape", functions); + return luax_register_type(L, PHYSICS_EDGE_SHAPE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_Fixture.cpp b/src/modules/physics/box2d/wrap_Fixture.cpp index 907cf14be..4d8ac6cbd 100644 --- a/src/modules/physics/box2d/wrap_Fixture.cpp +++ b/src/modules/physics/box2d/wrap_Fixture.cpp @@ -30,7 +30,7 @@ namespace box2d Fixture *luax_checkfixture(lua_State *L, int idx) { - Fixture *f = luax_checktype(L, idx, "Fixture", PHYSICS_FIXTURE_T); + Fixture *f = luax_checktype(L, idx, PHYSICS_FIXTURE_ID); if (!f->isValid()) luaL_error(L, "Attempt to use destroyed fixture."); return f; @@ -111,7 +111,7 @@ int w_Fixture_getBody(lua_State *L) Body *body = t->getBody(); if (body == 0) return 0; - luax_pushtype(L, "Body", PHYSICS_BODY_T, body); + luax_pushtype(L, PHYSICS_BODY_ID, body); return 1; } @@ -124,19 +124,19 @@ int w_Fixture_getShape(lua_State *L) switch (shape->getType()) { case Shape::SHAPE_EDGE: - luax_pushtype(L, "EdgeShape", PHYSICS_EDGE_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_EDGE_SHAPE_ID, shape); break; case Shape::SHAPE_CHAIN: - luax_pushtype(L, "ChainShape", PHYSICS_CHAIN_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_CHAIN_SHAPE_ID, shape); break; case Shape::SHAPE_CIRCLE: - luax_pushtype(L, "CircleShape", PHYSICS_CIRCLE_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_CIRCLE_SHAPE_ID, shape); break; case Shape::SHAPE_POLYGON: - luax_pushtype(L, "PolygonShape", PHYSICS_POLYGON_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_POLYGON_SHAPE_ID, shape); break; default: - luax_pushtype(L, "Shape", PHYSICS_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_SHAPE_ID, shape); break; } shape->release(); @@ -264,7 +264,7 @@ int w_Fixture_destroy(lua_State *L) int w_Fixture_isDestroyed(lua_State *L) { - Fixture *f = luax_checktype(L, 1, "Fixture", PHYSICS_FIXTURE_T); + Fixture *f = luax_checktype(L, 1, PHYSICS_FIXTURE_ID); luax_pushboolean(L, !f->isValid()); return 1; } @@ -303,7 +303,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_fixture(lua_State *L) { - return luax_register_type(L, "Fixture", functions); + return luax_register_type(L, PHYSICS_FIXTURE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_FrictionJoint.cpp b/src/modules/physics/box2d/wrap_FrictionJoint.cpp index 94de9bb1c..44b007860 100644 --- a/src/modules/physics/box2d/wrap_FrictionJoint.cpp +++ b/src/modules/physics/box2d/wrap_FrictionJoint.cpp @@ -30,7 +30,7 @@ namespace box2d FrictionJoint *luax_checkfrictionjoint(lua_State *L, int idx) { - FrictionJoint *j = luax_checktype(L, idx, "FrictionJoint", PHYSICS_FRICTION_JOINT_T); + FrictionJoint *j = luax_checktype(L, idx, PHYSICS_FRICTION_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -88,7 +88,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_frictionjoint(lua_State *L) { - return luax_register_type(L, "FrictionJoint", functions); + return luax_register_type(L, PHYSICS_FRICTION_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_GearJoint.cpp b/src/modules/physics/box2d/wrap_GearJoint.cpp index 117331982..569be86cb 100644 --- a/src/modules/physics/box2d/wrap_GearJoint.cpp +++ b/src/modules/physics/box2d/wrap_GearJoint.cpp @@ -30,7 +30,7 @@ namespace box2d GearJoint *luax_checkgearjoint(lua_State *L, int idx) { - GearJoint *j = luax_checktype(L, idx, "GearJoint", PHYSICS_GEAR_JOINT_T); + GearJoint *j = luax_checktype(L, idx, PHYSICS_GEAR_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -88,7 +88,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_gearjoint(lua_State *L) { - return luax_register_type(L, "GearJoint", functions); + return luax_register_type(L, PHYSICS_GEAR_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_Joint.cpp b/src/modules/physics/box2d/wrap_Joint.cpp index 2f7026bde..249ac1bc2 100644 --- a/src/modules/physics/box2d/wrap_Joint.cpp +++ b/src/modules/physics/box2d/wrap_Joint.cpp @@ -38,27 +38,27 @@ void luax_pushjoint(lua_State *L, Joint *j) switch (j->getType()) { case Joint::JOINT_DISTANCE: - return luax_pushtype(L, "DistanceJoint", PHYSICS_DISTANCE_JOINT_T, j); + return luax_pushtype(L, PHYSICS_DISTANCE_JOINT_ID, j); case Joint::JOINT_REVOLUTE: - return luax_pushtype(L, "RevoluteJoint", PHYSICS_REVOLUTE_JOINT_T, j); + return luax_pushtype(L, PHYSICS_REVOLUTE_JOINT_ID, j); case Joint::JOINT_PRISMATIC: - return luax_pushtype(L, "PrismaticJoint", PHYSICS_PRISMATIC_JOINT_T, j); + return luax_pushtype(L, PHYSICS_PRISMATIC_JOINT_ID, j); case Joint::JOINT_MOUSE: - return luax_pushtype(L, "MouseJoint", PHYSICS_MOUSE_JOINT_T, j); + return luax_pushtype(L, PHYSICS_MOUSE_JOINT_ID, j); case Joint::JOINT_PULLEY: - return luax_pushtype(L, "PulleyJoint", PHYSICS_PULLEY_JOINT_T, j); + return luax_pushtype(L, PHYSICS_PULLEY_JOINT_ID, j); case Joint::JOINT_GEAR: - return luax_pushtype(L, "GearJoint", PHYSICS_GEAR_JOINT_T, j); + return luax_pushtype(L, PHYSICS_GEAR_JOINT_ID, j); case Joint::JOINT_FRICTION: - return luax_pushtype(L, "FrictionJoint", PHYSICS_FRICTION_JOINT_T, j); + return luax_pushtype(L, PHYSICS_FRICTION_JOINT_ID, j); case Joint::JOINT_WELD: - return luax_pushtype(L, "WeldJoint", PHYSICS_WELD_JOINT_T, j); + return luax_pushtype(L, PHYSICS_WELD_JOINT_ID, j); case Joint::JOINT_WHEEL: - return luax_pushtype(L, "WheelJoint", PHYSICS_WHEEL_JOINT_T, j); + return luax_pushtype(L, PHYSICS_WHEEL_JOINT_ID, j); case Joint::JOINT_ROPE: - return luax_pushtype(L, "RopeJoint", PHYSICS_ROPE_JOINT_T, j); + return luax_pushtype(L, PHYSICS_ROPE_JOINT_ID, j); case Joint::JOINT_MOTOR: - return luax_pushtype(L, "MotorJoint", PHYSICS_MOTOR_JOINT_T, j); + return luax_pushtype(L, PHYSICS_MOTOR_JOINT_ID, j); default: return lua_pushnil(L); } @@ -66,7 +66,7 @@ void luax_pushjoint(lua_State *L, Joint *j) Joint *luax_checkjoint(lua_State *L, int idx) { - Joint *t = luax_checktype(L, idx, "Joint", PHYSICS_JOINT_T); + Joint *t = luax_checktype(L, idx, PHYSICS_JOINT_ID); if (!t->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return t; @@ -92,8 +92,8 @@ int w_Joint_getBodies(lua_State *L) b2 = t->getBodyB(); }); - luax_pushtype(L, "Body", PHYSICS_BODY_T, b1); - luax_pushtype(L, "Body", PHYSICS_BODY_T, b2); + luax_pushtype(L, PHYSICS_BODY_ID, b1); + luax_pushtype(L, PHYSICS_BODY_ID, b2); return 2; } @@ -149,7 +149,7 @@ int w_Joint_destroy(lua_State *L) int w_Joint_isDestroyed(lua_State *L) { - Joint *t = luax_checktype(L, 1, "Joint", PHYSICS_JOINT_T); + Joint *t = luax_checktype(L, 1, PHYSICS_JOINT_ID); luax_pushboolean(L, !t->isValid()); return 1; } @@ -171,7 +171,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_joint(lua_State *L) { - return luax_register_type(L, "Joint", functions); + return luax_register_type(L, PHYSICS_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_MotorJoint.cpp b/src/modules/physics/box2d/wrap_MotorJoint.cpp index e9ad2bc0a..40d60d217 100644 --- a/src/modules/physics/box2d/wrap_MotorJoint.cpp +++ b/src/modules/physics/box2d/wrap_MotorJoint.cpp @@ -29,7 +29,7 @@ namespace box2d MotorJoint *luax_checkmotorjoint(lua_State *L, int idx) { - MotorJoint *j = luax_checktype(L, idx, "MotorJoint", PHYSICS_MOTOR_JOINT_T); + MotorJoint *j = luax_checktype(L, idx, PHYSICS_MOTOR_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -138,7 +138,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_motorjoint(lua_State *L) { - return luax_register_type(L, "MotorJoint", functions); + return luax_register_type(L, PHYSICS_MOTOR_JOINT_ID, functions); } diff --git a/src/modules/physics/box2d/wrap_MouseJoint.cpp b/src/modules/physics/box2d/wrap_MouseJoint.cpp index 5caa42db9..0e9338fc0 100644 --- a/src/modules/physics/box2d/wrap_MouseJoint.cpp +++ b/src/modules/physics/box2d/wrap_MouseJoint.cpp @@ -29,7 +29,7 @@ namespace box2d MouseJoint *luax_checkmousejoint(lua_State *L, int idx) { - MouseJoint *j = luax_checktype(L, idx, "MouseJoint", PHYSICS_MOUSE_JOINT_T); + MouseJoint *j = luax_checktype(L, idx, PHYSICS_MOUSE_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -122,7 +122,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_mousejoint(lua_State *L) { - return luax_register_type(L, "MouseJoint", functions); + return luax_register_type(L, PHYSICS_MOUSE_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_Physics.cpp b/src/modules/physics/box2d/wrap_Physics.cpp index 31edec834..5750d8bb1 100644 --- a/src/modules/physics/box2d/wrap_Physics.cpp +++ b/src/modules/physics/box2d/wrap_Physics.cpp @@ -59,7 +59,7 @@ int w_newWorld(lua_State *L) World *w; luax_catchexcept(L, [&](){ w = instance()->newWorld(gx, gy, sleep); }); - luax_pushtype(L, "World", PHYSICS_WORLD_T, w); + luax_pushtype(L, PHYSICS_WORLD_ID, w); w->release(); return 1; @@ -67,7 +67,7 @@ int w_newWorld(lua_State *L) int w_newBody(lua_State *L) { - World *world = luax_checktype(L, 1, "World", PHYSICS_WORLD_T); + World *world = luax_checkworld(L, 1); float x = (float)luaL_optnumber(L, 2, 0.0); float y = (float)luaL_optnumber(L, 3, 0.0); @@ -78,7 +78,7 @@ int w_newBody(lua_State *L) Body *body; luax_catchexcept(L, [&](){ body = instance()->newBody(world, x, y, btype); }); - luax_pushtype(L, "Body", PHYSICS_BODY_T, body); + luax_pushtype(L, PHYSICS_BODY_ID, body); body->release(); return 1; } @@ -90,7 +90,7 @@ int w_newFixture(lua_State *L) float density = (float)luaL_optnumber(L, 3, 1.0f); Fixture *fixture; luax_catchexcept(L, [&](){ fixture = instance()->newFixture(body, shape, density); }); - luax_pushtype(L, "Fixture", PHYSICS_FIXTURE_T, fixture); + luax_pushtype(L, PHYSICS_FIXTURE_ID, fixture); fixture->release(); return 1; } @@ -104,7 +104,7 @@ int w_newCircleShape(lua_State *L) float radius = (float)luaL_checknumber(L, 1); CircleShape *shape; luax_catchexcept(L, [&](){ shape = instance()->newCircleShape(radius); }); - luax_pushtype(L, "CircleShape", PHYSICS_CIRCLE_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_CIRCLE_SHAPE_ID, shape); shape->release(); return 1; } @@ -115,7 +115,7 @@ int w_newCircleShape(lua_State *L) float radius = (float)luaL_checknumber(L, 3); CircleShape *shape; luax_catchexcept(L, [&](){ shape = instance()->newCircleShape(x, y, radius); }); - luax_pushtype(L, "CircleShape", PHYSICS_CIRCLE_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_CIRCLE_SHAPE_ID, shape); shape->release(); return 1; } @@ -133,7 +133,7 @@ int w_newRectangleShape(lua_State *L) float h = (float)luaL_checknumber(L, 2); PolygonShape *shape; luax_catchexcept(L, [&](){ shape = instance()->newRectangleShape(w, h); }); - luax_pushtype(L, "PolygonShape", PHYSICS_POLYGON_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_POLYGON_SHAPE_ID, shape); shape->release(); return 1; } @@ -146,7 +146,7 @@ int w_newRectangleShape(lua_State *L) float angle = (float)luaL_optnumber(L, 5, 0); PolygonShape *shape; luax_catchexcept(L, [&](){ shape = instance()->newRectangleShape(x, y, w, h, angle); }); - luax_pushtype(L, "PolygonShape", PHYSICS_POLYGON_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_POLYGON_SHAPE_ID, shape); shape->release(); return 1; } @@ -162,7 +162,7 @@ int w_newEdgeShape(lua_State *L) float y2 = (float)luaL_checknumber(L, 4); EdgeShape *shape; luax_catchexcept(L, [&](){ shape = instance()->newEdgeShape(x1, y1, x2, y2); }); - luax_pushtype(L, "EdgeShape", PHYSICS_EDGE_SHAPE_T, shape); + luax_pushtype(L, PHYSICS_EDGE_SHAPE_ID, shape); shape->release(); return 1; } @@ -183,8 +183,8 @@ int w_newChainShape(lua_State *L) int w_newDistanceJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float x1 = (float)luaL_checknumber(L, 3); float y1 = (float)luaL_checknumber(L, 4); float x2 = (float)luaL_checknumber(L, 5); @@ -194,27 +194,27 @@ int w_newDistanceJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newDistanceJoint(body1, body2, x1, y1, x2, y2, collideConnected); }); - luax_pushtype(L, "DistanceJoint", PHYSICS_DISTANCE_JOINT_T, j); + luax_pushtype(L, PHYSICS_DISTANCE_JOINT_ID, j); j->release(); return 1; } int w_newMouseJoint(lua_State *L) { - Body *body = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); + Body *body = luax_checkbody(L, 1); float x = (float)luaL_checknumber(L, 2); float y = (float)luaL_checknumber(L, 3); MouseJoint *j; luax_catchexcept(L, [&](){ j = instance()->newMouseJoint(body, x, y); }); - luax_pushtype(L, "MouseJoint", PHYSICS_MOUSE_JOINT_T, j); + luax_pushtype(L, PHYSICS_MOUSE_JOINT_ID, j); j->release(); return 1; } int w_newRevoluteJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float x = (float)luaL_checknumber(L, 3); float y = (float)luaL_checknumber(L, 4); bool collideConnected = luax_optboolean(L, 5, false); @@ -222,15 +222,15 @@ int w_newRevoluteJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newRevoluteJoint(body1, body2, x, y, collideConnected); }); - luax_pushtype(L, "RevoluteJoint", PHYSICS_REVOLUTE_JOINT_T, j); + luax_pushtype(L, PHYSICS_REVOLUTE_JOINT_ID, j); j->release(); return 1; } int w_newPrismaticJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float xA = (float)luaL_checknumber(L, 3); float yA = (float)luaL_checknumber(L, 4); float xB, yB, ax, ay; @@ -255,15 +255,15 @@ int w_newPrismaticJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newPrismaticJoint(body1, body2, xA, yA, xB, yB, ax, ay, collideConnected); }); - luax_pushtype(L, "PrismaticJoint", PHYSICS_PRISMATIC_JOINT_T, j); + luax_pushtype(L, PHYSICS_PRISMATIC_JOINT_ID, j); j->release(); return 1; } int w_newPulleyJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float gx1 = (float)luaL_checknumber(L, 3); float gy1 = (float)luaL_checknumber(L, 4); float gx2 = (float)luaL_checknumber(L, 5); @@ -279,15 +279,15 @@ int w_newPulleyJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newPulleyJoint(body1, body2, b2Vec2(gx1,gy1), b2Vec2(gx2,gy2), b2Vec2(x1,y1), b2Vec2(x2,y2), ratio, collideConnected); }); - luax_pushtype(L, "PulleyJoint", PHYSICS_PULLEY_JOINT_T, j); + luax_pushtype(L, PHYSICS_PULLEY_JOINT_ID, j); j->release(); return 1; } int w_newGearJoint(lua_State *L) { - Joint *joint1 = luax_checktype(L, 1, "Joint", PHYSICS_JOINT_T); - Joint *joint2 = luax_checktype(L, 2, "Joint", PHYSICS_JOINT_T); + Joint *joint1 = luax_checkjoint(L, 1); + Joint *joint2 = luax_checkjoint(L, 2); float ratio = (float)luaL_optnumber(L, 3, 1.0); bool collideConnected = luax_optboolean(L, 4, false); @@ -295,15 +295,15 @@ int w_newGearJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newGearJoint(joint1, joint2, ratio, collideConnected); }); - luax_pushtype(L, "GearJoint", PHYSICS_GEAR_JOINT_T, j); + luax_pushtype(L, PHYSICS_GEAR_JOINT_ID, j); j->release(); return 1; } int w_newFrictionJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float xA = (float)luaL_checknumber(L, 3); float yA = (float)luaL_checknumber(L, 4); float xB, yB; @@ -324,15 +324,15 @@ int w_newFrictionJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newFrictionJoint(body1, body2, xA, yA, xB, yB, collideConnected); }); - luax_pushtype(L, "FrictionJoint", PHYSICS_FRICTION_JOINT_T, j); + luax_pushtype(L, PHYSICS_FRICTION_JOINT_ID, j); j->release(); return 1; } int w_newWeldJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float xA = (float)luaL_checknumber(L, 3); float yA = (float)luaL_checknumber(L, 4); float xB, yB; @@ -353,15 +353,15 @@ int w_newWeldJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newWeldJoint(body1, body2, xA, yA, xB, yB, collideConnected); }); - luax_pushtype(L, "WeldJoint", PHYSICS_WELD_JOINT_T, j); + luax_pushtype(L, PHYSICS_WELD_JOINT_ID, j); j->release(); return 1; } int w_newWheelJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float xA = (float)luaL_checknumber(L, 3); float yA = (float)luaL_checknumber(L, 4); float xB, yB, ax, ay; @@ -387,15 +387,15 @@ int w_newWheelJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newWheelJoint(body1, body2, xA, yA, xB, yB, ax, ay, collideConnected); }); - luax_pushtype(L, "WheelJoint", PHYSICS_WHEEL_JOINT_T, j); + luax_pushtype(L, PHYSICS_WHEEL_JOINT_ID, j); j->release(); return 1; } int w_newRopeJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); float x1 = (float)luaL_checknumber(L, 3); float y1 = (float)luaL_checknumber(L, 4); float x2 = (float)luaL_checknumber(L, 5); @@ -406,15 +406,15 @@ int w_newRopeJoint(lua_State *L) luax_catchexcept(L, [&]() { j = instance()->newRopeJoint(body1, body2, x1, y1, x2, y2, maxLength, collideConnected); }); - luax_pushtype(L, "RopeJoint", PHYSICS_ROPE_JOINT_T, j); + luax_pushtype(L, PHYSICS_ROPE_JOINT_ID, j); j->release(); return 1; } int w_newMotorJoint(lua_State *L) { - Body *body1 = luax_checktype(L, 1, "Body", PHYSICS_BODY_T); - Body *body2 = luax_checktype(L, 2, "Body", PHYSICS_BODY_T); + Body *body1 = luax_checkbody(L, 1); + Body *body2 = luax_checkbody(L, 2); MotorJoint *j = 0; if (!lua_isnoneornil(L, 3)) { @@ -427,7 +427,7 @@ int w_newMotorJoint(lua_State *L) { luax_catchexcept(L, [&](){ j = instance()->newMotorJoint(body1, body2); }); } - luax_pushtype(L, "MotorJoint", PHYSICS_MOTOR_JOINT_T, j); + luax_pushtype(L, PHYSICS_MOTOR_JOINT_ID, j); j->release(); return 1; } @@ -517,7 +517,7 @@ extern "C" int luaopen_love_physics(lua_State *L) WrappedModule w; w.module = instance; w.name = "physics"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = types; diff --git a/src/modules/physics/box2d/wrap_PolygonShape.cpp b/src/modules/physics/box2d/wrap_PolygonShape.cpp index 336703f3c..b29ebd257 100644 --- a/src/modules/physics/box2d/wrap_PolygonShape.cpp +++ b/src/modules/physics/box2d/wrap_PolygonShape.cpp @@ -29,7 +29,7 @@ namespace box2d PolygonShape *luax_checkpolygonshape(lua_State *L, int idx) { - return luax_checktype(L, idx, "PolygonShape", PHYSICS_POLYGON_SHAPE_T); + return luax_checktype(L, idx, PHYSICS_POLYGON_SHAPE_ID); } int w_PolygonShape_getPoints(lua_State *L) @@ -63,7 +63,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_polygonshape(lua_State *L) { - return luax_register_type(L, "PolygonShape", functions); + return luax_register_type(L, PHYSICS_POLYGON_SHAPE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_PrismaticJoint.cpp b/src/modules/physics/box2d/wrap_PrismaticJoint.cpp index 04f3c6e43..44e9628eb 100644 --- a/src/modules/physics/box2d/wrap_PrismaticJoint.cpp +++ b/src/modules/physics/box2d/wrap_PrismaticJoint.cpp @@ -30,7 +30,7 @@ namespace box2d PrismaticJoint *luax_checkprismaticjoint(lua_State *L, int idx) { - PrismaticJoint *j = luax_checktype(L, idx, "PrismaticJoint", PHYSICS_PRISMATIC_JOINT_T); + PrismaticJoint *j = luax_checktype(L, idx, PHYSICS_PRISMATIC_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -199,7 +199,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_prismaticjoint(lua_State *L) { - return luax_register_type(L, "PrismaticJoint", functions); + return luax_register_type(L, PHYSICS_PRISMATIC_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_PulleyJoint.cpp b/src/modules/physics/box2d/wrap_PulleyJoint.cpp index 18a7bb883..3a8c718f7 100644 --- a/src/modules/physics/box2d/wrap_PulleyJoint.cpp +++ b/src/modules/physics/box2d/wrap_PulleyJoint.cpp @@ -29,7 +29,7 @@ namespace box2d PulleyJoint *luax_checkpulleyjoint(lua_State *L, int idx) { - PulleyJoint *j = luax_checktype(L, idx, "PulleyJoint", PHYSICS_PULLEY_JOINT_T); + PulleyJoint *j = luax_checktype(L, idx, PHYSICS_PULLEY_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -85,7 +85,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_pulleyjoint(lua_State *L) { - return luax_register_type(L, "PulleyJoint", functions); + return luax_register_type(L, PHYSICS_PULLEY_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_RevoluteJoint.cpp b/src/modules/physics/box2d/wrap_RevoluteJoint.cpp index f61a991fa..75ad5914d 100644 --- a/src/modules/physics/box2d/wrap_RevoluteJoint.cpp +++ b/src/modules/physics/box2d/wrap_RevoluteJoint.cpp @@ -30,7 +30,7 @@ namespace box2d RevoluteJoint *luax_checkrevolutejoint(lua_State *L, int idx) { - RevoluteJoint *j = luax_checktype(L, idx, "RevoluteJoint", PHYSICS_REVOLUTE_JOINT_T); + RevoluteJoint *j = luax_checktype(L, idx, PHYSICS_REVOLUTE_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -199,7 +199,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_revolutejoint(lua_State *L) { - return luax_register_type(L, "RevoluteJoint", functions); + return luax_register_type(L, PHYSICS_REVOLUTE_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_RopeJoint.cpp b/src/modules/physics/box2d/wrap_RopeJoint.cpp index 76635873c..b9b9800d5 100644 --- a/src/modules/physics/box2d/wrap_RopeJoint.cpp +++ b/src/modules/physics/box2d/wrap_RopeJoint.cpp @@ -29,7 +29,7 @@ namespace box2d RopeJoint *luax_checkropejoint(lua_State *L, int idx) { - RopeJoint *j = luax_checktype(L, idx, "RopeJoint", PHYSICS_ROPE_JOINT_T); + RopeJoint *j = luax_checktype(L, idx, PHYSICS_ROPE_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -61,7 +61,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_ropejoint(lua_State *L) { - return luax_register_type(L, "RopeJoint", functions); + return luax_register_type(L, PHYSICS_ROPE_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_Shape.cpp b/src/modules/physics/box2d/wrap_Shape.cpp index da58bd138..0750d3e07 100644 --- a/src/modules/physics/box2d/wrap_Shape.cpp +++ b/src/modules/physics/box2d/wrap_Shape.cpp @@ -30,7 +30,7 @@ namespace box2d Shape *luax_checkshape(lua_State *L, int idx) { - return luax_checktype(L, idx, "Shape", PHYSICS_SHAPE_T); + return luax_checktype(L, idx, PHYSICS_SHAPE_ID); } int w_Shape_getType(lua_State *L) @@ -108,7 +108,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_shape(lua_State *L) { - return luax_register_type(L, "Shape", functions); + return luax_register_type(L, PHYSICS_SHAPE_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_WeldJoint.cpp b/src/modules/physics/box2d/wrap_WeldJoint.cpp index 5c4a2a6d4..056411bcb 100644 --- a/src/modules/physics/box2d/wrap_WeldJoint.cpp +++ b/src/modules/physics/box2d/wrap_WeldJoint.cpp @@ -29,7 +29,7 @@ namespace box2d WeldJoint *luax_checkweldjoint(lua_State *L, int idx) { - WeldJoint *j = luax_checktype(L, idx, "WeldJoint", PHYSICS_WELD_JOINT_T); + WeldJoint *j = luax_checktype(L, idx, PHYSICS_WELD_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -87,7 +87,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_weldjoint(lua_State *L) { - return luax_register_type(L, "WeldJoint", functions); + return luax_register_type(L, PHYSICS_WELD_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_WheelJoint.cpp b/src/modules/physics/box2d/wrap_WheelJoint.cpp index 8ccea3a1a..d8691898e 100644 --- a/src/modules/physics/box2d/wrap_WheelJoint.cpp +++ b/src/modules/physics/box2d/wrap_WheelJoint.cpp @@ -29,7 +29,7 @@ namespace box2d WheelJoint *luax_checkwheeljoint(lua_State *L, int idx) { - WheelJoint *j = luax_checktype(L, idx, "WheelJoint", PHYSICS_WHEEL_JOINT_T); + WheelJoint *j = luax_checktype(L, idx, PHYSICS_WHEEL_JOINT_ID); if (!j->isValid()) luaL_error(L, "Attempt to use destroyed joint."); return j; @@ -163,7 +163,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_wheeljoint(lua_State *L) { - return luax_register_type(L, "WheelJoint", functions); + return luax_register_type(L, PHYSICS_WHEEL_JOINT_ID, functions); } } // box2d diff --git a/src/modules/physics/box2d/wrap_World.cpp b/src/modules/physics/box2d/wrap_World.cpp index 7b433425b..e88b93459 100644 --- a/src/modules/physics/box2d/wrap_World.cpp +++ b/src/modules/physics/box2d/wrap_World.cpp @@ -29,7 +29,7 @@ namespace box2d World *luax_checkworld(lua_State *L, int idx) { - World *w = luax_checktype(L, idx, "World", PHYSICS_WORLD_T); + World *w = luax_checktype(L, idx, PHYSICS_WORLD_ID); if (!w->isValid()) luaL_error(L, "Attempt to use destroyed world."); return w; @@ -191,7 +191,7 @@ int w_World_destroy(lua_State *L) int w_World_isDestroyed(lua_State *L) { - World *w = luax_checktype(L, 1, "World", PHYSICS_WORLD_T); + World *w = luax_checktype(L, 1, PHYSICS_WORLD_ID); luax_pushboolean(L, !w->isValid()); return 1; } @@ -225,7 +225,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_world(lua_State *L) { - return luax_register_type(L, "World", functions); + return luax_register_type(L, PHYSICS_WORLD_ID, functions); } } // box2d diff --git a/src/modules/sound/SoundData.cpp b/src/modules/sound/SoundData.cpp index 91aedb791..5a6ff8aa5 100644 --- a/src/modules/sound/SoundData.cpp +++ b/src/modules/sound/SoundData.cpp @@ -176,7 +176,7 @@ int SoundData::getSampleRate() const int SoundData::getSampleCount() const { - return (size/channels)/(bitDepth/8); + return (int) ((size/channels)/(bitDepth/8)); } float SoundData::getDuration() const diff --git a/src/modules/sound/lullaby/CoreAudioDecoder.cpp b/src/modules/sound/lullaby/CoreAudioDecoder.cpp new file mode 100644 index 000000000..b176ba4ac --- /dev/null +++ b/src/modules/sound/lullaby/CoreAudioDecoder.cpp @@ -0,0 +1,274 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifdef LOVE_SUPPORT_COREAUDIO + +// LOVE +#include "CoreAudioDecoder.h" + +// C++ +#include + +namespace love +{ +namespace sound +{ +namespace lullaby +{ + +// Callbacks +namespace +{ +OSStatus readFunc(void *inClientData, SInt64 inPosition, UInt32 requestCount, void *buffer, UInt32 *actualCount) +{ + Data *data = (Data *) inClientData; + SInt64 bytesLeft = data->getSize() - inPosition; + + if (bytesLeft > 0) + { + UInt32 actualSize = bytesLeft >= requestCount ? requestCount : (UInt32) bytesLeft; + memcpy(buffer, (char *) data->getData() + inPosition, actualSize); + *actualCount = actualSize; + } + else + { + *actualCount = 0; + return kAudioFilePositionError; + } + + return noErr; +} + +SInt64 getSizeFunc(void *inClientData) +{ + Data *data = (Data *) inClientData; + return data->getSize(); +} +} // anonymous namespace + +CoreAudioDecoder::CoreAudioDecoder(Data *data, const std::string &ext, int bufferSize) + : Decoder(data, ext, bufferSize) + , audioFile(nullptr) + , extAudioFile(nullptr) + , inputInfo() + , outputInfo() +{ + try + { + OSStatus err = noErr; + + // Open the file represented by the Data. + err = AudioFileOpenWithCallbacks(data, readFunc, nullptr, getSizeFunc, nullptr, kAudioFileMP3Type, &audioFile); + if (err != noErr) + throw love::Exception("Could open audio file for decoding."); + + // We want to use the Extended AudioFile API. + err = ExtAudioFileWrapAudioFileID(audioFile, false, &extAudioFile); + + if (err != noErr) + throw love::Exception("Could open audio file for decoding."); + + // Get the format of the audio data. + UInt32 propertySize = sizeof(inputInfo); + err = ExtAudioFileGetProperty(extAudioFile, kExtAudioFileProperty_FileDataFormat, &propertySize, &inputInfo); + + if (err != noErr) + throw love::Exception("Could not determine file format."); + + // Set the output format to 16 bit signed integer (native-endian) data. + // Keep the channel count and sample rate of the source format. + outputInfo.mSampleRate = inputInfo.mSampleRate; + outputInfo.mChannelsPerFrame = inputInfo.mChannelsPerFrame; + + int bytes = (inputInfo.mBitsPerChannel == 8) ? 1 : 2; + + outputInfo.mFormatID = kAudioFormatLinearPCM; + outputInfo.mBitsPerChannel = bytes * 8; + outputInfo.mBytesPerFrame = bytes * outputInfo.mChannelsPerFrame; + outputInfo.mFramesPerPacket = 1; + outputInfo.mBytesPerPacket = bytes * outputInfo.mChannelsPerFrame; + outputInfo.mFormatFlags = kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked; + + // unsigned 8-bit or signed 16-bit integer PCM data. + if (outputInfo.mBitsPerChannel == 16) + outputInfo.mFormatFlags |= kAudioFormatFlagIsSignedInteger; + + // Set the desired output format. + propertySize = sizeof(outputInfo); + err = ExtAudioFileSetProperty(extAudioFile, kExtAudioFileProperty_ClientDataFormat, propertySize, &outputInfo); + + if (err != noErr) + throw love::Exception("Could not set decoder properties."); + } + catch (love::Exception &) + { + closeAudioFile(); + throw; + } + + sampleRate = (int) outputInfo.mSampleRate; +} + +CoreAudioDecoder::~CoreAudioDecoder() +{ + closeAudioFile(); +} + +void CoreAudioDecoder::closeAudioFile() +{ + if (extAudioFile != nullptr) + ExtAudioFileDispose(extAudioFile); + else if (audioFile != nullptr) + AudioFileClose(audioFile); + + extAudioFile = nullptr; + audioFile = nullptr; +} + +bool CoreAudioDecoder::accepts(const std::string &ext) +{ + UInt32 size = 0; + std::vector types; + + // Get the size in bytes of the type array we're about to get. + OSStatus err = AudioFileGetGlobalInfoSize(kAudioFileGlobalInfo_ReadableTypes, sizeof(UInt32), nullptr, &size); + if (err != noErr) + return false; + + types.resize(size / sizeof(UInt32)); + + // Get an array of supported types. + err = AudioFileGetGlobalInfo(kAudioFileGlobalInfo_ReadableTypes, 0, nullptr, &size, &types[0]); + if (err != noErr) + return false; + + // Turn the extension string into a CFStringRef. + CFStringRef extstr = CFStringCreateWithCString(nullptr, ext.c_str(), kCFStringEncodingUTF8); + + CFArrayRef exts = nullptr; + size = sizeof(CFArrayRef); + + for (UInt32 type : types) + { + // Get the extension strings for the type. + err = AudioFileGetGlobalInfo(kAudioFileGlobalInfo_ExtensionsForType, sizeof(UInt32), &type, &size, &exts); + if (err != noErr) + continue; + + // A type can have more than one extension string. + for (CFIndex i = 0; i < CFArrayGetCount(exts); i++) + { + CFStringRef value = (CFStringRef) CFArrayGetValueAtIndex(exts, i); + + if (CFStringCompare(extstr, value, 0) == kCFCompareEqualTo) + { + CFRelease(extstr); + CFRelease(exts); + return true; + } + } + + CFRelease(exts); + } + + CFRelease(extstr); + return false; +} + +love::sound::Decoder *CoreAudioDecoder::clone() +{ + return new CoreAudioDecoder(data.get(), ext, bufferSize); +} + +int CoreAudioDecoder::decode() +{ + int size = 0; + + while (size < bufferSize) + { + AudioBufferList dataBuffer; + dataBuffer.mNumberBuffers = 1; + dataBuffer.mBuffers[0].mDataByteSize = bufferSize - size; + dataBuffer.mBuffers[0].mData = (char *) buffer + size; + dataBuffer.mBuffers[0].mNumberChannels = outputInfo.mChannelsPerFrame; + + UInt32 frames = (bufferSize - size) / outputInfo.mBytesPerFrame; + + if (ExtAudioFileRead(extAudioFile, &frames, &dataBuffer) != noErr) + return size; + + if (frames == 0) + { + eof = true; + break; + } + + size += frames * outputInfo.mBytesPerFrame; + } + + return size; +} + +bool CoreAudioDecoder::seek(float s) +{ + OSStatus err = ExtAudioFileSeek(extAudioFile, (SInt64) (s * inputInfo.mSampleRate)); + + if (err == noErr) + { + eof = false; + return true; + } + + return false; +} + +bool CoreAudioDecoder::rewind() +{ + OSStatus err = ExtAudioFileSeek(extAudioFile, 0); + + if (err == noErr) + { + eof = false; + return true; + } + + return false; +} + +bool CoreAudioDecoder::isSeekable() +{ + return true; +} + +int CoreAudioDecoder::getChannels() const +{ + return outputInfo.mChannelsPerFrame; +} + +int CoreAudioDecoder::getBitDepth() const +{ + return outputInfo.mBitsPerChannel; +} + +} // lullaby +} // sound +} // love + +#endif // LOVE_SUPPORT_COREAUDIO diff --git a/src/modules/sound/lullaby/CoreAudioDecoder.h b/src/modules/sound/lullaby/CoreAudioDecoder.h new file mode 100644 index 000000000..61dd0d934 --- /dev/null +++ b/src/modules/sound/lullaby/CoreAudioDecoder.h @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_SOUND_LULLABY_CORE_AUDIO_DECODER_H +#define LOVE_SOUND_LULLABY_CORE_AUDIO_DECODER_H + +#include "common/config.h" + +#ifdef LOVE_SUPPORT_COREAUDIO + +// LOVE +#include "common/Data.h" +#include "Decoder.h" + +// Core Audio +#include +#include + +namespace love +{ +namespace sound +{ +namespace lullaby +{ + +/** + * Decoder which supports all formats handled by Apple's Core Audio framework. + **/ +class CoreAudioDecoder : public Decoder +{ +public: + + CoreAudioDecoder(Data *data, const std::string &ext, int bufferSize); + virtual ~CoreAudioDecoder(); + + static bool accepts(const std::string &ext); + + love::sound::Decoder *clone(); + int decode(); + bool seek(float s); + bool rewind(); + bool isSeekable(); + int getChannels() const; + int getBitDepth() const; + +private: + + void closeAudioFile(); + + AudioFileID audioFile; + ExtAudioFileRef extAudioFile; + + AudioStreamBasicDescription inputInfo; + AudioStreamBasicDescription outputInfo; + +}; // CoreAudioDecoder + +} // lullaby +} // sound +} // love + +#endif // LOVE_SUPPORT_COREAUDIO + +#endif // LOVE_SOUND_LULLABY_CORE_AUDIO_DECODER_H diff --git a/src/modules/sound/lullaby/GmeDecoder.h b/src/modules/sound/lullaby/GmeDecoder.h index 422d0f316..564c3ab23 100644 --- a/src/modules/sound/lullaby/GmeDecoder.h +++ b/src/modules/sound/lullaby/GmeDecoder.h @@ -27,7 +27,7 @@ #include "common/Data.h" #include "Decoder.h" -#ifdef LOVE_MACOSX_USE_FRAMEWORKS +#ifdef LOVE_APPLE_USE_FRAMEWORKS #include #else #include diff --git a/src/modules/sound/lullaby/ModPlugDecoder.cpp b/src/modules/sound/lullaby/ModPlugDecoder.cpp index 1ccf74c7a..10685bc86 100644 --- a/src/modules/sound/lullaby/ModPlugDecoder.cpp +++ b/src/modules/sound/lullaby/ModPlugDecoder.cpp @@ -17,9 +17,11 @@ * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. **/ -#include "common/config.h" + #include "ModPlugDecoder.h" +#ifndef LOVE_NO_MODPLUG + #include "common/Exception.h" namespace love @@ -145,3 +147,5 @@ int ModPlugDecoder::getBitDepth() const } // lullaby } // sound } // love + +#endif // LOVE_NO_MODPLUG diff --git a/src/modules/sound/lullaby/ModPlugDecoder.h b/src/modules/sound/lullaby/ModPlugDecoder.h index cee3340fb..671059faf 100644 --- a/src/modules/sound/lullaby/ModPlugDecoder.h +++ b/src/modules/sound/lullaby/ModPlugDecoder.h @@ -21,6 +21,10 @@ #ifndef LOVE_SOUND_LULLABY_MODPLUG_DECODER_H #define LOVE_SOUND_LULLABY_MODPLUG_DECODER_H +#include "common/config.h" + +#ifndef LOVE_NO_MODPLUG + // LOVE #include "common/Data.h" #include "Decoder.h" @@ -62,4 +66,6 @@ private: } // sound } // love +#endif // LOVE_NO_MODPLUG + #endif // LOVE_SOUND_LULLABY_MODPLUG_DECODER_H diff --git a/src/modules/sound/lullaby/Mpg123Decoder.h b/src/modules/sound/lullaby/Mpg123Decoder.h index d5d0f77dd..47706bc03 100644 --- a/src/modules/sound/lullaby/Mpg123Decoder.h +++ b/src/modules/sound/lullaby/Mpg123Decoder.h @@ -26,7 +26,7 @@ #include "Decoder.h" // libmpg123 -#ifdef LOVE_MACOSX_USE_FRAMEWORKS +#ifdef LOVE_APPLE_USE_FRAMEWORKS #include #else #include diff --git a/src/modules/sound/lullaby/Sound.cpp b/src/modules/sound/lullaby/Sound.cpp index 54a0a61f6..683660cfe 100644 --- a/src/modules/sound/lullaby/Sound.cpp +++ b/src/modules/sound/lullaby/Sound.cpp @@ -34,6 +34,10 @@ # include "Mpg123Decoder.h" #endif // LOVE_NOMPG123 +#ifdef LOVE_SUPPORT_COREAUDIO +# include "CoreAudioDecoder.h" +#endif + namespace love { namespace sound @@ -65,8 +69,12 @@ sound::Decoder *Sound::newDecoder(love::filesystem::FileData *data, int bufferSi sound::Decoder *decoder = 0; // Find a suitable decoder here, and return it. - if (ModPlugDecoder::accepts(ext)) + if (false) + /* nothing */; +#ifndef LOVE_NO_MODPLUG + else if (ModPlugDecoder::accepts(ext)) decoder = new ModPlugDecoder(data, ext, bufferSize); +#endif // LOVE_NO_MODPLUG #ifndef LOVE_NOMPG123 else if (Mpg123Decoder::accepts(ext)) decoder = new Mpg123Decoder(data, ext, bufferSize); @@ -77,6 +85,10 @@ sound::Decoder *Sound::newDecoder(love::filesystem::FileData *data, int bufferSi else if (GmeDecoder::accepts(ext)) decoder = new GmeDecoder(data, ext, bufferSize); #endif // LOVE_SUPPORT_GME +#ifdef LOVE_SUPPORT_COREAUDIO + else if (CoreAudioDecoder::accepts(ext)) + decoder = new CoreAudioDecoder(data, ext, bufferSize); +#endif else if (WaveDecoder::accepts(ext)) decoder = new WaveDecoder(data, ext, bufferSize); /*else if (FLACDecoder::accepts(ext)) diff --git a/src/modules/sound/lullaby/VorbisDecoder.cpp b/src/modules/sound/lullaby/VorbisDecoder.cpp index 20f32c3c6..ef0653a54 100644 --- a/src/modules/sound/lullaby/VorbisDecoder.cpp +++ b/src/modules/sound/lullaby/VorbisDecoder.cpp @@ -144,7 +144,7 @@ VorbisDecoder::VorbisDecoder(Data *data, const std::string &ext, int bufferSize) // Initialize OGG file oggFile.dataPtr = (char *) data->getData(); - oggFile.dataSize = data->getSize(); + oggFile.dataSize = (int) data->getSize(); oggFile.dataRead = 0; // Open Vorbis handle @@ -188,7 +188,7 @@ int VorbisDecoder::decode() while (size < bufferSize) { - int result = ov_read(&handle, (char *) buffer + size, bufferSize - size, endian, (getBitDepth() == 16 ? 2 : 1), 1, 0); + long result = ov_read(&handle, (char *) buffer + size, bufferSize - size, endian, (getBitDepth() == 16 ? 2 : 1), 1, 0); if (result == OV_HOLE) continue; @@ -250,7 +250,7 @@ int VorbisDecoder::getBitDepth() const int VorbisDecoder::getSampleRate() const { - return vorbisInfo->rate; + return (int) vorbisInfo->rate; } } // lullaby diff --git a/src/modules/sound/lullaby/WaveDecoder.cpp b/src/modules/sound/lullaby/WaveDecoder.cpp index b04ec12b3..6d5a00b2b 100644 --- a/src/modules/sound/lullaby/WaveDecoder.cpp +++ b/src/modules/sound/lullaby/WaveDecoder.cpp @@ -140,7 +140,7 @@ int WaveDecoder::decode() size += bytes; } - return size; + return (int) size; } bool WaveDecoder::seek(float s) diff --git a/src/modules/sound/wrap_Decoder.cpp b/src/modules/sound/wrap_Decoder.cpp index 616afb0f2..3d9c03a01 100644 --- a/src/modules/sound/wrap_Decoder.cpp +++ b/src/modules/sound/wrap_Decoder.cpp @@ -27,7 +27,7 @@ namespace sound Decoder *luax_checkdecoder(lua_State *L, int idx) { - return luax_checktype(L, idx, "Decoder", SOUND_DECODER_T); + return luax_checktype(L, idx, SOUND_DECODER_ID); } int w_Decoder_getChannels(lua_State *L) @@ -61,7 +61,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_decoder(lua_State *L) { - return luax_register_type(L, "Decoder", functions); + return luax_register_type(L, SOUND_DECODER_ID, functions); } } // sound diff --git a/src/modules/sound/wrap_Sound.cpp b/src/modules/sound/wrap_Sound.cpp index 08d8549ec..944083320 100644 --- a/src/modules/sound/wrap_Sound.cpp +++ b/src/modules/sound/wrap_Sound.cpp @@ -49,7 +49,7 @@ int w_newSoundData(lua_State *L) else { // Convert to Decoder, if necessary. - if (!luax_istype(L, 1, SOUND_DECODER_T)) + if (!luax_istype(L, 1, SOUND_DECODER_ID)) { w_newDecoder(L); lua_replace(L, 1); @@ -58,7 +58,7 @@ int w_newSoundData(lua_State *L) luax_catchexcept(L, [&](){ t = instance()->newSoundData(luax_checkdecoder(L, 1)); }); } - luax_pushtype(L, "SoundData", SOUND_SOUND_DATA_T, t); + luax_pushtype(L, SOUND_SOUND_DATA_ID, t); t->release(); return 1; } @@ -77,7 +77,7 @@ int w_newDecoder(lua_State *L) if (t == nullptr) return luaL_error(L, "Extension \"%s\" not supported.", data->getExtension().c_str()); - luax_pushtype(L, "Decoder", SOUND_DECODER_T, t); + luax_pushtype(L, SOUND_DECODER_ID, t); t->release(); return 1; } @@ -111,7 +111,7 @@ extern "C" int luaopen_love_sound(lua_State *L) WrappedModule w; w.module = instance; w.name = "sound"; - w.flags = MODULE_SOUND_T; + w.type = MODULE_SOUND_ID; w.functions = functions; w.types = types; diff --git a/src/modules/sound/wrap_SoundData.cpp b/src/modules/sound/wrap_SoundData.cpp index 951ab58c6..2f76ada5c 100644 --- a/src/modules/sound/wrap_SoundData.cpp +++ b/src/modules/sound/wrap_SoundData.cpp @@ -29,7 +29,7 @@ namespace sound SoundData *luax_checksounddata(lua_State *L, int idx) { - return luax_checktype(L, idx, "SoundData", SOUND_SOUND_DATA_T); + return luax_checktype(L, idx, SOUND_SOUND_DATA_ID); } int w_SoundData_getChannels(lua_State *L) @@ -105,7 +105,7 @@ static const luaL_Reg functions[] = extern "C" int luaopen_sounddata(lua_State *L) { - return luax_register_type(L, "SoundData", functions); + return luax_register_type(L, SOUND_SOUND_DATA_ID, functions); } } // sound diff --git a/src/modules/system/System.cpp b/src/modules/system/System.cpp index d1266367d..3b07640aa 100755 --- a/src/modules/system/System.cpp +++ b/src/modules/system/System.cpp @@ -24,6 +24,8 @@ #if defined(LOVE_MACOSX) #include +#elif defined(LOVE_IOS) +#include "common/iOS.h" #elif defined(LOVE_LINUX) #include //#include @@ -60,6 +62,8 @@ std::string System::getOS() const { #if defined(LOVE_MACOSX) return "OS X"; +#elif defined(LOVE_IOS) + return "iOS"; #elif defined(LOVE_WINDOWS) return "Windows"; #elif defined(LOVE_LINUX) @@ -91,6 +95,10 @@ bool System::openURL(const std::string &url) const CFRelease(cfurl); return success; +#elif defined(LOVE_IOS) + + return love::ios::openURL(url); + #elif defined(LOVE_LINUX) pid_t pid; diff --git a/src/modules/system/wrap_System.cpp b/src/modules/system/wrap_System.cpp index 547356808..2d95f5b87 100644 --- a/src/modules/system/wrap_System.cpp +++ b/src/modules/system/wrap_System.cpp @@ -110,7 +110,7 @@ extern "C" int luaopen_love_system(lua_State *L) WrappedModule w; w.module = instance; w.name = "system"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = nullptr; diff --git a/src/modules/thread/Channel.cpp b/src/modules/thread/Channel.cpp index 18fd5f190..94180b1d2 100644 --- a/src/modules/thread/Channel.cpp +++ b/src/modules/thread/Channel.cpp @@ -176,7 +176,7 @@ Variant *Channel::peek() int Channel::getCount() { Lock l(mutex); - return queue.size(); + return (int) queue.size(); } void Channel::clear() diff --git a/src/modules/thread/LuaThread.cpp b/src/modules/thread/LuaThread.cpp index af5510c42..80eaa6bd7 100644 --- a/src/modules/thread/LuaThread.cpp +++ b/src/modules/thread/LuaThread.cpp @@ -109,14 +109,18 @@ void LuaThread::onError() return; Proxy p; - p.flags = THREAD_THREAD_T; - p.data = this; + p.type = THREAD_THREAD_ID; + p.object = this; - Variant *arg1 = new Variant(THREAD_THREAD_ID, &p); - Variant *arg2 = new Variant(error.c_str(), error.length()); - event::Message *msg = new event::Message("threaderror", arg1, arg2); - arg1->release(); - arg2->release(); + std::vector> vargs = { + new Variant(THREAD_THREAD_ID, &p), + new Variant(error.c_str(), error.length()) + }; + + event::Message *msg = new event::Message("threaderror", vargs); + + for (const StrongRef &v : vargs) + v->release(); event->push(msg); msg->release(); diff --git a/src/modules/thread/wrap_Channel.cpp b/src/modules/thread/wrap_Channel.cpp index b0d632c84..c742ce731 100644 --- a/src/modules/thread/wrap_Channel.cpp +++ b/src/modules/thread/wrap_Channel.cpp @@ -40,7 +40,7 @@ void releaseVariant(Channel *c, Variant *v) Channel *luax_checkchannel(lua_State *L, int idx) { - return luax_checktype(L, idx, "Channel", THREAD_CHANNEL_T); + return luax_checktype(L, idx, THREAD_CHANNEL_ID); } int w_Channel_push(lua_State *L) @@ -129,7 +129,7 @@ static const luaL_Reg type_functions[] = { extern "C" int luaopen_channel(lua_State *L) { - return luax_register_type(L, "Channel", type_functions); + return luax_register_type(L, THREAD_CHANNEL_ID, type_functions); } } } diff --git a/src/modules/thread/wrap_LuaThread.cpp b/src/modules/thread/wrap_LuaThread.cpp index 1629051c2..15a290615 100644 --- a/src/modules/thread/wrap_LuaThread.cpp +++ b/src/modules/thread/wrap_LuaThread.cpp @@ -27,7 +27,7 @@ namespace thread LuaThread *luax_checkthread(lua_State *L, int idx) { - return luax_checktype(L, idx, "Thread", THREAD_THREAD_T); + return luax_checktype(L, idx, THREAD_THREAD_ID); } int w_Thread_start(lua_State *L) @@ -91,7 +91,7 @@ static const luaL_Reg type_functions[] = { extern "C" int luaopen_thread(lua_State *L) { - return luax_register_type(L, "Thread", type_functions); + return luax_register_type(L, THREAD_THREAD_ID, type_functions); } } // thread diff --git a/src/modules/thread/wrap_ThreadModule.cpp b/src/modules/thread/wrap_ThreadModule.cpp index d0123d65d..ce7576227 100644 --- a/src/modules/thread/wrap_ThreadModule.cpp +++ b/src/modules/thread/wrap_ThreadModule.cpp @@ -61,22 +61,22 @@ int w_newThread(lua_State *L) else luax_convobj(L, 1, "filesystem", "newFileData"); } - else if (luax_istype(L, 1, FILESYSTEM_FILE_T)) + else if (luax_istype(L, 1, FILESYSTEM_FILE_ID)) luax_convobj(L, 1, "filesystem", "newFileData"); - if (luax_istype(L, 1, FILESYSTEM_FILE_DATA_T)) + if (luax_istype(L, 1, FILESYSTEM_FILE_DATA_ID)) { - love::filesystem::FileData *fdata = luax_checktype(L, 1, "FileData", FILESYSTEM_FILE_DATA_T); + love::filesystem::FileData *fdata = luax_checktype(L, 1, FILESYSTEM_FILE_DATA_ID); name = std::string("@") + fdata->getFilename(); data = fdata; } else { - data = luax_checktype(L, 1, "Data", DATA_T); + data = luax_checktype(L, 1, DATA_ID); } LuaThread *t = instance()->newThread(name, data); - luax_pushtype(L, "Thread", THREAD_THREAD_T, t); + luax_pushtype(L, THREAD_THREAD_ID, t); t->release(); return 1; } @@ -84,7 +84,7 @@ int w_newThread(lua_State *L) int w_newChannel(lua_State *L) { Channel *c = instance()->newChannel(); - luax_pushtype(L, "Channel", THREAD_CHANNEL_T, c); + luax_pushtype(L, THREAD_CHANNEL_ID, c); c->release(); return 1; } @@ -93,7 +93,7 @@ int w_getChannel(lua_State *L) { std::string name = luax_checkstring(L, 1); Channel *c = instance()->getChannel(name); - luax_pushtype(L, "Channel", THREAD_CHANNEL_T, c); + luax_pushtype(L, THREAD_CHANNEL_ID, c); c->release(); return 1; } @@ -125,7 +125,7 @@ extern "C" int luaopen_love_thread(lua_State *L) WrappedModule w; w.module = instance; w.name = "thread"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = module_functions; w.types = types; diff --git a/src/modules/timer/sdl/Timer.cpp b/src/modules/timer/sdl/Timer.cpp index d710cb169..0fd0c3b56 100644 --- a/src/modules/timer/sdl/Timer.cpp +++ b/src/modules/timer/sdl/Timer.cpp @@ -30,7 +30,7 @@ #if defined(LOVE_WINDOWS) #include -#elif defined(LOVE_MACOSX) +#elif defined(LOVE_MACOSX) || defined(LOVE_IOS) #include #include #elif defined(LOVE_LINUX) @@ -134,7 +134,7 @@ double Timer::getAverageDelta() const double Timer::getTimerPeriod() { -#if defined(LOVE_MACOSX) +#if defined(LOVE_MACOSX) || defined(LOVE_IOS) mach_timebase_info_data_t info; mach_timebase_info(&info); return (double) info.numer / (double) info.denom / 1000000000.0; @@ -165,7 +165,7 @@ double Timer::getTime() const #endif mt = getTimeOfDay(); return mt; -#elif defined(LOVE_MACOSX) +#elif defined(LOVE_MACOSX) || defined(LOVE_IOS) return (double) mach_absolute_time() * timerPeriod; #elif defined(LOVE_WINDOWS) LARGE_INTEGER microTime; diff --git a/src/modules/timer/wrap_Timer.cpp b/src/modules/timer/wrap_Timer.cpp index 4fdb06f05..11e6c9f18 100644 --- a/src/modules/timer/wrap_Timer.cpp +++ b/src/modules/timer/wrap_Timer.cpp @@ -94,7 +94,7 @@ extern "C" int luaopen_love_timer(lua_State *L) WrappedModule w; w.module = instance; w.name = "timer"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = 0; diff --git a/src/modules/touch/Touch.h b/src/modules/touch/Touch.h new file mode 100644 index 000000000..c735e505e --- /dev/null +++ b/src/modules/touch/Touch.h @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_TOUCH_TOUCH_H +#define LOVE_TOUCH_TOUCH_H + +// LOVE +#include "common/int.h" +#include "common/Object.h" +#include "common/Module.h" + +// C++ +#include +#include + +namespace love +{ +namespace touch +{ + +class Touch : public Module +{ +public: + + struct TouchInfo + { + int64 id; // Identifier. Only unique for the duration of the touch-press. + double x; // Position in pixels along the x-axis. + double y; // Position in pixels along the y-axis. + double dx; // Amount in pixels moved along the x-axis. + double dy; // Amount in pixels moved along the y-axis. + }; + + virtual ~Touch() {} + + // Implements Module. + virtual ModuleType getModuleType() const { return M_TOUCH; } + + /** + * Gets a list of the IDs of all currently active touches. + **/ + virtual std::vector getIDs() const = 0; + + /** + * Gets the position in pixels of a specific touch, using its ID. + **/ + virtual void getPosition(int64 id, double &x, double &y) const = 0; + +}; // Touch + +} // touch +} // love + +#endif // LOVE_TOUCH_TOUCH_H diff --git a/src/modules/touch/sdl/Touch.cpp b/src/modules/touch/sdl/Touch.cpp new file mode 100644 index 000000000..0185c3225 --- /dev/null +++ b/src/modules/touch/sdl/Touch.cpp @@ -0,0 +1,77 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +// LOVE +#include "common/config.h" +#include "common/Exception.h" +#include "Touch.h" + +namespace love +{ +namespace touch +{ +namespace sdl +{ + +std::vector Touch::getIDs() const +{ + std::vector ids; + ids.reserve(touches.size()); + + for (const auto &touch : touches) + ids.push_back(touch.first); + + return ids; +} + +void Touch::getPosition(int64 id, double &x, double &y) const +{ + const auto it = touches.find(id); + if (it == touches.end()) + throw love::Exception("Invalid active touch ID: %d", id); + + x = it->second.x; + y = it->second.y; +} + +const char *Touch::getName() const +{ + return "love.touch.sdl"; +} + +void Touch::onEvent(Uint32 eventtype, const TouchInfo &info) +{ + switch (eventtype) + { + case SDL_FINGERDOWN: + case SDL_FINGERMOTION: + touches[info.id] = info; + break; + case SDL_FINGERUP: + touches.erase(info.id); + break; + default: + break; + } +} + +} // sdl +} // touch +} // love diff --git a/src/modules/touch/sdl/Touch.h b/src/modules/touch/sdl/Touch.h new file mode 100644 index 000000000..c7caca03e --- /dev/null +++ b/src/modules/touch/sdl/Touch.h @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_TOUCH_SDL_TOUCH_H +#define LOVE_TOUCH_SDL_TOUCH_H + +// LOVE +#include "touch/Touch.h" + +// C++ +#include + +// SDL +#include + +namespace love +{ +namespace touch +{ +namespace sdl +{ + +class Touch : public love::touch::Touch +{ +public: + + virtual ~Touch() {} + + virtual std::vector getIDs() const; + virtual void getPosition(int64 id, double &x, double &y) const; + + // Implements Module. + virtual const char *getName() const; + + // SDL has functions to query the state of touch presses, but unfortunately + // they are updated on a different thread in some backends, which causes + // issues especially if the user is iterating through the current touches + // when they're updated. So we only update our touch press state in + // love::event::sdl::Event::convert. + void onEvent(Uint32 eventtype, const TouchInfo &info); + +private: + + // All current touches, indexed by their IDs. + std::map touches; + +}; // Touch + +} // sdl +} // touch +} // love + +#endif // LOVE_TOUCH_SDL_TOUCH_H diff --git a/src/modules/touch/wrap_Touch.cpp b/src/modules/touch/wrap_Touch.cpp new file mode 100644 index 000000000..ebccb0f2b --- /dev/null +++ b/src/modules/touch/wrap_Touch.cpp @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#include "common/config.h" +#include "common/int.h" + +// LOVE +#include "wrap_Touch.h" + +#include "sdl/Touch.h" + +namespace love +{ +namespace touch +{ + +#define instance() (Module::getInstance(Module::M_TOUCH)) + +int w_getIDs(lua_State *L) +{ + std::vector ids = instance()->getIDs(); + + lua_createtable(L, (int) ids.size(), 0); + + for (size_t i = 0; i < ids.size(); i++) + { + // This is a bit hackish and we lose the higher 32 bits of the id on + // 32-bit systems, but SDL only ever gives id's that at most use as many + // bits as can fit in a pointer (for now.) + // We use lightuserdata instead of a lua_Number (double) because doubles + // can't represent all possible id values on 64-bit systems. + lua_pushlightuserdata(L, (void *) (intptr_t) ids[i]); + lua_rawseti(L, -2, (int) i + 1); + } + + return 1; +} + +int w_getPosition(lua_State *L) +{ + if (!lua_islightuserdata(L, 1)) + return luax_typerror(L, 1, "touch id"); + + int64 id = (int64) (intptr_t) lua_touserdata(L, 1); + + double x = 0; + double y = 0; + luax_catchexcept(L, [&]() { instance()->getPosition(id, x, y); }); + + lua_pushnumber(L, x); + lua_pushnumber(L, y); + + return 2; +} + +static const luaL_Reg functions[] = +{ + { "getIDs", w_getIDs }, + { "getPosition", w_getPosition }, + { 0, 0 } +}; + +extern "C" int luaopen_love_touch(lua_State *L) +{ + Touch *instance = instance(); + if (instance == nullptr) + { + luax_catchexcept(L, [&](){ instance = new love::touch::sdl::Touch(); }); + } + else + instance->retain(); + + WrappedModule w; + w.module = instance; + w.name = "touch"; + w.type = MODULE_ID; + w.functions = functions; + w.types = nullptr; + + return luax_register_module(L, w); +} + +} // touch +} // love diff --git a/src/modules/touch/wrap_Touch.h b/src/modules/touch/wrap_Touch.h new file mode 100644 index 000000000..7d3b4f32c --- /dev/null +++ b/src/modules/touch/wrap_Touch.h @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2006-2015 LOVE Development Team + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + **/ + +#ifndef LOVE_TOUCH_WRAP_TOUCH_H +#define LOVE_TOUCH_WRAP_TOUCH_H + +// LOVE +#include "Touch.h" +#include "common/runtime.h" + +namespace love +{ +namespace touch +{ + +int w_getIDs(lua_State *L); +int w_getPosition(lua_State *L); +extern "C" LOVE_EXPORT int luaopen_love_touch(lua_State *L); + +} // touch +} // love + +#endif // LOVE_TOUCH_WRAP_TOUCH_H diff --git a/src/modules/window/Window.cpp b/src/modules/window/Window.cpp index 476bddc08..c513bc4e2 100644 --- a/src/modules/window/Window.cpp +++ b/src/modules/window/Window.cpp @@ -38,26 +38,6 @@ void Window::swapBuffers() { } -WindowSettings::WindowSettings() - : fullscreen(false) - , fstype(Window::FULLSCREEN_TYPE_NORMAL) - , vsync(true) - , msaa(0) - , resizable(false) - , minwidth(1) - , minheight(1) - , borderless(false) - , centered(true) - , display(0) - , highdpi(false) - , sRGB(false) - , refreshrate(0.0) - , useposition(false) - , x(0) - , y(0) -{ -} - bool Window::getConstant(const char *in, Window::FullscreenType &out) { return fullscreenTypes.find(in, out); @@ -93,7 +73,6 @@ StringMap::Entry Window::settingEntri {"fullscreen", SETTING_FULLSCREEN}, {"fullscreentype", SETTING_FULLSCREEN_TYPE}, {"vsync", SETTING_VSYNC}, - {"fsaa", SETTING_FSAA}, {"msaa", SETTING_MSAA}, {"resizable", SETTING_RESIZABLE}, {"minwidth", SETTING_MIN_WIDTH}, @@ -110,19 +89,19 @@ StringMap::Entry Window::settingEntri StringMap Window::settings(Window::settingEntries, sizeof(Window::settingEntries)); -StringMap::Entry Window::fullscreenTypeEntries[] = +StringMap::Entry Window::fullscreenTypeEntries[] = { - {"normal", Window::FULLSCREEN_TYPE_NORMAL}, - {"desktop", Window::FULLSCREEN_TYPE_DESKTOP}, + {"exclusive", FULLSCREEN_EXCLUSIVE}, + {"desktop", FULLSCREEN_DESKTOP}, }; -StringMap Window::fullscreenTypes(Window::fullscreenTypeEntries, sizeof(Window::fullscreenTypeEntries)); +StringMap Window::fullscreenTypes(Window::fullscreenTypeEntries, sizeof(Window::fullscreenTypeEntries)); StringMap::Entry Window::messageBoxTypeEntries[] = { - {"error", Window::MESSAGEBOX_ERROR}, - {"warning", Window::MESSAGEBOX_WARNING}, - {"info", Window::MESSAGEBOX_INFO}, + {"error", MESSAGEBOX_ERROR}, + {"warning", MESSAGEBOX_WARNING}, + {"info", MESSAGEBOX_INFO}, }; StringMap Window::messageBoxTypes(Window::messageBoxTypeEntries, sizeof(Window::messageBoxTypeEntries)); diff --git a/src/modules/window/Window.h b/src/modules/window/Window.h index fc86b645d..d451c63e0 100644 --- a/src/modules/window/Window.h +++ b/src/modules/window/Window.h @@ -49,7 +49,6 @@ public: SETTING_FULLSCREEN, SETTING_FULLSCREEN_TYPE, SETTING_VSYNC, - SETTING_FSAA, // For backward-compatibility. TODO: remove! SETTING_MSAA, SETTING_RESIZABLE, SETTING_MIN_WIDTH, @@ -67,9 +66,9 @@ public: enum FullscreenType { - FULLSCREEN_TYPE_NORMAL, - FULLSCREEN_TYPE_DESKTOP, - FULLSCREEN_TYPE_MAX_ENUM + FULLSCREEN_EXCLUSIVE, + FULLSCREEN_DESKTOP, + FULLSCREEN_MAX_ENUM }; enum MessageBoxType @@ -116,7 +115,7 @@ public: virtual bool setFullscreen(bool fullscreen, FullscreenType fstype) = 0; virtual bool setFullscreen(bool fullscreen) = 0; - virtual bool onWindowResize(int width, int height) = 0; + virtual bool onSizeChanged(int width, int height) = 0; virtual int getDisplayCount() const = 0; @@ -124,9 +123,6 @@ public: virtual std::vector getFullscreenSizes(int displayindex) const = 0; - virtual int getWidth() const = 0; - virtual int getHeight() const = 0; - virtual void getDesktopDimensions(int displayindex, int &width, int &height) const = 0; virtual void setPosition(int x, int y, int displayindex) = 0; @@ -157,6 +153,12 @@ public: virtual void setMouseGrab(bool grab) = 0; virtual bool isMouseGrabbed() const = 0; + virtual void getPixelDimensions(int &w, int &h) const = 0; + // Note: window-space coordinates are not necessarily the same as + // density-independent units (which toPixels and fromPixels use.) + virtual void windowToPixelCoords(double *x, double *y) const = 0; + virtual void pixelToWindowCoords(double *x, double *y) const = 0; + virtual double getPixelScale() const = 0; virtual double toPixels(double x) const = 0; @@ -191,8 +193,8 @@ private: static StringMap::Entry settingEntries[]; static StringMap settings; - static StringMap::Entry fullscreenTypeEntries[]; - static StringMap fullscreenTypes; + static StringMap::Entry fullscreenTypeEntries[]; + static StringMap fullscreenTypes; static StringMap::Entry messageBoxTypeEntries[]; static StringMap messageBoxTypes; @@ -201,26 +203,23 @@ private: struct WindowSettings { - WindowSettings(); - - bool fullscreen; // = false - Window::FullscreenType fstype; // = FULLSCREEN_TYPE_NORMAL - bool vsync; // = true - int msaa; // = 0 - bool resizable; // = false - int minwidth; // = 1 - int minheight; // = 1 - bool borderless; // = false - bool centered; // = true - int display; // = 0 - bool highdpi; // false - bool sRGB; // false - double refreshrate; // 0.0 - bool useposition; // false - int x; // 0 - int y; // 0 - -}; // WindowSettings + bool fullscreen = false; + Window::FullscreenType fstype = Window::FULLSCREEN_DESKTOP; + bool vsync = true; + int msaa = 0; + bool resizable = false; + int minwidth = 1; + int minheight = 1; + bool borderless = false; + bool centered = true; + int display = 0; + bool highdpi = false; + bool sRGB = false; + double refreshrate = 0.0; + bool useposition = false; + int x = 0; + int y = 0; +}; } // window } // love diff --git a/src/modules/window/sdl/Window.cpp b/src/modules/window/sdl/Window.cpp index dac94e5cf..3b6676d3c 100644 --- a/src/modules/window/sdl/Window.cpp +++ b/src/modules/window/sdl/Window.cpp @@ -28,6 +28,17 @@ #include #include +// C +#include + +#ifdef LOVE_WINDOWS +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif + namespace love { namespace window @@ -36,11 +47,12 @@ namespace sdl { Window::Window() - : windowTitle("") - , created(false) + : created(false) , mouseGrabbed(false) - , window(0) - , context(0) + , window(nullptr) + , context(nullptr) + , displayedWindowError(false) + , displayedContextError(false) { if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) throw love::Exception("%s", SDL_GetError()); @@ -63,12 +75,278 @@ Window::~Window() SDL_QuitSubSystem(SDL_INIT_VIDEO); } -Window::_currentMode::_currentMode() - : width(800) - , height(600) - , settings() - , icon(0) +void Window::setGLFramebufferAttributes(int msaa, bool sRGB) { + // Set GL window / framebuffer attributes. + SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1); + SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 0); + + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, (msaa > 0) ? 1 : 0); + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, (msaa > 0) ? msaa : 0); + + SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, sRGB ? 1 : 0); +} + +void Window::setGLContextAttributes(const ContextAttribs &attribs) +{ + int profilemask = 0; + int contextflags = 0; + + if (attribs.gles) + profilemask |= SDL_GL_CONTEXT_PROFILE_ES; + else if (attribs.debug) + profilemask |= SDL_GL_CONTEXT_PROFILE_COMPATIBILITY; + + if (attribs.debug) + contextflags |= SDL_GL_CONTEXT_DEBUG_FLAG; + + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, attribs.versionMajor); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, attribs.versionMinor); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, profilemask); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, contextflags); +} + +bool Window::checkGLVersion(const ContextAttribs &attribs) +{ + typedef unsigned char GLubyte; + typedef unsigned int GLenum; + typedef const GLubyte *(APIENTRY *glGetStringPtr)(GLenum name); + const GLenum GL_VERSION_ENUM = 0x1F02; + + // We don't have OpenGL headers or an automatic OpenGL function loader in + // this module, so we have to get the glGetString function pointer ourselves. + glGetStringPtr glGetStringFunc = (glGetStringPtr) SDL_GL_GetProcAddress("glGetString"); + if (!glGetStringFunc) + return false; + + const char *glversion = (const char *) glGetStringFunc(GL_VERSION_ENUM); + if (!glversion) + return false; + + int glmajor = 0; + int glminor = 0; + + // glGetString(GL_VERSION) returns a string with the format "major.minor", + // or "OpenGL ES major.minor" in GLES contexts. + const char *format = "%d.%d"; + if (attribs.gles) + format = "OpenGL ES %d.%d"; + + if (sscanf(glversion, format, &glmajor, &glminor) != 2) + return false; + + if (glmajor < attribs.versionMajor + || (glmajor == attribs.versionMajor && glminor < attribs.versionMinor)) + return false; + + return true; +} + +bool Window::createWindowAndContext(int x, int y, int w, int h, Uint32 windowflags, int msaa, bool sRGB) +{ + bool preferGLES = false; + +#ifdef LOVE_GRAPHICS_USE_OPENGLES + preferGLES = true; +#endif + + const char *curdriver = SDL_GetCurrentVideoDriver(); + const char *glesdrivers[] = {"RPI", "Android", "uikit", "winrt"}; + + // We always want to try OpenGL ES first on certain video backends. + for (const char *glesdriver : glesdrivers) + { + if (curdriver && strstr(curdriver, glesdriver) == curdriver) + { + preferGLES = true; + break; + } + } + + if (!preferGLES) + { + const char *gleshint = SDL_GetHint("LOVE_GRAPHICS_USE_OPENGLES"); + preferGLES = (gleshint != nullptr && gleshint[0] != '0'); + } + + // Do we want a debug context? + const char *debughint = SDL_GetHint("LOVE_GRAPHICS_DEBUG"); + bool debug = (debughint != nullptr && debughint[0] != '0'); + + // Different context attribute profiles to try. + // FIXME: OpenGL ES 3 is disabled on non-iOS because SDL's EGL code doesn't + // properly handle OpenGL ES 3 context creation requests (for now.) + // https://bugzilla.libsdl.org/show_bug.cgi?id=2865 + std::vector attribslist = { + {2, 1, false, debug}, // OpenGL 2.1. +#ifdef LOVE_IOS + {3, 0, true, debug}, // OpenGL ES 3. +#endif + {2, 0, true, debug}, // OpenGL ES 2. + }; + + // Move OpenGL ES to the front of the list if we should prefer GLES. + if (preferGLES) + std::rotate(attribslist.begin(), attribslist.begin() + 1, attribslist.end()); + + if (context) + { + SDL_GL_DeleteContext(context); + context = nullptr; + } + + std::string windowerror; + + // Try each context profile in order. + for (ContextAttribs attribs : attribslist) + { + // Unfortunately some OpenGL context settings are part of the internal + // window state in the Windows and Linux SDL backends, so we have to + // recreate the window when we want to change those settings... + if (window) + { + SDL_DestroyWindow(window); + SDL_FlushEvent(SDL_WINDOWEVENT); + window = nullptr; + } + + int curMSAA = msaa; + bool curSRGB = sRGB; + + setGLFramebufferAttributes(curMSAA, curSRGB); + setGLContextAttributes(attribs); + + window = SDL_CreateWindow(title.c_str(), x, y, w, h, windowflags); + + if (!window && curMSAA > 0) + { + // The MSAA setting could have caused the failure. + setGLFramebufferAttributes(0, curSRGB); + window = SDL_CreateWindow(title.c_str(), x, y, w, h, windowflags); + if (window) + curMSAA = 0; + } + + if (!window && curSRGB) + { + // same with sRGB. + setGLFramebufferAttributes(curMSAA, false); + window = SDL_CreateWindow(title.c_str(), x, y, w, h, windowflags); + if (window) + curSRGB = false; + } + + if (!window && curMSAA > 0 && curSRGB) + { + // Or both! + setGLFramebufferAttributes(0, false); + window = SDL_CreateWindow(title.c_str(), x, y, w, h, windowflags); + if (window) + curSRGB = curMSAA = 0; + } + + // Immediately try the next context profile if window creation failed. + if (!window) + { + windowerror = std::string(SDL_GetError()); + continue; + } + + windowerror.clear(); + + context = SDL_GL_CreateContext(window); + + if (!context && curMSAA > 0) + { + // MSAA and sRGB settings can also cause CreateContext to fail, on + // certain SDL backends. + setGLFramebufferAttributes(0, curSRGB); + context = SDL_GL_CreateContext(window); + } + + if (!context && curSRGB) + { + setGLFramebufferAttributes(curMSAA, false); + context = SDL_GL_CreateContext(window); + } + + if (!context && curMSAA > 0 && curSRGB) + { + setGLFramebufferAttributes(0, false); + context = SDL_GL_CreateContext(window); + } + + if (!context && attribs.debug) + { + attribs.debug = false; + setGLContextAttributes(attribs); + context = SDL_GL_CreateContext(window); + } + + // Make sure the context's version is at least what we requested. + if (context && !checkGLVersion(attribs)) + { + SDL_GL_DeleteContext(context); + context = nullptr; + } + + if (context) + break; + } + + if (!context || !window) + { + if (!windowerror.empty()) + { + std::string title = "Unable to create window"; + std::string message = "SDL error: " + windowerror; + + std::cerr << title << std::endl << message << std::endl; + + // Display a message box with the error, but only once. + if (!displayedWindowError) + { + showMessageBox(title, message, MESSAGEBOX_ERROR, false); + displayedWindowError = true; + } + } + else if (!context) + { + std::string title = "Unable to initialize OpenGL"; + std::string message = "This program requires a graphics card and video drivers which support OpenGL 2.1 or OpenGL ES 2."; + + std::cerr << title << std::endl << message << std::endl; + + // Display a message box with the error, but only once. + if (!displayedContextError) + { + showMessageBox(title, message, MESSAGEBOX_ERROR, true); + displayedContextError = true; + } + } + + if (context) + { + SDL_GL_DeleteContext(context); + context = nullptr; + } + + if (window) + { + SDL_DestroyWindow(window); + SDL_FlushEvent(SDL_WINDOWEVENT); + window = nullptr; + } + + return false; + } + + return true; } bool Window::setWindow(int width, int height, WindowSettings *settings) @@ -96,7 +374,7 @@ bool Window::setWindow(int width, int height, WindowSettings *settings) if (f.fullscreen) { - if (f.fstype == FULLSCREEN_TYPE_DESKTOP) + if (f.fstype == FULLSCREEN_DESKTOP) sdlflags |= SDL_WINDOW_FULLSCREEN_DESKTOP; else { @@ -124,11 +402,8 @@ bool Window::setWindow(int width, int height, WindowSettings *settings) if (f.borderless) sdlflags |= SDL_WINDOW_BORDERLESS; - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) if (f.highdpi) sdlflags |= SDL_WINDOW_ALLOW_HIGHDPI; -#endif int x = f.x; int y = f.y; @@ -153,65 +428,34 @@ bool Window::setWindow(int width, int height, WindowSettings *settings) if (gfx != nullptr) gfx->unSetMode(); - // Destroy and recreate the window if the dimensions or flags have changed. + if (context) + { + SDL_GL_DeleteContext(context); + context = nullptr; + } + if (window) { - int curdisplay = SDL_GetWindowDisplayIndex(window); - Uint32 wflags = SDL_GetWindowFlags(window); + SDL_DestroyWindow(window); + window = nullptr; - Uint32 testflags = SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN_DESKTOP - | SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS; - - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) - testflags |= SDL_WINDOW_ALLOW_HIGHDPI; -#endif - - wflags &= testflags; - - if (sdlflags != wflags || width != curMode.width || height != curMode.height - || f.display != curdisplay || f.msaa != curMode.settings.msaa) - { - SDL_DestroyWindow(window); - window = 0; - - // The old window may have generated pending events which are no - // longer relevant. Destroy them all! - SDL_FlushEvent(SDL_WINDOWEVENT); - } + // The old window may have generated pending events which are no longer + // relevant. Destroy them all! + SDL_FlushEvent(SDL_WINDOWEVENT); } - if (!window) - { - created = false; + created = false; - // In Windows and Linux, some GL attributes are set on window creation. - setWindowGLAttributes(f.msaa, f.sRGB); - - const char *title = windowTitle.c_str(); - - window = SDL_CreateWindow(title, x, y, width, height, sdlflags); - - if (!window && f.msaa > 0) - { - // MSAA might have caused the failure, disable it and try again. - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 0); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 0); - - window = SDL_CreateWindow(title, x, y, width, height, sdlflags); - f.msaa = 0; - } - - // Make sure the window keeps any previously set icon. - if (window && curMode.icon.get()) - setIcon(curMode.icon.get()); - } - - if (!window) - { - std::cerr << "Could not set video mode: " << SDL_GetError() << std::endl; + if (!createWindowAndContext(x, y, width, height, sdlflags, f.msaa, f.sRGB)) return false; - } + + created = true; + + // Make sure the window keeps any previously set icon. + setIcon(curMode.icon.get()); + + // Make sure the mouse keeps its previous grab setting. + setMouseGrab(mouseGrabbed); // Enforce minimum window dimensions. SDL_SetWindowMinimumSize(window, f.minwidth, f.minheight); @@ -221,33 +465,17 @@ bool Window::setWindow(int width, int height, WindowSettings *settings) SDL_RaiseWindow(window); - if (!setContext(f.msaa, f.vsync, f.sRGB)) - return false; - - created = true; + SDL_GL_SetSwapInterval(f.vsync ? 1 : 0); updateSettings(f); if (gfx != nullptr) - { - int width = curMode.width; - int height = curMode.height; - - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) - SDL_GL_GetDrawableSize(window, &width, &height); -#endif - - gfx->setMode(width, height, curMode.settings.sRGB); - } - - // Make sure the mouse keeps its previous grab setting. - setMouseGrab(mouseGrabbed); + gfx->setMode(curMode.pixelwidth, curMode.pixelheight, curMode.settings.sRGB); return true; } -bool Window::onWindowResize(int width, int height) +bool Window::onSizeChanged(int width, int height) { if (!window) return false; @@ -255,127 +483,32 @@ bool Window::onWindowResize(int width, int height) curMode.width = width; curMode.height = height; - return true; -} + SDL_GL_GetDrawableSize(window, &curMode.pixelwidth, &curMode.pixelheight); -bool Window::setContext(int msaa, bool vsync, bool sRGB) -{ - // We would normally only need to recreate the context if MSAA changes or - // SDL_GL_MakeCurrent is unsuccessful, but in Windows MakeCurrent can - // sometimes claim success but the context will actually be trashed. - if (context) - { - SDL_GL_DeleteContext(context); - context = 0; - } - - // Make sure the proper attributes are set. - setWindowGLAttributes(msaa, sRGB); - - context = SDL_GL_CreateContext(window); - - if (!context && msaa > 0) - { - // MSAA might have caused the failure, disable it and try again. - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 0); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 0); - context = SDL_GL_CreateContext(window); - } - - if (!context) - { - int flags = 0; - SDL_GL_GetAttribute(SDL_GL_CONTEXT_FLAGS, &flags); - if (flags & SDL_GL_CONTEXT_DEBUG_FLAG) - { - SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, 0); - context = SDL_GL_CreateContext(window); - } - } - - if (!context) - { - std::cerr << "Could not set video mode: " << SDL_GetError() << std::endl; - return false; - } - - // Set vertical synchronization. - SDL_GL_SetSwapInterval(vsync ? 1 : 0); - - // Verify MSAA setting. - int buffers; - int samples; - SDL_GL_GetAttribute(SDL_GL_MULTISAMPLEBUFFERS, &buffers); - SDL_GL_GetAttribute(SDL_GL_MULTISAMPLESAMPLES, &samples); - - // Don't fail because of this, but issue a warning. - if ((!buffers && msaa) || (samples != msaa)) - { - std::cerr << "Warning, MSAA setting failed! (Result: buffers: " << buffers << ", samples: " << samples << ")" << std::endl; - msaa = (buffers > 0) ? samples : 0; - } - - curMode.settings.msaa = msaa; - curMode.settings.vsync = SDL_GL_GetSwapInterval() != 0; + graphics::Graphics *gfx = Module::getInstance(Module::M_GRAPHICS); + if (gfx != nullptr) + gfx->setViewportSize(curMode.pixelwidth, curMode.pixelheight); return true; } -void Window::setWindowGLAttributes(int msaa, bool /* sRGB */) const -{ - // Set GL window attributes. - SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); - SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1); - SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 0); - - // MSAA. - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, (msaa > 0) ? 1 : 0); - SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, (msaa > 0) ? msaa : 0); - - /* FIXME: Enable this code but make sure to try to re-create the window and - * context with this disabled, if creation fails with it enabled. - * We can leave this out for now because in practice the framebuffer will - * already be sRGB-capable (on desktops at least.) -#if SDL_VERSION_ATLEAST(2,0,1) - SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, sRGB ? 1 : 0); -#endif - */ - - // Do we want a debug context? - const char *debugenv = SDL_GetHint("LOVE_GRAPHICS_DEBUG"); - if (debugenv && *debugenv == '1') - { - SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); - } - else - { - SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, 0); - } -} - void Window::updateSettings(const WindowSettings &newsettings) { Uint32 wflags = SDL_GetWindowFlags(window); // Set the new display mode as the current display mode. SDL_GetWindowSize(window, &curMode.width, &curMode.height); + SDL_GL_GetDrawableSize(window, &curMode.pixelwidth, &curMode.pixelheight); if ((wflags & SDL_WINDOW_FULLSCREEN_DESKTOP) == SDL_WINDOW_FULLSCREEN_DESKTOP) { curMode.settings.fullscreen = true; - curMode.settings.fstype = FULLSCREEN_TYPE_DESKTOP; + curMode.settings.fstype = FULLSCREEN_DESKTOP; } else if ((wflags & SDL_WINDOW_FULLSCREEN) == SDL_WINDOW_FULLSCREEN) { curMode.settings.fullscreen = true; - curMode.settings.fstype = FULLSCREEN_TYPE_NORMAL; + curMode.settings.fstype = FULLSCREEN_EXCLUSIVE; } else { @@ -398,21 +531,26 @@ void Window::updateSettings(const WindowSettings &newsettings) getPosition(curMode.settings.x, curMode.settings.y, curMode.settings.display); -#if SDL_VERSION_ATLEAST(2,0,1) curMode.settings.highdpi = (wflags & SDL_WINDOW_ALLOW_HIGHDPI) != 0; -#else - curMode.settings.highdpi = false; -#endif // Only minimize on focus loss if the window is in exclusive-fullscreen // mode. - if (curMode.settings.fullscreen && curMode.settings.fstype == FULLSCREEN_TYPE_NORMAL) + if (curMode.settings.fullscreen && curMode.settings.fstype == FULLSCREEN_EXCLUSIVE) SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "1"); else SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0"); curMode.settings.sRGB = newsettings.sRGB; + // Verify MSAA setting. + int buffers = 0; + int samples = 0; + SDL_GL_GetAttribute(SDL_GL_MULTISAMPLEBUFFERS, &buffers); + SDL_GL_GetAttribute(SDL_GL_MULTISAMPLESAMPLES, &samples); + + curMode.settings.msaa = (buffers > 0 ? samples : 0); + curMode.settings.vsync = SDL_GL_GetSwapInterval() != 0; + SDL_DisplayMode dmode = {}; SDL_GetCurrentDisplayMode(curMode.settings.display, &dmode); @@ -444,7 +582,7 @@ bool Window::setFullscreen(bool fullscreen, Window::FullscreenType fstype) if (fullscreen) { - if (fstype == FULLSCREEN_TYPE_DESKTOP) + if (fstype == FULLSCREEN_DESKTOP) sdlflags = SDL_WINDOW_FULLSCREEN_DESKTOP; else { @@ -467,17 +605,7 @@ bool Window::setFullscreen(bool fullscreen, Window::FullscreenType fstype) // Update the viewport size now instead of waiting for event polling. graphics::Graphics *gfx = Module::getInstance(Module::M_GRAPHICS); if (gfx != nullptr) - { - int width = curMode.width; - int height = curMode.height; - - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) - SDL_GL_GetDrawableSize(window, &width, &height); -#endif - - gfx->setViewportSize(width, height); - } + gfx->setViewportSize(curMode.pixelwidth, curMode.pixelheight); return true; } @@ -527,16 +655,6 @@ std::vector Window::getFullscreenSizes(int displayindex) const return sizes; } -int Window::getWidth() const -{ - return curMode.width; -} - -int Window::getHeight() const -{ - return curMode.height; -} - void Window::getDesktopDimensions(int displayindex, int &width, int &height) const { if (displayindex >= 0 && displayindex < getDisplayCount()) @@ -604,7 +722,7 @@ bool Window::isCreated() const void Window::setWindowTitle(const std::string &title) { - windowTitle = title; + this->title = title; if (window) SDL_SetWindowTitle(window, title.c_str()); @@ -612,7 +730,7 @@ void Window::setWindowTitle(const std::string &title) const std::string &Window::getWindowTitle() const { - return windowTitle; + return title; } bool Window::setIcon(love::image::ImageData *imgd) @@ -721,25 +839,32 @@ bool Window::isMouseGrabbed() const return mouseGrabbed; } +void Window::getPixelDimensions(int &w, int &h) const +{ + w = curMode.pixelwidth; + h = curMode.pixelheight; +} + +void Window::windowToPixelCoords(double *x, double *y) const +{ + if (x != nullptr) + *x = (*x) * ((double) curMode.pixelwidth / (double) curMode.width); + if (y != nullptr) + *y = (*y) * ((double) curMode.pixelheight / (double) curMode.height); +} + +void Window::pixelToWindowCoords(double *x, double *y) const +{ + if (x != nullptr) + *x = (*x) * ((double) curMode.width / (double) curMode.pixelwidth); + if (y != nullptr) + *y = (*y) * ((double) curMode.height / (double) curMode.pixelheight); +} + double Window::getPixelScale() const { - double scale = 1.0; - - // FIXME: disabled in Linux for runtime SDL 2.0.0 compatibility. -#if SDL_VERSION_ATLEAST(2,0,1) && !defined(LOVE_LINUX) - if (window) - { - int wheight; - SDL_GetWindowSize(window, nullptr, &wheight); - - int dheight = wheight; - SDL_GL_GetDrawableSize(window, nullptr, &dheight); - - scale = (double) dheight / wheight; - } -#endif - - return scale; + // TODO: Return the density display metric on Android. + return (double) curMode.pixelheight / (double) curMode.height; } double Window::toPixels(double x) const diff --git a/src/modules/window/sdl/Window.h b/src/modules/window/sdl/Window.h index 51a1ad016..7635b7467 100644 --- a/src/modules/window/sdl/Window.h +++ b/src/modules/window/sdl/Window.h @@ -47,7 +47,7 @@ public: bool setFullscreen(bool fullscreen, FullscreenType fstype); bool setFullscreen(bool fullscreen); - bool onWindowResize(int width, int height); + bool onSizeChanged(int width, int height); int getDisplayCount() const; @@ -55,9 +55,6 @@ public: std::vector getFullscreenSizes(int displayindex) const; - int getWidth() const; - int getHeight() const; - void getDesktopDimensions(int displayindex, int &width, int &height) const; void setPosition(int x, int y, int displayindex); @@ -87,6 +84,10 @@ public: void setMouseGrab(bool grab); bool isMouseGrabbed() const; + void getPixelDimensions(int &w, int &h) const; + void windowToPixelCoords(double *x, double *y) const; + void pixelToWindowCoords(double *x, double *y) const; + double getPixelScale() const; double toPixels(double x) const; @@ -106,22 +107,32 @@ public: private: - bool setContext(int msaa, bool vsync, bool sRGB); - void setWindowGLAttributes(int msaa, bool sRGB) const; + struct ContextAttribs + { + int versionMajor; + int versionMinor; + bool gles; + bool debug; + }; + + void setGLFramebufferAttributes(int msaa, bool sRGB); + void setGLContextAttributes(const ContextAttribs &attribs); + bool checkGLVersion(const ContextAttribs &attribs); + bool createWindowAndContext(int x, int y, int w, int h, Uint32 windowflags, int msaa, bool sRGB); // Update the saved window settings based on the window's actual state. void updateSettings(const WindowSettings &newsettings); SDL_MessageBoxFlags convertMessageBoxType(MessageBoxType type) const; - std::string windowTitle; + std::string title; struct _currentMode { - _currentMode(); - - int width; - int height; + int width = 800; + int height = 600; + int pixelwidth = 800; + int pixelheight = 600; WindowSettings settings; StrongRef icon; @@ -134,6 +145,9 @@ private: SDL_Window *window; SDL_GLContext context; + bool displayedWindowError; + bool displayedContextError; + }; // Window } // sdl diff --git a/src/modules/window/wrap_Window.cpp b/src/modules/window/wrap_Window.cpp index 1744ad1c1..0b926b017 100644 --- a/src/modules/window/wrap_Window.cpp +++ b/src/modules/window/wrap_Window.cpp @@ -92,8 +92,8 @@ int w_setMode(lua_State *L) } else { - // Default to "normal" fullscreen. - settings.fstype = Window::FULLSCREEN_TYPE_NORMAL; + // Default to desktop fullscreen mode. + settings.fstype = Window::FULLSCREEN_DESKTOP; } lua_pop(L, 1); @@ -121,10 +121,6 @@ int w_setMode(lua_State *L) // We don't explicitly set the refresh rate, it's "read-only". - // For backward-compatibility. TODO: remove! - int fsaa = luax_intflag(L, 3, settingName(Window::SETTING_FSAA), 0); - if (fsaa > settings.msaa) settings.msaa = fsaa; - luax_catchexcept(L, [&](){ luax_pushboolean(L, instance()->setWindow(w, h, &settings)); } ); @@ -142,7 +138,7 @@ int w_getMode(lua_State *L) lua_newtable(L); - const char *fstypestr = "normal"; + const char *fstypestr = "desktop"; Window::getConstant(settings.fstype, fstypestr); lua_pushstring(L, fstypestr); @@ -157,9 +153,6 @@ int w_getMode(lua_State *L) lua_pushinteger(L, settings.msaa); lua_setfield(L, -2, settingName(Window::SETTING_MSAA)); - lua_pushinteger(L, settings.msaa); - lua_setfield(L, -2, settingName(Window::SETTING_FSAA)); // For backward-compatibility. TODO: remove! - luax_pushboolean(L, settings.resizable); lua_setfield(L, -2, settingName(Window::SETTING_RESIZABLE)); @@ -203,7 +196,7 @@ int w_getFullscreenModes(lua_State *L) std::vector modes = instance()->getFullscreenSizes(displayindex); - lua_createtable(L, modes.size(), 0); + lua_createtable(L, (int) modes.size(), 0); for (size_t i = 0; i < modes.size(); i++) { @@ -229,14 +222,14 @@ int w_getFullscreenModes(lua_State *L) int w_setFullscreen(lua_State *L) { bool fullscreen = luax_toboolean(L, 1); - Window::FullscreenType fstype = Window::FULLSCREEN_TYPE_MAX_ENUM; + Window::FullscreenType fstype = Window::FULLSCREEN_MAX_ENUM; const char *typestr = lua_isnoneornil(L, 2) ? 0 : luaL_checkstring(L, 2); if (typestr && !Window::getConstant(typestr, fstype)) return luaL_error(L, "Invalid fullscreen type: %s", typestr); bool success = false; - if (fstype == Window::FULLSCREEN_TYPE_MAX_ENUM) + if (fstype == Window::FULLSCREEN_MAX_ENUM) success = instance()->setFullscreen(fullscreen); else success = instance()->setFullscreen(fullscreen, fstype); @@ -266,25 +259,6 @@ int w_isCreated(lua_State *L) return 1; } -int w_getWidth(lua_State *L) -{ - lua_pushinteger(L, instance()->getWidth()); - return 1; -} - -int w_getHeight(lua_State *L) -{ - lua_pushinteger(L, instance()->getHeight()); - return 1; -} - -int w_getDimensions(lua_State *L) -{ - lua_pushinteger(L, instance()->getWidth()); - lua_pushinteger(L, instance()->getHeight()); - return 2; -} - int w_getDesktopDimensions(lua_State *L) { int width = 0, height = 0; @@ -318,7 +292,7 @@ int w_getPosition(lua_State *L) int w_setIcon(lua_State *L) { - image::ImageData *i = luax_checktype(L, 1, "ImageData", IMAGE_IMAGE_DATA_T); + image::ImageData *i = luax_checktype(L, 1, IMAGE_IMAGE_DATA_ID); luax_pushboolean(L, instance()->setIcon(i)); return 1; } @@ -326,10 +300,7 @@ int w_setIcon(lua_State *L) int w_getIcon(lua_State *L) { image::ImageData *i = instance()->getIcon(); - if (i) - luax_pushtype(L, "ImageData", IMAGE_IMAGE_DATA_T, i); - else - lua_pushnil(L); + luax_pushtype(L, IMAGE_IMAGE_DATA_ID, i); return 1; } @@ -443,7 +414,7 @@ int w_showMessageBox(lua_State *L) // Array of button names. for (size_t i = 0; i < numbuttons; i++) { - lua_rawgeti(L, 3, i + 1); + lua_rawgeti(L, 3, (int) i + 1); data.buttons.push_back(luax_checkstring(L, -1)); lua_pop(L, 1); } @@ -499,9 +470,6 @@ static const luaL_Reg functions[] = { "setFullscreen", w_setFullscreen }, { "getFullscreen", w_getFullscreen }, { "isCreated", w_isCreated }, - { "getWidth", w_getWidth }, - { "getHeight", w_getHeight }, - { "getDimensions", w_getDimensions }, { "getDesktopDimensions", w_getDesktopDimensions }, { "setPosition", w_setPosition }, { "getPosition", w_getPosition }, @@ -529,7 +497,7 @@ extern "C" int luaopen_love_window(lua_State *L) WrappedModule w; w.module = instance; w.name = "window"; - w.flags = MODULE_T; + w.type = MODULE_ID; w.functions = functions; w.types = 0; diff --git a/src/modules/window/wrap_Window.h b/src/modules/window/wrap_Window.h index 00d2cf535..513c463b2 100644 --- a/src/modules/window/wrap_Window.h +++ b/src/modules/window/wrap_Window.h @@ -37,9 +37,6 @@ int w_getFullscreenModes(lua_State *L); int w_setFullscreen(lua_State *L); int w_getFullscreen(lua_State *L); int w_isCreated(lua_State *L); -int w_getWidth(lua_State *L); -int w_getHeight(lua_State *L); -int w_getDimensions(lua_State *L); int w_getDesktopDimensions(lua_State *L); int w_setPosition(lua_State *L); int w_getPosition(lua_State *L); diff --git a/src/scripts/boot.lua b/src/scripts/boot.lua index d8748bff1..e892bd5b9 100644 --- a/src/scripts/boot.lua +++ b/src/scripts/boot.lua @@ -154,11 +154,11 @@ function love.createhandlers() -- Standard callback handlers. love.handlers = setmetatable({ - keypressed = function (b, u) - if love.keypressed then return love.keypressed(b, u) end + keypressed = function (b,s,r) + if love.keypressed then return love.keypressed(b,s,r) end end, - keyreleased = function (b) - if love.keyreleased then return love.keyreleased(b) end + keyreleased = function (b,s) + if love.keyreleased then return love.keyreleased(b,s) end end, textinput = function (t) if love.textinput then return love.textinput(t) end @@ -169,11 +169,23 @@ function love.createhandlers() mousemoved = function (x,y,xrel,yrel) if love.mousemoved then return love.mousemoved(x,y,xrel,yrel) end end, - mousepressed = function (x,y,b) - if love.mousepressed then return love.mousepressed(x,y,b) end + mousepressed = function (x,y,b,t) + if love.mousepressed then return love.mousepressed(x,y,b,t) end end, - mousereleased = function (x,y,b) - if love.mousereleased then return love.mousereleased(x,y,b) end + mousereleased = function (x,y,b,t) + if love.mousereleased then return love.mousereleased(x,y,b,t) end + end, + wheelmoved = function (x,y) + if love.wheelmoved then return love.wheelmoved(x,y) end + end, + touchpressed = function (id,x,y,dx,dy) + if love.touchpressed then return love.touchpressed(id,x,y,dx,dy) end + end, + touchreleased = function (id,x,y,dx,dy) + if love.touchreleased then return love.touchreleased(id,x,y,dx,dy) end + end, + touchmoved = function (id,x,y,dx,dy) + if love.touchmoved then return love.touchmoved(id,x,y,dx,dy) end end, joystickpressed = function (j,b) if love.joystickpressed then return love.joystickpressed(j,b) end @@ -199,7 +211,7 @@ function love.createhandlers() joystickadded = function (j) if love.joystickadded then return love.joystickadded(j) end end, - joystickremoved = function(j) + joystickremoved = function (j) if love.joystickremoved then return love.joystickremoved(j) end end, focus = function (f) @@ -217,9 +229,19 @@ function love.createhandlers() threaderror = function (t, err) if love.threaderror then return love.threaderror(t, err) end end, - resize = function(w, h) + resize = function (w, h) if love.resize then return love.resize(w, h) end end, + filedropped = function (f) + if love.filedropped then return love.filedropped(f) end + end, + directorydropped = function (dir) + if love.directorydropped then return love.directorydropped(dir) end + end, + lowmemory = function () + collectgarbage() + if love.lowmemory then return love.lowmemory() end + end, }, { __index = function(self, name) error("Unknown event: " .. name) @@ -308,11 +330,10 @@ function love.init() minwidth = 1, minheight = 1, fullscreen = false, - fullscreentype = "normal", + fullscreentype = "desktop", display = 1, vsync = true, msaa = 0, - fsaa = 0, -- For backward-compatibility. TODO: remove! borderless = false, resizable = false, centered = true, @@ -325,6 +346,7 @@ function love.init() mouse = true, timer = true, joystick = true, + touch = true, image = true, graphics = true, audio = true, @@ -375,6 +397,7 @@ function love.init() "keyboard", "joystick", "mouse", + "touch", "sound", "system", "audio", @@ -405,7 +428,6 @@ function love.init() fullscreen = c.window.fullscreen, fullscreentype = c.window.fullscreentype, vsync = c.window.vsync, - fsaa = c.window.fsaa, -- For backward-compatibility. TODO: remove! msaa = c.window.msaa, resizable = c.window.resizable, minwidth = c.window.minwidth, @@ -470,7 +492,6 @@ function love.run() if love.math then love.math.setRandomSeed(os.time()) - for i=1,3 do love.math.random() end end if love.load then love.load(arg) end @@ -485,13 +506,13 @@ function love.run() -- Process events. if love.event then love.event.pump() - for e,a,b,c,d in love.event.poll() do - if e == "quit" then + for name, a,b,c,d,e in love.event.poll() do + if name == "quit" then if not love.quit or not love.quit() then return end end - love.handlers[e](a,b,c,d) + love.handlers[name](a,b,c,d,e) end end @@ -504,15 +525,14 @@ function love.run() -- Call update and draw if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled - if love.window and love.graphics and love.window.isCreated() then - love.graphics.clear() + if love.graphics and love.graphics.isActive() then + love.graphics.clear(love.graphics.getBackgroundColor()) love.graphics.origin() if love.draw then love.draw() end love.graphics.present() end if love.timer then love.timer.sleep(0.001) end - end end @@ -1327,13 +1347,7 @@ function love.nogame() local create_rain function love.load() - -- Subtractive blending isn't supported on some ancient systems, so - -- we should make sure it still looks decent in that case. - if love.graphics.isSupported("subtractive") then - love.graphics.setBackgroundColor(137, 194, 218) - else - love.graphics.setBackgroundColor(11, 88, 123) - end + love.graphics.setBackgroundColor(137, 194, 218) local win_w = love.graphics.getWidth() local win_h = love.graphics.getHeight() @@ -1392,8 +1406,6 @@ function love.nogame() batch:setBufferSize(batch_w * batch_h) end - batch:bind() - for i = 0, batch_h - 1 do for j = 0, batch_w - 1 do local is_even = (j % 2) == 0 @@ -1404,7 +1416,7 @@ function love.nogame() end end - batch:unbind() + batch:flush() end local function update_rain(t) @@ -1424,18 +1436,12 @@ function love.nogame() end local function draw_grid() - local blendmode = "subtractive" - if not love.graphics.isSupported("subtractive") then - -- We also change the background color in this case, so it looks OK. - blendmode = "additive" - end - local y = rain.spacing_y * rain.t local small_y = -rain.spacing_y + y / 2 local big_y = -rain.spacing_y + y - love.graphics.setBlendMode(blendmode) + love.graphics.setBlendMode("subtract") love.graphics.setColor(255, 255, 255, 128) love.graphics.draw(rain.batch, -rain.spacing_x, small_y, 0, 0.5, 0.5) @@ -1464,7 +1470,7 @@ function love.nogame() love.graphics.draw(background.image, bx, by, 0, 0.7, 0.7, 256, 256) love.graphics.setColor(255, 255, 255, 32 + 16*intensity) love.graphics.draw(background.image, bx, by, 0, 0.65, 0.65, 256, 256) - love.graphics.setBlendMode("additive") + love.graphics.setBlendMode("add") love.graphics.setColor(255, 255, 255, 16 + 16*intensity) love.graphics.draw(background.image, bx, by, 0, 0.6, 0.6, 256, 256) end @@ -1569,7 +1575,7 @@ function love.errhand(msg) local trace = debug.traceback() - love.graphics.clear() + love.graphics.clear(love.graphics.getBackgroundColor()) love.graphics.origin() local err = {} @@ -1591,7 +1597,7 @@ function love.errhand(msg) local function draw() local pos = love.window.toPixels(70) - love.graphics.clear() + love.graphics.clear(love.graphics.getBackgroundColor()) love.graphics.printf(p, pos, pos, love.graphics.getWidth() - pos) love.graphics.present() end diff --git a/src/scripts/boot.lua.h b/src/scripts/boot.lua.h index deb37bf81..26728cc05 100644 --- a/src/scripts/boot.lua.h +++ b/src/scripts/boot.lua.h @@ -259,18 +259,18 @@ const unsigned char boot_lua[] = 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x7b, 0x0a, 0x09, 0x09, 0x6b, 0x65, 0x79, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x2c, 0x20, 0x75, 0x29, 0x0a, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x2c, 0x73, 0x2c, 0x72, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, - 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x28, 0x62, 0x2c, 0x20, 0x75, - 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x28, 0x62, 0x2c, 0x73, 0x2c, + 0x72, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x6b, 0x65, 0x79, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x29, 0x0a, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x2c, 0x73, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x6f, 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x28, 0x62, 0x29, - 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x6f, 0x76, 0x65, 0x2e, 0x6b, 0x65, 0x79, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x28, 0x62, 0x2c, + 0x73, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x74, 0x65, 0x78, 0x74, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x74, 0x29, 0x0a, @@ -294,18 +294,50 @@ const unsigned char boot_lua[] = 0x78, 0x72, 0x65, 0x6c, 0x2c, 0x79, 0x72, 0x65, 0x6c, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x29, 0x0a, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x2c, 0x74, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x28, - 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x2c, 0x74, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x29, 0x0a, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x2c, 0x74, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x64, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x64, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x62, 0x2c, 0x74, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, + 0x76, 0x65, 0x2e, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x28, 0x78, 0x2c, 0x79, 0x29, + 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x64, 0x2c, 0x78, 0x2c, 0x79, 0x2c, 0x64, 0x78, + 0x2c, 0x64, 0x79, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x28, + 0x69, 0x64, 0x2c, 0x78, 0x2c, 0x79, 0x2c, 0x64, 0x78, 0x2c, 0x64, 0x79, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x64, 0x2c, 0x78, 0x2c, 0x79, 0x2c, 0x64, + 0x78, 0x2c, 0x64, 0x79, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x64, 0x28, 0x69, 0x64, 0x2c, 0x78, 0x2c, 0x79, 0x2c, 0x64, 0x78, 0x2c, 0x64, 0x79, 0x29, 0x20, 0x65, 0x6e, + 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x64, 0x2c, 0x78, 0x2c, 0x79, 0x2c, 0x64, 0x78, 0x2c, 0x64, + 0x79, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, + 0x76, 0x65, 0x2e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x28, 0x69, 0x64, 0x2c, 0x78, + 0x2c, 0x79, 0x2c, 0x64, 0x78, 0x2c, 0x64, 0x79, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x6a, 0x2c, 0x62, 0x29, 0x0a, @@ -364,7 +396,7 @@ const unsigned char boot_lua[] = 0x64, 0x28, 0x6a, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6a, 0x29, 0x0a, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x6a, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x72, 0x65, @@ -401,11 +433,33 @@ const unsigned char boot_lua[] = 0x20, 0x65, 0x72, 0x72, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x09, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x77, 0x2c, 0x20, 0x68, 0x29, 0x0a, + 0x6e, 0x20, 0x28, 0x77, 0x2c, 0x20, 0x68, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x77, 0x2c, 0x20, 0x68, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x66, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x72, 0x6f, + 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, + 0x6f, 0x76, 0x65, 0x2e, 0x66, 0x69, 0x6c, 0x65, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x28, 0x66, 0x29, + 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, + 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x64, 0x69, 0x72, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x28, 0x64, 0x69, 0x72, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x77, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x67, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x28, + 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6c, 0x6f, 0x77, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, + 0x65, 0x2e, 0x6c, 0x6f, 0x77, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x28, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x09, 0x7d, 0x2c, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, @@ -561,14 +615,10 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x20, - 0x3d, 0x20, 0x22, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x22, 0x2c, 0x0a, + 0x3d, 0x20, 0x22, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x76, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x73, 0x61, 0x61, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x66, 0x73, 0x61, 0x61, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x2d, 0x2d, 0x20, 0x46, 0x6f, - 0x72, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x21, 0x0a, 0x09, 0x09, 0x09, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, @@ -587,6 +637,7 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, + 0x09, 0x09, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a, @@ -673,6 +724,7 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x22, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x22, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x22, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x22, 0x2c, 0x0a, + 0x09, 0x09, 0x22, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x22, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x22, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x2c, 0x0a, 0x09, 0x09, 0x22, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x22, 0x2c, 0x0a, @@ -715,10 +767,6 @@ const unsigned char boot_lua[] = 0x65, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x76, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x63, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x76, 0x73, 0x79, 0x6e, 0x63, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x66, 0x73, 0x61, 0x61, 0x20, 0x3d, 0x20, 0x63, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x2e, 0x66, 0x73, 0x61, 0x61, 0x2c, 0x20, 0x2d, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x63, 0x6b, - 0x77, 0x61, 0x72, 0x64, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x2e, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x3a, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x21, 0x0a, 0x09, 0x09, 0x09, 0x6d, 0x73, 0x61, 0x61, 0x20, 0x3d, 0x20, 0x63, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x6d, 0x73, 0x61, 0x61, 0x2c, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x63, 0x2e, 0x77, @@ -845,9 +893,6 @@ const unsigned char boot_lua[] = 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x28, 0x6f, 0x73, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x29, 0x0a, - 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x3d, 0x31, 0x2c, 0x33, 0x20, 0x64, 0x6f, 0x20, 0x6c, 0x6f, 0x76, - 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x29, 0x20, 0x65, 0x6e, - 0x64, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x28, 0x61, 0x72, 0x67, 0x29, 0x20, 0x65, 0x6e, @@ -870,11 +915,11 @@ const unsigned char boot_lua[] = 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x75, 0x6d, 0x70, 0x28, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x2c, 0x61, 0x2c, 0x62, 0x2c, 0x63, 0x2c, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x6c, 0x28, - 0x29, 0x20, 0x64, 0x6f, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x71, 0x75, 0x69, 0x74, 0x22, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x2c, 0x62, 0x2c, 0x63, + 0x2c, 0x64, 0x2c, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x6f, 0x6c, 0x6c, 0x28, 0x29, 0x20, 0x64, 0x6f, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x71, 0x75, + 0x69, 0x74, 0x22, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x71, 0x75, 0x69, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x71, 0x75, 0x69, 0x74, 0x28, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, @@ -882,7 +927,7 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x5b, - 0x65, 0x5d, 0x28, 0x61, 0x2c, 0x62, 0x2c, 0x63, 0x2c, 0x64, 0x29, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x5d, 0x28, 0x61, 0x2c, 0x62, 0x2c, 0x63, 0x2c, 0x64, 0x2c, 0x65, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x74, 0x2c, 0x20, 0x61, 0x73, @@ -902,12 +947,13 @@ const unsigned char boot_lua[] = 0x29, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x2d, 0x2d, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20, 0x30, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x69, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x28, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, + 0x2e, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x28, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x63, - 0x6c, 0x65, 0x61, 0x72, 0x28, 0x29, 0x0a, + 0x6c, 0x65, 0x61, 0x72, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, + 0x2e, 0x67, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x28, 0x29, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x64, 0x72, 0x61, 0x77, 0x20, 0x74, 0x68, @@ -4852,25 +4898,9 @@ const unsigned char boot_lua[] = 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6c, 0x6f, 0x61, 0x64, 0x28, 0x29, 0x0a, - 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x53, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x62, - 0x6c, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x61, 0x6e, 0x63, 0x69, - 0x65, 0x6e, 0x74, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x0a, - 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x77, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x6b, - 0x65, 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x6c, 0x6f, - 0x6f, 0x6b, 0x73, 0x20, 0x64, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, - 0x2e, 0x69, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x28, 0x22, 0x73, 0x75, 0x62, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, - 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, - 0x31, 0x33, 0x37, 0x2c, 0x20, 0x31, 0x39, 0x34, 0x2c, 0x20, 0x32, 0x31, 0x38, 0x29, 0x0a, - 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, - 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, - 0x31, 0x31, 0x2c, 0x20, 0x38, 0x38, 0x2c, 0x20, 0x31, 0x32, 0x33, 0x29, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x31, + 0x33, 0x37, 0x2c, 0x20, 0x31, 0x39, 0x34, 0x2c, 0x20, 0x32, 0x31, 0x38, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x77, 0x69, 0x6e, 0x5f, 0x77, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x67, 0x65, 0x74, 0x57, 0x69, 0x64, 0x74, 0x68, 0x28, 0x29, 0x0a, @@ -4975,7 +5005,6 @@ const unsigned char boot_lua[] = 0x53, 0x69, 0x7a, 0x65, 0x28, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x77, 0x20, 0x2a, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x29, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x64, 0x6f, 0x0a, 0x09, 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x6a, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x62, 0x61, 0x74, 0x63, @@ -4993,7 +5022,7 @@ const unsigned char boot_lua[] = 0x29, 0x0a, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x75, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x28, 0x29, 0x0a, + 0x09, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x28, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x28, 0x74, 0x29, 0x09, 0x09, 0x0a, @@ -5023,18 +5052,6 @@ const unsigned char boot_lua[] = 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x28, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x6f, 0x64, 0x65, 0x20, - 0x3d, 0x20, 0x22, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x73, 0x2e, 0x69, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x28, 0x22, - 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x57, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x73, 0x65, - 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x4f, 0x4b, 0x2e, 0x0a, - 0x09, 0x09, 0x09, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x79, 0x20, 0x2a, 0x20, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x74, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x79, 0x20, 0x3d, 0x20, @@ -5043,8 +5060,8 @@ const unsigned char boot_lua[] = 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x69, 0x67, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x2d, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x79, 0x20, 0x2b, 0x20, 0x79, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, - 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x6d, 0x6f, - 0x64, 0x65, 0x29, 0x0a, + 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x73, 0x75, 0x62, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x31, 0x32, 0x38, 0x29, 0x0a, @@ -5107,8 +5124,7 @@ const unsigned char boot_lua[] = 0x65, 0x2c, 0x20, 0x62, 0x78, 0x2c, 0x20, 0x62, 0x79, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x36, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x36, 0x35, 0x2c, 0x20, 0x32, 0x35, 0x36, 0x2c, 0x20, 0x32, 0x35, 0x36, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, - 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x22, 0x29, 0x0a, + 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x22, 0x61, 0x64, 0x64, 0x22, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x32, 0x35, 0x35, 0x2c, 0x20, 0x31, 0x36, 0x20, 0x2b, 0x20, 0x31, 0x36, 0x2a, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, @@ -5299,7 +5315,9 @@ const unsigned char boot_lua[] = 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x28, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x63, 0x6c, 0x65, - 0x61, 0x72, 0x28, 0x29, 0x0a, + 0x61, 0x72, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x67, + 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x28, + 0x29, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x28, 0x29, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, @@ -5334,7 +5352,9 @@ const unsigned char boot_lua[] = 0x2e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x74, 0x6f, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x28, 0x37, 0x30, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x63, 0x6c, - 0x65, 0x61, 0x72, 0x28, 0x29, 0x0a, + 0x65, 0x61, 0x72, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, + 0x67, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x28, 0x29, 0x29, 0x0a, 0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x66, 0x28, 0x70, 0x2c, 0x20, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x67, 0x65, 0x74, 0x57, diff --git a/src/scripts/graphics.lua b/src/scripts/graphics.lua index 4319d20ea..b031f9484 100644 --- a/src/scripts/graphics.lua +++ b/src/scripts/graphics.lua @@ -18,60 +18,82 @@ misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. --]] -do - local table_concat = table.concat +local table_concat = table.concat - -- SHADERS +-- SHADERS - local GLSL_VERSION = "#version 120" - - local GLSL_SYNTAX = [[ +local GLSL = {} + +GLSL.VERSION = "#version 120" +GLSL.VERSION_ES = "#version 100" + +GLSL.SYNTAX = [[ +#ifndef GL_ES #define lowp #define mediump #define highp +#endif #define number float #define Image sampler2D #define extern uniform #define Texel texture2D #pragma optionNV(strict on)]] - local GLSL_UNIFORMS = [[ +-- Uniforms shared by the vertex and pixel shader stages. +GLSL.UNIFORMS = [[ +#ifdef GL_ES +uniform mat4 TransformMatrix; +uniform mat4 ProjectionMatrix; +uniform mat4 TransformProjectionMatrix; +#else #define TransformMatrix gl_ModelViewMatrix #define ProjectionMatrix gl_ProjectionMatrix #define TransformProjectionMatrix gl_ModelViewProjectionMatrix -#define NormalMatrix gl_NormalMatrix -uniform sampler2D _tex0_; -uniform vec4 love_ScreenSize;]] +#endif +uniform mediump vec4 love_ScreenSize;]] - local GLSL_VERTEX = { - HEADER = [[ +GLSL.VERTEX = { + HEADER = [[ #define VERTEX -#define VertexPosition gl_Vertex -#define VertexTexCoord gl_MultiTexCoord0 -#define VertexColor gl_Color +attribute vec4 VertexPosition; +attribute vec4 VertexTexCoord; +attribute vec4 VertexColor; -#define VaryingTexCoord gl_TexCoord[0] -#define VaryingColor gl_FrontColor]], +varying vec4 VaryingTexCoord; +varying vec4 VaryingColor; - FOOTER = [[ +#ifdef GL_ES +uniform mediump float love_PointSize; +#endif]], + + FOOTER = [[ void main() { VaryingTexCoord = VertexTexCoord; VaryingColor = VertexColor; +#ifdef GL_ES + gl_PointSize = love_PointSize; +#endif gl_Position = position(TransformProjectionMatrix, VertexPosition); }]], - } +} - local GLSL_PIXEL = { - HEADER = [[ +GLSL.PIXEL = { + HEADER = [[ #define PIXEL -#define VaryingTexCoord gl_TexCoord[0] -#define VaryingColor gl_Color +#ifdef GL_ES +precision mediump float; +#endif -#define love_Canvases gl_FragData]], +varying mediump vec4 VaryingTexCoord; +varying lowp vec4 VaryingColor; - FOOTER = [[ +#define love_Canvases gl_FragData + +uniform sampler2D _tex0_;]], + + FOOTER = [[ void main() { // fix crashing issue in OSX when _tex0_ is unused within effect() float dummy = Texel(_tex0_, vec2(.5)).r; @@ -82,7 +104,7 @@ void main() { gl_FragColor = effect(VaryingColor, _tex0_, VaryingTexCoord.st, pixelcoord); }]], - FOOTER_MULTI_CANVAS = [[ + FOOTER_MULTI_CANVAS = [[ void main() { // fix crashing issue in OSX when _tex0_ is unused within effect() float dummy = Texel(_tex0_, vec2(.5)).r; @@ -92,107 +114,135 @@ void main() { effects(VaryingColor, _tex0_, VaryingTexCoord.st, pixelcoord); }]], +} + +local function createVertexCode(vertexcode, lang) + local vertexcodes = { + lang == "glsles" and GLSL.VERSION_ES or GLSL.VERSION, + GLSL.SYNTAX, GLSL.VERTEX.HEADER, GLSL.UNIFORMS, + lang == "glsles" and "#line 1" or "#line 0", + vertexcode, + GLSL.VERTEX.FOOTER, } + return table_concat(vertexcodes, "\n") +end - local function createVertexCode(vertexcode) - local vertexcodes = { - GLSL_VERSION, - GLSL_SYNTAX, GLSL_VERTEX.HEADER, GLSL_UNIFORMS, - "#line 0", - vertexcode, - GLSL_VERTEX.FOOTER, - } - return table_concat(vertexcodes, "\n") - end +local function createPixelCode(pixelcode, is_multicanvas, lang) + local pixelcodes = { + lang == "glsles" and GLSL.VERSION_ES or GLSL.VERSION, + GLSL.SYNTAX, GLSL.PIXEL.HEADER, GLSL.UNIFORMS, + lang == "glsles" and "#line 1" or "#line 0", + pixelcode, + is_multicanvas and GLSL.PIXEL.FOOTER_MULTI_CANVAS or GLSL.PIXEL.FOOTER, + } + return table_concat(pixelcodes, "\n") +end - local function createPixelCode(pixelcode, is_multicanvas) - local pixelcodes = { - GLSL_VERSION, - GLSL_SYNTAX, GLSL_PIXEL.HEADER, GLSL_UNIFORMS, - "#line 0", - pixelcode, - is_multicanvas and GLSL_PIXEL.FOOTER_MULTI_CANVAS or GLSL_PIXEL.FOOTER, - } - return table_concat(pixelcodes, "\n") - end +local function isVertexCode(code) + return code:match("vec4%s+position%s*%(") ~= nil +end - local function isVertexCode(code) - return code:match("vec4%s+position%s*%(") ~= nil - end - - local function isPixelCode(code) - if code:match("vec4%s+effect%s*%(") then - return true - elseif code:match("void%s+effects%s*%(") then - -- function for rendering to multiple canvases simultaneously - return true, true - else - return false - end - end - - function love.graphics._shaderCodeToGLSL(arg1, arg2) - local vertexcode, pixelcode - local is_multicanvas = false -- whether pixel code has "effects" function instead of "effect" - - if arg1 then - if isVertexCode(arg1) then - vertexcode = arg1 -- first arg contains vertex shader code - end - - local ispixel, isMultiCanvas = isPixelCode(arg1) - if ispixel then - pixelcode = arg1 -- first arg contains pixel shader code - is_multicanvas = isMultiCanvas - end - end - - if arg2 then - if isVertexCode(arg2) then - vertexcode = arg2 -- second arg contains vertex shader code - end - - local ispixel, isMultiCanvas = isPixelCode(arg2) - if ispixel then - pixelcode = arg2 -- second arg contains pixel shader code - is_multicanvas = isMultiCanvas - end - end - - if vertexcode then - vertexcode = createVertexCode(vertexcode) - end - if pixelcode then - pixelcode = createPixelCode(pixelcode, is_multicanvas) - end - - return vertexcode, pixelcode - end - - function love.graphics._transformGLSLErrorMessages(message) - local shadertype = message:match("Cannot compile (%a+) shader code") - if not shadertype then return message end - local lines = {"Cannot compile "..shadertype.." shader code:"} - for l in message:gmatch("[^\n]+") do - -- nvidia compiler message: - -- 0() : error/warning [NUMBER]: - local linenumber, what, message = l:match("^0%((%d+)%)%s*:%s*(%w+)[^:]+:%s*(.+)$") - if not linenumber then - -- ati compiler message: - -- ERROR 0:: error/warning(#[NUMBER]) [ERRORNAME]: - linenumber, what, message = l:match("^%w+: 0:(%d+):%s*(%w+)%([^%)]+%)%s*(.+)$") - if not linenumber then - -- OSX compiler message (?): - -- ERROR: 0:: - what, linenumber, message = l:match("^(%w+): %d+:(%d+): (.+)$") - end - end - if linenumber and what and message then - lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber, what, message) - end - end - -- did not match any known error messages - if #lines == 1 then return message end - return table_concat(lines, "\n") +local function isPixelCode(code) + if code:match("vec4%s+effect%s*%(") then + return true + elseif code:match("void%s+effects%s*%(") then + -- function for rendering to multiple canvases simultaneously + return true, true + else + return false end end + +function love.graphics._shaderCodeToGLSL(arg1, arg2) + local vertexcode, pixelcode + local is_multicanvas = false -- whether pixel code has "effects" function instead of "effect" + + local lang = "glsl" + if (love.graphics.getRendererInfo()) == "OpenGL ES" then + lang = "glsles" + end + + if arg1 then + if isVertexCode(arg1) then + vertexcode = arg1 -- first arg contains vertex shader code + end + + local ispixel, isMultiCanvas = isPixelCode(arg1) + if ispixel then + pixelcode = arg1 -- first arg contains pixel shader code + is_multicanvas = isMultiCanvas + end + end + + if arg2 then + if isVertexCode(arg2) then + vertexcode = arg2 -- second arg contains vertex shader code + end + + local ispixel, isMultiCanvas = isPixelCode(arg2) + if ispixel then + pixelcode = arg2 -- second arg contains pixel shader code + is_multicanvas = isMultiCanvas + end + end + + if vertexcode then + vertexcode = createVertexCode(vertexcode, lang) + end + if pixelcode then + pixelcode = createPixelCode(pixelcode, is_multicanvas, lang) + end + + return vertexcode, pixelcode +end + +function love.graphics._transformGLSLErrorMessages(message) + local shadertype = message:match("Cannot compile (%a+) shader code") + if not shadertype then return message end + local lines = {"Cannot compile "..shadertype.." shader code:"} + for l in message:gmatch("[^\n]+") do + -- nvidia compiler message: + -- 0() : error/warning [NUMBER]: + local linenumber, what, message = l:match("^0%((%d+)%)%s*:%s*(%w+)[^:]+:%s*(.+)$") + if not linenumber then + -- ati compiler message: + -- ERROR 0:: error/warning(#[NUMBER]) [ERRORNAME]: + linenumber, what, message = l:match("^%w+: 0:(%d+):%s*(%w+)%([^%)]+%)%s*(.+)$") + if not linenumber then + -- OSX compiler message (?): + -- ERROR: 0:: + what, linenumber, message = l:match("^(%w+): %d+:(%d+): (.+)$") + end + end + if linenumber and what and message then + lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber, what, message) + end + end + -- did not match any known error messages + if #lines == 1 then return message end + return table_concat(lines, "\n") +end + +local defaultcode = { + vertex = [[ +vec4 position(mat4 transform_proj, vec4 vertpos) { + return transform_proj * vertpos; +}]], + pixel = [[ +vec4 effect(lowp vec4 vcolor, Image tex, vec2 texcoord, vec2 pixcoord) { + return Texel(tex, texcoord) * vcolor; +}]] +} + +local defaults = { + opengl = { + createVertexCode(defaultcode.vertex, "glsl"), + createPixelCode(defaultcode.pixel, false, "glsl"), + }, + opengles = { + createVertexCode(defaultcode.vertex, "glsles"), + createPixelCode(defaultcode.pixel, false, "glsles"), + }, +} + +love.graphics._setDefaultShaderCode(defaults) diff --git a/src/scripts/graphics.lua.h b/src/scripts/graphics.lua.h index 5809b1279..29a1bcd8d 100644 --- a/src/scripts/graphics.lua.h +++ b/src/scripts/graphics.lua.h @@ -79,18 +79,20 @@ const unsigned char graphics_lua[] = 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x2d, 0x2d, 0x5d, 0x5d, 0x0a, - 0x64, 0x6f, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x61, - 0x74, 0x20, 0x3d, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x0a, - 0x09, 0x2d, 0x2d, 0x20, 0x53, 0x48, 0x41, 0x44, 0x45, 0x52, 0x53, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, - 0x4e, 0x20, 0x3d, 0x20, 0x22, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x32, 0x30, 0x22, 0x0a, - 0x09, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, - 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, + 0x20, 0x3d, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x0a, + 0x2d, 0x2d, 0x20, 0x53, 0x48, 0x41, 0x44, 0x45, 0x52, 0x53, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x3d, 0x20, 0x22, 0x23, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x32, 0x30, 0x22, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x53, 0x20, 0x3d, 0x20, + 0x22, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x22, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x23, 0x69, 0x66, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x70, @@ -101,8 +103,20 @@ const unsigned char graphics_lua[] = 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x56, 0x28, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x6f, 0x6e, 0x29, 0x5d, 0x5d, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, - 0x4d, 0x53, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x2d, 0x2d, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x73, 0x2e, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, 0x4d, 0x53, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, + 0x69, 0x78, 0x3b, 0x0a, + 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x67, 0x6c, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x0a, @@ -113,53 +127,61 @@ const unsigned char graphics_lua[] = 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x67, 0x6c, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x72, - 0x69, 0x78, 0x20, 0x67, 0x6c, 0x5f, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x0a, - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, - 0x5f, 0x74, 0x65, 0x78, 0x30, 0x5f, 0x3b, 0x0a, - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x5f, - 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x3b, 0x5d, 0x5d, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, - 0x20, 0x3d, 0x20, 0x7b, 0x0a, - 0x09, 0x09, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, + 0x63, 0x34, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x5f, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x53, 0x69, 0x7a, 0x65, + 0x3b, 0x5d, 0x5d, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x67, 0x6c, 0x5f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x43, - 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x67, 0x6c, 0x5f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x65, 0x78, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x30, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x20, 0x67, 0x6c, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x67, 0x6c, 0x5f, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, - 0x30, 0x5d, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, - 0x6f, 0x72, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x5d, 0x5d, - 0x2c, 0x0a, - 0x09, 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, + 0x6e, 0x67, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, + 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, + 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x5d, 0x5d, 0x2c, 0x0a, + 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x09, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, + 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, + 0x09, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x6f, + 0x76, 0x65, 0x5f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x09, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x3b, 0x0a, 0x7d, 0x5d, 0x5d, 0x2c, 0x0a, - 0x09, 0x7d, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x20, - 0x3d, 0x20, 0x7b, 0x0a, - 0x09, 0x09, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x7d, 0x0a, + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x67, 0x6c, 0x5f, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x5b, - 0x30, 0x5d, 0x0a, - 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, - 0x6f, 0x72, 0x20, 0x67, 0x6c, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, + 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, + 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, + 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, + 0x63, 0x34, 0x20, 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, + 0x3b, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, + 0x56, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x5f, 0x43, 0x61, 0x6e, 0x76, 0x61, - 0x73, 0x65, 0x73, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5d, 0x5d, 0x2c, 0x0a, - 0x09, 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x73, 0x65, 0x73, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, + 0x5f, 0x74, 0x65, 0x78, 0x30, 0x5f, 0x3b, 0x5d, 0x5d, 0x2c, 0x0a, + 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x2f, 0x2f, 0x20, 0x66, 0x69, 0x78, 0x20, 0x63, 0x72, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x4f, 0x53, 0x58, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x5f, @@ -183,8 +205,8 @@ const unsigned char graphics_lua[] = 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x3b, 0x0a, 0x7d, 0x5d, 0x5d, 0x2c, 0x0a, - 0x09, 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x41, 0x4e, - 0x56, 0x41, 0x53, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x09, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x41, 0x4e, 0x56, + 0x41, 0x53, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x2f, 0x2f, 0x20, 0x66, 0x69, 0x78, 0x20, 0x63, 0x72, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x4f, 0x53, 0x58, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x5f, @@ -207,216 +229,271 @@ const unsigned char graphics_lua[] = 0x6e, 0x67, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x73, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x3b, 0x0a, 0x7d, 0x5d, 0x5d, 0x2c, 0x0a, - 0x09, 0x7d, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x76, 0x65, 0x72, - 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, - 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, - 0x09, 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x2c, 0x20, 0x47, 0x4c, - 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x2e, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x2c, 0x20, - 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, 0x4d, 0x53, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x30, 0x22, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x2e, 0x46, 0x4f, 0x4f, - 0x54, 0x45, 0x52, 0x2c, 0x0a, - 0x09, 0x09, 0x7d, 0x0a, - 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x63, 0x61, 0x74, 0x28, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x20, 0x22, - 0x5c, 0x6e, 0x22, 0x29, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x70, 0x69, 0x78, 0x65, - 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, - 0x76, 0x61, 0x73, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x7d, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x29, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, - 0x09, 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x2c, 0x20, 0x47, 0x4c, - 0x53, 0x4c, 0x5f, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x2c, 0x20, 0x47, - 0x4c, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, 0x4d, 0x53, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x30, 0x22, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x46, 0x4f, 0x4f, - 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x41, 0x4e, 0x56, 0x41, 0x53, 0x20, 0x6f, - 0x72, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x5f, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x46, 0x4f, 0x4f, 0x54, 0x45, - 0x52, 0x2c, 0x0a, - 0x09, 0x09, 0x7d, 0x0a, - 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x63, 0x61, 0x74, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x20, 0x22, 0x5c, + 0x09, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x53, 0x20, 0x6f, 0x72, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, + 0x2c, 0x0a, + 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x2c, 0x20, 0x47, 0x4c, 0x53, + 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x2e, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x2c, 0x20, 0x47, + 0x4c, 0x53, 0x4c, 0x2e, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, 0x4d, 0x53, 0x2c, 0x0a, + 0x09, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x31, 0x22, 0x20, 0x6f, 0x72, 0x20, + 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x30, 0x22, 0x2c, 0x0a, + 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x0a, + 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x2e, 0x46, 0x4f, 0x4f, 0x54, + 0x45, 0x52, 0x2c, 0x0a, + 0x09, 0x7d, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x28, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x20, 0x22, 0x5c, 0x6e, 0x22, 0x29, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, - 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x28, 0x22, 0x76, 0x65, 0x63, 0x34, 0x25, 0x73, 0x2b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x25, 0x73, 0x2a, 0x25, 0x28, 0x22, 0x29, 0x20, 0x7e, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x76, - 0x65, 0x63, 0x34, 0x25, 0x73, 0x2b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x25, 0x73, 0x2a, 0x25, 0x28, 0x22, - 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, - 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x28, 0x22, 0x76, 0x6f, 0x69, 0x64, 0x25, 0x73, 0x2b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x25, - 0x73, 0x2a, 0x25, 0x28, 0x22, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x65, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x75, - 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x0a, - 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x0a, - 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x54, - 0x6f, 0x47, 0x4c, 0x53, 0x4c, 0x28, 0x61, 0x72, 0x67, 0x31, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x32, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, - 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, - 0x6e, 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, 0x2d, 0x2d, 0x20, 0x77, 0x68, - 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x68, - 0x61, 0x73, 0x20, 0x22, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x22, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x22, 0x65, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x22, 0x0a, - 0x09, 0x09, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x61, 0x72, 0x67, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, - 0x28, 0x61, 0x72, 0x67, 0x31, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x67, 0x31, 0x20, 0x2d, 0x2d, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x73, 0x68, 0x61, - 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, 0x20, - 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x69, 0x73, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x31, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, - 0x67, 0x31, 0x20, 0x2d, 0x2d, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, - 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, - 0x20, 0x3d, 0x20, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x61, 0x72, 0x67, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, - 0x28, 0x61, 0x72, 0x67, 0x32, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, - 0x72, 0x67, 0x32, 0x20, 0x2d, 0x2d, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x61, 0x72, 0x67, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x73, 0x68, - 0x61, 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, 0x20, - 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x69, 0x73, - 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x32, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, - 0x67, 0x32, 0x20, 0x2d, 0x2d, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, - 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, - 0x20, 0x3d, 0x20, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x76, 0x65, 0x72, - 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x64, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, - 0x61, 0x73, 0x29, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, - 0x65, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x4c, - 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x28, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, - 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x25, 0x61, - 0x2b, 0x29, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x29, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x22, - 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x20, 0x22, 0x2e, 0x2e, - 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x2e, 0x22, 0x20, 0x73, 0x68, 0x61, 0x64, - 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x22, 0x7d, 0x0a, - 0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x3a, 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x5b, 0x5e, 0x5c, 0x6e, 0x5d, 0x2b, 0x22, 0x29, 0x20, - 0x64, 0x6f, 0x0a, - 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, - 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x30, 0x28, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x3e, 0x29, 0x20, 0x3a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x20, 0x5b, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5d, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, - 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x2c, 0x20, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, - 0x20, 0x6c, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x5e, 0x30, 0x25, 0x28, 0x28, 0x25, 0x64, 0x2b, - 0x29, 0x25, 0x29, 0x25, 0x73, 0x2a, 0x3a, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x5b, 0x5e, 0x3a, - 0x5d, 0x2b, 0x3a, 0x25, 0x73, 0x2a, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x61, 0x74, 0x69, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x20, 0x30, 0x3a, 0x3c, 0x6c, 0x69, - 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3e, 0x3a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x28, 0x23, 0x5b, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5d, 0x29, 0x20, - 0x5b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x5d, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x77, 0x68, - 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x3a, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x28, 0x22, 0x5e, 0x25, 0x77, 0x2b, 0x3a, 0x20, 0x30, 0x3a, 0x28, 0x25, 0x64, 0x2b, 0x29, - 0x3a, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x25, 0x28, 0x5b, 0x5e, 0x25, 0x29, 0x5d, 0x2b, 0x25, - 0x29, 0x25, 0x73, 0x2a, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x4f, 0x53, 0x58, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x28, 0x3f, 0x29, 0x3a, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x3a, 0x20, 0x30, 0x3a, 0x3c, - 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3e, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x09, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x3a, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x5e, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x3a, 0x20, 0x25, 0x64, 0x2b, 0x3a, - 0x28, 0x25, 0x64, 0x2b, 0x29, 0x3a, 0x20, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x09, 0x09, 0x09, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5b, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2b, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x22, 0x4c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x3a, 0x20, 0x25, 0x73, 0x3a, - 0x20, 0x25, 0x73, 0x22, 0x29, 0x3a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x6c, 0x69, 0x6e, 0x65, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x29, 0x0a, - 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x0a, - 0x09, 0x09, 0x69, 0x66, 0x20, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x63, 0x61, 0x74, 0x28, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x22, 0x5c, 0x6e, 0x22, 0x29, 0x0a, + 0x61, 0x73, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x29, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x20, + 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x53, 0x20, 0x6f, 0x72, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, + 0x2c, 0x0a, + 0x09, 0x09, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x2c, 0x20, 0x47, 0x4c, 0x53, + 0x4c, 0x2e, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x2c, 0x20, 0x47, 0x4c, + 0x53, 0x4c, 0x2e, 0x55, 0x4e, 0x49, 0x46, 0x4f, 0x52, 0x4d, 0x53, 0x2c, 0x0a, + 0x09, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x31, 0x22, 0x20, 0x6f, 0x72, 0x20, + 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x30, 0x22, 0x2c, 0x0a, + 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x0a, + 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x46, 0x4f, 0x4f, 0x54, + 0x45, 0x52, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x41, 0x4e, 0x56, 0x41, 0x53, 0x20, 0x6f, 0x72, + 0x20, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x2e, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, + 0x2c, 0x0a, + 0x09, 0x7d, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x20, 0x22, 0x5c, 0x6e, + 0x22, 0x29, 0x0a, + 0x65, 0x6e, 0x64, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x56, + 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x28, 0x22, 0x76, 0x65, 0x63, 0x34, 0x25, 0x73, 0x2b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x25, + 0x73, 0x2a, 0x25, 0x28, 0x22, 0x29, 0x20, 0x7e, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x0a, + 0x65, 0x6e, 0x64, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x6f, 0x64, 0x65, 0x29, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x76, 0x65, + 0x63, 0x34, 0x25, 0x73, 0x2b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x25, 0x73, 0x2a, 0x25, 0x28, 0x22, 0x29, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, + 0x09, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x28, 0x22, 0x76, 0x6f, 0x69, 0x64, 0x25, 0x73, 0x2b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x25, 0x73, + 0x2a, 0x25, 0x28, 0x22, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x65, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x75, 0x6c, + 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x0a, + 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x72, 0x75, + 0x65, 0x0a, + 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a, + 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x69, 0x63, 0x73, 0x2e, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, + 0x47, 0x4c, 0x53, 0x4c, 0x28, 0x61, 0x72, 0x67, 0x31, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x32, 0x29, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x2c, + 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, + 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, 0x2d, 0x2d, 0x20, 0x77, 0x68, 0x65, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x68, 0x61, + 0x73, 0x20, 0x22, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x22, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x22, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x22, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, + 0x6c, 0x22, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, + 0x2e, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x28, 0x29, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x22, 0x4f, 0x70, 0x65, 0x6e, 0x47, 0x4c, 0x20, 0x45, 0x53, 0x22, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x61, 0x72, 0x67, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, + 0x61, 0x72, 0x67, 0x31, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, + 0x67, 0x31, 0x20, 0x2d, 0x2d, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x73, 0x68, 0x61, 0x64, + 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x69, + 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x31, 0x29, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x67, + 0x31, 0x20, 0x2d, 0x2d, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, + 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, + 0x3d, 0x20, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x61, 0x72, 0x67, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, + 0x61, 0x72, 0x67, 0x32, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, + 0x67, 0x32, 0x20, 0x2d, 0x2d, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x73, 0x68, 0x61, + 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, 0x20, 0x69, + 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x50, + 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x61, 0x72, 0x67, 0x32, 0x29, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x69, 0x73, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x61, 0x72, 0x67, + 0x32, 0x20, 0x2d, 0x2d, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x20, 0x61, 0x72, 0x67, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, + 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x20, + 0x3d, 0x20, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, + 0x09, 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x29, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, + 0x6f, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x76, 0x61, + 0x73, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x29, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x64, 0x65, + 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x0a, + 0x65, 0x6e, 0x64, 0x0a, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x69, 0x63, 0x73, 0x2e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x4c, 0x53, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x28, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x29, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x20, + 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x25, 0x61, 0x2b, + 0x29, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x29, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x22, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x20, 0x22, 0x2e, 0x2e, 0x73, + 0x68, 0x61, 0x64, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x2e, 0x22, 0x20, 0x73, 0x68, 0x61, 0x64, 0x65, + 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x3a, 0x22, 0x7d, 0x0a, + 0x09, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, + 0x67, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x5b, 0x5e, 0x5c, 0x6e, 0x5d, 0x2b, 0x22, 0x29, 0x20, 0x64, + 0x6f, 0x0a, + 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, + 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x30, 0x28, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x3e, 0x29, 0x20, 0x3a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x20, 0x5b, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5d, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, + 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x2c, 0x20, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, + 0x6c, 0x3a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x28, 0x22, 0x5e, 0x30, 0x25, 0x28, 0x28, 0x25, 0x64, 0x2b, 0x29, + 0x25, 0x29, 0x25, 0x73, 0x2a, 0x3a, 0x25, 0x73, 0x2a, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x5b, 0x5e, 0x3a, 0x5d, + 0x2b, 0x3a, 0x25, 0x73, 0x2a, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x61, 0x74, 0x69, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, + 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, + 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x20, 0x30, 0x3a, 0x3c, 0x6c, 0x69, 0x6e, + 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3e, 0x3a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x28, 0x23, 0x5b, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5d, 0x29, 0x20, 0x5b, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x5d, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, + 0x09, 0x09, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x77, 0x68, 0x61, + 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x3a, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x28, 0x22, 0x5e, 0x25, 0x77, 0x2b, 0x3a, 0x20, 0x30, 0x3a, 0x28, 0x25, 0x64, 0x2b, 0x29, 0x3a, + 0x25, 0x73, 0x2a, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x25, 0x28, 0x5b, 0x5e, 0x25, 0x29, 0x5d, 0x2b, 0x25, 0x29, + 0x25, 0x73, 0x2a, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x4f, 0x53, 0x58, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x28, 0x3f, 0x29, 0x3a, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x2d, 0x2d, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x3a, 0x20, 0x30, 0x3a, 0x3c, 0x6c, + 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3e, 0x3a, 0x20, 0x3c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3e, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x6c, 0x3a, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x28, 0x22, 0x5e, 0x28, 0x25, 0x77, 0x2b, 0x29, 0x3a, 0x20, 0x25, 0x64, 0x2b, 0x3a, 0x28, + 0x25, 0x64, 0x2b, 0x29, 0x3a, 0x20, 0x28, 0x2e, 0x2b, 0x29, 0x24, 0x22, 0x29, 0x0a, + 0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x09, 0x69, 0x66, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x09, 0x09, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5b, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2b, 0x31, 0x5d, + 0x20, 0x3d, 0x20, 0x28, 0x22, 0x4c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x3a, 0x20, 0x25, 0x73, 0x3a, 0x20, + 0x25, 0x73, 0x22, 0x29, 0x3a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x6c, 0x69, 0x6e, 0x65, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x77, 0x68, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x29, 0x0a, + 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x2d, 0x2d, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x0a, + 0x09, 0x69, 0x66, 0x20, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x65, 0x6e, 0x64, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x63, + 0x61, 0x74, 0x28, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x22, 0x5c, 0x6e, 0x22, 0x29, 0x0a, + 0x65, 0x6e, 0x64, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x20, + 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x76, 0x65, 0x63, 0x34, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x6d, 0x61, 0x74, 0x34, + 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x2c, 0x20, 0x76, + 0x65, 0x63, 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x29, 0x20, 0x7b, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x3b, 0x0a, + 0x7d, 0x5d, 0x5d, 0x2c, 0x0a, + 0x09, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x5b, 0x5b, 0x0a, + 0x76, 0x65, 0x63, 0x34, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x28, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x76, + 0x65, 0x63, 0x34, 0x20, 0x76, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x20, 0x7b, 0x0a, + 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x28, 0x74, 0x65, 0x78, 0x2c, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3b, 0x0a, + 0x7d, 0x5d, 0x5d, 0x0a, + 0x7d, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x67, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, + 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x2c, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x22, 0x29, 0x2c, 0x0a, + 0x09, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, + 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x22, 0x29, 0x2c, 0x0a, + 0x09, 0x7d, 0x2c, 0x0a, + 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x09, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x64, 0x65, + 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x2c, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, 0x29, 0x2c, 0x0a, + 0x09, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x28, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2c, + 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x67, 0x6c, 0x73, 0x6c, 0x65, 0x73, 0x22, 0x29, 0x2c, 0x0a, + 0x09, 0x7d, 0x2c, 0x0a, + 0x7d, 0x0a, + 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x5f, 0x73, 0x65, 0x74, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x28, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x29, 0x0a, }; // [graphics.lua] } // love