Home Features Download Getting Started Tutorials Contributing Sponsorship

Dagon Engine

Dagon is an Open Source 3D game development framework for D language based on OpenGL 4.0 core profile and SDL2. The goal of this project is creating a modern, easy to use, extendable game engine for D due to the lack of such.

Please keep in mind that Dagon is still under development and not production-ready. Follow Dagon development on Trello to see priority tasks.


Eevee VS Dagon


Latest source tarball can be downloaded from GitHub releases page. But it is easier use Dub package instead. Add the following dependency to your dub.json:

"dagon": "~>0.11.0"

If you want to test new features, use master branch:

"dagon": "~master"

Dagon is distributed under the Boost Software License, Version 1.0


Getting Started

Creating a template project using Dagon is as easy as typing two commands in an empty directory:

dub init --type=dagon
dub build

The engine has only one mandatory runtime dependency, SDL 2.0.5. On Windows it is automatically deployed if you are building with Dub. On other platforms you have to install it manually.

By running a template application you should see a sample scene with a plane and a cube.


Dagon has a number of tutorials on GitHub wiki (not all are complete):

  1. Simple Application
  2. Textures
  3. Normal maps
  4. Light Sources
  5. Environment Maps
  6. PBR
  7. First Person Camera
  8. Procedural Sky
  9. Post-processing
  10. Physics Integration
  11. Exporting Assets from Blender
  12. Particles
  13. Custom Shaders

Corresponding examples can be found here.


If you want to contribute code to Dagon, send pull requests to the project repository. Please, read Contributing Guidelines first.

Found a bug? Please, create an issue here.

Dagon was created by Timur Gafarov, Rafał Ziemniewski, Mateusz Muszyński, Björn Roberg, dayllenger, my-ijet.

Also thanks to Lawrence Aberba, Andrey Penechko, Robert Schadek, RUSshy, isaacs-dev for PRs and bug reports.


If you like Dagon, please support its development on Patreon and get a reward depending on your donation amount. Supporters who donate $10 and more will be listed on this page as Sponsors. You can also make donation via PayPal.

Big thanks to these awesome people for supporting Dagon: Daniel Laburthe, Rafał Ziemniewski, Kumar Sookram, Aleksandr Kovalev, Robert Georges, Jan Jurzitza (WebFreak), Rais Safiullin (SARFEX), Benas Cernevicius, Koichi Takio.

Fork me on GitHub