dagon 0.8.3
Game framework for D
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
Dagon
Dagon is a 3D game development framework for D language. It is a work-in-progress reincarnation of DGL with several architecture improvements. Dagon is based on OpenGL 4.0 core profile, SDL2 and Freetype 2.8.1.
The goal of this project is creating a modern, easy to use, extendable game engine for D due to the lack of such.
Currently Dagon has the following features:
- Static and animated meshes, OBJ and IQM formats support
- Textures in PNG, JPG, TGA, BMP, HDR formats
- Own asset format with Blender exporter
- Flexible material system with simple user-defined abstract API and different backends. You can implement custom materials, with your own shaders and parameters
- Physically based rendering (PBR)
- HDR rendering with auto-exposure (eye adaptation), Reinhard, Hable/Uncharted and ACES tonemapping operators
- HDRI environment maps support
- Multiple light sources using clustered forward shading method (variable number of lights per fragment)
- Spherical area lights
- Normal/parallax mapping, parallax occlusion mapping
- Cascaded shadow maps for directional light
- Dynamic skydome with sun and day/night cycle
- Particle system with force fields
- Post-processing (FXAA, lens distortion, motion blur, glow, LUT color grading)
- UTF-8 text rendering using TTF fonts via Freetype
- Ownership memory model - every object belongs to some object (owner), and deleting the owner will delete all of its owned objects. This allows semi-automatic memory management - you have to manually delete only root owners
- Entity-component model that allows game objects behave differently and combine many behaviours
- Scene management. Any scene has its own assets, entities and logical context
- Live asset reloading - asset can be automatically reloaded when the file is modified with external application
- Built-in camera logics for quick and easy navigation (freeview and first person style view)
- Box container support for assets.
Screenshots:
Videos:
https://www.youtube.com/watch?v=pxu9sxL9MIM
https://www.youtube.com/watch?v=3_BqgOLCvyE
Dagon is still under development and lacks a lot of important functionality. Currently it is not recommended to use Dagon in production due to unstable API.
Upcoming plans:
- Soft particles
- Water with reflections and refractions
- Terrain renderer
- SSAO
- Deferred renderer (?)
If you like Dagon, please support its development via PayPal. Thanks in advance!
Demos
A test application that demonstrates Dagon's features is hosted here. If you are starting from scratch, we recommend to use it for learning purposes.
Documentation
See Tutorials.
License
Copyright (c) 2016-2018 Timur Gafarov. Distributed under the Boost Software License, Version 1.0 (see accompanying file COPYING or at http://www.boost.org/LICENSE10.txt).
- Registered by Timur Gafarov
- 0.8.3 released 6 years ago
- gecko0307/dagon
- github.com/gecko0307/dagon
- Boost
- Authors:
- Dependencies:
- derelict-gl3, derelict-ft, dlib, derelict-sdl2
- Versions:
-
0.17.1 2024-Jul-17 0.17.0 2024-Jun-12 0.16.0 2024-Feb-24 0.15.0 2023-Aug-30 0.14.1 2022-Aug-30 - Download Stats:
-
-
0 downloads today
-
12 downloads this week
-
23 downloads this month
-
2243 downloads total
-
- Score:
- 2.9
- Short URL:
- dagon.dub.pm