GFM is a feature-rich library to ease the creation of video games / multimedia applications with the D programming language. Pick what you need.
Overview:
    - gfm.core:
        
            - queue.d: a dead simple queue/fifo/stack/ring-buffer, with a range interface.
 
            - memory.d: aligned malloc/free/realloc.
 
         
     
    - gfm.math:
        
            - vector.d: small vectors for 2D and 3D.
 
            - matrix.d: small matrices for 2D and 3D.
 
            - quaternion.d: quaternions.
 
            - box.d: half-open intervals (for eg. rectangles, AABB).
 
            - simplerng.d: random distributions: a port of SimpleRNG from John D. Cook.
 
            - shapes.d: segment, triangle, sphere, ray, plane, frustum.
 
            - funcs.d: useful math functions, polynomial solvers, statistics.
 
         
     
     - gfm.integers:
        
            - half.d: 16-bit floating point type.
 
            - wideint.d: 2^N bits integers (recursive implementation, covers cent/ucent).
 
            - fixedpoint.d: fixed-point numbers.
 
         
     
    - gfm.opengl:
        
            - OpenGL wrapper based on package derelict-gl3.
 
            - 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.
 
            - practical shader uniforms support: set them at any time, with id caching, and support pruned uniforms.
 
            - legacy multi-texture support which is needed for a low-spec game.
 
            - built-in OpenGL debug output forwarding.
 
         
     
    - gfm.sdl2:
        
            - SDL 2.x wrapper based on package derelict-sdl2.
 
            - including SDL_image and SDL_ttf wrappers.
 
            - built-in SDL logging forwarding.
 
         
     
    - gfm.logger:
        
            - log.d: coloured console logger implementation based on std.logger.
 
         
     
    - gfm.freeimage:
        
            - FreeImage wrapper based on package derelict-fi.
 
         
     
    - gfm.assimp:
        
            - Assimp wrapper based on package derelict-assimp3.
 
         
     
Dealing with resources in D.
Be sure to read these entries on d-idioms: