glsl math library based on gl3n

Package Information

Version 0.1.2 (2017-Jan-08)
License MIT
Copyright Copyright (c) 2016 David Herberth Peter Particle
Authors David Herberth, Peter Particle
Registered by Peter Particle
Dependencies none


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




A variant of glsl for DLang, based on gl3n but tries to be closer to glsl

Differences to gl3n similar to glsl

  • vector aliases follow glsl, e.g. ivec3 instead of vec3i
  • vector swizzle operators on left- and right hand side of assignment
  • swizzling is limited to four property letters
  • swizzle sets {x,y,z,w}, {r,g,b,a} and {s,t,p,q} are distinct and cannot be combined (e.g. v.rx is not possible)
  • matrices are row major, besides following glsl its easier to upload a struct of matrices into an UBO
  • matrix is an array of vectors, access matrix column vector with index and field/swizzle properties (e.g. mat[2].zx)

Differences to glsl similar to gl3n

  • matrix determinants and inversions
  • creating and editing matrices with translate, rotate, scale
  • creating orthographic and projection matrices (later case one param less than gl3n's)
  • quaternions (soon to come)

Available versions

0.1.2 0.1.1 0.1.0 ~master