Description

D gamedev toolkit. 3D maths, 128-bit integers, OpenGL/SDL/FreeImage/Assimp wrapper, coloured logger

Package Information

Version6.2.7 (2017-Mar-10)
Homepage http://github.com/d-gamedev-team/gfm/
Repository https://github.com/d-gamedev-team/gfm
Licensepublic domain
Copyrightnone
AuthorsDaniele Bondi / maeriden: Euler angles fix, Francesco Cattoglio: OpenGL wrapper improvements, John D. Cook: original SimpleRNG author, Steven Dwy / Yoplitein: sdl_mixer wrapper, documentation improvements, Daniel Cousens / RommelVR: GL fix, Gerbrand Kamphuis / vuaru: many fixes, Kyle Hunter / Kelet: ENet wrapper, Sam Hocevar: original author of some bits of code, Guillaume Piolat / ponce: main author of GFM, Ryan Roden-Corrent / rcorre: math package improvements, Tanel Tagaväli / clinei: SDL audio wrapper, H. S. Teoh / quickfur: wideint improvements
Registered byponce
Sub packages
gfm:core
gfm:math
gfm:integers
gfm:assimp
gfm:opengl
gfm:sdl2
gfm:freeimage
gfm:logger
Dependencies

gfm:integers

gfm:core

gfm:math

gfm:freeimage

gfm:sdl2

gfm:opengl

gfm:logger

gfm:assimp

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

GFM Build Status

<img alt="logo" src="https://cdn.rawgit.com/p0nce/gfm/master/logo.svg" width="200">

GFM is a lightweight library to ease the creation of video games / multimedia applications with the D programming language.

Documentation and overview are here: http://d-gamedev-team.github.io/gfm/

See the changelog here to upgrade: https://github.com/d-gamedev-team/gfm/wiki/Changelog

License

Public Domain (Unlicense).

How to use GFM?

Add the sub-package you are interested in in your dub.json:

   {
      "dependencies": {
        "gfm:math": "~>6.0"
      }
   }

See the examples/ directory, or https://github.com/p0nce/aliasthis as an example of a game.

Changelog

https://github.com/d-gamedev-team/gfm/wiki/Changelog

Who is using GFM?

Why use GFM?

  • GFM has a changelog and respects SemVer,
  • GFM has low churn and has been maintained since 2012,
  • GFM primarily provides math primitives that are useful for games like vectors/matrices/quaternions in the gfm:math package,
  • Also provide arbitrary sized integers, fixed point numbers, and half-float numbers in gfm:integers,
  • Other subpackages are wrappers: transparent layers that expose the C libraries objects, turn every error code into an D exception and makes it easier to use the library correctly. They do almost nothing and perhaps you don't need them.

Dependencies

You absolutely don't need to use the whole of GFM. Pick just what you need to minimize the amount of dependencies.

There is an ongoing work to delete things in GFM that exist elsewhere but better. See http://code.dlang.org to discover lots of useful libraries for your programs.

So you'll find that GFM actually decreases in size over time.

Available versions

6.2.7 6.2.6 6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.4 6.1.3 6.1.2 6.1.1 6.1.0 6.0.3 6.0.2 6.0.1 6.0.0 5.0.10 5.0.9 5.0.8 5.0.7 5.0.6 5.0.5 5.0.4 5.0.3 5.0.2 5.0.1 5.0.0 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.3.37 2.3.36 2.3.35 2.3.34 2.3.33 2.3.32 2.3.31 2.3.30 2.3.29 2.3.28 2.3.27 2.3.26 2.3.25 2.3.24 2.3.23 2.3.22 2.3.21 2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 2.3.12 2.3.11 2.3.10 2.3.9 2.3.8 2.3.7 2.3.6 2.3.5 2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.9 2.2.8 2.2.7 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 2.2.1 2.2.0 2.1.1 2.1.0 2.0.16 2.0.15 2.0.14 2.0.13 ~master