Based on the LearnOpenGL book, upgraded to DSA (Direct-State-Access).
Windows and Linux (Wayland Display Server) support
This project uses CMake and Ninja as build systems, thus needing some IDE configuration to compile properly. I recommend using VSCodium with KylindIdeTeam's Extension Pack for C/C++. This provides a telemetry-free IDE along with some useful tools, making it easy to compile with CMake.
Once you have installed VSCodium and all the needed extensions, you might want to add these lines to your User Settings (JSON):
"clangd.arguments":[
"--compile-commands-dir=$build",
"--background-index",
"--clang-tidy",
"--completion-style=detailed",
"--header-insertion=never",
"--query-driver={GCC_COMPILER_FILE_LOCATION}*"
],
"editor.inlayHints.enabled": "off",
"cmake.generator": "Ninja"Replace GCC_COMPILER_FILE_LOCATION with the absolute path to your GCC executable. Otherwise clangd's Intellisense might not recognize standard C++ expressions and will throw multiple errors. Couldn't come up with a better solution, but this works just fine.
Next you will need to pick your compiler for the CMake tools to use :
CTRL + SHIFT + P -> CMake: Scan for Kits
CTRL + SHIFT + P -> CMake: Select a Kit and pick your installed GCC compiler.
CTRL + SHIFT + P -> Kylin Clangd: Restart language server to apply the changes.