Commit graph

49 commits

Author SHA1 Message Date
Andre von Houck da90d35282
Merge pull request #52 from levovix0/master
fix getters and template -> func for setters in swizzle
2022-08-08 10:33:27 -07:00
treeform a5697855f4 Fix to work around --mm:arc bug. 2022-07-08 16:50:35 -07:00
Ryan Oldenburg 1938d04cf8 simpler quantize + test 2022-06-10 14:32:24 -05:00
levovix0 2575bda2e0 add complex expressions swizzle test 2022-06-05 17:26:03 +03:00
petsqy dcc1f0f5c6 fix GMat4.pos 2021-12-24 12:47:38 +02:00
Ryan Oldenburg 0655a07cf4 update for new pixie 2021-12-16 03:34:29 -06:00
treeform d7cae8670f Fix https://github.com/treeform/vmath/issues/45 2021-11-20 22:26:05 -08:00
treeform 98f8485ff0 Fix https://github.com/treeform/vmath/issues/44 2021-11-20 22:14:44 -08:00
Ryan Oldenburg 1bf21392b9 fix 2021-10-11 21:04:18 -05:00
Ryan Oldenburg 81041ac712 add some vector conversions 2021-10-11 20:45:10 -05:00
treeform 5f8e087818 Add GLM benchmark. 2021-10-04 12:40:39 -07:00
treeform 522bbf3bc0 Depricate lerp use mix, add mod and zmod. 2021-07-15 22:28:16 -07:00
treeform f711a5ff6d
Add Swizzle to all Vecs. (#39)
* Add swizzle based on macro.
* More constructors.
* Make it work with shady.
* Morepretty.
* Add ray tracer output.
* Better typePrefix that works with all vector layouts.
2021-07-12 20:07:40 -07:00
treeform 9196bbfe81 Fix minor issues with Apple M1. 2021-07-11 06:25:13 -07:00
treeform d0aace4c93 Add min/max functions for vectors. 2021-06-11 08:02:30 -07:00
Ryan Oldenburg 6fcea77557 test 2021-06-06 01:01:47 -05:00
treeform 8ad38bafb0 Add more tests and fix JS mode. 2021-06-02 08:13:39 -07:00
treeform 15c2e7b687 Add 3d tray trace benchmark. 2021-05-29 11:48:14 -07:00
treeform 43f9875df8 Change readme. Allow toRad/deg take integers. 2021-05-29 11:24:48 -07:00
treeform 693002bacd 1.0.8: Fix and bench isNan. 2021-05-29 10:55:46 -07:00
treeform a2c0da6255 1.0.7 - Add $ to everything, add isNaN. 2021-05-29 09:29:36 -07:00
treeform feca07ded9 Fix #34: ortho(), add tests. 2021-05-08 11:09:22 -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 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 6160e80b31 Delete old test data. 2021-02-27 21:52:00 -08:00
treeform 437f3cc604 0.5.0 - remove inRect, add ~=, change tests. 2021-02-27 21:49:31 -08:00
treeform 807c802e97 fix quat test try 3 2021-02-27 11:28:23 -08:00
treeform 1a90fe6043 fix quat test try2 2021-02-27 11:26:38 -08:00
treeform 392b566351 fix quat test 2021-02-27 11:24:04 -08:00
Ryan Oldenburg 19c9ef1b0b add missing 2020-11-30 00:50:07 -06:00
treeform 58db254ebe Test cleanup. 2020-11-12 10:11:07 -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
Ryan Oldenburg be7766c418 cleaner 2020-05-06 19:14:34 -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
Ryan Oldenburg 8873f44b04 fix extra comma 2020-03-17 21:10:52 -05:00
Ryan Oldenburg 52f568c162 use strformat for $ 2020-03-17 18:35:41 -05:00
treeform 9602785efe Nimpretty. 2020-03-07 20:56:54 -08:00
guzba c212d3d95b
Improve docs and use unix line endings (#2)
* use unix line endings
* improving some docs
* add mddoc dep
2020-03-05 17:44:26 -08:00
treeform b84d23be05 Change some test stuff. 2019-11-17 17:35:36 -08:00
treeform f71647cf5a test 2019-02-06 08:40:22 -08:00
treeform 960564856a Stupid quats again! 2019-02-06 08:24:43 -08:00
treeform c515641f68 add angleBetween tow angels function 2018-10-14 10:04:28 -07:00
treeform 1bcd8194c1 Remove xmath, remove print dependency 2018-08-19 10:49:49 -07:00
treeform 965e2b06cc update structure 2018-08-12 14:25:42 -07:00
treeform 83c55e5801 Add x-math 2018-08-10 08:57:37 -07:00
treeform e2e2a01a2b add tests 2018-08-10 08:06:50 -07:00