Skip to content

Commit

Permalink
Update dub and README
Browse files Browse the repository at this point in the history
  • Loading branch information
LunaTheFoxgirl committed Jun 8, 2024
1 parent f76b3db commit 27f044e
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 37 deletions.
71 changes: 35 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
Inochi2D Math
InMath
====

inmath is a fork of [gl3n](https://github.com/Dav1dde/gl3n) meant for use within Inochi2D, containing modifications specific to Inochi2D.
inmath provides all the math you need to work with OpenGL. Currently inmath supports:

* linear algebra
* vectors
* matrices
* quaternions
* geometry
* axis aligned bounding boxes
* planes
* frustum (use it with care, not a 100% tested)
* interpolation
* linear interpolation (lerp)
* spherical linear interpolation (slerp)
* hermite interpolation
* catmull rom interpolation
* noise
* opensimplex2 noise generation
* colors - hsv to rgb and rgb to hsv conversion
* nearly all GLSL defined functions (according to spec 4.1)
* the power of D, e.g. dynamic swizzling, templated types (vectors, matrices, quaternions), impressive constructors and more!

inmath is slightly different from gl3n in the following ways
* No unexpected side effects
* No unexpected casts
* Vector multiplication is _not_ dot product.
* Multiplying vectors does pair-wise multiplication instead.
* inmath uses camelCase for the naming of things
* inmath simplifies parts of gl3n by removing excessive use of aliases.
* inmath is usable without the GC!

License
=======

inmath, like gl3n is MIT licensed, which allows you to use it everywhere you want it.
InMath, forked from gl3n, is a mathematics library for D providing math functions useful for multimedia software.

InMath provides all the math you need to work with OpenGL and Metal.

* Linear algebra
* Vectors
* Matrices
* Metal-compatible orthographic and projection matrix functions! (`perspective01`, `orthographic01`)
* Quaternions
* Rectangles
* AABBs
* Planes,
* Frustrums
* Interpolation
* Linear interpolation (`lerp`)
* Spherical linear interpolation (`slerp`)
* Hermite interpolation
* Catmull rom interpolation
* Cubic interpolation
* Dampening
* Basic distance based dampening (`dampen`)
* Dampened Harmonic Oscillator (`smoothDamp`)
* Noise
* OpenSimplex2
* Colors
* HSV<->RGB conversion
* Hexstring to RGB(A) conversion
* RGBA32<->RGBAF conversion
* No unexpected side effects
* No unexpected casts
* Vector multiplication is _not_ dot product.
* InMath uses camelCase for the naming of things
* InMath simplifies parts of gl3n by removing excessive use of aliases.
* InMath is usable without the GC!

Installation
============
Expand Down
2 changes: 1 addition & 1 deletion dub.sdl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name "inmath"
description "Inochi2D Math Library (fork of gl3n)"
description "Games math library for D"
homepage "https://github.com/Inochi2D/inmath"
authors "David Herberth" "Inochi2D Project"
copyright "Copyright © 2011-2021, David Herberth, 2022 Inochi2D Project"
Expand Down

0 comments on commit 27f044e

Please sign in to comment.