All Projects → gecko0307 → Dagon

gecko0307 / Dagon

Licence: other
3D game engine for D

Programming Languages

d
599 projects
dlang
54 projects

Projects that are alternatives of or similar to Dagon

Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (+26.06%)
Mutual labels:  game-engine, opengl, 3d, sdl2
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+9.7%)
Mutual labels:  game-engine, opengl, 3d, rendering
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+228.48%)
Mutual labels:  game-engine, opengl, rendering
Fauxgl
Software-only 3D renderer written in Go.
Stars: ✭ 658 (+298.79%)
Mutual labels:  opengl, 3d, rendering
Helixjs
A Javascript 3D game engine.
Stars: ✭ 84 (-49.09%)
Mutual labels:  game-engine, 3d, rendering
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+3451.52%)
Mutual labels:  opengl, 3d, rendering
Engine Native
Native engine for Cocos Creator
Stars: ✭ 488 (+195.76%)
Mutual labels:  game-engine, 3d, rendering
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (-9.7%)
Mutual labels:  game-engine, opengl, rendering
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+2159.39%)
Mutual labels:  game-engine, opengl, 3d
Spearmint
Spearmint — an updated id Tech 3 engine for continuing the classics and creating new games.
Stars: ✭ 161 (-2.42%)
Mutual labels:  game-engine, opengl, sdl2
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (+738.18%)
Mutual labels:  opengl, 3d, rendering
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-2.42%)
Mutual labels:  game-engine, opengl, rendering
Etengine
Realtime 3D Game-Engine with a focus on space sim. Written in C++ 14
Stars: ✭ 408 (+147.27%)
Mutual labels:  game-engine, opengl, 3d
Rigelengine
A modern re-implementation of the classic DOS game Duke Nukem II
Stars: ✭ 393 (+138.18%)
Mutual labels:  game-engine, opengl, sdl2
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+199.39%)
Mutual labels:  opengl, 3d, rendering
Ncine
A cross-platform 2D game engine
Stars: ✭ 372 (+125.45%)
Mutual labels:  game-engine, opengl, rendering
Simpleton Engine
What a stupid name for a library
Stars: ✭ 42 (-74.55%)
Mutual labels:  game-engine, opengl, sdl2
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+7036.97%)
Mutual labels:  opengl, 3d, rendering
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (+73.94%)
Mutual labels:  game-engine, opengl, 3d
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (+100.61%)
Mutual labels:  game-engine, opengl, 3d

Build Status DUB Package DUB Downloads License Patreon button

Dagon

The goal of this project is creating a modern, easy to use, extendable 3D game engine for D language. Dagon is based on OpenGL 4.0 core profile. It works on Windows and Linux, both 32 and 64-bit. It doesn't support macOS because Apple doesn't support OpenGL anymore.

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. Follow Dagon development on Trello to see priority tasks.

If you like Dagon, please support its development on Patreon or Liberapay. You can also make one-time donation via PayPal. I appreciate any support. Thanks in advance!

Screenshots

Screenshot4

Screenshot3

Screenshot1

Features

  • Static and animated meshes, OBJ and IQM formats support
  • Textures in PNG, JPG, TGA, BMP, HDR formats
  • Own asset format with Blender exporter
  • Deferred pipeline for opaque materials, forward pipeline for transparent materials and materials with custom shaders
  • Physically based rendering (PBR)
  • HDR rendering with Reinhard, Hable/Uncharted, ACES and Filmic tonemapping operators
  • HDRI environment maps
  • Directional lights with cascaded shadow mapping and volumetric scattering
  • Spherical and tube area lights
  • Spot lights
  • Normal/parallax mapping, parallax occlusion mapping
  • Deferred decals with normal mapping and PBR material properties
  • Dynamic skydome with sun and day/night cycle
  • Particle system with force fields. Blended particles, soft particles, shaded particles with normal map support, particle shadows
  • Terrain rendering. Procedural terrain using OpenSimplex noise or any custom height field
  • Water rendering
  • Post-processing (FXAA, SSAO, lens distortion, motion blur, glow, LUT color grading)
  • UTF-8 text rendering using TTF fonts via Freetype
  • GUI and 2D graphics based on Nuklear. Canvas framework that renders vector shapes
  • Keyboard, mouse, joystick input
  • Unicode text input
  • Ownership memory model
  • Entity-component model
  • Live asset reloading
  • Built-in camera logics for quick and easy navigation (freeview and first person style view)
  • Box container support for assets
  • Built-in physics engine.

Planned in future:

  • Screen-space reflections
  • Newton Game Dynamics integration.

Usage

To use latest stable Dagon, add the following dependency to your dub.json:

"dagon": "~>0.11.0"

Instead of manually configuring a new Dagon project, you can use a template with dub init. Create an empty directory for the project, cd to it and run the following:

dub init --type=dagon
dub build

Runtime Dependencies

On Windows runtime dependencies are automatically deployed if you are building with Dub. On other platforms you have to install them manually.

Documentation

See tutorials and corresponding examples.

License

Copyright (c) 2016-2020 Timur Gafarov, Rafał Ziemniewski, Mateusz Muszyński, Björn Roberg, dayllenger. Distributed under the Boost Software License, Version 1.0 (see accompanying file COPYING or at http://www.boost.org/LICENSE_1_0.txt).

Sponsors

Rafał Ziemniewski, Kumar Sookram, Aleksandr Kovalev, Robert Georges, Jan Jurzitza (WebFreak), Rais Safiullin (SARFEX), Benas Cernevicius, Koichi Takio.

Made with Dagon

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].