dlib

dlib - general purpose library

Description: 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.

Modules

audio
module dlib.audio

This package provides basic tools for sound processing. It currently supports bit depths 8 and 16 (signed and unsigned), as well as arbitrary sample rate and number of channels. Design principles of dlib.audio are closely akin to dlib.image.

coding
module dlib.coding

Data coding and compression algorithms

concurrency
module dlib.concurrency

A thread pool for running tasks in parallel

container
module dlib.container

Containers

core
module dlib.core

Provides functionality that is used by all other dlib packages

filesystem
module dlib.filesystem

Abstract FS interface and its implementations for Windows and POSIX filesystems

geometry
module dlib.geometry

Computational geometry

image
module dlib.image

Image processing

math
module dlib.math

Linear algebra and calculus

memory
module dlib.memory

Allocators and memory management functions

network
module dlib.network

Networking and web functionality

serialization
module dlib.serialization

Data serialization

text
module dlib.text

Text processing

Public Imports

dlib.audio
public import dlib.audio;
Undocumented in source.
dlib.coding
public import dlib.coding;
Undocumented in source.
dlib.concurrency
public import dlib.concurrency;
Undocumented in source.
dlib.container
public import dlib.container;
Undocumented in source.
dlib.core
public import dlib.core;
Undocumented in source.
dlib.filesystem
public import dlib.filesystem;
Undocumented in source.
dlib.geometry
public import dlib.geometry;
Undocumented in source.
dlib.image
public import dlib.image;
Undocumented in source.
dlib.math
public import dlib.math;
Undocumented in source.
dlib.memory
public import dlib.memory;
Undocumented in source.
dlib.network
public import dlib.network;
Undocumented in source.
dlib.serialization
public import dlib.serialization;
Undocumented in source.
dlib.text
public import dlib.text;
Undocumented in source.

Meta

Authors

Timur Gafarov