Another SDL2 + Vulkan + ImGui renderer in the D Programming Language.
Make sure the following (development) libraries are installed:
- SDL2
- LunarG Vulkan SDK
- DMD compiler >2.110.0
- Clone the repository
git clone --recursive https://github.com/DannyArends/DImGui.git
git submodule update --init --recursive
(If already cloned)
- Compile [Linux]
- Make sure the
SDL2
,SDL2_image
,SDL2_mixer
,SDL2_ttf
development libraries are installed - Execute dub to compile the executable
dub
- Make sure the
- Compile [MS windows (x64)]
- Install the Visual Studio 2019 Build Tools with MSVC v142 and the Windows 10 SDK
- Install the LunarG Vulkan SDK and make sure to install the SDL2 Component
- Check the paths in the dub.json file, and update the Vulkan version (1.4.309.0) to the version installed
- Execute dub to compile the executable
dub
The following folders are interesting, if you're interested in how the repository is structured:
- src/ which stores the D source code
- src/engine main folder for the engine objects
- src/math math functions for vectors, matrices, particles, and the L-system
- src/objects All geometric (renderable) objects are in here
- assets/ All assets of the engine (font, objects, shaders, and textures)
- deps/ CImGui source code as well as Windows 64bit runtime SDL2 DLLs for image,mixer and ttf
Some noteworthy files:
- dub.json contains the D language dependancies, and build instructions
- src/main.d contains the main entry function, and SDL event loop
- src/includes.c the file holding the importC instructions
Want to contribute? Great! Contribute to this repo by starring or forking on Github, and feel free to start an issue first to discuss idea's before sending a pull request. You're also welcome to post comments on commits.
Or be a maintainer, and adopt (the documentation of) a function.
Written by Danny Arends and is released under the GNU GENERAL PUBLIC LICENSE Version 3 (GPLv3). See LICENSE.txt.