dlib is a growing collection of native D language libraries useful for various higher-level projects - such as game engines, rendering pipelines and multimedia applications. It is written in D2 and has no external dependencies aside D's standard library, Phobos. dlib is created and maintained by Timur Gafarov.
Important: dlib doesn't support macOS. Please, read the manifesto.
Currently dlib contains the following packages:
dlib.core - basic functionality used by other modules (manual memory management, streams, OOP for structs, etc.)
dlib.container - generic data structures (GC-free dynamic and associative arrays and more)
dlib.filesystem - abstract FS interface and its implementations for Windows and POSIX filesystems
dlib.functional - some functional programming idioms (HOFs, combiners, etc.)
dlib.math - linear algebra and numerical analysis (vectors, matrices, quaternions, linear system solvers etc.)
dlib.geometry - computational geometry (ray casting, primitives, intersection, etc.)
dlib.image - image processing (8-bit, 16-bit and 32-bit floating point channels, common filters and convolution kernels, resizing, FFT, HDRI, animation, graphics formats I/O: JPEG, PNG/APNG, BMP, TGA, HDR)
dlib.audio - sound processing (8 and 16 bits per sample, synthesizers, WAV export and import)
dlib.network - networking and web functionality
dlib.memory - allocators and memory management functions
dlib.text - text processing
dlib.serialization - data serialization (currently includes lightweight XML parser)
dlib.coding - various data compression and coding algorithms
Please, refer to the wiki. Also HTML documentation can be generated from wiki pages using this set of tools. Be aware that documentation is currently incomplete. I'm currently running a Patreon campaign to reach $100 funding per month - help me get there to finish the documentation.
For quick support and overall discussions, use Gitter chat room.
Copyright (c) 2011-2018 Timur Gafarov, Martin Cejp, Andrey Penechko, Vadim Lopatin, Nick Papanastasiou, Oleg Baharev, Roman Chistokhodov, Eugene Wissner, Roman Vlasov, Basile Burg, Valeriy Fedotov. Distributed under the Boost Software License, Version 1.0 (see accompanying file COPYING or at http://www.boost.org/LICENSE_1_0.txt).
- Dagon - 3D game engine for D
- dmech - physics engine
- Atrium - work-in-progress first person puzzle game
- DlangUI - native UI toolkit for D
- Voxelman - voxel-based game engine
- Laser Patriarch - Ludum Dare 36 participant, a rougelike with random maps
- Anchovy - multimedia library for games and graphics apps
- RIP - image processing and analysis library by LightHouse Software
- GeneticAlgorithm - genetic algorithms library
- Orb - a game/engine with procedural content
- Leptbag - physics simulator by Gamma-Lab. Written in C++, but supports D plugins
- aoynthesizer - sound synthesizer based on Lisp-like scripting language
- D-VXLMapPreview - isometric preview generator for Ace of Spades and Iceball maps
If you use dlib, please tell me by email (firstname.lastname@example.org), and I'll add your link to the list.