@@ -15,6 +15,9 @@ v3 = Native.MJS.v3
1515v3add : V3 -> V3 -> V3
1616v3add = Native.MJS.v3add
1717
18+v3sub : V3 -> V3 -> V3
19+v3sub = Native.MJS.v3sub
20+
1821v3length : V3 -> Float
1922v3length = Native.MJS.v3length
2023
@@ -24,6 +27,12 @@ v3normalize = Native.MJS.v3normalize
2427v3scale : V3 -> Float -> V3
2528v3scale = Native.MJS.v3scale
2629
30+v3dot : V3 -> V3 -> Float
31+v3dot = Native.MJS.v3dot
32+
33+v3cross : V3 -> V3 -> V3
34+v3cross = Native.MJS.v3cross
35+
2736v3mul4x4 : M4x4 -> V3 -> V3
2837v3mul4x4 = Native.MJS.v3mul4x4
2938
@@ -36,8 +45,15 @@ m4x4mul = Native.MJS.m4x4mul
3645m4x4makeRotate : Float -> V3 -> M4x4
3746m4x4makeRotate = Native.MJS.m4x4makeRotate
3847
48+m4x4makeTranslate : V3 -> M4x4
49+m4x4makeTranslate = Native.MJS.m4x4makeTranslate
50+
3951m4x4makeLookAt : V3 -> V3 -> V3 -> M4x4
4052m4x4makeLookAt = Native.MJS.m4x4makeLookAt
4153
4254m4x4makePerspective : Float -> Float -> Float -> Float -> M4x4
4355m4x4makePerspective = Native.MJS.m4x4makePerspective
56+
57+{- Custom constructor for supplying arbitrary x,y,z axis -}
58+m4x4makeCoords : V3 -> V3 -> V3 -> M4x4
59+m4x4makeCoords = Native.MJS.m4x4makeCoords