I have a tendency to want to spin up a new project and try something new. This repository is meant to make that process simple without the fun-suckers that are dealing with dependencies and builds. The intention of this code is to keep things as simple as possible and avoid any sort of concrete architecture. Since architecture is something that I also like to explore in interactive projects, I'd like the starting point to not really take a stance on any specific ways of doing things.
- glad: OpenGL loader
- SDL2: "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D"
- GLM: "GLM provides classes and functions designed and implemented with the same naming conventions and functionality than GLSL so that anyone who knows GLSL, can use GLM as well in C++."
- Dear ImGui: Debug immediate-mode GUI
- tinygltf: Used to parse models in the gltf format (.gltf or .glb extensions)
- nlohmann/json: A simple json parser also used by tinygltf.
- stb_image/stb_image_write: Single header libraries used for reading/writing images.
- [⚠WORK IN PROGRESS⚠]: Currently only tested using MSVC's cl compiler. There is definitely more work to be done when working with other compilers.
- Clone the project using the following git command:
git clone https://github.com/Lucodivo/NoopScenes
- Ensure the dependency submodules are initialized using the following git commands:
git submodule init
git submodule update
- Build "bootstrap-dependencies" using the CMakeLists.txt found in the external directory.
- Build "bootstrap" using the CMakeLists.txt in the root directory
The program must run with root as the working directory. Ensure that the executable and the SDL2 dynamic library (dll) are in the same directory.