├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .travis.yml ├── AUTHORS ├── CMakeLists.txt ├── Dockerfile ├── LICENSE ├── README.md ├── appveyor.yml ├── cginternals-logo.png ├── cmake ├── CheckTemplate.cmake ├── ClangTidy.cmake ├── CompileOptions.cmake ├── ComponentInstall.cmake ├── Coverage.cmake ├── Cppcheck.cmake ├── Custom.cmake ├── FindGLEW.cmake ├── FindGTK3.cmake ├── FindGTK4.cmake ├── FindKHR.cmake ├── FindSDL2.cmake ├── Findclang_tidy.cmake ├── Findcppcheck.cmake ├── Findgcov.cmake ├── Findgoogletest.cmake ├── Findlcov.cmake ├── Gcov.cmake ├── GenerateTemplateExportHeader.cmake ├── GetGitRevisionDescription.cmake ├── GetGitRevisionDescription.cmake.in ├── HealthCheck.cmake ├── RuntimeDependencies.cmake └── WinInstallHacks.cmake ├── configure ├── data ├── cubescape-gles │ ├── cubescape.frag │ ├── cubescape.geom │ ├── cubescape.vert │ ├── patches.64.16.rgb.ub.raw │ ├── shaderconfig.json │ └── terrain.64.64.r.ub.raw └── cubescape │ ├── cubescape.frag │ ├── cubescape.geom │ ├── cubescape.vert │ ├── patches.64.16.rgb.ub.raw │ ├── shaderconfig.json │ └── terrain.64.64.r.ub.raw ├── deploy ├── CMakeLists.txt ├── deb │ └── install-tests │ │ ├── debian-bullseye │ │ └── Dockerfile │ │ ├── debian-buster │ │ └── Dockerfile │ │ ├── debian-stretch │ │ └── Dockerfile │ │ ├── debian-testing │ │ └── Dockerfile │ │ ├── docker-compose.yml │ │ ├── ubuntu-bionic-ppa │ │ └── Dockerfile │ │ ├── ubuntu-bionic │ │ └── Dockerfile │ │ ├── ubuntu-focal-ppa │ │ └── Dockerfile │ │ ├── ubuntu-focal │ │ └── Dockerfile │ │ ├── ubuntu-jammy-ppa │ │ └── Dockerfile │ │ ├── ubuntu-jammy │ │ └── Dockerfile │ │ └── ubuntu-xenial-ppa │ │ └── Dockerfile ├── packages │ ├── pack-glbinding.cmake │ └── qt.conf └── ubuntu-ppa │ ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── rules │ └── source │ │ └── format │ └── recipe.txt ├── docs ├── CMakeLists.txt ├── api-docs │ ├── CMakeLists.txt │ ├── bootstrap.min.css │ ├── bootstrap.min.js │ ├── doxy-boot.js │ ├── doxyfile.in │ ├── doxygen.css │ ├── footer.html │ ├── header.html │ ├── include │ │ └── mainpage.html │ ├── mainpage.h │ └── namespacedocumentation.h ├── what-is-glbinding-v2.png └── what-is-glbinding.png ├── glbinding-config.cmake ├── glbinding-logo.png ├── glbinding-logo.svg └── source ├── 3rdparty ├── CMakeLists.txt └── KHR │ ├── CMakeLists.txt │ └── include │ └── KHR │ └── khrplatform.h ├── CMakeLists.txt ├── codegeneration ├── template_api.h.in └── template_msvc_api.h.in ├── examples ├── CMakeLists.txt ├── callbacks │ ├── CMakeLists.txt │ └── main.cpp ├── comparison │ ├── CMakeLists.txt │ ├── Timer.cpp │ ├── Timer.h │ ├── glbinding.cpp │ ├── glbinding.h │ ├── glew.cpp │ ├── glew.h │ ├── gltest.inl │ ├── gltest_data.inl │ ├── gltest_error.inl │ └── main.cpp ├── cubescape-gl │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-gles │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-glfw-gl │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-glfw-gles │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-gtk3-gl │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-gtk3-gles │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-gtk4-gl │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-gtk4-gles │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-log │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-qt-gl │ ├── CMakeLists.txt │ ├── Canvas.cpp │ ├── Canvas.h │ ├── Painter.cpp │ ├── Painter.h │ ├── Viewer.cpp │ ├── Viewer.h │ ├── Viewer.ui │ └── main.cpp ├── cubescape-qt-gles │ ├── CMakeLists.txt │ ├── Canvas.cpp │ ├── Canvas.h │ ├── Painter.cpp │ ├── Painter.h │ ├── Viewer.cpp │ ├── Viewer.h │ ├── Viewer.ui │ └── main.cpp ├── cubescape-sdl-gl │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-sdl-gles │ ├── CMakeLists.txt │ └── main.cpp ├── cubescape-shared-gl │ ├── CMakeLists.txt │ ├── CubeScape.cpp │ ├── CubeScape.h │ ├── RawFile.cpp │ ├── RawFile.h │ ├── glutils.cpp │ └── glutils.h ├── cubescape-shared-gles │ ├── CMakeLists.txt │ ├── CubeScape.cpp │ ├── CubeScape.h │ ├── RawFile.cpp │ ├── RawFile.h │ ├── glutils.cpp │ └── glutils.h ├── cubescape-wgl │ ├── CMakeLists.txt │ └── main.cpp └── multi-context │ ├── CMakeLists.txt │ └── main.cpp ├── glbinding-aux ├── CMakeLists.txt ├── include │ └── glbinding-aux │ │ ├── ContextInfo.h │ │ ├── Meta.h │ │ ├── RingBuffer.h │ │ ├── RingBuffer.inl │ │ ├── ValidVersions.h │ │ ├── debug.h │ │ ├── logging.h │ │ ├── types_to_string.h │ │ └── types_to_string.inl └── source │ ├── ContextInfo.cpp │ ├── Meta.cpp │ ├── Meta_BitfieldsByString.cpp │ ├── Meta_BooleansByString.cpp │ ├── Meta_EnumsByString.cpp │ ├── Meta_ExtensionsByFunctionString.cpp │ ├── Meta_ExtensionsByString.cpp │ ├── Meta_FunctionStringsByExtension.cpp │ ├── Meta_FunctionStringsByVersion.cpp │ ├── Meta_Maps.h │ ├── Meta_ReqVersionsByExtension.cpp │ ├── Meta_StringsByBitfield.cpp │ ├── Meta_StringsByBoolean.cpp │ ├── Meta_StringsByEnum.cpp │ ├── Meta_StringsByExtension.cpp │ ├── Meta_getStringByBitfield.cpp │ ├── ValidVersions.cpp │ ├── ValidVersions_list.cpp │ ├── debug.cpp │ ├── glrevision.h │ ├── logging.cpp │ ├── logging_private.h │ ├── types_to_string.cpp │ ├── types_to_string_private.cpp │ └── types_to_string_private.h ├── glbinding ├── CMakeLists.txt ├── include │ └── glbinding │ │ ├── AbstractFunction.h │ │ ├── AbstractState.h │ │ ├── AbstractValue.h │ │ ├── Binding.h │ │ ├── Boolean8.h │ │ ├── Boolean8.inl │ │ ├── CallbackMask.h │ │ ├── CallbackMask.inl │ │ ├── ContextHandle.h │ │ ├── Function.h │ │ ├── Function.inl │ │ ├── FunctionCall.h │ │ ├── ProcAddress.h │ │ ├── SharedBitfield.h │ │ ├── SharedBitfield.inl │ │ ├── State.h │ │ ├── Value.h │ │ ├── Value.inl │ │ ├── Version.h │ │ ├── Version.inl │ │ ├── getProcAddress.h │ │ ├── gl │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── extension.h │ │ ├── functions-patches.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ ├── types.inl │ │ └── values.h │ │ ├── gl10 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl10ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl11 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl11ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl12 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl12ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl13 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl13ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl14 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl14ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl15 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl15ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl20 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl20ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl21 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl21ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl30 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl30ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl31 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl31ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl32 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl32core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl32ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl33 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl33core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl33ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl40 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl40core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl40ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl41 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl41core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl41ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl42 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl42core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl42ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl43 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl43core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl43ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl44 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl44core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl44ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl45 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl45core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl45ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl46 │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl46core │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── gl46ext │ │ ├── bitfield.h │ │ ├── boolean.h │ │ ├── enum.h │ │ ├── functions.h │ │ ├── gl.h │ │ ├── types.h │ │ └── values.h │ │ ├── glbinding.h │ │ └── nogl.h └── source │ ├── AbstractFunction.cpp │ ├── AbstractState.cpp │ ├── AbstractValue.cpp │ ├── Binding.cpp │ ├── Binding_list.cpp │ ├── Binding_objects_0.cpp │ ├── Binding_objects_a.cpp │ ├── Binding_objects_b.cpp │ ├── Binding_objects_c.cpp │ ├── Binding_objects_d.cpp │ ├── Binding_objects_e.cpp │ ├── Binding_objects_f.cpp │ ├── Binding_objects_g.cpp │ ├── Binding_objects_h.cpp │ ├── Binding_objects_i.cpp │ ├── Binding_objects_j.cpp │ ├── Binding_objects_k.cpp │ ├── Binding_objects_l.cpp │ ├── Binding_objects_m.cpp │ ├── Binding_objects_n.cpp │ ├── Binding_objects_o.cpp │ ├── Binding_objects_p.cpp │ ├── Binding_objects_q.cpp │ ├── Binding_objects_r.cpp │ ├── Binding_objects_s.cpp │ ├── Binding_objects_t.cpp │ ├── Binding_objects_u.cpp │ ├── Binding_objects_v.cpp │ ├── Binding_objects_w.cpp │ ├── Binding_objects_x.cpp │ ├── Binding_objects_y.cpp │ ├── Binding_objects_z.cpp │ ├── Binding_pch.cpp │ ├── Binding_pch.h │ ├── FunctionCall.cpp │ ├── State.cpp │ ├── getProcAddress.cpp │ ├── gl │ ├── functions-patches.cpp │ ├── functions_0.cpp │ ├── functions_a.cpp │ ├── functions_b.cpp │ ├── functions_c.cpp │ ├── functions_d.cpp │ ├── functions_e.cpp │ ├── functions_f.cpp │ ├── functions_g.cpp │ ├── functions_h.cpp │ ├── functions_i.cpp │ ├── functions_j.cpp │ ├── functions_k.cpp │ ├── functions_l.cpp │ ├── functions_m.cpp │ ├── functions_n.cpp │ ├── functions_o.cpp │ ├── functions_p.cpp │ ├── functions_q.cpp │ ├── functions_r.cpp │ ├── functions_s.cpp │ ├── functions_t.cpp │ ├── functions_u.cpp │ ├── functions_v.cpp │ ├── functions_w.cpp │ ├── functions_x.cpp │ ├── functions_y.cpp │ └── functions_z.cpp │ └── glbinding.cpp ├── tests ├── CMakeLists.txt └── glbinding-test │ ├── AllVersions_test.cpp │ ├── Boolean_compilation_test.cpp │ ├── CMakeLists.txt │ ├── MultiContext_test.cpp │ ├── MultiThreading_test.cpp │ ├── Regression_test_185.cpp │ ├── Regression_test_198.cpp │ ├── Regression_test_82.cpp │ ├── RingBuffer_test.cpp │ ├── SharedBitfield_test.cpp │ └── main.cpp ├── tools ├── CMakeLists.txt ├── glcontexts │ ├── CMakeLists.txt │ └── main.cpp ├── glescontexts │ ├── CMakeLists.txt │ └── main.cpp ├── glfunctions │ ├── CMakeLists.txt │ └── main.cpp ├── glinfo │ ├── CMakeLists.txt │ └── main.cpp ├── glisdeprecated │ ├── CMakeLists.txt │ └── main.cpp ├── glmeta │ ├── CMakeLists.txt │ └── main.cpp └── glqueries │ ├── CMakeLists.txt │ └── main.cpp └── version.h.in /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: C++ CI 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | - name: install cmake 15 | run: sudo apt install -y cmake libgl1-mesa-dev libegl1-mesa-dev libglfw3-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev 16 | - name: configure 17 | run: ./configure && ./configure 18 | - name: make 19 | run: make 20 | working-directory: build 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *-build* 2 | build* 3 | *_build 4 | /install 5 | /logs/* 6 | CMakeLists.txt.* 7 | out/* 8 | 9 | # backup files 10 | *~ 11 | 12 | # config 13 | .localconfig 14 | *.bat 15 | 16 | # IDE project files 17 | *.sublime-project 18 | *.sublime-workspace 19 | .vs/ 20 | CmakeSettings.json 21 | CppProperties.json -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | 2 | Daniel Limberger 3 | Willy Scheibel 4 | 5 | Thanks to all Contributors 6 | rlux 7 | sbusch42 8 | dommueller 9 | lw0 10 | Tobias1595 11 | Somae 12 | mjendruk 13 | cy20lin 14 | Tachi107 15 | karjonas 16 | ryanshow 17 | ghisvail 18 | j-o 19 | dutow 20 | jon-edward 21 | Arsenic-ATG 22 | v1993 23 | Naios 24 | Adsun701 25 | Zangetsu38 26 | 0xb8 27 | BillyONeal 28 | murashin 29 | StephanTLavavej 30 | pfultz2 31 | achurch 32 | p-otto 33 | julkw 34 | Morwenn 35 | Ryp 36 | JPGygax68 37 | dgimb89 38 | Morwenn 39 | GPSnoopy 40 | sebastiankaybelle 41 | talknomoney66 42 | alexanderbock 43 | chenrui333 44 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BASE=cginternals/gpu-base:latest 2 | ARG BASE_DEV=cginternals/gpu-base:dev 3 | ARG CPPLOCATE_DEPENDENCY=cginternals/cpplocate:latest 4 | ARG PROJECT_NAME=glbinding 5 | 6 | # DEPENDENCIES 7 | 8 | FROM $CPPLOCATE_DEPENDENCY AS cpplocate 9 | 10 | # BUILD 11 | 12 | FROM $BASE_DEV AS build 13 | 14 | ARG PROJECT_NAME 15 | ARG COMPILER_FLAGS="-j 4" 16 | 17 | COPY --from=cpplocate $WORKSPACE/cpplocate $WORKSPACE/cpplocate 18 | 19 | ENV cpplocate_DIR="$WORKSPACE/cpplocate" 20 | ENV glbinding_DIR="$WORKSPACE/$PROJECT_NAME" 21 | 22 | WORKDIR $WORKSPACE/$PROJECT_NAME 23 | 24 | ADD cmake cmake 25 | ADD docs docs 26 | ADD deploy deploy 27 | ADD source source 28 | ADD data data 29 | ADD CMakeLists.txt CMakeLists.txt 30 | ADD configure configure 31 | ADD $PROJECT_NAME-config.cmake $PROJECT_NAME-config.cmake 32 | ADD $PROJECT_NAME-logo.png $PROJECT_NAME-logo.png 33 | ADD $PROJECT_NAME-logo.svg $PROJECT_NAME-logo.svg 34 | ADD LICENSE LICENSE 35 | ADD README.md README.md 36 | ADD AUTHORS AUTHORS 37 | 38 | RUN ./configure 39 | RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off" ./configure 40 | RUN cmake --build build -- $COMPILER_FLAGS 41 | 42 | # INSTALL 43 | 44 | FROM build as install 45 | 46 | ARG PROJECT_NAME 47 | 48 | WORKDIR $WORKSPACE/$PROJECT_NAME 49 | 50 | RUN CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure 51 | RUN cmake --build build --target install 52 | 53 | # DEPLOY 54 | 55 | FROM $BASE AS deploy 56 | 57 | ARG PROJECT_NAME 58 | 59 | COPY --from=build $WORKSPACE/cpplocate $WORKSPACE/cpplocate 60 | COPY --from=build $WORKSPACE/glfw $WORKSPACE/glfw 61 | 62 | COPY --from=install $WORKSPACE/$PROJECT_NAME-install $WORKSPACE/$PROJECT_NAME 63 | 64 | ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WORKSPACE/cpplocate/lib 65 | ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WORKSPACE/$PROJECT_NAME/lib 66 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2014-2023 Computer Graphics Systems Group at the Hasso-Plattner-Institute, Digital Engineering Company, University of Potsdam and CG Internals, Germany. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '{build}' 2 | branches: 3 | only: 4 | - master 5 | clone_folder: c:\projects\cmake-init 6 | image: 7 | - Visual Studio 2015 8 | - Visual Studio 2017 9 | - Visual Studio 2019 10 | configuration: 11 | - Release 12 | - Debug 13 | platform: 14 | - x64 15 | environment: 16 | matrix: 17 | - arch: Win64 18 | # - arch: #does not work, Release|x64 not a valid target 19 | matrix: 20 | fast_finish: true 21 | 22 | # skip unsupported combinations 23 | init: 24 | - set arch= 25 | - if "%arch%"=="Win64" ( set arch= x64) 26 | - echo %arch% 27 | - echo %APPVEYOR_BUILD_WORKER_IMAGE% 28 | - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( set generator="Visual Studio 15 2017" ) 29 | - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( set generator="Visual Studio 14 2015" ) 30 | - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" ( set generator="Visual Studio 16 2019" ) 31 | - echo %generator% 32 | 33 | before_build: 34 | - cmd: |- 35 | mkdir build 36 | cd build 37 | cmake --version 38 | cmake .. -G %generator% -A %arch% 39 | 40 | build: 41 | project: c:\projects\glbinding\build\glbinding.sln 42 | verbosity: minimal 43 | parallel: true 44 | only_commits: 45 | files: 46 | - CMakeLists.txt 47 | - appveyor.yml 48 | - source/ 49 | - cmake/ 50 | -------------------------------------------------------------------------------- /cginternals-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/cginternals-logo.png -------------------------------------------------------------------------------- /cmake/CheckTemplate.cmake: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Get cmake-init latest commit SHA on master 4 | # 5 | 6 | if(NOT APPLIED_CMAKE_INIT_BRANCH) 7 | set(APPLIED_CMAKE_INIT_BRANCH "master") 8 | endif () 9 | 10 | file(DOWNLOAD 11 | "https://api.github.com/repos/cginternals/cmake-init/commits/${APPLIED_CMAKE_INIT_BRANCH}" 12 | "${PROJECT_BINARY_DIR}/cmake-init.github.data" 13 | ) 14 | file(READ 15 | "${PROJECT_BINARY_DIR}/cmake-init.github.data" 16 | CMAKE_INIT_INFO 17 | ) 18 | 19 | string(REGEX MATCH 20 | "\"sha\": \"([0-9a-f]+)\"," 21 | CMAKE_INIT_SHA 22 | ${CMAKE_INIT_INFO}) 23 | 24 | string(SUBSTRING 25 | ${CMAKE_INIT_SHA} 26 | 8 27 | 40 28 | CMAKE_INIT_SHA 29 | ) 30 | 31 | # 32 | # Get latest cmake-init commit on this repository 33 | # 34 | 35 | # APPLIED_CMAKE_INIT_SHA can be set by parent script 36 | if(NOT APPLIED_CMAKE_INIT_SHA) 37 | # [TODO]: Get from git commit list (see cmake_init/source/scripts/check_template.sh) 38 | set(APPLIED_CMAKE_INIT_SHA "") 39 | endif () 40 | 41 | if("${APPLIED_CMAKE_INIT_SHA}" STREQUAL "") 42 | message(WARNING 43 | "No cmake-init version detected, could not verify up-to-dateness. " 44 | "Set the cmake-init version by defining a META_CMAKE_INIT_SHA for your project." 45 | ) 46 | return() 47 | endif() 48 | 49 | if(${APPLIED_CMAKE_INIT_SHA} STREQUAL ${CMAKE_INIT_SHA}) 50 | message(STATUS "cmake-init template is up-to-date (${CMAKE_INIT_SHA})") 51 | else() 52 | message(STATUS "cmake-init template needs an update https://github.com/cginternals/cmake-init/compare/${APPLIED_CMAKE_INIT_SHA}...${APPLIED_CMAKE_INIT_BRANCH}") 53 | endif() 54 | -------------------------------------------------------------------------------- /cmake/ClangTidy.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Function to register a target for clang-tidy 3 | function(perform_clang_tidy check_target target) 4 | set(includes "$") 5 | 6 | add_custom_target( 7 | ${check_target} 8 | COMMAND 9 | ${clang_tidy_EXECUTABLE} 10 | -p\t${PROJECT_BINARY_DIR} 11 | ${ARGN} 12 | -checks=* 13 | "$<$>:--\t$<$:-I$>>" 14 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 15 | ) 16 | 17 | set_target_properties(${check_target} 18 | PROPERTIES 19 | FOLDER "Maintenance" 20 | EXCLUDE_FROM_DEFAULT_BUILD 1 21 | ) 22 | 23 | add_dependencies(${check_target} ${target}) 24 | endfunction() 25 | -------------------------------------------------------------------------------- /cmake/ComponentInstall.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Execute cmake_install.cmake wrapper that allows to pass both DESTDIR and COMPONENT environment variable 3 | 4 | execute_process( 5 | COMMAND ${CMAKE_COMMAND} -DCOMPONENT=$ENV{COMPONENT} -P cmake_install.cmake 6 | ) 7 | -------------------------------------------------------------------------------- /cmake/Coverage.cmake: -------------------------------------------------------------------------------- 1 | 2 | include(${CMAKE_CURRENT_LIST_DIR}/Gcov.cmake) 3 | 4 | set(OPTION_COVERAGE_ENABLED OFF) 5 | 6 | set(LCOV_EXCLUDE_COVERAGE 7 | ${LCOV_EXCLUDE_COVERAGE} 8 | "\"*/googletest/*\"" 9 | "\"*v1*\"" 10 | "\"/usr/*\"" 11 | ) 12 | 13 | # Function to register a target for enabled coverage report 14 | function(generate_coverage_report target) 15 | if(NOT TARGET coverage) 16 | add_custom_target(coverage) 17 | 18 | set_target_properties(coverage 19 | PROPERTIES 20 | FOLDER "Maintenance" 21 | EXCLUDE_FROM_DEFAULT_BUILD 1 22 | ) 23 | endif() 24 | 25 | if (${OPTION_COVERAGE_ENABLED}) 26 | generate_lcov_report(coverage-${target} ${target} ${ARGN}) 27 | add_dependencies(coverage coverage-${target}) 28 | endif() 29 | endfunction() 30 | 31 | # Enable or disable coverage 32 | function(enable_coverage status) 33 | if(NOT ${status}) 34 | set(OPTION_COVERAGE_ENABLED ${status} PARENT_SCOPE) 35 | message(STATUS "Coverage lcov skipped: Manually disabled") 36 | 37 | return() 38 | endif() 39 | 40 | find_package(lcov) 41 | 42 | if(NOT lcov_FOUND) 43 | set(OPTION_COVERAGE_ENABLED OFF PARENT_SCOPE) 44 | message(STATUS "Coverage lcov skipped: lcov not found") 45 | 46 | return() 47 | endif() 48 | 49 | set(OPTION_COVERAGE_ENABLED ${status} PARENT_SCOPE) 50 | message(STATUS "Coverage report enabled") 51 | endfunction() 52 | -------------------------------------------------------------------------------- /cmake/Cppcheck.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Function to register a target for cppcheck 3 | function(perform_cppcheck check_target target) 4 | set(includes "$") 5 | 6 | add_custom_target( 7 | ${check_target} 8 | COMMAND 9 | ${cppcheck_EXECUTABLE} 10 | "$<$:-I$>" 11 | --enable=all 12 | --std=c++${CXX_STANDARD_TO_USE} 13 | --verbose 14 | --suppress=missingIncludeSystem 15 | ${ARGN} 16 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 17 | ) 18 | 19 | set_target_properties(${check_target} 20 | PROPERTIES 21 | FOLDER "Maintenance" 22 | EXCLUDE_FROM_DEFAULT_BUILD 1 23 | ) 24 | 25 | add_dependencies(${check_target} ${target}) 26 | endfunction() 27 | -------------------------------------------------------------------------------- /cmake/Custom.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Set policy if policy is available 3 | function(set_policy POL VAL) 4 | 5 | if(POLICY ${POL}) 6 | cmake_policy(SET ${POL} ${VAL}) 7 | endif() 8 | 9 | endfunction(set_policy) 10 | 11 | 12 | # Define function "source_group_by_path with three mandatory arguments (PARENT_PATH, REGEX, GROUP, ...) 13 | # to group source files in folders (e.g. for MSVC solutions). 14 | # 15 | # Example: 16 | # source_group_by_path("${CMAKE_CURRENT_SOURCE_DIR}/src" "\\\\.h$|\\\\.inl$|\\\\.cpp$|\\\\.c$|\\\\.ui$|\\\\.qrc$" "Source Files" ${sources}) 17 | function(source_group_by_path PARENT_PATH REGEX GROUP) 18 | 19 | foreach (FILENAME ${ARGN}) 20 | 21 | get_filename_component(FILEPATH "${FILENAME}" REALPATH) 22 | file(RELATIVE_PATH FILEPATH ${PARENT_PATH} ${FILEPATH}) 23 | get_filename_component(FILEPATH "${FILEPATH}" DIRECTORY) 24 | 25 | string(REPLACE "/" "\\" FILEPATH "${FILEPATH}") 26 | 27 | source_group("${GROUP}\\${FILEPATH}" REGULAR_EXPRESSION "${REGEX}" FILES ${FILENAME}) 28 | 29 | endforeach() 30 | 31 | endfunction(source_group_by_path) 32 | 33 | 34 | # Function that extract entries matching a given regex from a list. 35 | # ${OUTPUT} will store the list of matching filenames. 36 | function(list_extract OUTPUT REGEX) 37 | 38 | foreach(FILENAME ${ARGN}) 39 | if(${FILENAME} MATCHES "${REGEX}") 40 | list(APPEND ${OUTPUT} ${FILENAME}) 41 | endif() 42 | endforeach() 43 | 44 | set(${OUTPUT} ${${OUTPUT}} PARENT_SCOPE) 45 | 46 | endfunction(list_extract) 47 | -------------------------------------------------------------------------------- /cmake/FindGLEW.cmake: -------------------------------------------------------------------------------- 1 | 2 | # GLEW_FOUND 3 | # GLEW_INCLUDE_DIR 4 | # GLEW_LIBRARY 5 | 6 | # GLEW_BINARY (win32 only) 7 | 8 | include(FindPackageHandleStandardArgs) 9 | 10 | find_path(GLEW_INCLUDE_DIR GL/glew.h 11 | 12 | PATHS 13 | $ENV{GLEW_DIR} 14 | /usr 15 | /usr/local 16 | /sw 17 | /opt/local 18 | 19 | PATH_SUFFIXES 20 | /include 21 | 22 | DOC "The directory where GL/glew.h resides") 23 | 24 | if (X64) 25 | set(GLEW_BUILD_DIR Release/x64) 26 | else() 27 | set(GLEW_BUILD_DIR Release/Win32) 28 | endif() 29 | 30 | find_library(GLEW_LIBRARY NAMES GLEW glew glew32 glew32s 31 | 32 | PATHS 33 | $ENV{GLEW_DIR} 34 | /usr 35 | /usr/local 36 | /sw 37 | /opt/local 38 | 39 | # authors prefered choice for development 40 | /build 41 | /build-release 42 | /build-debug 43 | $ENV{GLEW_DIR}/build 44 | $ENV{GLEW_DIR}/build-release 45 | $ENV{GLEW_DIR}/build-debug 46 | 47 | PATH_SUFFIXES 48 | /lib 49 | /lib64 50 | /lib/${GLEW_BUILD_DIR} 51 | 52 | DOC "The GLEW library") 53 | 54 | if(WIN32) 55 | 56 | find_file(GLEW_BINARY NAMES glew32.dll glew32s.dll 57 | 58 | HINTS 59 | ${GLEW_INCLUDE_DIR}/.. 60 | 61 | PATHS 62 | $ENV{GLEW_DIR} 63 | 64 | PATH_SUFFIXES 65 | /bin 66 | /bin/${GLEW_BUILD_DIR} 67 | 68 | DOC "The GLEW binary") 69 | 70 | endif() 71 | 72 | find_package_handle_standard_args(GLEW REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY) 73 | mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY) 74 | -------------------------------------------------------------------------------- /cmake/FindGTK3.cmake: -------------------------------------------------------------------------------- 1 | 2 | # GTK3::GTK3 3 | # GTK3_FOUND 4 | # GTK3_INCLUDE_DIRS 5 | # GTK3_LIBRARIES 6 | 7 | include(FindPackageHandleStandardArgs) 8 | 9 | find_package(PkgConfig QUIET) 10 | pkg_check_modules(GTK3 QUIET gtk+-3.0) 11 | 12 | if(GTK3_FOUND) 13 | 14 | add_library(GTK3::GTK3 INTERFACE IMPORTED) 15 | 16 | set_target_properties(GTK3::GTK3 PROPERTIES 17 | INTERFACE_INCLUDE_DIRECTORIES "${GTK3_INCLUDE_DIRS}" 18 | ) 19 | 20 | set_target_properties(GTK3::GTK3 PROPERTIES 21 | INTERFACE_LINK_LIBRARIES "${GTK3_LIBRARIES}" 22 | ) 23 | 24 | endif() 25 | 26 | find_package_handle_standard_args(GTK3 27 | DEFAULT_MSG 28 | REQUIRED_VARS 29 | GTK3_FOUND 30 | ) 31 | 32 | mark_as_advanced(GTK3_FOUND GTK3_INCLUDE_DIRS GTK3_LIBRARIES) 33 | -------------------------------------------------------------------------------- /cmake/FindGTK4.cmake: -------------------------------------------------------------------------------- 1 | 2 | # GTK4::GTK4 3 | # GTK4_FOUND 4 | # GTK4_INCLUDE_DIRS 5 | # GTK4_LIBRARIES 6 | 7 | include(FindPackageHandleStandardArgs) 8 | 9 | find_package(PkgConfig QUIET) 10 | pkg_check_modules(GTK4 QUIET IMPORTED_TARGET gtk4) 11 | 12 | set(GTK4_FOUND OFF) 13 | 14 | if(TARGET PkgConfig::GTK4) 15 | set(GTK4_FOUND ON) 16 | 17 | add_library(GTK4::GTK4 INTERFACE IMPORTED) 18 | 19 | set_target_properties(GTK4::GTK4 PROPERTIES 20 | INTERFACE_LINK_LIBRARIES PkgConfig::GTK4 21 | ) 22 | 23 | endif() 24 | 25 | find_package_handle_standard_args(GTK4 26 | DEFAULT_MSG 27 | REQUIRED_VARS 28 | GTK4_FOUND 29 | ) 30 | mark_as_advanced(GTK4_FOUND) 31 | -------------------------------------------------------------------------------- /cmake/FindKHR.cmake: -------------------------------------------------------------------------------- 1 | 2 | # KHR::KHR 3 | # KHR_FOUND 4 | # KHR_INCLUDE_DIR 5 | # KHR_LIBRARY 6 | 7 | include(FindPackageHandleStandardArgs) 8 | 9 | find_path(KHR_INCLUDE_DIR KHR/khrplatform.h 10 | 11 | PATHS 12 | $ENV{KHR_DIR} 13 | /usr 14 | /usr/local 15 | /sw 16 | /opt/local 17 | 18 | PATH_SUFFIXES 19 | /include 20 | 21 | DOC "The directory where KHR/khrplatform.h resides") 22 | 23 | if(KHR_INCLUDE_DIR) 24 | 25 | add_library(KHR::KHR INTERFACE IMPORTED) 26 | 27 | set_target_properties(KHR::KHR PROPERTIES 28 | INTERFACE_INCLUDE_DIRECTORIES "${KHR_INCLUDE_DIR}" 29 | ) 30 | 31 | endif() 32 | 33 | find_package_handle_standard_args(KHR 34 | DEFAULT_MSG 35 | REQUIRED_VARS 36 | KHR_INCLUDE_DIR 37 | ) 38 | 39 | mark_as_advanced(KHR_INCLUDE_DIR KHR_LIBRARY) 40 | -------------------------------------------------------------------------------- /cmake/FindSDL2.cmake: -------------------------------------------------------------------------------- 1 | 2 | # SDL2::SDL2 3 | # SDL2_FOUND 4 | # SDL2_INCLUDE_DIRS 5 | # SDL2_LIBRARIES 6 | 7 | include(FindPackageHandleStandardArgs) 8 | 9 | find_package(PkgConfig QUIET) 10 | pkg_check_modules(SDL2 QUIET sdl2) 11 | 12 | if(SDL2_FOUND) 13 | 14 | add_library(SDL2::SDL2 INTERFACE IMPORTED) 15 | 16 | set_target_properties(SDL2::SDL2 PROPERTIES 17 | INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" 18 | ) 19 | 20 | set_target_properties(SDL2::SDL2 PROPERTIES 21 | INTERFACE_LINK_LIBRARIES "${SDL2_LIBRARIES}" 22 | ) 23 | 24 | endif() 25 | 26 | find_package_handle_standard_args(SDL2 27 | DEFAULT_MSG 28 | REQUIRED_VARS 29 | SDL2_INCLUDE_DIRS 30 | SDL2_LIBRARIES 31 | ) 32 | 33 | mark_as_advanced(SDL2_FOUND SDL2_INCLUDE_DIRS SDL2_LIBRARIES) 34 | -------------------------------------------------------------------------------- /cmake/Findclang_tidy.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Findclang_tidy results: 3 | # clang_tidy_FOUND 4 | # clang_tidy_EXECUTABLE 5 | 6 | include(FindPackageHandleStandardArgs) 7 | 8 | find_program(clang_tidy_EXECUTABLE 9 | NAMES 10 | clang-tidy-3.5 11 | clang-tidy-3.6 12 | clang-tidy-3.7 13 | clang-tidy-3.8 14 | clang-tidy-3.9 15 | clang-tidy-4.0 16 | PATHS 17 | "${CLANG_TIDY_DIR}" 18 | ) 19 | 20 | find_package_handle_standard_args(clang_tidy 21 | FOUND_VAR 22 | clang_tidy_FOUND 23 | REQUIRED_VARS 24 | clang_tidy_EXECUTABLE 25 | ) 26 | 27 | mark_as_advanced(clang_tidy_EXECUTABLE) -------------------------------------------------------------------------------- /cmake/Findcppcheck.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Findcppcheck results: 3 | # cppcheck_FOUND 4 | # cppcheck_EXECUTABLE 5 | 6 | include(FindPackageHandleStandardArgs) 7 | 8 | # work around CMP0053, see http://public.kitware.com/pipermail/cmake/2014-November/059117.html 9 | set(PROGRAMFILES_x86_ENV "PROGRAMFILES(x86)") 10 | 11 | find_program(cppcheck_EXECUTABLE 12 | NAMES 13 | cppcheck 14 | PATHS 15 | "${CPPCHECK_DIR}" 16 | "$ENV{CPPCHECK_DIR}" 17 | "$ENV{PROGRAMFILES}/Cppcheck" 18 | "$ENV{${PROGRAMFILES_x86_ENV}}/Cppcheck" 19 | ) 20 | 21 | find_package_handle_standard_args(cppcheck 22 | FOUND_VAR 23 | cppcheck_FOUND 24 | REQUIRED_VARS 25 | cppcheck_EXECUTABLE 26 | ) 27 | 28 | mark_as_advanced(cppcheck_EXECUTABLE) -------------------------------------------------------------------------------- /cmake/Findgcov.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Findgcov results: 3 | # gcov_FOUND 4 | # gcov_EXECUTABLE 5 | 6 | include(FindPackageHandleStandardArgs) 7 | 8 | # work around CMP0053, see http://public.kitware.com/pipermail/cmake/2014-November/059117.html 9 | set(PROGRAMFILES_x86_ENV "PROGRAMFILES(x86)") 10 | 11 | find_program(gcov_EXECUTABLE 12 | NAMES 13 | gcov 14 | PATHS 15 | "${GCOV_DIR}" 16 | "$ENV{GCOV_DIR}" 17 | "$ENV{PROGRAMFILES}/gcov" 18 | "$ENV{${PROGRAMFILES_x86_ENV}}/gcov" 19 | ) 20 | 21 | find_package_handle_standard_args(gcov 22 | FOUND_VAR 23 | gcov_FOUND 24 | REQUIRED_VARS 25 | gcov_EXECUTABLE 26 | ) 27 | 28 | mark_as_advanced(gcov_EXECUTABLE) 29 | -------------------------------------------------------------------------------- /cmake/Findgoogletest.cmake: -------------------------------------------------------------------------------- 1 | 2 | # googletest_FOUND 3 | # Target googletest::googletest 4 | 5 | include(FindPackageHandleStandardArgs) 6 | 7 | find_package(PkgConfig) 8 | 9 | # enable MSVC syntax if required 10 | if("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC") 11 | set(PKG_CONFIG_ARGN ${PKG_CONFIG_ARGN} "--msvc-syntax") 12 | endif() 13 | 14 | pkg_search_module(GMOCK QUIET gmock_main) 15 | 16 | find_package_handle_standard_args(googletest REQUIRED_VARS GMOCK_CFLAGS GMOCK_LDFLAGS) 17 | mark_as_advanced(GMOCK_CFLAGS GMOCK_LDFLAGS) 18 | 19 | if (googletest_FOUND) 20 | # the linker flags aren't correct for use with target_link_libraries 21 | # example: /libpath:[path]/lib.lib;gmock_main.lib;gmock.lib;gtest.lib 22 | # note that the path arg falsely includes a .lib suffix 23 | # additionally, cmake expects linker flags to start with - 24 | # thus, the leading / has to be replaced 25 | # example result: -libpath:[path]/lib;gmock_main.lib;gmock.lib;gtest.lib 26 | if("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC") 27 | string(REGEX REPLACE "(\\/)(libpath[^;]*)(\\.lib)" "-\\2" GMOCK_LDFLAGS "${GMOCK_LDFLAGS}") 28 | endif() 29 | 30 | # Create interface library to link against gmock 31 | add_library(googletest::googletest INTERFACE IMPORTED) 32 | 33 | target_link_libraries(googletest::googletest 34 | INTERFACE 35 | ${GMOCK_LDFLAGS} 36 | ) 37 | 38 | target_compile_options(googletest::googletest 39 | INTERFACE 40 | ${GMOCK_CFLAGS} 41 | ) 42 | endif () 43 | -------------------------------------------------------------------------------- /cmake/Findlcov.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Findlcov results: 3 | # lcov_FOUND 4 | # lcov_EXECUTABLE 5 | 6 | include(FindPackageHandleStandardArgs) 7 | 8 | # work around CMP0053, see http://public.kitware.com/pipermail/cmake/2014-November/059117.html 9 | set(PROGRAMFILES_x86_ENV "PROGRAMFILES(x86)") 10 | 11 | find_program(lcov_EXECUTABLE 12 | NAMES 13 | lcov 14 | PATHS 15 | "${LCOV_DIR}" 16 | "$ENV{LCOV_DIR}" 17 | "$ENV{PROGRAMFILES}/lcov" 18 | "$ENV{${PROGRAMFILES_x86_ENV}}/lcov" 19 | ) 20 | 21 | find_program(genhtml_EXECUTABLE 22 | NAMES 23 | genhtml 24 | PATHS 25 | "${LCOV_DIR}" 26 | "$ENV{LCOV_DIR}" 27 | "$ENV{PROGRAMFILES}/lcov" 28 | "$ENV{${PROGRAMFILES_x86_ENV}}/lcov" 29 | ) 30 | 31 | find_package_handle_standard_args(lcov 32 | FOUND_VAR 33 | lcov_FOUND 34 | REQUIRED_VARS 35 | lcov_EXECUTABLE 36 | genhtml_EXECUTABLE 37 | ) 38 | 39 | mark_as_advanced( 40 | lcov_EXECUTABLE 41 | genhtml_EXECUTABLE 42 | ) 43 | -------------------------------------------------------------------------------- /cmake/GenerateTemplateExportHeader.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Creates an export header similar to generate_export_header, but for templates. 3 | # The main difference is that for MSVC, templates must not get exported. 4 | # When the file ${export_file} is included in source code, the macro ${target_id}_TEMPLATE_API 5 | # may get used to define public visibility for templates on GCC and Clang platforms. 6 | function(generate_template_export_header target target_id export_file) 7 | if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC") 8 | configure_file(${PROJECT_SOURCE_DIR}/source/codegeneration/template_msvc_api.h.in ${CMAKE_CURRENT_BINARY_DIR}/${export_file}) 9 | else() 10 | configure_file(${PROJECT_SOURCE_DIR}/source/codegeneration/template_api.h.in ${CMAKE_CURRENT_BINARY_DIR}/${export_file}) 11 | endif() 12 | endfunction() 13 | -------------------------------------------------------------------------------- /cmake/GetGitRevisionDescription.cmake.in: -------------------------------------------------------------------------------- 1 | # 2 | # Internal file for GetGitRevisionDescription.cmake 3 | # 4 | # Requires CMake 2.6 or newer (uses the 'function' command) 5 | # 6 | # Original Author: 7 | # 2009-2010 Ryan Pavlik 8 | # http://academic.cleardefinition.com 9 | # Iowa State University HCI Graduate Program/VRAC 10 | # 11 | # Copyright Iowa State University 2009-2010. 12 | # Distributed under the Boost Software License, Version 1.0. 13 | # (See accompanying file LICENSE_1_0.txt or copy at 14 | # http://www.boost.org/LICENSE_1_0.txt) 15 | 16 | set(HEAD_HASH) 17 | set(HEAD_REF) 18 | 19 | if (NOT EXISTS "@HEAD_FILE@") 20 | return() 21 | endif() 22 | 23 | file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) 24 | 25 | string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) 26 | if(HEAD_CONTENTS MATCHES "ref") 27 | # named branch 28 | string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") 29 | if(EXISTS "@GIT_DIR@/${HEAD_REF}") 30 | configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 31 | elseif(EXISTS "@GIT_DIR@/packed-refs") 32 | configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) 33 | file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) 34 | if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") 35 | set(HEAD_HASH "${CMAKE_MATCH_1}") 36 | endif() 37 | endif() 38 | else() 39 | # detached HEAD 40 | configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) 41 | endif() 42 | 43 | if(NOT HEAD_HASH AND EXISTS "@GIT_DATA@/head-ref") 44 | file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) 45 | string(STRIP "${HEAD_HASH}" HEAD_HASH) 46 | endif() 47 | -------------------------------------------------------------------------------- /cmake/RuntimeDependencies.cmake: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Default dependencies for the runtime-package 4 | # 5 | 6 | # Install 3rd-party runtime dependencies into runtime-component 7 | # install(FILES ... COMPONENT runtime) 8 | 9 | 10 | # 11 | # Full dependencies for self-contained packages 12 | # 13 | 14 | if(OPTION_SELF_CONTAINED) 15 | 16 | # Install 3rd-party runtime dependencies into runtime-component 17 | # install(FILES ... COMPONENT runtime) 18 | 19 | endif() 20 | -------------------------------------------------------------------------------- /data/cubescape-gles/cubescape.frag: -------------------------------------------------------------------------------- 1 | #version 320 es 2 | 3 | precision highp float; 4 | precision highp int; 5 | precision lowp sampler2D; 6 | precision lowp samplerCube; 7 | 8 | in float g_h; 9 | 10 | in vec2 g_uv; 11 | in vec3 g_normal; 12 | 13 | out vec4 fragColor; 14 | 15 | uniform sampler2D patches; 16 | 17 | void main() 18 | { 19 | vec3 n = normalize(g_normal); 20 | vec3 l = normalize(vec3(0.0, -0.5, 1.0)); 21 | 22 | float lambert = dot(n, l); 23 | 24 | float t = (2.0 / 3.0 - g_h) * 1.5 * 4.0 - 1.0; 25 | vec2 uv = g_uv * vec2(0.25, 1.0); 26 | 27 | vec4 c0 = texture(patches, uv + max(floor(t), 0.0) * vec2(0.25, 0.0)); 28 | vec4 c1 = texture(patches, uv + min(floor(t) + 1.0, 3.0) * vec2(0.25, 0.0)); 29 | 30 | fragColor = mix(c0, c1, smoothstep(0.25, 0.75, fract(t))) * lambert; 31 | } 32 | -------------------------------------------------------------------------------- /data/cubescape-gles/cubescape.geom: -------------------------------------------------------------------------------- 1 | #version 320 es 2 | 3 | precision highp float; 4 | precision highp int; 5 | precision lowp sampler2D; 6 | precision lowp samplerCube; 7 | 8 | uniform mat4 modelViewProjection; 9 | uniform int numcubes; 10 | 11 | in float v_h[3]; 12 | out float g_h; 13 | 14 | out vec2 g_uv; 15 | out vec3 g_normal; 16 | 17 | layout (triangles) in; 18 | layout (triangle_strip, max_vertices = 4) out; 19 | 20 | void main() 21 | { 22 | vec4 u = gl_in[1].gl_Position - gl_in[0].gl_Position; 23 | vec4 v = gl_in[2].gl_Position - gl_in[0].gl_Position; 24 | 25 | float f = mix(1.0, v.y * float(numcubes) * 0.5, step(1.0 / float(numcubes), v.y)); 26 | 27 | vec3 n = cross(normalize((modelViewProjection * u).xyz), normalize((modelViewProjection * v).xyz)); 28 | 29 | gl_Position = modelViewProjection * gl_in[0].gl_Position; 30 | g_uv = vec2(0.0, 0.0); 31 | g_normal = n; 32 | g_h = v_h[0]; 33 | EmitVertex(); 34 | 35 | gl_Position = modelViewProjection * gl_in[1].gl_Position; 36 | g_uv = vec2(1.0, 0.0); 37 | EmitVertex(); 38 | 39 | gl_Position = modelViewProjection * gl_in[2].gl_Position; 40 | g_uv = vec2(0.0, f); 41 | EmitVertex(); 42 | 43 | gl_Position = modelViewProjection * vec4((gl_in[0].gl_Position + u + v).xyz, 1.0); 44 | g_uv = vec2(1.0, f); 45 | EmitVertex(); 46 | } 47 | -------------------------------------------------------------------------------- /data/cubescape-gles/cubescape.vert: -------------------------------------------------------------------------------- 1 | #version 320 es 2 | 3 | precision highp float; 4 | precision highp int; 5 | precision lowp sampler2D; 6 | precision lowp samplerCube; 7 | 8 | in vec3 a_vertex; 9 | out float v_h; 10 | 11 | uniform sampler2D terrain; 12 | uniform float time; 13 | 14 | uniform int numcubes; 15 | 16 | void main() 17 | { 18 | float oneovernumcubes = 1.f / float(numcubes); 19 | vec2 uv = vec2(mod(float(gl_InstanceID), float(numcubes)), floor(float(gl_InstanceID) * oneovernumcubes)) * 2.0 * oneovernumcubes; 20 | 21 | vec3 v = a_vertex * oneovernumcubes - (1.0 - oneovernumcubes); 22 | v.xz += uv; 23 | 24 | v_h = texture(terrain, uv * 0.5 + vec2(sin(time * 0.04), time * 0.02)).r * 2.0 / 3.0; 25 | 26 | if(a_vertex.y > 0.0) 27 | v.y += v_h; 28 | 29 | gl_Position = vec4(v, 1.0); 30 | } 31 | -------------------------------------------------------------------------------- /data/cubescape-gles/patches.64.16.rgb.ub.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/data/cubescape-gles/patches.64.16.rgb.ub.raw -------------------------------------------------------------------------------- /data/cubescape-gles/shaderconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "opengl": { 4 | "major": 3, 5 | "minor": 2, 6 | "core": true, 7 | "forward": true, 8 | "debug": false 9 | }, 10 | "programs": [ 11 | { 12 | "name": "Cubescape", 13 | "shaders": [ 14 | { 15 | "name": "Cubescape Vertex Shader", 16 | "type": "GL_VERTEX_SHADER", 17 | "file": "cubescape.vert" 18 | }, 19 | { 20 | "name": "Cubescape Geometry Shader", 21 | "type": "GL_GEOMETRY_SHADER", 22 | "file": "cubescape.geom" 23 | }, 24 | { 25 | "name": "Cubescape Fragment Shader", 26 | "type": "GL_FRAGMENT_SHADER", 27 | "file": "cubescape.frag" 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | ] 34 | -------------------------------------------------------------------------------- /data/cubescape-gles/terrain.64.64.r.ub.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/data/cubescape-gles/terrain.64.64.r.ub.raw -------------------------------------------------------------------------------- /data/cubescape/cubescape.frag: -------------------------------------------------------------------------------- 1 | #version 150 core 2 | 3 | in float g_h; 4 | 5 | in vec2 g_uv; 6 | in vec3 g_normal; 7 | 8 | out vec4 fragColor; 9 | 10 | uniform sampler2D patches; 11 | 12 | void main() 13 | { 14 | vec3 n = normalize(g_normal); 15 | vec3 l = normalize(vec3(0.0, -0.5, 1.0)); 16 | 17 | float lambert = dot(n, l); 18 | 19 | float t = (2.0 / 3.0 - g_h) * 1.5 * 4.0 - 1.0; 20 | vec2 uv = g_uv * vec2(0.25, 1.0); 21 | 22 | vec4 c0 = texture(patches, uv + max(floor(t), 0.0) * vec2(0.25, 0.0)); 23 | vec4 c1 = texture(patches, uv + min(floor(t) + 1.0, 3.0) * vec2(0.25, 0.0)); 24 | 25 | fragColor = mix(c0, c1, smoothstep(0.25, 0.75, fract(t))) * lambert; 26 | } 27 | -------------------------------------------------------------------------------- /data/cubescape/cubescape.geom: -------------------------------------------------------------------------------- 1 | #version 150 core 2 | 3 | uniform mat4 modelViewProjection; 4 | uniform int numcubes; 5 | 6 | in float v_h[3]; 7 | out float g_h; 8 | 9 | out vec2 g_uv; 10 | out vec3 g_normal; 11 | 12 | layout (triangles) in; 13 | layout (triangle_strip, max_vertices = 4) out; 14 | 15 | void main() 16 | { 17 | vec4 u = gl_in[1].gl_Position - gl_in[0].gl_Position; 18 | vec4 v = gl_in[2].gl_Position - gl_in[0].gl_Position; 19 | 20 | float f = mix(1.0, v.y * float(numcubes) * 0.5, step(1.0 / float(numcubes), v.y)); 21 | 22 | vec3 n = cross(normalize((modelViewProjection * u).xyz), normalize((modelViewProjection * v).xyz)); 23 | 24 | gl_Position = modelViewProjection * gl_in[0].gl_Position; 25 | g_uv = vec2(0.0, 0.0); 26 | g_normal = n; 27 | g_h = v_h[0]; 28 | EmitVertex(); 29 | 30 | gl_Position = modelViewProjection * gl_in[1].gl_Position; 31 | g_uv = vec2(1.0, 0.0); 32 | EmitVertex(); 33 | 34 | gl_Position = modelViewProjection * gl_in[2].gl_Position; 35 | g_uv = vec2(0.0, f); 36 | EmitVertex(); 37 | 38 | gl_Position = modelViewProjection * vec4((gl_in[0].gl_Position + u + v).xyz, 1.0); 39 | g_uv = vec2(1.0, f); 40 | EmitVertex(); 41 | } 42 | -------------------------------------------------------------------------------- /data/cubescape/cubescape.vert: -------------------------------------------------------------------------------- 1 | #version 150 core 2 | 3 | in vec3 a_vertex; 4 | out float v_h; 5 | 6 | uniform sampler2D terrain; 7 | uniform float time; 8 | 9 | uniform int numcubes; 10 | 11 | void main() 12 | { 13 | float oneovernumcubes = 1.f / float(numcubes); 14 | vec2 uv = vec2(mod(gl_InstanceID, numcubes), floor(gl_InstanceID * oneovernumcubes)) * 2.0 * oneovernumcubes; 15 | 16 | vec3 v = a_vertex * oneovernumcubes - (1.0 - oneovernumcubes); 17 | v.xz += uv; 18 | 19 | v_h = texture(terrain, uv * 0.5 + vec2(sin(time * 0.04), time * 0.02)).r * 2.0 / 3.0; 20 | 21 | if(a_vertex.y > 0.0) 22 | v.y += v_h; 23 | 24 | gl_Position = vec4(v, 1.0); 25 | } 26 | -------------------------------------------------------------------------------- /data/cubescape/patches.64.16.rgb.ub.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/data/cubescape/patches.64.16.rgb.ub.raw -------------------------------------------------------------------------------- /data/cubescape/shaderconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "opengl": { 4 | "major": 3, 5 | "minor": 2, 6 | "core": true, 7 | "forward": true, 8 | "debug": false 9 | }, 10 | "programs": [ 11 | { 12 | "name": "Cubescape", 13 | "shaders": [ 14 | { 15 | "name": "Cubescape Vertex Shader", 16 | "type": "GL_VERTEX_SHADER", 17 | "file": "cubescape.vert" 18 | }, 19 | { 20 | "name": "Cubescape Geometry Shader", 21 | "type": "GL_GEOMETRY_SHADER", 22 | "file": "cubescape.geom" 23 | }, 24 | { 25 | "name": "Cubescape Fragment Shader", 26 | "type": "GL_FRAGMENT_SHADER", 27 | "file": "cubescape.frag" 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | ] 34 | -------------------------------------------------------------------------------- /data/cubescape/terrain.64.64.r.ub.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/data/cubescape/terrain.64.64.r.ub.raw -------------------------------------------------------------------------------- /deploy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Target 'pack' 4 | # 5 | 6 | add_custom_target(pack) 7 | set_target_properties(pack PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1) 8 | 9 | 10 | # Install additional runtime dependencies 11 | include(${PROJECT_SOURCE_DIR}/cmake/RuntimeDependencies.cmake) 12 | 13 | 14 | # 15 | # Packages 16 | # 17 | 18 | include(packages/pack-glbinding.cmake) 19 | 20 | 21 | # 22 | # Target 'component_install' 23 | # 24 | 25 | if(NOT WIN32) 26 | add_custom_target( 27 | component_install 28 | COMMAND make preinstall 29 | COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/ComponentInstall.cmake 30 | WORKING_DIRECTORY ${PROJECT_BINARY_DIR} 31 | ) 32 | endif() 33 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/debian-bullseye/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/debian-buster/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:buster 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/debian-stretch/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stretch 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/debian-testing/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:testing 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.0" 2 | 3 | services: 4 | debian-stretch: 5 | build: 6 | context: 'debian-stretch' 7 | dockerfile: 'Dockerfile' 8 | 9 | debian-buster: 10 | build: 11 | context: 'debian-buster' 12 | dockerfile: 'Dockerfile' 13 | 14 | debian-bullseye: 15 | build: 16 | context: 'debian-bullseye' 17 | dockerfile: 'Dockerfile' 18 | 19 | debian-testing: 20 | build: 21 | context: 'debian-testing' 22 | dockerfile: 'Dockerfile' 23 | 24 | ubuntu-xenial-ppa: 25 | build: 26 | context: 'ubuntu-xenial-ppa' 27 | dockerfile: 'Dockerfile' 28 | 29 | ubuntu-bionic: 30 | build: 31 | context: 'ubuntu-bionic' 32 | dockerfile: 'Dockerfile' 33 | 34 | ubuntu-bionic-ppa: 35 | build: 36 | context: 'ubuntu-bionic-ppa' 37 | dockerfile: 'Dockerfile' 38 | 39 | ubuntu-focal: 40 | build: 41 | context: 'ubuntu-focal' 42 | dockerfile: 'Dockerfile' 43 | 44 | ubuntu-focal-ppa: 45 | build: 46 | context: 'ubuntu-focal-ppa' 47 | dockerfile: 'Dockerfile' 48 | 49 | ubuntu-jammy: 50 | build: 51 | context: 'ubuntu-jammy' 52 | dockerfile: 'Dockerfile' 53 | 54 | ubuntu-jammy-ppa: 55 | build: 56 | context: 'ubuntu-jammy-ppa' 57 | dockerfile: 'Dockerfile' 58 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-bionic-ppa/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | RUN apt install -y software-properties-common 7 | RUN add-apt-repository -y ppa:cginternals/ppa 8 | 9 | RUN apt install -y libglbinding 10 | RUN apt install -y libglbinding-dev 11 | RUN apt install -y libglbinding-all 12 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-bionic/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-focal-ppa/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | RUN apt install -y software-properties-common 7 | RUN add-apt-repository -y ppa:cginternals/ppa 8 | 9 | RUN apt install -y libglbinding 10 | RUN apt install -y libglbinding-dev 11 | RUN apt install -y libglbinding-all 12 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-focal/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-jammy-ppa/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | RUN apt install -y software-properties-common 7 | RUN add-apt-repository -y ppa:cginternals/ppa 8 | 9 | RUN apt install -y libglbinding 10 | RUN apt install -y libglbinding-dev 11 | RUN apt install -y libglbinding-all 12 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-jammy/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | 7 | RUN apt install -y libglbinding2 8 | RUN apt install -y libglbinding-dev 9 | -------------------------------------------------------------------------------- /deploy/deb/install-tests/ubuntu-xenial-ppa/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | 3 | ENV DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt update 6 | RUN apt install -y software-properties-common 7 | RUN add-apt-repository -y ppa:cginternals/ppa 8 | RUN apt update 9 | 10 | RUN apt install -y libglbinding 11 | RUN apt install -y libglbinding-dev 12 | RUN apt install -y libglbinding-all 13 | -------------------------------------------------------------------------------- /deploy/packages/qt.conf: -------------------------------------------------------------------------------- 1 | [Paths] 2 | Plugins=plugins 3 | -------------------------------------------------------------------------------- /deploy/ubuntu-ppa/debian/changelog: -------------------------------------------------------------------------------- 1 | libglbinding (3.5.0-0) UNRELEASED; urgency=medium 2 | 3 | * Minor release 3.5.0 4 | 5 | -- Willy Scheibel Mon, 14 Apr 2025 18:45:00 +0100 6 | 7 | libglbinding (3.4.0-0) UNRELEASED; urgency=medium 8 | 9 | * Minor release 3.4.0 10 | 11 | -- Willy Scheibel Fri, 28 Mar 2025 18:45:00 +0100 12 | 13 | libglbinding (3.3.0-0) UNRELEASED; urgency=medium 14 | 15 | * Minor release 3.3.0 16 | 17 | -- Willy Scheibel Sun, 11 Jan 2022 15:30:00 +0100 18 | 19 | libglbinding (3.2.0-0) UNRELEASED; urgency=medium 20 | 21 | * Minor release 3.2.0 22 | 23 | -- Willy Scheibel Sun, 22 Mar 2020 12:59:00 +0100 24 | 25 | libglbinding (3.1.0-0) UNRELEASED; urgency=medium 26 | 27 | * Minor release 3.1.0 28 | 29 | -- Willy Scheibel Mon, 24 Apr 2019 19:45:00 +0200 30 | 31 | libglbinding (3.0.0-0) UNRELEASED; urgency=medium 32 | 33 | * Major release 3.0.0 34 | 35 | -- Willy Scheibel Mon, 01 Jul 2017 09:27:00 +0200 36 | 37 | libglbinding (2.1.1-0) UNRELEASED; urgency=medium 38 | 39 | * Minor release 2.1.1 40 | 41 | -- Willy Scheibel Mon, 01 Jul 2016 09:27:00 +0200 42 | 43 | libglbinding (2.1.0-0) UNRELEASED; urgency=medium 44 | 45 | * Minor release 2.1 46 | 47 | -- Willy Scheibel Mon, 27 Jun 2016 17:33:00 +0200 48 | 49 | libglbinding (2.0.0-0) UNRELEASED; urgency=medium 50 | 51 | * Major release 2.0 52 | 53 | -- Willy Scheibel Wed, 23 Mar 2016 21:27:51 +0100 54 | 55 | libglbinding (1.1.0-0) UNRELEASED; urgency=low 56 | 57 | * Initial release. 58 | 59 | -- Willy Scheibel Tue, 26 Jan 2016 12:50:03 +0100 60 | -------------------------------------------------------------------------------- /deploy/ubuntu-ppa/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /deploy/ubuntu-ppa/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianised by Willy Scheibel on 2 | Tue, 26 Jan 2016 10:57:00 +0100 3 | 4 | It was downloaded from: 5 | 6 | https://github.com/cginternals/glbinding 7 | 8 | Upstream Author: 9 | 10 | CG Internals and Computer Graphics Systems Group at the Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam, Germany 11 | 12 | Copyright: 13 | 14 | Copyright (c) 2014-2025 CG Internals and Computer Graphics Systems Group at the Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam, Germany. 15 | 16 | License: 17 | 18 | This software is available to you under the terms of the MIT license, see "https://github.com/cginternals/glbinding/blob/master/LICENSE". 19 | -------------------------------------------------------------------------------- /deploy/ubuntu-ppa/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /deploy/ubuntu-ppa/recipe.txt: -------------------------------------------------------------------------------- 1 | # git-build-recipe format 0.4 deb-version {debupstream}+{revno} 2 | lp:glbinding 3 | nest-part packaging lp:glbinding deploy/ubuntu-ppa/debian debian master 4 | -------------------------------------------------------------------------------- /docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Target 'docs' 4 | # 5 | 6 | if(NOT OPTION_BUILD_DOCS) 7 | return() 8 | endif() 9 | 10 | add_custom_target(docs) 11 | 12 | 13 | # 14 | # Documentation 15 | # 16 | 17 | add_subdirectory(api-docs) 18 | -------------------------------------------------------------------------------- /docs/api-docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Find doxygen 4 | # 5 | 6 | find_package(Doxygen) 7 | if(NOT DOXYGEN_FOUND) 8 | message(STATUS "Disabled generation of doxygen documentation (missing doxygen).") 9 | return() 10 | endif() 11 | 12 | 13 | # 14 | # Target name 15 | # 16 | 17 | set(target api-docs) 18 | message(STATUS "Doc ${target}") 19 | 20 | 21 | # 22 | # Input file 23 | # 24 | 25 | set(doxyfile_in doxyfile.in) 26 | 27 | 28 | # 29 | # Create documentation 30 | # 31 | 32 | # Set project variables 33 | set(doxyfile "${CMAKE_CURRENT_BINARY_DIR}/doxyfile") 34 | set(doxyfile_directory "${CMAKE_CURRENT_BINARY_DIR}/html") 35 | set(doxyfile_html "${doxyfile_directory}/index.html") 36 | 37 | # Get filename and path of doxyfile 38 | get_filename_component(name ${doxyfile_in} NAME) 39 | get_filename_component(path ${doxyfile_in} PATH) 40 | if(NOT path) 41 | set(path ${CMAKE_CURRENT_SOURCE_DIR}) 42 | endif() 43 | 44 | # Configure doxyfile (if it is a real doxyfile already, it should simply copy the file) 45 | set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) 46 | configure_file(${doxyfile_in} ${doxyfile}) 47 | 48 | # Invoke doxygen 49 | add_custom_command( 50 | OUTPUT ${doxyfile_html} 51 | DEPENDS ${doxyfile} ${META_PROJECT_NAME}::glbinding ${META_PROJECT_NAME}::glbinding-aux 52 | WORKING_DIRECTORY ${path} 53 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${path} ${doxyfile_directory} # ToDO, configure doxygen to use source as is 54 | COMMAND ${DOXYGEN} \"${doxyfile}\" 55 | COMMENT "Creating doxygen documentation." 56 | ) 57 | 58 | # Declare target 59 | add_custom_target(${target} ALL DEPENDS ${doxyfile_html}) 60 | add_dependencies(docs ${target}) 61 | 62 | 63 | # 64 | # Deployment 65 | # 66 | 67 | install( 68 | DIRECTORY ${doxyfile_directory} 69 | DESTINATION ${INSTALL_DOC} 70 | COMPONENT docs 71 | ) 72 | -------------------------------------------------------------------------------- /docs/api-docs/doxygen.css: -------------------------------------------------------------------------------- 1 | div.row { 2 | margin-top: 20px; 3 | } 4 | 5 | #projectlogo img { 6 | margin: 2ex 4ex; 7 | } 8 | 9 | span.icon { 10 | padding: 4pt; 11 | } 12 | 13 | .directory .levels { 14 | text-align: right; 15 | } 16 | 17 | .directory .levels span { 18 | cursor: pointer; 19 | } 20 | 21 | .arrow { 22 | color: #f3a01d; 23 | -webkit-user-select: none; 24 | -khtml-user-select: none; 25 | -moz-user-select: none; 26 | -ms-user-select: none; 27 | user-select: none; 28 | cursor: pointer; 29 | font-size: 80%; 30 | display: inline-block; 31 | width: 16px; 32 | height: 22px; 33 | } 34 | 35 | div.dyncontent div.center { 36 | text-align: center; 37 | padding: 20px 0px; 38 | } -------------------------------------------------------------------------------- /docs/api-docs/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/api-docs/include/mainpage.html: -------------------------------------------------------------------------------- 1 |

2 | glbinding is a generated, cross-platform C++ binding for OpenGL which is solely based on the new xml-based OpenGL API specification (gl.xml). 3 | It is a fully fledged OpenGL API binding compatible with current code based on other C bindings, e.g., GLEW. 4 | The binding is generated using python scripts and templates, that can be easily adapted to fit custom needs. 5 | glbinding can be used as an alternative to GLEW and other projects, e.g., glad, gl3w, glLoadGen, glload, and flextGL. 6 |

7 | 8 |

9 | glbinding leverages modern C++11 features like enum classes, lambdas, and variadic templates, instead of relying on macros (all OpenGL symbols are real functions and variables). 10 | It provides type-safe parameters, per feature API header, lazy function resolution, multi-context and multi-thread support, global function callbacks, meta information about the generated OpenGL binding and the OpenGL runtime, as well as multiple examples for quick-starting your projects. 11 |

12 | 13 |

14 | Current gl code, written with a typical C binding for OpenGL is fully compatible for the use with glbinding. Just replace all includes to the old binding and use the appropriate api namespace. 15 |

16 | -------------------------------------------------------------------------------- /docs/api-docs/mainpage.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \mainpage 3 | * \htmlinclude mainpage.html 4 | */ -------------------------------------------------------------------------------- /docs/api-docs/namespacedocumentation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @namespace glbinding 3 | * 4 | * @brief Contains all the classes of glbinding. 5 | * 6 | * TODO: Detailed documentation for glbinding here. 7 | */ 8 | -------------------------------------------------------------------------------- /docs/what-is-glbinding-v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/docs/what-is-glbinding-v2.png -------------------------------------------------------------------------------- /docs/what-is-glbinding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/docs/what-is-glbinding.png -------------------------------------------------------------------------------- /glbinding-config.cmake: -------------------------------------------------------------------------------- 1 | 2 | # This config script tries to locate the project either in its source tree 3 | # or from an install location. 4 | # 5 | # Please adjust the list of submodules to search for. 6 | 7 | # Find depencencies 8 | include(CMakeFindDependencyMacro) 9 | 10 | if (NOT TARGET "KHR::KHR") 11 | # prepend to current CMAKE_MODULE_PATH 12 | # original command: list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") 13 | set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake;${CMAKE_MODULE_PATH}") 14 | find_package(KHR QUIET) 15 | endif () 16 | 17 | # List of modules 18 | set(MODULE_NAMES 19 | KHRplatform 20 | glbinding 21 | glbinding-aux 22 | ) 23 | 24 | 25 | # Macro to search for a specific module 26 | macro(find_module FILENAME) 27 | if(EXISTS "${FILENAME}") 28 | set(MODULE_FOUND TRUE) 29 | include("${FILENAME}") 30 | endif() 31 | endmacro() 32 | 33 | # Macro to search for all modules 34 | macro(find_modules PREFIX) 35 | foreach(module_name ${MODULE_NAMES}) 36 | if(TARGET ${module_name}) 37 | set(MODULE_FOUND TRUE) 38 | else() 39 | find_module("${CMAKE_CURRENT_LIST_DIR}/${PREFIX}/${module_name}/${module_name}-export.cmake") 40 | endif() 41 | endforeach(module_name) 42 | endmacro() 43 | 44 | 45 | # Try install location 46 | set(MODULE_FOUND FALSE) 47 | find_modules("cmake") 48 | 49 | if(MODULE_FOUND) 50 | return() 51 | endif() 52 | 53 | # Try common build locations 54 | if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") 55 | find_modules("build-debug/cmake") 56 | find_modules("build/cmake") 57 | else() 58 | find_modules("build/cmake") 59 | find_modules("build-debug/cmake") 60 | endif() 61 | 62 | # Signal success/failure to CMake 63 | set(glbinding_FOUND ${MODULE_FOUND}) 64 | -------------------------------------------------------------------------------- /glbinding-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cginternals/glbinding/69e75ea4907933ba302eeb5fd6f95495210f2f30/glbinding-logo.png -------------------------------------------------------------------------------- /source/3rdparty/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # External libraries 3 | add_subdirectory(KHR) 4 | -------------------------------------------------------------------------------- /source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Configuration for all sub-projects 4 | # 5 | 6 | # Generate version-header 7 | configure_file(version.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/${META_PROJECT_NAME}/${META_PROJECT_NAME}-version.h) 8 | 9 | 10 | # 11 | # Sub-projects 12 | # 13 | 14 | # 3rdParties 15 | set(IDE_FOLDER "3rdparty") 16 | add_subdirectory("3rdparty/KHR") 17 | 18 | # Libraries 19 | set(IDE_FOLDER "") 20 | add_subdirectory(glbinding) 21 | add_subdirectory(glbinding-aux) 22 | 23 | # Tools 24 | if(OPTION_BUILD_TOOLS) 25 | set(IDE_FOLDER "Tools") 26 | add_subdirectory(tools) 27 | endif() 28 | 29 | # Examples 30 | if(OPTION_BUILD_EXAMPLES) 31 | set(IDE_FOLDER "Examples") 32 | add_subdirectory(examples) 33 | endif() 34 | 35 | # Tests 36 | if(OPTION_BUILD_TESTS AND NOT MINGW) 37 | set(IDE_FOLDER "Tests") 38 | add_subdirectory(tests) 39 | endif() 40 | 41 | 42 | # 43 | # Deployment 44 | # 45 | 46 | # Deploy generated headers 47 | install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/${META_PROJECT_NAME} DESTINATION include COMPONENT dev) 48 | 49 | 50 | include(${PROJECT_SOURCE_DIR}/cmake/WinInstallHacks.cmake) 51 | -------------------------------------------------------------------------------- /source/codegeneration/template_api.h.in: -------------------------------------------------------------------------------- 1 | 2 | #ifndef ${target_id}_TEMPLATE_API_H 3 | #define ${target_id}_TEMPLATE_API_H 4 | 5 | #include <${target}/${target}_export.h> 6 | 7 | #ifdef ${target_id}_STATIC_DEFINE 8 | # define ${target_id}_TEMPLATE_API 9 | #else 10 | # ifndef ${target_id}_TEMPLATE_API 11 | # ifdef ${target_id}_EXPORTS 12 | /* We are building this library */ 13 | # define ${target_id}_TEMPLATE_API __attribute__((visibility("default"))) 14 | # else 15 | /* We are using this library */ 16 | # define ${target_id}_TEMPLATE_API __attribute__((visibility("default"))) 17 | # endif 18 | # endif 19 | 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /source/codegeneration/template_msvc_api.h.in: -------------------------------------------------------------------------------- 1 | 2 | #ifndef ${target_id}_TEMPLATE_API_H 3 | #define ${target_id}_TEMPLATE_API_H 4 | 5 | #include <${target}/${target}_export.h> 6 | 7 | #ifdef ${target_id}_STATIC_DEFINE 8 | # define ${target_id}_TEMPLATE_API 9 | #else 10 | # ifndef ${target_id}_TEMPLATE_API 11 | # ifdef ${target_id}_EXPORTS 12 | /* We are building this library */ 13 | # define ${target_id}_TEMPLATE_API 14 | # else 15 | /* We are using this library */ 16 | # define ${target_id}_TEMPLATE_API 17 | # endif 18 | # endif 19 | 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /source/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Examples 4 | # 5 | 6 | # 7 | # Cubescape 8 | # 9 | 10 | # Shared Static Libraries 11 | add_subdirectory("cubescape-shared-gl") 12 | add_subdirectory("cubescape-shared-gles") 13 | 14 | # OpenGL APIs 15 | add_subdirectory("cubescape-gl") 16 | add_subdirectory("cubescape-gles") 17 | 18 | # Integrations 19 | add_subdirectory("cubescape-glfw-gl") 20 | add_subdirectory("cubescape-glfw-gles") 21 | add_subdirectory("cubescape-qt-gl") 22 | add_subdirectory("cubescape-qt-gles") 23 | add_subdirectory("cubescape-sdl-gl") 24 | add_subdirectory("cubescape-sdl-gles") 25 | add_subdirectory("cubescape-gtk3-gl") 26 | add_subdirectory("cubescape-gtk3-gles") 27 | add_subdirectory("cubescape-gtk4-gl") 28 | add_subdirectory("cubescape-gtk4-gles") 29 | add_subdirectory("cubescape-wgl") 30 | 31 | # General Features 32 | add_subdirectory("callbacks") 33 | add_subdirectory("comparison") 34 | add_subdirectory("multi-context") 35 | add_subdirectory("cubescape-log") 36 | -------------------------------------------------------------------------------- /source/examples/comparison/Timer.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Timer.h" 3 | 4 | #include 5 | 6 | 7 | Timer::Timer() : m_msg(nullptr), m_steps(1) 8 | { 9 | } 10 | 11 | void Timer::start(const char * msg) 12 | { 13 | m_msg = msg; 14 | time = std::chrono::system_clock::now(); 15 | } 16 | 17 | void Timer::setSteps(int steps) 18 | { 19 | m_steps = steps; 20 | } 21 | 22 | long double Timer::stop() 23 | { 24 | auto delta = std::chrono::system_clock::now() - time; 25 | 26 | long double us = std::chrono::duration_cast>(delta / m_steps).count(); 27 | 28 | std::cout << m_msg << ": " << us << " us" << std::endl; 29 | 30 | return us; 31 | } 32 | 33 | long double Timer::restart(const char * msg) 34 | { 35 | long double us = stop(); 36 | start(msg); 37 | 38 | return us; 39 | } 40 | -------------------------------------------------------------------------------- /source/examples/comparison/Timer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | 6 | class Timer 7 | { 8 | public: 9 | Timer(); 10 | 11 | void start (const char * msg); 12 | long double restart(const char * msg); 13 | long double stop(); 14 | 15 | void setSteps(int steps); 16 | 17 | protected: 18 | 19 | const char * m_msg; 20 | int m_steps; 21 | 22 | std::chrono::time_point time; 23 | }; 24 | -------------------------------------------------------------------------------- /source/examples/comparison/glbinding.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "glbinding.h" 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include 9 | 10 | #include 11 | 12 | #include 13 | 14 | #include 15 | 16 | #include 17 | 18 | #include 19 | 20 | 21 | using namespace gl; 22 | 23 | namespace 24 | { 25 | #include "gltest_data.inl" 26 | } 27 | 28 | 29 | void glbinding_init() 30 | { 31 | glbinding::Binding::initialize(glfwGetProcAddress, false); 32 | } 33 | 34 | 35 | void glbinding_test() 36 | { 37 | #include "gltest.inl" 38 | } 39 | 40 | 41 | void glbinding_error(bool enable) 42 | { 43 | if (enable) 44 | { 45 | glbinding::Binding::setCallbackMaskExcept(glbinding::CallbackMask::After, { "glGetError" }); 46 | 47 | glbinding::Binding::setAfterCallback([](const glbinding::FunctionCall &) 48 | { 49 | gl::GLenum error = gl::glGetError(); 50 | if (error != gl::GL_NO_ERROR) 51 | std::cout << "Error: " << error << std::endl; 52 | }); 53 | } 54 | else 55 | glbinding::Binding::setCallbackMask(glbinding::CallbackMask::None); 56 | } 57 | -------------------------------------------------------------------------------- /source/examples/comparison/glbinding.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void glbinding_init(); 4 | void glbinding_test(); 5 | 6 | void glbinding_error(bool enable); 7 | -------------------------------------------------------------------------------- /source/examples/comparison/glew.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "glew.h" 3 | 4 | #include 5 | 6 | #include 7 | 8 | 9 | namespace 10 | { 11 | #include "gltest_data.inl" 12 | 13 | bool errors = false; 14 | } 15 | 16 | 17 | void glew_init() 18 | { 19 | glewExperimental = GL_TRUE; 20 | glewInit(); 21 | glGetError(); 22 | } 23 | 24 | 25 | inline void glError() 26 | { 27 | GLenum error = glGetError(); 28 | if (error != GL_NO_ERROR) 29 | std::cout << "Error: " << error << std::endl; 30 | } 31 | 32 | void glew_test() 33 | { 34 | if (errors) 35 | { 36 | #include "gltest_error.inl" 37 | } 38 | else 39 | { 40 | #include "gltest.inl" 41 | } 42 | } 43 | 44 | void glew_error(bool enable) 45 | { 46 | errors = enable; 47 | } 48 | -------------------------------------------------------------------------------- /source/examples/comparison/glew.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void glew_init(); 4 | void glew_test(); 5 | 6 | void glew_error(bool enable); 7 | -------------------------------------------------------------------------------- /source/examples/comparison/gltest.inl: -------------------------------------------------------------------------------- 1 | 2 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 3 | 4 | glGenVertexArrays(1, &vao); 5 | glGenBuffers(1, &quad); 6 | 7 | program = glCreateProgram(); 8 | 9 | vs = glCreateShader(GL_VERTEX_SHADER); 10 | glShaderSource(vs, 1, &vert, 0); 11 | glCompileShader(vs); 12 | 13 | fs = glCreateShader(GL_FRAGMENT_SHADER); 14 | glShaderSource(fs, 1, &frag, 0); 15 | glCompileShader(fs); 16 | 17 | glAttachShader(program, vs); 18 | glAttachShader(program, fs); 19 | glLinkProgram(program); 20 | 21 | glBindBuffer(GL_ARRAY_BUFFER, quad); 22 | glBufferData(GL_ARRAY_BUFFER, sizeof(vec2) * 4, vertices, GL_STATIC_DRAW); 23 | 24 | glBindVertexArray(vao); 25 | 26 | a_vertex = static_cast(glGetAttribLocation(program, "a_vertex")); 27 | glEnableVertexAttribArray(static_cast(a_vertex)); 28 | glVertexAttribPointer(static_cast(a_vertex), 2, GL_FLOAT, GL_FALSE, 0, nullptr); 29 | 30 | glUseProgram(program); 31 | 32 | glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 33 | 34 | glDeleteProgram(program); 35 | glDeleteBuffers(1, &quad); 36 | glDeleteVertexArrays(1, &vao); 37 | -------------------------------------------------------------------------------- /source/examples/comparison/gltest_data.inl: -------------------------------------------------------------------------------- 1 | 2 | struct vec2 3 | { 4 | float x; 5 | float y; 6 | }; 7 | 8 | const vec2 vertices[4] = { { +1.f, -1.f }, { +1.f, +1.f }, { -1.f, -1.f }, { -1.f, +1.f } }; 9 | 10 | const GLchar * vert = R"( 11 | #version 150 12 | #extension GL_ARB_explicit_attrib_location : require 13 | 14 | layout (location = 0) in vec2 a_vertex; 15 | 16 | out vec4 color; 17 | 18 | void main() 19 | { 20 | gl_Position = vec4(a_vertex, 0.0, 1.0); 21 | color = vec4(a_vertex * 0.5 + 0.5, 0.0, 1.0); 22 | } 23 | )"; 24 | 25 | const GLchar * frag = R"( 26 | #version 150 27 | #extension GL_ARB_explicit_attrib_location : require 28 | 29 | layout (location = 0) out vec4 fragColor; 30 | 31 | in vec4 color; 32 | 33 | void main() 34 | { 35 | fragColor = color; 36 | } 37 | )"; 38 | 39 | GLuint vao; 40 | GLuint quad; 41 | GLuint program; 42 | GLuint vs; 43 | GLuint fs; 44 | GLuint a_vertex; 45 | -------------------------------------------------------------------------------- /source/examples/comparison/gltest_error.inl: -------------------------------------------------------------------------------- 1 | 2 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 3 | glError(); 4 | 5 | glGenVertexArrays(1, &vao); 6 | glError(); 7 | 8 | glGenBuffers(1, &quad); 9 | glError(); 10 | 11 | program = glCreateProgram(); 12 | glError(); 13 | 14 | vs = glCreateShader(GL_VERTEX_SHADER); 15 | glError(); 16 | glShaderSource(vs, 1, &vert, 0); 17 | glError(); 18 | glCompileShader(vs); 19 | glError(); 20 | 21 | fs = glCreateShader(GL_FRAGMENT_SHADER); 22 | glError(); 23 | glShaderSource(fs, 1, &frag, 0); 24 | glError(); 25 | glCompileShader(fs); 26 | glError(); 27 | 28 | glAttachShader(program, vs); 29 | glError(); 30 | glAttachShader(program, fs); 31 | glError(); 32 | glLinkProgram(program); 33 | glError(); 34 | 35 | glBindBuffer(GL_ARRAY_BUFFER, quad); 36 | glError(); 37 | glBufferData(GL_ARRAY_BUFFER, sizeof(vec2) * 4, vertices, GL_STATIC_DRAW); 38 | glError(); 39 | 40 | glBindVertexArray(vao); 41 | glError(); 42 | 43 | a_vertex = static_cast(glGetAttribLocation(program, "a_vertex")); 44 | glError(); 45 | glEnableVertexAttribArray(static_cast(a_vertex)); 46 | glError(); 47 | glVertexAttribPointer(static_cast(a_vertex), 2, GL_FLOAT, GL_FALSE, 0, nullptr); 48 | glError(); 49 | 50 | glUseProgram(program); 51 | glError(); 52 | 53 | glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 54 | glError(); 55 | 56 | glDeleteProgram(program); 57 | glError(); 58 | glDeleteBuffers(1, &quad); 59 | glError(); 60 | glDeleteVertexArrays(1, &vao); 61 | glError(); 62 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gl/Painter.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Painter.h" 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include 9 | 10 | 11 | Painter::Painter() 12 | : m_initialized(false) 13 | , m_cubescape(nullptr) 14 | { 15 | } 16 | 17 | Painter::~Painter() 18 | { 19 | delete m_cubescape; 20 | } 21 | 22 | void Painter::initialize(ProcAddressGetter procAddressCallback) 23 | { 24 | if (m_initialized) 25 | return; 26 | 27 | glbinding::initialize(procAddressCallback, false); // only resolve functions that are actually used (lazy) 28 | 29 | m_cubescape = new CubeScape(); 30 | 31 | m_initialized = true; 32 | } 33 | 34 | void Painter::resize(int width, int height) 35 | { 36 | m_cubescape->resize(width, height); 37 | } 38 | 39 | void Painter::draw() 40 | { 41 | m_cubescape->draw(); 42 | } 43 | 44 | void Painter::setNumCubes(int numCubes) 45 | { 46 | m_cubescape->setNumCubes(numCubes); 47 | } 48 | 49 | int Painter::numCubes() const 50 | { 51 | return m_cubescape->numCubes(); 52 | } 53 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gl/Painter.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | class CubeScape; 9 | 10 | // wrapper for cubescape to avoid overlapping qopengl and glbinding includes 11 | 12 | // Note: Qt could use a NO_GL_FUNCTIONS define (similar to GLFW_INCLUDE_NONE), but for 13 | // now the QOpenGLContext is tightly coupled with qopengl.h and QOpenGLFunctions. 14 | 15 | using ProcAddress = void(*)(); 16 | using ProcAddressGetter = ProcAddress(*)(const char*); 17 | 18 | class Painter 19 | { 20 | public: 21 | Painter(); 22 | ~Painter(); 23 | 24 | void initialize(ProcAddressGetter procAddressCallback); 25 | 26 | void resize(int width, int height); 27 | void draw(); 28 | 29 | void setNumCubes(int numCubes); 30 | int numCubes() const; 31 | 32 | protected: 33 | bool m_initialized; 34 | 35 | CubeScape * m_cubescape; 36 | }; 37 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gl/Viewer.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | #include 6 | 7 | 8 | class Ui_Viewer; 9 | 10 | class QLabel; 11 | class QSurfaceFormat; 12 | class QShortcut; 13 | 14 | class Canvas; 15 | 16 | 17 | class Viewer : public QMainWindow 18 | { 19 | Q_OBJECT 20 | 21 | public: 22 | Viewer( 23 | const QSurfaceFormat & format 24 | , QWidget * parent = nullptr 25 | , Qt::WindowFlags flags = Qt::WindowFlags()); 26 | 27 | virtual ~Viewer(); 28 | 29 | public slots: 30 | void fpsChanged(float fps); 31 | void numCubesChanged(int numCubes); 32 | 33 | protected slots: 34 | void on_toggleFullScreenAction_triggered(bool checked); 35 | void toggleFullScreen(); 36 | void on_toggleSwapIntervalAction_triggered(bool checked); 37 | void toggleSwapInterval(); 38 | 39 | void on_quitAction_triggered(bool checked); 40 | 41 | protected: 42 | void setup(); 43 | void setupCanvas(const QSurfaceFormat & format); 44 | 45 | void store(); 46 | void restore(); 47 | 48 | void updateAfterFullScreenToggle(); 49 | 50 | protected: 51 | const QScopedPointer m_ui; 52 | 53 | Canvas * m_canvas; 54 | 55 | QLabel * m_fpsLabel; 56 | QLabel * m_numLabel; 57 | 58 | QScopedPointer m_fullscreenShortcut; 59 | QScopedPointer m_swapIntervalShortcut; 60 | }; 61 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gl/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | #include 6 | 7 | #include "Viewer.h" 8 | 9 | 10 | int main(int argc, char * argv[]) 11 | { 12 | QApplication app(argc, argv); 13 | 14 | QSurfaceFormat format; 15 | format.setDepthBufferSize(16); 16 | 17 | #ifdef SYSTEM_DARWIN 18 | format.setVersion(3, 2); 19 | format.setProfile(QSurfaceFormat::CoreProfile); 20 | #endif 21 | 22 | QScopedPointer viewer(new Viewer(format)); 23 | 24 | return app.exec(); 25 | } 26 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gles/Painter.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Painter.h" 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include 9 | 10 | 11 | Painter::Painter() 12 | : m_initialized(false) 13 | , m_cubescape(nullptr) 14 | { 15 | } 16 | 17 | Painter::~Painter() 18 | { 19 | delete m_cubescape; 20 | } 21 | 22 | void Painter::initialize(ProcAddressGetter procAddressCallback) 23 | { 24 | if (m_initialized) 25 | return; 26 | 27 | glbinding::initialize(procAddressCallback, false); // only resolve functions that are actually used (lazy) 28 | 29 | m_cubescape = new CubeScape(); 30 | 31 | m_initialized = true; 32 | } 33 | 34 | void Painter::resize(int width, int height) 35 | { 36 | m_cubescape->resize(width, height); 37 | } 38 | 39 | void Painter::draw() 40 | { 41 | m_cubescape->draw(); 42 | } 43 | 44 | void Painter::setNumCubes(int numCubes) 45 | { 46 | m_cubescape->setNumCubes(numCubes); 47 | } 48 | 49 | int Painter::numCubes() const 50 | { 51 | return m_cubescape->numCubes(); 52 | } 53 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gles/Painter.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | class CubeScape; 9 | 10 | // wrapper for cubescape to avoid overlapping qopengl and glbinding includes 11 | 12 | // Note: Qt could use a NO_GL_FUNCTIONS define (similar to GLFW_INCLUDE_NONE), but for 13 | // now the QOpenGLContext is tightly coupled with qopengl.h and QOpenGLFunctions. 14 | 15 | using ProcAddress = void(*)(); 16 | using ProcAddressGetter = ProcAddress(*)(const char*); 17 | 18 | class Painter 19 | { 20 | public: 21 | Painter(); 22 | ~Painter(); 23 | 24 | void initialize(ProcAddressGetter procAddressCallback); 25 | 26 | void resize(int width, int height); 27 | void draw(); 28 | 29 | void setNumCubes(int numCubes); 30 | int numCubes() const; 31 | 32 | protected: 33 | bool m_initialized; 34 | 35 | CubeScape * m_cubescape; 36 | }; 37 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gles/Viewer.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | #include 6 | 7 | 8 | class Ui_Viewer; 9 | 10 | class QLabel; 11 | class QSurfaceFormat; 12 | class QShortcut; 13 | 14 | class Canvas; 15 | 16 | 17 | class Viewer : public QMainWindow 18 | { 19 | Q_OBJECT 20 | 21 | public: 22 | Viewer( 23 | const QSurfaceFormat & format 24 | , QWidget * parent = nullptr 25 | , Qt::WindowFlags flags = Qt::WindowFlags()); 26 | 27 | virtual ~Viewer(); 28 | 29 | public slots: 30 | void fpsChanged(float fps); 31 | void numCubesChanged(int numCubes); 32 | 33 | protected slots: 34 | void on_toggleFullScreenAction_triggered(bool checked); 35 | void toggleFullScreen(); 36 | void on_toggleSwapIntervalAction_triggered(bool checked); 37 | void toggleSwapInterval(); 38 | 39 | void on_quitAction_triggered(bool checked); 40 | 41 | protected: 42 | void setup(); 43 | void setupCanvas(const QSurfaceFormat & format); 44 | 45 | void store(); 46 | void restore(); 47 | 48 | void updateAfterFullScreenToggle(); 49 | 50 | protected: 51 | const QScopedPointer m_ui; 52 | 53 | Canvas * m_canvas; 54 | 55 | QLabel * m_fpsLabel; 56 | QLabel * m_numLabel; 57 | 58 | QScopedPointer m_fullscreenShortcut; 59 | QScopedPointer m_swapIntervalShortcut; 60 | }; 61 | -------------------------------------------------------------------------------- /source/examples/cubescape-qt-gles/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | #include 6 | 7 | #include "Viewer.h" 8 | 9 | 10 | int main(int argc, char * argv[]) 11 | { 12 | QApplication app(argc, argv); 13 | 14 | QSurfaceFormat format; 15 | format.setDepthBufferSize(16); 16 | 17 | // #ifdef SYSTEM_DARWIN 18 | // format.setVersion(3, 2); 19 | // format.setProfile(QSurfaceFormat::CoreProfile); 20 | // #endif 21 | 22 | format.setVersion(3, 2); 23 | format.setRenderableType(QSurfaceFormat::OpenGLES); 24 | 25 | QScopedPointer viewer(new Viewer(format)); 26 | 27 | return app.exec(); 28 | } 29 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gl/CubeScape.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include "glutils.h" 9 | 10 | 11 | class CubeScape 12 | { 13 | using clock = std::chrono::system_clock; 14 | 15 | public: 16 | CubeScape(); 17 | ~CubeScape(); 18 | 19 | void resize(int width, int height); 20 | void draw(); 21 | 22 | void setNumCubes(int numCubes); 23 | int numCubes() const; 24 | 25 | protected: 26 | bool m_initialized; 27 | 28 | gl::GLint a_vertex; 29 | gl::GLint u_transform; 30 | gl::GLint u_time; 31 | gl::GLint u_numcubes; 32 | gl::GLint u_terrain; 33 | gl::GLint u_patches; 34 | 35 | gl::GLuint m_vao; 36 | gl::GLuint m_indices; 37 | gl::GLuint m_vertices; 38 | 39 | gl::GLuint m_program; 40 | 41 | gl::GLuint m_textures[2]; 42 | 43 | float m_a; 44 | int m_numcubes; 45 | 46 | mat4 m_view; 47 | mat4 m_projection; 48 | 49 | clock::time_point m_time; 50 | }; 51 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gl/RawFile.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "RawFile.h" 3 | 4 | #include 5 | #include 6 | 7 | RawFile::RawFile(const std::string & _filePath) 8 | : m_filePath(_filePath) 9 | , m_valid(false) 10 | { 11 | m_valid = readFile(); 12 | } 13 | 14 | RawFile::~RawFile() 15 | { 16 | } 17 | 18 | bool RawFile::isValid() const 19 | { 20 | return m_valid; 21 | } 22 | 23 | const char * RawFile::data() const 24 | { 25 | return m_data.data(); 26 | } 27 | 28 | size_t RawFile::size() const 29 | { 30 | return m_data.size(); 31 | } 32 | 33 | bool RawFile::readFile() 34 | { 35 | std::ifstream ifs(m_filePath, std::ios::in | std::ios::binary); 36 | 37 | if (!ifs) 38 | { 39 | std::cerr << "Reading from file \"" << m_filePath << "\" failed." << std::endl; 40 | return false; 41 | } 42 | 43 | readRawData(ifs); 44 | 45 | ifs.close(); 46 | 47 | return true; 48 | } 49 | 50 | void RawFile::readRawData(std::ifstream & ifs) 51 | { 52 | ifs.seekg(0, std::ios::end); 53 | 54 | const size_t _size = static_cast(ifs.tellg()); 55 | m_data.resize(_size); 56 | 57 | ifs.seekg(0, std::ios::beg); 58 | ifs.read(m_data.data(), static_cast(_size)); 59 | } 60 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gl/RawFile.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class RawFile 10 | { 11 | public: 12 | RawFile(const std::string & filePath); 13 | virtual ~RawFile(); 14 | 15 | RawFile & operator=(const RawFile &) = delete; 16 | 17 | const char * data() const; 18 | size_t size() const; 19 | 20 | bool isValid() const; 21 | inline const std::string & filePath() const { return m_filePath; } 22 | 23 | protected: 24 | bool readFile(); 25 | void readRawData(std::ifstream & ifs); 26 | 27 | protected: 28 | const std::string m_filePath; 29 | std::vector m_data; 30 | 31 | bool m_valid; 32 | }; 33 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gl/glutils.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | void compile_info(const gl32core::GLuint shader); 7 | void link_info(const gl32core::GLuint program); 8 | 9 | struct mat4 10 | { 11 | mat4(); 12 | 13 | inline gl::GLfloat & operator[](const int i) { return m[i]; } 14 | inline const gl::GLfloat & operator[](const int i) const { return m[i]; } 15 | 16 | static mat4 lookAt(gl::GLfloat eyex, gl::GLfloat eyey, gl::GLfloat eyez 17 | , gl::GLfloat centerx, gl::GLfloat centery, gl::GLfloat centerz, gl::GLfloat upx, gl::GLfloat upy, gl::GLfloat upz); 18 | 19 | static mat4 perspective(gl::GLfloat fovy, gl::GLfloat aspect, gl::GLfloat zNear, gl::GLfloat zFar); 20 | 21 | static mat4 translate(gl::GLfloat x, gl::GLfloat y, gl::GLfloat z); 22 | static mat4 scale(gl::GLfloat x, gl::GLfloat y, gl::GLfloat z); 23 | static mat4 rotate(gl::GLfloat angle, gl::GLfloat x, gl::GLfloat y, gl::GLfloat z); 24 | 25 | gl::GLfloat m[16]; 26 | }; 27 | 28 | mat4 operator*(const mat4 & a, const mat4 & b); 29 | 30 | struct vec3 31 | { 32 | vec3(); 33 | vec3(gl::GLfloat x, gl::GLfloat y, gl::GLfloat z); 34 | 35 | inline gl::GLfloat & operator[](const int i) { return v[i]; } 36 | inline const gl::GLfloat & operator[](const int i) const { return v[i]; } 37 | 38 | vec3 & operator+(const vec3 & rhs); 39 | vec3 & operator-(const vec3 & rhs); 40 | vec3 & operator*(const vec3 & rhs); 41 | vec3 & operator/(const vec3 & rhs); 42 | 43 | gl::GLfloat length(); 44 | void normalize(); 45 | 46 | gl::GLfloat v[3]; 47 | }; 48 | 49 | vec3 crossp(const vec3 & a, const vec3 & b); 50 | gl::GLfloat dotp(const vec3 & a, const vec3 & b); 51 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gles/CubeScape.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | #include 7 | 8 | #include "glutils.h" 9 | 10 | 11 | class CubeScape 12 | { 13 | using clock = std::chrono::system_clock; 14 | 15 | public: 16 | CubeScape(); 17 | ~CubeScape(); 18 | 19 | void resize(int width, int height); 20 | void draw(); 21 | 22 | void setNumCubes(int numCubes); 23 | int numCubes() const; 24 | 25 | protected: 26 | bool m_initialized; 27 | 28 | gl::GLint a_vertex; 29 | gl::GLint u_transform; 30 | gl::GLint u_time; 31 | gl::GLint u_numcubes; 32 | gl::GLint u_terrain; 33 | gl::GLint u_patches; 34 | 35 | gl::GLuint m_vao; 36 | gl::GLuint m_indices; 37 | gl::GLuint m_vertices; 38 | 39 | gl::GLuint m_program; 40 | 41 | gl::GLuint m_textures[2]; 42 | 43 | float m_a; 44 | int m_numcubes; 45 | 46 | mat4 m_view; 47 | mat4 m_projection; 48 | 49 | clock::time_point m_time; 50 | }; 51 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gles/RawFile.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "RawFile.h" 3 | 4 | #include 5 | #include 6 | 7 | RawFile::RawFile(const std::string & _filePath) 8 | : m_filePath(_filePath) 9 | , m_valid(false) 10 | { 11 | m_valid = readFile(); 12 | } 13 | 14 | RawFile::~RawFile() 15 | { 16 | } 17 | 18 | bool RawFile::isValid() const 19 | { 20 | return m_valid; 21 | } 22 | 23 | const char * RawFile::data() const 24 | { 25 | return m_data.data(); 26 | } 27 | 28 | size_t RawFile::size() const 29 | { 30 | return m_data.size(); 31 | } 32 | 33 | bool RawFile::readFile() 34 | { 35 | std::ifstream ifs(m_filePath, std::ios::in | std::ios::binary); 36 | 37 | if (!ifs) 38 | { 39 | std::cerr << "Reading from file \"" << m_filePath << "\" failed." << std::endl; 40 | return false; 41 | } 42 | 43 | readRawData(ifs); 44 | 45 | ifs.close(); 46 | 47 | return true; 48 | } 49 | 50 | void RawFile::readRawData(std::ifstream & ifs) 51 | { 52 | ifs.seekg(0, std::ios::end); 53 | 54 | const size_t _size = static_cast(ifs.tellg()); 55 | m_data.resize(_size); 56 | 57 | ifs.seekg(0, std::ios::beg); 58 | ifs.read(m_data.data(), static_cast(_size)); 59 | } 60 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gles/RawFile.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class RawFile 10 | { 11 | public: 12 | RawFile(const std::string & filePath); 13 | virtual ~RawFile(); 14 | 15 | RawFile & operator=(const RawFile &) = delete; 16 | 17 | const char * data() const; 18 | size_t size() const; 19 | 20 | bool isValid() const; 21 | inline const std::string & filePath() const { return m_filePath; } 22 | 23 | protected: 24 | bool readFile(); 25 | void readRawData(std::ifstream & ifs); 26 | 27 | protected: 28 | const std::string m_filePath; 29 | std::vector m_data; 30 | 31 | bool m_valid; 32 | }; 33 | -------------------------------------------------------------------------------- /source/examples/cubescape-shared-gles/glutils.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | void compile_info(const gl30::GLuint shader); 7 | void link_info(const gl30::GLuint program); 8 | 9 | struct mat4 10 | { 11 | mat4(); 12 | 13 | inline gl30::GLfloat & operator[](const int i) { return m[i]; } 14 | inline const gl30::GLfloat & operator[](const int i) const { return m[i]; } 15 | 16 | static mat4 lookAt(gl30::GLfloat eyex, gl30::GLfloat eyey, gl30::GLfloat eyez 17 | , gl30::GLfloat centerx, gl30::GLfloat centery, gl30::GLfloat centerz, gl30::GLfloat upx, gl30::GLfloat upy, gl30::GLfloat upz); 18 | 19 | static mat4 perspective(gl30::GLfloat fovy, gl30::GLfloat aspect, gl30::GLfloat zNear, gl30::GLfloat zFar); 20 | 21 | static mat4 translate(gl30::GLfloat x, gl30::GLfloat y, gl30::GLfloat z); 22 | static mat4 scale(gl30::GLfloat x, gl30::GLfloat y, gl30::GLfloat z); 23 | static mat4 rotate(gl30::GLfloat angle, gl30::GLfloat x, gl30::GLfloat y, gl30::GLfloat z); 24 | 25 | gl30::GLfloat m[16]; 26 | }; 27 | 28 | mat4 operator*(const mat4 & a, const mat4 & b); 29 | 30 | struct vec3 31 | { 32 | vec3(); 33 | vec3(gl30::GLfloat x, gl30::GLfloat y, gl30::GLfloat z); 34 | 35 | inline gl30::GLfloat & operator[](const int i) { return v[i]; } 36 | inline const gl30::GLfloat & operator[](const int i) const { return v[i]; } 37 | 38 | vec3 & operator+(const vec3 & rhs); 39 | vec3 & operator-(const vec3 & rhs); 40 | vec3 & operator*(const vec3 & rhs); 41 | vec3 & operator/(const vec3 & rhs); 42 | 43 | gl30::GLfloat length(); 44 | void normalize(); 45 | 46 | gl30::GLfloat v[3]; 47 | }; 48 | 49 | vec3 crossp(const vec3 & a, const vec3 & b); 50 | gl30::GLfloat dotp(const vec3 & a, const vec3 & b); 51 | -------------------------------------------------------------------------------- /source/glbinding-aux/include/glbinding-aux/debug.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | namespace glbinding { namespace aux 9 | { 10 | 11 | 12 | /** 13 | * @brief 14 | * Register the glGetError after callback 15 | * 16 | * @remark 17 | * This function just registers the global after callback within glbinding. 18 | * For actual use, the callback has to be enabled, e.g., by a call to enableGetErrorCallback(). 19 | * 20 | * @remark 21 | * Any previously registered after callback get overwritten. 22 | */ 23 | GLBINDING_AUX_API void registerGetErrorCallback(); 24 | 25 | /** 26 | * @brief 27 | * Enable glGetError() after callback 28 | * 29 | * @remark 30 | * This registers the glGetError after callback if it wasn't registered before (by an internall call to registerGetErrorCallback()). 31 | * Thus, any previously registered after callback get overwritten. 32 | */ 33 | GLBINDING_AUX_API void enableGetErrorCallback(); 34 | 35 | /** 36 | * @brief 37 | * Disables calls to the glGetError() after callback. 38 | * 39 | * @remark 40 | * This does not unregister the after callback. 41 | */ 42 | GLBINDING_AUX_API void disableGetErrorCallback(); 43 | 44 | 45 | } } // namespace glbinding::aux 46 | -------------------------------------------------------------------------------- /source/glbinding-aux/include/glbinding-aux/types_to_string.inl: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | template 13 | std::ostream & operator<<(std::ostream & stream, const Value & value) 14 | { 15 | stream << value.value(); 16 | 17 | return stream; 18 | } 19 | 20 | template 21 | std::ostream & operator<<(std::ostream & stream, const Value & value) 22 | { 23 | stream << std::hex << value.value() << std::dec; 24 | 25 | return stream; 26 | } 27 | 28 | 29 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding-aux/source/Meta_BooleansByString.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Meta_Maps.h" 3 | 4 | #include 5 | 6 | 7 | using namespace gl; 8 | 9 | 10 | namespace glbinding { namespace aux 11 | { 12 | 13 | 14 | const std::unordered_map Meta_BooleansByString = 15 | { 16 | { "GL_FALSE", gl::GL_FALSE }, 17 | { "GL_TRUE", gl::GL_TRUE } 18 | }; 19 | 20 | 21 | } } // namespace glbinding::aux -------------------------------------------------------------------------------- /source/glbinding-aux/source/Meta_StringsByBoolean.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Meta_Maps.h" 3 | 4 | #include 5 | 6 | 7 | using namespace gl; 8 | 9 | 10 | namespace glbinding { namespace aux 11 | { 12 | 13 | 14 | const std::unordered_map Meta_StringsByBoolean = 15 | { 16 | { gl::GL_FALSE, "GL_FALSE" }, 17 | { gl::GL_TRUE, "GL_TRUE" } 18 | }; 19 | 20 | 21 | } } // namespace glbinding::aux -------------------------------------------------------------------------------- /source/glbinding-aux/source/ValidVersions.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | namespace glbinding { namespace aux 6 | { 7 | 8 | 9 | bool ValidVersions::isValid(const Version & version) 10 | { 11 | return s_validVersions.find(version) != s_validVersions.end(); 12 | } 13 | 14 | const Version & ValidVersions::nearest(const Version & version) 15 | { 16 | auto iterator = s_validVersions.lower_bound(version); 17 | 18 | if (iterator == s_validVersions.end()) 19 | { 20 | return *(--iterator); 21 | } 22 | 23 | return *iterator; 24 | } 25 | 26 | const Version & ValidVersions::latest() 27 | { 28 | return s_latest; 29 | } 30 | 31 | const std::set & ValidVersions::versions() 32 | { 33 | return s_validVersions; 34 | } 35 | 36 | std::set ValidVersions::preceeding(const Version & version) 37 | { 38 | auto preceedingVersions = std::set{}; 39 | for (auto & v : s_validVersions) 40 | { 41 | if (v < version) 42 | { 43 | preceedingVersions.insert(v); 44 | } 45 | } 46 | 47 | return preceedingVersions; 48 | } 49 | 50 | std::set ValidVersions::succeeding(const Version & version) 51 | { 52 | auto succeedingVersions = std::set{}; 53 | for (auto & v : s_validVersions) 54 | { 55 | if (v > version) 56 | { 57 | succeedingVersions.insert(v); 58 | } 59 | } 60 | 61 | return succeedingVersions; 62 | } 63 | 64 | 65 | } } // namespace glbinding::aux -------------------------------------------------------------------------------- /source/glbinding-aux/source/ValidVersions_list.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | const std::set glbinding::aux::ValidVersions::s_validVersions = 6 | { 7 | { 1, 0 }, 8 | { 1, 1 }, 9 | { 1, 2 }, 10 | { 1, 3 }, 11 | { 1, 4 }, 12 | { 1, 5 }, 13 | { 2, 0 }, 14 | { 2, 1 }, 15 | { 3, 0 }, 16 | { 3, 1 }, 17 | { 3, 2 }, 18 | { 3, 3 }, 19 | { 4, 0 }, 20 | { 4, 1 }, 21 | { 4, 2 }, 22 | { 4, 3 }, 23 | { 4, 4 }, 24 | { 4, 5 }, 25 | { 4, 6 } 26 | }; 27 | 28 | const glbinding::Version glbinding::aux::ValidVersions::s_latest { 4, 6 }; -------------------------------------------------------------------------------- /source/glbinding-aux/source/glrevision.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | namespace glbinding 6 | { 7 | 8 | 9 | const unsigned int GL_REVISION = 20250416; ///< The revision of the gl.xml at the time of code generation. 10 | 11 | 12 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding-aux/source/logging_private.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace glbinding { namespace aux 5 | { 6 | 7 | 8 | void startWriter(const std::string & filepath); 9 | const std::string getStandardFilepath(); 10 | 11 | using LogEntry = FunctionCall *; 12 | using TailIdentifier = unsigned int; 13 | TailIdentifier addTail(); 14 | void removeTail(TailIdentifier); 15 | const std::vector::const_iterator cbegin(TailIdentifier key); 16 | bool valid(TailIdentifier key, const std::vector::const_iterator & it); 17 | const std::vector::const_iterator next(TailIdentifier key, const std::vector::const_iterator & it); 18 | unsigned int size(TailIdentifier key); 19 | 20 | 21 | } } // namespace glbinding::aux 22 | -------------------------------------------------------------------------------- /source/glbinding-aux/source/types_to_string_private.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "types_to_string_private.h" 3 | 4 | #include 5 | 6 | 7 | namespace glbinding { namespace aux 8 | { 9 | 10 | 11 | std::string wrapString(const char * value) 12 | { 13 | std::stringstream ss; 14 | ss << "\""; 15 | ss << (value == nullptr ? "nullptr" : value); 16 | ss << "\""; 17 | return ss.str(); 18 | } 19 | 20 | 21 | } } // namespace glbinding::aux 22 | -------------------------------------------------------------------------------- /source/glbinding-aux/source/types_to_string_private.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #include 10 | 11 | 12 | namespace glbinding { namespace aux 13 | { 14 | 15 | 16 | template 17 | std::string bitfieldString(T value) 18 | { 19 | std::bitset bits(static_cast(value)); 20 | 21 | std::stringstream ss; 22 | bool first = true; 23 | 24 | for (size_t i = 0; i < sizeof(gl::GLbitfield) * 8; ++i) 25 | { 26 | if (!bits.test(i)) 27 | continue; 28 | 29 | if (first) 30 | { 31 | first = false; 32 | } 33 | else 34 | { 35 | ss << " | "; 36 | } 37 | 38 | const gl::GLbitfield bit = 1 << i; 39 | 40 | const auto identifier = glbinding::aux::Meta::getString(static_cast(bit)); 41 | if (identifier.empty()) 42 | { 43 | ss << "1 << " << i; 44 | } 45 | else 46 | { 47 | ss << identifier; 48 | } 49 | } 50 | return ss.str(); 51 | } 52 | 53 | std::string wrapString(const char * value); 54 | 55 | 56 | } } // namespace glbinding::aux 57 | -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/AbstractValue.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | /** 13 | * @brief 14 | * The AbstractValue class represents the superclass of a printable wrapper around a data type. 15 | * 16 | * This class and its subclasses Value are mainly used when callbacks of functions are used. 17 | */ 18 | class GLBINDING_API AbstractValue 19 | { 20 | public: 21 | /** 22 | * @brief 23 | * Constructor 24 | */ 25 | AbstractValue(); 26 | 27 | /** 28 | * @brief 29 | * Destructor for correct memory deallocation on subclasses 30 | */ 31 | virtual ~AbstractValue(); 32 | }; 33 | 34 | 35 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/CallbackMask.inl: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | GLBINDING_CONSTEXPR CallbackMask operator~(const CallbackMask a) 13 | { 14 | using callback_mask_t = std::underlying_type::type; 15 | 16 | return static_cast(~static_cast(a)); 17 | } 18 | 19 | GLBINDING_CONSTEXPR CallbackMask operator|(const CallbackMask a, const CallbackMask b) 20 | { 21 | using callback_mask_t = std::underlying_type::type; 22 | 23 | return static_cast(static_cast(a) | static_cast(b)); 24 | } 25 | 26 | GLBINDING_CONSTEXPR CallbackMask operator&(const CallbackMask a, const CallbackMask b) 27 | { 28 | using callback_mask_t = std::underlying_type::type; 29 | 30 | return static_cast(static_cast(a) & static_cast(b)); 31 | } 32 | 33 | GLBINDING_CONSTEXPR CallbackMask operator^(const CallbackMask a, const CallbackMask b) 34 | { 35 | using callback_mask_t = std::underlying_type::type; 36 | 37 | return static_cast(static_cast(a) ^ static_cast(b)); 38 | } 39 | 40 | CallbackMask& operator|=(CallbackMask& a, const CallbackMask b) 41 | { 42 | a = a | b; 43 | return a; 44 | } 45 | 46 | CallbackMask& operator&=(CallbackMask& a, const CallbackMask b) 47 | { 48 | a = a & b; 49 | return a; 50 | } 51 | 52 | CallbackMask& operator^=(CallbackMask& a, const CallbackMask b) 53 | { 54 | a = a ^ b; 55 | return a; 56 | } 57 | 58 | 59 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/ContextHandle.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | namespace glbinding 6 | { 7 | 8 | 9 | using ContextHandle = long long int; ///< Type for storing context handles 10 | 11 | 12 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/ProcAddress.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace glbinding 11 | { 12 | 13 | 14 | /** 15 | * @brief 16 | * The generic pointer to a function 17 | */ 18 | using ProcAddress = void(*)(); 19 | 20 | /** 21 | * @brief 22 | * The signature for the getProcAddress function 23 | */ 24 | using GetProcAddress = std::function; 25 | 26 | 27 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/State.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | /** 13 | * @brief 14 | * The State class represents the configuration of a function for one thread. 15 | * This includes the driver function pointer (is allowed to differ between contexts) and the callback mask 16 | */ 17 | class GLBINDING_API State : public AbstractState 18 | { 19 | public: 20 | /** 21 | * @brief 22 | * Constructor 23 | */ 24 | State() = default; 25 | 26 | /** 27 | * @brief 28 | * Resolve a function and save its address 29 | * 30 | * @param[in] name 31 | * Name of the function to be resolved 32 | */ 33 | virtual void resolve(const char * name) override; 34 | }; 35 | 36 | 37 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/Value.inl: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | namespace 6 | { 7 | 8 | 9 | template 10 | struct ValueAdder; 11 | 12 | template <> 13 | struct ValueAdder<> 14 | { 15 | inline static void add(std::vector> &) 16 | { 17 | } 18 | }; 19 | 20 | template 21 | struct ValueAdder 22 | { 23 | inline static void add(std::vector> & values, Argument value, Arguments&&... rest) 24 | { 25 | values.push_back(glbinding::createValue(value)); 26 | ValueAdder::add(values, std::forward(rest)...); 27 | } 28 | }; 29 | 30 | template 31 | inline void addValuesTo(std::vector> & values, Arguments&&... arguments) 32 | { 33 | ValueAdder::add(values, std::forward(arguments)...); 34 | } 35 | 36 | 37 | } // namespace 38 | 39 | 40 | namespace glbinding 41 | { 42 | 43 | 44 | template 45 | GLBINDING_CONSTEXPR Value::Value(const T & value) 46 | : m_value(value) 47 | { 48 | } 49 | 50 | template 51 | GLBINDING_CONSTEXPR T Value::value() const 52 | { 53 | return m_value; 54 | } 55 | 56 | 57 | template 58 | std::unique_ptr createValue(const Argument & argument) 59 | { 60 | return std::unique_ptr>(new Value(argument)); 61 | } 62 | 63 | template 64 | std::vector> createValues(Arguments&&... arguments) 65 | { 66 | auto values = std::vector>{}; 67 | addValuesTo(values, std::forward(arguments)...); 68 | return values; 69 | } 70 | 71 | 72 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/getProcAddress.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace glbinding 11 | { 12 | 13 | 14 | /** 15 | * @brief 16 | * Default getProcAddress implementation using libdl (Unix) and LoadLibrary (Windows). 17 | * 18 | * @param[in] name 19 | * The name of the OpenGL function 20 | * 21 | * @return 22 | * The resolved function pointer 23 | * 24 | * @remark 25 | * Using glbinding::getProcAddress is provided for convenience only. Please don't use this in new code. 26 | * Instead, use an external function resolution callback, e.g., 27 | * * wglGetProcAddress 28 | * * glxGetProcAddress 29 | * * glfwGetProcAddress 30 | * * QOpenGlContext::getProcAddress 31 | * * reinterpret_cast(SDL_GL_GetProcAddress) 32 | */ 33 | GLBINDING_API ProcAddress getProcAddress(const char * name); 34 | 35 | 36 | } // namespace glbinding 37 | -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | namespace gl 13 | { 14 | 15 | 16 | using GLboolean = glbinding::Boolean8; 17 | 18 | 19 | // import booleans to namespace 20 | 21 | GLBINDING_CONSTEXPR static const GLboolean GL_FALSE = GLboolean(0); 22 | GLBINDING_CONSTEXPR static const GLboolean GL_TRUE = GLboolean(1); 23 | 24 | 25 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | 11 | namespace gl 12 | { 13 | 14 | 15 | GLBINDING_CONSTEXPR static const GLuint GL_ALL_PIXELS_AMD = 0xFFFFFFFF; 16 | GLBINDING_CONSTEXPR static const GLuint GL_INVALID_INDEX = 0xFFFFFFFF; 17 | GLBINDING_CONSTEXPR static const GLuint GL_LUID_SIZE_EXT = 8; 18 | GLBINDING_CONSTEXPR static const GLuint64 GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; 19 | GLBINDING_CONSTEXPR static const GLuint64 GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF; 20 | GLBINDING_CONSTEXPR static const GLuint GL_UUID_SIZE_EXT = 16; 21 | 22 | 23 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl10 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_COLOR_BUFFER_BIT; 18 | using gl::GL_CURRENT_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_ENABLE_BIT; 21 | using gl::GL_EVAL_BIT; 22 | using gl::GL_FOG_BIT; 23 | using gl::GL_HINT_BIT; 24 | using gl::GL_LIGHTING_BIT; 25 | using gl::GL_LINE_BIT; 26 | using gl::GL_LIST_BIT; 27 | using gl::GL_PIXEL_MODE_BIT; 28 | using gl::GL_POINT_BIT; 29 | using gl::GL_POLYGON_BIT; 30 | using gl::GL_POLYGON_STIPPLE_BIT; 31 | using gl::GL_SCISSOR_BIT; 32 | using gl::GL_STENCIL_BUFFER_BIT; 33 | using gl::GL_TEXTURE_BIT; 34 | using gl::GL_TRANSFORM_BIT; 35 | using gl::GL_VIEWPORT_BIT; 36 | 37 | 38 | } // namespace gl10 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl10 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl10 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl10 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl10 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl10ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl10ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl10ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl10ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl10ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl11 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_PIXEL_MODE_BIT; 31 | using gl::GL_POINT_BIT; 32 | using gl::GL_POLYGON_BIT; 33 | using gl::GL_POLYGON_STIPPLE_BIT; 34 | using gl::GL_SCISSOR_BIT; 35 | using gl::GL_STENCIL_BUFFER_BIT; 36 | using gl::GL_TEXTURE_BIT; 37 | using gl::GL_TRANSFORM_BIT; 38 | using gl::GL_VIEWPORT_BIT; 39 | 40 | 41 | } // namespace gl11 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl11 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl11 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl11 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl11 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl11ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl11ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl11ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl11ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl11ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl12 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_PIXEL_MODE_BIT; 31 | using gl::GL_POINT_BIT; 32 | using gl::GL_POLYGON_BIT; 33 | using gl::GL_POLYGON_STIPPLE_BIT; 34 | using gl::GL_SCISSOR_BIT; 35 | using gl::GL_STENCIL_BUFFER_BIT; 36 | using gl::GL_TEXTURE_BIT; 37 | using gl::GL_TRANSFORM_BIT; 38 | using gl::GL_VIEWPORT_BIT; 39 | 40 | 41 | } // namespace gl12 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl12 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl12 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl12 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl12 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl12ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl12ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl12ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl12ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl12ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl13 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_MULTISAMPLE_BIT; 31 | using gl::GL_PIXEL_MODE_BIT; 32 | using gl::GL_POINT_BIT; 33 | using gl::GL_POLYGON_BIT; 34 | using gl::GL_POLYGON_STIPPLE_BIT; 35 | using gl::GL_SCISSOR_BIT; 36 | using gl::GL_STENCIL_BUFFER_BIT; 37 | using gl::GL_TEXTURE_BIT; 38 | using gl::GL_TRANSFORM_BIT; 39 | using gl::GL_VIEWPORT_BIT; 40 | 41 | 42 | } // namespace gl13 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl13 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl13 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl13 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl13 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl13ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl13ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl13ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl13ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl13ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl14 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_MULTISAMPLE_BIT; 31 | using gl::GL_PIXEL_MODE_BIT; 32 | using gl::GL_POINT_BIT; 33 | using gl::GL_POLYGON_BIT; 34 | using gl::GL_POLYGON_STIPPLE_BIT; 35 | using gl::GL_SCISSOR_BIT; 36 | using gl::GL_STENCIL_BUFFER_BIT; 37 | using gl::GL_TEXTURE_BIT; 38 | using gl::GL_TRANSFORM_BIT; 39 | using gl::GL_VIEWPORT_BIT; 40 | 41 | 42 | } // namespace gl14 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl14 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl14 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl14 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl14 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl14ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl14ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl14ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl14ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl14ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl15 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_MULTISAMPLE_BIT; 31 | using gl::GL_PIXEL_MODE_BIT; 32 | using gl::GL_POINT_BIT; 33 | using gl::GL_POLYGON_BIT; 34 | using gl::GL_POLYGON_STIPPLE_BIT; 35 | using gl::GL_SCISSOR_BIT; 36 | using gl::GL_STENCIL_BUFFER_BIT; 37 | using gl::GL_TEXTURE_BIT; 38 | using gl::GL_TRANSFORM_BIT; 39 | using gl::GL_VIEWPORT_BIT; 40 | 41 | 42 | } // namespace gl15 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl15 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl15 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl15 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl15 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl15ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl15ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl15ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl15ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl15ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl20 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_MULTISAMPLE_BIT; 31 | using gl::GL_PIXEL_MODE_BIT; 32 | using gl::GL_POINT_BIT; 33 | using gl::GL_POLYGON_BIT; 34 | using gl::GL_POLYGON_STIPPLE_BIT; 35 | using gl::GL_SCISSOR_BIT; 36 | using gl::GL_STENCIL_BUFFER_BIT; 37 | using gl::GL_TEXTURE_BIT; 38 | using gl::GL_TRANSFORM_BIT; 39 | using gl::GL_VIEWPORT_BIT; 40 | 41 | 42 | } // namespace gl20 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl20 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl20 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl20 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl20 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl20ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl20ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl20ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl20ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl20ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl21 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CURRENT_BIT; 22 | using gl::GL_DEPTH_BUFFER_BIT; 23 | using gl::GL_ENABLE_BIT; 24 | using gl::GL_EVAL_BIT; 25 | using gl::GL_FOG_BIT; 26 | using gl::GL_HINT_BIT; 27 | using gl::GL_LIGHTING_BIT; 28 | using gl::GL_LINE_BIT; 29 | using gl::GL_LIST_BIT; 30 | using gl::GL_MULTISAMPLE_BIT; 31 | using gl::GL_PIXEL_MODE_BIT; 32 | using gl::GL_POINT_BIT; 33 | using gl::GL_POLYGON_BIT; 34 | using gl::GL_POLYGON_STIPPLE_BIT; 35 | using gl::GL_SCISSOR_BIT; 36 | using gl::GL_STENCIL_BUFFER_BIT; 37 | using gl::GL_TEXTURE_BIT; 38 | using gl::GL_TRANSFORM_BIT; 39 | using gl::GL_VIEWPORT_BIT; 40 | 41 | 42 | } // namespace gl21 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl21 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl21 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl21 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl21 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl21ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl21ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl21ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl21ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl21ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl30 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 22 | using gl::GL_CURRENT_BIT; 23 | using gl::GL_DEPTH_BUFFER_BIT; 24 | using gl::GL_ENABLE_BIT; 25 | using gl::GL_EVAL_BIT; 26 | using gl::GL_FOG_BIT; 27 | using gl::GL_HINT_BIT; 28 | using gl::GL_LIGHTING_BIT; 29 | using gl::GL_LINE_BIT; 30 | using gl::GL_LIST_BIT; 31 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 32 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 33 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 34 | using gl::GL_MAP_READ_BIT; 35 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 36 | using gl::GL_MAP_WRITE_BIT; 37 | using gl::GL_MULTISAMPLE_BIT; 38 | using gl::GL_PIXEL_MODE_BIT; 39 | using gl::GL_POINT_BIT; 40 | using gl::GL_POLYGON_BIT; 41 | using gl::GL_POLYGON_STIPPLE_BIT; 42 | using gl::GL_SCISSOR_BIT; 43 | using gl::GL_STENCIL_BUFFER_BIT; 44 | using gl::GL_TEXTURE_BIT; 45 | using gl::GL_TRANSFORM_BIT; 46 | using gl::GL_VIEWPORT_BIT; 47 | 48 | 49 | } // namespace gl30 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl30 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl30 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl30 11 | { 12 | 13 | 14 | // import values to namespace 15 | 16 | 17 | } // namespace gl30 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl30ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl30ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl30ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl30ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_INVALID_INDEX; 17 | using gl::GL_LUID_SIZE_EXT; 18 | using gl::GL_TIMEOUT_IGNORED; 19 | using gl::GL_UUID_SIZE_EXT; 20 | 21 | 22 | } // namespace gl30ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl31 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ACCUM_BUFFER_BIT; 16 | using gl::GL_ALL_ATTRIB_BITS; 17 | using gl::GL_CLIENT_ALL_ATTRIB_BITS; 18 | using gl::GL_CLIENT_PIXEL_STORE_BIT; 19 | using gl::GL_CLIENT_VERTEX_ARRAY_BIT; 20 | using gl::GL_COLOR_BUFFER_BIT; 21 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 22 | using gl::GL_CURRENT_BIT; 23 | using gl::GL_DEPTH_BUFFER_BIT; 24 | using gl::GL_ENABLE_BIT; 25 | using gl::GL_EVAL_BIT; 26 | using gl::GL_FOG_BIT; 27 | using gl::GL_HINT_BIT; 28 | using gl::GL_LIGHTING_BIT; 29 | using gl::GL_LINE_BIT; 30 | using gl::GL_LIST_BIT; 31 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 32 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 33 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 34 | using gl::GL_MAP_READ_BIT; 35 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 36 | using gl::GL_MAP_WRITE_BIT; 37 | using gl::GL_MULTISAMPLE_BIT; 38 | using gl::GL_PIXEL_MODE_BIT; 39 | using gl::GL_POINT_BIT; 40 | using gl::GL_POLYGON_BIT; 41 | using gl::GL_POLYGON_STIPPLE_BIT; 42 | using gl::GL_SCISSOR_BIT; 43 | using gl::GL_STENCIL_BUFFER_BIT; 44 | using gl::GL_TEXTURE_BIT; 45 | using gl::GL_TRANSFORM_BIT; 46 | using gl::GL_VIEWPORT_BIT; 47 | 48 | 49 | } // namespace gl31 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl31 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl31 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl31 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | 17 | 18 | } // namespace gl31 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl31ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl31ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl31ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl31ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_TIMEOUT_IGNORED; 18 | using gl::GL_UUID_SIZE_EXT; 19 | 20 | 21 | } // namespace gl31ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl32 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl32 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl32 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl32core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl32core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl32core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl32ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl32ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl32ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl32ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl33 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl33 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl33 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl33core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl33core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl33core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl33ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl33ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl33ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl33ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl40 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl40 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl40 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_COLOR_BUFFER_BIT; 16 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 17 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 18 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 19 | using gl::GL_DEPTH_BUFFER_BIT; 20 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 21 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 22 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 23 | using gl::GL_MAP_READ_BIT; 24 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 25 | using gl::GL_MAP_WRITE_BIT; 26 | using gl::GL_STENCIL_BUFFER_BIT; 27 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 28 | 29 | 30 | } // namespace gl40core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl40core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl40core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl40ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl40ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl40ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl40ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_SHADER_BITS; 16 | using gl::GL_COLOR_BUFFER_BIT; 17 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 18 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 19 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 20 | using gl::GL_DEPTH_BUFFER_BIT; 21 | using gl::GL_FRAGMENT_SHADER_BIT; 22 | using gl::GL_GEOMETRY_SHADER_BIT; 23 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 24 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 25 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 26 | using gl::GL_MAP_READ_BIT; 27 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 28 | using gl::GL_MAP_WRITE_BIT; 29 | using gl::GL_STENCIL_BUFFER_BIT; 30 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 31 | using gl::GL_TESS_CONTROL_SHADER_BIT; 32 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 33 | using gl::GL_VERTEX_SHADER_BIT; 34 | 35 | 36 | } // namespace gl41 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl41 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl41 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_SHADER_BITS; 16 | using gl::GL_COLOR_BUFFER_BIT; 17 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 18 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 19 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 20 | using gl::GL_DEPTH_BUFFER_BIT; 21 | using gl::GL_FRAGMENT_SHADER_BIT; 22 | using gl::GL_GEOMETRY_SHADER_BIT; 23 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 24 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 25 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 26 | using gl::GL_MAP_READ_BIT; 27 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 28 | using gl::GL_MAP_WRITE_BIT; 29 | using gl::GL_STENCIL_BUFFER_BIT; 30 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 31 | using gl::GL_TESS_CONTROL_SHADER_BIT; 32 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 33 | using gl::GL_VERTEX_SHADER_BIT; 34 | 35 | 36 | } // namespace gl41core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl41core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl41core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl41ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl41ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl41ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl41ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_BARRIER_BITS; 16 | using gl::GL_ALL_SHADER_BITS; 17 | using gl::GL_ATOMIC_COUNTER_BARRIER_BIT; 18 | using gl::GL_BUFFER_UPDATE_BARRIER_BIT; 19 | using gl::GL_COLOR_BUFFER_BIT; 20 | using gl::GL_COMMAND_BARRIER_BIT; 21 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 22 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 23 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 24 | using gl::GL_DEPTH_BUFFER_BIT; 25 | using gl::GL_ELEMENT_ARRAY_BARRIER_BIT; 26 | using gl::GL_FRAGMENT_SHADER_BIT; 27 | using gl::GL_FRAMEBUFFER_BARRIER_BIT; 28 | using gl::GL_GEOMETRY_SHADER_BIT; 29 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 30 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 31 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 32 | using gl::GL_MAP_READ_BIT; 33 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 34 | using gl::GL_MAP_WRITE_BIT; 35 | using gl::GL_PIXEL_BUFFER_BARRIER_BIT; 36 | using gl::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT; 37 | using gl::GL_STENCIL_BUFFER_BIT; 38 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 39 | using gl::GL_TESS_CONTROL_SHADER_BIT; 40 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 41 | using gl::GL_TEXTURE_FETCH_BARRIER_BIT; 42 | using gl::GL_TEXTURE_UPDATE_BARRIER_BIT; 43 | using gl::GL_TRANSFORM_FEEDBACK_BARRIER_BIT; 44 | using gl::GL_UNIFORM_BARRIER_BIT; 45 | using gl::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT; 46 | using gl::GL_VERTEX_SHADER_BIT; 47 | 48 | 49 | } // namespace gl42 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl42 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl42 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_BARRIER_BITS; 16 | using gl::GL_ALL_SHADER_BITS; 17 | using gl::GL_ATOMIC_COUNTER_BARRIER_BIT; 18 | using gl::GL_BUFFER_UPDATE_BARRIER_BIT; 19 | using gl::GL_COLOR_BUFFER_BIT; 20 | using gl::GL_COMMAND_BARRIER_BIT; 21 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 22 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 23 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 24 | using gl::GL_DEPTH_BUFFER_BIT; 25 | using gl::GL_ELEMENT_ARRAY_BARRIER_BIT; 26 | using gl::GL_FRAGMENT_SHADER_BIT; 27 | using gl::GL_FRAMEBUFFER_BARRIER_BIT; 28 | using gl::GL_GEOMETRY_SHADER_BIT; 29 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 30 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 31 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 32 | using gl::GL_MAP_READ_BIT; 33 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 34 | using gl::GL_MAP_WRITE_BIT; 35 | using gl::GL_PIXEL_BUFFER_BARRIER_BIT; 36 | using gl::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT; 37 | using gl::GL_STENCIL_BUFFER_BIT; 38 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 39 | using gl::GL_TESS_CONTROL_SHADER_BIT; 40 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 41 | using gl::GL_TEXTURE_FETCH_BARRIER_BIT; 42 | using gl::GL_TEXTURE_UPDATE_BARRIER_BIT; 43 | using gl::GL_TRANSFORM_FEEDBACK_BARRIER_BIT; 44 | using gl::GL_UNIFORM_BARRIER_BIT; 45 | using gl::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT; 46 | using gl::GL_VERTEX_SHADER_BIT; 47 | 48 | 49 | } // namespace gl42core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl42core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl42core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl42ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl42ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl42ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl42ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_BARRIER_BITS; 16 | using gl::GL_ALL_SHADER_BITS; 17 | using gl::GL_ATOMIC_COUNTER_BARRIER_BIT; 18 | using gl::GL_BUFFER_UPDATE_BARRIER_BIT; 19 | using gl::GL_COLOR_BUFFER_BIT; 20 | using gl::GL_COMMAND_BARRIER_BIT; 21 | using gl::GL_COMPUTE_SHADER_BIT; 22 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 23 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 24 | using gl::GL_CONTEXT_FLAG_DEBUG_BIT; 25 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 26 | using gl::GL_DEPTH_BUFFER_BIT; 27 | using gl::GL_ELEMENT_ARRAY_BARRIER_BIT; 28 | using gl::GL_FRAGMENT_SHADER_BIT; 29 | using gl::GL_FRAMEBUFFER_BARRIER_BIT; 30 | using gl::GL_GEOMETRY_SHADER_BIT; 31 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 32 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 33 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 34 | using gl::GL_MAP_READ_BIT; 35 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 36 | using gl::GL_MAP_WRITE_BIT; 37 | using gl::GL_PIXEL_BUFFER_BARRIER_BIT; 38 | using gl::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT; 39 | using gl::GL_SHADER_STORAGE_BARRIER_BIT; 40 | using gl::GL_STENCIL_BUFFER_BIT; 41 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 42 | using gl::GL_TESS_CONTROL_SHADER_BIT; 43 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 44 | using gl::GL_TEXTURE_FETCH_BARRIER_BIT; 45 | using gl::GL_TEXTURE_UPDATE_BARRIER_BIT; 46 | using gl::GL_TRANSFORM_FEEDBACK_BARRIER_BIT; 47 | using gl::GL_UNIFORM_BARRIER_BIT; 48 | using gl::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT; 49 | using gl::GL_VERTEX_SHADER_BIT; 50 | 51 | 52 | } // namespace gl43 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl43 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl43 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43core/bitfield.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43core 11 | { 12 | 13 | 14 | // import bitfields to namespace 15 | using gl::GL_ALL_BARRIER_BITS; 16 | using gl::GL_ALL_SHADER_BITS; 17 | using gl::GL_ATOMIC_COUNTER_BARRIER_BIT; 18 | using gl::GL_BUFFER_UPDATE_BARRIER_BIT; 19 | using gl::GL_COLOR_BUFFER_BIT; 20 | using gl::GL_COMMAND_BARRIER_BIT; 21 | using gl::GL_COMPUTE_SHADER_BIT; 22 | using gl::GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; 23 | using gl::GL_CONTEXT_CORE_PROFILE_BIT; 24 | using gl::GL_CONTEXT_FLAG_DEBUG_BIT; 25 | using gl::GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; 26 | using gl::GL_DEPTH_BUFFER_BIT; 27 | using gl::GL_ELEMENT_ARRAY_BARRIER_BIT; 28 | using gl::GL_FRAGMENT_SHADER_BIT; 29 | using gl::GL_FRAMEBUFFER_BARRIER_BIT; 30 | using gl::GL_GEOMETRY_SHADER_BIT; 31 | using gl::GL_MAP_FLUSH_EXPLICIT_BIT; 32 | using gl::GL_MAP_INVALIDATE_BUFFER_BIT; 33 | using gl::GL_MAP_INVALIDATE_RANGE_BIT; 34 | using gl::GL_MAP_READ_BIT; 35 | using gl::GL_MAP_UNSYNCHRONIZED_BIT; 36 | using gl::GL_MAP_WRITE_BIT; 37 | using gl::GL_PIXEL_BUFFER_BARRIER_BIT; 38 | using gl::GL_SHADER_IMAGE_ACCESS_BARRIER_BIT; 39 | using gl::GL_SHADER_STORAGE_BARRIER_BIT; 40 | using gl::GL_STENCIL_BUFFER_BIT; 41 | using gl::GL_SYNC_FLUSH_COMMANDS_BIT; 42 | using gl::GL_TESS_CONTROL_SHADER_BIT; 43 | using gl::GL_TESS_EVALUATION_SHADER_BIT; 44 | using gl::GL_TEXTURE_FETCH_BARRIER_BIT; 45 | using gl::GL_TEXTURE_UPDATE_BARRIER_BIT; 46 | using gl::GL_TRANSFORM_FEEDBACK_BARRIER_BIT; 47 | using gl::GL_UNIFORM_BARRIER_BIT; 48 | using gl::GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT; 49 | using gl::GL_VERTEX_SHADER_BIT; 50 | 51 | 52 | } // namespace gl43core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl43core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl43core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl43ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl43ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl43ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl43ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl44 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl44 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl44core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl44core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl44ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl44ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl44ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl44ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl45 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl45 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl45core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl45core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl45ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl45ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl45ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl45ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl46 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl46 -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46core/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46core 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl46core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46core/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46core/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46core 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_INVALID_INDEX; 16 | using gl::GL_TIMEOUT_IGNORED; 17 | 18 | 19 | } // namespace gl46core -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46ext/boolean.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46ext 11 | { 12 | 13 | 14 | // use boolean type 15 | using gl::GLboolean; 16 | 17 | 18 | // import booleans to namespace 19 | using gl::GL_FALSE; 20 | using gl::GL_TRUE; 21 | 22 | 23 | } // namespace gl46ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46ext/gl.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/gl46ext/values.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | namespace gl46ext 11 | { 12 | 13 | 14 | // import values to namespace 15 | using gl::GL_ALL_PIXELS_AMD; 16 | using gl::GL_LUID_SIZE_EXT; 17 | using gl::GL_UUID_SIZE_EXT; 18 | 19 | 20 | } // namespace gl46ext -------------------------------------------------------------------------------- /source/glbinding/include/glbinding/nogl.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #if defined(__gl_h_) 4 | #error "glbinding is not compatible with gl.h" 5 | #endif 6 | -------------------------------------------------------------------------------- /source/glbinding/source/AbstractState.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | namespace glbinding 5 | { 6 | 7 | AbstractState::AbstractState() 8 | : m_address(nullptr) 9 | , m_initialized(false) 10 | , m_callbackMask(CallbackMask::None) 11 | { 12 | } 13 | 14 | AbstractState::~AbstractState() 15 | { 16 | } 17 | 18 | ProcAddress AbstractState::address() const 19 | { 20 | if (!m_initialized) 21 | { 22 | return nullptr; 23 | } 24 | 25 | return m_address; 26 | } 27 | 28 | bool AbstractState::isInitialized() const 29 | { 30 | return m_initialized; 31 | } 32 | 33 | bool AbstractState::isResolved() const 34 | { 35 | return m_address != nullptr; 36 | } 37 | 38 | CallbackMask AbstractState::callbackMask() const 39 | { 40 | return m_callbackMask; 41 | } 42 | 43 | void AbstractState::setCallbackMask(CallbackMask mask) 44 | { 45 | m_callbackMask = mask; 46 | } 47 | 48 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/AbstractValue.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | namespace glbinding 6 | { 7 | 8 | 9 | AbstractValue::AbstractValue() 10 | { 11 | } 12 | 13 | AbstractValue::~AbstractValue() 14 | { 15 | } 16 | 17 | 18 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_0.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_h.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | Function Binding::Hint("glHint"); 13 | Function Binding::HintPGI("glHintPGI"); 14 | Function Binding::Histogram("glHistogram"); 15 | Function Binding::HistogramEXT("glHistogramEXT"); 16 | 17 | 18 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_j.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_k.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_o.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | Function Binding::ObjectLabel("glObjectLabel"); 13 | Function Binding::ObjectLabelKHR("glObjectLabelKHR"); 14 | Function Binding::ObjectPtrLabel("glObjectPtrLabel"); 15 | Function Binding::ObjectPtrLabelKHR("glObjectPtrLabelKHR"); 16 | Function Binding::ObjectPurgeableAPPLE("glObjectPurgeableAPPLE"); 17 | Function Binding::ObjectUnpurgeableAPPLE("glObjectUnpurgeableAPPLE"); 18 | Function Binding::Ortho("glOrtho"); 19 | Function Binding::OrthofOES("glOrthofOES"); 20 | Function Binding::OrthoxOES("glOrthoxOES"); 21 | 22 | 23 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_q.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | Function Binding::QueryCounter("glQueryCounter"); 13 | Function Binding::QueryMatrixxOES("glQueryMatrixxOES"); 14 | Function Binding::QueryObjectParameteruiAMD("glQueryObjectParameteruiAMD"); 15 | Function Binding::QueryResourceNV("glQueryResourceNV"); 16 | Function Binding::QueryResourceTagNV("glQueryResourceTagNV"); 17 | 18 | 19 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_x.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_y.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_objects_z.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | 4 | 5 | using namespace gl; 6 | 7 | 8 | namespace glbinding 9 | { 10 | 11 | 12 | 13 | 14 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/Binding_pch.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "Binding_pch.h" 3 | -------------------------------------------------------------------------------- /source/glbinding/source/Binding_pch.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | -------------------------------------------------------------------------------- /source/glbinding/source/FunctionCall.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | 9 | namespace glbinding 10 | { 11 | 12 | 13 | FunctionCall::FunctionCall(const AbstractFunction * _function) 14 | : function(_function) 15 | , returnValue(nullptr) 16 | { 17 | if (function->isAnyEnabled(CallbackMask::Timestamp)) 18 | { 19 | timestamp = std::chrono::system_clock::now(); 20 | } 21 | } 22 | 23 | FunctionCall::FunctionCall(FunctionCall && other) 24 | : function(std::move(other.function)) 25 | , timestamp(std::move(other.timestamp)) 26 | , parameters(std::move(other.parameters)) 27 | , returnValue(std::move(other.returnValue)) 28 | { 29 | } 30 | 31 | FunctionCall::~FunctionCall() 32 | { 33 | } 34 | 35 | FunctionCall & FunctionCall::operator=(FunctionCall && other) 36 | { 37 | function = std::move(other.function); 38 | timestamp = std::move(other.timestamp); 39 | parameters = std::move(other.parameters); 40 | returnValue = std::move(other.returnValue); 41 | 42 | return *this; 43 | } 44 | 45 | 46 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/State.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | 6 | 7 | namespace glbinding 8 | { 9 | 10 | 11 | void State::resolve(const char * name) 12 | { 13 | if (m_initialized) 14 | { 15 | return; 16 | } 17 | 18 | m_address = Binding::resolveFunction(name); 19 | m_initialized = true; 20 | } 21 | 22 | 23 | } // namespace glbinding -------------------------------------------------------------------------------- /source/glbinding/source/getProcAddress.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | 6 | #ifdef SYSTEM_WINDOWS 7 | #include 8 | #include 9 | #include 10 | #else 11 | #include 12 | #endif 13 | 14 | 15 | namespace glbinding { 16 | 17 | #ifdef SYSTEM_WINDOWS 18 | 19 | ProcAddress getProcAddress(const char * name) 20 | { 21 | static auto module = LoadLibrary(_T("OPENGL32.DLL")); 22 | 23 | // Prevent static linking of opengl32 24 | static auto wglGetProcAddress_ = reinterpret_cast((uintptr_t) ::GetProcAddress(module, "wglGetProcAddress")); 25 | assert(wglGetProcAddress_ != nullptr); 26 | 27 | auto procAddress = wglGetProcAddress_(name); 28 | if (procAddress != nullptr) 29 | { 30 | return reinterpret_cast(procAddress); 31 | } 32 | 33 | procAddress = (void *) ::GetProcAddress(module, name); 34 | return reinterpret_cast(procAddress); 35 | } 36 | 37 | #else 38 | 39 | ProcAddress getProcAddress(const char * name) 40 | { 41 | #ifdef SYSTEM_DARWIN 42 | static auto library = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY); 43 | #else 44 | static auto library = dlopen("libGL.so", RTLD_LAZY); 45 | #endif 46 | 47 | assert(library != nullptr); 48 | 49 | auto symbol = dlsym(library, name); 50 | 51 | return reinterpret_cast(symbol); 52 | } 53 | 54 | #endif 55 | 56 | 57 | } // namespace glbinding 58 | -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_0.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_h.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | void glHint(GLenum target, GLenum mode) 12 | { 13 | return glbinding::Binding::Hint(target, mode); 14 | } 15 | 16 | void glHintPGI(GLenum target, VertexHintsMaskPGI mode) 17 | { 18 | return glbinding::Binding::HintPGI(target, mode); 19 | } 20 | 21 | void glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) 22 | { 23 | return glbinding::Binding::Histogram(target, width, internalformat, sink); 24 | } 25 | 26 | void glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) 27 | { 28 | return glbinding::Binding::HistogramEXT(target, width, internalformat, sink); 29 | } 30 | 31 | 32 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_j.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_k.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_o.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) 12 | { 13 | return glbinding::Binding::ObjectLabel(identifier, name, length, label); 14 | } 15 | 16 | void glObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, const GLchar * label) 17 | { 18 | return glbinding::Binding::ObjectLabelKHR(identifier, name, length, label); 19 | } 20 | 21 | void glObjectPtrLabel(const void * ptr, GLsizei length, const GLchar * label) 22 | { 23 | return glbinding::Binding::ObjectPtrLabel(ptr, length, label); 24 | } 25 | 26 | void glObjectPtrLabelKHR(const void * ptr, GLsizei length, const GLchar * label) 27 | { 28 | return glbinding::Binding::ObjectPtrLabelKHR(ptr, length, label); 29 | } 30 | 31 | GLenum glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) 32 | { 33 | return glbinding::Binding::ObjectPurgeableAPPLE(objectType, name, option); 34 | } 35 | 36 | GLenum glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option) 37 | { 38 | return glbinding::Binding::ObjectUnpurgeableAPPLE(objectType, name, option); 39 | } 40 | 41 | void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) 42 | { 43 | return glbinding::Binding::Ortho(left, right, bottom, top, zNear, zFar); 44 | } 45 | 46 | void glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) 47 | { 48 | return glbinding::Binding::OrthofOES(l, r, b, t, n, f); 49 | } 50 | 51 | void glOrthoxOES(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) 52 | { 53 | return glbinding::Binding::OrthoxOES(l, r, b, t, n, f); 54 | } 55 | 56 | 57 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_q.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | void glQueryCounter(GLuint id, GLenum target) 12 | { 13 | return glbinding::Binding::QueryCounter(id, target); 14 | } 15 | 16 | GLbitfield glQueryMatrixxOES(GLfixed * mantissa, GLint * exponent) 17 | { 18 | return glbinding::Binding::QueryMatrixxOES(mantissa, exponent); 19 | } 20 | 21 | void glQueryObjectParameteruiAMD(GLenum target, GLuint id, GLenum pname, OcclusionQueryEventMaskAMD param) 22 | { 23 | return glbinding::Binding::QueryObjectParameteruiAMD(target, id, pname, param); 24 | } 25 | 26 | GLint glQueryResourceNV(GLenum queryType, GLint tagId, GLuint count, GLint * buffer) 27 | { 28 | return glbinding::Binding::QueryResourceNV(queryType, tagId, count, buffer); 29 | } 30 | 31 | void glQueryResourceTagNV(GLint tagId, const GLchar * tagString) 32 | { 33 | return glbinding::Binding::QueryResourceTagNV(tagId, tagString); 34 | } 35 | 36 | 37 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_x.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_y.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/glbinding/source/gl/functions_z.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "../Binding_pch.h" 3 | 4 | #include 5 | 6 | 7 | namespace gl 8 | { 9 | 10 | 11 | 12 | } // namespace gl -------------------------------------------------------------------------------- /source/tests/glbinding-test/AllVersions_test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | 26 | TEST(AllVersions, Compilation) 27 | { 28 | SUCCEED(); // compiling this file without errors and warnings results in successful test 29 | } -------------------------------------------------------------------------------- /source/tests/glbinding-test/Boolean_compilation_test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | #include 6 | 7 | 8 | using namespace gl; 9 | 10 | 11 | TEST(Boolean, Compilation) 12 | { 13 | const gl45core::GLboolean b1 = gl45core::GL_TRUE; 14 | const gl::GLboolean b2 = gl::GL_TRUE; 15 | const GLboolean b3 = GL_TRUE; 16 | 17 | (void)b1; 18 | (void)b2; 19 | (void)b3; 20 | 21 | SUCCEED(); // compiling this file without errors and warnings results in successful test 22 | } 23 | -------------------------------------------------------------------------------- /source/tests/glbinding-test/Regression_test_82.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | 5 | #include // < imagine this was included by a 3rd party library (e.g., globjects.cpp) 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | using namespace gl45core; 13 | 14 | void issue_82() // Argument-dependent lookup (Koenig lookup) 15 | { 16 | GLuint index = 0; 17 | glGetUniformSubroutineuiv(GL_VERTEX_SHADER, 0, &index); 18 | } 19 | 20 | TEST(Regression_82, Compilation) 21 | { 22 | SUCCEED(); // compiling this file results in successful test 23 | } 24 | -------------------------------------------------------------------------------- /source/tests/glbinding-test/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | int main(int argc, char* argv[]) 5 | { 6 | ::testing::InitGoogleMock(&argc, argv); 7 | return RUN_ALL_TESTS(); 8 | } 9 | -------------------------------------------------------------------------------- /source/tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Tools 4 | # 5 | 6 | # OpenGL Tools 7 | add_subdirectory("glcontexts") 8 | add_subdirectory("glfunctions") 9 | add_subdirectory("glinfo") 10 | add_subdirectory("glisdeprecated") 11 | add_subdirectory("glmeta") 12 | add_subdirectory("glqueries") 13 | 14 | # OpenGL ES Compatability Tools 15 | add_subdirectory("glescontexts") 16 | -------------------------------------------------------------------------------- /source/version.h.in: -------------------------------------------------------------------------------- 1 | 2 | #define ${META_PROJECT_ID}_PROJECT_NAME "@META_PROJECT_NAME@" 3 | #define ${META_PROJECT_ID}_PROJECT_DESCRIPTION "@META_PROJECT_DESCRIPTION@" 4 | 5 | #define ${META_PROJECT_ID}_AUTHOR_ORGANIZATION "@META_AUTHOR_ORGANIZATION@" 6 | #define ${META_PROJECT_ID}_AUTHOR_DOMAIN "@META_AUTHOR_DOMAIN@" 7 | #define ${META_PROJECT_ID}_AUTHOR_MAINTAINER "@META_AUTHOR_MAINTAINER@" 8 | 9 | #define ${META_PROJECT_ID}_VERSION_MAJOR "@META_VERSION_MAJOR@" 10 | #define ${META_PROJECT_ID}_VERSION_MINOR "@META_VERSION_MINOR@" 11 | #define ${META_PROJECT_ID}_VERSION_PATCH "@META_VERSION_PATCH@" 12 | #define ${META_PROJECT_ID}_VERSION_REVISION "@META_VERSION_REVISION@" 13 | 14 | #define ${META_PROJECT_ID}_VERSION "@META_VERSION@" 15 | #define ${META_PROJECT_ID}_NAME_VERSION "@META_NAME_VERSION@" 16 | --------------------------------------------------------------------------------