From f842b6425b6f28f1010618a618ce41bb89f7676a Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 11 Jan 2020 19:35:26 +0000 Subject: [PATCH] C++ started with SDL --- CMakeLists.txt | 23 +- build/CMakeCache.txt | 428 ++ build/CMakeFiles/3.16.2/CMakeCCompiler.cmake | 76 + .../CMakeFiles/3.16.2/CMakeCXXCompiler.cmake | 88 + .../3.16.2/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16384 bytes .../3.16.2/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 16400 bytes build/CMakeFiles/3.16.2/CMakeSystem.cmake | 15 + .../3.16.2/CompilerIdC/CMakeCCompilerId.c | 671 +++ build/CMakeFiles/3.16.2/CompilerIdC/a.out | Bin 0 -> 16544 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 660 +++ build/CMakeFiles/3.16.2/CompilerIdCXX/a.out | Bin 0 -> 16552 bytes .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/CMakeError.log | 58 + build/CMakeFiles/CMakeOutput.log | 445 ++ build/CMakeFiles/Makefile.cmake | 60 + build/CMakeFiles/Makefile2 | 106 + build/CMakeFiles/TargetDirectories.txt | 3 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/output.dir/CXX.includecache | 22 + build/CMakeFiles/output.dir/DependInfo.cmake | 28 + build/CMakeFiles/output.dir/build.make | 115 + build/CMakeFiles/output.dir/cmake_clean.cmake | 11 + build/CMakeFiles/output.dir/depend.internal | 9 + build/CMakeFiles/output.dir/depend.make | 9 + build/CMakeFiles/output.dir/flags.make | 10 + build/CMakeFiles/output.dir/link.txt | 1 + build/CMakeFiles/output.dir/progress.make | 4 + build/CMakeFiles/output.dir/src/main.cpp.o | Bin 0 -> 180760 bytes .../output.dir/src/thirdparty/glad.cpp.o | Bin 0 -> 190696 bytes build/CMakeFiles/progress.marks | 1 + build/Makefile | 208 + build/cmake_install.cmake | 49 + build/output | Bin 0 -> 315592 bytes include/glad/glad.hpp | 3617 +++++++++++++++++ src/frambuffer.hpp | 17 + src/main.cpp | 108 +- src/thirdparty/glad.cpp | 1842 +++++++++ 37 files changed, 8688 insertions(+), 13 deletions(-) create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.16.2/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.16.2/CMakeCXXCompiler.cmake create mode 100644 build/CMakeFiles/3.16.2/CMakeDetermineCompilerABI_C.bin create mode 100644 build/CMakeFiles/3.16.2/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.16.2/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.16.2/CompilerIdC/CMakeCCompilerId.c create mode 100644 build/CMakeFiles/3.16.2/CompilerIdC/a.out create mode 100644 build/CMakeFiles/3.16.2/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 build/CMakeFiles/3.16.2/CompilerIdCXX/a.out create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/CMakeError.log create mode 100644 build/CMakeFiles/CMakeOutput.log create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/output.dir/CXX.includecache create mode 100644 build/CMakeFiles/output.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/output.dir/build.make create mode 100644 build/CMakeFiles/output.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/output.dir/depend.internal create mode 100644 build/CMakeFiles/output.dir/depend.make create mode 100644 build/CMakeFiles/output.dir/flags.make create mode 100644 build/CMakeFiles/output.dir/link.txt create mode 100644 build/CMakeFiles/output.dir/progress.make create mode 100644 build/CMakeFiles/output.dir/src/main.cpp.o create mode 100644 build/CMakeFiles/output.dir/src/thirdparty/glad.cpp.o create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/Makefile create mode 100644 build/cmake_install.cmake create mode 100644 build/output create mode 100644 include/glad/glad.hpp create mode 100644 src/frambuffer.hpp create mode 100644 src/thirdparty/glad.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index dca95c6..c5dbea4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ if (UNIX) endif(UNIX) if (WIN32) - include_directories(${executable} + include_directories(${exe} "C:/dev/glm" "C:/dev/SDL2/include/" "C:/dev/SDL2_image/include/" @@ -35,28 +35,29 @@ find_package(Threads REQUIRED) find_package(OpenGL REQUIRED) if (UNIX) - include_directories(${executable} + include_directories(${exe} ${SDL2_INCLUDE_DIR} ) endif (UNIX) -include_directories(${executable} - ${IncludeDIR} +include_directories(${exe} + ${include} ) -file(GLOB SourceFiles - ${SrcDIR}/* +file(GLOB src + ${src}/* + ${src}/thirdparty/* ) -add_executable(${executable} ${SourceFiles}) +add_executable(${exe} ${src}) -set_target_properties(${executable} PROPERTIES +set_target_properties(${exe} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF ) if (UNIX) - target_link_libraries(${executable} + target_link_libraries(${exe} SDL2 OpenGL::OpenGL OpenGL::GL @@ -65,7 +66,7 @@ if (UNIX) endif (UNIX) if (WIN32) - target_link_libraries(${executable} + target_link_libraries(${exe} "C:/dev/SDL2/lib/x64/SDL2.lib" "C:/dev/SDL2/lib/x64/SDL2main.lib" "C:/dev/SDL2/lib/x64/SDL2test.lib" @@ -73,6 +74,6 @@ if (WIN32) ) endif (WIN32) -target_link_libraries(${executable} +target_link_libraries(${exe} ${CMAKE_DL_LIBS} ) diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..def5034 --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,428 @@ +# This is the CMakeCache file. +# For build in directory: /home/ben/mnt/Projects-linux/2d-gi/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +2D_GLOBAL_ILLUMINATION_BINARY_DIR:STATIC=/home/ben/mnt/Projects-linux/2d-gi/build + +//Value Computed by CMake +2D_GLOBAL_ILLUMINATION_SOURCE_DIR:STATIC=/home/ben/mnt/Projects-linux/2d-gi + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=2D_GLOBAL_ILLUMINATION + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to a file. +OPENGL_EGL_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_GLX_INCLUDE_DIR:PATH=/usr/include + +//Path to a file. +OPENGL_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +OPENGL_egl_LIBRARY:FILEPATH=/usr/lib/libEGL.so + +//Path to a library. +OPENGL_gl_LIBRARY:FILEPATH=/usr/lib/libGL.so + +//Path to a library. +OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/libGLU.so + +//Path to a library. +OPENGL_glx_LIBRARY:FILEPATH=/usr/lib/libGLX.so + +//Path to a library. +OPENGL_opengl_LIBRARY:FILEPATH=/usr/lib/libOpenGL.so + +//Path to a file. +OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND + +//The directory containing a CMake configuration file for SDL2. +SDL2_DIR:PATH=/usr/lib64/cmake/SDL2 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/ben/mnt/Projects-linux/2d-gi/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL= +//Have library pthreads +CMAKE_HAVE_PTHREADS_CREATE:INTERNAL= +//Have library pthread +CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1 +//Have include pthread.h +CMAKE_HAVE_PTHREAD_H:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/ben/mnt/Projects-linux/2d-gi +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding OpenGL +FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib/libOpenGL.so][/usr/lib/libGLX.so][/usr/include][c ][v()] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: OPENGL_EGL_INCLUDE_DIR +OPENGL_EGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_GLX_INCLUDE_DIR +OPENGL_GLX_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_INCLUDE_DIR +OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_egl_LIBRARY +OPENGL_egl_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_gl_LIBRARY +OPENGL_gl_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_glu_LIBRARY +OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_glx_LIBRARY +OPENGL_glx_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_opengl_LIBRARY +OPENGL_opengl_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR +OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1 + diff --git a/build/CMakeFiles/3.16.2/CMakeCCompiler.cmake b/build/CMakeFiles/3.16.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..7f2f128 --- /dev/null +++ b/build/CMakeFiles/3.16.2/CMakeCCompiler.cmake @@ -0,0 +1,76 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "9.2.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.16.2/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.16.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..da977ed --- /dev/null +++ b/build/CMakeFiles/3.16.2/CMakeCXXCompiler.cmake @@ -0,0 +1,88 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "9.2.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9.2.0;/usr/include/c++/9.2.0/x86_64-pc-linux-gnu;/usr/include/c++/9.2.0/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.16.2/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.16.2/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..8fc25aedb2f37ddf0ffff464ffc2668226372f22 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.16.2/CMakeSystem.cmake b/build/CMakeFiles/3.16.2/CMakeSystem.cmake new file mode 100644 index 0000000..0e37536 --- /dev/null +++ b/build/CMakeFiles/3.16.2/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.3.18-1-MANJARO") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.3.18-1-MANJARO") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-5.3.18-1-MANJARO") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.3.18-1-MANJARO") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.16.2/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.16.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..d884b50 --- /dev/null +++ b/build/CMakeFiles/3.16.2/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,671 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/3.16.2/CompilerIdC/a.out b/build/CMakeFiles/3.16.2/CompilerIdC/a.out new file mode 100644 index 0000000000000000000000000000000000000000..bae4a3cdf006320b4c5b12401129b785aa336333 GIT binary patch literal 16544 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.16.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.16.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..69cfdba --- /dev/null +++ b/build/CMakeFiles/3.16.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,660 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/build/CMakeFiles/3.16.2/CompilerIdCXX/a.out b/build/CMakeFiles/3.16.2/CompilerIdCXX/a.out new file mode 100644 index 0000000000000000000000000000000000000000..7a628e59c407288a7b3dd6fe172c306fade59f14 GIT binary patch literal 16552 zcmeHOUu+b|8K1kua5Qk|5S$RG>TTKwqr`_XgxZM=cmBs(Is+kgN^8urzB}8e+#l<1 zFEuE%RHlS0HMLZ!jjE`5iK0C4(1!|DeW)N%ninciB}&v*rEO>-h18@?1P$T(eKX&8 zx4S-9QLFZ$+L88tGr#Z8%zQh$H@iFYwZ3@2-{%vY0%EJclGdo0C<(52QU)L@I>ZC; zyH2bXOQF0(a!MXm08*7E{Z0%L9{@zVH%RWrPm>-aw-6ES7E5n5C<&vWexRKcQJHzh zCTa&G^VRw^s?mkVs9}tDJB-bpR%Lgm%ZaUM&=4F`+jk6$TNmzr6h3s~LS@e{zZX7!`Db5! zMMKM_v4Ph`+K; z$b@4b#|x*cHeU5uNv_*?9B-WFZ9HF7D7$0h=~l)j9(ob*BH%^9i+~paF9Kc!ya;#^ z_>Uv-xA15Fq0ih5>c<;?zd;E78>cOQ<)S`wE_hb@M)}5D1LaHm^zt9{nRn)Q4aH|0 z&coDKpIy0ALf0kGtTcTe%>O>8&vxBLKeG+*B6Qxdn!xo7u28Erk}YJ(0%9iOZTnS;9!s(1S?m^!_B=ldu-p~u0tRerA@>7OqUIar~M~q*+Kzj!-_CHZ!S& z1>Z2o%~Hl1*|>RB_|^rUZh`9YdztmuN(Ej6i0pi&vKR0jz!w3BZdWSj0P%Y;Cf~u` z!Z+RMTeo6aa1LHqAdhPbTEHIP6o}qs@{1yJo8edveoDy4LXAiLJu8>`r@#`_fEt2h zKgd%k?+-P8+dmLmb0W|e(q@Lzyx>OH!%q-g;isnKcu~1tq)Y2W&xB}45XL52zU|jBH%^9i+~paF9Kc!ya;#^_-{vm*H`j-N?yz8 zMzvD5w${<0hOr*5>BO``L3M%WN-76wvFoE$=5?OySWdW>kk@yhiu{;TpmwLWX6OIkrS)xL%Dq3X4@`V*8IOsy#qTRrnGs z+c!z}@C8|xIZp7nC(C ztk*hW@o(E={_K1JR?zage<$y+u48xd0dd{FxR!(gcq0&`^X}Ad5Ii27{8GW=#>p=e ze14pKQ1E$m^2-H}7bg#+j~6=I1OeDJq1EMA2)<5i>aac?t|HCOsC+<#s_XUb(trqy zD|Pi7tLv+s`mo5F)>k|ERifUw2#ALSuYY#x!&{Z8ol*IKXcBAc@(&BWF8{~^CwToV z5w|OD0bX?V_=kY^L!5WH;*8fj@`qh~3-Np(grZCs7N4lKldt1J$uEqX1w8ua`>J#T zKZoJ)!C>I~9`mn4re6C`N&S@~swvHO1@b0SPya2c9~MVGONutAr+-<>7mlAlLI?d~ z;kdma{VyC3?@K=rOxO4c$UrUZ@58|R@aFNg4C~#XO_H8_0CZoB^x$izo4DGiG}}%ao^M`n;vI31FvzxhCPe$ zBArWHk%UMTtfEzd#aRha+s0y8StEfPS&FdpB$+oRGWjtxVC?z{FNEurUtRokiPU>{3#0c-J7R+aJs@+` zl5`SsLys`F$9Hze;>OPY{%8A!jGfvjbY0a^uxlblQE zV4u{Kh~)BCDl(BPMaD{L*lm_h5*6znXtm4bu~O6UD|;6yK-WSI9{JiiS z$Z?9w_B{V&e2wfGFxK|84+{89!S*~)W#s2CZa?cWJ`eWzjKXD}&oXLMnY;Z&i-VBC zn6f?3dl@xqFxT(y{}Hf76@E^GKPi<6`FW67Sr_LKzX^xkp8qEquek!o?%4;PAG(Nks;txhQ@BIlKKyQecE-y^iFrAN||yd7jVsLx*+k zxtZxxkb!l`attEJ^HJW1%jXMan7GXNCU9Xms*hPb?}N3>m{?DhYGvks0RlYtY|qaZ zyw92UGxPXhJ3f!U0$c1q+w*hC6`ClufXtrQp7A#zwA+g)X}2ll>y+4Pf7t#S2<-Me z?^;9l1Z-ZlXW}oAL0{Z{p3muI$n~&3)@4ugP(aRI58Ko9t!l#dcC3!ws+JJ@$zdA> t9^cd8SmgF_T=4w|x7}tg=J3W0Y1HMM>s3;m%h$KR)uA-*vLd0|{+}T!V!;3a literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..b25e022 --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/ben/mnt/Projects-linux/2d-gi") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/ben/mnt/Projects-linux/2d-gi/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/CMakeError.log b/build/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..2c8c061 --- /dev/null +++ b/build/CMakeFiles/CMakeError.log @@ -0,0 +1,58 @@ +Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_c8283/fast && /usr/bin/make -f CMakeFiles/cmTC_c8283.dir/build.make CMakeFiles/cmTC_c8283.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_c8283.dir/src.c.o +/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_c8283.dir/src.c.o -c /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_c8283 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c8283.dir/link.txt --verbose=1 +/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_c8283.dir/src.c.o -o cmTC_c8283 +/usr/bin/ld: CMakeFiles/cmTC_c8283.dir/src.c.o: in function `main': +src.c:(.text+0x3e): undefined reference to `pthread_create' +/usr/bin/ld: src.c:(.text+0x4a): undefined reference to `pthread_detach' +/usr/bin/ld: src.c:(.text+0x5b): undefined reference to `pthread_join' +collect2: error: ld returned 1 exit status +make[1]: *** [CMakeFiles/cmTC_c8283.dir/build.make:87: cmTC_c8283] Error 1 +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +make: *** [Makefile:121: cmTC_c8283/fast] Error 2 + + +Source file was: +#include + +void* test_func(void* data) +{ + return data; +} + +int main(void) +{ + pthread_t thread; + pthread_create(&thread, NULL, test_func, NULL); + pthread_detach(thread); + pthread_join(thread, NULL); + pthread_atfork(NULL, NULL, NULL); + pthread_exit(NULL); + + return 0; +} + +Determining if the function pthread_create exists in the pthreads failed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_73579/fast && /usr/bin/make -f CMakeFiles/cmTC_73579.dir/build.make CMakeFiles/cmTC_73579.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_73579.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_73579.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_73579 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_73579.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_73579.dir/CheckFunctionExists.c.o -o cmTC_73579 -lpthreads +/usr/bin/ld: cannot find -lpthreads +collect2: error: ld returned 1 exit status +make[1]: *** [CMakeFiles/cmTC_73579.dir/build.make:87: cmTC_73579] Error 1 +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +make: *** [Makefile:121: cmTC_73579/fast] Error 2 + + + diff --git a/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..64689b1 --- /dev/null +++ b/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,445 @@ +The system is: Linux - 5.3.18-1-MANJARO - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/3.16.2/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/3.16.2/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_957e3/fast && /usr/bin/make -f CMakeFiles/cmTC_957e3.dir/build.make CMakeFiles/cmTC_957e3.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_957e3.dir/testCCompiler.c.o +/usr/bin/cc -o CMakeFiles/cmTC_957e3.dir/testCCompiler.c.o -c /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTC_957e3 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_957e3.dir/link.txt --verbose=1 +/usr/bin/cc CMakeFiles/cmTC_957e3.dir/testCCompiler.c.o -o cmTC_957e3 +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_a986f/fast && /usr/bin/make -f CMakeFiles/cmTC_a986f.dir/build.make CMakeFiles/cmTC_a986f.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +Target: x86_64-pc-linux-gnu +Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc +Thread model: posix +gcc version 9.2.0 (GCC) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1 -quiet -v /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -version -o /tmp/cch5STWt.s +GNU C17 (GCC) version 9.2.0 (x86_64-pc-linux-gnu) + compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed + /usr/include +End of search list. +GNU C17 (GCC) version 9.2.0 (x86_64-pc-linux-gnu) + compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 084559c67b5620be476de387987f6c74 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o /tmp/cch5STWt.s +GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1 +COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' +Linking C executable cmTC_a986f +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a986f.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -o cmTC_a986f +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper +Target: x86_64-pc-linux-gnu +Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc +Thread model: posix +gcc version 9.2.0 (GCC) +COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a986f' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc29ToJU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_a986f /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a986f' '-mtune=generic' '-march=x86-64' +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + add: [/usr/local/include] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_a986f/fast && /usr/bin/make -f CMakeFiles/cmTC_a986f.dir/build.make CMakeFiles/cmTC_a986f.dir/build] + ignore line: [make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.2.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1 -quiet -v /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -version -o /tmp/cch5STWt.s] + ignore line: [GNU C17 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 9.2.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.21-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 9.2.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.21-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 084559c67b5620be476de387987f6c74] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o /tmp/cch5STWt.s] + ignore line: [GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking C executable cmTC_a986f] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a986f.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -o cmTC_a986f ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.2.0 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a986f' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc29ToJU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_a986f /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc29ToJU.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_a986f] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] + arg [CMakeFiles/cmTC_a986f.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib;/lib] + implicit fwks: [] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_0213c/fast && /usr/bin/make -f CMakeFiles/cmTC_0213c.dir/build.make CMakeFiles/cmTC_0213c.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_0213c.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTC_0213c.dir/testCXXCompiler.cxx.o -c /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTC_0213c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0213c.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTC_0213c.dir/testCXXCompiler.cxx.o -o cmTC_0213c +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_460a7/fast && /usr/bin/make -f CMakeFiles/cmTC_460a7.dir/build.make CMakeFiles/cmTC_460a7.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +Target: x86_64-pc-linux-gnu +Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc +Thread model: posix +gcc version 9.2.0 (GCC) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccWDzqJh.s +GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu) + compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0 + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed + /usr/include +End of search list. +GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu) + compiled by GNU C version 9.2.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.21-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: e70628160ff7c7e477f7d9570e6637cb +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccWDzqJh.s +GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1 +COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' +Linking CXX executable cmTC_460a7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_460a7.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_460a7 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper +Target: x86_64-pc-linux-gnu +Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc +Thread model: posix +gcc version 9.2.0 (GCC) +COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_460a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1ZlbaF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_460a7 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_460a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + add: [/usr/local/include] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0] ==> [/usr/include/c++/9.2.0] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu] ==> [/usr/include/c++/9.2.0/x86_64-pc-linux-gnu] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward] ==> [/usr/include/c++/9.2.0/backward] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/9.2.0;/usr/include/c++/9.2.0/x86_64-pc-linux-gnu;/usr/include/c++/9.2.0/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_460a7/fast && /usr/bin/make -f CMakeFiles/cmTC_460a7.dir/build.make CMakeFiles/cmTC_460a7.dir/build] + ignore line: [make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.2.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccWDzqJh.s] + ignore line: [GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 9.2.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.21-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++14 (GCC) version 9.2.0 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 9.2.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.21-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: e70628160ff7c7e477f7d9570e6637cb] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccWDzqJh.s] + ignore line: [GNU assembler version 2.33.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.33.1] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking CXX executable cmTC_460a7] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_460a7.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_460a7 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c c++ ada fortran go lto objc obj-c++ d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.2.0 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_460a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1ZlbaF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_460a7 /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../.. CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc1ZlbaF.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_460a7] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] + arg [CMakeFiles/cmTC_460a7.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib;/lib] + implicit fwks: [] + + +Determining if the include file pthread.h exists passed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_1437b/fast && /usr/bin/make -f CMakeFiles/cmTC_1437b.dir/build.make CMakeFiles/cmTC_1437b.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_1437b.dir/CheckIncludeFile.c.o +/usr/bin/cc -o CMakeFiles/cmTC_1437b.dir/CheckIncludeFile.c.o -c /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_1437b +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1437b.dir/link.txt --verbose=1 +/usr/bin/cc CMakeFiles/cmTC_1437b.dir/CheckIncludeFile.c.o -o cmTC_1437b +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + +Determining if the function pthread_create exists in the pthread passed with the following output: +Change Dir: /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_67a51/fast && /usr/bin/make -f CMakeFiles/cmTC_67a51.dir/build.make CMakeFiles/cmTC_67a51.dir/build +make[1]: Entering directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_67a51.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_67a51.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_67a51 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_67a51.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_67a51.dir/CheckFunctionExists.c.o -o cmTC_67a51 -lpthread +make[1]: Leaving directory '/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/CMakeTmp' + + + diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..a45e4b1 --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,60 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.16.2/CMakeCCompiler.cmake" + "CMakeFiles/3.16.2/CMakeCXXCompiler.cmake" + "CMakeFiles/3.16.2/CMakeSystem.cmake" + "/usr/lib64/cmake/SDL2/SDL2Config.cmake" + "/usr/lib64/cmake/SDL2/SDL2ConfigVersion.cmake" + "/usr/lib64/cmake/SDL2/SDL2Targets-noconfig.cmake" + "/usr/lib64/cmake/SDL2/SDL2Targets.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake" + "/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake" + "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.16/Modules/FindOpenGL.cmake" + "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-3.16/Modules/FindThreads.cmake" + "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/output.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..67af6a1 --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,106 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ben/mnt/Projects-linux/2d-gi + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ben/mnt/Projects-linux/2d-gi/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/output.dir/all + +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: + +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/output.dir/clean + +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/output.dir + +# All Build rule for target. +CMakeFiles/output.dir/all: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/depend + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles --progress-num=1,2,3 "Built target output" +.PHONY : CMakeFiles/output.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/output.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles 3 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/output.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles 0 +.PHONY : CMakeFiles/output.dir/rule + +# Convenience name for target. +output: CMakeFiles/output.dir/rule + +.PHONY : output + +# clean rule for target. +CMakeFiles/output.dir/clean: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/clean +.PHONY : CMakeFiles/output.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..3b83836 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/rebuild_cache.dir +/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/output.dir +/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/edit_cache.dir diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build/CMakeFiles/output.dir/CXX.includecache b/build/CMakeFiles/output.dir/CXX.includecache new file mode 100644 index 0000000..397edbc --- /dev/null +++ b/build/CMakeFiles/output.dir/CXX.includecache @@ -0,0 +1,22 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +../include/glad/glad.hpp +windows.h +- +KHR/khrplatform.h +- + +/home/ben/mnt/Projects-linux/2d-gi/src/main.cpp +iostream +- +SDL2/SDL.h +- +glad/glad.hpp +- + diff --git a/build/CMakeFiles/output.dir/DependInfo.cmake b/build/CMakeFiles/output.dir/DependInfo.cmake new file mode 100644 index 0000000..9ce95db --- /dev/null +++ b/build/CMakeFiles/output.dir/DependInfo.cmake @@ -0,0 +1,28 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/home/ben/mnt/Projects-linux/2d-gi/src/main.cpp" "/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/output.dir/src/main.cpp.o" + "/home/ben/mnt/Projects-linux/2d-gi/src/thirdparty/glad.cpp" "/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/output.dir/src/thirdparty/glad.cpp.o" + ) +set(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_CXX + "RESOURCES=\"/home/ben/mnt/Projects-linux/2d-gi/resources/\"" + ) + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "../output" + ".././include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/output.dir/build.make b/build/CMakeFiles/output.dir/build.make new file mode 100644 index 0000000..b1f5446 --- /dev/null +++ b/build/CMakeFiles/output.dir/build.make @@ -0,0 +1,115 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ben/mnt/Projects-linux/2d-gi + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ben/mnt/Projects-linux/2d-gi/build + +# Include any dependencies generated for this target. +include CMakeFiles/output.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/output.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/output.dir/flags.make + +CMakeFiles/output.dir/src/main.cpp.o: CMakeFiles/output.dir/flags.make +CMakeFiles/output.dir/src/main.cpp.o: ../src/main.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/output.dir/src/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/output.dir/src/main.cpp.o -c /home/ben/mnt/Projects-linux/2d-gi/src/main.cpp + +CMakeFiles/output.dir/src/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/output.dir/src/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ben/mnt/Projects-linux/2d-gi/src/main.cpp > CMakeFiles/output.dir/src/main.cpp.i + +CMakeFiles/output.dir/src/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/output.dir/src/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ben/mnt/Projects-linux/2d-gi/src/main.cpp -o CMakeFiles/output.dir/src/main.cpp.s + +CMakeFiles/output.dir/src/thirdparty/glad.cpp.o: CMakeFiles/output.dir/flags.make +CMakeFiles/output.dir/src/thirdparty/glad.cpp.o: ../src/thirdparty/glad.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/output.dir/src/thirdparty/glad.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/output.dir/src/thirdparty/glad.cpp.o -c /home/ben/mnt/Projects-linux/2d-gi/src/thirdparty/glad.cpp + +CMakeFiles/output.dir/src/thirdparty/glad.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/output.dir/src/thirdparty/glad.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/ben/mnt/Projects-linux/2d-gi/src/thirdparty/glad.cpp > CMakeFiles/output.dir/src/thirdparty/glad.cpp.i + +CMakeFiles/output.dir/src/thirdparty/glad.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/output.dir/src/thirdparty/glad.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/ben/mnt/Projects-linux/2d-gi/src/thirdparty/glad.cpp -o CMakeFiles/output.dir/src/thirdparty/glad.cpp.s + +# Object files for target output +output_OBJECTS = \ +"CMakeFiles/output.dir/src/main.cpp.o" \ +"CMakeFiles/output.dir/src/thirdparty/glad.cpp.o" + +# External object files for target output +output_EXTERNAL_OBJECTS = + +output: CMakeFiles/output.dir/src/main.cpp.o +output: CMakeFiles/output.dir/src/thirdparty/glad.cpp.o +output: CMakeFiles/output.dir/build.make +output: /usr/lib/libOpenGL.so +output: /usr/lib/libGL.so +output: CMakeFiles/output.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable output" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/output.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/output.dir/build: output + +.PHONY : CMakeFiles/output.dir/build + +CMakeFiles/output.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/output.dir/cmake_clean.cmake +.PHONY : CMakeFiles/output.dir/clean + +CMakeFiles/output.dir/depend: + cd /home/ben/mnt/Projects-linux/2d-gi/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/ben/mnt/Projects-linux/2d-gi /home/ben/mnt/Projects-linux/2d-gi /home/ben/mnt/Projects-linux/2d-gi/build /home/ben/mnt/Projects-linux/2d-gi/build /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/output.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/output.dir/depend + diff --git a/build/CMakeFiles/output.dir/cmake_clean.cmake b/build/CMakeFiles/output.dir/cmake_clean.cmake new file mode 100644 index 0000000..baf5caf --- /dev/null +++ b/build/CMakeFiles/output.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/output.dir/src/main.cpp.o" + "CMakeFiles/output.dir/src/thirdparty/glad.cpp.o" + "output" + "output.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/output.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/output.dir/depend.internal b/build/CMakeFiles/output.dir/depend.internal new file mode 100644 index 0000000..06b102f --- /dev/null +++ b/build/CMakeFiles/output.dir/depend.internal @@ -0,0 +1,9 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/output.dir/src/main.cpp.o + ../include/glad/glad.hpp + /home/ben/mnt/Projects-linux/2d-gi/src/main.cpp +CMakeFiles/output.dir/src/thirdparty/glad.cpp.o + ../include/glad/glad.hpp + /home/ben/mnt/Projects-linux/2d-gi/src/thirdparty/glad.cpp diff --git a/build/CMakeFiles/output.dir/depend.make b/build/CMakeFiles/output.dir/depend.make new file mode 100644 index 0000000..5d43e99 --- /dev/null +++ b/build/CMakeFiles/output.dir/depend.make @@ -0,0 +1,9 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/output.dir/src/main.cpp.o: ../include/glad/glad.hpp +CMakeFiles/output.dir/src/main.cpp.o: ../src/main.cpp + +CMakeFiles/output.dir/src/thirdparty/glad.cpp.o: ../include/glad/glad.hpp +CMakeFiles/output.dir/src/thirdparty/glad.cpp.o: ../src/thirdparty/glad.cpp + diff --git a/build/CMakeFiles/output.dir/flags.make b/build/CMakeFiles/output.dir/flags.make new file mode 100644 index 0000000..7c3d3db --- /dev/null +++ b/build/CMakeFiles/output.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -g -std=c++17 + +CXX_DEFINES = -DRESOURCES=\"/home/ben/mnt/Projects-linux/2d-gi/resources/\" + +CXX_INCLUDES = -I/home/ben/mnt/Projects-linux/2d-gi/output -I/home/ben/mnt/Projects-linux/2d-gi/./include + diff --git a/build/CMakeFiles/output.dir/link.txt b/build/CMakeFiles/output.dir/link.txt new file mode 100644 index 0000000..9afc0b7 --- /dev/null +++ b/build/CMakeFiles/output.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -g CMakeFiles/output.dir/src/main.cpp.o CMakeFiles/output.dir/src/thirdparty/glad.cpp.o -o output -lSDL2 /usr/lib/libOpenGL.so /usr/lib/libGL.so -ldl -lpthread diff --git a/build/CMakeFiles/output.dir/progress.make b/build/CMakeFiles/output.dir/progress.make new file mode 100644 index 0000000..6a9dc74 --- /dev/null +++ b/build/CMakeFiles/output.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 + diff --git a/build/CMakeFiles/output.dir/src/main.cpp.o b/build/CMakeFiles/output.dir/src/main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..364d29caa3964a209a17d6ee996c95335a964b01 GIT binary patch literal 180760 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 z z3D3a(-br|PzDytCPtNx7bA|6mJ)bVTE7CV#_-ROIcuzt|=aEx<{N>``bDrmq3$Kj! zA-vxp#957cwMG1srujI#gg2b*`4_^&_w&Ph2}1lDZM^@F_}An3qCDDz;5X{%{p!Lm z>FoJM!aJVtd3X;%h!dVCQXu~5v%P9e@MF-vUoCtrj$3aLz6kr*CgG#% z`uJOgZ|mUsUg0mJo%u<43)F{G(I1BG>W1~!6aMQsA3sI-@7S)P!q1rE{kg(hV0?a~ z@Q)L{zghTuO+DWsd=!qOeiz=Rg7=R_{~5OH%(k946n+Tpcx&O|`w3aXXP};3CcFmr z>wAT-XyMoUnDEP!uwBAmL%xOQRfqI<>F51_#b24>`3cqW+x@cf^9;0aHH42sJqgc~ z4)K3Q|J6hMlP~vi2ME6$`J5rV4#p>wgkOPj3eRZ{>z!HTlRdAG{xhU!1L7wM zzqOY4hX~Id?0L5E{ut-nApCX2ze{*|q%XYhIHczow4bkuzpe1%_yM$gKML=M{kJO0EyVu<@xyy>1J6gh(N+8nIDY9T{6Wl57v37`j3-PB5pWod3^M%*JejVPI8q&G0t@k&Je+cn+2+zWKypM(N zpXB3&=l_NH*WoxKyl*t{1*zVzbGrW>_u1*%dZIq7_ zo?{o*yM2b|H;JE$ap`ly|3myYgqOv5_yghLJoQ(?!}q?bpkEE?DLT%lr?&9dhj`vl z_*bZ};r*B)&ilQ*-&OoRh|^Daev0=e3vZ78{Yv56Q7$(LKV^=OvsCyV)RRYqKY{*b zz3?m0uZ8D|h3)!vmXE(v{L?S;JRD~S|1HG-LHrRDydRzu7W{p4JTF_@{|>x0^7&-p zdk{aor!x3qe{LjxhcZ5H8{vf*w+s@VG{F1e{gNSmQ8Ul;#Si`EY~feoe9N`M)7$wt zcL<+@_V5AWjg!5xxMG% zeU2f{f3rO=62BMrqq)Kt;<)cd;YY9VaqbrWS+?g73twH&^QVQMHP!Ro!mDO^{9kz9{4=8SM7!0d6D;%g@^YZhU@Ji&ee0gKVAIK zGd!O!yfgO4#lk-v=KbZumre2fap5PRzkXKu(hlAa&rb^J4Bu1OCH~9UkHY&6gMYAv zkMpzm2fKLwkMNmwJTIT)K72oK-ydqDUdGZP}yTH%K=&Ur!jN*t$e z7d{o`v0HcormuyceT-jlQ1}mnJwGaZ6Z(rvDCbbVXs!~%^M?XIh~wdN#cwdt$8RD0 zA?(i`g;(q0{ocY)yV&!5;agFEW((hkcHmm!tr7nY;V%~X_|FQz4ja5hc=_?(-zB^& z;(sChTC|g8(e8$PTQSnd3D4IF{M}iepDF%C#BU_L|ApS~BmBJ4o(~sZ8TEFY@H$BM zWZ`ci|F0Cj3Hfl7@O+H>mkJN{;1S^kI6tsncwwGT|0}}3!}-UZ!UrM!p9;SL4*@P4{bF6&SqPDXhK{u%QBOyRZ5`}8*w{%9}H+X(*->F6eWKl+RQ!fQ6 z&$mdNipYoX{d9Q;uVMUiqwvpBZ|@eq8};X5;fdKkJx>b{-%EK}cxAMQZwr5Ow2u?sj~4Q+DdK-G z{y?!719^&^C zeix1_M+$!l?ehfTJ#c(CO?bVre!W)6A) zAD`p-d%_Q*-1iC}j`%+bZ`#Sn`CIr}^zY@c--P^sd8qfR34apt>j)3gfr%9FD+0Mf~R_e#=XJdbSC_5B>Xx!jHxHe4p_C<9(c8g}24{`9I-5pq;6R zb}OW_e<&~EzoXu^6aEqAdkTO5bf2Dq!ozbPMhm~MocHsDzlH6(MR+>e?PbDe<9zih z;U6G=ct2Oz-u7tE_lW-s&MST|e193A&Od}_qdzKho?jl~Zpd0*Al%yQuwU$o=*_o>sZgH34apny;}G`7~kF^{3gU- zCVX2LAAgnb@fa69BYX$isXf96H}rABa~DE>mPLE@hxpAft|)`g1%C#P@2UvTp6lb+ z7G53aA;bHpLY&Ts-&*_wnC~k59n`CS!hdb!*E>>p(iqPt2oL?oG~u_PKMn7bI>CM1 znuKs(_!jZ6L_fYv_;EPQ_K5%h4;gCgr9`h?e6{R zjr{Ku+%Ma%o#D7ZctzC1Uc&#I=s!PL_y+VBS;7lZ|1T5%ZhIf+a^Y7Ocz&JmwHPNa z5q>4&uN1yH-^Y1Ucwe-KFACq*+56uLuhYZxL&9G_-t*dx{qK;U^OOC2L*e1R8IZ#%>}75Vd)_=8cOKM{UPPao$y;osuC@$bTKPV)Y-$d9nzHph8hS$ICq|C}NG z{D$5?Px#WyJrD2q3GsK-^}LJtxoMuK3jYts^_L1Ch4z2E@N$>Ce_EkQ}`eCJbzI5^_4w;O87do zOPhtaN561TczBL+cwa`y&k<<%D&aaq;8Vu<_0|&pHR@IP{!Q@H(Jr+R|K?#nPDkP4 z{77%%f1#ZmCVWR(A7`xaoj5)U*VRLMibi>VuK2xie)|#O;W<<5g_oP+<9sH36^>_r z6rO^5SQXn5((@+z!SLRPz&}Pi(_j4F?fiPvg%3a3^P7bao#y$y!bi67{4wE&Fz(tY z{GXxTe@%GZ4xYa&e4=fLo5Fh#!gjrlHmte_bFv8Qa@V z_||iLoSwoTL!5!a!*dTu3x6!%$H^0Z%_Prf3Ez$MEEHZJ`{C`v+hH6K?jsKQ@HG05 z*Tp{_``vrOPeXfnMEH%UR~0b62=TwdessR@N(23NT`2r%9Iu7v@P{~~`+0wW_^YOS zo+120j2|WmABp4NnZi%4=f3|K*zn+jk;rpCTgoo!aw-RYn#k$FDuAmIlGdY&nKCB`%P!nebpEj+xR z_gdlaW1Mq`@Ld)Cdc*VN!}eB1JGfT-E*E+K1>wl%gzds_Z|MEq!WV*nEqq-~?;jK% z&fA9P!-sTk#Bp(@R{nE=ACu+hYYBh5$n$fBuf5Xq7Q#p2_^YGv&G35*e-qbbh6(?; zu8%)fcvhk3MZ*7vKUa7k+dwznD7;;Y=XVRg4dob~-yZU3B>bnvUs=`1d0F_V<2?UC z_{n2EKP-F}+K01S`{iN1dFTh539o>0%P`>;5jQ;NJj8hqyh!}-d-(Ou75*`<<2*0? zN*q6K6MhE9OBLJ1r~leaKVMV$3n-Vq!W*Jp9U(ju?f*T(FG}0MadL#ei1Q&+gttX|9-g-x;$XK(cu@QsYWnz32_J&? zWV7(_J)a%I!*g^$7QQ^u$NyIN2&Dgz@OC4-U*|&qJEXs9uAjd^_(AyXguge^`#pt+ z=jTokURcHZ(}W+3{{3p<_n+egqyoL!Mih4U%_*K~6CxxGY?G5cgNY5IyKb5f`2Yw;OX=eyO2K8pN z@WuoEcI62V-zS_U{AKhz3x)SVJ9fM973i0r5&ksR`?~OXC;9YLy4e2?+jSkr54D7! zg#CJ$@YXmE8Y_I=$v*B1;Z4hXzDBq`+cz@dxGkh7t*gf;3jYV|O%whu>S6ePVTe;< zvX2w)dkwr&N6#OTIK9sG{2k#lk)NLlA2!?jKML=Qdh)06^0T~udPn~|r01A({Cor9 z;r&T1g+HC@{m#O7p&#rkye8t05IzwNR*vvB0}>+B6yXnIexC3 t)*+EEFS=^o*2 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 A;{X5v literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +3 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..e1842a4 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,208 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/ben/mnt/Projects-linux/2d-gi + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/ben/mnt/Projects-linux/2d-gi/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/ben/mnt/Projects-linux/2d-gi/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named output + +# Build rule for target. +output: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 output +.PHONY : output + +# fast build rule for target. +output/fast: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/build +.PHONY : output/fast + +src/main.o: src/main.cpp.o + +.PHONY : src/main.o + +# target to build an object file +src/main.cpp.o: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.o +.PHONY : src/main.cpp.o + +src/main.i: src/main.cpp.i + +.PHONY : src/main.i + +# target to preprocess a source file +src/main.cpp.i: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.i +.PHONY : src/main.cpp.i + +src/main.s: src/main.cpp.s + +.PHONY : src/main.s + +# target to generate assembly for a file +src/main.cpp.s: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/main.cpp.s +.PHONY : src/main.cpp.s + +src/thirdparty/glad.o: src/thirdparty/glad.cpp.o + +.PHONY : src/thirdparty/glad.o + +# target to build an object file +src/thirdparty/glad.cpp.o: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/thirdparty/glad.cpp.o +.PHONY : src/thirdparty/glad.cpp.o + +src/thirdparty/glad.i: src/thirdparty/glad.cpp.i + +.PHONY : src/thirdparty/glad.i + +# target to preprocess a source file +src/thirdparty/glad.cpp.i: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/thirdparty/glad.cpp.i +.PHONY : src/thirdparty/glad.cpp.i + +src/thirdparty/glad.s: src/thirdparty/glad.cpp.s + +.PHONY : src/thirdparty/glad.s + +# target to generate assembly for a file +src/thirdparty/glad.cpp.s: + $(MAKE) -f CMakeFiles/output.dir/build.make CMakeFiles/output.dir/src/thirdparty/glad.cpp.s +.PHONY : src/thirdparty/glad.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... rebuild_cache" + @echo "... output" + @echo "... edit_cache" + @echo "... src/main.o" + @echo "... src/main.i" + @echo "... src/main.s" + @echo "... src/thirdparty/glad.o" + @echo "... src/thirdparty/glad.i" + @echo "... src/thirdparty/glad.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..e4eb62c --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,49 @@ +# Install script for directory: /home/ben/mnt/Projects-linux/2d-gi + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/ben/mnt/Projects-linux/2d-gi/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/build/output b/build/output new file mode 100644 index 0000000000000000000000000000000000000000..93443eac34b7f4af7a05acc559fae4e7af695679 GIT binary patch literal 315592 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 literal 0 HcmV?d00001 diff --git a/include/glad/glad.hpp b/include/glad/glad.hpp new file mode 100644 index 0000000..da0af88 --- /dev/null +++ b/include/glad/glad.hpp @@ -0,0 +1,3617 @@ +/* + + OpenGL loader generated by glad 0.1.28 on Tue Jan 15 14:49:19 2019. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: compatibility + Extensions: + + Loader: True + Local files: False + Omit khrplatform: False + Reproducible: False + + Commandline: + --profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --extensions="" + Online: + https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3 +*/ + + +#ifndef __glad_h_ +#define __glad_h_ + +#ifdef __gl_h_ +#error OpenGL header already included, remove this include, glad already provides it +#endif +#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 +#ifndef NOMINMAX +#define NOMINMAX 1 +#endif +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif + +#ifndef GLAPIENTRY +#define GLAPIENTRY APIENTRY +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct gladGLversionStruct { + int major; + int minor; +}; + +typedef void* (* GLADloadproc)(const char *name); + +#ifndef GLAPI +# if defined(GLAD_GLAPI_EXPORT) +# if defined(_WIN32) || defined(__CYGWIN__) +# if defined(GLAD_GLAPI_EXPORT_BUILD) +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllexport)) extern +# else +# define GLAPI __declspec(dllexport) extern +# endif +# else +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllimport)) extern +# else +# define GLAPI __declspec(dllimport) extern +# endif +# endif +# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD) +# define GLAPI __attribute__ ((visibility ("default"))) extern +# else +# define GLAPI extern +# endif +# else +# define GLAPI extern +# endif +#endif + +GLAPI struct gladGLversionStruct GLVersion; + +GLAPI int gladLoadGL(void); + +GLAPI int gladLoadGLLoader(GLADloadproc); + +#include +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef khronos_int8_t GLbyte; +typedef khronos_uint8_t GLubyte; +typedef khronos_int16_t GLshort; +typedef khronos_uint16_t GLushort; +typedef int GLint; +typedef unsigned int GLuint; +typedef khronos_int32_t GLclampx; +typedef int GLsizei; +typedef khronos_float_t GLfloat; +typedef khronos_float_t GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void *GLeglClientBufferEXT; +typedef void *GLeglImageOES; +typedef char GLchar; +typedef char GLcharARB; +#ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif +typedef khronos_uint16_t GLhalf; +typedef khronos_uint16_t GLhalfARB; +typedef khronos_int32_t GLfixed; +typedef khronos_intptr_t GLintptr; +typedef khronos_intptr_t GLintptrARB; +typedef khronos_ssize_t GLsizeiptr; +typedef khronos_ssize_t GLsizeiptrARB; +typedef khronos_int64_t GLint64; +typedef khronos_int64_t GLint64EXT; +typedef khronos_uint64_t GLuint64; +typedef khronos_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; +typedef void (APIENTRY *GLVULKANPROCNV)(void); +#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_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_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#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_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_REPEAT 0x2901 +#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_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_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_ALPHA_TEST 0x0BC0 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#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_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_TEXTURE_COMPONENTS 0x1003 +#define GL_TEXTURE_BORDER 0x1005 +#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_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 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#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_INTERNAL_FORMAT 0x1003 +#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_DOUBLE 0x140A +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#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_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF +#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_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 +#define GL_INDEX_LOGIC_OP 0x0BF1 +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B +#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_LUMINANCE_SIZE 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE 0x8061 +#define GL_TEXTURE_PRIORITY 0x8066 +#define GL_TEXTURE_RESIDENT 0x8067 +#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_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 +#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 +#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_BLEND_COLOR 0x8005 +#define GL_BLEND_EQUATION 0x8009 +#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_FUNC_ADD 0x8006 +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_FUNC_SUBTRACT 0x800A +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#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 +#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 +#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 +#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_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF +#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 +#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 +#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 +#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 +#ifndef GL_VERSION_1_0 +#define GL_VERSION_1_0 1 +GLAPI int GLAD_GL_VERSION_1_0; +typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode); +GLAPI PFNGLCULLFACEPROC glad_glCullFace; +#define glCullFace glad_glCullFace +typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode); +GLAPI PFNGLFRONTFACEPROC glad_glFrontFace; +#define glFrontFace glad_glFrontFace +typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode); +GLAPI PFNGLHINTPROC glad_glHint; +#define glHint glad_glHint +typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width); +GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth; +#define glLineWidth glad_glLineWidth +typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size); +GLAPI PFNGLPOINTSIZEPROC glad_glPointSize; +#define glPointSize glad_glPointSize +typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); +GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode; +#define glPolygonMode glad_glPolygonMode +typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLSCISSORPROC glad_glScissor; +#define glScissor glad_glScissor +typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); +GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +#define glTexParameterf glad_glTexParameterf +typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +#define glTexParameterfv glad_glTexParameterfv +typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); +GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +#define glTexParameteri glad_glTexParameteri +typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +#define glTexParameteriv glad_glTexParameteriv +typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +#define glTexImage1D glad_glTexImage1D +typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +#define glTexImage2D glad_glTexImage2D +typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf); +GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +#define glDrawBuffer glad_glDrawBuffer +typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask); +GLAPI PFNGLCLEARPROC glad_glClear; +#define glClear glad_glClear +typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCLEARCOLORPROC glad_glClearColor; +#define glClearColor glad_glClearColor +typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s); +GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil; +#define glClearStencil glad_glClearStencil +typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth); +GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth; +#define glClearDepth glad_glClearDepth +typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask); +GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask; +#define glStencilMask glad_glStencilMask +typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI PFNGLCOLORMASKPROC glad_glColorMask; +#define glColorMask glad_glColorMask +typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag); +GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask; +#define glDepthMask glad_glDepthMask +typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap); +GLAPI PFNGLDISABLEPROC glad_glDisable; +#define glDisable glad_glDisable +typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap); +GLAPI PFNGLENABLEPROC glad_glEnable; +#define glEnable glad_glEnable +typedef void (APIENTRYP PFNGLFINISHPROC)(void); +GLAPI PFNGLFINISHPROC glad_glFinish; +#define glFinish glad_glFinish +typedef void (APIENTRYP PFNGLFLUSHPROC)(void); +GLAPI PFNGLFLUSHPROC glad_glFlush; +#define glFlush glad_glFlush +typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); +GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc; +#define glBlendFunc glad_glBlendFunc +typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode); +GLAPI PFNGLLOGICOPPROC glad_glLogicOp; +#define glLogicOp glad_glLogicOp +typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc; +#define glStencilFunc glad_glStencilFunc +typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); +GLAPI PFNGLSTENCILOPPROC glad_glStencilOp; +#define glStencilOp glad_glStencilOp +typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func); +GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc; +#define glDepthFunc glad_glDepthFunc +typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref; +#define glPixelStoref glad_glPixelStoref +typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei; +#define glPixelStorei glad_glPixelStorei +typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src); +GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer; +#define glReadBuffer glad_glReadBuffer +typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLREADPIXELSPROC glad_glReadPixels; +#define glReadPixels glad_glReadPixels +typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data); +GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +#define glGetBooleanv glad_glGetBooleanv +typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data); +GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev; +#define glGetDoublev glad_glGetDoublev +typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(void); +GLAPI PFNGLGETERRORPROC glad_glGetError; +#define glGetError glad_glGetError +typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data); +GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv; +#define glGetFloatv glad_glGetFloatv +typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data); +GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv; +#define glGetIntegerv glad_glGetIntegerv +typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name); +GLAPI PFNGLGETSTRINGPROC glad_glGetString; +#define glGetString glad_glGetString +typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +#define glGetTexImage glad_glGetTexImage +typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +#define glGetTexParameterfv glad_glGetTexParameterfv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +#define glGetTexParameteriv glad_glGetTexParameteriv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv +typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap); +GLAPI PFNGLISENABLEDPROC glad_glIsEnabled; +#define glIsEnabled glad_glIsEnabled +typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble n, GLdouble f); +GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange; +#define glDepthRange glad_glDepthRange +typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLVIEWPORTPROC glad_glViewport; +#define glViewport glad_glViewport +typedef void (APIENTRYP PFNGLNEWLISTPROC)(GLuint list, GLenum mode); +GLAPI PFNGLNEWLISTPROC glad_glNewList; +#define glNewList glad_glNewList +typedef void (APIENTRYP PFNGLENDLISTPROC)(void); +GLAPI PFNGLENDLISTPROC glad_glEndList; +#define glEndList glad_glEndList +typedef void (APIENTRYP PFNGLCALLLISTPROC)(GLuint list); +GLAPI PFNGLCALLLISTPROC glad_glCallList; +#define glCallList glad_glCallList +typedef void (APIENTRYP PFNGLCALLLISTSPROC)(GLsizei n, GLenum type, const void *lists); +GLAPI PFNGLCALLLISTSPROC glad_glCallLists; +#define glCallLists glad_glCallLists +typedef void (APIENTRYP PFNGLDELETELISTSPROC)(GLuint list, GLsizei range); +GLAPI PFNGLDELETELISTSPROC glad_glDeleteLists; +#define glDeleteLists glad_glDeleteLists +typedef GLuint (APIENTRYP PFNGLGENLISTSPROC)(GLsizei range); +GLAPI PFNGLGENLISTSPROC glad_glGenLists; +#define glGenLists glad_glGenLists +typedef void (APIENTRYP PFNGLLISTBASEPROC)(GLuint base); +GLAPI PFNGLLISTBASEPROC glad_glListBase; +#define glListBase glad_glListBase +typedef void (APIENTRYP PFNGLBEGINPROC)(GLenum mode); +GLAPI PFNGLBEGINPROC glad_glBegin; +#define glBegin glad_glBegin +typedef void (APIENTRYP PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); +GLAPI PFNGLBITMAPPROC glad_glBitmap; +#define glBitmap glad_glBitmap +typedef void (APIENTRYP PFNGLCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI PFNGLCOLOR3BPROC glad_glColor3b; +#define glColor3b glad_glColor3b +typedef void (APIENTRYP PFNGLCOLOR3BVPROC)(const GLbyte *v); +GLAPI PFNGLCOLOR3BVPROC glad_glColor3bv; +#define glColor3bv glad_glColor3bv +typedef void (APIENTRYP PFNGLCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI PFNGLCOLOR3DPROC glad_glColor3d; +#define glColor3d glad_glColor3d +typedef void (APIENTRYP PFNGLCOLOR3DVPROC)(const GLdouble *v); +GLAPI PFNGLCOLOR3DVPROC glad_glColor3dv; +#define glColor3dv glad_glColor3dv +typedef void (APIENTRYP PFNGLCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI PFNGLCOLOR3FPROC glad_glColor3f; +#define glColor3f glad_glColor3f +typedef void (APIENTRYP PFNGLCOLOR3FVPROC)(const GLfloat *v); +GLAPI PFNGLCOLOR3FVPROC glad_glColor3fv; +#define glColor3fv glad_glColor3fv +typedef void (APIENTRYP PFNGLCOLOR3IPROC)(GLint red, GLint green, GLint blue); +GLAPI PFNGLCOLOR3IPROC glad_glColor3i; +#define glColor3i glad_glColor3i +typedef void (APIENTRYP PFNGLCOLOR3IVPROC)(const GLint *v); +GLAPI PFNGLCOLOR3IVPROC glad_glColor3iv; +#define glColor3iv glad_glColor3iv +typedef void (APIENTRYP PFNGLCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue); +GLAPI PFNGLCOLOR3SPROC glad_glColor3s; +#define glColor3s glad_glColor3s +typedef void (APIENTRYP PFNGLCOLOR3SVPROC)(const GLshort *v); +GLAPI PFNGLCOLOR3SVPROC glad_glColor3sv; +#define glColor3sv glad_glColor3sv +typedef void (APIENTRYP PFNGLCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI PFNGLCOLOR3UBPROC glad_glColor3ub; +#define glColor3ub glad_glColor3ub +typedef void (APIENTRYP PFNGLCOLOR3UBVPROC)(const GLubyte *v); +GLAPI PFNGLCOLOR3UBVPROC glad_glColor3ubv; +#define glColor3ubv glad_glColor3ubv +typedef void (APIENTRYP PFNGLCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue); +GLAPI PFNGLCOLOR3UIPROC glad_glColor3ui; +#define glColor3ui glad_glColor3ui +typedef void (APIENTRYP PFNGLCOLOR3UIVPROC)(const GLuint *v); +GLAPI PFNGLCOLOR3UIVPROC glad_glColor3uiv; +#define glColor3uiv glad_glColor3uiv +typedef void (APIENTRYP PFNGLCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue); +GLAPI PFNGLCOLOR3USPROC glad_glColor3us; +#define glColor3us glad_glColor3us +typedef void (APIENTRYP PFNGLCOLOR3USVPROC)(const GLushort *v); +GLAPI PFNGLCOLOR3USVPROC glad_glColor3usv; +#define glColor3usv glad_glColor3usv +typedef void (APIENTRYP PFNGLCOLOR4BPROC)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); +GLAPI PFNGLCOLOR4BPROC glad_glColor4b; +#define glColor4b glad_glColor4b +typedef void (APIENTRYP PFNGLCOLOR4BVPROC)(const GLbyte *v); +GLAPI PFNGLCOLOR4BVPROC glad_glColor4bv; +#define glColor4bv glad_glColor4bv +typedef void (APIENTRYP PFNGLCOLOR4DPROC)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); +GLAPI PFNGLCOLOR4DPROC glad_glColor4d; +#define glColor4d glad_glColor4d +typedef void (APIENTRYP PFNGLCOLOR4DVPROC)(const GLdouble *v); +GLAPI PFNGLCOLOR4DVPROC glad_glColor4dv; +#define glColor4dv glad_glColor4dv +typedef void (APIENTRYP PFNGLCOLOR4FPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCOLOR4FPROC glad_glColor4f; +#define glColor4f glad_glColor4f +typedef void (APIENTRYP PFNGLCOLOR4FVPROC)(const GLfloat *v); +GLAPI PFNGLCOLOR4FVPROC glad_glColor4fv; +#define glColor4fv glad_glColor4fv +typedef void (APIENTRYP PFNGLCOLOR4IPROC)(GLint red, GLint green, GLint blue, GLint alpha); +GLAPI PFNGLCOLOR4IPROC glad_glColor4i; +#define glColor4i glad_glColor4i +typedef void (APIENTRYP PFNGLCOLOR4IVPROC)(const GLint *v); +GLAPI PFNGLCOLOR4IVPROC glad_glColor4iv; +#define glColor4iv glad_glColor4iv +typedef void (APIENTRYP PFNGLCOLOR4SPROC)(GLshort red, GLshort green, GLshort blue, GLshort alpha); +GLAPI PFNGLCOLOR4SPROC glad_glColor4s; +#define glColor4s glad_glColor4s +typedef void (APIENTRYP PFNGLCOLOR4SVPROC)(const GLshort *v); +GLAPI PFNGLCOLOR4SVPROC glad_glColor4sv; +#define glColor4sv glad_glColor4sv +typedef void (APIENTRYP PFNGLCOLOR4UBPROC)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GLAPI PFNGLCOLOR4UBPROC glad_glColor4ub; +#define glColor4ub glad_glColor4ub +typedef void (APIENTRYP PFNGLCOLOR4UBVPROC)(const GLubyte *v); +GLAPI PFNGLCOLOR4UBVPROC glad_glColor4ubv; +#define glColor4ubv glad_glColor4ubv +typedef void (APIENTRYP PFNGLCOLOR4UIPROC)(GLuint red, GLuint green, GLuint blue, GLuint alpha); +GLAPI PFNGLCOLOR4UIPROC glad_glColor4ui; +#define glColor4ui glad_glColor4ui +typedef void (APIENTRYP PFNGLCOLOR4UIVPROC)(const GLuint *v); +GLAPI PFNGLCOLOR4UIVPROC glad_glColor4uiv; +#define glColor4uiv glad_glColor4uiv +typedef void (APIENTRYP PFNGLCOLOR4USPROC)(GLushort red, GLushort green, GLushort blue, GLushort alpha); +GLAPI PFNGLCOLOR4USPROC glad_glColor4us; +#define glColor4us glad_glColor4us +typedef void (APIENTRYP PFNGLCOLOR4USVPROC)(const GLushort *v); +GLAPI PFNGLCOLOR4USVPROC glad_glColor4usv; +#define glColor4usv glad_glColor4usv +typedef void (APIENTRYP PFNGLEDGEFLAGPROC)(GLboolean flag); +GLAPI PFNGLEDGEFLAGPROC glad_glEdgeFlag; +#define glEdgeFlag glad_glEdgeFlag +typedef void (APIENTRYP PFNGLEDGEFLAGVPROC)(const GLboolean *flag); +GLAPI PFNGLEDGEFLAGVPROC glad_glEdgeFlagv; +#define glEdgeFlagv glad_glEdgeFlagv +typedef void (APIENTRYP PFNGLENDPROC)(void); +GLAPI PFNGLENDPROC glad_glEnd; +#define glEnd glad_glEnd +typedef void (APIENTRYP PFNGLINDEXDPROC)(GLdouble c); +GLAPI PFNGLINDEXDPROC glad_glIndexd; +#define glIndexd glad_glIndexd +typedef void (APIENTRYP PFNGLINDEXDVPROC)(const GLdouble *c); +GLAPI PFNGLINDEXDVPROC glad_glIndexdv; +#define glIndexdv glad_glIndexdv +typedef void (APIENTRYP PFNGLINDEXFPROC)(GLfloat c); +GLAPI PFNGLINDEXFPROC glad_glIndexf; +#define glIndexf glad_glIndexf +typedef void (APIENTRYP PFNGLINDEXFVPROC)(const GLfloat *c); +GLAPI PFNGLINDEXFVPROC glad_glIndexfv; +#define glIndexfv glad_glIndexfv +typedef void (APIENTRYP PFNGLINDEXIPROC)(GLint c); +GLAPI PFNGLINDEXIPROC glad_glIndexi; +#define glIndexi glad_glIndexi +typedef void (APIENTRYP PFNGLINDEXIVPROC)(const GLint *c); +GLAPI PFNGLINDEXIVPROC glad_glIndexiv; +#define glIndexiv glad_glIndexiv +typedef void (APIENTRYP PFNGLINDEXSPROC)(GLshort c); +GLAPI PFNGLINDEXSPROC glad_glIndexs; +#define glIndexs glad_glIndexs +typedef void (APIENTRYP PFNGLINDEXSVPROC)(const GLshort *c); +GLAPI PFNGLINDEXSVPROC glad_glIndexsv; +#define glIndexsv glad_glIndexsv +typedef void (APIENTRYP PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz); +GLAPI PFNGLNORMAL3BPROC glad_glNormal3b; +#define glNormal3b glad_glNormal3b +typedef void (APIENTRYP PFNGLNORMAL3BVPROC)(const GLbyte *v); +GLAPI PFNGLNORMAL3BVPROC glad_glNormal3bv; +#define glNormal3bv glad_glNormal3bv +typedef void (APIENTRYP PFNGLNORMAL3DPROC)(GLdouble nx, GLdouble ny, GLdouble nz); +GLAPI PFNGLNORMAL3DPROC glad_glNormal3d; +#define glNormal3d glad_glNormal3d +typedef void (APIENTRYP PFNGLNORMAL3DVPROC)(const GLdouble *v); +GLAPI PFNGLNORMAL3DVPROC glad_glNormal3dv; +#define glNormal3dv glad_glNormal3dv +typedef void (APIENTRYP PFNGLNORMAL3FPROC)(GLfloat nx, GLfloat ny, GLfloat nz); +GLAPI PFNGLNORMAL3FPROC glad_glNormal3f; +#define glNormal3f glad_glNormal3f +typedef void (APIENTRYP PFNGLNORMAL3FVPROC)(const GLfloat *v); +GLAPI PFNGLNORMAL3FVPROC glad_glNormal3fv; +#define glNormal3fv glad_glNormal3fv +typedef void (APIENTRYP PFNGLNORMAL3IPROC)(GLint nx, GLint ny, GLint nz); +GLAPI PFNGLNORMAL3IPROC glad_glNormal3i; +#define glNormal3i glad_glNormal3i +typedef void (APIENTRYP PFNGLNORMAL3IVPROC)(const GLint *v); +GLAPI PFNGLNORMAL3IVPROC glad_glNormal3iv; +#define glNormal3iv glad_glNormal3iv +typedef void (APIENTRYP PFNGLNORMAL3SPROC)(GLshort nx, GLshort ny, GLshort nz); +GLAPI PFNGLNORMAL3SPROC glad_glNormal3s; +#define glNormal3s glad_glNormal3s +typedef void (APIENTRYP PFNGLNORMAL3SVPROC)(const GLshort *v); +GLAPI PFNGLNORMAL3SVPROC glad_glNormal3sv; +#define glNormal3sv glad_glNormal3sv +typedef void (APIENTRYP PFNGLRASTERPOS2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLRASTERPOS2DPROC glad_glRasterPos2d; +#define glRasterPos2d glad_glRasterPos2d +typedef void (APIENTRYP PFNGLRASTERPOS2DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv; +#define glRasterPos2dv glad_glRasterPos2dv +typedef void (APIENTRYP PFNGLRASTERPOS2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLRASTERPOS2FPROC glad_glRasterPos2f; +#define glRasterPos2f glad_glRasterPos2f +typedef void (APIENTRYP PFNGLRASTERPOS2FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv; +#define glRasterPos2fv glad_glRasterPos2fv +typedef void (APIENTRYP PFNGLRASTERPOS2IPROC)(GLint x, GLint y); +GLAPI PFNGLRASTERPOS2IPROC glad_glRasterPos2i; +#define glRasterPos2i glad_glRasterPos2i +typedef void (APIENTRYP PFNGLRASTERPOS2IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv; +#define glRasterPos2iv glad_glRasterPos2iv +typedef void (APIENTRYP PFNGLRASTERPOS2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLRASTERPOS2SPROC glad_glRasterPos2s; +#define glRasterPos2s glad_glRasterPos2s +typedef void (APIENTRYP PFNGLRASTERPOS2SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv; +#define glRasterPos2sv glad_glRasterPos2sv +typedef void (APIENTRYP PFNGLRASTERPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLRASTERPOS3DPROC glad_glRasterPos3d; +#define glRasterPos3d glad_glRasterPos3d +typedef void (APIENTRYP PFNGLRASTERPOS3DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv; +#define glRasterPos3dv glad_glRasterPos3dv +typedef void (APIENTRYP PFNGLRASTERPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLRASTERPOS3FPROC glad_glRasterPos3f; +#define glRasterPos3f glad_glRasterPos3f +typedef void (APIENTRYP PFNGLRASTERPOS3FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv; +#define glRasterPos3fv glad_glRasterPos3fv +typedef void (APIENTRYP PFNGLRASTERPOS3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLRASTERPOS3IPROC glad_glRasterPos3i; +#define glRasterPos3i glad_glRasterPos3i +typedef void (APIENTRYP PFNGLRASTERPOS3IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv; +#define glRasterPos3iv glad_glRasterPos3iv +typedef void (APIENTRYP PFNGLRASTERPOS3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLRASTERPOS3SPROC glad_glRasterPos3s; +#define glRasterPos3s glad_glRasterPos3s +typedef void (APIENTRYP PFNGLRASTERPOS3SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv; +#define glRasterPos3sv glad_glRasterPos3sv +typedef void (APIENTRYP PFNGLRASTERPOS4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLRASTERPOS4DPROC glad_glRasterPos4d; +#define glRasterPos4d glad_glRasterPos4d +typedef void (APIENTRYP PFNGLRASTERPOS4DVPROC)(const GLdouble *v); +GLAPI PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv; +#define glRasterPos4dv glad_glRasterPos4dv +typedef void (APIENTRYP PFNGLRASTERPOS4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLRASTERPOS4FPROC glad_glRasterPos4f; +#define glRasterPos4f glad_glRasterPos4f +typedef void (APIENTRYP PFNGLRASTERPOS4FVPROC)(const GLfloat *v); +GLAPI PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv; +#define glRasterPos4fv glad_glRasterPos4fv +typedef void (APIENTRYP PFNGLRASTERPOS4IPROC)(GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLRASTERPOS4IPROC glad_glRasterPos4i; +#define glRasterPos4i glad_glRasterPos4i +typedef void (APIENTRYP PFNGLRASTERPOS4IVPROC)(const GLint *v); +GLAPI PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv; +#define glRasterPos4iv glad_glRasterPos4iv +typedef void (APIENTRYP PFNGLRASTERPOS4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLRASTERPOS4SPROC glad_glRasterPos4s; +#define glRasterPos4s glad_glRasterPos4s +typedef void (APIENTRYP PFNGLRASTERPOS4SVPROC)(const GLshort *v); +GLAPI PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv; +#define glRasterPos4sv glad_glRasterPos4sv +typedef void (APIENTRYP PFNGLRECTDPROC)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +GLAPI PFNGLRECTDPROC glad_glRectd; +#define glRectd glad_glRectd +typedef void (APIENTRYP PFNGLRECTDVPROC)(const GLdouble *v1, const GLdouble *v2); +GLAPI PFNGLRECTDVPROC glad_glRectdv; +#define glRectdv glad_glRectdv +typedef void (APIENTRYP PFNGLRECTFPROC)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); +GLAPI PFNGLRECTFPROC glad_glRectf; +#define glRectf glad_glRectf +typedef void (APIENTRYP PFNGLRECTFVPROC)(const GLfloat *v1, const GLfloat *v2); +GLAPI PFNGLRECTFVPROC glad_glRectfv; +#define glRectfv glad_glRectfv +typedef void (APIENTRYP PFNGLRECTIPROC)(GLint x1, GLint y1, GLint x2, GLint y2); +GLAPI PFNGLRECTIPROC glad_glRecti; +#define glRecti glad_glRecti +typedef void (APIENTRYP PFNGLRECTIVPROC)(const GLint *v1, const GLint *v2); +GLAPI PFNGLRECTIVPROC glad_glRectiv; +#define glRectiv glad_glRectiv +typedef void (APIENTRYP PFNGLRECTSPROC)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); +GLAPI PFNGLRECTSPROC glad_glRects; +#define glRects glad_glRects +typedef void (APIENTRYP PFNGLRECTSVPROC)(const GLshort *v1, const GLshort *v2); +GLAPI PFNGLRECTSVPROC glad_glRectsv; +#define glRectsv glad_glRectsv +typedef void (APIENTRYP PFNGLTEXCOORD1DPROC)(GLdouble s); +GLAPI PFNGLTEXCOORD1DPROC glad_glTexCoord1d; +#define glTexCoord1d glad_glTexCoord1d +typedef void (APIENTRYP PFNGLTEXCOORD1DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv; +#define glTexCoord1dv glad_glTexCoord1dv +typedef void (APIENTRYP PFNGLTEXCOORD1FPROC)(GLfloat s); +GLAPI PFNGLTEXCOORD1FPROC glad_glTexCoord1f; +#define glTexCoord1f glad_glTexCoord1f +typedef void (APIENTRYP PFNGLTEXCOORD1FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv; +#define glTexCoord1fv glad_glTexCoord1fv +typedef void (APIENTRYP PFNGLTEXCOORD1IPROC)(GLint s); +GLAPI PFNGLTEXCOORD1IPROC glad_glTexCoord1i; +#define glTexCoord1i glad_glTexCoord1i +typedef void (APIENTRYP PFNGLTEXCOORD1IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv; +#define glTexCoord1iv glad_glTexCoord1iv +typedef void (APIENTRYP PFNGLTEXCOORD1SPROC)(GLshort s); +GLAPI PFNGLTEXCOORD1SPROC glad_glTexCoord1s; +#define glTexCoord1s glad_glTexCoord1s +typedef void (APIENTRYP PFNGLTEXCOORD1SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv; +#define glTexCoord1sv glad_glTexCoord1sv +typedef void (APIENTRYP PFNGLTEXCOORD2DPROC)(GLdouble s, GLdouble t); +GLAPI PFNGLTEXCOORD2DPROC glad_glTexCoord2d; +#define glTexCoord2d glad_glTexCoord2d +typedef void (APIENTRYP PFNGLTEXCOORD2DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv; +#define glTexCoord2dv glad_glTexCoord2dv +typedef void (APIENTRYP PFNGLTEXCOORD2FPROC)(GLfloat s, GLfloat t); +GLAPI PFNGLTEXCOORD2FPROC glad_glTexCoord2f; +#define glTexCoord2f glad_glTexCoord2f +typedef void (APIENTRYP PFNGLTEXCOORD2FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv; +#define glTexCoord2fv glad_glTexCoord2fv +typedef void (APIENTRYP PFNGLTEXCOORD2IPROC)(GLint s, GLint t); +GLAPI PFNGLTEXCOORD2IPROC glad_glTexCoord2i; +#define glTexCoord2i glad_glTexCoord2i +typedef void (APIENTRYP PFNGLTEXCOORD2IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv; +#define glTexCoord2iv glad_glTexCoord2iv +typedef void (APIENTRYP PFNGLTEXCOORD2SPROC)(GLshort s, GLshort t); +GLAPI PFNGLTEXCOORD2SPROC glad_glTexCoord2s; +#define glTexCoord2s glad_glTexCoord2s +typedef void (APIENTRYP PFNGLTEXCOORD2SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv; +#define glTexCoord2sv glad_glTexCoord2sv +typedef void (APIENTRYP PFNGLTEXCOORD3DPROC)(GLdouble s, GLdouble t, GLdouble r); +GLAPI PFNGLTEXCOORD3DPROC glad_glTexCoord3d; +#define glTexCoord3d glad_glTexCoord3d +typedef void (APIENTRYP PFNGLTEXCOORD3DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv; +#define glTexCoord3dv glad_glTexCoord3dv +typedef void (APIENTRYP PFNGLTEXCOORD3FPROC)(GLfloat s, GLfloat t, GLfloat r); +GLAPI PFNGLTEXCOORD3FPROC glad_glTexCoord3f; +#define glTexCoord3f glad_glTexCoord3f +typedef void (APIENTRYP PFNGLTEXCOORD3FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv; +#define glTexCoord3fv glad_glTexCoord3fv +typedef void (APIENTRYP PFNGLTEXCOORD3IPROC)(GLint s, GLint t, GLint r); +GLAPI PFNGLTEXCOORD3IPROC glad_glTexCoord3i; +#define glTexCoord3i glad_glTexCoord3i +typedef void (APIENTRYP PFNGLTEXCOORD3IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv; +#define glTexCoord3iv glad_glTexCoord3iv +typedef void (APIENTRYP PFNGLTEXCOORD3SPROC)(GLshort s, GLshort t, GLshort r); +GLAPI PFNGLTEXCOORD3SPROC glad_glTexCoord3s; +#define glTexCoord3s glad_glTexCoord3s +typedef void (APIENTRYP PFNGLTEXCOORD3SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv; +#define glTexCoord3sv glad_glTexCoord3sv +typedef void (APIENTRYP PFNGLTEXCOORD4DPROC)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI PFNGLTEXCOORD4DPROC glad_glTexCoord4d; +#define glTexCoord4d glad_glTexCoord4d +typedef void (APIENTRYP PFNGLTEXCOORD4DVPROC)(const GLdouble *v); +GLAPI PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv; +#define glTexCoord4dv glad_glTexCoord4dv +typedef void (APIENTRYP PFNGLTEXCOORD4FPROC)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI PFNGLTEXCOORD4FPROC glad_glTexCoord4f; +#define glTexCoord4f glad_glTexCoord4f +typedef void (APIENTRYP PFNGLTEXCOORD4FVPROC)(const GLfloat *v); +GLAPI PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv; +#define glTexCoord4fv glad_glTexCoord4fv +typedef void (APIENTRYP PFNGLTEXCOORD4IPROC)(GLint s, GLint t, GLint r, GLint q); +GLAPI PFNGLTEXCOORD4IPROC glad_glTexCoord4i; +#define glTexCoord4i glad_glTexCoord4i +typedef void (APIENTRYP PFNGLTEXCOORD4IVPROC)(const GLint *v); +GLAPI PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv; +#define glTexCoord4iv glad_glTexCoord4iv +typedef void (APIENTRYP PFNGLTEXCOORD4SPROC)(GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI PFNGLTEXCOORD4SPROC glad_glTexCoord4s; +#define glTexCoord4s glad_glTexCoord4s +typedef void (APIENTRYP PFNGLTEXCOORD4SVPROC)(const GLshort *v); +GLAPI PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv; +#define glTexCoord4sv glad_glTexCoord4sv +typedef void (APIENTRYP PFNGLVERTEX2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLVERTEX2DPROC glad_glVertex2d; +#define glVertex2d glad_glVertex2d +typedef void (APIENTRYP PFNGLVERTEX2DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX2DVPROC glad_glVertex2dv; +#define glVertex2dv glad_glVertex2dv +typedef void (APIENTRYP PFNGLVERTEX2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLVERTEX2FPROC glad_glVertex2f; +#define glVertex2f glad_glVertex2f +typedef void (APIENTRYP PFNGLVERTEX2FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX2FVPROC glad_glVertex2fv; +#define glVertex2fv glad_glVertex2fv +typedef void (APIENTRYP PFNGLVERTEX2IPROC)(GLint x, GLint y); +GLAPI PFNGLVERTEX2IPROC glad_glVertex2i; +#define glVertex2i glad_glVertex2i +typedef void (APIENTRYP PFNGLVERTEX2IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX2IVPROC glad_glVertex2iv; +#define glVertex2iv glad_glVertex2iv +typedef void (APIENTRYP PFNGLVERTEX2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLVERTEX2SPROC glad_glVertex2s; +#define glVertex2s glad_glVertex2s +typedef void (APIENTRYP PFNGLVERTEX2SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX2SVPROC glad_glVertex2sv; +#define glVertex2sv glad_glVertex2sv +typedef void (APIENTRYP PFNGLVERTEX3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLVERTEX3DPROC glad_glVertex3d; +#define glVertex3d glad_glVertex3d +typedef void (APIENTRYP PFNGLVERTEX3DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX3DVPROC glad_glVertex3dv; +#define glVertex3dv glad_glVertex3dv +typedef void (APIENTRYP PFNGLVERTEX3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLVERTEX3FPROC glad_glVertex3f; +#define glVertex3f glad_glVertex3f +typedef void (APIENTRYP PFNGLVERTEX3FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX3FVPROC glad_glVertex3fv; +#define glVertex3fv glad_glVertex3fv +typedef void (APIENTRYP PFNGLVERTEX3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLVERTEX3IPROC glad_glVertex3i; +#define glVertex3i glad_glVertex3i +typedef void (APIENTRYP PFNGLVERTEX3IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX3IVPROC glad_glVertex3iv; +#define glVertex3iv glad_glVertex3iv +typedef void (APIENTRYP PFNGLVERTEX3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLVERTEX3SPROC glad_glVertex3s; +#define glVertex3s glad_glVertex3s +typedef void (APIENTRYP PFNGLVERTEX3SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX3SVPROC glad_glVertex3sv; +#define glVertex3sv glad_glVertex3sv +typedef void (APIENTRYP PFNGLVERTEX4DPROC)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLVERTEX4DPROC glad_glVertex4d; +#define glVertex4d glad_glVertex4d +typedef void (APIENTRYP PFNGLVERTEX4DVPROC)(const GLdouble *v); +GLAPI PFNGLVERTEX4DVPROC glad_glVertex4dv; +#define glVertex4dv glad_glVertex4dv +typedef void (APIENTRYP PFNGLVERTEX4FPROC)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLVERTEX4FPROC glad_glVertex4f; +#define glVertex4f glad_glVertex4f +typedef void (APIENTRYP PFNGLVERTEX4FVPROC)(const GLfloat *v); +GLAPI PFNGLVERTEX4FVPROC glad_glVertex4fv; +#define glVertex4fv glad_glVertex4fv +typedef void (APIENTRYP PFNGLVERTEX4IPROC)(GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLVERTEX4IPROC glad_glVertex4i; +#define glVertex4i glad_glVertex4i +typedef void (APIENTRYP PFNGLVERTEX4IVPROC)(const GLint *v); +GLAPI PFNGLVERTEX4IVPROC glad_glVertex4iv; +#define glVertex4iv glad_glVertex4iv +typedef void (APIENTRYP PFNGLVERTEX4SPROC)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLVERTEX4SPROC glad_glVertex4s; +#define glVertex4s glad_glVertex4s +typedef void (APIENTRYP PFNGLVERTEX4SVPROC)(const GLshort *v); +GLAPI PFNGLVERTEX4SVPROC glad_glVertex4sv; +#define glVertex4sv glad_glVertex4sv +typedef void (APIENTRYP PFNGLCLIPPLANEPROC)(GLenum plane, const GLdouble *equation); +GLAPI PFNGLCLIPPLANEPROC glad_glClipPlane; +#define glClipPlane glad_glClipPlane +typedef void (APIENTRYP PFNGLCOLORMATERIALPROC)(GLenum face, GLenum mode); +GLAPI PFNGLCOLORMATERIALPROC glad_glColorMaterial; +#define glColorMaterial glad_glColorMaterial +typedef void (APIENTRYP PFNGLFOGFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLFOGFPROC glad_glFogf; +#define glFogf glad_glFogf +typedef void (APIENTRYP PFNGLFOGFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLFOGFVPROC glad_glFogfv; +#define glFogfv glad_glFogfv +typedef void (APIENTRYP PFNGLFOGIPROC)(GLenum pname, GLint param); +GLAPI PFNGLFOGIPROC glad_glFogi; +#define glFogi glad_glFogi +typedef void (APIENTRYP PFNGLFOGIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLFOGIVPROC glad_glFogiv; +#define glFogiv glad_glFogiv +typedef void (APIENTRYP PFNGLLIGHTFPROC)(GLenum light, GLenum pname, GLfloat param); +GLAPI PFNGLLIGHTFPROC glad_glLightf; +#define glLightf glad_glLightf +typedef void (APIENTRYP PFNGLLIGHTFVPROC)(GLenum light, GLenum pname, const GLfloat *params); +GLAPI PFNGLLIGHTFVPROC glad_glLightfv; +#define glLightfv glad_glLightfv +typedef void (APIENTRYP PFNGLLIGHTIPROC)(GLenum light, GLenum pname, GLint param); +GLAPI PFNGLLIGHTIPROC glad_glLighti; +#define glLighti glad_glLighti +typedef void (APIENTRYP PFNGLLIGHTIVPROC)(GLenum light, GLenum pname, const GLint *params); +GLAPI PFNGLLIGHTIVPROC glad_glLightiv; +#define glLightiv glad_glLightiv +typedef void (APIENTRYP PFNGLLIGHTMODELFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLLIGHTMODELFPROC glad_glLightModelf; +#define glLightModelf glad_glLightModelf +typedef void (APIENTRYP PFNGLLIGHTMODELFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLLIGHTMODELFVPROC glad_glLightModelfv; +#define glLightModelfv glad_glLightModelfv +typedef void (APIENTRYP PFNGLLIGHTMODELIPROC)(GLenum pname, GLint param); +GLAPI PFNGLLIGHTMODELIPROC glad_glLightModeli; +#define glLightModeli glad_glLightModeli +typedef void (APIENTRYP PFNGLLIGHTMODELIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLLIGHTMODELIVPROC glad_glLightModeliv; +#define glLightModeliv glad_glLightModeliv +typedef void (APIENTRYP PFNGLLINESTIPPLEPROC)(GLint factor, GLushort pattern); +GLAPI PFNGLLINESTIPPLEPROC glad_glLineStipple; +#define glLineStipple glad_glLineStipple +typedef void (APIENTRYP PFNGLMATERIALFPROC)(GLenum face, GLenum pname, GLfloat param); +GLAPI PFNGLMATERIALFPROC glad_glMaterialf; +#define glMaterialf glad_glMaterialf +typedef void (APIENTRYP PFNGLMATERIALFVPROC)(GLenum face, GLenum pname, const GLfloat *params); +GLAPI PFNGLMATERIALFVPROC glad_glMaterialfv; +#define glMaterialfv glad_glMaterialfv +typedef void (APIENTRYP PFNGLMATERIALIPROC)(GLenum face, GLenum pname, GLint param); +GLAPI PFNGLMATERIALIPROC glad_glMateriali; +#define glMateriali glad_glMateriali +typedef void (APIENTRYP PFNGLMATERIALIVPROC)(GLenum face, GLenum pname, const GLint *params); +GLAPI PFNGLMATERIALIVPROC glad_glMaterialiv; +#define glMaterialiv glad_glMaterialiv +typedef void (APIENTRYP PFNGLPOLYGONSTIPPLEPROC)(const GLubyte *mask); +GLAPI PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple; +#define glPolygonStipple glad_glPolygonStipple +typedef void (APIENTRYP PFNGLSHADEMODELPROC)(GLenum mode); +GLAPI PFNGLSHADEMODELPROC glad_glShadeModel; +#define glShadeModel glad_glShadeModel +typedef void (APIENTRYP PFNGLTEXENVFPROC)(GLenum target, GLenum pname, GLfloat param); +GLAPI PFNGLTEXENVFPROC glad_glTexEnvf; +#define glTexEnvf glad_glTexEnvf +typedef void (APIENTRYP PFNGLTEXENVFVPROC)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXENVFVPROC glad_glTexEnvfv; +#define glTexEnvfv glad_glTexEnvfv +typedef void (APIENTRYP PFNGLTEXENVIPROC)(GLenum target, GLenum pname, GLint param); +GLAPI PFNGLTEXENVIPROC glad_glTexEnvi; +#define glTexEnvi glad_glTexEnvi +typedef void (APIENTRYP PFNGLTEXENVIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXENVIVPROC glad_glTexEnviv; +#define glTexEnviv glad_glTexEnviv +typedef void (APIENTRYP PFNGLTEXGENDPROC)(GLenum coord, GLenum pname, GLdouble param); +GLAPI PFNGLTEXGENDPROC glad_glTexGend; +#define glTexGend glad_glTexGend +typedef void (APIENTRYP PFNGLTEXGENDVPROC)(GLenum coord, GLenum pname, const GLdouble *params); +GLAPI PFNGLTEXGENDVPROC glad_glTexGendv; +#define glTexGendv glad_glTexGendv +typedef void (APIENTRYP PFNGLTEXGENFPROC)(GLenum coord, GLenum pname, GLfloat param); +GLAPI PFNGLTEXGENFPROC glad_glTexGenf; +#define glTexGenf glad_glTexGenf +typedef void (APIENTRYP PFNGLTEXGENFVPROC)(GLenum coord, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXGENFVPROC glad_glTexGenfv; +#define glTexGenfv glad_glTexGenfv +typedef void (APIENTRYP PFNGLTEXGENIPROC)(GLenum coord, GLenum pname, GLint param); +GLAPI PFNGLTEXGENIPROC glad_glTexGeni; +#define glTexGeni glad_glTexGeni +typedef void (APIENTRYP PFNGLTEXGENIVPROC)(GLenum coord, GLenum pname, const GLint *params); +GLAPI PFNGLTEXGENIVPROC glad_glTexGeniv; +#define glTexGeniv glad_glTexGeniv +typedef void (APIENTRYP PFNGLFEEDBACKBUFFERPROC)(GLsizei size, GLenum type, GLfloat *buffer); +GLAPI PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer; +#define glFeedbackBuffer glad_glFeedbackBuffer +typedef void (APIENTRYP PFNGLSELECTBUFFERPROC)(GLsizei size, GLuint *buffer); +GLAPI PFNGLSELECTBUFFERPROC glad_glSelectBuffer; +#define glSelectBuffer glad_glSelectBuffer +typedef GLint (APIENTRYP PFNGLRENDERMODEPROC)(GLenum mode); +GLAPI PFNGLRENDERMODEPROC glad_glRenderMode; +#define glRenderMode glad_glRenderMode +typedef void (APIENTRYP PFNGLINITNAMESPROC)(void); +GLAPI PFNGLINITNAMESPROC glad_glInitNames; +#define glInitNames glad_glInitNames +typedef void (APIENTRYP PFNGLLOADNAMEPROC)(GLuint name); +GLAPI PFNGLLOADNAMEPROC glad_glLoadName; +#define glLoadName glad_glLoadName +typedef void (APIENTRYP PFNGLPASSTHROUGHPROC)(GLfloat token); +GLAPI PFNGLPASSTHROUGHPROC glad_glPassThrough; +#define glPassThrough glad_glPassThrough +typedef void (APIENTRYP PFNGLPOPNAMEPROC)(void); +GLAPI PFNGLPOPNAMEPROC glad_glPopName; +#define glPopName glad_glPopName +typedef void (APIENTRYP PFNGLPUSHNAMEPROC)(GLuint name); +GLAPI PFNGLPUSHNAMEPROC glad_glPushName; +#define glPushName glad_glPushName +typedef void (APIENTRYP PFNGLCLEARACCUMPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCLEARACCUMPROC glad_glClearAccum; +#define glClearAccum glad_glClearAccum +typedef void (APIENTRYP PFNGLCLEARINDEXPROC)(GLfloat c); +GLAPI PFNGLCLEARINDEXPROC glad_glClearIndex; +#define glClearIndex glad_glClearIndex +typedef void (APIENTRYP PFNGLINDEXMASKPROC)(GLuint mask); +GLAPI PFNGLINDEXMASKPROC glad_glIndexMask; +#define glIndexMask glad_glIndexMask +typedef void (APIENTRYP PFNGLACCUMPROC)(GLenum op, GLfloat value); +GLAPI PFNGLACCUMPROC glad_glAccum; +#define glAccum glad_glAccum +typedef void (APIENTRYP PFNGLPOPATTRIBPROC)(void); +GLAPI PFNGLPOPATTRIBPROC glad_glPopAttrib; +#define glPopAttrib glad_glPopAttrib +typedef void (APIENTRYP PFNGLPUSHATTRIBPROC)(GLbitfield mask); +GLAPI PFNGLPUSHATTRIBPROC glad_glPushAttrib; +#define glPushAttrib glad_glPushAttrib +typedef void (APIENTRYP PFNGLMAP1DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +GLAPI PFNGLMAP1DPROC glad_glMap1d; +#define glMap1d glad_glMap1d +typedef void (APIENTRYP PFNGLMAP1FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +GLAPI PFNGLMAP1FPROC glad_glMap1f; +#define glMap1f glad_glMap1f +typedef void (APIENTRYP PFNGLMAP2DPROC)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); +GLAPI PFNGLMAP2DPROC glad_glMap2d; +#define glMap2d glad_glMap2d +typedef void (APIENTRYP PFNGLMAP2FPROC)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); +GLAPI PFNGLMAP2FPROC glad_glMap2f; +#define glMap2f glad_glMap2f +typedef void (APIENTRYP PFNGLMAPGRID1DPROC)(GLint un, GLdouble u1, GLdouble u2); +GLAPI PFNGLMAPGRID1DPROC glad_glMapGrid1d; +#define glMapGrid1d glad_glMapGrid1d +typedef void (APIENTRYP PFNGLMAPGRID1FPROC)(GLint un, GLfloat u1, GLfloat u2); +GLAPI PFNGLMAPGRID1FPROC glad_glMapGrid1f; +#define glMapGrid1f glad_glMapGrid1f +typedef void (APIENTRYP PFNGLMAPGRID2DPROC)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); +GLAPI PFNGLMAPGRID2DPROC glad_glMapGrid2d; +#define glMapGrid2d glad_glMapGrid2d +typedef void (APIENTRYP PFNGLMAPGRID2FPROC)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); +GLAPI PFNGLMAPGRID2FPROC glad_glMapGrid2f; +#define glMapGrid2f glad_glMapGrid2f +typedef void (APIENTRYP PFNGLEVALCOORD1DPROC)(GLdouble u); +GLAPI PFNGLEVALCOORD1DPROC glad_glEvalCoord1d; +#define glEvalCoord1d glad_glEvalCoord1d +typedef void (APIENTRYP PFNGLEVALCOORD1DVPROC)(const GLdouble *u); +GLAPI PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv; +#define glEvalCoord1dv glad_glEvalCoord1dv +typedef void (APIENTRYP PFNGLEVALCOORD1FPROC)(GLfloat u); +GLAPI PFNGLEVALCOORD1FPROC glad_glEvalCoord1f; +#define glEvalCoord1f glad_glEvalCoord1f +typedef void (APIENTRYP PFNGLEVALCOORD1FVPROC)(const GLfloat *u); +GLAPI PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv; +#define glEvalCoord1fv glad_glEvalCoord1fv +typedef void (APIENTRYP PFNGLEVALCOORD2DPROC)(GLdouble u, GLdouble v); +GLAPI PFNGLEVALCOORD2DPROC glad_glEvalCoord2d; +#define glEvalCoord2d glad_glEvalCoord2d +typedef void (APIENTRYP PFNGLEVALCOORD2DVPROC)(const GLdouble *u); +GLAPI PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv; +#define glEvalCoord2dv glad_glEvalCoord2dv +typedef void (APIENTRYP PFNGLEVALCOORD2FPROC)(GLfloat u, GLfloat v); +GLAPI PFNGLEVALCOORD2FPROC glad_glEvalCoord2f; +#define glEvalCoord2f glad_glEvalCoord2f +typedef void (APIENTRYP PFNGLEVALCOORD2FVPROC)(const GLfloat *u); +GLAPI PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv; +#define glEvalCoord2fv glad_glEvalCoord2fv +typedef void (APIENTRYP PFNGLEVALMESH1PROC)(GLenum mode, GLint i1, GLint i2); +GLAPI PFNGLEVALMESH1PROC glad_glEvalMesh1; +#define glEvalMesh1 glad_glEvalMesh1 +typedef void (APIENTRYP PFNGLEVALPOINT1PROC)(GLint i); +GLAPI PFNGLEVALPOINT1PROC glad_glEvalPoint1; +#define glEvalPoint1 glad_glEvalPoint1 +typedef void (APIENTRYP PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); +GLAPI PFNGLEVALMESH2PROC glad_glEvalMesh2; +#define glEvalMesh2 glad_glEvalMesh2 +typedef void (APIENTRYP PFNGLEVALPOINT2PROC)(GLint i, GLint j); +GLAPI PFNGLEVALPOINT2PROC glad_glEvalPoint2; +#define glEvalPoint2 glad_glEvalPoint2 +typedef void (APIENTRYP PFNGLALPHAFUNCPROC)(GLenum func, GLfloat ref); +GLAPI PFNGLALPHAFUNCPROC glad_glAlphaFunc; +#define glAlphaFunc glad_glAlphaFunc +typedef void (APIENTRYP PFNGLPIXELZOOMPROC)(GLfloat xfactor, GLfloat yfactor); +GLAPI PFNGLPIXELZOOMPROC glad_glPixelZoom; +#define glPixelZoom glad_glPixelZoom +typedef void (APIENTRYP PFNGLPIXELTRANSFERFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf; +#define glPixelTransferf glad_glPixelTransferf +typedef void (APIENTRYP PFNGLPIXELTRANSFERIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi; +#define glPixelTransferi glad_glPixelTransferi +typedef void (APIENTRYP PFNGLPIXELMAPFVPROC)(GLenum map, GLsizei mapsize, const GLfloat *values); +GLAPI PFNGLPIXELMAPFVPROC glad_glPixelMapfv; +#define glPixelMapfv glad_glPixelMapfv +typedef void (APIENTRYP PFNGLPIXELMAPUIVPROC)(GLenum map, GLsizei mapsize, const GLuint *values); +GLAPI PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv; +#define glPixelMapuiv glad_glPixelMapuiv +typedef void (APIENTRYP PFNGLPIXELMAPUSVPROC)(GLenum map, GLsizei mapsize, const GLushort *values); +GLAPI PFNGLPIXELMAPUSVPROC glad_glPixelMapusv; +#define glPixelMapusv glad_glPixelMapusv +typedef void (APIENTRYP PFNGLCOPYPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); +GLAPI PFNGLCOPYPIXELSPROC glad_glCopyPixels; +#define glCopyPixels glad_glCopyPixels +typedef void (APIENTRYP PFNGLDRAWPIXELSPROC)(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLDRAWPIXELSPROC glad_glDrawPixels; +#define glDrawPixels glad_glDrawPixels +typedef void (APIENTRYP PFNGLGETCLIPPLANEPROC)(GLenum plane, GLdouble *equation); +GLAPI PFNGLGETCLIPPLANEPROC glad_glGetClipPlane; +#define glGetClipPlane glad_glGetClipPlane +typedef void (APIENTRYP PFNGLGETLIGHTFVPROC)(GLenum light, GLenum pname, GLfloat *params); +GLAPI PFNGLGETLIGHTFVPROC glad_glGetLightfv; +#define glGetLightfv glad_glGetLightfv +typedef void (APIENTRYP PFNGLGETLIGHTIVPROC)(GLenum light, GLenum pname, GLint *params); +GLAPI PFNGLGETLIGHTIVPROC glad_glGetLightiv; +#define glGetLightiv glad_glGetLightiv +typedef void (APIENTRYP PFNGLGETMAPDVPROC)(GLenum target, GLenum query, GLdouble *v); +GLAPI PFNGLGETMAPDVPROC glad_glGetMapdv; +#define glGetMapdv glad_glGetMapdv +typedef void (APIENTRYP PFNGLGETMAPFVPROC)(GLenum target, GLenum query, GLfloat *v); +GLAPI PFNGLGETMAPFVPROC glad_glGetMapfv; +#define glGetMapfv glad_glGetMapfv +typedef void (APIENTRYP PFNGLGETMAPIVPROC)(GLenum target, GLenum query, GLint *v); +GLAPI PFNGLGETMAPIVPROC glad_glGetMapiv; +#define glGetMapiv glad_glGetMapiv +typedef void (APIENTRYP PFNGLGETMATERIALFVPROC)(GLenum face, GLenum pname, GLfloat *params); +GLAPI PFNGLGETMATERIALFVPROC glad_glGetMaterialfv; +#define glGetMaterialfv glad_glGetMaterialfv +typedef void (APIENTRYP PFNGLGETMATERIALIVPROC)(GLenum face, GLenum pname, GLint *params); +GLAPI PFNGLGETMATERIALIVPROC glad_glGetMaterialiv; +#define glGetMaterialiv glad_glGetMaterialiv +typedef void (APIENTRYP PFNGLGETPIXELMAPFVPROC)(GLenum map, GLfloat *values); +GLAPI PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv; +#define glGetPixelMapfv glad_glGetPixelMapfv +typedef void (APIENTRYP PFNGLGETPIXELMAPUIVPROC)(GLenum map, GLuint *values); +GLAPI PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv; +#define glGetPixelMapuiv glad_glGetPixelMapuiv +typedef void (APIENTRYP PFNGLGETPIXELMAPUSVPROC)(GLenum map, GLushort *values); +GLAPI PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv; +#define glGetPixelMapusv glad_glGetPixelMapusv +typedef void (APIENTRYP PFNGLGETPOLYGONSTIPPLEPROC)(GLubyte *mask); +GLAPI PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple; +#define glGetPolygonStipple glad_glGetPolygonStipple +typedef void (APIENTRYP PFNGLGETTEXENVFVPROC)(GLenum target, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv; +#define glGetTexEnvfv glad_glGetTexEnvfv +typedef void (APIENTRYP PFNGLGETTEXENVIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXENVIVPROC glad_glGetTexEnviv; +#define glGetTexEnviv glad_glGetTexEnviv +typedef void (APIENTRYP PFNGLGETTEXGENDVPROC)(GLenum coord, GLenum pname, GLdouble *params); +GLAPI PFNGLGETTEXGENDVPROC glad_glGetTexGendv; +#define glGetTexGendv glad_glGetTexGendv +typedef void (APIENTRYP PFNGLGETTEXGENFVPROC)(GLenum coord, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXGENFVPROC glad_glGetTexGenfv; +#define glGetTexGenfv glad_glGetTexGenfv +typedef void (APIENTRYP PFNGLGETTEXGENIVPROC)(GLenum coord, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXGENIVPROC glad_glGetTexGeniv; +#define glGetTexGeniv glad_glGetTexGeniv +typedef GLboolean (APIENTRYP PFNGLISLISTPROC)(GLuint list); +GLAPI PFNGLISLISTPROC glad_glIsList; +#define glIsList glad_glIsList +typedef void (APIENTRYP PFNGLFRUSTUMPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI PFNGLFRUSTUMPROC glad_glFrustum; +#define glFrustum glad_glFrustum +typedef void (APIENTRYP PFNGLLOADIDENTITYPROC)(void); +GLAPI PFNGLLOADIDENTITYPROC glad_glLoadIdentity; +#define glLoadIdentity glad_glLoadIdentity +typedef void (APIENTRYP PFNGLLOADMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLLOADMATRIXFPROC glad_glLoadMatrixf; +#define glLoadMatrixf glad_glLoadMatrixf +typedef void (APIENTRYP PFNGLLOADMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLLOADMATRIXDPROC glad_glLoadMatrixd; +#define glLoadMatrixd glad_glLoadMatrixd +typedef void (APIENTRYP PFNGLMATRIXMODEPROC)(GLenum mode); +GLAPI PFNGLMATRIXMODEPROC glad_glMatrixMode; +#define glMatrixMode glad_glMatrixMode +typedef void (APIENTRYP PFNGLMULTMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLMULTMATRIXFPROC glad_glMultMatrixf; +#define glMultMatrixf glad_glMultMatrixf +typedef void (APIENTRYP PFNGLMULTMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLMULTMATRIXDPROC glad_glMultMatrixd; +#define glMultMatrixd glad_glMultMatrixd +typedef void (APIENTRYP PFNGLORTHOPROC)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI PFNGLORTHOPROC glad_glOrtho; +#define glOrtho glad_glOrtho +typedef void (APIENTRYP PFNGLPOPMATRIXPROC)(void); +GLAPI PFNGLPOPMATRIXPROC glad_glPopMatrix; +#define glPopMatrix glad_glPopMatrix +typedef void (APIENTRYP PFNGLPUSHMATRIXPROC)(void); +GLAPI PFNGLPUSHMATRIXPROC glad_glPushMatrix; +#define glPushMatrix glad_glPushMatrix +typedef void (APIENTRYP PFNGLROTATEDPROC)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLROTATEDPROC glad_glRotated; +#define glRotated glad_glRotated +typedef void (APIENTRYP PFNGLROTATEFPROC)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLROTATEFPROC glad_glRotatef; +#define glRotatef glad_glRotatef +typedef void (APIENTRYP PFNGLSCALEDPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLSCALEDPROC glad_glScaled; +#define glScaled glad_glScaled +typedef void (APIENTRYP PFNGLSCALEFPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLSCALEFPROC glad_glScalef; +#define glScalef glad_glScalef +typedef void (APIENTRYP PFNGLTRANSLATEDPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLTRANSLATEDPROC glad_glTranslated; +#define glTranslated glad_glTranslated +typedef void (APIENTRYP PFNGLTRANSLATEFPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLTRANSLATEFPROC glad_glTranslatef; +#define glTranslatef glad_glTranslatef +#endif +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 +GLAPI int GLAD_GL_VERSION_1_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); +GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays; +#define glDrawArrays glad_glDrawArrays +typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements; +#define glDrawElements glad_glDrawElements +typedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void **params); +GLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv; +#define glGetPointerv glad_glGetPointerv +typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); +GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +#define glPolygonOffset glad_glPolygonOffset +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +#define glCopyTexImage1D glad_glCopyTexImage1D +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +#define glCopyTexImage2D glad_glCopyTexImage2D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +#define glCopyTexSubImage1D glad_glCopyTexSubImage1D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +#define glCopyTexSubImage2D glad_glCopyTexSubImage2D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +#define glTexSubImage1D glad_glTexSubImage1D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +#define glTexSubImage2D glad_glTexSubImage2D +typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); +GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture; +#define glBindTexture glad_glBindTexture +typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures); +GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +#define glDeleteTextures glad_glDeleteTextures +typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures); +GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures; +#define glGenTextures glad_glGenTextures +typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture); +GLAPI PFNGLISTEXTUREPROC glad_glIsTexture; +#define glIsTexture glad_glIsTexture +typedef void (APIENTRYP PFNGLARRAYELEMENTPROC)(GLint i); +GLAPI PFNGLARRAYELEMENTPROC glad_glArrayElement; +#define glArrayElement glad_glArrayElement +typedef void (APIENTRYP PFNGLCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLCOLORPOINTERPROC glad_glColorPointer; +#define glColorPointer glad_glColorPointer +typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEPROC)(GLenum array); +GLAPI PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState; +#define glDisableClientState glad_glDisableClientState +typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERPROC)(GLsizei stride, const void *pointer); +GLAPI PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer; +#define glEdgeFlagPointer glad_glEdgeFlagPointer +typedef void (APIENTRYP PFNGLENABLECLIENTSTATEPROC)(GLenum array); +GLAPI PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState; +#define glEnableClientState glad_glEnableClientState +typedef void (APIENTRYP PFNGLINDEXPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLINDEXPOINTERPROC glad_glIndexPointer; +#define glIndexPointer glad_glIndexPointer +typedef void (APIENTRYP PFNGLINTERLEAVEDARRAYSPROC)(GLenum format, GLsizei stride, const void *pointer); +GLAPI PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays; +#define glInterleavedArrays glad_glInterleavedArrays +typedef void (APIENTRYP PFNGLNORMALPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLNORMALPOINTERPROC glad_glNormalPointer; +#define glNormalPointer glad_glNormalPointer +typedef void (APIENTRYP PFNGLTEXCOORDPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer; +#define glTexCoordPointer glad_glTexCoordPointer +typedef void (APIENTRYP PFNGLVERTEXPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXPOINTERPROC glad_glVertexPointer; +#define glVertexPointer glad_glVertexPointer +typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident; +#define glAreTexturesResident glad_glAreTexturesResident +typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESPROC)(GLsizei n, const GLuint *textures, const GLfloat *priorities); +GLAPI PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures; +#define glPrioritizeTextures glad_glPrioritizeTextures +typedef void (APIENTRYP PFNGLINDEXUBPROC)(GLubyte c); +GLAPI PFNGLINDEXUBPROC glad_glIndexub; +#define glIndexub glad_glIndexub +typedef void (APIENTRYP PFNGLINDEXUBVPROC)(const GLubyte *c); +GLAPI PFNGLINDEXUBVPROC glad_glIndexubv; +#define glIndexubv glad_glIndexubv +typedef void (APIENTRYP PFNGLPOPCLIENTATTRIBPROC)(void); +GLAPI PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib; +#define glPopClientAttrib glad_glPopClientAttrib +typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield mask); +GLAPI PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib; +#define glPushClientAttrib glad_glPushClientAttrib +#endif +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 +GLAPI int GLAD_GL_VERSION_1_2; +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +#define glDrawRangeElements glad_glDrawRangeElements +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +#define glTexImage3D glad_glTexImage3D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +#define glTexSubImage3D glad_glTexSubImage3D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +#define glCopyTexSubImage3D glad_glCopyTexSubImage3D +#endif +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 +GLAPI int GLAD_GL_VERSION_1_3; +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture); +GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +#define glActiveTexture glad_glActiveTexture +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); +GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +#define glSampleCoverage glad_glSampleCoverage +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +#define glCompressedTexImage3D glad_glCompressedTexImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +#define glCompressedTexImage2D glad_glCompressedTexImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +#define glCompressedTexImage1D glad_glCompressedTexImage1D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img); +GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +#define glGetCompressedTexImage glad_glGetCompressedTexImage +typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture); +GLAPI PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture; +#define glClientActiveTexture glad_glClientActiveTexture +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC)(GLenum target, GLdouble s); +GLAPI PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d; +#define glMultiTexCoord1d glad_glMultiTexCoord1d +typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv; +#define glMultiTexCoord1dv glad_glMultiTexCoord1dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC)(GLenum target, GLfloat s); +GLAPI PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f; +#define glMultiTexCoord1f glad_glMultiTexCoord1f +typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv; +#define glMultiTexCoord1fv glad_glMultiTexCoord1fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC)(GLenum target, GLint s); +GLAPI PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i; +#define glMultiTexCoord1i glad_glMultiTexCoord1i +typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv; +#define glMultiTexCoord1iv glad_glMultiTexCoord1iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC)(GLenum target, GLshort s); +GLAPI PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s; +#define glMultiTexCoord1s glad_glMultiTexCoord1s +typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv; +#define glMultiTexCoord1sv glad_glMultiTexCoord1sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC)(GLenum target, GLdouble s, GLdouble t); +GLAPI PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d; +#define glMultiTexCoord2d glad_glMultiTexCoord2d +typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv; +#define glMultiTexCoord2dv glad_glMultiTexCoord2dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC)(GLenum target, GLfloat s, GLfloat t); +GLAPI PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f; +#define glMultiTexCoord2f glad_glMultiTexCoord2f +typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv; +#define glMultiTexCoord2fv glad_glMultiTexCoord2fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC)(GLenum target, GLint s, GLint t); +GLAPI PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i; +#define glMultiTexCoord2i glad_glMultiTexCoord2i +typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv; +#define glMultiTexCoord2iv glad_glMultiTexCoord2iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC)(GLenum target, GLshort s, GLshort t); +GLAPI PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s; +#define glMultiTexCoord2s glad_glMultiTexCoord2s +typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv; +#define glMultiTexCoord2sv glad_glMultiTexCoord2sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r); +GLAPI PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d; +#define glMultiTexCoord3d glad_glMultiTexCoord3d +typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv; +#define glMultiTexCoord3dv glad_glMultiTexCoord3dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r); +GLAPI PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f; +#define glMultiTexCoord3f glad_glMultiTexCoord3f +typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv; +#define glMultiTexCoord3fv glad_glMultiTexCoord3fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC)(GLenum target, GLint s, GLint t, GLint r); +GLAPI PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i; +#define glMultiTexCoord3i glad_glMultiTexCoord3i +typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv; +#define glMultiTexCoord3iv glad_glMultiTexCoord3iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC)(GLenum target, GLshort s, GLshort t, GLshort r); +GLAPI PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s; +#define glMultiTexCoord3s glad_glMultiTexCoord3s +typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv; +#define glMultiTexCoord3sv glad_glMultiTexCoord3sv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d; +#define glMultiTexCoord4d glad_glMultiTexCoord4d +typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC)(GLenum target, const GLdouble *v); +GLAPI PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv; +#define glMultiTexCoord4dv glad_glMultiTexCoord4dv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f; +#define glMultiTexCoord4f glad_glMultiTexCoord4f +typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC)(GLenum target, const GLfloat *v); +GLAPI PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv; +#define glMultiTexCoord4fv glad_glMultiTexCoord4fv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC)(GLenum target, GLint s, GLint t, GLint r, GLint q); +GLAPI PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i; +#define glMultiTexCoord4i glad_glMultiTexCoord4i +typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC)(GLenum target, const GLint *v); +GLAPI PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv; +#define glMultiTexCoord4iv glad_glMultiTexCoord4iv +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s; +#define glMultiTexCoord4s glad_glMultiTexCoord4s +typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC)(GLenum target, const GLshort *v); +GLAPI PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv; +#define glMultiTexCoord4sv glad_glMultiTexCoord4sv +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf; +#define glLoadTransposeMatrixf glad_glLoadTransposeMatrixf +typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd; +#define glLoadTransposeMatrixd glad_glLoadTransposeMatrixd +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC)(const GLfloat *m); +GLAPI PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf; +#define glMultTransposeMatrixf glad_glMultTransposeMatrixf +typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC)(const GLdouble *m); +GLAPI PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd; +#define glMultTransposeMatrixd glad_glMultTransposeMatrixd +#endif +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 +GLAPI int GLAD_GL_VERSION_1_4; +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +#define glBlendFuncSeparate glad_glBlendFuncSeparate +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +#define glMultiDrawArrays glad_glMultiDrawArrays +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); +GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +#define glMultiDrawElements glad_glMultiDrawElements +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +#define glPointParameterf glad_glPointParameterf +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +#define glPointParameterfv glad_glPointParameterfv +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +#define glPointParameteri glad_glPointParameteri +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +#define glPointParameteriv glad_glPointParameteriv +typedef void (APIENTRYP PFNGLFOGCOORDFPROC)(GLfloat coord); +GLAPI PFNGLFOGCOORDFPROC glad_glFogCoordf; +#define glFogCoordf glad_glFogCoordf +typedef void (APIENTRYP PFNGLFOGCOORDFVPROC)(const GLfloat *coord); +GLAPI PFNGLFOGCOORDFVPROC glad_glFogCoordfv; +#define glFogCoordfv glad_glFogCoordfv +typedef void (APIENTRYP PFNGLFOGCOORDDPROC)(GLdouble coord); +GLAPI PFNGLFOGCOORDDPROC glad_glFogCoordd; +#define glFogCoordd glad_glFogCoordd +typedef void (APIENTRYP PFNGLFOGCOORDDVPROC)(const GLdouble *coord); +GLAPI PFNGLFOGCOORDDVPROC glad_glFogCoorddv; +#define glFogCoorddv glad_glFogCoorddv +typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC)(GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer; +#define glFogCoordPointer glad_glFogCoordPointer +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b; +#define glSecondaryColor3b glad_glSecondaryColor3b +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte *v); +GLAPI PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv; +#define glSecondaryColor3bv glad_glSecondaryColor3bv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d; +#define glSecondaryColor3d glad_glSecondaryColor3d +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC)(const GLdouble *v); +GLAPI PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv; +#define glSecondaryColor3dv glad_glSecondaryColor3dv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f; +#define glSecondaryColor3f glad_glSecondaryColor3f +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC)(const GLfloat *v); +GLAPI PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv; +#define glSecondaryColor3fv glad_glSecondaryColor3fv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC)(GLint red, GLint green, GLint blue); +GLAPI PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i; +#define glSecondaryColor3i glad_glSecondaryColor3i +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC)(const GLint *v); +GLAPI PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv; +#define glSecondaryColor3iv glad_glSecondaryColor3iv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC)(GLshort red, GLshort green, GLshort blue); +GLAPI PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s; +#define glSecondaryColor3s glad_glSecondaryColor3s +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC)(const GLshort *v); +GLAPI PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv; +#define glSecondaryColor3sv glad_glSecondaryColor3sv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub; +#define glSecondaryColor3ub glad_glSecondaryColor3ub +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC)(const GLubyte *v); +GLAPI PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv; +#define glSecondaryColor3ubv glad_glSecondaryColor3ubv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC)(GLuint red, GLuint green, GLuint blue); +GLAPI PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui; +#define glSecondaryColor3ui glad_glSecondaryColor3ui +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC)(const GLuint *v); +GLAPI PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv; +#define glSecondaryColor3uiv glad_glSecondaryColor3uiv +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC)(GLushort red, GLushort green, GLushort blue); +GLAPI PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us; +#define glSecondaryColor3us glad_glSecondaryColor3us +typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC)(const GLushort *v); +GLAPI PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv; +#define glSecondaryColor3usv glad_glSecondaryColor3usv +typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC)(GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer; +#define glSecondaryColorPointer glad_glSecondaryColorPointer +typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC)(GLdouble x, GLdouble y); +GLAPI PFNGLWINDOWPOS2DPROC glad_glWindowPos2d; +#define glWindowPos2d glad_glWindowPos2d +typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC)(const GLdouble *v); +GLAPI PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv; +#define glWindowPos2dv glad_glWindowPos2dv +typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC)(GLfloat x, GLfloat y); +GLAPI PFNGLWINDOWPOS2FPROC glad_glWindowPos2f; +#define glWindowPos2f glad_glWindowPos2f +typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC)(const GLfloat *v); +GLAPI PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv; +#define glWindowPos2fv glad_glWindowPos2fv +typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC)(GLint x, GLint y); +GLAPI PFNGLWINDOWPOS2IPROC glad_glWindowPos2i; +#define glWindowPos2i glad_glWindowPos2i +typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC)(const GLint *v); +GLAPI PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv; +#define glWindowPos2iv glad_glWindowPos2iv +typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC)(GLshort x, GLshort y); +GLAPI PFNGLWINDOWPOS2SPROC glad_glWindowPos2s; +#define glWindowPos2s glad_glWindowPos2s +typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC)(const GLshort *v); +GLAPI PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv; +#define glWindowPos2sv glad_glWindowPos2sv +typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC)(GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLWINDOWPOS3DPROC glad_glWindowPos3d; +#define glWindowPos3d glad_glWindowPos3d +typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC)(const GLdouble *v); +GLAPI PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv; +#define glWindowPos3dv glad_glWindowPos3dv +typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC)(GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLWINDOWPOS3FPROC glad_glWindowPos3f; +#define glWindowPos3f glad_glWindowPos3f +typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC)(const GLfloat *v); +GLAPI PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv; +#define glWindowPos3fv glad_glWindowPos3fv +typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC)(GLint x, GLint y, GLint z); +GLAPI PFNGLWINDOWPOS3IPROC glad_glWindowPos3i; +#define glWindowPos3i glad_glWindowPos3i +typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC)(const GLint *v); +GLAPI PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv; +#define glWindowPos3iv glad_glWindowPos3iv +typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC)(GLshort x, GLshort y, GLshort z); +GLAPI PFNGLWINDOWPOS3SPROC glad_glWindowPos3s; +#define glWindowPos3s glad_glWindowPos3s +typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC)(const GLshort *v); +GLAPI PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv; +#define glWindowPos3sv glad_glWindowPos3sv +typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor; +#define glBlendColor glad_glBlendColor +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode); +GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +#define glBlendEquation glad_glBlendEquation +#endif +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 +GLAPI int GLAD_GL_VERSION_1_5; +typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids); +GLAPI PFNGLGENQUERIESPROC glad_glGenQueries; +#define glGenQueries glad_glGenQueries +typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids); +GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +#define glDeleteQueries glad_glDeleteQueries +typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id); +GLAPI PFNGLISQUERYPROC glad_glIsQuery; +#define glIsQuery glad_glIsQuery +typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); +GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery; +#define glBeginQuery glad_glBeginQuery +typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target); +GLAPI PFNGLENDQUERYPROC glad_glEndQuery; +#define glEndQuery glad_glEndQuery +typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv; +#define glGetQueryiv glad_glGetQueryiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +#define glGetQueryObjectiv glad_glGetQueryObjectiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params); +GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +#define glGetQueryObjectuiv glad_glGetQueryObjectuiv +typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); +GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer; +#define glBindBuffer glad_glBindBuffer +typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers); +GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +#define glDeleteBuffers glad_glDeleteBuffers +typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers); +GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers; +#define glGenBuffers glad_glGenBuffers +typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer); +GLAPI PFNGLISBUFFERPROC glad_glIsBuffer; +#define glIsBuffer glad_glIsBuffer +typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); +GLAPI PFNGLBUFFERDATAPROC glad_glBufferData; +#define glBufferData glad_glBufferData +typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +#define glBufferSubData glad_glBufferSubData +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); +GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +#define glGetBufferSubData glad_glGetBufferSubData +typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); +GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer; +#define glMapBuffer glad_glMapBuffer +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target); +GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +#define glUnmapBuffer glad_glUnmapBuffer +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +#define glGetBufferParameteriv glad_glGetBufferParameteriv +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params); +GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +#define glGetBufferPointerv glad_glGetBufferPointerv +#endif +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +GLAPI int GLAD_GL_VERSION_2_0; +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); +GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +#define glBlendEquationSeparate glad_glBlendEquationSeparate +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs); +GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +#define glDrawBuffers glad_glDrawBuffers +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +#define glStencilOpSeparate glad_glStencilOpSeparate +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +#define glStencilFuncSeparate glad_glStencilFuncSeparate +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); +GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +#define glStencilMaskSeparate glad_glStencilMaskSeparate +typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader; +#define glAttachShader glad_glAttachShader +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name); +GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +#define glBindAttribLocation glad_glBindAttribLocation +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader); +GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader; +#define glCompileShader glad_glCompileShader +typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(void); +GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +#define glCreateProgram glad_glCreateProgram +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type); +GLAPI PFNGLCREATESHADERPROC glad_glCreateShader; +#define glCreateShader glad_glCreateShader +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program); +GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +#define glDeleteProgram glad_glDeleteProgram +typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader); +GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader; +#define glDeleteShader glad_glDeleteShader +typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader; +#define glDetachShader glad_glDetachShader +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +#define glDisableVertexAttribArray glad_glDisableVertexAttribArray +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +#define glEnableVertexAttribArray glad_glEnableVertexAttribArray +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +#define glGetActiveAttrib glad_glGetActiveAttrib +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +#define glGetActiveUniform glad_glGetActiveUniform +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +#define glGetAttachedShaders glad_glGetAttachedShaders +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +#define glGetAttribLocation glad_glGetAttribLocation +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params); +GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +#define glGetProgramiv glad_glGetProgramiv +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +#define glGetProgramInfoLog glad_glGetProgramInfoLog +typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params); +GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv; +#define glGetShaderiv glad_glGetShaderiv +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +#define glGetShaderInfoLog glad_glGetShaderInfoLog +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +#define glGetShaderSource glad_glGetShaderSource +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +#define glGetUniformLocation glad_glGetUniformLocation +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params); +GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +#define glGetUniformfv glad_glGetUniformfv +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params); +GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +#define glGetUniformiv glad_glGetUniformiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params); +GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +#define glGetVertexAttribdv glad_glGetVertexAttribdv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params); +GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +#define glGetVertexAttribfv glad_glGetVertexAttribfv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +#define glGetVertexAttribiv glad_glGetVertexAttribiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer); +GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program); +GLAPI PFNGLISPROGRAMPROC glad_glIsProgram; +#define glIsProgram glad_glIsProgram +typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader); +GLAPI PFNGLISSHADERPROC glad_glIsShader; +#define glIsShader glad_glIsShader +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program); +GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram; +#define glLinkProgram glad_glLinkProgram +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource; +#define glShaderSource glad_glShaderSource +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program); +GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram; +#define glUseProgram glad_glUseProgram +typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); +GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f; +#define glUniform1f glad_glUniform1f +typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); +GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f; +#define glUniform2f glad_glUniform2f +typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f; +#define glUniform3f glad_glUniform3f +typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f; +#define glUniform4f glad_glUniform4f +typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0); +GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i; +#define glUniform1i glad_glUniform1i +typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); +GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i; +#define glUniform2i glad_glUniform2i +typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); +GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i; +#define glUniform3i glad_glUniform3i +typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i; +#define glUniform4i glad_glUniform4i +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv; +#define glUniform1fv glad_glUniform1fv +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv; +#define glUniform2fv glad_glUniform2fv +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv; +#define glUniform3fv glad_glUniform3fv +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv; +#define glUniform4fv glad_glUniform4fv +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv; +#define glUniform1iv glad_glUniform1iv +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv; +#define glUniform2iv glad_glUniform2iv +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv; +#define glUniform3iv glad_glUniform3iv +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv; +#define glUniform4iv glad_glUniform4iv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +#define glUniformMatrix2fv glad_glUniformMatrix2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +#define glUniformMatrix3fv glad_glUniformMatrix3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +#define glUniformMatrix4fv glad_glUniformMatrix4fv +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program); +GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +#define glValidateProgram glad_glValidateProgram +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); +GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +#define glVertexAttrib1d glad_glVertexAttrib1d +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +#define glVertexAttrib1dv glad_glVertexAttrib1dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); +GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +#define glVertexAttrib1f glad_glVertexAttrib1f +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +#define glVertexAttrib1fv glad_glVertexAttrib1fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); +GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +#define glVertexAttrib1s glad_glVertexAttrib1s +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +#define glVertexAttrib1sv glad_glVertexAttrib1sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); +GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +#define glVertexAttrib2d glad_glVertexAttrib2d +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +#define glVertexAttrib2dv glad_glVertexAttrib2dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); +GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +#define glVertexAttrib2f glad_glVertexAttrib2f +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +#define glVertexAttrib2fv glad_glVertexAttrib2fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); +GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +#define glVertexAttrib2s glad_glVertexAttrib2s +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +#define glVertexAttrib2sv glad_glVertexAttrib2sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +#define glVertexAttrib3d glad_glVertexAttrib3d +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +#define glVertexAttrib3dv glad_glVertexAttrib3dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +#define glVertexAttrib3f glad_glVertexAttrib3f +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +#define glVertexAttrib3fv glad_glVertexAttrib3fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +#define glVertexAttrib3s glad_glVertexAttrib3s +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +#define glVertexAttrib3sv glad_glVertexAttrib3sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +#define glVertexAttrib4Niv glad_glVertexAttrib4Niv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +#define glVertexAttrib4Nub glad_glVertexAttrib4Nub +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +#define glVertexAttrib4bv glad_glVertexAttrib4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +#define glVertexAttrib4d glad_glVertexAttrib4d +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +#define glVertexAttrib4dv glad_glVertexAttrib4dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +#define glVertexAttrib4f glad_glVertexAttrib4f +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +#define glVertexAttrib4fv glad_glVertexAttrib4fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +#define glVertexAttrib4iv glad_glVertexAttrib4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +#define glVertexAttrib4s glad_glVertexAttrib4s +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +#define glVertexAttrib4sv glad_glVertexAttrib4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +#define glVertexAttrib4ubv glad_glVertexAttrib4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +#define glVertexAttrib4uiv glad_glVertexAttrib4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +#define glVertexAttrib4usv glad_glVertexAttrib4usv +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +#define glVertexAttribPointer glad_glVertexAttribPointer +#endif +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +GLAPI int GLAD_GL_VERSION_2_1; +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv +#endif +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 +GLAPI int GLAD_GL_VERSION_3_0; +typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski; +#define glColorMaski glad_glColorMaski +typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data); +GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +#define glGetBooleani_v glad_glGetBooleani_v +typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data); +GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +#define glGetIntegeri_v glad_glGetIntegeri_v +typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLENABLEIPROC glad_glEnablei; +#define glEnablei glad_glEnablei +typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLDISABLEIPROC glad_glDisablei; +#define glDisablei glad_glDisablei +typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index); +GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi; +#define glIsEnabledi glad_glIsEnabledi +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); +GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +#define glBeginTransformFeedback glad_glBeginTransformFeedback +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void); +GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +#define glEndTransformFeedback glad_glEndTransformFeedback +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +#define glBindBufferRange glad_glBindBufferRange +typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); +GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +#define glBindBufferBase glad_glBindBufferBase +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); +GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying +typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); +GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor; +#define glClampColor glad_glClampColor +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); +GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +#define glBeginConditionalRender glad_glBeginConditionalRender +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void); +GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +#define glEndConditionalRender glad_glEndConditionalRender +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +#define glVertexAttribIPointer glad_glVertexAttribIPointer +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +#define glGetVertexAttribIiv glad_glGetVertexAttribIiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params); +GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); +GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +#define glVertexAttribI1i glad_glVertexAttribI1i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); +GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +#define glVertexAttribI2i glad_glVertexAttribI2i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); +GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +#define glVertexAttribI3i glad_glVertexAttribI3i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +#define glVertexAttribI4i glad_glVertexAttribI4i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); +GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +#define glVertexAttribI1ui glad_glVertexAttribI1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); +GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +#define glVertexAttribI2ui glad_glVertexAttribI2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +#define glVertexAttribI3ui glad_glVertexAttribI3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +#define glVertexAttribI4ui glad_glVertexAttribI4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +#define glVertexAttribI1iv glad_glVertexAttribI1iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +#define glVertexAttribI2iv glad_glVertexAttribI2iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +#define glVertexAttribI3iv glad_glVertexAttribI3iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +#define glVertexAttribI4iv glad_glVertexAttribI4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +#define glVertexAttribI1uiv glad_glVertexAttribI1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +#define glVertexAttribI2uiv glad_glVertexAttribI2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +#define glVertexAttribI3uiv glad_glVertexAttribI3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +#define glVertexAttribI4uiv glad_glVertexAttribI4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +#define glVertexAttribI4bv glad_glVertexAttribI4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +#define glVertexAttribI4sv glad_glVertexAttribI4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +#define glVertexAttribI4ubv glad_glVertexAttribI4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +#define glVertexAttribI4usv glad_glVertexAttribI4usv +typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params); +GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +#define glGetUniformuiv glad_glGetUniformuiv +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +#define glBindFragDataLocation glad_glBindFragDataLocation +typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +#define glGetFragDataLocation glad_glGetFragDataLocation +typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); +GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui; +#define glUniform1ui glad_glUniform1ui +typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); +GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui; +#define glUniform2ui glad_glUniform2ui +typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui; +#define glUniform3ui glad_glUniform3ui +typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui; +#define glUniform4ui glad_glUniform4ui +typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +#define glUniform1uiv glad_glUniform1uiv +typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +#define glUniform2uiv glad_glUniform2uiv +typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +#define glUniform3uiv glad_glUniform3uiv +typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +#define glUniform4uiv glad_glUniform4uiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +#define glTexParameterIiv glad_glTexParameterIiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params); +GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +#define glTexParameterIuiv glad_glTexParameterIuiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +#define glGetTexParameterIiv glad_glGetTexParameterIiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params); +GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +#define glGetTexParameterIuiv glad_glGetTexParameterIuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +#define glClearBufferiv glad_glClearBufferiv +typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +#define glClearBufferuiv glad_glClearBufferuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +#define glClearBufferfv glad_glClearBufferfv +typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +#define glClearBufferfi glad_glClearBufferfi +typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); +GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi; +#define glGetStringi glad_glGetStringi +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); +GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +#define glIsRenderbuffer glad_glIsRenderbuffer +typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); +GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +#define glBindRenderbuffer glad_glBindRenderbuffer +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers); +GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +#define glDeleteRenderbuffers glad_glDeleteRenderbuffers +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); +GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +#define glGenRenderbuffers glad_glGenRenderbuffers +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +#define glRenderbufferStorage glad_glRenderbufferStorage +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); +GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +#define glIsFramebuffer glad_glIsFramebuffer +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); +GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +#define glBindFramebuffer glad_glBindFramebuffer +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers); +GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +#define glDeleteFramebuffers glad_glDeleteFramebuffers +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); +GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +#define glGenFramebuffers glad_glGenFramebuffers +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); +GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +#define glCheckFramebufferStatus glad_glCheckFramebufferStatus +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +#define glFramebufferTexture1D glad_glFramebufferTexture1D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +#define glFramebufferTexture2D glad_glFramebufferTexture2D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +#define glFramebufferTexture3D glad_glFramebufferTexture3D +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv +typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target); +GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +#define glGenerateMipmap glad_glGenerateMipmap +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +#define glBlitFramebuffer glad_glBlitFramebuffer +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +#define glFramebufferTextureLayer glad_glFramebufferTextureLayer +typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +#define glMapBufferRange glad_glMapBufferRange +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); +GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +#define glFlushMappedBufferRange glad_glFlushMappedBufferRange +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +#define glBindVertexArray glad_glBindVertexArray +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays); +GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +#define glDeleteVertexArrays glad_glDeleteVertexArrays +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); +GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +#define glGenVertexArrays glad_glGenVertexArrays +typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +#define glIsVertexArray glad_glIsVertexArray +#endif +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 +GLAPI int GLAD_GL_VERSION_3_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +#define glDrawArraysInstanced glad_glDrawArraysInstanced +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); +GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +#define glDrawElementsInstanced glad_glDrawElementsInstanced +typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); +GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer; +#define glTexBuffer glad_glTexBuffer +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); +GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex +typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +#define glCopyBufferSubData glad_glCopyBufferSubData +typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); +GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +#define glGetUniformIndices glad_glGetUniformIndices +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +#define glGetActiveUniformsiv glad_glGetActiveUniformsiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); +GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +#define glGetActiveUniformName glad_glGetActiveUniformName +typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName); +GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +#define glGetUniformBlockIndex glad_glGetUniformBlockIndex +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName +typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +#define glUniformBlockBinding glad_glUniformBlockBinding +#endif +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 +GLAPI int GLAD_GL_VERSION_3_2; +typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); +GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode); +GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +#define glProvokingVertex glad_glProvokingVertex +typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); +GLAPI PFNGLFENCESYNCPROC glad_glFenceSync; +#define glFenceSync glad_glFenceSync +typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync); +GLAPI PFNGLISSYNCPROC glad_glIsSync; +#define glIsSync glad_glIsSync +typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync); +GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync; +#define glDeleteSync glad_glDeleteSync +typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +#define glClientWaitSync glad_glClientWaitSync +typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLWAITSYNCPROC glad_glWaitSync; +#define glWaitSync glad_glWaitSync +typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data); +GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +#define glGetInteger64v glad_glGetInteger64v +typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv; +#define glGetSynciv glad_glGetSynciv +typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data); +GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +#define glGetInteger64i_v glad_glGetInteger64i_v +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params); +GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +#define glGetBufferParameteri64v glad_glGetBufferParameteri64v +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +#define glFramebufferTexture glad_glFramebufferTexture +typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +#define glTexImage2DMultisample glad_glTexImage2DMultisample +typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +#define glTexImage3DMultisample glad_glTexImage3DMultisample +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val); +GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +#define glGetMultisamplefv glad_glGetMultisamplefv +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); +GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +#define glSampleMaski glad_glSampleMaski +#endif +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 +GLAPI int GLAD_GL_VERSION_3_3; +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed +typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +#define glGetFragDataIndex glad_glGetFragDataIndex +typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers); +GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers; +#define glGenSamplers glad_glGenSamplers +typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers); +GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +#define glDeleteSamplers glad_glDeleteSamplers +typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler); +GLAPI PFNGLISSAMPLERPROC glad_glIsSampler; +#define glIsSampler glad_glIsSampler +typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); +GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler; +#define glBindSampler glad_glBindSampler +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); +GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +#define glSamplerParameteri glad_glSamplerParameteri +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +#define glSamplerParameteriv glad_glSamplerParameteriv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); +GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +#define glSamplerParameterf glad_glSamplerParameterf +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param); +GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +#define glSamplerParameterfv glad_glSamplerParameterfv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +#define glSamplerParameterIiv glad_glSamplerParameterIiv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param); +GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +#define glSamplerParameterIuiv glad_glSamplerParameterIuiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +#define glGetSamplerParameteriv glad_glGetSamplerParameteriv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params); +GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +#define glGetSamplerParameterfv glad_glGetSamplerParameterfv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv +typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); +GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +#define glQueryCounter glad_glQueryCounter +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params); +GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +#define glGetQueryObjecti64v glad_glGetQueryObjecti64v +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params); +GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +#define glGetQueryObjectui64v glad_glGetQueryObjectui64v +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); +GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +#define glVertexAttribDivisor glad_glVertexAttribDivisor +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +#define glVertexAttribP1ui glad_glVertexAttribP1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +#define glVertexAttribP1uiv glad_glVertexAttribP1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +#define glVertexAttribP2ui glad_glVertexAttribP2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +#define glVertexAttribP2uiv glad_glVertexAttribP2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +#define glVertexAttribP3ui glad_glVertexAttribP3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +#define glVertexAttribP3uiv glad_glVertexAttribP3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +#define glVertexAttribP4ui glad_glVertexAttribP4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +#define glVertexAttribP4uiv glad_glVertexAttribP4uiv +typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +#define glVertexP2ui glad_glVertexP2ui +typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +#define glVertexP2uiv glad_glVertexP2uiv +typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +#define glVertexP3ui glad_glVertexP3ui +typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +#define glVertexP3uiv glad_glVertexP3uiv +typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +#define glVertexP4ui glad_glVertexP4ui +typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +#define glVertexP4uiv glad_glVertexP4uiv +typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +#define glTexCoordP1ui glad_glTexCoordP1ui +typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +#define glTexCoordP1uiv glad_glTexCoordP1uiv +typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +#define glTexCoordP2ui glad_glTexCoordP2ui +typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +#define glTexCoordP2uiv glad_glTexCoordP2uiv +typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +#define glTexCoordP3ui glad_glTexCoordP3ui +typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +#define glTexCoordP3uiv glad_glTexCoordP3uiv +typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +#define glTexCoordP4ui glad_glTexCoordP4ui +typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +#define glTexCoordP4uiv glad_glTexCoordP4uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv +typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui; +#define glNormalP3ui glad_glNormalP3ui +typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +#define glNormalP3uiv glad_glNormalP3uiv +typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui; +#define glColorP3ui glad_glColorP3ui +typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +#define glColorP3uiv glad_glColorP3uiv +typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui; +#define glColorP4ui glad_glColorP4ui +typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +#define glColorP4uiv glad_glColorP4uiv +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +#define glSecondaryColorP3ui glad_glSecondaryColorP3ui +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/frambuffer.hpp b/src/frambuffer.hpp new file mode 100644 index 0000000..196b5ba --- /dev/null +++ b/src/frambuffer.hpp @@ -0,0 +1,17 @@ +#pragma once + + +class FrameBuffer +{ +public: + + FrameBuffer(); + + // Renders with OpenGL as a texture + void Render(); + + + + +}; + diff --git a/src/main.cpp b/src/main.cpp index eb288c5..cb2d506 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,110 @@ #include -int main() +#include +#include + +void doInput(SDL_Event* e, bool& isWindowOpen); + + +struct Game { - std::cout << "dani has a small pp" << std::endl; + int Width, Height; + SDL_Window* Window = nullptr; + SDL_GLContext GlContext = nullptr; +}; + +int main() +{ + + SDL_Init(SDL_INIT_VIDEO); + + 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_BUFFER_SIZE, 32); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); + + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 5); + + Game game; + game.Width = 1000; game.Height = 1000; + + game.Window = SDL_CreateWindow("2D Global Illumination", + SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, + game.Width, game.Height, + SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + + game.GlContext = SDL_GL_CreateContext(game.Window); + + // Vsync + SDL_GL_SetSwapInterval(1); + + // Time to actually load OpenGL + gladLoadGLLoader(SDL_GL_GetProcAddress); + + + SDL_Event e; + const float clearColour[] = { 186.0f / 255.0f, 214.0f / 255.0f, 254.0f / 255.0f }; + + bool IsWindowOpen = true; + while (IsWindowOpen) + { + + doInput(&e, IsWindowOpen); + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClearBufferfv(GL_COLOR, 0, clearColour); + + SDL_GL_SwapWindow(game.Window); + + } + + +} + +void doInput(SDL_Event* e, bool& isWindowOpen) +{ + Uint8* state = (Uint8*)SDL_GetKeyboardState(NULL); + + static bool IsMouseActive = false; + + while (SDL_PollEvent(e)) { + + + switch (e->type) { + + case SDL_KEYDOWN: + { + + if (e->key.keysym.sym == SDLK_ESCAPE) { + + IsMouseActive = !IsMouseActive; + + if (IsMouseActive) + SDL_SetRelativeMouseMode(SDL_TRUE); + else + SDL_SetRelativeMouseMode(SDL_FALSE); + + } + + break; + + } + + case SDL_QUIT: + { + + isWindowOpen = false; + + break; + + } + + } + + } + } diff --git a/src/thirdparty/glad.cpp b/src/thirdparty/glad.cpp new file mode 100644 index 0000000..0e23e2c --- /dev/null +++ b/src/thirdparty/glad.cpp @@ -0,0 +1,1842 @@ +/* + + OpenGL loader generated by glad 0.1.28 on Tue Jan 15 14:49:19 2019. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: compatibility + Extensions: + + Loader: True + Local files: False + Omit khrplatform: False + Reproducible: False + + Commandline: + --profile="compatibility" --api="gl=3.3" --generator="c" --spec="gl" --extensions="" + Online: + https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D3.3 +*/ + +#include +#include +#include +#include + +static void* get_proc(const char* namez); + +#if defined(_WIN32) || defined(__CYGWIN__) +#include +static HMODULE libGL; + +typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*); +static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; + +#ifdef _MSC_VER +#ifdef __has_include +#if __has_include() +#define HAVE_WINAPIFAMILY 1 +#endif +#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ +#define HAVE_WINAPIFAMILY 1 +#endif +#endif + +#ifdef HAVE_WINAPIFAMILY +#include +#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define IS_UWP 1 +#endif +#endif + +static +int open_gl(void) { +#ifndef IS_UWP + libGL = LoadLibraryW(L"opengl32.dll"); + if (libGL != NULL) { + void (*tmp)(void); + tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress"); + gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)tmp; + return gladGetProcAddressPtr != NULL; + } +#endif + + return 0; +} + +static +void close_gl(void) { + if (libGL != NULL) { + FreeLibrary((HMODULE)libGL); + libGL = NULL; + } +} +#else +#include +static void* libGL; + +#if !defined(__APPLE__) && !defined(__HAIKU__) +typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*); +static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr; +#endif + +static +int open_gl(void) { +#ifdef __APPLE__ + static const char* NAMES[] = { + "../Frameworks/OpenGL.framework/OpenGL", + "/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/OpenGL", + "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL" + }; +#else + static const char* NAMES[] = { "libGL.so.1", "libGL.so" }; +#endif + + unsigned int index = 0; + for (index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) { + libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL); + + if (libGL != NULL) { +#if defined(__APPLE__) || defined(__HAIKU__) + return 1; +#else + gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL, + "glXGetProcAddressARB"); + return gladGetProcAddressPtr != NULL; +#endif + } + } + + return 0; +} + +static +void close_gl(void) { + if (libGL != NULL) { + dlclose(libGL); + libGL = NULL; + } +} +#endif + +static +void* get_proc(const char* namez) { + void* result = NULL; + if (libGL == NULL) return NULL; + +#if !defined(__APPLE__) && !defined(__HAIKU__) + if (gladGetProcAddressPtr != NULL) { + result = gladGetProcAddressPtr(namez); + } +#endif + if (result == NULL) { +#if defined(_WIN32) || defined(__CYGWIN__) + result = (void*)GetProcAddress((HMODULE)libGL, namez); +#else + result = dlsym(libGL, namez); +#endif + } + + return result; +} + +int gladLoadGL(void) { + int status = 0; + + if (open_gl()) { + status = gladLoadGLLoader(&get_proc); + close_gl(); + } + + return status; +} + +struct gladGLversionStruct GLVersion = { 0, 0 }; + +#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) +#define _GLAD_IS_SOME_NEW_VERSION 1 +#endif + +static int max_loaded_major; +static int max_loaded_minor; + +static const char* exts = NULL; +static int num_exts_i = 0; +static char** exts_i = NULL; + +static int get_exts(void) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if (max_loaded_major < 3) { +#endif + exts = (const char*)glGetString(GL_EXTENSIONS); +#ifdef _GLAD_IS_SOME_NEW_VERSION + } + else { + unsigned int index; + + num_exts_i = 0; + glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); + if (num_exts_i > 0) { + char** tmp_exts_i = (char**)realloc((void*)exts_i, (size_t)num_exts_i * (sizeof * exts_i)); + if (tmp_exts_i == NULL) { + return 0; + } + exts_i = tmp_exts_i; + } + + if (exts_i == NULL) { + return 0; + } + + for (index = 0; index < (unsigned)num_exts_i; index++) { + const char* gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index); + size_t len = strlen(gl_str_tmp); + + char* local_str = (char*)malloc((len + 1) * sizeof(char)); + if (local_str != NULL) { + memcpy(local_str, gl_str_tmp, (len + 1) * sizeof(char)); + } + exts_i[index] = local_str; + } + } +#endif + return 1; +} + +static void free_exts(void) { + if (exts_i != NULL) { + int index; + for (index = 0; index < num_exts_i; index++) { + free((char*)exts_i[index]); + } + free((void*)exts_i); + exts_i = NULL; + } +} + +static int has_ext(const char* ext) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if (max_loaded_major < 3) { +#endif + const char* extensions; + const char* loc; + const char* terminator; + extensions = exts; + if (extensions == NULL || ext == NULL) { + return 0; + } + + while (1) { + loc = strstr(extensions, ext); + if (loc == NULL) { + return 0; + } + + terminator = loc + strlen(ext); + if ((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return 1; + } + extensions = terminator; + } +#ifdef _GLAD_IS_SOME_NEW_VERSION + } + else { + int index; + if (exts_i == NULL) return 0; + for (index = 0; index < num_exts_i; index++) { + const char* e = exts_i[index]; + + if (exts_i[index] != NULL && strcmp(e, ext) == 0) { + return 1; + } + } + } +#endif + + return 0; +} +int GLAD_GL_VERSION_1_0 = 0; +int GLAD_GL_VERSION_1_1 = 0; +int GLAD_GL_VERSION_1_2 = 0; +int GLAD_GL_VERSION_1_3 = 0; +int GLAD_GL_VERSION_1_4 = 0; +int GLAD_GL_VERSION_1_5 = 0; +int GLAD_GL_VERSION_2_0 = 0; +int GLAD_GL_VERSION_2_1 = 0; +int GLAD_GL_VERSION_3_0 = 0; +int GLAD_GL_VERSION_3_1 = 0; +int GLAD_GL_VERSION_3_2 = 0; +int GLAD_GL_VERSION_3_3 = 0; +PFNGLACCUMPROC glad_glAccum = NULL; +PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL; +PFNGLALPHAFUNCPROC glad_glAlphaFunc = NULL; +PFNGLARETEXTURESRESIDENTPROC glad_glAreTexturesResident = NULL; +PFNGLARRAYELEMENTPROC glad_glArrayElement = NULL; +PFNGLATTACHSHADERPROC glad_glAttachShader = NULL; +PFNGLBEGINPROC glad_glBegin = NULL; +PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL; +PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL; +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL; +PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL; +PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL; +PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL; +PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL; +PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL; +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL; +PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL; +PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL; +PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL; +PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL; +PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL; +PFNGLBITMAPPROC glad_glBitmap = NULL; +PFNGLBLENDCOLORPROC glad_glBlendColor = NULL; +PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL; +PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL; +PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL; +PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL; +PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL; +PFNGLBUFFERDATAPROC glad_glBufferData = NULL; +PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL; +PFNGLCALLLISTPROC glad_glCallList = NULL; +PFNGLCALLLISTSPROC glad_glCallLists = NULL; +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL; +PFNGLCLAMPCOLORPROC glad_glClampColor = NULL; +PFNGLCLEARPROC glad_glClear = NULL; +PFNGLCLEARACCUMPROC glad_glClearAccum = NULL; +PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL; +PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL; +PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL; +PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL; +PFNGLCLEARCOLORPROC glad_glClearColor = NULL; +PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL; +PFNGLCLEARINDEXPROC glad_glClearIndex = NULL; +PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL; +PFNGLCLIENTACTIVETEXTUREPROC glad_glClientActiveTexture = NULL; +PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL; +PFNGLCLIPPLANEPROC glad_glClipPlane = NULL; +PFNGLCOLOR3BPROC glad_glColor3b = NULL; +PFNGLCOLOR3BVPROC glad_glColor3bv = NULL; +PFNGLCOLOR3DPROC glad_glColor3d = NULL; +PFNGLCOLOR3DVPROC glad_glColor3dv = NULL; +PFNGLCOLOR3FPROC glad_glColor3f = NULL; +PFNGLCOLOR3FVPROC glad_glColor3fv = NULL; +PFNGLCOLOR3IPROC glad_glColor3i = NULL; +PFNGLCOLOR3IVPROC glad_glColor3iv = NULL; +PFNGLCOLOR3SPROC glad_glColor3s = NULL; +PFNGLCOLOR3SVPROC glad_glColor3sv = NULL; +PFNGLCOLOR3UBPROC glad_glColor3ub = NULL; +PFNGLCOLOR3UBVPROC glad_glColor3ubv = NULL; +PFNGLCOLOR3UIPROC glad_glColor3ui = NULL; +PFNGLCOLOR3UIVPROC glad_glColor3uiv = NULL; +PFNGLCOLOR3USPROC glad_glColor3us = NULL; +PFNGLCOLOR3USVPROC glad_glColor3usv = NULL; +PFNGLCOLOR4BPROC glad_glColor4b = NULL; +PFNGLCOLOR4BVPROC glad_glColor4bv = NULL; +PFNGLCOLOR4DPROC glad_glColor4d = NULL; +PFNGLCOLOR4DVPROC glad_glColor4dv = NULL; +PFNGLCOLOR4FPROC glad_glColor4f = NULL; +PFNGLCOLOR4FVPROC glad_glColor4fv = NULL; +PFNGLCOLOR4IPROC glad_glColor4i = NULL; +PFNGLCOLOR4IVPROC glad_glColor4iv = NULL; +PFNGLCOLOR4SPROC glad_glColor4s = NULL; +PFNGLCOLOR4SVPROC glad_glColor4sv = NULL; +PFNGLCOLOR4UBPROC glad_glColor4ub = NULL; +PFNGLCOLOR4UBVPROC glad_glColor4ubv = NULL; +PFNGLCOLOR4UIPROC glad_glColor4ui = NULL; +PFNGLCOLOR4UIVPROC glad_glColor4uiv = NULL; +PFNGLCOLOR4USPROC glad_glColor4us = NULL; +PFNGLCOLOR4USVPROC glad_glColor4usv = NULL; +PFNGLCOLORMASKPROC glad_glColorMask = NULL; +PFNGLCOLORMASKIPROC glad_glColorMaski = NULL; +PFNGLCOLORMATERIALPROC glad_glColorMaterial = NULL; +PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL; +PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL; +PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL; +PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL; +PFNGLCOLORPOINTERPROC glad_glColorPointer = NULL; +PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL; +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL; +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL; +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL; +PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL; +PFNGLCOPYPIXELSPROC glad_glCopyPixels = NULL; +PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL; +PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL; +PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL; +PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL; +PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL; +PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL; +PFNGLCREATESHADERPROC glad_glCreateShader = NULL; +PFNGLCULLFACEPROC glad_glCullFace = NULL; +PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL; +PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL; +PFNGLDELETELISTSPROC glad_glDeleteLists = NULL; +PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL; +PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL; +PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL; +PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL; +PFNGLDELETESHADERPROC glad_glDeleteShader = NULL; +PFNGLDELETESYNCPROC glad_glDeleteSync = NULL; +PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL; +PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL; +PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL; +PFNGLDEPTHMASKPROC glad_glDepthMask = NULL; +PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL; +PFNGLDETACHSHADERPROC glad_glDetachShader = NULL; +PFNGLDISABLEPROC glad_glDisable = NULL; +PFNGLDISABLECLIENTSTATEPROC glad_glDisableClientState = NULL; +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL; +PFNGLDISABLEIPROC glad_glDisablei = NULL; +PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL; +PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL; +PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL; +PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL; +PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL; +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL; +PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL; +PFNGLDRAWPIXELSPROC glad_glDrawPixels = NULL; +PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL; +PFNGLEDGEFLAGPROC glad_glEdgeFlag = NULL; +PFNGLEDGEFLAGPOINTERPROC glad_glEdgeFlagPointer = NULL; +PFNGLEDGEFLAGVPROC glad_glEdgeFlagv = NULL; +PFNGLENABLEPROC glad_glEnable = NULL; +PFNGLENABLECLIENTSTATEPROC glad_glEnableClientState = NULL; +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL; +PFNGLENABLEIPROC glad_glEnablei = NULL; +PFNGLENDPROC glad_glEnd = NULL; +PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL; +PFNGLENDLISTPROC glad_glEndList = NULL; +PFNGLENDQUERYPROC glad_glEndQuery = NULL; +PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL; +PFNGLEVALCOORD1DPROC glad_glEvalCoord1d = NULL; +PFNGLEVALCOORD1DVPROC glad_glEvalCoord1dv = NULL; +PFNGLEVALCOORD1FPROC glad_glEvalCoord1f = NULL; +PFNGLEVALCOORD1FVPROC glad_glEvalCoord1fv = NULL; +PFNGLEVALCOORD2DPROC glad_glEvalCoord2d = NULL; +PFNGLEVALCOORD2DVPROC glad_glEvalCoord2dv = NULL; +PFNGLEVALCOORD2FPROC glad_glEvalCoord2f = NULL; +PFNGLEVALCOORD2FVPROC glad_glEvalCoord2fv = NULL; +PFNGLEVALMESH1PROC glad_glEvalMesh1 = NULL; +PFNGLEVALMESH2PROC glad_glEvalMesh2 = NULL; +PFNGLEVALPOINT1PROC glad_glEvalPoint1 = NULL; +PFNGLEVALPOINT2PROC glad_glEvalPoint2 = NULL; +PFNGLFEEDBACKBUFFERPROC glad_glFeedbackBuffer = NULL; +PFNGLFENCESYNCPROC glad_glFenceSync = NULL; +PFNGLFINISHPROC glad_glFinish = NULL; +PFNGLFLUSHPROC glad_glFlush = NULL; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL; +PFNGLFOGCOORDPOINTERPROC glad_glFogCoordPointer = NULL; +PFNGLFOGCOORDDPROC glad_glFogCoordd = NULL; +PFNGLFOGCOORDDVPROC glad_glFogCoorddv = NULL; +PFNGLFOGCOORDFPROC glad_glFogCoordf = NULL; +PFNGLFOGCOORDFVPROC glad_glFogCoordfv = NULL; +PFNGLFOGFPROC glad_glFogf = NULL; +PFNGLFOGFVPROC glad_glFogfv = NULL; +PFNGLFOGIPROC glad_glFogi = NULL; +PFNGLFOGIVPROC glad_glFogiv = NULL; +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL; +PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL; +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL; +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL; +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL; +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL; +PFNGLFRONTFACEPROC glad_glFrontFace = NULL; +PFNGLFRUSTUMPROC glad_glFrustum = NULL; +PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL; +PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL; +PFNGLGENLISTSPROC glad_glGenLists = NULL; +PFNGLGENQUERIESPROC glad_glGenQueries = NULL; +PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL; +PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL; +PFNGLGENTEXTURESPROC glad_glGenTextures = NULL; +PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL; +PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL; +PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL; +PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL; +PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL; +PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL; +PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL; +PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL; +PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL; +PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL; +PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL; +PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL; +PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL; +PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL; +PFNGLGETCLIPPLANEPROC glad_glGetClipPlane = NULL; +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL; +PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL; +PFNGLGETERRORPROC glad_glGetError = NULL; +PFNGLGETFLOATVPROC glad_glGetFloatv = NULL; +PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL; +PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL; +PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL; +PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL; +PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL; +PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL; +PFNGLGETLIGHTFVPROC glad_glGetLightfv = NULL; +PFNGLGETLIGHTIVPROC glad_glGetLightiv = NULL; +PFNGLGETMAPDVPROC glad_glGetMapdv = NULL; +PFNGLGETMAPFVPROC glad_glGetMapfv = NULL; +PFNGLGETMAPIVPROC glad_glGetMapiv = NULL; +PFNGLGETMATERIALFVPROC glad_glGetMaterialfv = NULL; +PFNGLGETMATERIALIVPROC glad_glGetMaterialiv = NULL; +PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL; +PFNGLGETPIXELMAPFVPROC glad_glGetPixelMapfv = NULL; +PFNGLGETPIXELMAPUIVPROC glad_glGetPixelMapuiv = NULL; +PFNGLGETPIXELMAPUSVPROC glad_glGetPixelMapusv = NULL; +PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL; +PFNGLGETPOLYGONSTIPPLEPROC glad_glGetPolygonStipple = NULL; +PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL; +PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL; +PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL; +PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL; +PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL; +PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL; +PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL; +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL; +PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL; +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL; +PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL; +PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL; +PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL; +PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL; +PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL; +PFNGLGETSTRINGPROC glad_glGetString = NULL; +PFNGLGETSTRINGIPROC glad_glGetStringi = NULL; +PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL; +PFNGLGETTEXENVFVPROC glad_glGetTexEnvfv = NULL; +PFNGLGETTEXENVIVPROC glad_glGetTexEnviv = NULL; +PFNGLGETTEXGENDVPROC glad_glGetTexGendv = NULL; +PFNGLGETTEXGENFVPROC glad_glGetTexGenfv = NULL; +PFNGLGETTEXGENIVPROC glad_glGetTexGeniv = NULL; +PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL; +PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL; +PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL; +PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL; +PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL; +PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL; +PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL; +PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL; +PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL; +PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL; +PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL; +PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL; +PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL; +PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL; +PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL; +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL; +PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL; +PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL; +PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL; +PFNGLHINTPROC glad_glHint = NULL; +PFNGLINDEXMASKPROC glad_glIndexMask = NULL; +PFNGLINDEXPOINTERPROC glad_glIndexPointer = NULL; +PFNGLINDEXDPROC glad_glIndexd = NULL; +PFNGLINDEXDVPROC glad_glIndexdv = NULL; +PFNGLINDEXFPROC glad_glIndexf = NULL; +PFNGLINDEXFVPROC glad_glIndexfv = NULL; +PFNGLINDEXIPROC glad_glIndexi = NULL; +PFNGLINDEXIVPROC glad_glIndexiv = NULL; +PFNGLINDEXSPROC glad_glIndexs = NULL; +PFNGLINDEXSVPROC glad_glIndexsv = NULL; +PFNGLINDEXUBPROC glad_glIndexub = NULL; +PFNGLINDEXUBVPROC glad_glIndexubv = NULL; +PFNGLINITNAMESPROC glad_glInitNames = NULL; +PFNGLINTERLEAVEDARRAYSPROC glad_glInterleavedArrays = NULL; +PFNGLISBUFFERPROC glad_glIsBuffer = NULL; +PFNGLISENABLEDPROC glad_glIsEnabled = NULL; +PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL; +PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL; +PFNGLISLISTPROC glad_glIsList = NULL; +PFNGLISPROGRAMPROC glad_glIsProgram = NULL; +PFNGLISQUERYPROC glad_glIsQuery = NULL; +PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL; +PFNGLISSAMPLERPROC glad_glIsSampler = NULL; +PFNGLISSHADERPROC glad_glIsShader = NULL; +PFNGLISSYNCPROC glad_glIsSync = NULL; +PFNGLISTEXTUREPROC glad_glIsTexture = NULL; +PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL; +PFNGLLIGHTMODELFPROC glad_glLightModelf = NULL; +PFNGLLIGHTMODELFVPROC glad_glLightModelfv = NULL; +PFNGLLIGHTMODELIPROC glad_glLightModeli = NULL; +PFNGLLIGHTMODELIVPROC glad_glLightModeliv = NULL; +PFNGLLIGHTFPROC glad_glLightf = NULL; +PFNGLLIGHTFVPROC glad_glLightfv = NULL; +PFNGLLIGHTIPROC glad_glLighti = NULL; +PFNGLLIGHTIVPROC glad_glLightiv = NULL; +PFNGLLINESTIPPLEPROC glad_glLineStipple = NULL; +PFNGLLINEWIDTHPROC glad_glLineWidth = NULL; +PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL; +PFNGLLISTBASEPROC glad_glListBase = NULL; +PFNGLLOADIDENTITYPROC glad_glLoadIdentity = NULL; +PFNGLLOADMATRIXDPROC glad_glLoadMatrixd = NULL; +PFNGLLOADMATRIXFPROC glad_glLoadMatrixf = NULL; +PFNGLLOADNAMEPROC glad_glLoadName = NULL; +PFNGLLOADTRANSPOSEMATRIXDPROC glad_glLoadTransposeMatrixd = NULL; +PFNGLLOADTRANSPOSEMATRIXFPROC glad_glLoadTransposeMatrixf = NULL; +PFNGLLOGICOPPROC glad_glLogicOp = NULL; +PFNGLMAP1DPROC glad_glMap1d = NULL; +PFNGLMAP1FPROC glad_glMap1f = NULL; +PFNGLMAP2DPROC glad_glMap2d = NULL; +PFNGLMAP2FPROC glad_glMap2f = NULL; +PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL; +PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL; +PFNGLMAPGRID1DPROC glad_glMapGrid1d = NULL; +PFNGLMAPGRID1FPROC glad_glMapGrid1f = NULL; +PFNGLMAPGRID2DPROC glad_glMapGrid2d = NULL; +PFNGLMAPGRID2FPROC glad_glMapGrid2f = NULL; +PFNGLMATERIALFPROC glad_glMaterialf = NULL; +PFNGLMATERIALFVPROC glad_glMaterialfv = NULL; +PFNGLMATERIALIPROC glad_glMateriali = NULL; +PFNGLMATERIALIVPROC glad_glMaterialiv = NULL; +PFNGLMATRIXMODEPROC glad_glMatrixMode = NULL; +PFNGLMULTMATRIXDPROC glad_glMultMatrixd = NULL; +PFNGLMULTMATRIXFPROC glad_glMultMatrixf = NULL; +PFNGLMULTTRANSPOSEMATRIXDPROC glad_glMultTransposeMatrixd = NULL; +PFNGLMULTTRANSPOSEMATRIXFPROC glad_glMultTransposeMatrixf = NULL; +PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL; +PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL; +PFNGLMULTITEXCOORD1DPROC glad_glMultiTexCoord1d = NULL; +PFNGLMULTITEXCOORD1DVPROC glad_glMultiTexCoord1dv = NULL; +PFNGLMULTITEXCOORD1FPROC glad_glMultiTexCoord1f = NULL; +PFNGLMULTITEXCOORD1FVPROC glad_glMultiTexCoord1fv = NULL; +PFNGLMULTITEXCOORD1IPROC glad_glMultiTexCoord1i = NULL; +PFNGLMULTITEXCOORD1IVPROC glad_glMultiTexCoord1iv = NULL; +PFNGLMULTITEXCOORD1SPROC glad_glMultiTexCoord1s = NULL; +PFNGLMULTITEXCOORD1SVPROC glad_glMultiTexCoord1sv = NULL; +PFNGLMULTITEXCOORD2DPROC glad_glMultiTexCoord2d = NULL; +PFNGLMULTITEXCOORD2DVPROC glad_glMultiTexCoord2dv = NULL; +PFNGLMULTITEXCOORD2FPROC glad_glMultiTexCoord2f = NULL; +PFNGLMULTITEXCOORD2FVPROC glad_glMultiTexCoord2fv = NULL; +PFNGLMULTITEXCOORD2IPROC glad_glMultiTexCoord2i = NULL; +PFNGLMULTITEXCOORD2IVPROC glad_glMultiTexCoord2iv = NULL; +PFNGLMULTITEXCOORD2SPROC glad_glMultiTexCoord2s = NULL; +PFNGLMULTITEXCOORD2SVPROC glad_glMultiTexCoord2sv = NULL; +PFNGLMULTITEXCOORD3DPROC glad_glMultiTexCoord3d = NULL; +PFNGLMULTITEXCOORD3DVPROC glad_glMultiTexCoord3dv = NULL; +PFNGLMULTITEXCOORD3FPROC glad_glMultiTexCoord3f = NULL; +PFNGLMULTITEXCOORD3FVPROC glad_glMultiTexCoord3fv = NULL; +PFNGLMULTITEXCOORD3IPROC glad_glMultiTexCoord3i = NULL; +PFNGLMULTITEXCOORD3IVPROC glad_glMultiTexCoord3iv = NULL; +PFNGLMULTITEXCOORD3SPROC glad_glMultiTexCoord3s = NULL; +PFNGLMULTITEXCOORD3SVPROC glad_glMultiTexCoord3sv = NULL; +PFNGLMULTITEXCOORD4DPROC glad_glMultiTexCoord4d = NULL; +PFNGLMULTITEXCOORD4DVPROC glad_glMultiTexCoord4dv = NULL; +PFNGLMULTITEXCOORD4FPROC glad_glMultiTexCoord4f = NULL; +PFNGLMULTITEXCOORD4FVPROC glad_glMultiTexCoord4fv = NULL; +PFNGLMULTITEXCOORD4IPROC glad_glMultiTexCoord4i = NULL; +PFNGLMULTITEXCOORD4IVPROC glad_glMultiTexCoord4iv = NULL; +PFNGLMULTITEXCOORD4SPROC glad_glMultiTexCoord4s = NULL; +PFNGLMULTITEXCOORD4SVPROC glad_glMultiTexCoord4sv = NULL; +PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL; +PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL; +PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL; +PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL; +PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL; +PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL; +PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL; +PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL; +PFNGLNEWLISTPROC glad_glNewList = NULL; +PFNGLNORMAL3BPROC glad_glNormal3b = NULL; +PFNGLNORMAL3BVPROC glad_glNormal3bv = NULL; +PFNGLNORMAL3DPROC glad_glNormal3d = NULL; +PFNGLNORMAL3DVPROC glad_glNormal3dv = NULL; +PFNGLNORMAL3FPROC glad_glNormal3f = NULL; +PFNGLNORMAL3FVPROC glad_glNormal3fv = NULL; +PFNGLNORMAL3IPROC glad_glNormal3i = NULL; +PFNGLNORMAL3IVPROC glad_glNormal3iv = NULL; +PFNGLNORMAL3SPROC glad_glNormal3s = NULL; +PFNGLNORMAL3SVPROC glad_glNormal3sv = NULL; +PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL; +PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL; +PFNGLNORMALPOINTERPROC glad_glNormalPointer = NULL; +PFNGLORTHOPROC glad_glOrtho = NULL; +PFNGLPASSTHROUGHPROC glad_glPassThrough = NULL; +PFNGLPIXELMAPFVPROC glad_glPixelMapfv = NULL; +PFNGLPIXELMAPUIVPROC glad_glPixelMapuiv = NULL; +PFNGLPIXELMAPUSVPROC glad_glPixelMapusv = NULL; +PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL; +PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL; +PFNGLPIXELTRANSFERFPROC glad_glPixelTransferf = NULL; +PFNGLPIXELTRANSFERIPROC glad_glPixelTransferi = NULL; +PFNGLPIXELZOOMPROC glad_glPixelZoom = NULL; +PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL; +PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL; +PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL; +PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL; +PFNGLPOINTSIZEPROC glad_glPointSize = NULL; +PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL; +PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL; +PFNGLPOLYGONSTIPPLEPROC glad_glPolygonStipple = NULL; +PFNGLPOPATTRIBPROC glad_glPopAttrib = NULL; +PFNGLPOPCLIENTATTRIBPROC glad_glPopClientAttrib = NULL; +PFNGLPOPMATRIXPROC glad_glPopMatrix = NULL; +PFNGLPOPNAMEPROC glad_glPopName = NULL; +PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL; +PFNGLPRIORITIZETEXTURESPROC glad_glPrioritizeTextures = NULL; +PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL; +PFNGLPUSHATTRIBPROC glad_glPushAttrib = NULL; +PFNGLPUSHCLIENTATTRIBPROC glad_glPushClientAttrib = NULL; +PFNGLPUSHMATRIXPROC glad_glPushMatrix = NULL; +PFNGLPUSHNAMEPROC glad_glPushName = NULL; +PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL; +PFNGLRASTERPOS2DPROC glad_glRasterPos2d = NULL; +PFNGLRASTERPOS2DVPROC glad_glRasterPos2dv = NULL; +PFNGLRASTERPOS2FPROC glad_glRasterPos2f = NULL; +PFNGLRASTERPOS2FVPROC glad_glRasterPos2fv = NULL; +PFNGLRASTERPOS2IPROC glad_glRasterPos2i = NULL; +PFNGLRASTERPOS2IVPROC glad_glRasterPos2iv = NULL; +PFNGLRASTERPOS2SPROC glad_glRasterPos2s = NULL; +PFNGLRASTERPOS2SVPROC glad_glRasterPos2sv = NULL; +PFNGLRASTERPOS3DPROC glad_glRasterPos3d = NULL; +PFNGLRASTERPOS3DVPROC glad_glRasterPos3dv = NULL; +PFNGLRASTERPOS3FPROC glad_glRasterPos3f = NULL; +PFNGLRASTERPOS3FVPROC glad_glRasterPos3fv = NULL; +PFNGLRASTERPOS3IPROC glad_glRasterPos3i = NULL; +PFNGLRASTERPOS3IVPROC glad_glRasterPos3iv = NULL; +PFNGLRASTERPOS3SPROC glad_glRasterPos3s = NULL; +PFNGLRASTERPOS3SVPROC glad_glRasterPos3sv = NULL; +PFNGLRASTERPOS4DPROC glad_glRasterPos4d = NULL; +PFNGLRASTERPOS4DVPROC glad_glRasterPos4dv = NULL; +PFNGLRASTERPOS4FPROC glad_glRasterPos4f = NULL; +PFNGLRASTERPOS4FVPROC glad_glRasterPos4fv = NULL; +PFNGLRASTERPOS4IPROC glad_glRasterPos4i = NULL; +PFNGLRASTERPOS4IVPROC glad_glRasterPos4iv = NULL; +PFNGLRASTERPOS4SPROC glad_glRasterPos4s = NULL; +PFNGLRASTERPOS4SVPROC glad_glRasterPos4sv = NULL; +PFNGLREADBUFFERPROC glad_glReadBuffer = NULL; +PFNGLREADPIXELSPROC glad_glReadPixels = NULL; +PFNGLRECTDPROC glad_glRectd = NULL; +PFNGLRECTDVPROC glad_glRectdv = NULL; +PFNGLRECTFPROC glad_glRectf = NULL; +PFNGLRECTFVPROC glad_glRectfv = NULL; +PFNGLRECTIPROC glad_glRecti = NULL; +PFNGLRECTIVPROC glad_glRectiv = NULL; +PFNGLRECTSPROC glad_glRects = NULL; +PFNGLRECTSVPROC glad_glRectsv = NULL; +PFNGLRENDERMODEPROC glad_glRenderMode = NULL; +PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL; +PFNGLROTATEDPROC glad_glRotated = NULL; +PFNGLROTATEFPROC glad_glRotatef = NULL; +PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL; +PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL; +PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL; +PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL; +PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL; +PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL; +PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL; +PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL; +PFNGLSCALEDPROC glad_glScaled = NULL; +PFNGLSCALEFPROC glad_glScalef = NULL; +PFNGLSCISSORPROC glad_glScissor = NULL; +PFNGLSECONDARYCOLOR3BPROC glad_glSecondaryColor3b = NULL; +PFNGLSECONDARYCOLOR3BVPROC glad_glSecondaryColor3bv = NULL; +PFNGLSECONDARYCOLOR3DPROC glad_glSecondaryColor3d = NULL; +PFNGLSECONDARYCOLOR3DVPROC glad_glSecondaryColor3dv = NULL; +PFNGLSECONDARYCOLOR3FPROC glad_glSecondaryColor3f = NULL; +PFNGLSECONDARYCOLOR3FVPROC glad_glSecondaryColor3fv = NULL; +PFNGLSECONDARYCOLOR3IPROC glad_glSecondaryColor3i = NULL; +PFNGLSECONDARYCOLOR3IVPROC glad_glSecondaryColor3iv = NULL; +PFNGLSECONDARYCOLOR3SPROC glad_glSecondaryColor3s = NULL; +PFNGLSECONDARYCOLOR3SVPROC glad_glSecondaryColor3sv = NULL; +PFNGLSECONDARYCOLOR3UBPROC glad_glSecondaryColor3ub = NULL; +PFNGLSECONDARYCOLOR3UBVPROC glad_glSecondaryColor3ubv = NULL; +PFNGLSECONDARYCOLOR3UIPROC glad_glSecondaryColor3ui = NULL; +PFNGLSECONDARYCOLOR3UIVPROC glad_glSecondaryColor3uiv = NULL; +PFNGLSECONDARYCOLOR3USPROC glad_glSecondaryColor3us = NULL; +PFNGLSECONDARYCOLOR3USVPROC glad_glSecondaryColor3usv = NULL; +PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL; +PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL; +PFNGLSECONDARYCOLORPOINTERPROC glad_glSecondaryColorPointer = NULL; +PFNGLSELECTBUFFERPROC glad_glSelectBuffer = NULL; +PFNGLSHADEMODELPROC glad_glShadeModel = NULL; +PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL; +PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL; +PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL; +PFNGLSTENCILMASKPROC glad_glStencilMask = NULL; +PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL; +PFNGLSTENCILOPPROC glad_glStencilOp = NULL; +PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL; +PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL; +PFNGLTEXCOORD1DPROC glad_glTexCoord1d = NULL; +PFNGLTEXCOORD1DVPROC glad_glTexCoord1dv = NULL; +PFNGLTEXCOORD1FPROC glad_glTexCoord1f = NULL; +PFNGLTEXCOORD1FVPROC glad_glTexCoord1fv = NULL; +PFNGLTEXCOORD1IPROC glad_glTexCoord1i = NULL; +PFNGLTEXCOORD1IVPROC glad_glTexCoord1iv = NULL; +PFNGLTEXCOORD1SPROC glad_glTexCoord1s = NULL; +PFNGLTEXCOORD1SVPROC glad_glTexCoord1sv = NULL; +PFNGLTEXCOORD2DPROC glad_glTexCoord2d = NULL; +PFNGLTEXCOORD2DVPROC glad_glTexCoord2dv = NULL; +PFNGLTEXCOORD2FPROC glad_glTexCoord2f = NULL; +PFNGLTEXCOORD2FVPROC glad_glTexCoord2fv = NULL; +PFNGLTEXCOORD2IPROC glad_glTexCoord2i = NULL; +PFNGLTEXCOORD2IVPROC glad_glTexCoord2iv = NULL; +PFNGLTEXCOORD2SPROC glad_glTexCoord2s = NULL; +PFNGLTEXCOORD2SVPROC glad_glTexCoord2sv = NULL; +PFNGLTEXCOORD3DPROC glad_glTexCoord3d = NULL; +PFNGLTEXCOORD3DVPROC glad_glTexCoord3dv = NULL; +PFNGLTEXCOORD3FPROC glad_glTexCoord3f = NULL; +PFNGLTEXCOORD3FVPROC glad_glTexCoord3fv = NULL; +PFNGLTEXCOORD3IPROC glad_glTexCoord3i = NULL; +PFNGLTEXCOORD3IVPROC glad_glTexCoord3iv = NULL; +PFNGLTEXCOORD3SPROC glad_glTexCoord3s = NULL; +PFNGLTEXCOORD3SVPROC glad_glTexCoord3sv = NULL; +PFNGLTEXCOORD4DPROC glad_glTexCoord4d = NULL; +PFNGLTEXCOORD4DVPROC glad_glTexCoord4dv = NULL; +PFNGLTEXCOORD4FPROC glad_glTexCoord4f = NULL; +PFNGLTEXCOORD4FVPROC glad_glTexCoord4fv = NULL; +PFNGLTEXCOORD4IPROC glad_glTexCoord4i = NULL; +PFNGLTEXCOORD4IVPROC glad_glTexCoord4iv = NULL; +PFNGLTEXCOORD4SPROC glad_glTexCoord4s = NULL; +PFNGLTEXCOORD4SVPROC glad_glTexCoord4sv = NULL; +PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL; +PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL; +PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL; +PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL; +PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL; +PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL; +PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL; +PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL; +PFNGLTEXCOORDPOINTERPROC glad_glTexCoordPointer = NULL; +PFNGLTEXENVFPROC glad_glTexEnvf = NULL; +PFNGLTEXENVFVPROC glad_glTexEnvfv = NULL; +PFNGLTEXENVIPROC glad_glTexEnvi = NULL; +PFNGLTEXENVIVPROC glad_glTexEnviv = NULL; +PFNGLTEXGENDPROC glad_glTexGend = NULL; +PFNGLTEXGENDVPROC glad_glTexGendv = NULL; +PFNGLTEXGENFPROC glad_glTexGenf = NULL; +PFNGLTEXGENFVPROC glad_glTexGenfv = NULL; +PFNGLTEXGENIPROC glad_glTexGeni = NULL; +PFNGLTEXGENIVPROC glad_glTexGeniv = NULL; +PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL; +PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL; +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL; +PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL; +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL; +PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL; +PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL; +PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL; +PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL; +PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL; +PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL; +PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL; +PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL; +PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL; +PFNGLTRANSLATEDPROC glad_glTranslated = NULL; +PFNGLTRANSLATEFPROC glad_glTranslatef = NULL; +PFNGLUNIFORM1FPROC glad_glUniform1f = NULL; +PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL; +PFNGLUNIFORM1IPROC glad_glUniform1i = NULL; +PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL; +PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL; +PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL; +PFNGLUNIFORM2FPROC glad_glUniform2f = NULL; +PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL; +PFNGLUNIFORM2IPROC glad_glUniform2i = NULL; +PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL; +PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL; +PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL; +PFNGLUNIFORM3FPROC glad_glUniform3f = NULL; +PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL; +PFNGLUNIFORM3IPROC glad_glUniform3i = NULL; +PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL; +PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL; +PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL; +PFNGLUNIFORM4FPROC glad_glUniform4f = NULL; +PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL; +PFNGLUNIFORM4IPROC glad_glUniform4i = NULL; +PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL; +PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL; +PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL; +PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL; +PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL; +PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL; +PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL; +PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL; +PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL; +PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL; +PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL; +PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL; +PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL; +PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL; +PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL; +PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL; +PFNGLVERTEX2DPROC glad_glVertex2d = NULL; +PFNGLVERTEX2DVPROC glad_glVertex2dv = NULL; +PFNGLVERTEX2FPROC glad_glVertex2f = NULL; +PFNGLVERTEX2FVPROC glad_glVertex2fv = NULL; +PFNGLVERTEX2IPROC glad_glVertex2i = NULL; +PFNGLVERTEX2IVPROC glad_glVertex2iv = NULL; +PFNGLVERTEX2SPROC glad_glVertex2s = NULL; +PFNGLVERTEX2SVPROC glad_glVertex2sv = NULL; +PFNGLVERTEX3DPROC glad_glVertex3d = NULL; +PFNGLVERTEX3DVPROC glad_glVertex3dv = NULL; +PFNGLVERTEX3FPROC glad_glVertex3f = NULL; +PFNGLVERTEX3FVPROC glad_glVertex3fv = NULL; +PFNGLVERTEX3IPROC glad_glVertex3i = NULL; +PFNGLVERTEX3IVPROC glad_glVertex3iv = NULL; +PFNGLVERTEX3SPROC glad_glVertex3s = NULL; +PFNGLVERTEX3SVPROC glad_glVertex3sv = NULL; +PFNGLVERTEX4DPROC glad_glVertex4d = NULL; +PFNGLVERTEX4DVPROC glad_glVertex4dv = NULL; +PFNGLVERTEX4FPROC glad_glVertex4f = NULL; +PFNGLVERTEX4FVPROC glad_glVertex4fv = NULL; +PFNGLVERTEX4IPROC glad_glVertex4i = NULL; +PFNGLVERTEX4IVPROC glad_glVertex4iv = NULL; +PFNGLVERTEX4SPROC glad_glVertex4s = NULL; +PFNGLVERTEX4SVPROC glad_glVertex4sv = NULL; +PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL; +PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL; +PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL; +PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL; +PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL; +PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL; +PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL; +PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL; +PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL; +PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL; +PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL; +PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL; +PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL; +PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL; +PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL; +PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL; +PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL; +PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL; +PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL; +PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL; +PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL; +PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL; +PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL; +PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL; +PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL; +PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL; +PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL; +PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL; +PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL; +PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL; +PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL; +PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL; +PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL; +PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL; +PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL; +PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL; +PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL; +PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL; +PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL; +PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL; +PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL; +PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL; +PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL; +PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL; +PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL; +PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL; +PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL; +PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL; +PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL; +PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL; +PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL; +PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL; +PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL; +PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL; +PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL; +PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL; +PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL; +PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL; +PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL; +PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL; +PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL; +PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL; +PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL; +PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL; +PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL; +PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL; +PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL; +PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL; +PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL; +PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL; +PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL; +PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL; +PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL; +PFNGLVERTEXPOINTERPROC glad_glVertexPointer = NULL; +PFNGLVIEWPORTPROC glad_glViewport = NULL; +PFNGLWAITSYNCPROC glad_glWaitSync = NULL; +PFNGLWINDOWPOS2DPROC glad_glWindowPos2d = NULL; +PFNGLWINDOWPOS2DVPROC glad_glWindowPos2dv = NULL; +PFNGLWINDOWPOS2FPROC glad_glWindowPos2f = NULL; +PFNGLWINDOWPOS2FVPROC glad_glWindowPos2fv = NULL; +PFNGLWINDOWPOS2IPROC glad_glWindowPos2i = NULL; +PFNGLWINDOWPOS2IVPROC glad_glWindowPos2iv = NULL; +PFNGLWINDOWPOS2SPROC glad_glWindowPos2s = NULL; +PFNGLWINDOWPOS2SVPROC glad_glWindowPos2sv = NULL; +PFNGLWINDOWPOS3DPROC glad_glWindowPos3d = NULL; +PFNGLWINDOWPOS3DVPROC glad_glWindowPos3dv = NULL; +PFNGLWINDOWPOS3FPROC glad_glWindowPos3f = NULL; +PFNGLWINDOWPOS3FVPROC glad_glWindowPos3fv = NULL; +PFNGLWINDOWPOS3IPROC glad_glWindowPos3i = NULL; +PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv = NULL; +PFNGLWINDOWPOS3SPROC glad_glWindowPos3s = NULL; +PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv = NULL; +static void load_GL_VERSION_1_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_0) return; + glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); + glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace"); + glad_glHint = (PFNGLHINTPROC)load("glHint"); + glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth"); + glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize"); + glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode"); + glad_glScissor = (PFNGLSCISSORPROC)load("glScissor"); + glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf"); + glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv"); + glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri"); + glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv"); + glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D"); + glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D"); + glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer"); + glad_glClear = (PFNGLCLEARPROC)load("glClear"); + glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor"); + glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil"); + glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth"); + glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask"); + glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask"); + glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask"); + glad_glDisable = (PFNGLDISABLEPROC)load("glDisable"); + glad_glEnable = (PFNGLENABLEPROC)load("glEnable"); + glad_glFinish = (PFNGLFINISHPROC)load("glFinish"); + glad_glFlush = (PFNGLFLUSHPROC)load("glFlush"); + glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc"); + glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp"); + glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc"); + glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp"); + glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc"); + glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref"); + glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei"); + glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer"); + glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels"); + glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv"); + glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev"); + glad_glGetError = (PFNGLGETERRORPROC)load("glGetError"); + glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv"); + glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv"); + glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage"); + glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv"); + glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv"); + glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv"); + glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv"); + glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled"); + glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange"); + glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport"); + glad_glNewList = (PFNGLNEWLISTPROC)load("glNewList"); + glad_glEndList = (PFNGLENDLISTPROC)load("glEndList"); + glad_glCallList = (PFNGLCALLLISTPROC)load("glCallList"); + glad_glCallLists = (PFNGLCALLLISTSPROC)load("glCallLists"); + glad_glDeleteLists = (PFNGLDELETELISTSPROC)load("glDeleteLists"); + glad_glGenLists = (PFNGLGENLISTSPROC)load("glGenLists"); + glad_glListBase = (PFNGLLISTBASEPROC)load("glListBase"); + glad_glBegin = (PFNGLBEGINPROC)load("glBegin"); + glad_glBitmap = (PFNGLBITMAPPROC)load("glBitmap"); + glad_glColor3b = (PFNGLCOLOR3BPROC)load("glColor3b"); + glad_glColor3bv = (PFNGLCOLOR3BVPROC)load("glColor3bv"); + glad_glColor3d = (PFNGLCOLOR3DPROC)load("glColor3d"); + glad_glColor3dv = (PFNGLCOLOR3DVPROC)load("glColor3dv"); + glad_glColor3f = (PFNGLCOLOR3FPROC)load("glColor3f"); + glad_glColor3fv = (PFNGLCOLOR3FVPROC)load("glColor3fv"); + glad_glColor3i = (PFNGLCOLOR3IPROC)load("glColor3i"); + glad_glColor3iv = (PFNGLCOLOR3IVPROC)load("glColor3iv"); + glad_glColor3s = (PFNGLCOLOR3SPROC)load("glColor3s"); + glad_glColor3sv = (PFNGLCOLOR3SVPROC)load("glColor3sv"); + glad_glColor3ub = (PFNGLCOLOR3UBPROC)load("glColor3ub"); + glad_glColor3ubv = (PFNGLCOLOR3UBVPROC)load("glColor3ubv"); + glad_glColor3ui = (PFNGLCOLOR3UIPROC)load("glColor3ui"); + glad_glColor3uiv = (PFNGLCOLOR3UIVPROC)load("glColor3uiv"); + glad_glColor3us = (PFNGLCOLOR3USPROC)load("glColor3us"); + glad_glColor3usv = (PFNGLCOLOR3USVPROC)load("glColor3usv"); + glad_glColor4b = (PFNGLCOLOR4BPROC)load("glColor4b"); + glad_glColor4bv = (PFNGLCOLOR4BVPROC)load("glColor4bv"); + glad_glColor4d = (PFNGLCOLOR4DPROC)load("glColor4d"); + glad_glColor4dv = (PFNGLCOLOR4DVPROC)load("glColor4dv"); + glad_glColor4f = (PFNGLCOLOR4FPROC)load("glColor4f"); + glad_glColor4fv = (PFNGLCOLOR4FVPROC)load("glColor4fv"); + glad_glColor4i = (PFNGLCOLOR4IPROC)load("glColor4i"); + glad_glColor4iv = (PFNGLCOLOR4IVPROC)load("glColor4iv"); + glad_glColor4s = (PFNGLCOLOR4SPROC)load("glColor4s"); + glad_glColor4sv = (PFNGLCOLOR4SVPROC)load("glColor4sv"); + glad_glColor4ub = (PFNGLCOLOR4UBPROC)load("glColor4ub"); + glad_glColor4ubv = (PFNGLCOLOR4UBVPROC)load("glColor4ubv"); + glad_glColor4ui = (PFNGLCOLOR4UIPROC)load("glColor4ui"); + glad_glColor4uiv = (PFNGLCOLOR4UIVPROC)load("glColor4uiv"); + glad_glColor4us = (PFNGLCOLOR4USPROC)load("glColor4us"); + glad_glColor4usv = (PFNGLCOLOR4USVPROC)load("glColor4usv"); + glad_glEdgeFlag = (PFNGLEDGEFLAGPROC)load("glEdgeFlag"); + glad_glEdgeFlagv = (PFNGLEDGEFLAGVPROC)load("glEdgeFlagv"); + glad_glEnd = (PFNGLENDPROC)load("glEnd"); + glad_glIndexd = (PFNGLINDEXDPROC)load("glIndexd"); + glad_glIndexdv = (PFNGLINDEXDVPROC)load("glIndexdv"); + glad_glIndexf = (PFNGLINDEXFPROC)load("glIndexf"); + glad_glIndexfv = (PFNGLINDEXFVPROC)load("glIndexfv"); + glad_glIndexi = (PFNGLINDEXIPROC)load("glIndexi"); + glad_glIndexiv = (PFNGLINDEXIVPROC)load("glIndexiv"); + glad_glIndexs = (PFNGLINDEXSPROC)load("glIndexs"); + glad_glIndexsv = (PFNGLINDEXSVPROC)load("glIndexsv"); + glad_glNormal3b = (PFNGLNORMAL3BPROC)load("glNormal3b"); + glad_glNormal3bv = (PFNGLNORMAL3BVPROC)load("glNormal3bv"); + glad_glNormal3d = (PFNGLNORMAL3DPROC)load("glNormal3d"); + glad_glNormal3dv = (PFNGLNORMAL3DVPROC)load("glNormal3dv"); + glad_glNormal3f = (PFNGLNORMAL3FPROC)load("glNormal3f"); + glad_glNormal3fv = (PFNGLNORMAL3FVPROC)load("glNormal3fv"); + glad_glNormal3i = (PFNGLNORMAL3IPROC)load("glNormal3i"); + glad_glNormal3iv = (PFNGLNORMAL3IVPROC)load("glNormal3iv"); + glad_glNormal3s = (PFNGLNORMAL3SPROC)load("glNormal3s"); + glad_glNormal3sv = (PFNGLNORMAL3SVPROC)load("glNormal3sv"); + glad_glRasterPos2d = (PFNGLRASTERPOS2DPROC)load("glRasterPos2d"); + glad_glRasterPos2dv = (PFNGLRASTERPOS2DVPROC)load("glRasterPos2dv"); + glad_glRasterPos2f = (PFNGLRASTERPOS2FPROC)load("glRasterPos2f"); + glad_glRasterPos2fv = (PFNGLRASTERPOS2FVPROC)load("glRasterPos2fv"); + glad_glRasterPos2i = (PFNGLRASTERPOS2IPROC)load("glRasterPos2i"); + glad_glRasterPos2iv = (PFNGLRASTERPOS2IVPROC)load("glRasterPos2iv"); + glad_glRasterPos2s = (PFNGLRASTERPOS2SPROC)load("glRasterPos2s"); + glad_glRasterPos2sv = (PFNGLRASTERPOS2SVPROC)load("glRasterPos2sv"); + glad_glRasterPos3d = (PFNGLRASTERPOS3DPROC)load("glRasterPos3d"); + glad_glRasterPos3dv = (PFNGLRASTERPOS3DVPROC)load("glRasterPos3dv"); + glad_glRasterPos3f = (PFNGLRASTERPOS3FPROC)load("glRasterPos3f"); + glad_glRasterPos3fv = (PFNGLRASTERPOS3FVPROC)load("glRasterPos3fv"); + glad_glRasterPos3i = (PFNGLRASTERPOS3IPROC)load("glRasterPos3i"); + glad_glRasterPos3iv = (PFNGLRASTERPOS3IVPROC)load("glRasterPos3iv"); + glad_glRasterPos3s = (PFNGLRASTERPOS3SPROC)load("glRasterPos3s"); + glad_glRasterPos3sv = (PFNGLRASTERPOS3SVPROC)load("glRasterPos3sv"); + glad_glRasterPos4d = (PFNGLRASTERPOS4DPROC)load("glRasterPos4d"); + glad_glRasterPos4dv = (PFNGLRASTERPOS4DVPROC)load("glRasterPos4dv"); + glad_glRasterPos4f = (PFNGLRASTERPOS4FPROC)load("glRasterPos4f"); + glad_glRasterPos4fv = (PFNGLRASTERPOS4FVPROC)load("glRasterPos4fv"); + glad_glRasterPos4i = (PFNGLRASTERPOS4IPROC)load("glRasterPos4i"); + glad_glRasterPos4iv = (PFNGLRASTERPOS4IVPROC)load("glRasterPos4iv"); + glad_glRasterPos4s = (PFNGLRASTERPOS4SPROC)load("glRasterPos4s"); + glad_glRasterPos4sv = (PFNGLRASTERPOS4SVPROC)load("glRasterPos4sv"); + glad_glRectd = (PFNGLRECTDPROC)load("glRectd"); + glad_glRectdv = (PFNGLRECTDVPROC)load("glRectdv"); + glad_glRectf = (PFNGLRECTFPROC)load("glRectf"); + glad_glRectfv = (PFNGLRECTFVPROC)load("glRectfv"); + glad_glRecti = (PFNGLRECTIPROC)load("glRecti"); + glad_glRectiv = (PFNGLRECTIVPROC)load("glRectiv"); + glad_glRects = (PFNGLRECTSPROC)load("glRects"); + glad_glRectsv = (PFNGLRECTSVPROC)load("glRectsv"); + glad_glTexCoord1d = (PFNGLTEXCOORD1DPROC)load("glTexCoord1d"); + glad_glTexCoord1dv = (PFNGLTEXCOORD1DVPROC)load("glTexCoord1dv"); + glad_glTexCoord1f = (PFNGLTEXCOORD1FPROC)load("glTexCoord1f"); + glad_glTexCoord1fv = (PFNGLTEXCOORD1FVPROC)load("glTexCoord1fv"); + glad_glTexCoord1i = (PFNGLTEXCOORD1IPROC)load("glTexCoord1i"); + glad_glTexCoord1iv = (PFNGLTEXCOORD1IVPROC)load("glTexCoord1iv"); + glad_glTexCoord1s = (PFNGLTEXCOORD1SPROC)load("glTexCoord1s"); + glad_glTexCoord1sv = (PFNGLTEXCOORD1SVPROC)load("glTexCoord1sv"); + glad_glTexCoord2d = (PFNGLTEXCOORD2DPROC)load("glTexCoord2d"); + glad_glTexCoord2dv = (PFNGLTEXCOORD2DVPROC)load("glTexCoord2dv"); + glad_glTexCoord2f = (PFNGLTEXCOORD2FPROC)load("glTexCoord2f"); + glad_glTexCoord2fv = (PFNGLTEXCOORD2FVPROC)load("glTexCoord2fv"); + glad_glTexCoord2i = (PFNGLTEXCOORD2IPROC)load("glTexCoord2i"); + glad_glTexCoord2iv = (PFNGLTEXCOORD2IVPROC)load("glTexCoord2iv"); + glad_glTexCoord2s = (PFNGLTEXCOORD2SPROC)load("glTexCoord2s"); + glad_glTexCoord2sv = (PFNGLTEXCOORD2SVPROC)load("glTexCoord2sv"); + glad_glTexCoord3d = (PFNGLTEXCOORD3DPROC)load("glTexCoord3d"); + glad_glTexCoord3dv = (PFNGLTEXCOORD3DVPROC)load("glTexCoord3dv"); + glad_glTexCoord3f = (PFNGLTEXCOORD3FPROC)load("glTexCoord3f"); + glad_glTexCoord3fv = (PFNGLTEXCOORD3FVPROC)load("glTexCoord3fv"); + glad_glTexCoord3i = (PFNGLTEXCOORD3IPROC)load("glTexCoord3i"); + glad_glTexCoord3iv = (PFNGLTEXCOORD3IVPROC)load("glTexCoord3iv"); + glad_glTexCoord3s = (PFNGLTEXCOORD3SPROC)load("glTexCoord3s"); + glad_glTexCoord3sv = (PFNGLTEXCOORD3SVPROC)load("glTexCoord3sv"); + glad_glTexCoord4d = (PFNGLTEXCOORD4DPROC)load("glTexCoord4d"); + glad_glTexCoord4dv = (PFNGLTEXCOORD4DVPROC)load("glTexCoord4dv"); + glad_glTexCoord4f = (PFNGLTEXCOORD4FPROC)load("glTexCoord4f"); + glad_glTexCoord4fv = (PFNGLTEXCOORD4FVPROC)load("glTexCoord4fv"); + glad_glTexCoord4i = (PFNGLTEXCOORD4IPROC)load("glTexCoord4i"); + glad_glTexCoord4iv = (PFNGLTEXCOORD4IVPROC)load("glTexCoord4iv"); + glad_glTexCoord4s = (PFNGLTEXCOORD4SPROC)load("glTexCoord4s"); + glad_glTexCoord4sv = (PFNGLTEXCOORD4SVPROC)load("glTexCoord4sv"); + glad_glVertex2d = (PFNGLVERTEX2DPROC)load("glVertex2d"); + glad_glVertex2dv = (PFNGLVERTEX2DVPROC)load("glVertex2dv"); + glad_glVertex2f = (PFNGLVERTEX2FPROC)load("glVertex2f"); + glad_glVertex2fv = (PFNGLVERTEX2FVPROC)load("glVertex2fv"); + glad_glVertex2i = (PFNGLVERTEX2IPROC)load("glVertex2i"); + glad_glVertex2iv = (PFNGLVERTEX2IVPROC)load("glVertex2iv"); + glad_glVertex2s = (PFNGLVERTEX2SPROC)load("glVertex2s"); + glad_glVertex2sv = (PFNGLVERTEX2SVPROC)load("glVertex2sv"); + glad_glVertex3d = (PFNGLVERTEX3DPROC)load("glVertex3d"); + glad_glVertex3dv = (PFNGLVERTEX3DVPROC)load("glVertex3dv"); + glad_glVertex3f = (PFNGLVERTEX3FPROC)load("glVertex3f"); + glad_glVertex3fv = (PFNGLVERTEX3FVPROC)load("glVertex3fv"); + glad_glVertex3i = (PFNGLVERTEX3IPROC)load("glVertex3i"); + glad_glVertex3iv = (PFNGLVERTEX3IVPROC)load("glVertex3iv"); + glad_glVertex3s = (PFNGLVERTEX3SPROC)load("glVertex3s"); + glad_glVertex3sv = (PFNGLVERTEX3SVPROC)load("glVertex3sv"); + glad_glVertex4d = (PFNGLVERTEX4DPROC)load("glVertex4d"); + glad_glVertex4dv = (PFNGLVERTEX4DVPROC)load("glVertex4dv"); + glad_glVertex4f = (PFNGLVERTEX4FPROC)load("glVertex4f"); + glad_glVertex4fv = (PFNGLVERTEX4FVPROC)load("glVertex4fv"); + glad_glVertex4i = (PFNGLVERTEX4IPROC)load("glVertex4i"); + glad_glVertex4iv = (PFNGLVERTEX4IVPROC)load("glVertex4iv"); + glad_glVertex4s = (PFNGLVERTEX4SPROC)load("glVertex4s"); + glad_glVertex4sv = (PFNGLVERTEX4SVPROC)load("glVertex4sv"); + glad_glClipPlane = (PFNGLCLIPPLANEPROC)load("glClipPlane"); + glad_glColorMaterial = (PFNGLCOLORMATERIALPROC)load("glColorMaterial"); + glad_glFogf = (PFNGLFOGFPROC)load("glFogf"); + glad_glFogfv = (PFNGLFOGFVPROC)load("glFogfv"); + glad_glFogi = (PFNGLFOGIPROC)load("glFogi"); + glad_glFogiv = (PFNGLFOGIVPROC)load("glFogiv"); + glad_glLightf = (PFNGLLIGHTFPROC)load("glLightf"); + glad_glLightfv = (PFNGLLIGHTFVPROC)load("glLightfv"); + glad_glLighti = (PFNGLLIGHTIPROC)load("glLighti"); + glad_glLightiv = (PFNGLLIGHTIVPROC)load("glLightiv"); + glad_glLightModelf = (PFNGLLIGHTMODELFPROC)load("glLightModelf"); + glad_glLightModelfv = (PFNGLLIGHTMODELFVPROC)load("glLightModelfv"); + glad_glLightModeli = (PFNGLLIGHTMODELIPROC)load("glLightModeli"); + glad_glLightModeliv = (PFNGLLIGHTMODELIVPROC)load("glLightModeliv"); + glad_glLineStipple = (PFNGLLINESTIPPLEPROC)load("glLineStipple"); + glad_glMaterialf = (PFNGLMATERIALFPROC)load("glMaterialf"); + glad_glMaterialfv = (PFNGLMATERIALFVPROC)load("glMaterialfv"); + glad_glMateriali = (PFNGLMATERIALIPROC)load("glMateriali"); + glad_glMaterialiv = (PFNGLMATERIALIVPROC)load("glMaterialiv"); + glad_glPolygonStipple = (PFNGLPOLYGONSTIPPLEPROC)load("glPolygonStipple"); + glad_glShadeModel = (PFNGLSHADEMODELPROC)load("glShadeModel"); + glad_glTexEnvf = (PFNGLTEXENVFPROC)load("glTexEnvf"); + glad_glTexEnvfv = (PFNGLTEXENVFVPROC)load("glTexEnvfv"); + glad_glTexEnvi = (PFNGLTEXENVIPROC)load("glTexEnvi"); + glad_glTexEnviv = (PFNGLTEXENVIVPROC)load("glTexEnviv"); + glad_glTexGend = (PFNGLTEXGENDPROC)load("glTexGend"); + glad_glTexGendv = (PFNGLTEXGENDVPROC)load("glTexGendv"); + glad_glTexGenf = (PFNGLTEXGENFPROC)load("glTexGenf"); + glad_glTexGenfv = (PFNGLTEXGENFVPROC)load("glTexGenfv"); + glad_glTexGeni = (PFNGLTEXGENIPROC)load("glTexGeni"); + glad_glTexGeniv = (PFNGLTEXGENIVPROC)load("glTexGeniv"); + glad_glFeedbackBuffer = (PFNGLFEEDBACKBUFFERPROC)load("glFeedbackBuffer"); + glad_glSelectBuffer = (PFNGLSELECTBUFFERPROC)load("glSelectBuffer"); + glad_glRenderMode = (PFNGLRENDERMODEPROC)load("glRenderMode"); + glad_glInitNames = (PFNGLINITNAMESPROC)load("glInitNames"); + glad_glLoadName = (PFNGLLOADNAMEPROC)load("glLoadName"); + glad_glPassThrough = (PFNGLPASSTHROUGHPROC)load("glPassThrough"); + glad_glPopName = (PFNGLPOPNAMEPROC)load("glPopName"); + glad_glPushName = (PFNGLPUSHNAMEPROC)load("glPushName"); + glad_glClearAccum = (PFNGLCLEARACCUMPROC)load("glClearAccum"); + glad_glClearIndex = (PFNGLCLEARINDEXPROC)load("glClearIndex"); + glad_glIndexMask = (PFNGLINDEXMASKPROC)load("glIndexMask"); + glad_glAccum = (PFNGLACCUMPROC)load("glAccum"); + glad_glPopAttrib = (PFNGLPOPATTRIBPROC)load("glPopAttrib"); + glad_glPushAttrib = (PFNGLPUSHATTRIBPROC)load("glPushAttrib"); + glad_glMap1d = (PFNGLMAP1DPROC)load("glMap1d"); + glad_glMap1f = (PFNGLMAP1FPROC)load("glMap1f"); + glad_glMap2d = (PFNGLMAP2DPROC)load("glMap2d"); + glad_glMap2f = (PFNGLMAP2FPROC)load("glMap2f"); + glad_glMapGrid1d = (PFNGLMAPGRID1DPROC)load("glMapGrid1d"); + glad_glMapGrid1f = (PFNGLMAPGRID1FPROC)load("glMapGrid1f"); + glad_glMapGrid2d = (PFNGLMAPGRID2DPROC)load("glMapGrid2d"); + glad_glMapGrid2f = (PFNGLMAPGRID2FPROC)load("glMapGrid2f"); + glad_glEvalCoord1d = (PFNGLEVALCOORD1DPROC)load("glEvalCoord1d"); + glad_glEvalCoord1dv = (PFNGLEVALCOORD1DVPROC)load("glEvalCoord1dv"); + glad_glEvalCoord1f = (PFNGLEVALCOORD1FPROC)load("glEvalCoord1f"); + glad_glEvalCoord1fv = (PFNGLEVALCOORD1FVPROC)load("glEvalCoord1fv"); + glad_glEvalCoord2d = (PFNGLEVALCOORD2DPROC)load("glEvalCoord2d"); + glad_glEvalCoord2dv = (PFNGLEVALCOORD2DVPROC)load("glEvalCoord2dv"); + glad_glEvalCoord2f = (PFNGLEVALCOORD2FPROC)load("glEvalCoord2f"); + glad_glEvalCoord2fv = (PFNGLEVALCOORD2FVPROC)load("glEvalCoord2fv"); + glad_glEvalMesh1 = (PFNGLEVALMESH1PROC)load("glEvalMesh1"); + glad_glEvalPoint1 = (PFNGLEVALPOINT1PROC)load("glEvalPoint1"); + glad_glEvalMesh2 = (PFNGLEVALMESH2PROC)load("glEvalMesh2"); + glad_glEvalPoint2 = (PFNGLEVALPOINT2PROC)load("glEvalPoint2"); + glad_glAlphaFunc = (PFNGLALPHAFUNCPROC)load("glAlphaFunc"); + glad_glPixelZoom = (PFNGLPIXELZOOMPROC)load("glPixelZoom"); + glad_glPixelTransferf = (PFNGLPIXELTRANSFERFPROC)load("glPixelTransferf"); + glad_glPixelTransferi = (PFNGLPIXELTRANSFERIPROC)load("glPixelTransferi"); + glad_glPixelMapfv = (PFNGLPIXELMAPFVPROC)load("glPixelMapfv"); + glad_glPixelMapuiv = (PFNGLPIXELMAPUIVPROC)load("glPixelMapuiv"); + glad_glPixelMapusv = (PFNGLPIXELMAPUSVPROC)load("glPixelMapusv"); + glad_glCopyPixels = (PFNGLCOPYPIXELSPROC)load("glCopyPixels"); + glad_glDrawPixels = (PFNGLDRAWPIXELSPROC)load("glDrawPixels"); + glad_glGetClipPlane = (PFNGLGETCLIPPLANEPROC)load("glGetClipPlane"); + glad_glGetLightfv = (PFNGLGETLIGHTFVPROC)load("glGetLightfv"); + glad_glGetLightiv = (PFNGLGETLIGHTIVPROC)load("glGetLightiv"); + glad_glGetMapdv = (PFNGLGETMAPDVPROC)load("glGetMapdv"); + glad_glGetMapfv = (PFNGLGETMAPFVPROC)load("glGetMapfv"); + glad_glGetMapiv = (PFNGLGETMAPIVPROC)load("glGetMapiv"); + glad_glGetMaterialfv = (PFNGLGETMATERIALFVPROC)load("glGetMaterialfv"); + glad_glGetMaterialiv = (PFNGLGETMATERIALIVPROC)load("glGetMaterialiv"); + glad_glGetPixelMapfv = (PFNGLGETPIXELMAPFVPROC)load("glGetPixelMapfv"); + glad_glGetPixelMapuiv = (PFNGLGETPIXELMAPUIVPROC)load("glGetPixelMapuiv"); + glad_glGetPixelMapusv = (PFNGLGETPIXELMAPUSVPROC)load("glGetPixelMapusv"); + glad_glGetPolygonStipple = (PFNGLGETPOLYGONSTIPPLEPROC)load("glGetPolygonStipple"); + glad_glGetTexEnvfv = (PFNGLGETTEXENVFVPROC)load("glGetTexEnvfv"); + glad_glGetTexEnviv = (PFNGLGETTEXENVIVPROC)load("glGetTexEnviv"); + glad_glGetTexGendv = (PFNGLGETTEXGENDVPROC)load("glGetTexGendv"); + glad_glGetTexGenfv = (PFNGLGETTEXGENFVPROC)load("glGetTexGenfv"); + glad_glGetTexGeniv = (PFNGLGETTEXGENIVPROC)load("glGetTexGeniv"); + glad_glIsList = (PFNGLISLISTPROC)load("glIsList"); + glad_glFrustum = (PFNGLFRUSTUMPROC)load("glFrustum"); + glad_glLoadIdentity = (PFNGLLOADIDENTITYPROC)load("glLoadIdentity"); + glad_glLoadMatrixf = (PFNGLLOADMATRIXFPROC)load("glLoadMatrixf"); + glad_glLoadMatrixd = (PFNGLLOADMATRIXDPROC)load("glLoadMatrixd"); + glad_glMatrixMode = (PFNGLMATRIXMODEPROC)load("glMatrixMode"); + glad_glMultMatrixf = (PFNGLMULTMATRIXFPROC)load("glMultMatrixf"); + glad_glMultMatrixd = (PFNGLMULTMATRIXDPROC)load("glMultMatrixd"); + glad_glOrtho = (PFNGLORTHOPROC)load("glOrtho"); + glad_glPopMatrix = (PFNGLPOPMATRIXPROC)load("glPopMatrix"); + glad_glPushMatrix = (PFNGLPUSHMATRIXPROC)load("glPushMatrix"); + glad_glRotated = (PFNGLROTATEDPROC)load("glRotated"); + glad_glRotatef = (PFNGLROTATEFPROC)load("glRotatef"); + glad_glScaled = (PFNGLSCALEDPROC)load("glScaled"); + glad_glScalef = (PFNGLSCALEFPROC)load("glScalef"); + glad_glTranslated = (PFNGLTRANSLATEDPROC)load("glTranslated"); + glad_glTranslatef = (PFNGLTRANSLATEFPROC)load("glTranslatef"); +} +static void load_GL_VERSION_1_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_1) return; + glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays"); + glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements"); + glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv"); + glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset"); + glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D"); + glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D"); + glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D"); + glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D"); + glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D"); + glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D"); + glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture"); + glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures"); + glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures"); + glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture"); + glad_glArrayElement = (PFNGLARRAYELEMENTPROC)load("glArrayElement"); + glad_glColorPointer = (PFNGLCOLORPOINTERPROC)load("glColorPointer"); + glad_glDisableClientState = (PFNGLDISABLECLIENTSTATEPROC)load("glDisableClientState"); + glad_glEdgeFlagPointer = (PFNGLEDGEFLAGPOINTERPROC)load("glEdgeFlagPointer"); + glad_glEnableClientState = (PFNGLENABLECLIENTSTATEPROC)load("glEnableClientState"); + glad_glIndexPointer = (PFNGLINDEXPOINTERPROC)load("glIndexPointer"); + glad_glInterleavedArrays = (PFNGLINTERLEAVEDARRAYSPROC)load("glInterleavedArrays"); + glad_glNormalPointer = (PFNGLNORMALPOINTERPROC)load("glNormalPointer"); + glad_glTexCoordPointer = (PFNGLTEXCOORDPOINTERPROC)load("glTexCoordPointer"); + glad_glVertexPointer = (PFNGLVERTEXPOINTERPROC)load("glVertexPointer"); + glad_glAreTexturesResident = (PFNGLARETEXTURESRESIDENTPROC)load("glAreTexturesResident"); + glad_glPrioritizeTextures = (PFNGLPRIORITIZETEXTURESPROC)load("glPrioritizeTextures"); + glad_glIndexub = (PFNGLINDEXUBPROC)load("glIndexub"); + glad_glIndexubv = (PFNGLINDEXUBVPROC)load("glIndexubv"); + glad_glPopClientAttrib = (PFNGLPOPCLIENTATTRIBPROC)load("glPopClientAttrib"); + glad_glPushClientAttrib = (PFNGLPUSHCLIENTATTRIBPROC)load("glPushClientAttrib"); +} +static void load_GL_VERSION_1_2(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_2) return; + glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements"); + glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D"); + glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D"); + glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D"); +} +static void load_GL_VERSION_1_3(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_3) return; + glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture"); + glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage"); + glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D"); + glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D"); + glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D"); + glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D"); + glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D"); + glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D"); + glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage"); + glad_glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)load("glClientActiveTexture"); + glad_glMultiTexCoord1d = (PFNGLMULTITEXCOORD1DPROC)load("glMultiTexCoord1d"); + glad_glMultiTexCoord1dv = (PFNGLMULTITEXCOORD1DVPROC)load("glMultiTexCoord1dv"); + glad_glMultiTexCoord1f = (PFNGLMULTITEXCOORD1FPROC)load("glMultiTexCoord1f"); + glad_glMultiTexCoord1fv = (PFNGLMULTITEXCOORD1FVPROC)load("glMultiTexCoord1fv"); + glad_glMultiTexCoord1i = (PFNGLMULTITEXCOORD1IPROC)load("glMultiTexCoord1i"); + glad_glMultiTexCoord1iv = (PFNGLMULTITEXCOORD1IVPROC)load("glMultiTexCoord1iv"); + glad_glMultiTexCoord1s = (PFNGLMULTITEXCOORD1SPROC)load("glMultiTexCoord1s"); + glad_glMultiTexCoord1sv = (PFNGLMULTITEXCOORD1SVPROC)load("glMultiTexCoord1sv"); + glad_glMultiTexCoord2d = (PFNGLMULTITEXCOORD2DPROC)load("glMultiTexCoord2d"); + glad_glMultiTexCoord2dv = (PFNGLMULTITEXCOORD2DVPROC)load("glMultiTexCoord2dv"); + glad_glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)load("glMultiTexCoord2f"); + glad_glMultiTexCoord2fv = (PFNGLMULTITEXCOORD2FVPROC)load("glMultiTexCoord2fv"); + glad_glMultiTexCoord2i = (PFNGLMULTITEXCOORD2IPROC)load("glMultiTexCoord2i"); + glad_glMultiTexCoord2iv = (PFNGLMULTITEXCOORD2IVPROC)load("glMultiTexCoord2iv"); + glad_glMultiTexCoord2s = (PFNGLMULTITEXCOORD2SPROC)load("glMultiTexCoord2s"); + glad_glMultiTexCoord2sv = (PFNGLMULTITEXCOORD2SVPROC)load("glMultiTexCoord2sv"); + glad_glMultiTexCoord3d = (PFNGLMULTITEXCOORD3DPROC)load("glMultiTexCoord3d"); + glad_glMultiTexCoord3dv = (PFNGLMULTITEXCOORD3DVPROC)load("glMultiTexCoord3dv"); + glad_glMultiTexCoord3f = (PFNGLMULTITEXCOORD3FPROC)load("glMultiTexCoord3f"); + glad_glMultiTexCoord3fv = (PFNGLMULTITEXCOORD3FVPROC)load("glMultiTexCoord3fv"); + glad_glMultiTexCoord3i = (PFNGLMULTITEXCOORD3IPROC)load("glMultiTexCoord3i"); + glad_glMultiTexCoord3iv = (PFNGLMULTITEXCOORD3IVPROC)load("glMultiTexCoord3iv"); + glad_glMultiTexCoord3s = (PFNGLMULTITEXCOORD3SPROC)load("glMultiTexCoord3s"); + glad_glMultiTexCoord3sv = (PFNGLMULTITEXCOORD3SVPROC)load("glMultiTexCoord3sv"); + glad_glMultiTexCoord4d = (PFNGLMULTITEXCOORD4DPROC)load("glMultiTexCoord4d"); + glad_glMultiTexCoord4dv = (PFNGLMULTITEXCOORD4DVPROC)load("glMultiTexCoord4dv"); + glad_glMultiTexCoord4f = (PFNGLMULTITEXCOORD4FPROC)load("glMultiTexCoord4f"); + glad_glMultiTexCoord4fv = (PFNGLMULTITEXCOORD4FVPROC)load("glMultiTexCoord4fv"); + glad_glMultiTexCoord4i = (PFNGLMULTITEXCOORD4IPROC)load("glMultiTexCoord4i"); + glad_glMultiTexCoord4iv = (PFNGLMULTITEXCOORD4IVPROC)load("glMultiTexCoord4iv"); + glad_glMultiTexCoord4s = (PFNGLMULTITEXCOORD4SPROC)load("glMultiTexCoord4s"); + glad_glMultiTexCoord4sv = (PFNGLMULTITEXCOORD4SVPROC)load("glMultiTexCoord4sv"); + glad_glLoadTransposeMatrixf = (PFNGLLOADTRANSPOSEMATRIXFPROC)load("glLoadTransposeMatrixf"); + glad_glLoadTransposeMatrixd = (PFNGLLOADTRANSPOSEMATRIXDPROC)load("glLoadTransposeMatrixd"); + glad_glMultTransposeMatrixf = (PFNGLMULTTRANSPOSEMATRIXFPROC)load("glMultTransposeMatrixf"); + glad_glMultTransposeMatrixd = (PFNGLMULTTRANSPOSEMATRIXDPROC)load("glMultTransposeMatrixd"); +} +static void load_GL_VERSION_1_4(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_4) return; + glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate"); + glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays"); + glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements"); + glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf"); + glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv"); + glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri"); + glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv"); + glad_glFogCoordf = (PFNGLFOGCOORDFPROC)load("glFogCoordf"); + glad_glFogCoordfv = (PFNGLFOGCOORDFVPROC)load("glFogCoordfv"); + glad_glFogCoordd = (PFNGLFOGCOORDDPROC)load("glFogCoordd"); + glad_glFogCoorddv = (PFNGLFOGCOORDDVPROC)load("glFogCoorddv"); + glad_glFogCoordPointer = (PFNGLFOGCOORDPOINTERPROC)load("glFogCoordPointer"); + glad_glSecondaryColor3b = (PFNGLSECONDARYCOLOR3BPROC)load("glSecondaryColor3b"); + glad_glSecondaryColor3bv = (PFNGLSECONDARYCOLOR3BVPROC)load("glSecondaryColor3bv"); + glad_glSecondaryColor3d = (PFNGLSECONDARYCOLOR3DPROC)load("glSecondaryColor3d"); + glad_glSecondaryColor3dv = (PFNGLSECONDARYCOLOR3DVPROC)load("glSecondaryColor3dv"); + glad_glSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC)load("glSecondaryColor3f"); + glad_glSecondaryColor3fv = (PFNGLSECONDARYCOLOR3FVPROC)load("glSecondaryColor3fv"); + glad_glSecondaryColor3i = (PFNGLSECONDARYCOLOR3IPROC)load("glSecondaryColor3i"); + glad_glSecondaryColor3iv = (PFNGLSECONDARYCOLOR3IVPROC)load("glSecondaryColor3iv"); + glad_glSecondaryColor3s = (PFNGLSECONDARYCOLOR3SPROC)load("glSecondaryColor3s"); + glad_glSecondaryColor3sv = (PFNGLSECONDARYCOLOR3SVPROC)load("glSecondaryColor3sv"); + glad_glSecondaryColor3ub = (PFNGLSECONDARYCOLOR3UBPROC)load("glSecondaryColor3ub"); + glad_glSecondaryColor3ubv = (PFNGLSECONDARYCOLOR3UBVPROC)load("glSecondaryColor3ubv"); + glad_glSecondaryColor3ui = (PFNGLSECONDARYCOLOR3UIPROC)load("glSecondaryColor3ui"); + glad_glSecondaryColor3uiv = (PFNGLSECONDARYCOLOR3UIVPROC)load("glSecondaryColor3uiv"); + glad_glSecondaryColor3us = (PFNGLSECONDARYCOLOR3USPROC)load("glSecondaryColor3us"); + glad_glSecondaryColor3usv = (PFNGLSECONDARYCOLOR3USVPROC)load("glSecondaryColor3usv"); + glad_glSecondaryColorPointer = (PFNGLSECONDARYCOLORPOINTERPROC)load("glSecondaryColorPointer"); + glad_glWindowPos2d = (PFNGLWINDOWPOS2DPROC)load("glWindowPos2d"); + glad_glWindowPos2dv = (PFNGLWINDOWPOS2DVPROC)load("glWindowPos2dv"); + glad_glWindowPos2f = (PFNGLWINDOWPOS2FPROC)load("glWindowPos2f"); + glad_glWindowPos2fv = (PFNGLWINDOWPOS2FVPROC)load("glWindowPos2fv"); + glad_glWindowPos2i = (PFNGLWINDOWPOS2IPROC)load("glWindowPos2i"); + glad_glWindowPos2iv = (PFNGLWINDOWPOS2IVPROC)load("glWindowPos2iv"); + glad_glWindowPos2s = (PFNGLWINDOWPOS2SPROC)load("glWindowPos2s"); + glad_glWindowPos2sv = (PFNGLWINDOWPOS2SVPROC)load("glWindowPos2sv"); + glad_glWindowPos3d = (PFNGLWINDOWPOS3DPROC)load("glWindowPos3d"); + glad_glWindowPos3dv = (PFNGLWINDOWPOS3DVPROC)load("glWindowPos3dv"); + glad_glWindowPos3f = (PFNGLWINDOWPOS3FPROC)load("glWindowPos3f"); + glad_glWindowPos3fv = (PFNGLWINDOWPOS3FVPROC)load("glWindowPos3fv"); + glad_glWindowPos3i = (PFNGLWINDOWPOS3IPROC)load("glWindowPos3i"); + glad_glWindowPos3iv = (PFNGLWINDOWPOS3IVPROC)load("glWindowPos3iv"); + glad_glWindowPos3s = (PFNGLWINDOWPOS3SPROC)load("glWindowPos3s"); + glad_glWindowPos3sv = (PFNGLWINDOWPOS3SVPROC)load("glWindowPos3sv"); + glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor"); + glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation"); +} +static void load_GL_VERSION_1_5(GLADloadproc load) { + if (!GLAD_GL_VERSION_1_5) return; + glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries"); + glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries"); + glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery"); + glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery"); + glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery"); + glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv"); + glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv"); + glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv"); + glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer"); + glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers"); + glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers"); + glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer"); + glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData"); + glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData"); + glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData"); + glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer"); + glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer"); + glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv"); + glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv"); +} +static void load_GL_VERSION_2_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_2_0) return; + glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate"); + glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers"); + glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate"); + glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate"); + glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate"); + glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader"); + glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation"); + glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader"); + glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram"); + glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader"); + glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram"); + glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader"); + glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader"); + glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray"); + glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray"); + glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib"); + glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform"); + glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders"); + glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation"); + glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv"); + glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog"); + glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv"); + glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog"); + glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource"); + glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation"); + glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv"); + glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv"); + glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv"); + glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv"); + glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv"); + glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv"); + glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram"); + glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader"); + glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram"); + glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource"); + glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram"); + glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f"); + glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f"); + glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f"); + glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f"); + glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i"); + glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i"); + glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i"); + glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i"); + glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv"); + glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv"); + glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv"); + glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv"); + glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv"); + glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv"); + glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv"); + glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv"); + glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv"); + glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv"); + glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv"); + glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram"); + glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d"); + glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv"); + glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f"); + glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv"); + glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s"); + glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv"); + glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d"); + glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv"); + glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f"); + glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv"); + glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s"); + glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv"); + glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d"); + glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv"); + glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f"); + glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv"); + glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s"); + glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv"); + glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv"); + glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv"); + glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv"); + glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub"); + glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv"); + glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv"); + glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv"); + glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv"); + glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d"); + glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv"); + glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f"); + glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv"); + glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv"); + glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s"); + glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv"); + glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv"); + glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv"); + glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv"); + glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer"); +} +static void load_GL_VERSION_2_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_2_1) return; + glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv"); + glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv"); + glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv"); + glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv"); + glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv"); + glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv"); +} +static void load_GL_VERSION_3_0(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_0) return; + glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski"); + glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); + glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei"); + glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei"); + glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi"); + glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback"); + glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings"); + glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying"); + glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor"); + glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender"); + glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender"); + glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer"); + glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv"); + glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv"); + glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i"); + glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i"); + glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i"); + glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i"); + glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui"); + glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui"); + glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui"); + glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui"); + glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv"); + glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv"); + glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv"); + glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv"); + glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv"); + glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv"); + glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv"); + glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv"); + glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv"); + glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv"); + glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv"); + glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv"); + glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv"); + glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation"); + glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation"); + glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui"); + glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui"); + glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui"); + glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui"); + glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv"); + glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv"); + glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv"); + glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv"); + glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv"); + glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv"); + glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv"); + glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv"); + glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv"); + glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv"); + glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv"); + glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi"); + glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi"); + glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer"); + glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer"); + glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers"); + glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers"); + glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage"); + glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv"); + glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer"); + glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer"); + glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers"); + glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers"); + glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus"); + glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D"); + glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D"); + glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D"); + glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer"); + glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv"); + glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap"); + glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer"); + glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample"); + glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer"); + glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange"); + glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange"); + glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray"); + glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays"); + glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays"); + glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray"); +} +static void load_GL_VERSION_3_1(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_1) return; + glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced"); + glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced"); + glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer"); + glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex"); + glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData"); + glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices"); + glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv"); + glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName"); + glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex"); + glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv"); + glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName"); + glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); +} +static void load_GL_VERSION_3_2(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_2) return; + glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex"); + glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex"); + glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex"); + glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex"); + glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex"); + glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync"); + glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync"); + glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync"); + glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync"); + glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync"); + glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v"); + glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv"); + glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v"); + glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v"); + glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture"); + glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample"); + glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample"); + glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv"); + glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski"); +} +static void load_GL_VERSION_3_3(GLADloadproc load) { + if (!GLAD_GL_VERSION_3_3) return; + glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed"); + glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex"); + glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers"); + glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers"); + glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler"); + glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler"); + glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri"); + glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv"); + glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf"); + glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv"); + glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv"); + glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv"); + glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv"); + glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv"); + glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv"); + glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv"); + glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter"); + glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v"); + glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v"); + glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor"); + glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui"); + glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv"); + glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui"); + glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv"); + glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui"); + glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv"); + glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui"); + glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv"); + glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui"); + glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv"); + glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui"); + glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv"); + glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui"); + glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv"); + glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui"); + glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv"); + glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui"); + glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv"); + glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui"); + glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv"); + glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui"); + glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv"); + glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui"); + glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv"); + glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui"); + glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv"); + glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui"); + glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv"); + glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui"); + glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv"); + glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui"); + glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv"); + glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui"); + glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv"); + glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui"); + glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv"); + glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); + glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); +} +static int find_extensionsGL(void) { + if (!get_exts()) return 0; + (void)& has_ext; + free_exts(); + return 1; +} + +static void find_coreGL(void) { + + /* Thank you @elmindreda + * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 + * https://github.com/glfw/glfw/blob/master/src/context.c#L36 + */ + int i, major, minor; + + const char* version; + const char* prefixes[] = { + "OpenGL ES-CM ", + "OpenGL ES-CL ", + "OpenGL ES ", + NULL + }; + + version = (const char*)glGetString(GL_VERSION); + if (!version) return; + + for (i = 0; prefixes[i]; i++) { + const size_t length = strlen(prefixes[i]); + if (strncmp(version, prefixes[i], length) == 0) { + version += length; + break; + } + } + + /* PR #18 */ +#ifdef _MSC_VER + sscanf_s(version, "%d.%d", &major, &minor); +#else + sscanf(version, "%d.%d", &major, &minor); +#endif + + GLVersion.major = major; GLVersion.minor = minor; + max_loaded_major = major; max_loaded_minor = minor; + GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; + GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; + GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; + GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; + GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; + GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; + GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; + if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) { + max_loaded_major = 3; + max_loaded_minor = 3; + } +} + +int gladLoadGLLoader(GLADloadproc load) { + GLVersion.major = 0; GLVersion.minor = 0; + glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + if (glGetString == NULL) return 0; + if (glGetString(GL_VERSION) == NULL) return 0; + find_coreGL(); + 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); + + if (!find_extensionsGL()) return 0; + return GLVersion.major != 0 || GLVersion.minor != 0; +}