dlib - general purpose library
dlib is a high-level general purpose library for D language intended to game engine developers. It provides basic building blocks for writing graphics-intensive applications: containers, data streams, linear algebra and image decoders.
dlib has no external dependencies aside D's standard library. dlib is created and maintained by Timur Gafarov.
If you like dlib, please support its development on Patreon or Liberapay. You can also make one-time donation via PayPal or NOWPayments.
If you want to use dlib on macOS then, please, first read the manifesto.
Currently dlib consists of the following packages:
- dlib.core - basic functionality used by other modules (memory management, streams, threads, 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.math - linear algebra and numerical analysis (vectors, matrices, quaternions, linear system solvers, interpolation functions, 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 - memory allocators
- dlib.text - text processing, GC-free strings, Unicode decoding and encoding
- dlib.serialization - data serialization (XML and JSON parsers)
- dlib.coding- various data compression and coding algorithms
- dlib.concurrency - a thread pool.