gfm is a collection of useful classes for multimedia programming with the D language.
- a common ground to write multimedia D applications, that I would consider sane.
- boilerplate code you will probably need to write anyway for eg. a game.
- decoupled. Pick only the part you need!
Everything in this repositery is "public domain", except for parts marked with a star (*). See UNLICENSE for more details.
- log.d HTML logging object
- queue.d queue/fifo/stack/ring-buffer, with range interface
- lockedqueue.d synchronized queue for thread communication
- memory.d aligned malloc/free/realloc
- alignedbuffer.d aligned array-like container
- structpool.d small object area
- text.d string utilities
- uri.d URI parsing (RFC 3986)
- httpclient.d HTTP client (RFC 2616)
- vector.d small vectors for 2D and 3D
- matrix.d small matrices for 2D and 3D
- quaternion.d quaternions
- half.d half floats
- softcent.d: 128 bits integers (cent/ucent implentation), including division algorithm from Ian Kaplan*
- box.d half-open intervals (for eg. AABB)
- fixedpoint.d fixed-point numbers
- fraction.d rational numbers
- statistics.d statistical functions
- solver.d polynomial solvers up to quadratic
- simplerng.d random distributions: a port of SimpleRNG from John D. Cook*
- easing.d a port of easing functions from Robert Penner*
- shapes.d segment, triangle, sphere, ray...
- plane.d 3D plane
- frustum.d 3D frustum
- funcs.d useful math functions
- image.d generic abstract image and software rendering routines
- bitmap.d planar concrete image
- cie.d physical color computations
- SDL 2.0 wrapper based on Derelict3
- including SDL_image and SDL_ttf wrappers
- framerate statistics
- FreeImage wrapper based on Derelict3
- FIBITMAP wrapper
- OpenGL wrapper based on Derelict3
- makes easier to use the OpenGL API correctly
- including a matrix stack to replace fixed pipeline
- including compilation of a single source for multiple shaders
- Assimp wrapper based on Derelict3
- scene wrapper
More to come