Commit graph

3425 commits

Author SHA1 Message Date
Joel D. Schüller
8613ba9b17 math: Add tests for basic Vec operations
Tests for add, sub, div, mul, addScalar, subScalar, divScalar, mulScalar
2023-09-23 04:19:18 -07:00
Olle Lukowski
45b23264da math: add perspective camera matrix 2023-09-22 16:40:57 -07:00
Joel D. Schüller
b6e0539c52 math: Add tests for new Vec operations
Tests for max, min, inverse, negate, maxScalar, minScalar
2023-09-22 09:51:55 -07:00
Joel D. Schüller
7597f03b71 math: Implement more Vec operations
max, min, inverse, negate, maxScalar, minScalar
2023-09-22 09:51:55 -07:00
Stephen Gutekanst
c16cddd250 all: refactor: cleanup module structure
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-22 08:24:16 -07:00
Stephen Gutekanst
52c4eb5d74 all: canonicalize import paths with mach- prefix
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 14:36:21 -07:00
Stephen Gutekanst
26a9392188 build: remove earcut dependency
Related to hexops/mach#967

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 14:10:22 -07:00
Stephen Gutekanst
4d18ef54df build: link freetype+harfbuzz
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 14:09:32 -07:00
Stephen Gutekanst
aaac8ebbfd build: refactor test code
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 11:24:33 -07:00
Stephen Gutekanst
164e52cd85 editor: move to github.com/hexops/mach-editor
Fixes hexops/mach#1018

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 11:00:21 -07:00
Stephen Gutekanst
8a57ea059c gfx2d: add initial text rendering ECS module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 07:27:28 -07:00
Stephen Gutekanst
0803e71a0e gfx2d: cleanup sprite2d in prep for text2d
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-18 08:43:21 -07:00
Wrench[bot]
3d04466546 all: update Zig to version 0.12.0-dev.389+61b70778b
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2023-09-17 18:13:59 -07:00
Stephen Gutekanst
932a0a9979 fix straggling transitive dependencies
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-17 17:19:43 -07:00
Stephen Gutekanst
17dffd8966 fully escape transitive dependency hell
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-17 17:16:26 -07:00
Stephen Gutekanst
dc63ee5460 further escape transitive dependency hell
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-17 17:12:19 -07:00
Stephen Gutekanst
6999d718a5 update to latest version & escape transitive dependency hell
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-17 16:53:54 -07:00
Olle Lukowski
445265c554
math: add more tests (#1001) 2023-09-15 10:57:44 -07:00
Olle Lukowski
93357bd358
math: add initial Quaternion implementation (#1000) 2023-09-15 10:38:46 -07:00
Stephen Gutekanst
b7ad36078f gfx2d: even larger sprite buffer; fix reference counting
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-13 18:04:43 -07:00
Stephen Gutekanst
45cbfcf7b6 gfx2d: redesign Sprite2D
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-13 18:04:43 -07:00
Stephen Gutekanst
b83b71e2b2 engine: add render pass / encoder / queue management
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-13 18:04:43 -07:00
Stephen Gutekanst
4d2c917b66 gfx2d: begin Sprite2D new design
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-13 18:04:43 -07:00
Stephen Gutekanst
77b95aa9a9 math: fix lerp reference
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-09 19:24:03 -07:00
Stephen Gutekanst
fe517f3efb math: improve debug build performance
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-09 18:24:10 -07:00
Stephen Gutekanst
b96e8ac995 gfx2d: use latest mach.math API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 23:18:51 -07:00
Stephen Gutekanst
578bd4f22c math: minor fixes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 23:18:31 -07:00
Stephen Gutekanst
c6a22fd913 math: add matrix rotation constructors
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 22:48:15 -07:00
Stephen Gutekanst
d814bb1527 math: add matrix multiplication
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 22:36:10 -07:00
Stephen Gutekanst
7e8e1c03b9 math: add matrix transposition
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 21:47:13 -07:00
Stephen Gutekanst
5dda26960d math: add matrix column/row getters
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 21:24:34 -07:00
Stephen Gutekanst
de90bb6c12 math: make matrix init visually match scientific notation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 20:18:39 -07:00
Stephen Gutekanst
8fd84a6bda math: add Matrix translation getters
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 18:08:11 -07:00
Stephen Gutekanst
94540a4332 math: add orthographic projection
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 17:53:37 -07:00
Stephen Gutekanst
eba9390616 math: add Matrix translation constructors
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 17:50:30 -07:00
Stephen Gutekanst
5095002b1e math: add Matrix scaling constructors
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 17:10:20 -07:00
Stephen Gutekanst
d23d662adb math: add Vec element-wise >,>=,<,<= operators
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 16:55:11 -07:00
Stephen Gutekanst
b81e416e02 math: various fixes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 16:54:10 -07:00
Stephen Gutekanst
40a1ba0431 math: use extern struct for guaranteed memory layout
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 14:53:18 -07:00
Stephen Gutekanst
0538698bda math: add some more std.math re-exports
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-08 14:46:13 -07:00
Stephen Gutekanst
f2f6df9f7b all: fix the build
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 17:04:30 -07:00
Stephen Gutekanst
5b25db1025 math: begin rewrite of mach.math
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 17:01:54 -07:00
Stephen Gutekanst
6b5a9990b9 testing: use "eql", not "equal(s)"
This is more consistent with the stdlib everywhere other than `std.testing`.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 15:43:58 -07:00
Stephen Gutekanst
2781d4afd4 add mach.testing
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 14:31:43 -07:00
Stephen Gutekanst
c505acf95c testing: add mach.testing module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 14:31:21 -07:00
Stephen Gutekanst
8ea33c0578 update dependencies
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-03 08:08:39 -07:00
Stephen Gutekanst
35742d1591 editor: update to latest mach-ecs API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-02 16:13:49 -07:00
Stephen Gutekanst
2b9ec3ba4c gfx2d: alpha blending Sprite2D
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-02 09:52:47 -07:00
Stephen Gutekanst
67dbe9b3ee update to latest mach-ecs (messages with parameters)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-02 09:52:19 -07:00
Stephen Gutekanst
9b142c7621 gfx2d: update to latest mach-ecs API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-01 17:12:40 -05:00