Commit graph

83 commits

Author SHA1 Message Date
treeform
feca07ded9 Fix #34: ortho(), add tests. 2021-05-08 11:09:22 -07:00
treeform
2acbf2a3c3 Fix issue with rotate matrixes. 2021-05-08 11:01:17 -07:00
treeform
6db149a2be
Add 3 different vector/matrix representations. (#32)
* Add -d:vmathArrayBased to go to array vectors (slow).
* Add -d:vmathObjBased to go to object vectors (faster).
* Add default or just add -d:vmathObjArrayBased to go to object-array vectors (fastest).

Current speed test (using pixie, your results may vary):
```
nim c -r -d:release -d:vmathArrayBased .\tests\benchmark_svg.nim
svg decode ........................ 31.543 ms     38.110 ms    ±5.531  x1000

nim c -r -d:release -d:vmathObjBased .\tests\benchmark_svg.nim
svg decode ........................ 25.620 ms     33.569 ms    ±6.328  x1000

nim c -r -d:release .\tests\benchmark_svg.nim
svg decode ........................ 25.746 ms     33.059 ms    ±5.666  x1000
```
2021-05-08 11:00:29 -07:00
Ryan Oldenburg
322c4f6a98 1.0.4 mat3.pos= 2021-04-27 20:26:39 -05:00
treeform
19eb9dd330 1.0.3: Add fractional, speed up lerp. 2021-04-18 16:50:48 -07:00
treeform
9cdf152ec7 1.0.2: Fix default generic params. 2021-03-26 15:33:36 -07:00
treeform
a4662ebf0a Fix bug with perspective and add back nlerp. 2021-03-26 15:16:36 -07:00
treeform
0f80873e58
vmath 1.0.0 - Breaking Changes. (#29)
# Added a bunch of new types:

Type  | Constructor | Description
------|-------------| ---------------------------------------------------
BVec# | bvec#       | a vector of booleans
IVec# | ivec#       | a vector of signed integers
UVec# | uvec#       | a vector of unsigned integers
Vec#  | vec#        | a vector of single-precision floating-point numbers
DVec# | dvec#       | a vector of double-precision floating-point numbers

## And these types:

NIM     | GLSL   | 2     | 3     | 4     | 9     | 16    | 4     |
--------|--------|-------|-------|-------|-------|-------|-------|
bool    | bool   | BVec2 | BVec3 | BVec4 |       |       |       |
int32   | int    | IVec2 | IVec3 | IVec4 |       |       |       |
uint32  | uint   | UVec2 | UVec3 | UVec4 |       |       |       |
float32 | float  | Vec2  | Vec3  | Vec4  | Mat3  | Mat4  | Quat  |
float64 | double | DVec2 | DVec3 | DVec4 | DMat3 | DMat4 | DQuat |

# 0.x.x to 1.0.0 vmath breaking changes:

* `vec3(v)` no longer works please use `vec3(v.x, v.y, 0)` instead.
* `vec3(v, 0)` no longer works please use `vec3(v.x, v.y, 0)` instead.
* `2 * v` no longer works due to more vec types please use `v * 2` instead.
* `m[15]` no longer works because matrices are now m[x, y].
* Concept of 3x3 rotation 3d matrix was removed.
* `angleBetween` got renamed to `angle(a, b)`
* `scaleMat` got renamed to `scale(v)`
* `rotationMat3` got renamed to `rotate(x)`
2021-03-26 13:58:21 -07:00
treeform
4cb11b87b0 Make sure every type has a hash. 2021-02-28 11:02:59 -08:00
treeform
437f3cc604 0.5.0 - remove inRect, add ~=, change tests. 2021-02-27 21:49:31 -08:00
treeform
f01e2bfb54 Add mat3.pos. 2021-02-25 16:43:00 -08:00
treeform
23e88bb951
Merge pull request #26 from elliotwaite/patch-1
Fix zx proc
2021-01-06 19:09:22 -08:00
Ryan Oldenburg
e8b53ab066 0.4.1 add missing floor, ceil, round 2021-01-06 19:55:45 -06:00
treeform
747262f4e3 Change from template to proc. 2021-01-01 20:14:29 -08:00
Elliot Waite
4a07ed16f3
Fix zx proc 2020-12-17 14:42:35 -08:00
treeform
21dbb2b908 Convert [] from template to inline. 2020-12-15 00:07:36 -08:00
Ryan Oldenburg
0cc7672076 remove rect 2020-12-10 17:14:35 -06:00
Ryan Oldenburg
1254cefe34 let 2020-11-30 12:29:53 -06:00
Ryan Oldenburg
68d2c6a585 fix 2020-11-30 12:28:25 -06:00
Ryan Oldenburg
b50b570447 shorter 2020-11-30 01:35:10 -06:00
Ryan Oldenburg
3c02a64729 formatting 2020-11-30 01:30:17 -06:00
Ryan Oldenburg
f83eb0b7b2 more clear 2020-11-30 01:07:08 -06:00
Ryan Oldenburg
19c9ef1b0b add missing 2020-11-30 00:50:07 -06:00
Ryan Oldenburg
a307f89589 quat 2020-11-30 00:22:10 -06:00
Ryan Oldenburg
7a9bca4236 more 2020-11-29 23:52:10 -06:00
Ryan Oldenburg
d8582e6bdd more mat3 2020-11-29 23:45:57 -06:00
Ryan Oldenburg
1fe7cc09de some mat4 2020-11-29 23:37:25 -06:00
Ryan Oldenburg
39e6fce823 mat3 stuff 2020-11-29 23:26:43 -06:00
Ryan Oldenburg
21a4ac8ebf inline more 2020-11-29 22:29:21 -06:00
Ryan Oldenburg
2ddcdc4dc6 better 2020-11-29 22:23:00 -06:00
Ryan Oldenburg
35c99e641f fix 2020-11-29 22:10:43 -06:00
Ryan Oldenburg
1a5fbe202a mostly inlines + rand 2020-11-29 19:21:58 -06:00
Ryan Oldenburg
80a2b4dade rand param 2020-11-29 18:58:47 -06:00
Ryan Oldenburg
dfa3e2199f vec2 2020-11-29 18:55:54 -06:00
Ryan Oldenburg
9951eb0d0a formatting 2020-11-29 17:05:37 -06:00
Ryan Oldenburg
159c17bf7d remove math. 2020-11-29 17:01:48 -06:00
Ryan Oldenburg
8cb1486367 func->proc 2020-11-29 16:55:52 -06:00
treeform
b51a891ab0 Inline vec2 operations. 2020-11-28 22:15:52 -08:00
treeform
ac1982820c Fix rotationMat3. 2020-11-23 17:13:01 -08:00
treeform
09fac31169 Add translate, scale and fix inverse of mat3 used for 2d graphics. 2020-11-21 20:09:40 -08:00
treeform
79cc774bcc Add and and or for rects. 2020-11-14 18:16:28 -08:00
treeform
7991cea91e Add [] to matrixes. Fix 3x3 matrix to match same order as 4x4 matrix. 2020-11-12 10:00:35 -08:00
treeform
47a9acad51 add quat(hpr) method 2020-08-03 10:04:29 -07:00
Ryan Oldenburg
22364a1c9b shorthands like glsl 2020-05-17 23:41:33 -05:00
guzba
92728c3771
Updated github action, tests work via print testing in a good way (#14)
* remove echo

* nimble build and nimble test working

* rename test output file

* just test

* rename

* compare to valid to ensure tests pass

* improved msg

* fix action

* test

* use git diff instead of masters
2020-05-06 16:58:21 -07:00
treeform
88d15a86a9 Add [] and lerp vec4 functions. 2020-05-01 21:05:23 -07:00
Ryan Oldenburg
14be0bf524 add Mat4 * Vec4, nicer hashing 2020-04-27 18:28:17 -05:00
treeform
7e28503e3c Add floor, round and ceil to vecs. 2020-04-10 21:02:39 -07:00
Ryan Oldenburg
5dbd41b638 rename fov to forward 2020-04-05 22:41:17 -05:00
Ryan Oldenburg
58205cdba9 safe to remove? i dont seem to need it since its just an alias 2020-03-27 10:48:20 -05:00