├── .gitignore ├── .gitmodules ├── LICENSE ├── OpenGL-Core ├── premake5.lua ├── src │ ├── GLCore.h │ ├── GLCore │ │ ├── Core │ │ │ ├── Application.cpp │ │ │ ├── Application.h │ │ │ ├── Core.h │ │ │ ├── Input.h │ │ │ ├── KeyCodes.h │ │ │ ├── Layer.cpp │ │ │ ├── Layer.h │ │ │ ├── LayerStack.cpp │ │ │ ├── LayerStack.h │ │ │ ├── Log.cpp │ │ │ ├── Log.h │ │ │ ├── MouseButtonCodes.h │ │ │ ├── Timestep.h │ │ │ └── Window.h │ │ ├── Events │ │ │ ├── ApplicationEvent.h │ │ │ ├── Event.h │ │ │ ├── KeyEvent.h │ │ │ └── MouseEvent.h │ │ ├── ImGui │ │ │ ├── ImGuiBuild.cpp │ │ │ ├── ImGuiLayer.cpp │ │ │ └── ImGuiLayer.h │ │ └── Util │ │ │ ├── OpenGLDebug.cpp │ │ │ ├── OpenGLDebug.h │ │ │ ├── OrthographicCamera.cpp │ │ │ ├── OrthographicCamera.h │ │ │ ├── OrthographicCameraController.cpp │ │ │ ├── OrthographicCameraController.h │ │ │ ├── Shader.cpp │ │ │ └── Shader.h │ ├── GLCoreUtils.h │ ├── Platform │ │ └── Windows │ │ │ ├── WindowsInput.cpp │ │ │ ├── WindowsInput.h │ │ │ ├── WindowsWindow.cpp │ │ │ └── WindowsWindow.h │ ├── glpch.cpp │ └── glpch.h └── vendor │ ├── Glad │ ├── include │ │ ├── KHR │ │ │ └── khrplatform.h │ │ └── glad │ │ │ └── glad.h │ ├── premake5.lua │ └── src │ │ └── glad.c │ ├── glfw │ ├── .mailmap │ ├── CMake │ │ ├── GenerateMappings.cmake │ │ ├── MacOSXBundleInfo.plist.in │ │ ├── cmake_uninstall.cmake.in │ │ ├── i686-w64-mingw32-clang.cmake │ │ ├── i686-w64-mingw32.cmake │ │ ├── modules │ │ │ ├── FindEpollShim.cmake │ │ │ ├── FindOSMesa.cmake │ │ │ ├── FindWaylandProtocols.cmake │ │ │ └── FindXKBCommon.cmake │ │ ├── x86_64-w64-mingw32-clang.cmake │ │ └── x86_64-w64-mingw32.cmake │ ├── CMakeLists.txt │ ├── LICENSE.md │ ├── README.md │ ├── deps │ │ ├── getopt.c │ │ ├── getopt.h │ │ ├── glad │ │ │ ├── gl.h │ │ │ ├── khrplatform.h │ │ │ ├── vk_platform.h │ │ │ └── vulkan.h │ │ ├── glad_gl.c │ │ ├── glad_vulkan.c │ │ ├── linmath.h │ │ ├── mingw │ │ │ ├── _mingw_dxhelper.h │ │ │ ├── dinput.h │ │ │ └── xinput.h │ │ ├── nuklear.h │ │ ├── nuklear_glfw_gl2.h │ │ ├── stb_image_write.h │ │ ├── tinycthread.c │ │ ├── tinycthread.h │ │ └── vs2008 │ │ │ └── stdint.h │ ├── docs │ │ ├── CMakeLists.txt │ │ ├── CODEOWNERS │ │ ├── CONTRIBUTING.md │ │ ├── Doxyfile.in │ │ ├── DoxygenLayout.xml │ │ ├── SUPPORT.md │ │ ├── build.dox │ │ ├── compat.dox │ │ ├── compile.dox │ │ ├── context.dox │ │ ├── extra.css │ │ ├── extra.less │ │ ├── footer.html │ │ ├── header.html │ │ ├── input.dox │ │ ├── internal.dox │ │ ├── intro.dox │ │ ├── main.dox │ │ ├── monitor.dox │ │ ├── moving.dox │ │ ├── news.dox │ │ ├── quick.dox │ │ ├── spaces.svg │ │ ├── vulkan.dox │ │ └── window.dox │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── boing.c │ │ ├── gears.c │ │ ├── glfw.icns │ │ ├── glfw.ico │ │ ├── glfw.rc │ │ ├── heightmap.c │ │ ├── offscreen.c │ │ ├── particles.c │ │ ├── sharing.c │ │ ├── splitview.c │ │ ├── triangle-opengl.c │ │ └── wave.c │ ├── include │ │ └── GLFW │ │ │ ├── glfw3.h │ │ │ └── glfw3native.h │ ├── premake5.lua │ ├── src │ │ ├── CMakeLists.txt │ │ ├── cocoa_init.m │ │ ├── cocoa_joystick.h │ │ ├── cocoa_joystick.m │ │ ├── cocoa_monitor.m │ │ ├── cocoa_platform.h │ │ ├── cocoa_time.c │ │ ├── cocoa_window.m │ │ ├── context.c │ │ ├── egl_context.c │ │ ├── egl_context.h │ │ ├── glfw3.pc.in │ │ ├── glfw3Config.cmake.in │ │ ├── glfw_config.h.in │ │ ├── glx_context.c │ │ ├── glx_context.h │ │ ├── init.c │ │ ├── input.c │ │ ├── internal.h │ │ ├── linux_joystick.c │ │ ├── linux_joystick.h │ │ ├── mappings.h │ │ ├── mappings.h.in │ │ ├── monitor.c │ │ ├── nsgl_context.h │ │ ├── nsgl_context.m │ │ ├── null_init.c │ │ ├── null_joystick.c │ │ ├── null_joystick.h │ │ ├── null_monitor.c │ │ ├── null_platform.h │ │ ├── null_window.c │ │ ├── osmesa_context.c │ │ ├── osmesa_context.h │ │ ├── posix_thread.c │ │ ├── posix_thread.h │ │ ├── posix_time.c │ │ ├── posix_time.h │ │ ├── vulkan.c │ │ ├── wgl_context.c │ │ ├── wgl_context.h │ │ ├── win32_init.c │ │ ├── win32_joystick.c │ │ ├── win32_joystick.h │ │ ├── win32_monitor.c │ │ ├── win32_platform.h │ │ ├── win32_thread.c │ │ ├── win32_time.c │ │ ├── win32_window.c │ │ ├── window.c │ │ ├── wl_init.c │ │ ├── wl_monitor.c │ │ ├── wl_platform.h │ │ ├── wl_window.c │ │ ├── x11_init.c │ │ ├── x11_monitor.c │ │ ├── x11_platform.h │ │ ├── x11_window.c │ │ ├── xkb_unicode.c │ │ └── xkb_unicode.h │ └── tests │ │ ├── CMakeLists.txt │ │ ├── clipboard.c │ │ ├── cursor.c │ │ ├── empty.c │ │ ├── events.c │ │ ├── gamma.c │ │ ├── glfwinfo.c │ │ ├── icon.c │ │ ├── iconify.c │ │ ├── inputlag.c │ │ ├── joysticks.c │ │ ├── monitors.c │ │ ├── msaa.c │ │ ├── opacity.c │ │ ├── reopen.c │ │ ├── tearing.c │ │ ├── threads.c │ │ ├── timeout.c │ │ ├── title.c │ │ ├── triangle-vulkan.c │ │ └── windows.c │ ├── glm │ ├── .appveyor.yml │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── copying.txt │ ├── doc │ │ ├── api │ │ │ ├── a00001_source.html │ │ │ ├── a00002_source.html │ │ │ ├── a00003_source.html │ │ │ ├── a00004_source.html │ │ │ ├── a00005_source.html │ │ │ ├── a00006_source.html │ │ │ ├── a00007.html │ │ │ ├── a00007_source.html │ │ │ ├── a00008.html │ │ │ ├── a00008_source.html │ │ │ ├── a00009.html │ │ │ ├── a00009_source.html │ │ │ ├── a00010.html │ │ │ ├── a00010_source.html │ │ │ ├── a00011.html │ │ │ ├── a00011_source.html │ │ │ ├── a00012.html │ │ │ ├── a00012_source.html │ │ │ ├── a00013.html │ │ │ ├── a00013_source.html │ │ │ ├── a00014.html │ │ │ ├── a00014_source.html │ │ │ ├── a00015.html │ │ │ ├── a00015_source.html │ │ │ ├── a00016.html │ │ │ ├── a00016_source.html │ │ │ ├── a00017.html │ │ │ ├── a00017_source.html │ │ │ ├── a00018.html │ │ │ ├── a00018_source.html │ │ │ ├── a00019_source.html │ │ │ ├── a00020_source.html │ │ │ ├── a00021.html │ │ │ ├── a00021_source.html │ │ │ ├── a00022.html │ │ │ ├── a00022_source.html │ │ │ ├── a00023.html │ │ │ ├── a00023_source.html │ │ │ ├── a00024.html │ │ │ ├── a00024_source.html │ │ │ ├── a00025.html │ │ │ ├── a00025_source.html │ │ │ ├── a00026.html │ │ │ ├── a00026_source.html │ │ │ ├── a00027.html │ │ │ ├── a00027_source.html │ │ │ ├── a00028.html │ │ │ ├── a00028_source.html │ │ │ ├── a00029.html │ │ │ ├── a00029_source.html │ │ │ ├── a00030.html │ │ │ ├── a00030_source.html │ │ │ ├── a00031.html │ │ │ ├── a00031_source.html │ │ │ ├── a00032.html │ │ │ ├── a00032_source.html │ │ │ ├── a00033.html │ │ │ ├── a00033_source.html │ │ │ ├── a00034.html │ │ │ ├── a00034_source.html │ │ │ ├── a00035_source.html │ │ │ ├── a00036.html │ │ │ ├── a00036_source.html │ │ │ ├── a00037.html │ │ │ ├── a00037_source.html │ │ │ ├── a00038.html │ │ │ ├── a00038_source.html │ │ │ ├── a00039.html │ │ │ ├── a00039_source.html │ │ │ ├── a00040.html │ │ │ ├── a00040_source.html │ │ │ ├── a00041.html │ │ │ ├── a00041_source.html │ │ │ ├── a00042.html │ │ │ ├── a00042_source.html │ │ │ ├── a00043.html │ │ │ ├── a00043_source.html │ │ │ ├── a00044.html │ │ │ ├── a00044_source.html │ │ │ ├── a00045.html │ │ │ ├── a00045_source.html │ │ │ ├── a00046.html │ │ │ ├── a00046_source.html │ │ │ ├── a00047_source.html │ │ │ ├── a00048.html │ │ │ ├── a00048_source.html │ │ │ ├── a00049.html │ │ │ ├── a00049_source.html │ │ │ ├── a00050.html │ │ │ ├── a00050_source.html │ │ │ ├── a00051.html │ │ │ ├── a00051_source.html │ │ │ ├── a00052.html │ │ │ ├── a00052_source.html │ │ │ ├── a00053.html │ │ │ ├── a00053_source.html │ │ │ ├── a00054.html │ │ │ ├── a00054_source.html │ │ │ ├── a00055.html │ │ │ ├── a00055_source.html │ │ │ ├── a00056.html │ │ │ ├── a00056_source.html │ │ │ ├── a00057.html │ │ │ ├── a00057_source.html │ │ │ ├── a00058.html │ │ │ ├── a00058_source.html │ │ │ ├── a00059.html │ │ │ ├── a00059_source.html │ │ │ ├── a00060.html │ │ │ ├── a00060_source.html │ │ │ ├── a00061.html │ │ │ ├── a00061_source.html │ │ │ ├── a00062.html │ │ │ ├── a00062_source.html │ │ │ ├── a00063.html │ │ │ ├── a00063_source.html │ │ │ ├── a00064.html │ │ │ ├── a00064_source.html │ │ │ ├── a00065.html │ │ │ ├── a00065_source.html │ │ │ ├── a00066.html │ │ │ ├── a00066_source.html │ │ │ ├── a00067.html │ │ │ ├── a00067_source.html │ │ │ ├── a00068.html │ │ │ ├── a00068_source.html │ │ │ ├── a00069.html │ │ │ ├── a00069_source.html │ │ │ ├── a00070.html │ │ │ ├── a00070_source.html │ │ │ ├── a00071.html │ │ │ ├── a00071_source.html │ │ │ ├── a00072.html │ │ │ ├── a00072_source.html │ │ │ ├── a00073.html │ │ │ ├── a00073_source.html │ │ │ ├── a00074.html │ │ │ ├── a00074_source.html │ │ │ ├── a00075.html │ │ │ ├── a00075_source.html │ │ │ ├── a00076.html │ │ │ ├── a00076_source.html │ │ │ ├── a00077.html │ │ │ ├── a00077_source.html │ │ │ ├── a00078.html │ │ │ ├── a00078_source.html │ │ │ ├── a00079.html │ │ │ ├── a00079_source.html │ │ │ ├── a00080.html │ │ │ ├── a00080_source.html │ │ │ ├── a00081.html │ │ │ ├── a00081_source.html │ │ │ ├── a00082.html │ │ │ ├── a00082_source.html │ │ │ ├── a00083.html │ │ │ ├── a00083_source.html │ │ │ ├── a00084.html │ │ │ ├── a00084_source.html │ │ │ ├── a00085.html │ │ │ ├── a00085_source.html │ │ │ ├── a00086.html │ │ │ ├── a00086_source.html │ │ │ ├── a00087.html │ │ │ ├── a00087_source.html │ │ │ ├── a00088.html │ │ │ ├── a00088_source.html │ │ │ ├── a00089.html │ │ │ ├── a00089_source.html │ │ │ ├── a00090.html │ │ │ ├── a00090_source.html │ │ │ ├── a00091.html │ │ │ ├── a00091_source.html │ │ │ ├── a00092.html │ │ │ ├── a00092_source.html │ │ │ ├── a00093.html │ │ │ ├── a00093_source.html │ │ │ ├── a00094.html │ │ │ ├── a00094_source.html │ │ │ ├── a00095_source.html │ │ │ ├── a00096.html │ │ │ ├── a00096_source.html │ │ │ ├── a00097.html │ │ │ ├── a00097_source.html │ │ │ ├── a00098.html │ │ │ ├── a00098_source.html │ │ │ ├── a00099.html │ │ │ ├── a00099_source.html │ │ │ ├── a00100.html │ │ │ ├── a00100_source.html │ │ │ ├── a00101.html │ │ │ ├── a00101_source.html │ │ │ ├── a00102.html │ │ │ ├── a00102_source.html │ │ │ ├── a00103.html │ │ │ ├── a00103_source.html │ │ │ ├── a00104.html │ │ │ ├── a00104_source.html │ │ │ ├── a00105.html │ │ │ ├── a00105_source.html │ │ │ ├── a00106.html │ │ │ ├── a00106_source.html │ │ │ ├── a00107.html │ │ │ ├── a00107_source.html │ │ │ ├── a00108.html │ │ │ ├── a00108_source.html │ │ │ ├── a00109.html │ │ │ ├── a00109_source.html │ │ │ ├── a00110.html │ │ │ ├── a00110_source.html │ │ │ ├── a00111.html │ │ │ ├── a00111_source.html │ │ │ ├── a00112.html │ │ │ ├── a00112_source.html │ │ │ ├── a00113.html │ │ │ ├── a00113_source.html │ │ │ ├── a00114.html │ │ │ ├── a00114_source.html │ │ │ ├── a00115.html │ │ │ ├── a00115_source.html │ │ │ ├── a00116.html │ │ │ ├── a00116_source.html │ │ │ ├── a00117.html │ │ │ ├── a00117_source.html │ │ │ ├── a00118.html │ │ │ ├── a00118_source.html │ │ │ ├── a00119.html │ │ │ ├── a00119_source.html │ │ │ ├── a00120.html │ │ │ ├── a00120_source.html │ │ │ ├── a00121.html │ │ │ ├── a00121_source.html │ │ │ ├── a00122.html │ │ │ ├── a00122_source.html │ │ │ ├── a00123.html │ │ │ ├── a00123_source.html │ │ │ ├── a00124_source.html │ │ │ ├── a00125.html │ │ │ ├── a00125_source.html │ │ │ ├── a00126.html │ │ │ ├── a00126_source.html │ │ │ ├── a00127.html │ │ │ ├── a00127_source.html │ │ │ ├── a00128.html │ │ │ ├── a00128_source.html │ │ │ ├── a00129.html │ │ │ ├── a00129_source.html │ │ │ ├── a00130.html │ │ │ ├── a00130_source.html │ │ │ ├── a00131.html │ │ │ ├── a00131_source.html │ │ │ ├── a00132.html │ │ │ ├── a00132_source.html │ │ │ ├── a00133.html │ │ │ ├── a00133_source.html │ │ │ ├── a00134.html │ │ │ ├── a00134_source.html │ │ │ ├── a00135.html │ │ │ ├── a00135_source.html │ │ │ ├── a00136.html │ │ │ ├── a00136_source.html │ │ │ ├── a00137.html │ │ │ ├── a00137_source.html │ │ │ ├── a00138.html │ │ │ ├── a00138_source.html │ │ │ ├── a00139.html │ │ │ ├── a00139_source.html │ │ │ ├── a00140.html │ │ │ ├── a00140_source.html │ │ │ ├── a00141.html │ │ │ ├── a00141_source.html │ │ │ ├── a00142.html │ │ │ ├── a00142_source.html │ │ │ ├── a00143.html │ │ │ ├── a00143_source.html │ │ │ ├── a00144.html │ │ │ ├── a00144_source.html │ │ │ ├── a00145.html │ │ │ ├── a00145_source.html │ │ │ ├── a00146.html │ │ │ ├── a00146_source.html │ │ │ ├── a00147.html │ │ │ ├── a00147_source.html │ │ │ ├── a00148.html │ │ │ ├── a00148_source.html │ │ │ ├── a00149.html │ │ │ ├── a00149_source.html │ │ │ ├── a00150.html │ │ │ ├── a00150_source.html │ │ │ ├── a00151.html │ │ │ ├── a00151_source.html │ │ │ ├── a00152.html │ │ │ ├── a00152_source.html │ │ │ ├── a00153_source.html │ │ │ ├── a00154.html │ │ │ ├── a00154_source.html │ │ │ ├── a00155.html │ │ │ ├── a00155_source.html │ │ │ ├── a00156.html │ │ │ ├── a00156_source.html │ │ │ ├── a00157.html │ │ │ ├── a00157_source.html │ │ │ ├── a00158.html │ │ │ ├── a00158_source.html │ │ │ ├── a00159.html │ │ │ ├── a00159_source.html │ │ │ ├── a00160.html │ │ │ ├── a00160_source.html │ │ │ ├── a00161.html │ │ │ ├── a00161_source.html │ │ │ ├── a00162.html │ │ │ ├── a00162_source.html │ │ │ ├── a00163_source.html │ │ │ ├── a00164_source.html │ │ │ ├── a00165.html │ │ │ ├── a00165_source.html │ │ │ ├── a00166.html │ │ │ ├── a00166_source.html │ │ │ ├── a00167.html │ │ │ ├── a00167_source.html │ │ │ ├── a00168.html │ │ │ ├── a00168_source.html │ │ │ ├── a00169.html │ │ │ ├── a00169_source.html │ │ │ ├── a00170.html │ │ │ ├── a00170_source.html │ │ │ ├── a00171.html │ │ │ ├── a00171_source.html │ │ │ ├── a00172.html │ │ │ ├── a00172_source.html │ │ │ ├── a00173.html │ │ │ ├── a00173_source.html │ │ │ ├── a00174.html │ │ │ ├── a00174_source.html │ │ │ ├── a00175.html │ │ │ ├── a00175_source.html │ │ │ ├── a00176.html │ │ │ ├── a00176_source.html │ │ │ ├── a00177.html │ │ │ ├── a00177_source.html │ │ │ ├── a00178.html │ │ │ ├── a00178_source.html │ │ │ ├── a00179.html │ │ │ ├── a00179_source.html │ │ │ ├── a00180.html │ │ │ ├── a00180_source.html │ │ │ ├── a00181.html │ │ │ ├── a00181_source.html │ │ │ ├── a00182.html │ │ │ ├── a00182_source.html │ │ │ ├── a00183.html │ │ │ ├── a00183_source.html │ │ │ ├── a00184.html │ │ │ ├── a00184_source.html │ │ │ ├── a00185.html │ │ │ ├── a00185_source.html │ │ │ ├── a00186.html │ │ │ ├── a00186_source.html │ │ │ ├── a00187.html │ │ │ ├── a00187_source.html │ │ │ ├── a00188.html │ │ │ ├── a00188_source.html │ │ │ ├── a00189.html │ │ │ ├── a00189_source.html │ │ │ ├── a00190.html │ │ │ ├── a00190_source.html │ │ │ ├── a00191.html │ │ │ ├── a00191_source.html │ │ │ ├── a00192.html │ │ │ ├── a00192_source.html │ │ │ ├── a00193.html │ │ │ ├── a00193_source.html │ │ │ ├── a00194.html │ │ │ ├── a00194_source.html │ │ │ ├── a00195.html │ │ │ ├── a00195_source.html │ │ │ ├── a00196.html │ │ │ ├── a00196_source.html │ │ │ ├── a00197.html │ │ │ ├── a00197_source.html │ │ │ ├── a00198.html │ │ │ ├── a00198_source.html │ │ │ ├── a00199.html │ │ │ ├── a00199_source.html │ │ │ ├── a00200.html │ │ │ ├── a00200_source.html │ │ │ ├── a00201.html │ │ │ ├── a00201_source.html │ │ │ ├── a00202.html │ │ │ ├── a00202_source.html │ │ │ ├── a00203.html │ │ │ ├── a00203_source.html │ │ │ ├── a00204.html │ │ │ ├── a00204_source.html │ │ │ ├── a00205.html │ │ │ ├── a00205_source.html │ │ │ ├── a00206.html │ │ │ ├── a00206_source.html │ │ │ ├── a00207.html │ │ │ ├── a00207_source.html │ │ │ ├── a00208.html │ │ │ ├── a00208_source.html │ │ │ ├── a00209.html │ │ │ ├── a00209_source.html │ │ │ ├── a00210.html │ │ │ ├── a00210_source.html │ │ │ ├── a00211.html │ │ │ ├── a00211_source.html │ │ │ ├── a00212.html │ │ │ ├── a00212_source.html │ │ │ ├── a00213.html │ │ │ ├── a00213_source.html │ │ │ ├── a00214.html │ │ │ ├── a00214_source.html │ │ │ ├── a00215.html │ │ │ ├── a00215_source.html │ │ │ ├── a00216.html │ │ │ ├── a00216_source.html │ │ │ ├── a00217.html │ │ │ ├── a00217_source.html │ │ │ ├── a00218.html │ │ │ ├── a00218_source.html │ │ │ ├── a00219.html │ │ │ ├── a00219_source.html │ │ │ ├── a00220.html │ │ │ ├── a00220_source.html │ │ │ ├── a00221.html │ │ │ ├── a00221_source.html │ │ │ ├── a00222.html │ │ │ ├── a00222_source.html │ │ │ ├── a00223.html │ │ │ ├── a00223_source.html │ │ │ ├── a00224.html │ │ │ ├── a00224_source.html │ │ │ ├── a00225.html │ │ │ ├── a00225_source.html │ │ │ ├── a00226.html │ │ │ ├── a00226_source.html │ │ │ ├── a00227.html │ │ │ ├── a00227_source.html │ │ │ ├── a00228.html │ │ │ ├── a00228_source.html │ │ │ ├── a00229.html │ │ │ ├── a00229_source.html │ │ │ ├── a00230.html │ │ │ ├── a00230_source.html │ │ │ ├── a00231.html │ │ │ ├── a00231_source.html │ │ │ ├── a00232.html │ │ │ ├── a00232_source.html │ │ │ ├── a00233.html │ │ │ ├── a00233_source.html │ │ │ ├── a00234.html │ │ │ ├── a00234_source.html │ │ │ ├── a00235.html │ │ │ ├── a00235_source.html │ │ │ ├── a00241.html │ │ │ ├── a00242.html │ │ │ ├── a00243.html │ │ │ ├── a00244.html │ │ │ ├── a00245.html │ │ │ ├── a00246.html │ │ │ ├── a00247.html │ │ │ ├── a00248.html │ │ │ ├── a00249.html │ │ │ ├── a00250.html │ │ │ ├── a00251.html │ │ │ ├── a00252.html │ │ │ ├── a00253.html │ │ │ ├── a00254.html │ │ │ ├── a00255.html │ │ │ ├── a00256.html │ │ │ ├── a00257.html │ │ │ ├── a00258.html │ │ │ ├── a00259.html │ │ │ ├── a00260.html │ │ │ ├── a00261.html │ │ │ ├── a00262.html │ │ │ ├── a00263.html │ │ │ ├── a00264.html │ │ │ ├── a00265.html │ │ │ ├── a00266.html │ │ │ ├── a00267.html │ │ │ ├── a00268.html │ │ │ ├── a00269.html │ │ │ ├── a00270.html │ │ │ ├── a00271.html │ │ │ ├── a00272.html │ │ │ ├── a00273.html │ │ │ ├── a00274.html │ │ │ ├── a00275.html │ │ │ ├── a00276.html │ │ │ ├── a00277.html │ │ │ ├── a00278.html │ │ │ ├── a00279.html │ │ │ ├── a00280.html │ │ │ ├── a00281.html │ │ │ ├── a00282.html │ │ │ ├── a00283.html │ │ │ ├── a00284.html │ │ │ ├── a00285.html │ │ │ ├── a00286.html │ │ │ ├── a00287.html │ │ │ ├── a00288.html │ │ │ ├── a00289.html │ │ │ ├── a00290.html │ │ │ ├── a00291.html │ │ │ ├── a00292.html │ │ │ ├── a00293.html │ │ │ ├── a00294.html │ │ │ ├── a00295.html │ │ │ ├── a00296.html │ │ │ ├── a00297.html │ │ │ ├── a00298.html │ │ │ ├── a00299.html │ │ │ ├── a00300.html │ │ │ ├── a00301.html │ │ │ ├── a00302.html │ │ │ ├── a00303.html │ │ │ ├── a00304.html │ │ │ ├── a00305.html │ │ │ ├── a00306.html │ │ │ ├── a00307.html │ │ │ ├── a00308.html │ │ │ ├── a00309.html │ │ │ ├── a00310.html │ │ │ ├── a00311.html │ │ │ ├── a00312.html │ │ │ ├── a00313.html │ │ │ ├── a00314.html │ │ │ ├── a00315.html │ │ │ ├── a00316.html │ │ │ ├── a00317.html │ │ │ ├── a00318.html │ │ │ ├── a00319.html │ │ │ ├── a00320.html │ │ │ ├── a00321.html │ │ │ ├── a00322.html │ │ │ ├── a00323.html │ │ │ ├── a00324.html │ │ │ ├── a00325.html │ │ │ ├── a00326.html │ │ │ ├── a00327.html │ │ │ ├── a00328.html │ │ │ ├── a00329.html │ │ │ ├── a00330.html │ │ │ ├── a00331.html │ │ │ ├── a00332.html │ │ │ ├── a00333.html │ │ │ ├── a00334.html │ │ │ ├── a00335.html │ │ │ ├── a00336.html │ │ │ ├── a00337.html │ │ │ ├── a00338.html │ │ │ ├── a00339.html │ │ │ ├── a00340.html │ │ │ ├── a00341.html │ │ │ ├── a00342.html │ │ │ ├── a00343.html │ │ │ ├── a00344.html │ │ │ ├── a00345.html │ │ │ ├── a00346.html │ │ │ ├── a00347.html │ │ │ ├── a00348.html │ │ │ ├── a00349.html │ │ │ ├── a00350.html │ │ │ ├── a00351.html │ │ │ ├── a00352.html │ │ │ ├── a00353.html │ │ │ ├── a00354.html │ │ │ ├── a00355.html │ │ │ ├── a00356.html │ │ │ ├── a00357.html │ │ │ ├── a00358.html │ │ │ ├── a00359.html │ │ │ ├── a00360.html │ │ │ ├── a00361.html │ │ │ ├── a00362.html │ │ │ ├── a00363.html │ │ │ ├── a00364.html │ │ │ ├── a00365.html │ │ │ ├── a00366.html │ │ │ ├── a00367.html │ │ │ ├── a00368.html │ │ │ ├── a00369.html │ │ │ ├── a00370.html │ │ │ ├── a00371.html │ │ │ ├── a00372.html │ │ │ ├── a00373.html │ │ │ ├── a00374.html │ │ │ ├── arrowdown.png │ │ │ ├── arrowright.png │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── closed.png │ │ │ ├── dir_033f5edb0915b828d2c46ed4804e5503.html │ │ │ ├── dir_3a581ba30d25676e4b797b1f96d53b45.html │ │ │ ├── dir_44e5e654415abd9ca6fdeaddaff8565e.html │ │ │ ├── dir_4c6bd29c73fa4e5a2509e1c15f846751.html │ │ │ ├── dir_5189610d3ba09ec39b766fb99b34cd93.html │ │ │ ├── dir_6b66465792d005310484819a0eb0b0d3.html │ │ │ ├── dir_9e5fe034a00e89334fd5186c3e7db156.html │ │ │ ├── dir_a8bee7be44182a33f3820393ae0b105d.html │ │ │ ├── dir_cef2d71d502cb69a9252bca2297d9549.html │ │ │ ├── dir_d9496f0844b48bc7e53b5af8c99b9ab2.html │ │ │ ├── dir_f35778ec600a1b9bbc4524e62e226aa2.html │ │ │ ├── doc.png │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── files.html │ │ │ ├── folderclosed.png │ │ │ ├── folderopen.png │ │ │ ├── index.html │ │ │ ├── jquery.js │ │ │ ├── logo-mini.png │ │ │ ├── modules.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── open.png │ │ │ ├── search │ │ │ │ ├── all_0.html │ │ │ │ ├── all_0.js │ │ │ │ ├── all_1.html │ │ │ │ ├── all_1.js │ │ │ │ ├── all_10.html │ │ │ │ ├── all_10.js │ │ │ │ ├── all_11.html │ │ │ │ ├── all_11.js │ │ │ │ ├── all_12.html │ │ │ │ ├── all_12.js │ │ │ │ ├── all_13.html │ │ │ │ ├── all_13.js │ │ │ │ ├── all_14.html │ │ │ │ ├── all_14.js │ │ │ │ ├── all_15.html │ │ │ │ ├── all_15.js │ │ │ │ ├── all_16.html │ │ │ │ ├── all_16.js │ │ │ │ ├── all_2.html │ │ │ │ ├── all_2.js │ │ │ │ ├── all_3.html │ │ │ │ ├── all_3.js │ │ │ │ ├── all_4.html │ │ │ │ ├── all_4.js │ │ │ │ ├── all_5.html │ │ │ │ ├── all_5.js │ │ │ │ ├── all_6.html │ │ │ │ ├── all_6.js │ │ │ │ ├── all_7.html │ │ │ │ ├── all_7.js │ │ │ │ ├── all_8.html │ │ │ │ ├── all_8.js │ │ │ │ ├── all_9.html │ │ │ │ ├── all_9.js │ │ │ │ ├── all_a.html │ │ │ │ ├── all_a.js │ │ │ │ ├── all_b.html │ │ │ │ ├── all_b.js │ │ │ │ ├── all_c.html │ │ │ │ ├── all_c.js │ │ │ │ ├── all_d.html │ │ │ │ ├── all_d.js │ │ │ │ ├── all_e.html │ │ │ │ ├── all_e.js │ │ │ │ ├── all_f.html │ │ │ │ ├── all_f.js │ │ │ │ ├── close.png │ │ │ │ ├── files_0.html │ │ │ │ ├── files_0.js │ │ │ │ ├── files_1.html │ │ │ │ ├── files_1.js │ │ │ │ ├── files_10.html │ │ │ │ ├── files_10.js │ │ │ │ ├── files_11.html │ │ │ │ ├── files_11.js │ │ │ │ ├── files_12.html │ │ │ │ ├── files_12.js │ │ │ │ ├── files_13.html │ │ │ │ ├── files_13.js │ │ │ │ ├── files_14.html │ │ │ │ ├── files_14.js │ │ │ │ ├── files_2.html │ │ │ │ ├── files_2.js │ │ │ │ ├── files_3.html │ │ │ │ ├── files_3.js │ │ │ │ ├── files_4.html │ │ │ │ ├── files_4.js │ │ │ │ ├── files_5.html │ │ │ │ ├── files_5.js │ │ │ │ ├── files_6.html │ │ │ │ ├── files_6.js │ │ │ │ ├── files_7.html │ │ │ │ ├── files_7.js │ │ │ │ ├── files_8.html │ │ │ │ ├── files_8.js │ │ │ │ ├── files_9.html │ │ │ │ ├── files_9.js │ │ │ │ ├── files_a.html │ │ │ │ ├── files_a.js │ │ │ │ ├── files_b.html │ │ │ │ ├── files_b.js │ │ │ │ ├── files_c.html │ │ │ │ ├── files_c.js │ │ │ │ ├── files_d.html │ │ │ │ ├── files_d.js │ │ │ │ ├── files_e.html │ │ │ │ ├── files_e.js │ │ │ │ ├── files_f.html │ │ │ │ ├── files_f.js │ │ │ │ ├── functions_0.html │ │ │ │ ├── functions_0.js │ │ │ │ ├── functions_1.html │ │ │ │ ├── functions_1.js │ │ │ │ ├── functions_10.html │ │ │ │ ├── functions_10.js │ │ │ │ ├── functions_11.html │ │ │ │ ├── functions_11.js │ │ │ │ ├── functions_12.html │ │ │ │ ├── functions_12.js │ │ │ │ ├── functions_13.html │ │ │ │ ├── functions_13.js │ │ │ │ ├── functions_14.html │ │ │ │ ├── functions_14.js │ │ │ │ ├── functions_15.html │ │ │ │ ├── functions_15.js │ │ │ │ ├── functions_16.html │ │ │ │ ├── functions_16.js │ │ │ │ ├── functions_2.html │ │ │ │ ├── functions_2.js │ │ │ │ ├── functions_3.html │ │ │ │ ├── functions_3.js │ │ │ │ ├── functions_4.html │ │ │ │ ├── functions_4.js │ │ │ │ ├── functions_5.html │ │ │ │ ├── functions_5.js │ │ │ │ ├── functions_6.html │ │ │ │ ├── functions_6.js │ │ │ │ ├── functions_7.html │ │ │ │ ├── functions_7.js │ │ │ │ ├── functions_8.html │ │ │ │ ├── functions_8.js │ │ │ │ ├── functions_9.html │ │ │ │ ├── functions_9.js │ │ │ │ ├── functions_a.html │ │ │ │ ├── functions_a.js │ │ │ │ ├── functions_b.html │ │ │ │ ├── functions_b.js │ │ │ │ ├── functions_c.html │ │ │ │ ├── functions_c.js │ │ │ │ ├── functions_d.html │ │ │ │ ├── functions_d.js │ │ │ │ ├── functions_e.html │ │ │ │ ├── functions_e.js │ │ │ │ ├── functions_f.html │ │ │ │ ├── functions_f.js │ │ │ │ ├── groups_0.html │ │ │ │ ├── groups_0.js │ │ │ │ ├── groups_1.html │ │ │ │ ├── groups_1.js │ │ │ │ ├── groups_2.html │ │ │ │ ├── groups_2.js │ │ │ │ ├── groups_3.html │ │ │ │ ├── groups_3.js │ │ │ │ ├── groups_4.html │ │ │ │ ├── groups_4.js │ │ │ │ ├── groups_5.html │ │ │ │ ├── groups_5.js │ │ │ │ ├── groups_6.html │ │ │ │ ├── groups_6.js │ │ │ │ ├── groups_7.html │ │ │ │ ├── groups_7.js │ │ │ │ ├── groups_8.html │ │ │ │ ├── groups_8.js │ │ │ │ ├── groups_9.html │ │ │ │ ├── groups_9.js │ │ │ │ ├── mag_sel.png │ │ │ │ ├── nomatches.html │ │ │ │ ├── pages_0.html │ │ │ │ ├── pages_0.js │ │ │ │ ├── search.css │ │ │ │ ├── search.js │ │ │ │ ├── search_l.png │ │ │ │ ├── search_m.png │ │ │ │ ├── search_r.png │ │ │ │ ├── searchdata.js │ │ │ │ ├── typedefs_0.html │ │ │ │ ├── typedefs_0.js │ │ │ │ ├── typedefs_1.html │ │ │ │ ├── typedefs_1.js │ │ │ │ ├── typedefs_2.html │ │ │ │ ├── typedefs_2.js │ │ │ │ ├── typedefs_3.html │ │ │ │ ├── typedefs_3.js │ │ │ │ ├── typedefs_4.html │ │ │ │ ├── typedefs_4.js │ │ │ │ ├── typedefs_5.html │ │ │ │ ├── typedefs_5.js │ │ │ │ ├── typedefs_6.html │ │ │ │ ├── typedefs_6.js │ │ │ │ ├── typedefs_7.html │ │ │ │ ├── typedefs_7.js │ │ │ │ ├── typedefs_8.html │ │ │ │ ├── typedefs_8.js │ │ │ │ ├── typedefs_9.html │ │ │ │ ├── typedefs_9.js │ │ │ │ ├── typedefs_a.html │ │ │ │ ├── typedefs_a.js │ │ │ │ ├── typedefs_b.html │ │ │ │ ├── typedefs_b.js │ │ │ │ ├── typedefs_c.html │ │ │ │ ├── typedefs_c.js │ │ │ │ ├── typedefs_d.html │ │ │ │ └── typedefs_d.js │ │ │ ├── splitbar.png │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ └── tabs.css │ │ ├── man.doxy │ │ ├── manual.pdf │ │ ├── manual │ │ │ ├── frontpage1.png │ │ │ ├── frontpage2.png │ │ │ ├── g-truc.png │ │ │ ├── logo-mini.png │ │ │ ├── noise-perlin1.jpg │ │ │ ├── noise-perlin2.jpg │ │ │ ├── noise-perlin3.jpg │ │ │ ├── noise-perlin4.png │ │ │ ├── noise-perlin5.png │ │ │ ├── noise-perlin6.png │ │ │ ├── noise-simplex1.jpg │ │ │ ├── noise-simplex2.jpg │ │ │ ├── noise-simplex3.jpg │ │ │ ├── random-ballrand.png │ │ │ ├── random-circularrand.png │ │ │ ├── random-diskrand.png │ │ │ ├── random-gaussrand.png │ │ │ ├── random-linearrand.png │ │ │ ├── random-sphericalrand.png │ │ │ ├── references-cinder.png │ │ │ ├── references-glsl4book.jpg │ │ │ ├── references-leosfortune.jpeg │ │ │ ├── references-leosfortune2.jpg │ │ │ ├── references-opencloth1.png │ │ │ ├── references-opencloth3.png │ │ │ ├── references-outerra1.jpg │ │ │ ├── references-outerra2.jpg │ │ │ ├── references-outerra3.jpg │ │ │ └── references-outerra4.jpg │ │ └── theme │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── closed.png │ │ │ ├── doc.png │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── folderclosed.png │ │ │ ├── folderopen.png │ │ │ ├── logo-mini.png │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── open.png │ │ │ ├── splitbar.png │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ └── tab_s.png │ ├── glm │ │ ├── CMakeLists.txt │ │ ├── common.hpp │ │ ├── detail │ │ │ ├── _features.hpp │ │ │ ├── _fixes.hpp │ │ │ ├── _noise.hpp │ │ │ ├── _swizzle.hpp │ │ │ ├── _swizzle_func.hpp │ │ │ ├── _vectorize.hpp │ │ │ ├── compute_common.hpp │ │ │ ├── compute_vector_relational.hpp │ │ │ ├── func_common.inl │ │ │ ├── func_common_simd.inl │ │ │ ├── func_exponential.inl │ │ │ ├── func_exponential_simd.inl │ │ │ ├── func_geometric.inl │ │ │ ├── func_geometric_simd.inl │ │ │ ├── func_integer.inl │ │ │ ├── func_integer_simd.inl │ │ │ ├── func_matrix.inl │ │ │ ├── func_matrix_simd.inl │ │ │ ├── func_packing.inl │ │ │ ├── func_packing_simd.inl │ │ │ ├── func_trigonometric.inl │ │ │ ├── func_trigonometric_simd.inl │ │ │ ├── func_vector_relational.inl │ │ │ ├── func_vector_relational_simd.inl │ │ │ ├── glm.cpp │ │ │ ├── qualifier.hpp │ │ │ ├── setup.hpp │ │ │ ├── type_float.hpp │ │ │ ├── type_half.hpp │ │ │ ├── type_half.inl │ │ │ ├── type_mat2x2.hpp │ │ │ ├── type_mat2x2.inl │ │ │ ├── type_mat2x3.hpp │ │ │ ├── type_mat2x3.inl │ │ │ ├── type_mat2x4.hpp │ │ │ ├── type_mat2x4.inl │ │ │ ├── type_mat3x2.hpp │ │ │ ├── type_mat3x2.inl │ │ │ ├── type_mat3x3.hpp │ │ │ ├── type_mat3x3.inl │ │ │ ├── type_mat3x4.hpp │ │ │ ├── type_mat3x4.inl │ │ │ ├── type_mat4x2.hpp │ │ │ ├── type_mat4x2.inl │ │ │ ├── type_mat4x3.hpp │ │ │ ├── type_mat4x3.inl │ │ │ ├── type_mat4x4.hpp │ │ │ ├── type_mat4x4.inl │ │ │ ├── type_mat4x4_simd.inl │ │ │ ├── type_quat.hpp │ │ │ ├── type_quat.inl │ │ │ ├── type_quat_simd.inl │ │ │ ├── type_vec1.hpp │ │ │ ├── type_vec1.inl │ │ │ ├── type_vec2.hpp │ │ │ ├── type_vec2.inl │ │ │ ├── type_vec3.hpp │ │ │ ├── type_vec3.inl │ │ │ ├── type_vec4.hpp │ │ │ ├── type_vec4.inl │ │ │ └── type_vec4_simd.inl │ │ ├── exponential.hpp │ │ ├── ext.hpp │ │ ├── ext │ │ │ ├── matrix_clip_space.hpp │ │ │ ├── matrix_clip_space.inl │ │ │ ├── matrix_common.hpp │ │ │ ├── matrix_common.inl │ │ │ ├── matrix_double2x2.hpp │ │ │ ├── matrix_double2x2_precision.hpp │ │ │ ├── matrix_double2x3.hpp │ │ │ ├── matrix_double2x3_precision.hpp │ │ │ ├── matrix_double2x4.hpp │ │ │ ├── matrix_double2x4_precision.hpp │ │ │ ├── matrix_double3x2.hpp │ │ │ ├── matrix_double3x2_precision.hpp │ │ │ ├── matrix_double3x3.hpp │ │ │ ├── matrix_double3x3_precision.hpp │ │ │ ├── matrix_double3x4.hpp │ │ │ ├── matrix_double3x4_precision.hpp │ │ │ ├── matrix_double4x2.hpp │ │ │ ├── matrix_double4x2_precision.hpp │ │ │ ├── matrix_double4x3.hpp │ │ │ ├── matrix_double4x3_precision.hpp │ │ │ ├── matrix_double4x4.hpp │ │ │ ├── matrix_double4x4_precision.hpp │ │ │ ├── matrix_float2x2.hpp │ │ │ ├── matrix_float2x2_precision.hpp │ │ │ ├── matrix_float2x3.hpp │ │ │ ├── matrix_float2x3_precision.hpp │ │ │ ├── matrix_float2x4.hpp │ │ │ ├── matrix_float2x4_precision.hpp │ │ │ ├── matrix_float3x2.hpp │ │ │ ├── matrix_float3x2_precision.hpp │ │ │ ├── matrix_float3x3.hpp │ │ │ ├── matrix_float3x3_precision.hpp │ │ │ ├── matrix_float3x4.hpp │ │ │ ├── matrix_float3x4_precision.hpp │ │ │ ├── matrix_float4x2.hpp │ │ │ ├── matrix_float4x2_precision.hpp │ │ │ ├── matrix_float4x3.hpp │ │ │ ├── matrix_float4x3_precision.hpp │ │ │ ├── matrix_float4x4.hpp │ │ │ ├── matrix_float4x4_precision.hpp │ │ │ ├── matrix_projection.hpp │ │ │ ├── matrix_projection.inl │ │ │ ├── matrix_relational.hpp │ │ │ ├── matrix_relational.inl │ │ │ ├── matrix_transform.hpp │ │ │ ├── matrix_transform.inl │ │ │ ├── quaternion_common.hpp │ │ │ ├── quaternion_common.inl │ │ │ ├── quaternion_common_simd.inl │ │ │ ├── quaternion_double.hpp │ │ │ ├── quaternion_double_precision.hpp │ │ │ ├── quaternion_exponential.hpp │ │ │ ├── quaternion_exponential.inl │ │ │ ├── quaternion_float.hpp │ │ │ ├── quaternion_float_precision.hpp │ │ │ ├── quaternion_geometric.hpp │ │ │ ├── quaternion_geometric.inl │ │ │ ├── quaternion_relational.hpp │ │ │ ├── quaternion_relational.inl │ │ │ ├── quaternion_transform.hpp │ │ │ ├── quaternion_transform.inl │ │ │ ├── quaternion_trigonometric.hpp │ │ │ ├── quaternion_trigonometric.inl │ │ │ ├── scalar_common.hpp │ │ │ ├── scalar_common.inl │ │ │ ├── scalar_constants.hpp │ │ │ ├── scalar_constants.inl │ │ │ ├── scalar_int_sized.hpp │ │ │ ├── scalar_integer.hpp │ │ │ ├── scalar_integer.inl │ │ │ ├── scalar_relational.hpp │ │ │ ├── scalar_relational.inl │ │ │ ├── scalar_uint_sized.hpp │ │ │ ├── scalar_ulp.hpp │ │ │ ├── scalar_ulp.inl │ │ │ ├── vector_bool1.hpp │ │ │ ├── vector_bool1_precision.hpp │ │ │ ├── vector_bool2.hpp │ │ │ ├── vector_bool2_precision.hpp │ │ │ ├── vector_bool3.hpp │ │ │ ├── vector_bool3_precision.hpp │ │ │ ├── vector_bool4.hpp │ │ │ ├── vector_bool4_precision.hpp │ │ │ ├── vector_common.hpp │ │ │ ├── vector_common.inl │ │ │ ├── vector_double1.hpp │ │ │ ├── vector_double1_precision.hpp │ │ │ ├── vector_double2.hpp │ │ │ ├── vector_double2_precision.hpp │ │ │ ├── vector_double3.hpp │ │ │ ├── vector_double3_precision.hpp │ │ │ ├── vector_double4.hpp │ │ │ ├── vector_double4_precision.hpp │ │ │ ├── vector_float1.hpp │ │ │ ├── vector_float1_precision.hpp │ │ │ ├── vector_float2.hpp │ │ │ ├── vector_float2_precision.hpp │ │ │ ├── vector_float3.hpp │ │ │ ├── vector_float3_precision.hpp │ │ │ ├── vector_float4.hpp │ │ │ ├── vector_float4_precision.hpp │ │ │ ├── vector_int1.hpp │ │ │ ├── vector_int1_precision.hpp │ │ │ ├── vector_int2.hpp │ │ │ ├── vector_int2_precision.hpp │ │ │ ├── vector_int3.hpp │ │ │ ├── vector_int3_precision.hpp │ │ │ ├── vector_int4.hpp │ │ │ ├── vector_int4_precision.hpp │ │ │ ├── vector_integer.hpp │ │ │ ├── vector_integer.inl │ │ │ ├── vector_relational.hpp │ │ │ ├── vector_relational.inl │ │ │ ├── vector_uint1.hpp │ │ │ ├── vector_uint1_precision.hpp │ │ │ ├── vector_uint2.hpp │ │ │ ├── vector_uint2_precision.hpp │ │ │ ├── vector_uint3.hpp │ │ │ ├── vector_uint3_precision.hpp │ │ │ ├── vector_uint4.hpp │ │ │ ├── vector_uint4_precision.hpp │ │ │ ├── vector_ulp.hpp │ │ │ └── vector_ulp.inl │ │ ├── fwd.hpp │ │ ├── geometric.hpp │ │ ├── glm.hpp │ │ ├── gtc │ │ │ ├── bitfield.hpp │ │ │ ├── bitfield.inl │ │ │ ├── color_space.hpp │ │ │ ├── color_space.inl │ │ │ ├── constants.hpp │ │ │ ├── constants.inl │ │ │ ├── epsilon.hpp │ │ │ ├── epsilon.inl │ │ │ ├── integer.hpp │ │ │ ├── integer.inl │ │ │ ├── matrix_access.hpp │ │ │ ├── matrix_access.inl │ │ │ ├── matrix_integer.hpp │ │ │ ├── matrix_inverse.hpp │ │ │ ├── matrix_inverse.inl │ │ │ ├── matrix_transform.hpp │ │ │ ├── matrix_transform.inl │ │ │ ├── noise.hpp │ │ │ ├── noise.inl │ │ │ ├── packing.hpp │ │ │ ├── packing.inl │ │ │ ├── quaternion.hpp │ │ │ ├── quaternion.inl │ │ │ ├── quaternion_simd.inl │ │ │ ├── random.hpp │ │ │ ├── random.inl │ │ │ ├── reciprocal.hpp │ │ │ ├── reciprocal.inl │ │ │ ├── round.hpp │ │ │ ├── round.inl │ │ │ ├── type_aligned.hpp │ │ │ ├── type_precision.hpp │ │ │ ├── type_precision.inl │ │ │ ├── type_ptr.hpp │ │ │ ├── type_ptr.inl │ │ │ ├── ulp.hpp │ │ │ ├── ulp.inl │ │ │ └── vec1.hpp │ │ ├── gtx │ │ │ ├── associated_min_max.hpp │ │ │ ├── associated_min_max.inl │ │ │ ├── bit.hpp │ │ │ ├── bit.inl │ │ │ ├── closest_point.hpp │ │ │ ├── closest_point.inl │ │ │ ├── color_encoding.hpp │ │ │ ├── color_encoding.inl │ │ │ ├── color_space.hpp │ │ │ ├── color_space.inl │ │ │ ├── color_space_YCoCg.hpp │ │ │ ├── color_space_YCoCg.inl │ │ │ ├── common.hpp │ │ │ ├── common.inl │ │ │ ├── compatibility.hpp │ │ │ ├── compatibility.inl │ │ │ ├── component_wise.hpp │ │ │ ├── component_wise.inl │ │ │ ├── dual_quaternion.hpp │ │ │ ├── dual_quaternion.inl │ │ │ ├── easing.hpp │ │ │ ├── easing.inl │ │ │ ├── euler_angles.hpp │ │ │ ├── euler_angles.inl │ │ │ ├── extend.hpp │ │ │ ├── extend.inl │ │ │ ├── extended_min_max.hpp │ │ │ ├── extended_min_max.inl │ │ │ ├── exterior_product.hpp │ │ │ ├── exterior_product.inl │ │ │ ├── fast_exponential.hpp │ │ │ ├── fast_exponential.inl │ │ │ ├── fast_square_root.hpp │ │ │ ├── fast_square_root.inl │ │ │ ├── fast_trigonometry.hpp │ │ │ ├── fast_trigonometry.inl │ │ │ ├── float_notmalize.inl │ │ │ ├── functions.hpp │ │ │ ├── functions.inl │ │ │ ├── gradient_paint.hpp │ │ │ ├── gradient_paint.inl │ │ │ ├── handed_coordinate_space.hpp │ │ │ ├── handed_coordinate_space.inl │ │ │ ├── hash.hpp │ │ │ ├── hash.inl │ │ │ ├── integer.hpp │ │ │ ├── integer.inl │ │ │ ├── intersect.hpp │ │ │ ├── intersect.inl │ │ │ ├── io.hpp │ │ │ ├── io.inl │ │ │ ├── log_base.hpp │ │ │ ├── log_base.inl │ │ │ ├── matrix_cross_product.hpp │ │ │ ├── matrix_cross_product.inl │ │ │ ├── matrix_decompose.hpp │ │ │ ├── matrix_decompose.inl │ │ │ ├── matrix_factorisation.hpp │ │ │ ├── matrix_factorisation.inl │ │ │ ├── matrix_interpolation.hpp │ │ │ ├── matrix_interpolation.inl │ │ │ ├── matrix_major_storage.hpp │ │ │ ├── matrix_major_storage.inl │ │ │ ├── matrix_operation.hpp │ │ │ ├── matrix_operation.inl │ │ │ ├── matrix_query.hpp │ │ │ ├── matrix_query.inl │ │ │ ├── matrix_transform_2d.hpp │ │ │ ├── matrix_transform_2d.inl │ │ │ ├── mixed_product.hpp │ │ │ ├── mixed_product.inl │ │ │ ├── norm.hpp │ │ │ ├── norm.inl │ │ │ ├── normal.hpp │ │ │ ├── normal.inl │ │ │ ├── normalize_dot.hpp │ │ │ ├── normalize_dot.inl │ │ │ ├── number_precision.hpp │ │ │ ├── number_precision.inl │ │ │ ├── optimum_pow.hpp │ │ │ ├── optimum_pow.inl │ │ │ ├── orthonormalize.hpp │ │ │ ├── orthonormalize.inl │ │ │ ├── perpendicular.hpp │ │ │ ├── perpendicular.inl │ │ │ ├── polar_coordinates.hpp │ │ │ ├── polar_coordinates.inl │ │ │ ├── projection.hpp │ │ │ ├── projection.inl │ │ │ ├── quaternion.hpp │ │ │ ├── quaternion.inl │ │ │ ├── range.hpp │ │ │ ├── raw_data.hpp │ │ │ ├── raw_data.inl │ │ │ ├── rotate_normalized_axis.hpp │ │ │ ├── rotate_normalized_axis.inl │ │ │ ├── rotate_vector.hpp │ │ │ ├── rotate_vector.inl │ │ │ ├── scalar_multiplication.hpp │ │ │ ├── scalar_relational.hpp │ │ │ ├── scalar_relational.inl │ │ │ ├── spline.hpp │ │ │ ├── spline.inl │ │ │ ├── std_based_type.hpp │ │ │ ├── std_based_type.inl │ │ │ ├── string_cast.hpp │ │ │ ├── string_cast.inl │ │ │ ├── texture.hpp │ │ │ ├── texture.inl │ │ │ ├── transform.hpp │ │ │ ├── transform.inl │ │ │ ├── transform2.hpp │ │ │ ├── transform2.inl │ │ │ ├── type_aligned.hpp │ │ │ ├── type_aligned.inl │ │ │ ├── type_trait.hpp │ │ │ ├── type_trait.inl │ │ │ ├── vec_swizzle.hpp │ │ │ ├── vector_angle.hpp │ │ │ ├── vector_angle.inl │ │ │ ├── vector_query.hpp │ │ │ ├── vector_query.inl │ │ │ ├── wrap.hpp │ │ │ └── wrap.inl │ │ ├── integer.hpp │ │ ├── mat2x2.hpp │ │ ├── mat2x3.hpp │ │ ├── mat2x4.hpp │ │ ├── mat3x2.hpp │ │ ├── mat3x3.hpp │ │ ├── mat3x4.hpp │ │ ├── mat4x2.hpp │ │ ├── mat4x3.hpp │ │ ├── mat4x4.hpp │ │ ├── matrix.hpp │ │ ├── packing.hpp │ │ ├── simd │ │ │ ├── common.h │ │ │ ├── exponential.h │ │ │ ├── geometric.h │ │ │ ├── integer.h │ │ │ ├── matrix.h │ │ │ ├── neon.h │ │ │ ├── packing.h │ │ │ ├── platform.h │ │ │ ├── trigonometric.h │ │ │ └── vector_relational.h │ │ ├── trigonometric.hpp │ │ ├── vec2.hpp │ │ ├── vec3.hpp │ │ ├── vec4.hpp │ │ └── vector_relational.hpp │ ├── manual.md │ ├── readme.md │ ├── test │ │ ├── CMakeLists.txt │ │ ├── bug │ │ │ ├── CMakeLists.txt │ │ │ └── bug_ms_vec_static.cpp │ │ ├── core │ │ │ ├── CMakeLists.txt │ │ │ ├── core_cpp_constexpr.cpp │ │ │ ├── core_cpp_defaulted_ctor.cpp │ │ │ ├── core_force_aligned_gentypes.cpp │ │ │ ├── core_force_arch_unknown.cpp │ │ │ ├── core_force_compiler_unknown.cpp │ │ │ ├── core_force_ctor_init.cpp │ │ │ ├── core_force_cxx03.cpp │ │ │ ├── core_force_cxx98.cpp │ │ │ ├── core_force_cxx_unknown.cpp │ │ │ ├── core_force_depth_zero_to_one.cpp │ │ │ ├── core_force_explicit_ctor.cpp │ │ │ ├── core_force_inline.cpp │ │ │ ├── core_force_left_handed.cpp │ │ │ ├── core_force_platform_unknown.cpp │ │ │ ├── core_force_pure.cpp │ │ │ ├── core_force_quat_wxyz.cpp │ │ │ ├── core_force_size_t_length.cpp │ │ │ ├── core_force_unrestricted_gentype.cpp │ │ │ ├── core_force_xyzw_only.cpp │ │ │ ├── core_func_common.cpp │ │ │ ├── core_func_exponential.cpp │ │ │ ├── core_func_geometric.cpp │ │ │ ├── core_func_integer.cpp │ │ │ ├── core_func_integer_bit_count.cpp │ │ │ ├── core_func_integer_find_lsb.cpp │ │ │ ├── core_func_integer_find_msb.cpp │ │ │ ├── core_func_matrix.cpp │ │ │ ├── core_func_noise.cpp │ │ │ ├── core_func_packing.cpp │ │ │ ├── core_func_swizzle.cpp │ │ │ ├── core_func_trigonometric.cpp │ │ │ ├── core_func_vector_relational.cpp │ │ │ ├── core_setup_force_cxx98.cpp │ │ │ ├── core_setup_force_size_t_length.cpp │ │ │ ├── core_setup_message.cpp │ │ │ ├── core_setup_platform_unknown.cpp │ │ │ ├── core_setup_precision.cpp │ │ │ ├── core_type_aligned.cpp │ │ │ ├── core_type_cast.cpp │ │ │ ├── core_type_ctor.cpp │ │ │ ├── core_type_int.cpp │ │ │ ├── core_type_length.cpp │ │ │ ├── core_type_mat2x2.cpp │ │ │ ├── core_type_mat2x3.cpp │ │ │ ├── core_type_mat2x4.cpp │ │ │ ├── core_type_mat3x2.cpp │ │ │ ├── core_type_mat3x3.cpp │ │ │ ├── core_type_mat3x4.cpp │ │ │ ├── core_type_mat4x2.cpp │ │ │ ├── core_type_mat4x3.cpp │ │ │ ├── core_type_mat4x4.cpp │ │ │ ├── core_type_vec1.cpp │ │ │ ├── core_type_vec2.cpp │ │ │ ├── core_type_vec3.cpp │ │ │ └── core_type_vec4.cpp │ │ ├── ext │ │ │ ├── CMakeLists.txt │ │ │ ├── ext_matrix_clip_space.cpp │ │ │ ├── ext_matrix_common.cpp │ │ │ ├── ext_matrix_projection.cpp │ │ │ ├── ext_matrix_relational.cpp │ │ │ ├── ext_matrix_transform.cpp │ │ │ ├── ext_quaternion_common.cpp │ │ │ ├── ext_quaternion_exponential.cpp │ │ │ ├── ext_quaternion_geometric.cpp │ │ │ ├── ext_quaternion_relational.cpp │ │ │ ├── ext_quaternion_transform.cpp │ │ │ ├── ext_quaternion_trigonometric.cpp │ │ │ ├── ext_quaternion_type.cpp │ │ │ ├── ext_scalar_common.cpp │ │ │ ├── ext_scalar_constants.cpp │ │ │ ├── ext_scalar_int_sized.cpp │ │ │ ├── ext_scalar_integer.cpp │ │ │ ├── ext_scalar_relational.cpp │ │ │ ├── ext_scalar_uint_sized.cpp │ │ │ ├── ext_scalar_ulp.cpp │ │ │ ├── ext_vec1.cpp │ │ │ ├── ext_vector_bool1.cpp │ │ │ ├── ext_vector_common.cpp │ │ │ ├── ext_vector_iec559.cpp │ │ │ ├── ext_vector_integer.cpp │ │ │ ├── ext_vector_integer_sized.cpp │ │ │ ├── ext_vector_relational.cpp │ │ │ └── ext_vector_ulp.cpp │ │ ├── glm.cppcheck │ │ ├── gtc │ │ │ ├── CMakeLists.txt │ │ │ ├── gtc_bitfield.cpp │ │ │ ├── gtc_color_space.cpp │ │ │ ├── gtc_constants.cpp │ │ │ ├── gtc_epsilon.cpp │ │ │ ├── gtc_integer.cpp │ │ │ ├── gtc_matrix_access.cpp │ │ │ ├── gtc_matrix_integer.cpp │ │ │ ├── gtc_matrix_inverse.cpp │ │ │ ├── gtc_matrix_transform.cpp │ │ │ ├── gtc_noise.cpp │ │ │ ├── gtc_packing.cpp │ │ │ ├── gtc_quaternion.cpp │ │ │ ├── gtc_random.cpp │ │ │ ├── gtc_reciprocal.cpp │ │ │ ├── gtc_round.cpp │ │ │ ├── gtc_type_aligned.cpp │ │ │ ├── gtc_type_precision.cpp │ │ │ ├── gtc_type_ptr.cpp │ │ │ ├── gtc_ulp.cpp │ │ │ ├── gtc_user_defined_types.cpp │ │ │ └── gtc_vec1.cpp │ │ ├── gtx │ │ │ ├── CMakeLists.txt │ │ │ ├── gtx.cpp │ │ │ ├── gtx_associated_min_max.cpp │ │ │ ├── gtx_closest_point.cpp │ │ │ ├── gtx_color_encoding.cpp │ │ │ ├── gtx_color_space.cpp │ │ │ ├── gtx_color_space_YCoCg.cpp │ │ │ ├── gtx_common.cpp │ │ │ ├── gtx_compatibility.cpp │ │ │ ├── gtx_component_wise.cpp │ │ │ ├── gtx_dual_quaternion.cpp │ │ │ ├── gtx_easing.cpp │ │ │ ├── gtx_euler_angle.cpp │ │ │ ├── gtx_extend.cpp │ │ │ ├── gtx_extended_min_max.cpp │ │ │ ├── gtx_extented_min_max.cpp │ │ │ ├── gtx_exterior_product.cpp │ │ │ ├── gtx_fast_exponential.cpp │ │ │ ├── gtx_fast_square_root.cpp │ │ │ ├── gtx_fast_trigonometry.cpp │ │ │ ├── gtx_functions.cpp │ │ │ ├── gtx_gradient_paint.cpp │ │ │ ├── gtx_handed_coordinate_space.cpp │ │ │ ├── gtx_int_10_10_10_2.cpp │ │ │ ├── gtx_integer.cpp │ │ │ ├── gtx_intersect.cpp │ │ │ ├── gtx_io.cpp │ │ │ ├── gtx_load.cpp │ │ │ ├── gtx_log_base.cpp │ │ │ ├── gtx_matrix_cross_product.cpp │ │ │ ├── gtx_matrix_decompose.cpp │ │ │ ├── gtx_matrix_factorisation.cpp │ │ │ ├── gtx_matrix_interpolation.cpp │ │ │ ├── gtx_matrix_major_storage.cpp │ │ │ ├── gtx_matrix_operation.cpp │ │ │ ├── gtx_matrix_query.cpp │ │ │ ├── gtx_matrix_transform_2d.cpp │ │ │ ├── gtx_mixed_product.cpp │ │ │ ├── gtx_norm.cpp │ │ │ ├── gtx_normal.cpp │ │ │ ├── gtx_normalize_dot.cpp │ │ │ ├── gtx_number_precision.cpp │ │ │ ├── gtx_optimum_pow.cpp │ │ │ ├── gtx_orthonormalize.cpp │ │ │ ├── gtx_perpendicular.cpp │ │ │ ├── gtx_polar_coordinates.cpp │ │ │ ├── gtx_projection.cpp │ │ │ ├── gtx_quaternion.cpp │ │ │ ├── gtx_random.cpp │ │ │ ├── gtx_range.cpp │ │ │ ├── gtx_rotate_normalized_axis.cpp │ │ │ ├── gtx_rotate_vector.cpp │ │ │ ├── gtx_scalar_multiplication.cpp │ │ │ ├── gtx_scalar_relational.cpp │ │ │ ├── gtx_simd_mat4.cpp │ │ │ ├── gtx_simd_vec4.cpp │ │ │ ├── gtx_spline.cpp │ │ │ ├── gtx_string_cast.cpp │ │ │ ├── gtx_texture.cpp │ │ │ ├── gtx_type_aligned.cpp │ │ │ ├── gtx_type_trait.cpp │ │ │ ├── gtx_vec_swizzle.cpp │ │ │ ├── gtx_vector_angle.cpp │ │ │ ├── gtx_vector_query.cpp │ │ │ └── gtx_wrap.cpp │ │ └── perf │ │ │ ├── CMakeLists.txt │ │ │ ├── perf_matrix_div.cpp │ │ │ ├── perf_matrix_inverse.cpp │ │ │ ├── perf_matrix_mul.cpp │ │ │ ├── perf_matrix_mul_vector.cpp │ │ │ ├── perf_matrix_transpose.cpp │ │ │ └── perf_vector_mul_matrix.cpp │ └── util │ │ ├── autoexp.txt │ │ ├── autoexp.vc2010.dat │ │ ├── glm.natvis │ │ └── usertype.dat │ ├── imgui │ ├── .editorconfig │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE.txt │ ├── docs │ │ ├── CHANGELOG.txt │ │ ├── README.md │ │ ├── TODO.txt │ │ ├── issue_template.md │ │ └── pull_request_template.md │ ├── examples │ │ ├── .gitignore │ │ ├── README.txt │ │ ├── example_allegro5 │ │ │ ├── README.md │ │ │ ├── imconfig_allegro5.h │ │ │ └── main.cpp │ │ ├── example_apple_metal │ │ │ ├── README.md │ │ │ ├── Shared │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Renderer.h │ │ │ │ ├── Renderer.mm │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.mm │ │ │ │ └── main.m │ │ │ ├── example_apple_metal.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS │ │ │ │ ├── Base.lproj │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Info-iOS.plist │ │ │ │ └── Launch Screen.storyboard │ │ │ └── macOS │ │ │ │ ├── Base.lproj │ │ │ │ └── Main.storyboard │ │ │ │ └── Info-macOS.plist │ │ ├── example_apple_opengl2 │ │ │ ├── example_apple_opengl2.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ └── main.mm │ │ ├── example_emscripten │ │ │ ├── README.md │ │ │ ├── main.cpp │ │ │ └── shell_minimal.html │ │ ├── example_glfw_metal │ │ │ └── main.mm │ │ ├── example_glfw_opengl2 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_glfw_opengl3 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_glfw_vulkan │ │ │ ├── CMakeLists.txt │ │ │ ├── build_win32.bat │ │ │ ├── build_win64.bat │ │ │ ├── gen_spv.sh │ │ │ ├── glsl_shader.frag │ │ │ ├── glsl_shader.vert │ │ │ └── main.cpp │ │ ├── example_glut_opengl2 │ │ │ └── main.cpp │ │ ├── example_marmalade │ │ │ ├── data │ │ │ │ └── app.icf │ │ │ ├── main.cpp │ │ │ └── marmalade_example.mkb │ │ ├── example_null │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_sdl_directx11 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_sdl_opengl2 │ │ │ ├── README.md │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_sdl_opengl3 │ │ │ ├── README.md │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_sdl_vulkan │ │ │ └── main.cpp │ │ ├── example_win32_directx10 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_win32_directx11 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_win32_directx12 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── example_win32_directx9 │ │ │ ├── build_win32.bat │ │ │ └── main.cpp │ │ ├── imgui_impl_allegro5.cpp │ │ ├── imgui_impl_allegro5.h │ │ ├── imgui_impl_dx10.cpp │ │ ├── imgui_impl_dx10.h │ │ ├── imgui_impl_dx11.cpp │ │ ├── imgui_impl_dx11.h │ │ ├── imgui_impl_dx12.cpp │ │ ├── imgui_impl_dx12.h │ │ ├── imgui_impl_dx9.cpp │ │ ├── imgui_impl_dx9.h │ │ ├── imgui_impl_glfw.cpp │ │ ├── imgui_impl_glfw.h │ │ ├── imgui_impl_glut.cpp │ │ ├── imgui_impl_glut.h │ │ ├── imgui_impl_marmalade.cpp │ │ ├── imgui_impl_marmalade.h │ │ ├── imgui_impl_metal.h │ │ ├── imgui_impl_metal.mm │ │ ├── imgui_impl_opengl2.cpp │ │ ├── imgui_impl_opengl2.h │ │ ├── imgui_impl_opengl3.cpp │ │ ├── imgui_impl_opengl3.h │ │ ├── imgui_impl_osx.h │ │ ├── imgui_impl_osx.mm │ │ ├── imgui_impl_sdl.cpp │ │ ├── imgui_impl_sdl.h │ │ ├── imgui_impl_vulkan.cpp │ │ ├── imgui_impl_vulkan.h │ │ ├── imgui_impl_win32.cpp │ │ ├── imgui_impl_win32.h │ │ └── libs │ │ │ ├── gl3w │ │ │ └── GL │ │ │ │ ├── gl3w.c │ │ │ │ ├── gl3w.h │ │ │ │ └── glcorearb.h │ │ │ ├── glfw │ │ │ ├── COPYING.txt │ │ │ ├── include │ │ │ │ └── GLFW │ │ │ │ │ ├── glfw3.h │ │ │ │ │ └── glfw3native.h │ │ │ ├── lib-vc2010-32 │ │ │ │ └── glfw3.lib │ │ │ └── lib-vc2010-64 │ │ │ │ └── glfw3.lib │ │ │ └── usynergy │ │ │ ├── README.txt │ │ │ ├── uSynergy.c │ │ │ └── uSynergy.h │ ├── imconfig.h │ ├── imgui.cpp │ ├── imgui.h │ ├── imgui_demo.cpp │ ├── imgui_draw.cpp │ ├── imgui_internal.h │ ├── imgui_widgets.cpp │ ├── imstb_rectpack.h │ ├── imstb_textedit.h │ ├── imstb_truetype.h │ ├── misc │ │ ├── README.txt │ │ ├── cpp │ │ │ ├── README.txt │ │ │ ├── imgui_stdlib.cpp │ │ │ └── imgui_stdlib.h │ │ ├── fonts │ │ │ ├── Cousine-Regular.ttf │ │ │ ├── DroidSans.ttf │ │ │ ├── Karla-Regular.ttf │ │ │ ├── ProggyClean.ttf │ │ │ ├── ProggyTiny.ttf │ │ │ ├── README.txt │ │ │ ├── Roboto-Medium.ttf │ │ │ └── binary_to_compressed_c.cpp │ │ ├── freetype │ │ │ ├── README.md │ │ │ ├── imgui_freetype.cpp │ │ │ └── imgui_freetype.h │ │ └── natvis │ │ │ ├── README.txt │ │ │ └── imgui.natvis │ └── premake5.lua │ ├── spdlog │ ├── .gitattributes │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── INSTALL │ ├── LICENSE │ ├── README.md │ ├── appveyor.yml │ ├── bench │ │ ├── CMakeLists.txt │ │ ├── async_bench.cpp │ │ ├── bench.cpp │ │ ├── formatter-bench.cpp │ │ ├── latency.cpp │ │ ├── meson.build │ │ └── utils.h │ ├── cmake │ │ ├── ide.cmake │ │ ├── spdlog.pc.in │ │ ├── spdlogCPack.cmake │ │ ├── spdlogConfig.cmake.in │ │ └── utils.cmake │ ├── example │ │ ├── CMakeLists.txt │ │ ├── example.cpp │ │ └── meson.build │ ├── include │ │ └── spdlog │ │ │ ├── async.h │ │ │ ├── async_logger-inl.h │ │ │ ├── async_logger.h │ │ │ ├── common-inl.h │ │ │ ├── common.h │ │ │ ├── details │ │ │ ├── backtracer-inl.h │ │ │ ├── backtracer.h │ │ │ ├── circular_q.h │ │ │ ├── console_globals.h │ │ │ ├── file_helper-inl.h │ │ │ ├── file_helper.h │ │ │ ├── fmt_helper.h │ │ │ ├── log_msg-inl.h │ │ │ ├── log_msg.h │ │ │ ├── log_msg_buffer-inl.h │ │ │ ├── log_msg_buffer.h │ │ │ ├── mpmc_blocking_q.h │ │ │ ├── null_mutex.h │ │ │ ├── os-inl.h │ │ │ ├── os.h │ │ │ ├── pattern_formatter-inl.h │ │ │ ├── pattern_formatter.h │ │ │ ├── periodic_worker-inl.h │ │ │ ├── periodic_worker.h │ │ │ ├── registry-inl.h │ │ │ ├── registry.h │ │ │ ├── synchronous_factory.h │ │ │ ├── thread_pool-inl.h │ │ │ └── thread_pool.h │ │ │ ├── fmt │ │ │ ├── bin_to_hex.h │ │ │ ├── bundled │ │ │ │ ├── LICENSE.rst │ │ │ │ ├── chrono.h │ │ │ │ ├── color.h │ │ │ │ ├── compile.h │ │ │ │ ├── core.h │ │ │ │ ├── format-inl.h │ │ │ │ ├── format.h │ │ │ │ ├── locale.h │ │ │ │ ├── ostream.h │ │ │ │ ├── posix.h │ │ │ │ ├── printf.h │ │ │ │ └── ranges.h │ │ │ ├── fmt.h │ │ │ └── ostr.h │ │ │ ├── formatter.h │ │ │ ├── logger-inl.h │ │ │ ├── logger.h │ │ │ ├── sinks │ │ │ ├── android_sink.h │ │ │ ├── ansicolor_sink-inl.h │ │ │ ├── ansicolor_sink.h │ │ │ ├── base_sink-inl.h │ │ │ ├── base_sink.h │ │ │ ├── basic_file_sink-inl.h │ │ │ ├── basic_file_sink.h │ │ │ ├── daily_file_sink.h │ │ │ ├── dist_sink.h │ │ │ ├── dup_filter_sink.h │ │ │ ├── msvc_sink.h │ │ │ ├── null_sink.h │ │ │ ├── ostream_sink.h │ │ │ ├── ringbuffer_sink.h │ │ │ ├── rotating_file_sink-inl.h │ │ │ ├── rotating_file_sink.h │ │ │ ├── sink-inl.h │ │ │ ├── sink.h │ │ │ ├── stdout_color_sinks-inl.h │ │ │ ├── stdout_color_sinks.h │ │ │ ├── stdout_sinks-inl.h │ │ │ ├── stdout_sinks.h │ │ │ ├── syslog_sink.h │ │ │ ├── systemd_sink.h │ │ │ ├── wincolor_sink-inl.h │ │ │ └── wincolor_sink.h │ │ │ ├── spdlog-inl.h │ │ │ ├── spdlog.h │ │ │ ├── tweakme.h │ │ │ └── version.h │ ├── meson.build │ ├── meson_options.txt │ ├── scripts │ │ ├── .clang-format │ │ ├── .clang-tidy │ │ ├── clang_tidy.sh │ │ ├── extract_version.py │ │ └── format.sh │ ├── src │ │ ├── async.cpp │ │ ├── color_sinks.cpp │ │ ├── file_sinks.cpp │ │ ├── fmt.cpp │ │ ├── spdlog.cpp │ │ └── stdout_sinks.cpp │ └── tests │ │ ├── CMakeLists.txt │ │ ├── catch.hpp │ │ ├── catch.license │ │ ├── includes.h │ │ ├── main.cpp │ │ ├── meson.build │ │ ├── test_async.cpp │ │ ├── test_backtrace.cpp │ │ ├── test_create_dir.cpp │ │ ├── test_daily_logger.cpp │ │ ├── test_dup_filter.cpp │ │ ├── test_errors.cpp │ │ ├── test_file_helper.cpp │ │ ├── test_file_logging.cpp │ │ ├── test_fmt_helper.cpp │ │ ├── test_macros.cpp │ │ ├── test_misc.cpp │ │ ├── test_mpmc_q.cpp │ │ ├── test_pattern_formatter.cpp │ │ ├── test_registry.cpp │ │ ├── test_sink.h │ │ ├── test_stdout_api.cpp │ │ ├── test_systemd.cpp │ │ ├── utils.cpp │ │ └── utils.h │ └── stb_image │ ├── stb_image.cpp │ └── stb_image.h ├── OpenGL-Examples ├── assets │ └── shaders │ │ ├── test.frag.glsl │ │ └── test.vert.glsl ├── premake5.lua └── src │ ├── ExampleApp.cpp │ ├── ExampleLayer.cpp │ └── ExampleLayer.h ├── OpenGL-Sandbox ├── assets │ ├── shader.glsl.frag │ └── shader.glsl.vert ├── premake5.lua └── src │ ├── ParticleSystem.cpp │ ├── ParticleSystem.h │ ├── Random.cpp │ ├── Random.h │ ├── SandboxApp.cpp │ ├── SandboxLayer.cpp │ └── SandboxLayer.h ├── README.md ├── premake5.lua └── scripts └── Win-Premake.bat /.gitignore: -------------------------------------------------------------------------------- 1 | # Directories 2 | **bin/ 3 | **bin-int/ 4 | 5 | # Files 6 | *.user 7 | *imgui.ini 8 | 9 | # Visual Studio 10 | .vs/ 11 | *.sln 12 | *.vcxproj 13 | *.vcxproj.filters 14 | *.vcxproj.user -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "OpenGL-Core/vendor/glfw"] 2 | path = OpenGL-Core/vendor/glfw 3 | url = https://github.com/TheCherno/glfw 4 | [submodule "OpenGL-Core/vendor/spdlog"] 5 | path = OpenGL-Core/vendor/spdlog 6 | url = https://github.com/gabime/spdlog 7 | [submodule "OpenGL-Core/vendor/glm"] 8 | path = OpenGL-Core/vendor/glm 9 | url = https://github.com/g-truc/glm 10 | [submodule "OpenGL-Core/vendor/imgui"] 11 | path = OpenGL-Core/vendor/imgui 12 | url = https://github.com/TheCherno/imgui 13 | -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Main header file - include into application for complete access 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include "GLCore/Core/Application.h" 12 | #include "GLCore/Core/Input.h" 13 | #include "GLCore/Core/KeyCodes.h" 14 | #include "GLCore/Core/MouseButtonCodes.h" -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Application.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Core.h" 4 | 5 | #include "Window.h" 6 | #include "LayerStack.h" 7 | #include "../Events/Event.h" 8 | #include "../Events/ApplicationEvent.h" 9 | 10 | #include "Timestep.h" 11 | 12 | #include "../ImGui/ImGuiLayer.h" 13 | 14 | namespace GLCore { 15 | 16 | class Application 17 | { 18 | public: 19 | Application(const std::string& name = "OpenGL Sandbox", uint32_t width = 1280, uint32_t height = 720); 20 | virtual ~Application() = default; 21 | 22 | void Run(); 23 | 24 | void OnEvent(Event& e); 25 | 26 | void PushLayer(Layer* layer); 27 | void PushOverlay(Layer* layer); 28 | 29 | inline Window& GetWindow() { return *m_Window; } 30 | 31 | inline static Application& Get() { return *s_Instance; } 32 | private: 33 | bool OnWindowClose(WindowCloseEvent& e); 34 | private: 35 | std::unique_ptr m_Window; 36 | ImGuiLayer* m_ImGuiLayer; 37 | bool m_Running = true; 38 | LayerStack m_LayerStack; 39 | float m_LastFrameTime = 0.0f; 40 | private: 41 | static Application* s_Instance; 42 | }; 43 | 44 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Core.h: -------------------------------------------------------------------------------- 1 | // Mostly from Hazel 2 | #pragma once 3 | 4 | #include 5 | 6 | #ifdef GLCORE_DEBUG 7 | #define GLCORE_ENABLE_ASSERTS 8 | #endif 9 | 10 | #ifdef GLCORE_ENABLE_ASSERTS 11 | #define GLCORE_ASSERT(x, ...) { if(!(x)) { LOG_ERROR("Assertion Failed: {0}", __VA_ARGS__); __debugbreak(); } } 12 | #else 13 | #define GLCORE_ASSERT(x, ...) 14 | #endif 15 | 16 | #define BIT(x) (1 << x) 17 | 18 | #define GLCORE_BIND_EVENT_FN(fn) std::bind(&fn, this, std::placeholders::_1) -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Input.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Core.h" 4 | 5 | namespace GLCore { 6 | 7 | class Input 8 | { 9 | protected: 10 | Input() = default; 11 | public: 12 | Input(const Input&) = delete; 13 | Input& operator=(const Input&) = delete; 14 | 15 | inline static bool IsKeyPressed(int keycode) { return s_Instance->IsKeyPressedImpl(keycode); } 16 | 17 | inline static bool IsMouseButtonPressed(int button) { return s_Instance->IsMouseButtonPressedImpl(button); } 18 | inline static std::pair GetMousePosition() { return s_Instance->GetMousePositionImpl(); } 19 | inline static float GetMouseX() { return s_Instance->GetMouseXImpl(); } 20 | inline static float GetMouseY() { return s_Instance->GetMouseYImpl(); } 21 | protected: 22 | virtual bool IsKeyPressedImpl(int keycode) = 0; 23 | 24 | virtual bool IsMouseButtonPressedImpl(int button) = 0; 25 | virtual std::pair GetMousePositionImpl() = 0; 26 | virtual float GetMouseXImpl() = 0; 27 | virtual float GetMouseYImpl() = 0; 28 | private: 29 | static Input* s_Instance; 30 | }; 31 | 32 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Layer.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" 2 | #include "Layer.h" 3 | 4 | namespace GLCore { 5 | 6 | Layer::Layer(const std::string& debugName) 7 | : m_DebugName(debugName) 8 | { 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Layer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Core.h" 4 | #include "Timestep.h" 5 | #include "../Events/Event.h" 6 | 7 | namespace GLCore { 8 | 9 | class Layer 10 | { 11 | public: 12 | Layer(const std::string& name = "Layer"); 13 | virtual ~Layer() = default; 14 | 15 | virtual void OnAttach() {} 16 | virtual void OnDetach() {} 17 | virtual void OnUpdate(Timestep ts) {} 18 | virtual void OnImGuiRender() {} 19 | virtual void OnEvent(Event& event) {} 20 | 21 | inline const std::string& GetName() const { return m_DebugName; } 22 | protected: 23 | std::string m_DebugName; 24 | }; 25 | 26 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/LayerStack.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Core.h" 4 | #include "Layer.h" 5 | 6 | #include 7 | 8 | namespace GLCore { 9 | 10 | class LayerStack 11 | { 12 | public: 13 | LayerStack(); 14 | ~LayerStack(); 15 | 16 | void PushLayer(Layer* layer); 17 | void PushOverlay(Layer* overlay); 18 | void PopLayer(Layer* layer); 19 | void PopOverlay(Layer* overlay); 20 | 21 | std::vector::iterator begin() { return m_Layers.begin(); } 22 | std::vector::iterator end() { return m_Layers.end(); } 23 | private: 24 | std::vector m_Layers; 25 | uint32_t m_LayerInsertIndex = 0; 26 | }; 27 | 28 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Log.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" 2 | #include "Log.h" 3 | 4 | #include "spdlog/sinks/stdout_color_sinks.h" 5 | 6 | namespace GLCore { 7 | 8 | std::shared_ptr Log::s_Logger; 9 | 10 | void Log::Init() 11 | { 12 | spdlog::set_pattern("%^[%T] %n: %v%$"); 13 | s_Logger = spdlog::stdout_color_mt("GLCORE"); 14 | s_Logger->set_level(spdlog::level::trace); 15 | } 16 | 17 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Log.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Core.h" 4 | #include "spdlog/spdlog.h" 5 | #include "spdlog/fmt/ostr.h" 6 | 7 | namespace GLCore { 8 | 9 | class Log 10 | { 11 | public: 12 | static void Init(); 13 | 14 | inline static std::shared_ptr& GetLogger() { return s_Logger; } 15 | private: 16 | static std::shared_ptr s_Logger; 17 | }; 18 | 19 | } 20 | 21 | // Client log macros 22 | #define LOG_TRACE(...) ::GLCore::Log::GetLogger()->trace(__VA_ARGS__) 23 | #define LOG_INFO(...) ::GLCore::Log::GetLogger()->info(__VA_ARGS__) 24 | #define LOG_WARN(...) ::GLCore::Log::GetLogger()->warn(__VA_ARGS__) 25 | #define LOG_ERROR(...) ::GLCore::Log::GetLogger()->error(__VA_ARGS__) 26 | #define LOG_CRITICAL(...) ::GLCore::Log::GetLogger()->critical(__VA_ARGS__) 27 | -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/MouseButtonCodes.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // From glfw3.h 4 | #define HZ_MOUSE_BUTTON_1 0 5 | #define HZ_MOUSE_BUTTON_2 1 6 | #define HZ_MOUSE_BUTTON_3 2 7 | #define HZ_MOUSE_BUTTON_4 3 8 | #define HZ_MOUSE_BUTTON_5 4 9 | #define HZ_MOUSE_BUTTON_6 5 10 | #define HZ_MOUSE_BUTTON_7 6 11 | #define HZ_MOUSE_BUTTON_8 7 12 | #define HZ_MOUSE_BUTTON_LAST HZ_MOUSE_BUTTON_8 13 | #define HZ_MOUSE_BUTTON_LEFT HZ_MOUSE_BUTTON_1 14 | #define HZ_MOUSE_BUTTON_RIGHT HZ_MOUSE_BUTTON_2 15 | #define HZ_MOUSE_BUTTON_MIDDLE HZ_MOUSE_BUTTON_3 -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Core/Timestep.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace GLCore { 4 | 5 | class Timestep 6 | { 7 | public: 8 | Timestep(float time = 0.0f) 9 | : m_Time(time) 10 | { 11 | } 12 | 13 | operator float() const { return m_Time; } 14 | 15 | float GetSeconds() const { return m_Time; } 16 | float GetMilliseconds() const { return m_Time * 1000.0f; } 17 | private: 18 | float m_Time; 19 | }; 20 | 21 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/ImGui/ImGuiBuild.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" 2 | 3 | #define IMGUI_IMPL_OPENGL_LOADER_GLAD 4 | #include "examples/imgui_impl_opengl3.cpp" 5 | #include "examples/imgui_impl_glfw.cpp" -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/ImGui/ImGuiLayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "GLCore/Core/Layer.h" 4 | 5 | #include "GLCore/Events/ApplicationEvent.h" 6 | #include "GLCore/Events/KeyEvent.h" 7 | #include "GLCore/Events/MouseEvent.h" 8 | 9 | namespace GLCore { 10 | 11 | class ImGuiLayer : public Layer 12 | { 13 | public: 14 | ImGuiLayer(); 15 | ~ImGuiLayer() = default; 16 | 17 | virtual void OnAttach() override; 18 | virtual void OnDetach() override; 19 | 20 | void Begin(); 21 | void End(); 22 | 23 | virtual void ImGuiLayer::OnEvent(Event& event); 24 | bool ImGuiLayer::OnMouseButtonPressed(MouseButtonPressedEvent& e); 25 | private: 26 | float m_Time = 0.0f; 27 | }; 28 | 29 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Util/OpenGLDebug.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "GLCore/Core/Log.h" 6 | 7 | namespace GLCore::Utils { 8 | 9 | enum class DebugLogLevel 10 | { 11 | None = 0, HighAssert = 1, High = 2, Medium = 3, Low = 4, Notification = 5 12 | }; 13 | 14 | void EnableGLDebugging(); 15 | void SetGLDebugLogLevel(DebugLogLevel level); 16 | void OpenGLLogMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); 17 | 18 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Util/OrthographicCamera.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" 2 | #include "OrthographicCamera.h" 3 | 4 | #include 5 | 6 | namespace GLCore::Utils { 7 | 8 | OrthographicCamera::OrthographicCamera(float left, float right, float bottom, float top) 9 | : m_ProjectionMatrix(glm::ortho(left, right, bottom, top, -1.0f, 1.0f)), m_ViewMatrix(1.0f) 10 | { 11 | m_ViewProjectionMatrix = m_ProjectionMatrix * m_ViewMatrix; 12 | } 13 | 14 | void OrthographicCamera::SetProjection(float left, float right, float bottom, float top) 15 | { 16 | m_ProjectionMatrix = glm::ortho(left, right, bottom, top, -1.0f, 1.0f); 17 | m_ViewProjectionMatrix = m_ProjectionMatrix * m_ViewMatrix; 18 | } 19 | 20 | void OrthographicCamera::RecalculateViewMatrix() 21 | { 22 | glm::mat4 transform = glm::translate(glm::mat4(1.0f), m_Position) * 23 | glm::rotate(glm::mat4(1.0f), glm::radians(m_Rotation), glm::vec3(0, 0, 1)); 24 | 25 | m_ViewMatrix = glm::inverse(transform); 26 | m_ViewProjectionMatrix = m_ProjectionMatrix * m_ViewMatrix; 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCore/Util/Shader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace GLCore::Utils { 8 | 9 | class Shader 10 | { 11 | public: 12 | ~Shader(); 13 | 14 | GLuint GetRendererID() { return m_RendererID; } 15 | 16 | static Shader* FromGLSLTextFiles(const std::string& vertexShaderPath, const std::string& fragmentShaderPath); 17 | private: 18 | Shader() = default; 19 | 20 | void LoadFromGLSLTextFiles(const std::string& vertexShaderPath, const std::string& fragmentShaderPath); 21 | GLuint CompileShader(GLenum type, const std::string& source); 22 | private: 23 | GLuint m_RendererID; 24 | }; 25 | 26 | } -------------------------------------------------------------------------------- /OpenGL-Core/src/GLCoreUtils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Utility header file - include into application for access to utility classes/functions 4 | 5 | #include "GLCore/Util/Shader.h" 6 | #include "GLCore/Util/OrthographicCamera.h" 7 | #include "GLCore/Util/OrthographicCameraController.h" 8 | #include "GLCore/Util/OpenGLDebug.h" -------------------------------------------------------------------------------- /OpenGL-Core/src/Platform/Windows/WindowsInput.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "GLCore/Core/Input.h" 4 | 5 | namespace GLCore { 6 | 7 | class WindowsInput : public Input 8 | { 9 | protected: 10 | virtual bool IsKeyPressedImpl(int keycode) override; 11 | 12 | virtual bool IsMouseButtonPressedImpl(int button) override; 13 | virtual std::pair GetMousePositionImpl() override; 14 | virtual float GetMouseXImpl() override; 15 | virtual float GetMouseYImpl() override; 16 | }; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /OpenGL-Core/src/glpch.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" -------------------------------------------------------------------------------- /OpenGL-Core/src/glpch.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | #include "GLCore/Core/Log.h" 16 | 17 | #ifdef GLCORE_PLATFORM_WINDOWS 18 | #include 19 | #endif -------------------------------------------------------------------------------- /OpenGL-Core/vendor/Glad/premake5.lua: -------------------------------------------------------------------------------- 1 | project "Glad" 2 | kind "StaticLib" 3 | language "C" 4 | staticruntime "on" 5 | 6 | targetdir ("bin/" .. outputdir .. "/%{prj.name}") 7 | objdir ("bin-int/" .. outputdir .. "/%{prj.name}") 8 | 9 | files 10 | { 11 | "include/glad/glad.h", 12 | "include/KHR/khrplatform.h", 13 | "src/glad.c" 14 | } 15 | 16 | includedirs 17 | { 18 | "include" 19 | } 20 | 21 | filter "system:windows" 22 | systemversion "latest" 23 | 24 | filter "configurations:Debug" 25 | runtime "Debug" 26 | symbols "on" 27 | 28 | filter "configurations:Release" 29 | runtime "Release" 30 | optimize "on" 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/.mailmap: -------------------------------------------------------------------------------- 1 | Camilla Löwy 2 | Camilla Löwy 3 | Camilla Löwy 4 | 5 | Emmanuel Gil Peyrot 6 | 7 | Marcus Geelnard 8 | Marcus Geelnard 9 | Marcus Geelnard 10 | 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/i686-w64-mingw32-clang.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross-compiling with 32-bit MinGW-w64 Clang 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-w64-mingw32-clang") 5 | SET(CMAKE_CXX_COMPILER "i686-w64-mingw32-clang++") 6 | SET(CMAKE_RC_COMPILER "i686-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/i686-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross-compiling with 32-bit MinGW-w64 GCC 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "i686-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "i686-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/modules/FindEpollShim.cmake: -------------------------------------------------------------------------------- 1 | # Find EpollShim 2 | # Once done, this will define 3 | # 4 | # EPOLLSHIM_FOUND - System has EpollShim 5 | # EPOLLSHIM_INCLUDE_DIRS - The EpollShim include directories 6 | # EPOLLSHIM_LIBRARIES - The libraries needed to use EpollShim 7 | 8 | find_path(EPOLLSHIM_INCLUDE_DIRS NAMES sys/epoll.h sys/timerfd.h HINTS /usr/local/include/libepoll-shim) 9 | find_library(EPOLLSHIM_LIBRARIES NAMES epoll-shim libepoll-shim HINTS /usr/local/lib) 10 | 11 | if (EPOLLSHIM_INCLUDE_DIRS AND EPOLLSHIM_LIBRARIES) 12 | set(EPOLLSHIM_FOUND TRUE) 13 | endif (EPOLLSHIM_INCLUDE_DIRS AND EPOLLSHIM_LIBRARIES) 14 | 15 | include(FindPackageHandleStandardArgs) 16 | find_package_handle_standard_args(EPOLLSHIM DEFAULT_MSG EPOLLSHIM_LIBRARIES EPOLLSHIM_INCLUDE_DIRS) 17 | mark_as_advanced(EPOLLSHIM_INCLUDE_DIRS EPOLLSHIM_LIBRARIES) 18 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/modules/FindOSMesa.cmake: -------------------------------------------------------------------------------- 1 | # Try to find OSMesa on a Unix system 2 | # 3 | # This will define: 4 | # 5 | # OSMESA_LIBRARIES - Link these to use OSMesa 6 | # OSMESA_INCLUDE_DIR - Include directory for OSMesa 7 | # 8 | # Copyright (c) 2014 Brandon Schaefer 9 | 10 | if (NOT WIN32) 11 | 12 | find_package (PkgConfig) 13 | pkg_check_modules (PKG_OSMESA QUIET osmesa) 14 | 15 | set (OSMESA_INCLUDE_DIR ${PKG_OSMESA_INCLUDE_DIRS}) 16 | set (OSMESA_LIBRARIES ${PKG_OSMESA_LIBRARIES}) 17 | 18 | endif () 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/modules/FindWaylandProtocols.cmake: -------------------------------------------------------------------------------- 1 | find_package(PkgConfig) 2 | 3 | pkg_check_modules(WaylandProtocols QUIET wayland-protocols>=${WaylandProtocols_FIND_VERSION}) 4 | 5 | execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-protocols 6 | OUTPUT_VARIABLE WaylandProtocols_PKGDATADIR 7 | RESULT_VARIABLE _pkgconfig_failed) 8 | if (_pkgconfig_failed) 9 | message(FATAL_ERROR "Missing wayland-protocols pkgdatadir") 10 | endif() 11 | 12 | string(REGEX REPLACE "[\r\n]" "" WaylandProtocols_PKGDATADIR "${WaylandProtocols_PKGDATADIR}") 13 | 14 | find_package_handle_standard_args(WaylandProtocols 15 | FOUND_VAR 16 | WaylandProtocols_FOUND 17 | REQUIRED_VARS 18 | WaylandProtocols_PKGDATADIR 19 | VERSION_VAR 20 | WaylandProtocols_VERSION 21 | HANDLE_COMPONENTS 22 | ) 23 | 24 | set(WAYLAND_PROTOCOLS_FOUND ${WaylandProtocols_FOUND}) 25 | set(WAYLAND_PROTOCOLS_PKGDATADIR ${WaylandProtocols_PKGDATADIR}) 26 | set(WAYLAND_PROTOCOLS_VERSION ${WaylandProtocols_VERSION}) 27 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/x86_64-w64-mingw32-clang.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross-compiling with 64-bit MinGW-w64 Clang 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "x86_64-w64-mingw32-clang") 5 | SET(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-clang++") 6 | SET(CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "x86_64-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/CMake/x86_64-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross-compiling with 64-bit MinGW-w64 GCC 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "x86_64-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | 3 | Copyright (c) 2006-2019 Camilla Löwy 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. 23 | 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/docs/CODEOWNERS: -------------------------------------------------------------------------------- 1 | 2 | * @elmindreda 3 | 4 | src/wl_* @linkmauve 5 | 6 | docs/*.css @glfw/webdev 7 | docs/*.less @glfw/webdev 8 | docs/*.html @glfw/webdev 9 | docs/*.xml @glfw/webdev 10 | 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/docs/SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Support resources 2 | 3 | See the [latest documentation](http://www.glfw.org/docs/latest/) for tutorials, 4 | guides and the API reference. 5 | 6 | If you have questions about using GLFW, we have a 7 | [forum](https://discourse.glfw.org/), and the `#glfw` IRC channel on 8 | [Freenode](http://freenode.net/). 9 | 10 | Bugs are reported to our [issue tracker](https://github.com/glfw/glfw/issues). 11 | Please check the [contribution 12 | guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for 13 | information on what to include when reporting a bug. 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/docs/footer.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/examples/glfw.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glfw/examples/glfw.icns -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/examples/glfw.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glfw/examples/glfw.ico -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/examples/glfw.rc: -------------------------------------------------------------------------------- 1 | 2 | GLFW_ICON ICON "glfw.ico" 3 | 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/src/glfw3.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} 3 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 4 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 5 | 6 | Name: GLFW 7 | Description: A multi-platform library for OpenGL, window and input 8 | Version: @GLFW_VERSION@ 9 | URL: https://www.glfw.org/ 10 | Requires.private: @GLFW_PKG_DEPS@ 11 | Libs: -L${libdir} -l@GLFW_LIB_NAME@ 12 | Libs.private: @GLFW_PKG_LIBS@ 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glfw/src/glfw3Config.cmake.in: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake") 2 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Compiled Dynamic libraries 12 | *.so 13 | *.dylib 14 | *.dll 15 | 16 | # Fortran module files 17 | *.mod 18 | 19 | # Compiled Static libraries 20 | *.lai 21 | *.la 22 | *.a 23 | *.lib 24 | 25 | # Executables 26 | *.exe 27 | *.out 28 | *.app 29 | 30 | # CMake 31 | CMakeCache.txt 32 | CMakeFiles 33 | cmake_install.cmake 34 | install_manifest.txt 35 | *.cmake 36 | # ^ May need to add future .cmake files as exceptions 37 | 38 | # Test logs 39 | Testing/* 40 | 41 | # Test input 42 | test/gtc/*.dds 43 | 44 | # Project Files 45 | Makefile 46 | *.cbp 47 | *.user 48 | 49 | # Misc. 50 | *.log 51 | 52 | # local build(s) 53 | build* 54 | 55 | /.vs 56 | /.vscode 57 | /CMakeSettings.json 58 | .DS_Store 59 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.2 FATAL_ERROR) 2 | cmake_policy(VERSION 3.2) 3 | 4 | set(GLM_VERSION "0.9.9") 5 | project(glm VERSION ${GLM_VERSION} LANGUAGES CXX) 6 | enable_testing() 7 | 8 | add_subdirectory(glm) 9 | add_library(glm::glm ALIAS glm) 10 | 11 | if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) 12 | 13 | add_subdirectory(test) 14 | 15 | endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/arrowdown.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/arrowright.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/bc_s.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/bdwn.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/closed.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/doc.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/doxygen.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/folderclosed.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/folderopen.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/logo-mini.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/nav_f.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/nav_g.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/nav_h.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/open.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/all_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]], 4 | ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]], 5 | ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/all_15.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]], 4 | ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]], 5 | ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]], 6 | ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/all_16.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/search/close.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['associated_5fmin_5fmax_2ehpp',['associated_min_max.hpp',['../a00007.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bit_2ehpp',['bit.hpp',['../a00008.html',1,'']]], 4 | ['bitfield_2ehpp',['bitfield.hpp',['../a00009.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['scalar_5fcommon_2ehpp',['scalar_common.hpp',['../a00144.html',1,'']]], 4 | ['scalar_5fconstants_2ehpp',['scalar_constants.hpp',['../a00145.html',1,'']]], 5 | ['scalar_5fint_5fsized_2ehpp',['scalar_int_sized.hpp',['../a00146.html',1,'']]], 6 | ['scalar_5finteger_2ehpp',['scalar_integer.hpp',['../a00147.html',1,'']]], 7 | ['scalar_5fmultiplication_2ehpp',['scalar_multiplication.hpp',['../a00148.html',1,'']]], 8 | ['scalar_5fuint_5fsized_2ehpp',['scalar_uint_sized.hpp',['../a00151.html',1,'']]], 9 | ['scalar_5fulp_2ehpp',['scalar_ulp.hpp',['../a00152.html',1,'']]], 10 | ['spline_2ehpp',['spline.hpp',['../a00154.html',1,'']]], 11 | ['std_5fbased_5ftype_2ehpp',['std_based_type.hpp',['../a00155.html',1,'']]], 12 | ['string_5fcast_2ehpp',['string_cast.hpp',['../a00156.html',1,'']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ulp_2ehpp',['ulp.hpp',['../a00182.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['closest_5fpoint_2ehpp',['closest_point.hpp',['../a00010.html',1,'']]], 4 | ['color_5fencoding_2ehpp',['color_encoding.hpp',['../a00011.html',1,'']]], 5 | ['color_5fspace_5fycocg_2ehpp',['color_space_YCoCg.hpp',['../a00014.html',1,'']]], 6 | ['common_2ehpp',['common.hpp',['../a00015.html',1,'']]], 7 | ['compatibility_2ehpp',['compatibility.hpp',['../a00017.html',1,'']]], 8 | ['component_5fwise_2ehpp',['component_wise.hpp',['../a00018.html',1,'']]], 9 | ['constants_2ehpp',['constants.hpp',['../a00021.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['dual_5fquaternion_2ehpp',['dual_quaternion.hpp',['../a00022.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['easing_2ehpp',['easing.hpp',['../a00023.html',1,'']]], 4 | ['epsilon_2ehpp',['epsilon.hpp',['../a00024.html',1,'']]], 5 | ['euler_5fangles_2ehpp',['euler_angles.hpp',['../a00025.html',1,'']]], 6 | ['exponential_2ehpp',['exponential.hpp',['../a00026.html',1,'']]], 7 | ['ext_2ehpp',['ext.hpp',['../a00027.html',1,'']]], 8 | ['extend_2ehpp',['extend.hpp',['../a00028.html',1,'']]], 9 | ['extended_5fmin_5fmax_2ehpp',['extended_min_max.hpp',['../a00029.html',1,'']]], 10 | ['exterior_5fproduct_2ehpp',['exterior_product.hpp',['../a00030.html',1,'']]], 11 | ['matrix_5ftransform_2ehpp',['matrix_transform.hpp',['../a00108.html',1,'']]], 12 | ['scalar_5frelational_2ehpp',['scalar_relational.hpp',['../a00149.html',1,'']]], 13 | ['vector_5frelational_2ehpp',['vector_relational.hpp',['../a00224.html',1,'']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['fast_5fexponential_2ehpp',['fast_exponential.hpp',['../a00031.html',1,'']]], 4 | ['fast_5fsquare_5froot_2ehpp',['fast_square_root.hpp',['../a00032.html',1,'']]], 5 | ['fast_5ftrigonometry_2ehpp',['fast_trigonometry.hpp',['../a00033.html',1,'']]], 6 | ['functions_2ehpp',['functions.hpp',['../a00034.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['handed_5fcoordinate_5fspace_2ehpp',['handed_coordinate_space.hpp',['../a00039.html',1,'']]], 4 | ['hash_2ehpp',['hash.hpp',['../a00040.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['integer_2ehpp',['integer.hpp',['../a00043.html',1,'']]], 4 | ['intersect_2ehpp',['intersect.hpp',['../a00044.html',1,'']]], 5 | ['io_2ehpp',['io.hpp',['../a00045.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['log_5fbase_2ehpp',['log_base.hpp',['../a00046.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['noise_2ehpp',['noise.hpp',['../a00112.html',1,'']]], 4 | ['norm_2ehpp',['norm.hpp',['../a00113.html',1,'']]], 5 | ['normal_2ehpp',['normal.hpp',['../a00114.html',1,'']]], 6 | ['normalize_5fdot_2ehpp',['normalize_dot.hpp',['../a00115.html',1,'']]], 7 | ['number_5fprecision_2ehpp',['number_precision.hpp',['../a00116.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['optimum_5fpow_2ehpp',['optimum_pow.hpp',['../a00117.html',1,'']]], 4 | ['orthonormalize_2ehpp',['orthonormalize.hpp',['../a00118.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['packing_2ehpp',['packing.hpp',['../a00120.html',1,'']]], 4 | ['perpendicular_2ehpp',['perpendicular.hpp',['../a00121.html',1,'']]], 5 | ['polar_5fcoordinates_2ehpp',['polar_coordinates.hpp',['../a00122.html',1,'']]], 6 | ['projection_2ehpp',['projection.hpp',['../a00123.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quaternion_5fcommon_2ehpp',['quaternion_common.hpp',['../a00127.html',1,'']]], 4 | ['quaternion_5fdouble_2ehpp',['quaternion_double.hpp',['../a00128.html',1,'']]], 5 | ['quaternion_5fdouble_5fprecision_2ehpp',['quaternion_double_precision.hpp',['../a00129.html',1,'']]], 6 | ['quaternion_5fexponential_2ehpp',['quaternion_exponential.hpp',['../a00130.html',1,'']]], 7 | ['quaternion_5ffloat_2ehpp',['quaternion_float.hpp',['../a00131.html',1,'']]], 8 | ['quaternion_5ffloat_5fprecision_2ehpp',['quaternion_float_precision.hpp',['../a00132.html',1,'']]], 9 | ['quaternion_5fgeometric_2ehpp',['quaternion_geometric.hpp',['../a00133.html',1,'']]], 10 | ['quaternion_5frelational_2ehpp',['quaternion_relational.hpp',['../a00134.html',1,'']]], 11 | ['quaternion_5ftransform_2ehpp',['quaternion_transform.hpp',['../a00135.html',1,'']]], 12 | ['quaternion_5ftrigonometric_2ehpp',['quaternion_trigonometric.hpp',['../a00136.html',1,'']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/files_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['random_2ehpp',['random.hpp',['../a00137.html',1,'']]], 4 | ['range_2ehpp',['range.hpp',['../a00138.html',1,'']]], 5 | ['raw_5fdata_2ehpp',['raw_data.hpp',['../a00139.html',1,'']]], 6 | ['reciprocal_2ehpp',['reciprocal.hpp',['../a00140.html',1,'']]], 7 | ['rotate_5fnormalized_5faxis_2ehpp',['rotate_normalized_axis.hpp',['../a00141.html',1,'']]], 8 | ['rotate_5fvector_2ehpp',['rotate_vector.hpp',['../a00142.html',1,'']]], 9 | ['round_2ehpp',['round.hpp',['../a00143.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/functions_13.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_5fptr',['value_ptr',['../a00305.html#ga1c64669e1ba1160ad9386e43dc57569a',1,'glm']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/functions_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/functions_15.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]], 4 | ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]], 5 | ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]], 6 | ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/functions_16.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['half_5fpi',['half_pi',['../a00290.html#ga0c36b41d462e45641faf7d7938948bac',1,'glm']]], 4 | ['hermite',['hermite',['../a00358.html#gaa69e143f6374d32f934a8edeaa50bac9',1,'glm']]], 5 | ['highestbitvalue',['highestBitValue',['../a00309.html#ga0dcc8fe7c3d3ad60dea409281efa3d05',1,'glm::highestBitValue(genIUType Value)'],['../a00309.html#ga898ef075ccf809a1e480faab48fe96bf',1,'glm::highestBitValue(vec< L, T, Q > const &value)']]], 6 | ['hsvcolor',['hsvColor',['../a00312.html#ga789802bec2d4fe0f9741c731b4a8a7d8',1,'glm']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['angle_20and_20trigonometry_20functions',['Angle and Trigonometry Functions',['../a00373.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['core_20features',['Core features',['../a00280.html',1,'']]], 4 | ['common_20functions',['Common functions',['../a00241.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['exponential_20functions',['Exponential functions',['../a00242.html',1,'']]], 4 | ['experimental_20extensions',['Experimental extensions',['../a00287.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['floating_2dpoint_20pack_20and_20unpack_20functions',['Floating-Point Pack and Unpack Functions',['../a00372.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['integer_20functions',['Integer functions',['../a00370.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['matrix_20functions',['Matrix functions',['../a00371.html',1,'']]], 4 | ['matrix_20types',['Matrix types',['../a00283.html',1,'']]], 5 | ['matrix_20types_20with_20precision_20qualifiers',['Matrix types with precision qualifiers',['../a00284.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['recommended_20extensions',['Recommended extensions',['../a00286.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['stable_20extensions',['Stable extensions',['../a00285.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/groups_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vector_20relational_20functions',['Vector Relational Functions',['../a00374.html',1,'']]], 4 | ['vector_20types',['Vector types',['../a00281.html',1,'']]], 5 | ['vector_20types_20with_20precision_20qualifiers',['Vector types with precision qualifiers',['../a00282.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/search/mag_sel.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['opengl_20mathematics_20_28glm_29',['OpenGL Mathematics (GLM)',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/search/search_l.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/search/search_m.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/search/search_r.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdefghilmnopqrstuvwyz", 4 | 1: "abcdefghilmnopqrstuvw", 5 | 2: "abcdefghilmnopqrstuvwyz", 6 | 3: "abdfhilmpqsuvw", 7 | 4: "acefgimrsv", 8 | 5: "o" 9 | }; 10 | 11 | var indexSectionNames = 12 | { 13 | 0: "all", 14 | 1: "files", 15 | 2: "functions", 16 | 3: "typedefs", 17 | 4: "groups", 18 | 5: "pages" 19 | }; 20 | 21 | var indexSectionLabels = 22 | { 23 | 0: "All", 24 | 1: "Files", 25 | 2: "Functions", 26 | 3: "Typedefs", 27 | 4: "Modules", 28 | 5: "Pages" 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/typedefs_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quat',['quat',['../a00252.html#gab0b441adb4509bc58d2946c2239a8942',1,'glm']]], 4 | ['qword',['qword',['../a00354.html#ga4021754ffb8e5ef14c75802b15657714',1,'glm']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/typedefs_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sint',['sint',['../a00330.html#gada7e83fdfe943aba4f1d5bf80cb66f40',1,'glm']]], 4 | ['size1',['size1',['../a00359.html#gaeb877ac8f9a3703961736c1c5072cf68',1,'glm']]], 5 | ['size1_5ft',['size1_t',['../a00359.html#gaaf6accc57f5aa50447ba7310ce3f0d6f',1,'glm']]], 6 | ['size2',['size2',['../a00359.html#ga1bfe8c4975ff282bce41be2bacd524fe',1,'glm']]], 7 | ['size2_5ft',['size2_t',['../a00359.html#ga5976c25657d4e2b5f73f39364c3845d6',1,'glm']]], 8 | ['size3',['size3',['../a00359.html#gae1c72956d0359b0db332c6c8774d3b04',1,'glm']]], 9 | ['size3_5ft',['size3_t',['../a00359.html#gaf2654983c60d641fd3808e65a8dfad8d',1,'glm']]], 10 | ['size4',['size4',['../a00359.html#ga3a19dde617beaf8ce3cfc2ac5064e9aa',1,'glm']]], 11 | ['size4_5ft',['size4_t',['../a00359.html#gaa423efcea63675a2df26990dbcb58656',1,'glm']]] 12 | ]; 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/typedefs_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vec1',['vec1',['../a00270.html#gadfc071d934d8dae7955a1d530a3cf656',1,'glm']]], 4 | ['vec2',['vec2',['../a00281.html#gabe65c061834f61b4f7cb6037b19006a4',1,'glm']]], 5 | ['vec3',['vec3',['../a00281.html#ga9c3019b13faf179e4ad3626ea66df334',1,'glm']]], 6 | ['vec4',['vec4',['../a00281.html#gac215a35481a6597d1bf622a382e9d6e2',1,'glm']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/search/typedefs_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/splitbar.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/sync_off.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/sync_on.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/tab_a.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/tab_b.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/tab_h.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/api/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/api/tab_s.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual.pdf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/frontpage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/frontpage1.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/frontpage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/frontpage2.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/g-truc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/g-truc.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/logo-mini.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin1.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin2.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin3.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin4.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin5.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-perlin6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-perlin6.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-simplex1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-simplex1.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-simplex2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-simplex2.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/noise-simplex3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/noise-simplex3.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-ballrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-ballrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-circularrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-circularrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-diskrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-diskrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-gaussrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-gaussrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-linearrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-linearrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/random-sphericalrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/random-sphericalrand.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-cinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-cinder.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-glsl4book.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-glsl4book.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-leosfortune.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-leosfortune.jpeg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-leosfortune2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-leosfortune2.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-opencloth1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-opencloth1.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-opencloth3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-opencloth3.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-outerra1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-outerra1.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-outerra2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-outerra2.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-outerra3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-outerra3.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/manual/references-outerra4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/manual/references-outerra4.jpg -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/bc_s.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/bdwn.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/closed.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/doc.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/doxygen.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/folderclosed.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/folderopen.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/logo-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/logo-mini.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/nav_f.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/nav_g.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/nav_h.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/open.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/splitbar.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/sync_off.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/sync_on.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/tab_a.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/tab_b.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/tab_h.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/doc/theme/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/doc/theme/tab_s.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/_fixes.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | //! Workaround for compatibility with other libraries 4 | #ifdef max 5 | #undef max 6 | #endif 7 | 8 | //! Workaround for compatibility with other libraries 9 | #ifdef min 10 | #undef min 11 | #endif 12 | 13 | //! Workaround for Android 14 | #ifdef isnan 15 | #undef isnan 16 | #endif 17 | 18 | //! Workaround for Android 19 | #ifdef isinf 20 | #undef isinf 21 | #endif 22 | 23 | //! Workaround for Chrone Native Client 24 | #ifdef log2 25 | #undef log2 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/compute_vector_relational.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //#include "compute_common.hpp" 4 | #include "setup.hpp" 5 | #include 6 | 7 | namespace glm{ 8 | namespace detail 9 | { 10 | template 11 | struct compute_equal 12 | { 13 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) 14 | { 15 | return a == b; 16 | } 17 | }; 18 | /* 19 | template 20 | struct compute_equal 21 | { 22 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) 23 | { 24 | return detail::compute_abs::is_signed>::call(b - a) <= static_cast(0); 25 | //return std::memcmp(&a, &b, sizeof(T)) == 0; 26 | } 27 | }; 28 | */ 29 | }//namespace detail 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/func_exponential_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/detail/func_exponential_simd.inl 3 | 4 | #include "../simd/exponential.h" 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | namespace glm{ 9 | namespace detail 10 | { 11 | template 12 | struct compute_sqrt<4, float, Q, true> 13 | { 14 | GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) 15 | { 16 | vec<4, float, Q> Result; 17 | Result.data = _mm_sqrt_ps(v.data); 18 | return Result; 19 | } 20 | }; 21 | 22 | # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE 23 | template<> 24 | struct compute_sqrt<4, float, aligned_lowp, true> 25 | { 26 | GLM_FUNC_QUALIFIER static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& v) 27 | { 28 | vec<4, float, aligned_lowp> Result; 29 | Result.data = glm_vec4_sqrt_lowp(v.data); 30 | return Result; 31 | } 32 | }; 33 | # endif 34 | }//namespace detail 35 | }//namespace glm 36 | 37 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 38 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/func_packing_simd.inl: -------------------------------------------------------------------------------- 1 | namespace glm{ 2 | namespace detail 3 | { 4 | 5 | }//namespace detail 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/func_trigonometric_simd.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/glm/detail/func_trigonometric_simd.inl -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/func_vector_relational_simd.inl: -------------------------------------------------------------------------------- 1 | namespace glm{ 2 | namespace detail 3 | { 4 | 5 | }//namespace detail 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/type_half.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "setup.hpp" 4 | 5 | namespace glm{ 6 | namespace detail 7 | { 8 | typedef short hdata; 9 | 10 | GLM_FUNC_DECL float toFloat32(hdata value); 11 | GLM_FUNC_DECL hdata toFloat16(float const& value); 12 | 13 | }//namespace detail 14 | }//namespace glm 15 | 16 | #include "type_half.inl" 17 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/detail/type_mat4x4_simd.inl: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | 3 | namespace glm 4 | { 5 | 6 | }//namespace glm 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_common.inl: -------------------------------------------------------------------------------- 1 | #include "../matrix.hpp" 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat mix(mat const& x, mat const& y, U a) 7 | { 8 | return mat(x) * (static_cast(1) - a) + mat(y) * a; 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER mat mix(mat const& x, mat const& y, mat const& a) 13 | { 14 | return matrixCompMult(mat(x), static_cast(1) - a) + matrixCompMult(mat(y), a); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 2, double, defaultp> dmat2x2; 16 | 17 | /// 2 columns of 2 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<2, 2, double, defaultp> dmat2; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 3, double, defaultp> dmat2x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double2x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 4, double, defaultp> dmat2x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 2, double, defaultp> dmat3x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 3, double, defaultp> dmat3x3; 16 | 17 | /// 3 columns of 3 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<3, 3, double, defaultp> dmat3; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double3x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 4, double, defaultp> dmat3x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 2 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 2, double, defaultp> dmat4x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 3 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 3, double, defaultp> dmat4x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_double4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_double4x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 4 components matrix of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 4, double, defaultp> dmat4x4; 16 | 17 | /// 4 columns of 4 components matrix of double-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<4, 4, double, defaultp> dmat4; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 2, float, defaultp> mat2x2; 16 | 17 | /// 2 columns of 2 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<2, 2, float, defaultp> mat2; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 3, float, defaultp> mat2x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float2x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat2x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 2 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<2, 4, float, defaultp> mat2x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core 10 | /// @{ 11 | 12 | /// 3 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 2, float, defaultp> mat3x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 3, float, defaultp> mat3x3; 16 | 17 | /// 3 columns of 3 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<3, 3, float, defaultp> mat3; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float3x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat3x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 3 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<3, 4, float, defaultp> mat3x4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 2 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 2, float, defaultp> mat4x2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 3 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 3, float, defaultp> mat4x3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/matrix_float4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/matrix_float4x4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_mat4x4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @ingroup core_matrix 10 | /// @{ 11 | 12 | /// 4 columns of 4 components matrix of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 15 | typedef mat<4, 4, float, defaultp> mat4x4; 16 | 17 | /// 4 columns of 4 components matrix of single-precision floating-point numbers. 18 | /// 19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices 20 | typedef mat<4, 4, float, defaultp> mat4; 21 | 22 | /// @} 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/quaternion_common_simd.inl: -------------------------------------------------------------------------------- 1 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 2 | 3 | namespace glm{ 4 | namespace detail 5 | { 6 | template 7 | struct compute_dot, float, true> 8 | { 9 | static GLM_FUNC_QUALIFIER float call(qua const& x, qua const& y) 10 | { 11 | return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); 12 | } 13 | }; 14 | }//namespace detail 15 | }//namespace glm 16 | 17 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 18 | 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/quaternion_transform.inl: -------------------------------------------------------------------------------- 1 | namespace glm 2 | { 3 | template 4 | GLM_FUNC_QUALIFIER qua rotate(qua const& q, T const& angle, vec<3, T, Q> const& v) 5 | { 6 | vec<3, T, Q> Tmp = v; 7 | 8 | // Axis of rotation must be normalised 9 | T len = glm::length(Tmp); 10 | if(abs(len - static_cast(1)) > static_cast(0.001)) 11 | { 12 | T oneOverLen = static_cast(1) / len; 13 | Tmp.x *= oneOverLen; 14 | Tmp.y *= oneOverLen; 15 | Tmp.z *= oneOverLen; 16 | } 17 | 18 | T const AngleRad(angle); 19 | T const Sin = sin(AngleRad * static_cast(0.5)); 20 | 21 | return q * qua(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); 22 | } 23 | }//namespace glm 24 | 25 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/quaternion_trigonometric.inl: -------------------------------------------------------------------------------- 1 | #include "scalar_constants.hpp" 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T angle(qua const& x) 7 | { 8 | if (abs(x.w) > cos_one_over_two()) 9 | { 10 | return asin(sqrt(x.x * x.x + x.y * x.y + x.z * x.z)) * static_cast(2); 11 | } 12 | 13 | return acos(x.w) * static_cast(2); 14 | } 15 | 16 | template 17 | GLM_FUNC_QUALIFIER vec<3, T, Q> axis(qua const& x) 18 | { 19 | T const tmp1 = static_cast(1) - x.w * x.w; 20 | if(tmp1 <= static_cast(0)) 21 | return vec<3, T, Q>(0, 0, 1); 22 | T const tmp2 = static_cast(1) / sqrt(tmp1); 23 | return vec<3, T, Q>(x.x * tmp2, x.y * tmp2, x.z * tmp2); 24 | } 25 | 26 | template 27 | GLM_FUNC_QUALIFIER qua angleAxis(T const& angle, vec<3, T, Q> const& v) 28 | { 29 | T const a(angle); 30 | T const s = glm::sin(a * static_cast(0.5)); 31 | 32 | return qua(glm::cos(a * static_cast(0.5)), v * s); 33 | } 34 | }//namespace glm 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/scalar_constants.inl: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon() 7 | { 8 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'epsilon' only accepts floating-point inputs"); 9 | return std::numeric_limits::epsilon(); 10 | } 11 | 12 | template 13 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi() 14 | { 15 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'pi' only accepts floating-point inputs"); 16 | return static_cast(3.14159265358979323846264338327950288); 17 | } 18 | 19 | template 20 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType cos_one_over_two() 21 | { 22 | return genType(0.877582561890372716130286068203503191); 23 | } 24 | } //namespace glm 25 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_bool1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_bool1 2 | /// @file glm/ext/vector_bool1.hpp 3 | /// 4 | /// @defgroup ext_vector_bool1 GLM_EXT_vector_bool1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes bvec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_bool1_precision extension. 12 | 13 | #pragma once 14 | 15 | #include "../detail/type_vec1.hpp" 16 | 17 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 18 | # pragma message("GLM: GLM_EXT_vector_bool1 extension included") 19 | #endif 20 | 21 | namespace glm 22 | { 23 | /// @addtogroup ext_vector_bool1 24 | /// @{ 25 | 26 | /// 1 components vector of boolean. 27 | typedef vec<1, bool, defaultp> bvec1; 28 | 29 | /// @} 30 | }//namespace glm 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_bool1_precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_bool1_precision 2 | /// @file glm/ext/vector_bool1_precision.hpp 3 | /// 4 | /// @defgroup ext_vector_bool1_precision GLM_EXT_vector_bool1_precision 5 | /// @ingroup ext 6 | /// 7 | /// Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | #include "../detail/type_vec1.hpp" 14 | 15 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 16 | # pragma message("GLM: GLM_EXT_vector_bool1_precision extension included") 17 | #endif 18 | 19 | namespace glm 20 | { 21 | /// @addtogroup ext_vector_bool1_precision 22 | /// @{ 23 | 24 | /// 1 component vector of bool values. 25 | typedef vec<1, bool, highp> highp_bvec1; 26 | 27 | /// 1 component vector of bool values. 28 | typedef vec<1, bool, mediump> mediump_bvec1; 29 | 30 | /// 1 component vector of bool values. 31 | typedef vec<1, bool, lowp> lowp_bvec1; 32 | 33 | /// @} 34 | }//namespace glm 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_bool2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, bool, defaultp> bvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_bool3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, bool, defaultp> bvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_bool4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_bool4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of boolean. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, bool, defaultp> bvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_double1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_double1 2 | /// @file glm/ext/vector_double1.hpp 3 | /// 4 | /// @defgroup ext_vector_double1 GLM_EXT_vector_double1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes double-precision floating point vector type with one component. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_double1_precision extension. 12 | /// @see ext_vector_float1 extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_double1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_double1 25 | /// @{ 26 | 27 | /// 1 components vector of double-precision floating-point numbers. 28 | typedef vec<1, double, defaultp> dvec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_double2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, double, defaultp> dvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_double3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, double, defaultp> dvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_double4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_double4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of double-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, double, defaultp> dvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_float1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_float1 2 | /// @file glm/ext/vector_float1.hpp 3 | /// 4 | /// @defgroup ext_vector_float1 GLM_EXT_vector_float1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes single-precision floating point vector type with one component. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_float1_precision extension. 12 | /// @see ext_vector_double1 extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_float1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_float1 25 | /// @{ 26 | 27 | /// 1 components vector of single-precision floating-point numbers. 28 | typedef vec<1, float, defaultp> vec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_float2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, float, defaultp> vec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_float3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, float, defaultp> vec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_float4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_float4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of single-precision floating-point numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, float, defaultp> vec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_int1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_int1 2 | /// @file glm/ext/vector_int1.hpp 3 | /// 4 | /// @defgroup ext_vector_int1 GLM_EXT_vector_int1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes ivec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_uint1 extension. 12 | /// @see ext_vector_int1_precision extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_int1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_int1 25 | /// @{ 26 | 27 | /// 1 component vector of signed integer numbers. 28 | typedef vec<1, int, defaultp> ivec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | 33 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_int1_precision.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_int1_precision 2 | /// @file glm/ext/vector_int1_precision.hpp 3 | /// 4 | /// @defgroup ext_vector_int1_precision GLM_EXT_vector_int1_precision 5 | /// @ingroup ext 6 | /// 7 | /// Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types. 8 | /// 9 | /// Include to use the features of this extension. 10 | 11 | #pragma once 12 | 13 | #include "../detail/type_vec1.hpp" 14 | 15 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 16 | # pragma message("GLM: GLM_EXT_vector_int1_precision extension included") 17 | #endif 18 | 19 | namespace glm 20 | { 21 | /// @addtogroup ext_vector_int1_precision 22 | /// @{ 23 | 24 | /// 1 component vector of signed integer values. 25 | typedef vec<1, int, highp> highp_ivec1; 26 | 27 | /// 1 component vector of signed integer values. 28 | typedef vec<1, int, mediump> mediump_ivec1; 29 | 30 | /// 1 component vector of signed integer values. 31 | typedef vec<1, int, lowp> lowp_ivec1; 32 | 33 | /// @} 34 | }//namespace glm 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_int2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, int, defaultp> ivec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_int3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, int, defaultp> ivec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_int4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_int4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of signed integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, int, defaultp> ivec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_uint1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref ext_vector_uint1 2 | /// @file glm/ext/vector_uint1.hpp 3 | /// 4 | /// @defgroup ext_vector_uint1 GLM_EXT_vector_uint1 5 | /// @ingroup ext 6 | /// 7 | /// Exposes uvec1 vector type. 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// @see ext_vector_int1 extension. 12 | /// @see ext_vector_uint1_precision extension. 13 | 14 | #pragma once 15 | 16 | #include "../detail/type_vec1.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # pragma message("GLM: GLM_EXT_vector_uint1 extension included") 20 | #endif 21 | 22 | namespace glm 23 | { 24 | /// @addtogroup ext_vector_uint1 25 | /// @{ 26 | 27 | /// 1 component vector of unsigned integer numbers. 28 | typedef vec<1, unsigned int, defaultp> uvec1; 29 | 30 | /// @} 31 | }//namespace glm 32 | 33 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_uint2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint2.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec2.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 2 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<2, unsigned int, defaultp> uvec2; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_uint3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint3.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec3.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 3 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<3, unsigned int, defaultp> uvec3; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/ext/vector_uint4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/ext/vector_uint4.hpp 3 | 4 | #pragma once 5 | #include "../detail/type_vec4.hpp" 6 | 7 | namespace glm 8 | { 9 | /// @addtogroup core_vector 10 | /// @{ 11 | 12 | /// 4 components vector of unsigned integer numbers. 13 | /// 14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors 15 | typedef vec<4, unsigned int, defaultp> uvec4; 16 | 17 | /// @} 18 | }//namespace glm 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtc/matrix_transform.inl: -------------------------------------------------------------------------------- 1 | #include "../geometric.hpp" 2 | #include "../trigonometric.hpp" 3 | #include "../matrix.hpp" 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtc/quaternion_simd.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/glm/gtc/quaternion_simd.inl -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtc/type_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_precision 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtc/vec1.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtc_vec1 2 | /// @file glm/gtc/vec1.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtc_vec1 GLM_GTC_vec1 7 | /// @ingroup gtc 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Add vec1, ivec1, uvec1 and bvec1 types. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../ext/vector_bool1.hpp" 17 | #include "../ext/vector_bool1_precision.hpp" 18 | #include "../ext/vector_float1.hpp" 19 | #include "../ext/vector_float1_precision.hpp" 20 | #include "../ext/vector_double1.hpp" 21 | #include "../ext/vector_double1_precision.hpp" 22 | #include "../ext/vector_int1.hpp" 23 | #include "../ext/vector_int1_precision.hpp" 24 | #include "../ext/vector_uint1.hpp" 25 | #include "../ext/vector_uint1_precision.hpp" 26 | 27 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 28 | # pragma message("GLM: GLM_GTC_vec1 extension included") 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/exterior_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_exterior_product 2 | 3 | #include 4 | 5 | namespace glm { 6 | namespace detail 7 | { 8 | template 9 | struct compute_cross_vec2 10 | { 11 | GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& v, vec<2, T, Q> const& u) 12 | { 13 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); 14 | 15 | return v.x * u.y - u.x * v.y; 16 | } 17 | }; 18 | }//namespace detail 19 | 20 | template 21 | GLM_FUNC_QUALIFIER T cross(vec<2, T, Q> const& x, vec<2, T, Q> const& y) 22 | { 23 | return detail::compute_cross_vec2::value>::call(x, y); 24 | } 25 | }//namespace glm 26 | 27 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/float_notmalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_float_normalize 2 | 3 | #include 4 | 5 | namespace glm 6 | { 7 | template 8 | GLM_FUNC_QUALIFIER vec floatNormalize(vec const& v) 9 | { 10 | return vec(v) / static_cast(std::numeric_limits::max()); 11 | } 12 | 13 | }//namespace glm 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/functions.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_functions 2 | 3 | #include "../exponential.hpp" 4 | 5 | namespace glm 6 | { 7 | template 8 | GLM_FUNC_QUALIFIER T gauss 9 | ( 10 | T x, 11 | T ExpectedValue, 12 | T StandardDeviation 13 | ) 14 | { 15 | return exp(-((x - ExpectedValue) * (x - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation)) / (StandardDeviation * sqrt(static_cast(6.28318530717958647692528676655900576))); 16 | } 17 | 18 | template 19 | GLM_FUNC_QUALIFIER T gauss 20 | ( 21 | vec<2, T, Q> const& Coord, 22 | vec<2, T, Q> const& ExpectedValue, 23 | vec<2, T, Q> const& StandardDeviation 24 | ) 25 | { 26 | vec<2, T, Q> const Squared = ((Coord - ExpectedValue) * (Coord - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation); 27 | return exp(-(Squared.x + Squared.y)); 28 | } 29 | }//namespace glm 30 | 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/gradient_paint.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_gradient_paint 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T radialGradient 7 | ( 8 | vec<2, T, Q> const& Center, 9 | T const& Radius, 10 | vec<2, T, Q> const& Focal, 11 | vec<2, T, Q> const& Position 12 | ) 13 | { 14 | vec<2, T, Q> F = Focal - Center; 15 | vec<2, T, Q> D = Position - Focal; 16 | T Radius2 = pow2(Radius); 17 | T Fx2 = pow2(F.x); 18 | T Fy2 = pow2(F.y); 19 | 20 | T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x)); 21 | T Denominator = Radius2 - (Fx2 + Fy2); 22 | return Numerator / Denominator; 23 | } 24 | 25 | template 26 | GLM_FUNC_QUALIFIER T linearGradient 27 | ( 28 | vec<2, T, Q> const& Point0, 29 | vec<2, T, Q> const& Point1, 30 | vec<2, T, Q> const& Position 31 | ) 32 | { 33 | vec<2, T, Q> Dist = Point1 - Point0; 34 | return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist); 35 | } 36 | }//namespace glm 37 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/handed_coordinate_space.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_handed_coordinate_space 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER bool rightHanded 7 | ( 8 | vec<3, T, Q> const& tangent, 9 | vec<3, T, Q> const& binormal, 10 | vec<3, T, Q> const& normal 11 | ) 12 | { 13 | return dot(cross(normal, tangent), binormal) > T(0); 14 | } 15 | 16 | template 17 | GLM_FUNC_QUALIFIER bool leftHanded 18 | ( 19 | vec<3, T, Q> const& tangent, 20 | vec<3, T, Q> const& binormal, 21 | vec<3, T, Q> const& normal 22 | ) 23 | { 24 | return dot(cross(normal, tangent), binormal) < T(0); 25 | } 26 | }//namespace glm 27 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/log_base.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_log_base 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType log(genType const& x, genType const& base) 7 | { 8 | return glm::log(x) / glm::log(base); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER vec log(vec const& x, vec const& base) 13 | { 14 | return glm::log(x) / glm::log(base); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/matrix_cross_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_matrix_cross_product 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<3, 3, T, Q> matrixCross3 7 | ( 8 | vec<3, T, Q> const& x 9 | ) 10 | { 11 | mat<3, 3, T, Q> Result(T(0)); 12 | Result[0][1] = x.z; 13 | Result[1][0] = -x.z; 14 | Result[0][2] = -x.y; 15 | Result[2][0] = x.y; 16 | Result[1][2] = x.x; 17 | Result[2][1] = -x.x; 18 | return Result; 19 | } 20 | 21 | template 22 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> matrixCross4 23 | ( 24 | vec<3, T, Q> const& x 25 | ) 26 | { 27 | mat<4, 4, T, Q> Result(T(0)); 28 | Result[0][1] = x.z; 29 | Result[1][0] = -x.z; 30 | Result[0][2] = -x.y; 31 | Result[2][0] = x.y; 32 | Result[1][2] = x.x; 33 | Result[2][1] = -x.x; 34 | return Result; 35 | } 36 | 37 | }//namespace glm 38 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/matrix_factorisation.inl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/glm/gtx/matrix_factorisation.inl -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/mixed_product.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_mixed_product 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T mixedProduct 7 | ( 8 | vec<3, T, Q> const& v1, 9 | vec<3, T, Q> const& v2, 10 | vec<3, T, Q> const& v3 11 | ) 12 | { 13 | return dot(cross(v1, v2), v3); 14 | } 15 | }//namespace glm 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/normal.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normal 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER vec<3, T, Q> triangleNormal 7 | ( 8 | vec<3, T, Q> const& p1, 9 | vec<3, T, Q> const& p2, 10 | vec<3, T, Q> const& p3 11 | ) 12 | { 13 | return normalize(cross(p1 - p2, p1 - p3)); 14 | } 15 | }//namespace glm 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/normalize_dot.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_normalize_dot 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER T normalizeDot(vec const& x, vec const& y) 7 | { 8 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vec const& x, vec const& y) 13 | { 14 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); 15 | } 16 | }//namespace glm 17 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/number_precision.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_number_precision 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/optimum_pow.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_optimum_pow 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType pow2(genType const& x) 7 | { 8 | return x * x; 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER genType pow3(genType const& x) 13 | { 14 | return x * x * x; 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER genType pow4(genType const& x) 19 | { 20 | return (x * x) * (x * x); 21 | } 22 | }//namespace glm 23 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/orthonormalize.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_orthonormalize 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m) 7 | { 8 | mat<3, 3, T, Q> r = m; 9 | 10 | r[0] = normalize(r[0]); 11 | 12 | T d0 = dot(r[0], r[1]); 13 | r[1] -= r[0] * d0; 14 | r[1] = normalize(r[1]); 15 | 16 | T d1 = dot(r[1], r[2]); 17 | d0 = dot(r[0], r[2]); 18 | r[2] -= r[0] * d0 + r[1] * d1; 19 | r[2] = normalize(r[2]); 20 | 21 | return r; 22 | } 23 | 24 | template 25 | GLM_FUNC_QUALIFIER vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y) 26 | { 27 | return normalize(x - y * dot(y, x)); 28 | } 29 | }//namespace glm 30 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/perpendicular.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_perpendicular 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType perp(genType const& x, genType const& Normal) 7 | { 8 | return x - proj(x, Normal); 9 | } 10 | }//namespace glm 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/polar_coordinates.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_polar_coordinates 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER vec<3, T, Q> polar 7 | ( 8 | vec<3, T, Q> const& euclidean 9 | ) 10 | { 11 | T const Length(length(euclidean)); 12 | vec<3, T, Q> const tmp(euclidean / Length); 13 | T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z)); 14 | 15 | return vec<3, T, Q>( 16 | asin(tmp.y), // latitude 17 | atan(tmp.x, tmp.z), // longitude 18 | xz_dist); // xz distance 19 | } 20 | 21 | template 22 | GLM_FUNC_QUALIFIER vec<3, T, Q> euclidean 23 | ( 24 | vec<2, T, Q> const& polar 25 | ) 26 | { 27 | T const latitude(polar.x); 28 | T const longitude(polar.y); 29 | 30 | return vec<3, T, Q>( 31 | cos(latitude) * sin(longitude), 32 | sin(latitude), 33 | cos(latitude) * cos(longitude)); 34 | } 35 | 36 | }//namespace glm 37 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/projection.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_projection 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER genType proj(genType const& x, genType const& Normal) 7 | { 8 | return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal; 9 | } 10 | }//namespace glm 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/raw_data.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_raw_data 2 | 3 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/scalar_relational.hpp: -------------------------------------------------------------------------------- 1 | /// @ref gtx_scalar_relational 2 | /// @file glm/gtx/scalar_relational.hpp 3 | /// 4 | /// @see core (dependence) 5 | /// 6 | /// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational 7 | /// @ingroup gtx 8 | /// 9 | /// Include to use the features of this extension. 10 | /// 11 | /// Extend a position from a source to a position at a defined length. 12 | 13 | #pragma once 14 | 15 | // Dependency: 16 | #include "../glm.hpp" 17 | 18 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) 19 | # ifndef GLM_ENABLE_EXPERIMENTAL 20 | # pragma message("GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") 21 | # else 22 | # pragma message("GLM: GLM_GTX_extend extension included") 23 | # endif 24 | #endif 25 | 26 | namespace glm 27 | { 28 | /// @addtogroup gtx_scalar_relational 29 | /// @{ 30 | 31 | 32 | 33 | /// @} 34 | }//namespace glm 35 | 36 | #include "scalar_relational.inl" 37 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/std_based_type.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_std_based_type 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/texture.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_texture 2 | 3 | namespace glm 4 | { 5 | template 6 | inline T levels(vec const& Extent) 7 | { 8 | return glm::log2(compMax(Extent)) + static_cast(1); 9 | } 10 | 11 | template 12 | inline T levels(T Extent) 13 | { 14 | return vec<1, T, defaultp>(Extent).x; 15 | } 16 | }//namespace glm 17 | 18 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/transform.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtx_transform 2 | 3 | namespace glm 4 | { 5 | template 6 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(vec<3, T, Q> const& v) 7 | { 8 | return translate(mat<4, 4, T, Q>(static_cast(1)), v); 9 | } 10 | 11 | template 12 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(T angle, vec<3, T, Q> const& v) 13 | { 14 | return rotate(mat<4, 4, T, Q>(static_cast(1)), angle, v); 15 | } 16 | 17 | template 18 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(vec<3, T, Q> const& v) 19 | { 20 | return scale(mat<4, 4, T, Q>(static_cast(1)), v); 21 | } 22 | 23 | }//namespace glm 24 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/gtx/type_aligned.inl: -------------------------------------------------------------------------------- 1 | /// @ref gtc_type_aligned 2 | 3 | namespace glm 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat2x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x2.hpp" 6 | #include "./ext/matrix_double2x2_precision.hpp" 7 | #include "./ext/matrix_float2x2.hpp" 8 | #include "./ext/matrix_float2x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat2x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x3.hpp" 6 | #include "./ext/matrix_double2x3_precision.hpp" 7 | #include "./ext/matrix_float2x3.hpp" 8 | #include "./ext/matrix_float2x3_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat2x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat2x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double2x4.hpp" 6 | #include "./ext/matrix_double2x4_precision.hpp" 7 | #include "./ext/matrix_float2x4.hpp" 8 | #include "./ext/matrix_float2x4_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat3x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x2.hpp" 6 | #include "./ext/matrix_double3x2_precision.hpp" 7 | #include "./ext/matrix_float3x2.hpp" 8 | #include "./ext/matrix_float3x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat3x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x3.hpp" 6 | #include "./ext/matrix_double3x3_precision.hpp" 7 | #include "./ext/matrix_float3x3.hpp" 8 | #include "./ext/matrix_float3x3_precision.hpp" 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat3x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat3x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double3x4.hpp" 6 | #include "./ext/matrix_double3x4_precision.hpp" 7 | #include "./ext/matrix_float3x4.hpp" 8 | #include "./ext/matrix_float3x4_precision.hpp" 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat4x2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x2.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x2.hpp" 6 | #include "./ext/matrix_double4x2_precision.hpp" 7 | #include "./ext/matrix_float4x2.hpp" 8 | #include "./ext/matrix_float4x2_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat4x3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x3.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x3.hpp" 6 | #include "./ext/matrix_double4x3_precision.hpp" 7 | #include "./ext/matrix_float4x3.hpp" 8 | #include "./ext/matrix_float4x3_precision.hpp" 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/mat4x4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/mat4x4.hpp 3 | 4 | #pragma once 5 | #include "./ext/matrix_double4x4.hpp" 6 | #include "./ext/matrix_double4x4_precision.hpp" 7 | #include "./ext/matrix_float4x4.hpp" 8 | #include "./ext/matrix_float4x4_precision.hpp" 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/simd/exponential.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/experimental.h 3 | 4 | #pragma once 5 | 6 | #include "platform.h" 7 | 8 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_sqrt_lowp(glm_f32vec4 x) 11 | { 12 | return _mm_mul_ss(_mm_rsqrt_ss(x), x); 13 | } 14 | 15 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_sqrt_lowp(glm_f32vec4 x) 16 | { 17 | return _mm_mul_ps(_mm_rsqrt_ps(x), x); 18 | } 19 | 20 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 21 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/simd/packing.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/packing.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/simd/trigonometric.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/trigonometric.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/simd/vector_relational.h: -------------------------------------------------------------------------------- 1 | /// @ref simd 2 | /// @file glm/simd/vector_relational.h 3 | 4 | #pragma once 5 | 6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT 7 | 8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/vec2.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec2.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool2.hpp" 6 | #include "./ext/vector_bool2_precision.hpp" 7 | #include "./ext/vector_float2.hpp" 8 | #include "./ext/vector_float2_precision.hpp" 9 | #include "./ext/vector_double2.hpp" 10 | #include "./ext/vector_double2_precision.hpp" 11 | #include "./ext/vector_int2.hpp" 12 | #include "./ext/vector_int2_precision.hpp" 13 | #include "./ext/vector_uint2.hpp" 14 | #include "./ext/vector_uint2_precision.hpp" 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/vec3.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec3.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool3.hpp" 6 | #include "./ext/vector_bool3_precision.hpp" 7 | #include "./ext/vector_float3.hpp" 8 | #include "./ext/vector_float3_precision.hpp" 9 | #include "./ext/vector_double3.hpp" 10 | #include "./ext/vector_double3_precision.hpp" 11 | #include "./ext/vector_int3.hpp" 12 | #include "./ext/vector_int3_precision.hpp" 13 | #include "./ext/vector_uint3.hpp" 14 | #include "./ext/vector_uint3_precision.hpp" 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/glm/vec4.hpp: -------------------------------------------------------------------------------- 1 | /// @ref core 2 | /// @file glm/vec4.hpp 3 | 4 | #pragma once 5 | #include "./ext/vector_bool4.hpp" 6 | #include "./ext/vector_bool4_precision.hpp" 7 | #include "./ext/vector_float4.hpp" 8 | #include "./ext/vector_float4_precision.hpp" 9 | #include "./ext/vector_double4.hpp" 10 | #include "./ext/vector_double4_precision.hpp" 11 | #include "./ext/vector_int4.hpp" 12 | #include "./ext/vector_int4_precision.hpp" 13 | #include "./ext/vector_uint4.hpp" 14 | #include "./ext/vector_uint4_precision.hpp" 15 | 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/bug/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | glmCreateTestGTC(bug_ms_vec_static) 2 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/bug/bug_ms_vec_static.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE 4 | struct vec2; 5 | 6 | struct _swizzle 7 | { 8 | char _buffer[1]; 9 | }; 10 | 11 | struct vec2 12 | { 13 | GLM_CONSTEXPR vec2() : 14 | x(0), y(0) 15 | {} 16 | 17 | union 18 | { 19 | struct { float x, y; }; 20 | struct { _swizzle xx; }; 21 | }; 22 | }; 23 | #endif 24 | 25 | // Visual C++ has a bug generating the error: fatal error C1001: An internal error has occurred in the compiler. 26 | // vec2 Bar; 27 | 28 | int main() 29 | { 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_aligned_gentypes.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main() 5 | { 6 | int Error = 0; 7 | 8 | return Error; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_arch_unknown.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_ARCH_UNKNOWN 2 | # define GLM_FORCE_ARCH_UNKNOWN 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_compiler_unknown.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_COMPILER_UNKNOWN 2 | # define GLM_FORCE_COMPILER_UNKNOWN 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_cxx03.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_CXX03 2 | # define GLM_FORCE_CXX03 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_cxx98.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_CXX98 2 | # define GLM_FORCE_CXX98 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_cxx_unknown.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_CXX_UNKNOWN 2 | # define GLM_FORCE_CXX_UNKNOWN 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_depth_zero_to_one.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_DEPTH_ZERO_TO_ONE 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | return Error; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_explicit_ctor.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_EXPLICIT_CTOR 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | glm::ivec4 B(1); 11 | Error += B == glm::ivec4(1) ? 0 : 1; 12 | 13 | //glm::vec4 A = B; 14 | 15 | return Error; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_inline.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_INLINE 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | return Error; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_left_handed.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_LEFT_HANDED 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | return Error; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_platform_unknown.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_PLATFORM_UNKNOWN 2 | # define GLM_FORCE_PLATFORM_UNKNOWN 3 | #endif 4 | 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_quat_wxyz.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_QUAT_DATA_WXYZ 2 | #define GLM_FORCE_INLINE 3 | 4 | #include 5 | #include 6 | 7 | int main() 8 | { 9 | int Error = 0; 10 | 11 | return Error; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_size_t_length.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_SIZE_T_LENGTH 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | return Error; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_force_unrestricted_gentype.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_UNRESTRICTED_GENTYPE 2 | 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | int Error = 0; 9 | 10 | return Error; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_func_noise.cpp: -------------------------------------------------------------------------------- 1 | int main() 2 | { 3 | int Error = 0; 4 | 5 | return Error; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_func_trigonometric.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | int Error = 0; 6 | 7 | 8 | return Error; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_setup_force_cxx98.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_CXX98 2 | # define GLM_FORCE_CXX98 3 | #endif 4 | #include 5 | #include 6 | 7 | int main() 8 | { 9 | int Error = 0; 10 | 11 | return Error; 12 | } 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_setup_force_size_t_length.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_FORCE_SIZE_T_LENGTH 2 | #include 3 | #include 4 | 5 | template 6 | genType add(genType const& a, genType const& b) 7 | { 8 | genType result(0); 9 | for(glm::length_t i = 0; i < a.length(); ++i) 10 | result[i] = a[i] + b[i]; 11 | return result; 12 | } 13 | 14 | int main() 15 | { 16 | int Error = 0; 17 | 18 | glm::ivec4 v(1); 19 | Error += add(v, v) == glm::ivec4(2) ? 0 : 1; 20 | 21 | return Error; 22 | } 23 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_setup_platform_unknown.cpp: -------------------------------------------------------------------------------- 1 | #ifndef GLM_FORCE_PLATFORM_UNKNOWN 2 | # define GLM_FORCE_PLATFORM_UNKNOWN 3 | #endif 4 | #ifndef GLM_FORCE_COMPILER_UNKNOWN 5 | # define GLM_FORCE_COMPILER_UNKNOWN 6 | #endif 7 | #ifndef GLM_FORCE_ARCH_UNKNOWN 8 | # define GLM_FORCE_ARCH_UNKNOWN 9 | #endif 10 | #ifndef GLM_FORCE_CXX_UNKNOWN 11 | # define GLM_FORCE_CXX_UNKNOWN 12 | #endif 13 | #include 14 | #include 15 | 16 | int main() 17 | { 18 | int Error = 0; 19 | 20 | return Error; 21 | } 22 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/core/core_type_int.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | static int test_bit_operator() 5 | { 6 | int Error = 0; 7 | 8 | glm::ivec4 const a(1); 9 | glm::ivec4 const b = ~a; 10 | Error += glm::all(glm::equal(b, glm::ivec4(-2))) ? 0 : 1; 11 | 12 | glm::int32 const c(1); 13 | glm::int32 const d = ~c; 14 | Error += d == -2 ? 0 : 1; 15 | 16 | return Error; 17 | } 18 | 19 | int main() 20 | { 21 | int Error = 0; 22 | 23 | Error += test_bit_operator(); 24 | 25 | return Error; 26 | } 27 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/ext/ext_matrix_clip_space.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/ext/ext_matrix_projection.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | int main() 9 | { 10 | int Error = 0; 11 | 12 | return Error; 13 | } 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/ext/ext_quaternion_trigonometric.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | float const Epsilon = 0.001f; 7 | 8 | static int test_angle() 9 | { 10 | int Error = 0; 11 | 12 | { 13 | glm::quat const Q = glm::quat(glm::vec3(1, 0, 0), glm::vec3(0, 1, 0)); 14 | float const A = glm::degrees(glm::angle(Q)); 15 | Error += glm::equal(A, 90.0f, Epsilon) ? 0 : 1; 16 | } 17 | 18 | { 19 | glm::quat const Q = glm::quat(glm::vec3(0, 1, 0), glm::vec3(1, 0, 0)); 20 | float const A = glm::degrees(glm::angle(Q)); 21 | Error += glm::equal(A, 90.0f, Epsilon) ? 0 : 1; 22 | } 23 | 24 | return Error; 25 | } 26 | 27 | int main() 28 | { 29 | int Error = 0; 30 | 31 | Error += test_angle(); 32 | 33 | return Error; 34 | } 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/ext/ext_scalar_constants.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template 4 | static int test_epsilon() 5 | { 6 | int Error = 0; 7 | 8 | valType const Test = glm::epsilon(); 9 | Error += Test > static_cast(0) ? 0 : 1; 10 | 11 | return Error; 12 | } 13 | 14 | template 15 | static int test_pi() 16 | { 17 | int Error = 0; 18 | 19 | valType const Test = glm::pi(); 20 | Error += Test > static_cast(3.14) ? 0 : 1; 21 | Error += Test < static_cast(3.15) ? 0 : 1; 22 | 23 | return Error; 24 | } 25 | 26 | int main() 27 | { 28 | int Error = 0; 29 | 30 | Error += test_epsilon(); 31 | Error += test_epsilon(); 32 | Error += test_pi(); 33 | Error += test_pi(); 34 | 35 | return Error; 36 | } 37 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/glm.cppcheck: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | glmCreateTestGTC(gtc_bitfield) 2 | glmCreateTestGTC(gtc_color_space) 3 | glmCreateTestGTC(gtc_constants) 4 | glmCreateTestGTC(gtc_epsilon) 5 | glmCreateTestGTC(gtc_integer) 6 | glmCreateTestGTC(gtc_matrix_access) 7 | glmCreateTestGTC(gtc_matrix_integer) 8 | glmCreateTestGTC(gtc_matrix_inverse) 9 | glmCreateTestGTC(gtc_matrix_transform) 10 | glmCreateTestGTC(gtc_noise) 11 | glmCreateTestGTC(gtc_packing) 12 | glmCreateTestGTC(gtc_quaternion) 13 | glmCreateTestGTC(gtc_random) 14 | glmCreateTestGTC(gtc_round) 15 | glmCreateTestGTC(gtc_reciprocal) 16 | glmCreateTestGTC(gtc_type_aligned) 17 | glmCreateTestGTC(gtc_type_precision) 18 | glmCreateTestGTC(gtc_type_ptr) 19 | glmCreateTestGTC(gtc_ulp) 20 | glmCreateTestGTC(gtc_vec1) 21 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_constants.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int test_epsilon() 4 | { 5 | int Error = 0; 6 | 7 | { 8 | float Test = glm::epsilon(); 9 | Error += Test > 0.0f ? 0 : 1; 10 | } 11 | 12 | { 13 | double Test = glm::epsilon(); 14 | Error += Test > 0.0 ? 0 : 1; 15 | } 16 | 17 | return Error; 18 | } 19 | 20 | int main() 21 | { 22 | int Error(0); 23 | 24 | //float MinHalf = 0.0f; 25 | //while (glm::half(MinHalf) == glm::half(0.0f)) 26 | // MinHalf += std::numeric_limits::epsilon(); 27 | Error += test_epsilon(); 28 | 29 | return Error; 30 | } 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_matrix_integer.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | int Error = 0; 6 | 7 | return Error; 8 | } 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_quaternion.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/glm/test/gtc/gtc_quaternion.cpp -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_reciprocal.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main() 5 | { 6 | return 0; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_user_defined_types.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // OpenGL Mathematics Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) 3 | /////////////////////////////////////////////////////////////////////////////////////////////////// 4 | // Created : 2010-09-16 5 | // Updated : 2011-05-27 6 | // Licence : This source is under MIT licence 7 | // File : test/gtc/type_ptr.cpp 8 | /////////////////////////////////////////////////////////////////////////////////////////////////// 9 | 10 | #define GLM_FORCE_RADIANS 11 | #include 12 | 13 | int test_make_pointer_vec() 14 | { 15 | int Error = 0; 16 | 17 | glm::func(); 18 | //func(); 19 | 20 | return Error; 21 | } 22 | 23 | int main() 24 | { 25 | int Error = 0; 26 | 27 | Error += test_make_pointer_vec(); 28 | 29 | return Error; 30 | } 31 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtc/gtc_vec1.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | int Error = 0; 6 | 7 | return Error; 8 | } 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | int Error = 0; 6 | 7 | return Error; 8 | } 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_associated_min_max.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | #include 4 | 5 | int main() 6 | { 7 | int Error(0); 8 | 9 | return Error; 10 | } 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_closest_point.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_color_space.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int test_saturation() 5 | { 6 | int Error(0); 7 | 8 | glm::vec4 Color = glm::saturation(1.0f, glm::vec4(1.0, 0.5, 0.0, 1.0)); 9 | 10 | return Error; 11 | } 12 | 13 | int main() 14 | { 15 | int Error(0); 16 | 17 | Error += test_saturation(); 18 | 19 | return Error; 20 | } 21 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_color_space_YCoCg.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_compatibility.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | Error += glm::isfinite(1.0f) ? 0 : 1; 9 | Error += glm::isfinite(1.0) ? 0 : 1; 10 | Error += glm::isfinite(-1.0f) ? 0 : 1; 11 | Error += glm::isfinite(-1.0) ? 0 : 1; 12 | 13 | Error += glm::all(glm::isfinite(glm::vec4(1.0f))) ? 0 : 1; 14 | Error += glm::all(glm::isfinite(glm::dvec4(1.0))) ? 0 : 1; 15 | Error += glm::all(glm::isfinite(glm::vec4(-1.0f))) ? 0 : 1; 16 | Error += glm::all(glm::isfinite(glm::dvec4(-1.0))) ? 0 : 1; 17 | 18 | return Error; 19 | } 20 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_extend.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_exterior_product.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int main() 6 | { 7 | int Error = 0; 8 | 9 | float const f = glm::cross(glm::vec2(1.0f, 1.0f), glm::vec2(1.0f, 1.0f)); 10 | Error += glm::epsilonEqual(f, 0.0f, 0.001f) ? 0 : 1; 11 | 12 | return Error; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_fast_exponential.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_functions.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int test_gauss_1d() 6 | { 7 | int Error = 0; 8 | 9 | std::vector Result(20); 10 | for(std::size_t i = 0, n = Result.size(); i < n; ++i) 11 | Result[i] = glm::gauss(static_cast(i) * 0.1f, 0.0f, 1.0f); 12 | 13 | return Error; 14 | } 15 | 16 | int test_gauss_2d() 17 | { 18 | int Error = 0; 19 | 20 | std::vector Result(20); 21 | for(std::size_t i = 0, n = Result.size(); i < n; ++i) 22 | Result[i] = glm::gauss(glm::vec2(static_cast(i)) * 0.1f, glm::vec2(0.0f), glm::vec2(1.0f)); 23 | 24 | return Error; 25 | } 26 | 27 | int main() 28 | { 29 | int Error = 0; 30 | 31 | Error += test_gauss_1d(); 32 | Error += test_gauss_2d(); 33 | 34 | return Error; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_gradient_paint.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int test_radialGradient() 5 | { 6 | int Error = 0; 7 | 8 | float Gradient = glm::radialGradient(glm::vec2(0), 1.0f, glm::vec2(1), glm::vec2(0.5)); 9 | Error += Gradient != 0.0f ? 0 : 1; 10 | 11 | return Error; 12 | } 13 | 14 | int test_linearGradient() 15 | { 16 | int Error = 0; 17 | 18 | float Gradient = glm::linearGradient(glm::vec2(0), glm::vec2(1), glm::vec2(0.5)); 19 | Error += Gradient != 0.0f ? 0 : 1; 20 | 21 | return Error; 22 | } 23 | 24 | int main() 25 | { 26 | int Error = 0; 27 | 28 | Error += test_radialGradient(); 29 | Error += test_linearGradient(); 30 | 31 | return Error; 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_handed_coordinate_space.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_int_10_10_10_2.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // OpenGL Mathematics Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) 3 | /////////////////////////////////////////////////////////////////////////////////////////////////// 4 | // Created : 2013-10-25 5 | // Updated : 2013-10-25 6 | // Licence : This source is under MIT licence 7 | // File : test/gtx/associated_min_max.cpp 8 | /////////////////////////////////////////////////////////////////////////////////////////////////// 9 | 10 | #include 11 | #include 12 | 13 | int main() 14 | { 15 | int Error(0); 16 | 17 | return Error; 18 | } 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_matrix_cross_product.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_matrix_decompose.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | glm::mat4 Matrix(1); 9 | 10 | glm::vec3 Scale; 11 | glm::quat Orientation; 12 | glm::vec3 Translation; 13 | glm::vec3 Skew(1); 14 | glm::vec4 Perspective(1); 15 | 16 | glm::decompose(Matrix, Scale, Orientation, Translation, Skew, Perspective); 17 | 18 | return Error; 19 | } 20 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_matrix_major_storage.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_matrix_operation.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_matrix_transform_2d.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_mixed_product.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////////////////////////// 2 | // OpenGL Mathematics Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net) 3 | /////////////////////////////////////////////////////////////////////////////////////////////////// 4 | // Created : 2013-10-25 5 | // Updated : 2013-10-25 6 | // Licence : This source is under MIT licence 7 | // File : test/gtx/associated_min_max.cpp 8 | /////////////////////////////////////////////////////////////////////////////////////////////////// 9 | 10 | #include 11 | #include 12 | 13 | int main() 14 | { 15 | int Error(0); 16 | 17 | return Error; 18 | } 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_normal.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_normalize_dot.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_number_precision.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_optimum_pow.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_orthonormalize.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_perpendicular.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_polar_coordinates.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_projection.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_rotate_normalized_axis.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error(0); 7 | 8 | return Error; 9 | } 10 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_texture.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | #include 4 | 5 | int test_levels() 6 | { 7 | int Error = 0; 8 | 9 | int const Levels = glm::levels(glm::ivec2(3, 2)); 10 | Error += Levels == 2 ? 0 : 1; 11 | 12 | return Error; 13 | } 14 | 15 | int main() 16 | { 17 | int Error = 0; 18 | 19 | Error += test_levels(); 20 | 21 | return Error; 22 | } 23 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_type_trait.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | #include 4 | 5 | int main() 6 | { 7 | int Error = 0; 8 | 9 | 10 | 11 | return Error; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/gtx/gtx_vec_swizzle.cpp: -------------------------------------------------------------------------------- 1 | #define GLM_ENABLE_EXPERIMENTAL 2 | #include 3 | 4 | int main() 5 | { 6 | int Error = 0; 7 | 8 | 9 | return Error; 10 | } 11 | 12 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/test/perf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | glmCreateTestGTC(perf_matrix_div) 2 | glmCreateTestGTC(perf_matrix_inverse) 3 | glmCreateTestGTC(perf_matrix_mul) 4 | glmCreateTestGTC(perf_matrix_mul_vector) 5 | glmCreateTestGTC(perf_matrix_transpose) 6 | glmCreateTestGTC(perf_vector_mul_matrix) 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/glm/util/autoexp.txt: -------------------------------------------------------------------------------- 1 | [Visualizer] 2 | 3 | glm::detail::tvec2<*>{ 4 | preview ( 5 | #(#($c.x,$c.y)) 6 | ) 7 | children ( 8 | #([x]: $c.x,[y]: $c.y) 9 | ) 10 | } 11 | 12 | glm::detail::tvec3<*>{ 13 | preview ( 14 | #($e.x,$e.y,$e.z) 15 | ) 16 | children ( 17 | #([x]: $e.x,[y]: $e.y,[z]: $e.z) 18 | ) 19 | } 20 | 21 | glm::detail::tvec4<*>{ 22 | preview ( 23 | #($c.x,$c.y,$c.z,$c.w) 24 | ) 25 | children ( 26 | #([x]: $e.x,[y]: $e.y,[z]: $e.z, #([w]: $e.w)) 27 | ) 28 | } 29 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Default settings: 7 | # Use 4 spaces as indentation 8 | [*] 9 | indent_style = space 10 | indent_size = 4 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [imstb_*] 15 | indent_size = 3 16 | trim_trailing_whitespace = false 17 | 18 | [Makefile] 19 | indent_style = tab 20 | indent_size = 4 21 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/.gitignore: -------------------------------------------------------------------------------- 1 | # Directories 2 | .vs/ 3 | bin/ 4 | bin-int/ 5 | 6 | # Files 7 | *.user 8 | Makefile 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/docs/pull_request_template.md: -------------------------------------------------------------------------------- 1 | (Click "Preview" to turn any http URL into a clickable link) 2 | 3 | PLEASE CAREFULLY READ: 4 | https://github.com/ocornut/imgui/issues/2261 5 | 6 | (Clear this template before submitting your PR) 7 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | */Debug/* 3 | */Release/* 4 | */x64/* 5 | *.o 6 | *.obj 7 | *.exe 8 | 9 | ## Visual Studio cruft 10 | .vs/* 11 | */ipch/* 12 | *.opensdf 13 | *.log 14 | *.pdb 15 | *.ilk 16 | *.user 17 | *.sdf 18 | *.suo 19 | *.VC.db 20 | *.VC.VC.opendb 21 | 22 | ## Xcode cruft 23 | .DS_Store 24 | project.xcworkspace 25 | xcuserdata 26 | 27 | ## Emscripten output 28 | *.o.tmp 29 | *.out.js 30 | *.out.wasm 31 | example_emscripten/example_emscripten.* 32 | 33 | ## Unix executables 34 | example_glfw_opengl2/example_glfw_opengl2 35 | example_glfw_opengl3/example_glfw_opengl3 36 | example_glut_opengl2/example_glut_opengl2 37 | example_null/example_null 38 | example_sdl_opengl2/example_sdl_opengl2 39 | example_sdl_opengl3/example_sdl_opengl3 40 | 41 | ## Dear ImGui Ini files 42 | imgui.ini 43 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_allegro5/imconfig_allegro5.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // COMPILE-TIME OPTIONS FOR DEAR IMGUI ALLEGRO 5 EXAMPLE 3 | // See imconfig.h for the full template 4 | // Because Allegro doesn't support 16-bit vertex indices, we enable the compile-time option of imgui to use 32-bit indices 5 | //----------------------------------------------------------------------------- 6 | 7 | #pragma once 8 | 9 | // Use 32-bit vertex indices because Allegro doesn't support 16-bit ones 10 | // This allows us to avoid converting vertices format at runtime 11 | #define ImDrawIdx int 12 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/README.md: -------------------------------------------------------------------------------- 1 | # iOS / OSX Metal example 2 | 3 | ## Introduction 4 | 5 | This example shows how to integrate Dear ImGui with Metal. It is based on the "cross-platform" game template provided with Xcode as of Xcode 9. 6 | 7 | (NB: you may still want to use GLFW or SDL which will also support Windows, Linux along with OSX.) 8 | 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/Shared/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #if TARGET_OS_IPHONE 4 | 5 | #import 6 | 7 | @interface AppDelegate : UIResponder 8 | @property (strong, nonatomic) UIWindow *window; 9 | @end 10 | 11 | #else 12 | 13 | #import 14 | 15 | @interface AppDelegate : NSObject 16 | @end 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/Shared/AppDelegate.m: -------------------------------------------------------------------------------- 1 | #import "AppDelegate.h" 2 | 3 | @implementation AppDelegate 4 | 5 | #if TARGET_OS_OSX 6 | - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender { 7 | return YES; 8 | } 9 | #endif 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/Shared/Renderer.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface Renderer : NSObject 4 | 5 | -(nonnull instancetype)initWithView:(nonnull MTKView *)view; 6 | 7 | @end 8 | 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/Shared/ViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import "Renderer.h" 4 | 5 | #if TARGET_OS_IPHONE 6 | 7 | #import 8 | 9 | @interface ViewController : UIViewController 10 | @end 11 | 12 | #else 13 | 14 | #import 15 | 16 | @interface ViewController : NSViewController 17 | @end 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/Shared/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #if TARGET_OS_IPHONE 4 | 5 | #import 6 | #import "AppDelegate.h" 7 | 8 | int main(int argc, char * argv[]) { 9 | @autoreleasepool { 10 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 11 | } 12 | } 13 | 14 | #else 15 | 16 | #import 17 | 18 | int main(int argc, const char * argv[]) { 19 | return NSApplicationMain(argc, argv); 20 | } 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_apple_metal/iOS/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/examples/example_apple_metal/iOS/Default-568h@2x.png -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_emscripten/README.md: -------------------------------------------------------------------------------- 1 | 2 | # How to Build 3 | 4 | - You need to install Emscripten from https://emscripten.org/docs/getting_started/downloads.html, and have the environment variables set, as described in https://emscripten.org/docs/getting_started/downloads.html#installation-instructions 5 | 6 | ``` 7 | em++ -I.. -I../.. main.cpp ../imgui_impl_sdl.cpp ../imgui_impl_opengl3.cpp ../../imgui*.cpp -s USE_SDL=2 -s USE_WEBGL2=1 -s WASM=1 -s FULL_ES3=1 -s ALLOW_MEMORY_GROWTH=1 -s BINARYEN_TRAP_MODE=clamp --shell-file shell_minimal.html -o example-emscripten.html 8 | ``` 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_opengl2/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include *.cpp ..\imgui_impl_opengl2.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_opengl2.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 glfw3.lib opengl32.lib gdi32.lib shell32.lib 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_opengl3/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I ..\libs\gl3w *.cpp ..\imgui_impl_glfw.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c /FeDebug/example_glfw_opengl3.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 glfw3.lib opengl32.lib gdi32.lib shell32.lib 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_vulkan/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | 3 | mkdir Debug 4 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_vulkan.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 /libpath:%VULKAN_SDK%\lib32 glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib 5 | 6 | mkdir Release 7 | cl /nologo /Zi /MD /Ox /Oi /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeRelease/example_glfw_vulkan.exe /FoRelease/ /link /LIBPATH:..\libs\glfw\lib-vc2010-32 /libpath:%VULKAN_SDK%\lib32 glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_vulkan/build_win64.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of amd64/vcvars32.bat to setup 64-bit command-line compiler. 2 | 3 | mkdir Debug 4 | cl /nologo /Zi /MD /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeDebug/example_glfw_vulkan.exe /FoDebug/ /link /LIBPATH:..\libs\glfw\lib-vc2010-64 /libpath:%VULKAN_SDK%\lib glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib 5 | 6 | mkdir Release 7 | cl /nologo /Zi /MD /Ox /Oi /I .. /I ..\.. /I ..\libs\glfw\include /I %VULKAN_SDK%\include *.cpp ..\imgui_impl_vulkan.cpp ..\imgui_impl_glfw.cpp ..\..\imgui*.cpp /FeRelease/example_glfw_vulkan.exe /FoRelease/ /link /LIBPATH:..\libs\glfw\lib-vc2010-64 /libpath:%VULKAN_SDK%\lib glfw3.lib opengl32.lib gdi32.lib shell32.lib vulkan-1.lib 8 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_vulkan/gen_spv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | glslangValidator -V -x -o glsl_shader.frag.u32 glsl_shader.frag 3 | glslangValidator -V -x -o glsl_shader.vert.u32 glsl_shader.vert 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_vulkan/glsl_shader.frag: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | layout(location = 0) out vec4 fColor; 3 | 4 | layout(set=0, binding=0) uniform sampler2D sTexture; 5 | 6 | layout(location = 0) in struct { 7 | vec4 Color; 8 | vec2 UV; 9 | } In; 10 | 11 | void main() 12 | { 13 | fColor = In.Color * texture(sTexture, In.UV.st); 14 | } 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_glfw_vulkan/glsl_shader.vert: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | layout(location = 0) in vec2 aPos; 3 | layout(location = 1) in vec2 aUV; 4 | layout(location = 2) in vec4 aColor; 5 | 6 | layout(push_constant) uniform uPushConstant { 7 | vec2 uScale; 8 | vec2 uTranslate; 9 | } pc; 10 | 11 | out gl_PerVertex { 12 | vec4 gl_Position; 13 | }; 14 | 15 | layout(location = 0) out struct { 16 | vec4 Color; 17 | vec2 UV; 18 | } Out; 19 | 20 | void main() 21 | { 22 | Out.Color = aColor; 23 | Out.UV = aUV; 24 | gl_Position = vec4(aPos * pc.uScale + pc.uTranslate, 0, 1); 25 | } 26 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_marmalade/data/app.icf: -------------------------------------------------------------------------------- 1 | # This file is for configuration settings for your 2 | # application. 3 | # 4 | # The syntax is similar to windows .ini files ie 5 | # 6 | # [GroupName] 7 | # Setting = Value 8 | # 9 | # Which can be read by your application using 10 | # e.g s3eConfigGetString("GroupName", "Setting", string) 11 | # 12 | # All settings must be documented in .config.txt files. 13 | # New settings specific to this application should be 14 | # documented in app.config.txt 15 | # 16 | # Some conditional operations are also permitted, see the 17 | # S3E documentation for details. 18 | 19 | [S3E] 20 | MemSize=6000000 21 | MemSizeDebug=6000000 22 | DispFixRot=FixedLandscape 23 | 24 | # emulate iphone 5 resolution, change these settings to emulate other display resolution 25 | WinWidth=1136 26 | WinHeight=640 27 | 28 | [GX] 29 | DataCacheSize=131070 30 | 31 | [Util] 32 | #MemoryBreakpoint=1282 33 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_marmalade/marmalade_example.mkb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env mkb 2 | 3 | # ImGui - standalone example application for Marmalade 4 | # Copyright (C) 2015 by Giovanni Zito 5 | # This file is part of ImGui 6 | # https://github.com/ocornut/imgui 7 | 8 | define IMGUI_DISABLE_INCLUDE_IMCONFIG_H 9 | define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS 10 | define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS 11 | define _snprintf=snprintf 12 | 13 | options 14 | { 15 | optimise-speed=1 16 | } 17 | 18 | includepaths 19 | { 20 | .. 21 | ../.. 22 | } 23 | 24 | subprojects 25 | { 26 | iwgx 27 | } 28 | 29 | files 30 | { 31 | (.) 32 | ["imgui"] 33 | ../../imgui.cpp 34 | ../../imgui_demo.cpp 35 | ../../imgui_draw.cpp 36 | ../../imgui_widgets.cpp 37 | ../../imconfig.h 38 | ../../imgui.h 39 | ../../imgui_internal.h 40 | 41 | ["imgui","Marmalade binding"] 42 | ../imgui_impl_marmalade.h 43 | ../imgui_impl_marmalade.cpp 44 | main.cpp 45 | 46 | } 47 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_null/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I ..\.. *.cpp ..\..\*.cpp /FeDebug/example_null.exe /FoDebug/ /link gdi32.lib shell32.lib 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_sdl_directx11/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | set OUT_DIR=Debug 3 | set OUT_EXE=example_sdl_directx11 4 | set INCLUDES=/I.. /I..\.. /I%SDL2_DIR%\include /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /I "%DXSDK_DIR%Include" 5 | set SOURCES=main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_dx11.cpp ..\..\imgui*.cpp 6 | set LIBS=/libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d11.lib d3dcompiler.lib 7 | mkdir %OUT_DIR% 8 | cl /nologo /Zi /MD %INCLUDES% %SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fo%OUT_DIR%/ /link %LIBS% /subsystem:console 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_sdl_opengl2/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | set OUT_DIR=Debug 3 | set OUT_EXE=example_sdl_opengl2 4 | set INCLUDES=/I.. /I..\.. /I%SDL2_DIR%\include 5 | set SOURCES=main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl2.cpp ..\..\imgui*.cpp 6 | set LIBS=/libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib 7 | mkdir %OUT_DIR% 8 | cl /nologo /Zi /MD %INCLUDES% %SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fo%OUT_DIR%/ /link %LIBS% /subsystem:console 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_sdl_opengl3/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | set OUT_DIR=Debug 3 | set OUT_EXE=example_sdl_opengl3 4 | set INCLUDES=/I.. /I..\.. /I%SDL2_DIR%\include /I..\libs\gl3w 5 | set SOURCES=main.cpp ..\imgui_impl_sdl.cpp ..\imgui_impl_opengl3.cpp ..\..\imgui*.cpp ..\libs\gl3w\GL\gl3w.c 6 | set LIBS=/libpath:%SDL2_DIR%\lib\x86 SDL2.lib SDL2main.lib opengl32.lib 7 | mkdir %OUT_DIR% 8 | cl /nologo /Zi /MD %INCLUDES% %SOURCES% /Fe%OUT_DIR%/%OUT_EXE%.exe /Fo%OUT_DIR%/ /link %LIBS% /subsystem:console 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_win32_directx10/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /I "%DXSDK_DIR%Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_win32.cpp ..\imgui_impl_dx10.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx10.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d10.lib d3dcompiler.lib 4 | 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_win32_directx11/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /I "%DXSDK_DIR%Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx11.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx11.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d11.lib d3dcompiler.lib 4 | 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_win32_directx12/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%WindowsSdkDir%Include\um" /I "%WindowsSdkDir%Include\shared" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx12.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx12.exe /FoDebug/ /link d3d12.lib d3dcompiler.lib dxgi.lib 4 | 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/example_win32_directx9/build_win32.bat: -------------------------------------------------------------------------------- 1 | @REM Build for Visual Studio compiler. Run your copy of vcvars32.bat or vcvarsall.bat to setup command-line compiler. 2 | mkdir Debug 3 | cl /nologo /Zi /MD /I .. /I ..\.. /I "%DXSDK_DIR%/Include" /D UNICODE /D _UNICODE *.cpp ..\imgui_impl_dx9.cpp ..\imgui_impl_win32.cpp ..\..\imgui*.cpp /FeDebug/example_win32_directx9.exe /FoDebug/ /link /LIBPATH:"%DXSDK_DIR%/Lib/x86" d3d9.lib 4 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/imgui_impl_osx.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Platform Binding for OSX / Cocoa 2 | // This needs to be used along with a Renderer (e.g. OpenGL2, OpenGL3, Vulkan, Metal..) 3 | // [ALPHA] Early bindings, not well tested. If you want a portable application, prefer using the GLFW or SDL platform bindings on Mac. 4 | 5 | // Implemented features: 6 | // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. 7 | // [X] Platform: OSX clipboard is supported within core Dear ImGui (no specific code in this back-end). 8 | // Issues: 9 | // [ ] Platform: Keys are all generally very broken. Best using [event keycode] and not [event characters].. 10 | // [ ] Platform: Multi-viewport / platform windows. 11 | 12 | @class NSEvent; 13 | @class NSView; 14 | 15 | IMGUI_API bool ImGui_ImplOSX_Init(); 16 | IMGUI_API void ImGui_ImplOSX_Shutdown(); 17 | IMGUI_API void ImGui_ImplOSX_NewFrame(NSView *_Nonnull view); 18 | IMGUI_API bool ImGui_ImplOSX_HandleEvent(NSEvent *_Nonnull event, NSView *_Nullable view); 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/libs/glfw/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 Camilla Berglund 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would 15 | be appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not 18 | be misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source 21 | distribution. 22 | 23 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/libs/glfw/lib-vc2010-32/glfw3.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/examples/libs/glfw/lib-vc2010-32/glfw3.lib -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/libs/glfw/lib-vc2010-64/glfw3.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/examples/libs/glfw/lib-vc2010-64/glfw3.lib -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/examples/libs/usynergy/README.txt: -------------------------------------------------------------------------------- 1 | 2 | uSynergy client -- Implementation for the embedded Synergy client library 3 | version 1.0.0, July 7th, 2012 4 | Copyright (c) 2012 Alex Evans 5 | 6 | This is a copy of the files once found at: 7 | https://github.com/symless/synergy-core/tree/790d108a56ada9caad8e56ff777d444485a69da9/src/micro 8 | 9 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/README.txt: -------------------------------------------------------------------------------- 1 | 2 | misc/cpp/ 3 | InputText() wrappers for C++ standard library (STL) type: std::string. 4 | This is also an example of how you may wrap your own similar types. 5 | 6 | misc/fonts/ 7 | Fonts loading/merging instructions (e.g. How to handle glyph ranges, how to merge icons fonts). 8 | Command line tool "binary_to_compressed_c" to create compressed arrays to embed data in source code. 9 | Suggested fonts and links. 10 | 11 | misc/freetype/ 12 | Font atlas builder/rasterizer using FreeType instead of stb_truetype. 13 | Benefit from better FreeType rasterization, in particular for small fonts. 14 | 15 | misc/natvis/ 16 | Natvis file to describe dear imgui types in the Visual Studio debugger. 17 | With this, types like ImVector<> will be displayed nicely in the debugger. 18 | You can include this file a Visual Studio project file, or install it in Visual Studio folder. 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/cpp/README.txt: -------------------------------------------------------------------------------- 1 | 2 | imgui_stdlib.h + imgui_stdlib.cpp 3 | InputText() wrappers for C++ standard library (STL) type: std::string. 4 | This is also an example of how you may wrap your own similar types. 5 | 6 | imgui_scoped.h 7 | [Experimental, not currently in main repository] 8 | Additional header file with some RAII-style wrappers for common Dear ImGui functions. 9 | Try by merging: https://github.com/ocornut/imgui/pull/2197 10 | Discuss at: https://github.com/ocornut/imgui/issues/2096 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/Cousine-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/Cousine-Regular.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/Karla-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/Karla-Regular.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/ProggyClean.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/ProggyClean.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/ProggyTiny.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/ProggyTiny.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheCherno/OneHourParticleSystem/4ee513583c0e04748756a5826bccb70cbf2af474/OpenGL-Core/vendor/imgui/misc/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/misc/natvis/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Natvis file to describe dear imgui types in the Visual Studio debugger. 3 | With this, types like ImVector<> will be displayed nicely in the debugger. 4 | You can include this file a Visual Studio project file, or install it in Visual Studio folder. 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/imgui/premake5.lua: -------------------------------------------------------------------------------- 1 | project "ImGui" 2 | kind "StaticLib" 3 | language "C++" 4 | 5 | targetdir ("bin/" .. outputdir .. "/%{prj.name}") 6 | objdir ("bin-int/" .. outputdir .. "/%{prj.name}") 7 | 8 | files 9 | { 10 | "imconfig.h", 11 | "imgui.h", 12 | "imgui.cpp", 13 | "imgui_draw.cpp", 14 | "imgui_internal.h", 15 | "imgui_widgets.cpp", 16 | "imstb_rectpack.h", 17 | "imstb_textedit.h", 18 | "imstb_truetype.h", 19 | "imgui_demo.cpp" 20 | } 21 | 22 | filter "system:windows" 23 | systemversion "latest" 24 | cppdialect "C++17" 25 | staticruntime "On" 26 | 27 | filter "system:linux" 28 | pic "On" 29 | systemversion "latest" 30 | cppdialect "C++17" 31 | staticruntime "On" 32 | 33 | filter "configurations:Debug" 34 | runtime "Debug" 35 | symbols "on" 36 | 37 | filter "configurations:Release" 38 | runtime "Release" 39 | optimize "on" 40 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=false 2 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/INSTALL: -------------------------------------------------------------------------------- 1 | Header only version: 2 | ================================================================== 3 | Just copy the files to your build tree and use a C++11 compiler. 4 | Or use CMake: 5 | add_executable(example_header_only example.cpp) 6 | target_link_libraries(example_header_only spdlog::spdlog_header_only) 7 | 8 | 9 | Compiled library version: 10 | ================================================================== 11 | CMake: 12 | add_executable(example example.cpp) 13 | target_link_libraries(example spdlog::spdlog) 14 | 15 | Or copy src/spdlog.cpp to your build tree and pass the -DSPDLOG_COMPILED_LIB to the compiler. 16 | 17 | Tested on: 18 | gcc 4.8.1 and above 19 | clang 3.5 20 | Visual Studio 2013 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/bench/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright(c) 2019 spdlog authors 2 | # Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | cmake_minimum_required(VERSION 3.1) 5 | project(spdlog_bench CXX) 6 | 7 | if(NOT TARGET spdlog) 8 | # Stand-alone build 9 | find_package(spdlog CONFIG REQUIRED) 10 | endif() 11 | 12 | find_package(Threads REQUIRED) 13 | find_package(benchmark CONFIG REQUIRED) 14 | 15 | add_executable(bench bench.cpp) 16 | spdlog_enable_warnings(bench) 17 | target_link_libraries(bench PRIVATE spdlog::spdlog) 18 | 19 | add_executable(async_bench async_bench.cpp) 20 | target_link_libraries(async_bench PRIVATE spdlog::spdlog) 21 | 22 | add_executable(latency latency.cpp) 23 | target_link_libraries(latency PRIVATE benchmark::benchmark spdlog::spdlog) 24 | 25 | add_executable(formatter-bench formatter-bench.cpp) 26 | target_link_libraries(formatter-bench PRIVATE benchmark::benchmark spdlog::spdlog) 27 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/bench/meson.build: -------------------------------------------------------------------------------- 1 | benchmark = dependency('benchmark') 2 | 3 | bench_matrix = [ 4 | ['bench', [spdlog_dep], []], 5 | ['async_bench', [spdlog_dep], []], 6 | ['formatter-bench', [spdlog_dep, benchmark], ['all']], 7 | ['latency', [spdlog_dep, benchmark], []], 8 | ] 9 | 10 | foreach i : bench_matrix 11 | bench_exe = executable(i[0], i[0] + '.cpp', dependencies: i[1]) 12 | benchmark('bench_' + i[0], bench_exe, args: i[2]) 13 | endforeach 14 | 15 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/bench/utils.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2015 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace utils { 13 | 14 | template 15 | inline std::string format(const T &value) 16 | { 17 | static std::locale loc(""); 18 | std::stringstream ss; 19 | ss.imbue(loc); 20 | ss << value; 21 | return ss.str(); 22 | } 23 | 24 | template<> 25 | inline std::string format(const double &value) 26 | { 27 | static std::locale loc(""); 28 | std::stringstream ss; 29 | ss.imbue(loc); 30 | ss << std::fixed << std::setprecision(1) << value; 31 | return ss.str(); 32 | } 33 | 34 | } // namespace utils 35 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/cmake/spdlog.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/include 4 | libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ 5 | 6 | Name: lib@PROJECT_NAME@ 7 | Description: Fast C++ logging library. 8 | URL: https://github.com/gabime/@PROJECT_NAME@ 9 | Version: @SPDLOG_VERSION@ 10 | CFlags: -I${includedir} @PKG_CONFIG_DEFINES@ 11 | Libs: -L${libdir} -lspdlog -pthread 12 | Requires: @PKG_CONFIG_REQUIRES@ 13 | 14 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/cmake/spdlogConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # Copyright(c) 2019 spdlog authors 2 | # Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | find_package(Threads REQUIRED) 5 | 6 | set(SPDLOG_FMT_EXTERNAL @SPDLOG_FMT_EXTERNAL@) 7 | set(config_targets_file @config_targets_file@) 8 | 9 | if(SPDLOG_FMT_EXTERNAL) 10 | include(CMakeFindDependencyMacro) 11 | find_dependency(fmt CONFIG) 12 | endif() 13 | 14 | 15 | include("${CMAKE_CURRENT_LIST_DIR}/${config_targets_file}") 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/example/meson.build: -------------------------------------------------------------------------------- 1 | executable('example', 'example.cpp', dependencies: spdlog_dep) 2 | executable('example_header_only', 'example.cpp', dependencies: spdlog_headeronly_dep) 3 | 4 | 5 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/details/console_globals.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | namespace details { 11 | 12 | struct console_mutex 13 | { 14 | using mutex_t = std::mutex; 15 | static mutex_t &mutex() 16 | { 17 | static mutex_t s_mutex; 18 | return s_mutex; 19 | } 20 | }; 21 | 22 | struct console_nullmutex 23 | { 24 | using mutex_t = null_mutex; 25 | static mutex_t &mutex() 26 | { 27 | static mutex_t s_mutex; 28 | return s_mutex; 29 | } 30 | }; 31 | } // namespace details 32 | } // namespace spdlog 33 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/details/log_msg-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | namespace spdlog { 13 | namespace details { 14 | 15 | SPDLOG_INLINE log_msg::log_msg( 16 | spdlog::source_loc loc, string_view_t a_logger_name, spdlog::level::level_enum lvl, spdlog::string_view_t msg) 17 | : logger_name(a_logger_name) 18 | , level(lvl) 19 | , time(os::now()) 20 | #ifndef SPDLOG_NO_THREAD_ID 21 | , thread_id(os::thread_id()) 22 | #endif 23 | , source(loc) 24 | , payload(msg) 25 | {} 26 | 27 | SPDLOG_INLINE log_msg::log_msg(string_view_t a_logger_name, spdlog::level::level_enum lvl, spdlog::string_view_t msg) 28 | : log_msg(source_loc{}, a_logger_name, lvl, msg) 29 | {} 30 | 31 | } // namespace details 32 | } // namespace spdlog 33 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/details/synchronous_factory.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include "registry.h" 7 | 8 | namespace spdlog { 9 | 10 | // Default logger factory- creates synchronous loggers 11 | class logger; 12 | 13 | struct synchronous_factory 14 | { 15 | template 16 | static std::shared_ptr create(std::string logger_name, SinkArgs &&... args) 17 | { 18 | auto sink = std::make_shared(std::forward(args)...); 19 | auto new_logger = std::make_shared(std::move(logger_name), std::move(sink)); 20 | details::registry::instance().initialize_logger(new_logger); 21 | return new_logger; 22 | } 23 | }; 24 | } // namespace spdlog -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/fmt/fmt.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016-2018 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | 8 | // 9 | // Include a bundled header-only copy of fmtlib or an external one. 10 | // By default spdlog include its own copy. 11 | // 12 | 13 | #if !defined(SPDLOG_FMT_EXTERNAL) 14 | #ifdef SPDLOG_HEADER_ONLY 15 | #ifndef FMT_HEADER_ONLY 16 | #define FMT_HEADER_ONLY 17 | #endif 18 | #endif 19 | #ifndef FMT_USE_WINDOWS_H 20 | #define FMT_USE_WINDOWS_H 0 21 | #endif 22 | #include 23 | #include 24 | #else // SPDLOG_FMT_EXTERNAL is defined - use external fmtlib 25 | #include 26 | #include 27 | #endif -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/fmt/ostr.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(c) 2016 Gabi Melman. 3 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 4 | // 5 | 6 | #pragma once 7 | // 8 | // include bundled or external copy of fmtlib's ostream support 9 | // 10 | 11 | #if !defined(SPDLOG_FMT_EXTERNAL) 12 | #ifdef SPDLOG_HEADER_ONLY 13 | #ifndef FMT_HEADER_ONLY 14 | #define FMT_HEADER_ONLY 15 | #endif 16 | #endif 17 | #include 18 | #else 19 | #include 20 | #endif 21 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/formatter.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | class formatter 12 | { 13 | public: 14 | virtual ~formatter() = default; 15 | virtual void format(const details::log_msg &msg, memory_buf_t &dest) = 0; 16 | virtual std::unique_ptr clone() const = 0; 17 | }; 18 | } // namespace spdlog 19 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/sinks/sink-inl.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #ifndef SPDLOG_HEADER_ONLY 7 | #include 8 | #endif 9 | 10 | #include 11 | 12 | SPDLOG_INLINE bool spdlog::sinks::sink::should_log(spdlog::level::level_enum msg_level) const 13 | { 14 | return msg_level >= level_.load(std::memory_order_relaxed); 15 | } 16 | 17 | SPDLOG_INLINE void spdlog::sinks::sink::set_level(level::level_enum log_level) 18 | { 19 | level_.store(log_level, std::memory_order_relaxed); 20 | } 21 | 22 | SPDLOG_INLINE spdlog::level::level_enum spdlog::sinks::sink::level() const 23 | { 24 | return static_cast(level_.load(std::memory_order_relaxed)); 25 | } 26 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/sinks/sink.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | namespace spdlog { 10 | 11 | namespace sinks { 12 | class sink 13 | { 14 | public: 15 | virtual ~sink() = default; 16 | virtual void log(const details::log_msg &msg) = 0; 17 | virtual void flush() = 0; 18 | virtual void set_pattern(const std::string &pattern) = 0; 19 | virtual void set_formatter(std::unique_ptr sink_formatter) = 0; 20 | 21 | void set_level(level::level_enum log_level); 22 | level::level_enum level() const; 23 | bool should_log(level::level_enum msg_level) const; 24 | 25 | protected: 26 | // sink log level - default is all 27 | level_t level_{level::trace}; 28 | }; 29 | 30 | } // namespace sinks 31 | } // namespace spdlog 32 | 33 | #ifdef SPDLOG_HEADER_ONLY 34 | #include "sink-inl.h" 35 | #endif 36 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/include/spdlog/version.h: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #pragma once 5 | 6 | #define SPDLOG_VER_MAJOR 1 7 | #define SPDLOG_VER_MINOR 5 8 | #define SPDLOG_VER_PATCH 0 9 | 10 | #define SPDLOG_VERSION (SPDLOG_VER_MAJOR * 10000 + SPDLOG_VER_MINOR * 100 + SPDLOG_VER_PATCH) 11 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/scripts/clang_tidy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd "$(dirname "$0")" 4 | 5 | clang-tidy ../example/example.cpp -- -I ../include 6 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/scripts/extract_version.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import re 5 | 6 | base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) 7 | config_h = os.path.join(base_path, 'include', 'spdlog', 'version.h') 8 | data = {'MAJOR': 0, 'MINOR': 0, 'PATCH': 0} 9 | reg = re.compile(r'^\s*#define\s+SPDLOG_VER_([A-Z]+)\s+([0-9]+).*$') 10 | 11 | with open(config_h, 'r') as fp: 12 | for l in fp: 13 | m = reg.match(l) 14 | if m: 15 | data[m.group(1)] = int(m.group(2)) 16 | 17 | print('{}.{}.{}'.format(data['MAJOR'], data['MINOR'], data['PATCH'])) 18 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/scripts/format.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd "$(dirname "$0")" 4 | 5 | echo -n "Running dos2unix " 6 | find .. -name "*\.h" -o -name "*\.cpp"|grep -v bundled|xargs -I {} sh -c "dos2unix '{}' 2>/dev/null; echo -n '.'" 7 | echo 8 | echo -n "Running clang-format " 9 | find .. -name "*\.h" -o -name "*\.cpp"|grep -v bundled|xargs -I {} sh -c "clang-format -i {}; echo -n '.'" 10 | echo 11 | 12 | 13 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/src/async.cpp: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #ifndef SPDLOG_COMPILED_LIB 5 | #error Please define SPDLOG_COMPILED_LIB to compile this file. 6 | #endif 7 | 8 | #include "spdlog/async.h" 9 | #include "spdlog/async_logger-inl.h" 10 | #include "spdlog/details/periodic_worker-inl.h" 11 | #include "spdlog/details/thread_pool-inl.h" 12 | template class spdlog::details::mpmc_blocking_queue; -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/src/file_sinks.cpp: -------------------------------------------------------------------------------- 1 | // Copyright(c) 2015-present, Gabi Melman & spdlog contributors. 2 | // Distributed under the MIT License (http://opensource.org/licenses/MIT) 3 | 4 | #ifndef SPDLOG_COMPILED_LIB 5 | #error Please define SPDLOG_COMPILED_LIB to compile this file. 6 | #endif 7 | 8 | #include 9 | #include "spdlog/details/null_mutex.h" 10 | #include "spdlog/details/file_helper-inl.h" 11 | #include "spdlog/sinks/basic_file_sink-inl.h" 12 | 13 | template class spdlog::sinks::basic_file_sink; 14 | template class spdlog::sinks::basic_file_sink; 15 | 16 | #include "spdlog/sinks/rotating_file_sink-inl.h" 17 | template class spdlog::sinks::rotating_file_sink; 18 | template class spdlog::sinks::rotating_file_sink; -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/tests/includes.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "catch.hpp" 4 | #include "utils.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_DEBUG 16 | 17 | #include "spdlog/spdlog.h" 18 | #include "spdlog/async.h" 19 | #include "spdlog/sinks/basic_file_sink.h" 20 | #include "spdlog/sinks/daily_file_sink.h" 21 | #include "spdlog/sinks/null_sink.h" 22 | #include "spdlog/sinks/ostream_sink.h" 23 | #include "spdlog/sinks/rotating_file_sink.h" 24 | #include "spdlog/sinks/stdout_color_sinks.h" 25 | #include "spdlog/details/pattern_formatter.h" -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/tests/main.cpp: -------------------------------------------------------------------------------- 1 | #define CATCH_CONFIG_MAIN 2 | #include "catch.hpp" -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/tests/test_systemd.cpp: -------------------------------------------------------------------------------- 1 | #include "includes.h" 2 | #include "spdlog/sinks/systemd_sink.h" 3 | 4 | TEST_CASE("systemd", "[all]") 5 | { 6 | auto systemd_sink = std::make_shared(); 7 | spdlog::logger logger("spdlog_systemd_test", systemd_sink); 8 | logger.set_level(spdlog::level::trace); 9 | logger.trace("test spdlog trace"); 10 | logger.debug("test spdlog debug"); 11 | SPDLOG_LOGGER_INFO((&logger), "test spdlog info"); 12 | SPDLOG_LOGGER_WARN((&logger), "test spdlog warn"); 13 | SPDLOG_LOGGER_ERROR((&logger), "test spdlog error"); 14 | SPDLOG_LOGGER_CRITICAL((&logger), "test spdlog critical"); 15 | } 16 | -------------------------------------------------------------------------------- /OpenGL-Core/vendor/spdlog/tests/utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | std::size_t count_lines(const std::string &filename); 7 | 8 | std::size_t count_files(const std::string &folder); 9 | 10 | void prepare_logdir(); 11 | 12 | std::string file_contents(const std::string &filename); 13 | 14 | std::size_t count_lines(const std::string &filename); 15 | 16 | std::size_t get_filesize(const std::string &filename); 17 | 18 | bool ends_with(std::string const &value, std::string const &ending); -------------------------------------------------------------------------------- /OpenGL-Core/vendor/stb_image/stb_image.cpp: -------------------------------------------------------------------------------- 1 | #include "glpch.h" 2 | 3 | #define STB_IMAGE_IMPLEMENTATION 4 | #include "stb_image.h" -------------------------------------------------------------------------------- /OpenGL-Examples/assets/shaders/test.frag.glsl: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) out vec4 o_Color; 4 | 5 | uniform vec4 u_Color; 6 | 7 | void main() 8 | { 9 | o_Color = u_Color; 10 | } -------------------------------------------------------------------------------- /OpenGL-Examples/assets/shaders/test.vert.glsl: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec3 a_Position; 4 | 5 | uniform mat4 u_ViewProjection; 6 | 7 | void main() 8 | { 9 | gl_Position = u_ViewProjection * vec4(a_Position, 1.0f); 10 | } -------------------------------------------------------------------------------- /OpenGL-Examples/premake5.lua: -------------------------------------------------------------------------------- 1 | project "OpenGL-Examples" 2 | kind "ConsoleApp" 3 | language "C++" 4 | cppdialect "C++17" 5 | staticruntime "on" 6 | 7 | targetdir ("../bin/" .. outputdir .. "/%{prj.name}") 8 | objdir ("../bin-int/" .. outputdir .. "/%{prj.name}") 9 | 10 | files 11 | { 12 | "src/**.h", 13 | "src/**.cpp" 14 | } 15 | 16 | includedirs 17 | { 18 | "../OpenGL-Core/vendor/spdlog/include", 19 | "../OpenGL-Core/src", 20 | "../OpenGL-Core/vendor", 21 | "../OpenGL-Core/%{IncludeDir.glm}", 22 | "../OpenGL-Core/%{IncludeDir.Glad}", 23 | "../OpenGL-Core/%{IncludeDir.ImGui}" 24 | } 25 | 26 | links 27 | { 28 | "OpenGL-Core" 29 | } 30 | 31 | filter "system:windows" 32 | systemversion "latest" 33 | 34 | defines 35 | { 36 | "GLCORE_PLATFORM_WINDOWS" 37 | } 38 | 39 | filter "configurations:Debug" 40 | defines "GLCORE_DEBUG" 41 | runtime "Debug" 42 | symbols "on" 43 | 44 | filter "configurations:Release" 45 | defines "GLCORE_RELEASE" 46 | runtime "Release" 47 | optimize "on" 48 | -------------------------------------------------------------------------------- /OpenGL-Examples/src/ExampleApp.cpp: -------------------------------------------------------------------------------- 1 | #include "GLCore.h" 2 | #include "ExampleLayer.h" 3 | 4 | using namespace GLCore; 5 | 6 | class Example : public Application 7 | { 8 | public: 9 | Example() 10 | : Application("OpenGL Examples") 11 | { 12 | PushLayer(new ExampleLayer()); 13 | } 14 | }; 15 | 16 | int main() 17 | { 18 | std::unique_ptr app = std::make_unique(); 19 | app->Run(); 20 | } -------------------------------------------------------------------------------- /OpenGL-Examples/src/ExampleLayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class ExampleLayer : public GLCore::Layer 7 | { 8 | public: 9 | ExampleLayer(); 10 | virtual ~ExampleLayer(); 11 | 12 | virtual void OnAttach() override; 13 | virtual void OnDetach() override; 14 | virtual void OnEvent(GLCore::Event& event) override; 15 | virtual void OnUpdate(GLCore::Timestep ts) override; 16 | virtual void OnImGuiRender() override; 17 | private: 18 | GLCore::Utils::Shader* m_Shader; 19 | GLCore::Utils::OrthographicCameraController m_CameraController; 20 | 21 | GLuint m_QuadVA, m_QuadVB, m_QuadIB; 22 | 23 | glm::vec4 m_SquareBaseColor = { 0.8f, 0.2f, 0.3f, 1.0f }; 24 | glm::vec4 m_SquareAlternateColor = { 0.2f, 0.3f, 0.8f, 1.0f }; 25 | glm::vec4 m_SquareColor = m_SquareBaseColor; 26 | }; -------------------------------------------------------------------------------- /OpenGL-Sandbox/assets/shader.glsl.frag: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) out vec4 o_Color; 4 | 5 | uniform vec4 u_Color; 6 | 7 | void main() 8 | { 9 | o_Color = u_Color; 10 | } 11 | -------------------------------------------------------------------------------- /OpenGL-Sandbox/assets/shader.glsl.vert: -------------------------------------------------------------------------------- 1 | #version 450 core 2 | 3 | layout (location = 0) in vec3 a_Position; 4 | 5 | uniform mat4 u_ViewProj; 6 | uniform mat4 u_Transform; 7 | 8 | void main() 9 | { 10 | gl_Position = u_ViewProj * u_Transform * vec4(a_Position, 1.0); 11 | } 12 | -------------------------------------------------------------------------------- /OpenGL-Sandbox/premake5.lua: -------------------------------------------------------------------------------- 1 | project "OpenGL-Sandbox" 2 | kind "ConsoleApp" 3 | language "C++" 4 | cppdialect "C++17" 5 | staticruntime "on" 6 | 7 | targetdir ("../bin/" .. outputdir .. "/%{prj.name}") 8 | objdir ("../bin-int/" .. outputdir .. "/%{prj.name}") 9 | 10 | files 11 | { 12 | "src/**.h", 13 | "src/**.cpp" 14 | } 15 | 16 | includedirs 17 | { 18 | "../OpenGL-Core/vendor/spdlog/include", 19 | "../OpenGL-Core/src", 20 | "../OpenGL-Core/vendor", 21 | "../OpenGL-Core/%{IncludeDir.glm}", 22 | "../OpenGL-Core/%{IncludeDir.Glad}", 23 | "../OpenGL-Core/%{IncludeDir.ImGui}" 24 | } 25 | 26 | links 27 | { 28 | "OpenGL-Core" 29 | } 30 | 31 | filter "system:windows" 32 | systemversion "latest" 33 | 34 | defines 35 | { 36 | "GLCORE_PLATFORM_WINDOWS" 37 | } 38 | 39 | filter "configurations:Debug" 40 | defines "GLCORE_DEBUG" 41 | runtime "Debug" 42 | symbols "on" 43 | 44 | filter "configurations:Release" 45 | defines "GLCORE_RELEASE" 46 | runtime "Release" 47 | optimize "on" 48 | -------------------------------------------------------------------------------- /OpenGL-Sandbox/src/Random.cpp: -------------------------------------------------------------------------------- 1 | #include "Random.h" 2 | 3 | std::mt19937 Random::s_RandomEngine; 4 | std::uniform_int_distribution Random::s_Distribution; 5 | -------------------------------------------------------------------------------- /OpenGL-Sandbox/src/Random.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class Random 6 | { 7 | public: 8 | static void Init() 9 | { 10 | s_RandomEngine.seed(std::random_device()()); 11 | } 12 | 13 | static float Float() 14 | { 15 | return (float)s_Distribution(s_RandomEngine) / (float)std::numeric_limits::max(); 16 | } 17 | 18 | private: 19 | static std::mt19937 s_RandomEngine; 20 | static std::uniform_int_distribution s_Distribution; 21 | }; -------------------------------------------------------------------------------- /OpenGL-Sandbox/src/SandboxApp.cpp: -------------------------------------------------------------------------------- 1 | #include "GLCore.h" 2 | #include "SandboxLayer.h" 3 | 4 | using namespace GLCore; 5 | 6 | class Sandbox : public Application 7 | { 8 | public: 9 | Sandbox() 10 | { 11 | PushLayer(new SandboxLayer()); 12 | } 13 | }; 14 | 15 | int main() 16 | { 17 | std::unique_ptr app = std::make_unique(); 18 | app->Run(); 19 | } -------------------------------------------------------------------------------- /OpenGL-Sandbox/src/SandboxLayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #include "ParticleSystem.h" 7 | 8 | class SandboxLayer : public GLCore::Layer 9 | { 10 | public: 11 | SandboxLayer(); 12 | virtual ~SandboxLayer(); 13 | 14 | virtual void OnAttach() override; 15 | virtual void OnDetach() override; 16 | virtual void OnEvent(GLCore::Event& event) override; 17 | virtual void OnUpdate(GLCore::Timestep ts) override; 18 | virtual void OnImGuiRender() override; 19 | private: 20 | GLCore::Utils::OrthographicCameraController m_CameraController; 21 | ParticleProps m_Particle; 22 | ParticleSystem m_ParticleSystem; 23 | }; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OneHourParticleSystem 2 | Simple particle system made in one hour: https://youtu.be/GK0jHlv3e3w 3 | -------------------------------------------------------------------------------- /scripts/Win-Premake.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | pushd ..\ 4 | call vendor\bin\premake\premake5.exe vs2019 5 | popd 6 | PAUSE --------------------------------------------------------------------------------