## Description

glsl math library based on gl3n

## Package Information

Version | 0.1.2 (2017-Jan-08) |

Repository | https://github.com/ParticlePeter/DLSL |

License | MIT |

Copyright | Copyright (c) 2016 David Herberth Peter Particle |

Authors | David Herberth, Peter Particle |

Registered by | Peter Particle |

Dependencies | none |

## Installation

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

dub.json

dub.sdl

## Readme

## DLSL

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