Ali Cheraghi
266e7a548b
core: refactor
2024-07-13 09:06:35 -07:00
Ali Cheraghi
c254337e4b
{core, build}: remove glfw
2024-07-13 09:06:35 -07:00
Ali Cheraghi
539aadf664
sysgpu: remove everything related to dawn
2024-07-13 09:06:35 -07:00
Stephen Gutekanst
98801a258e
remove Dawn / WebGPU support in favor of sysgpu
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 22:08:16 -07:00
Stephen Gutekanst
e6cecc3ebe
core: remove all examples
...
These examples were great at showing how to use the WebGPU and sysgpu APIs
but otherwise had poor code quality, depended on zmath instead of mach.math,
etc. and so are being removed.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 22:08:16 -07:00
Hordur Johannsson
9e4611d5d6
Buffer resources from swap chain were not being released.
2024-07-07 20:03:17 -07:00
Stephen Gutekanst
2f0415a603
sysgpu: fix Texture.getWidth()
...
Authored by @hordurj in https://github.com/hexops/mach/pull/1220/commits/235decb4aa5736f4f25643e960c74ae41088ad4e
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-06 11:18:30 -07:00
Stephen Gutekanst
d9e11a8296
Audio: respect volume properly
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-06 11:16:55 -07:00
Stephen Gutekanst
316f2354d1
mach: add centralized is_debug flag
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-16 10:05:08 -07:00
Stephen Gutekanst
2a7e6049fd
linux: update to latest vulkan-zig API; fix build
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00
Stephen Gutekanst
130c474874
fix windows build
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00
Stephen Gutekanst
707e5cc756
update to Zig 2024.05
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 18:57:45 -07:00
Stephen Gutekanst
2f406c341f
move mach-objc-generator to src/mach/objc-generator
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:57:01 -07:00
Stephen Gutekanst
b09b462ef1
src/sysjs: move sysjs@v0 to here
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:34:39 -07:00
Stephen Gutekanst
ffd03c3b0b
remove examples that require model3d
...
See hexops/mach#969
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 09:01:09 -07:00
Stephen Gutekanst
13ff5097db
module: fix potential archetype hash collision lookup issues
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-26 18:04:08 -07:00
Stephen Gutekanst
b6a7296251
sysaudio: examples: add support for 8ch output
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-26 13:00:29 -07:00
Stephen Gutekanst
aa0ec4ba5e
module: remove archetypeByID, improve "entity does not exist" error cases
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-24 13:42:29 -07:00
Stephen Gutekanst
f4f89af8b9
gfx: Sprite/Text: add ability to specify view*projection matrix
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-24 07:17:14 -07:00
Stephen Gutekanst
b261a8177f
gfx: Sprite: sort/draw sprites back-to-front always
...
Prior to this change sprite draw order was not something we could specify,
now we can by changing the Z value of sprites (sprites further away / with
greater Z values are drawn first), which is obviously desirable for layering
and alpha blending purposes.
The implementation here is rather naive: we sort all sprites each frame based
on their Z value; but its performance is quite good with ~half a million sprites
and so is good enough for now.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 18:13:26 -07:00
Stephen Gutekanst
1237858359
math: fix projection2D bug with reverse-z
...
This went unnoticed because our test had near=-100 and far=100 which
is pretty uncommonly balanced, added a new test near=0 far=100 to test
for this.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 18:12:34 -07:00
Stephen Gutekanst
a6157642b8
Audio: fix accounting for remainder of sample buffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 17:35:22 -07:00
Stephen Gutekanst
4ac222b36c
gfx: Sprite: minor shader simplification
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:24:40 -07:00
Stephen Gutekanst
031164d9b5
gfx: Text: add ability to change font color
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:22:25 -07:00
Stephen Gutekanst
f79351ed59
wip
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:21:33 -07:00
Stephen Gutekanst
205a1f33db
Core: support configuring window before it opens
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-14 00:12:26 +02:00
Stephen Gutekanst
122a1ea9a7
{gfx,examples}: simplify text rendering API a bit
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-14 00:12:26 +02:00
Ali Chraghi
182c6a9180
math: collision module
2024-05-14 00:07:47 +02:00
Ali Chraghi
6e5c68c1c7
Audio: don't deinit the player
2024-05-13 14:54:51 +02:00
Ali Chraghi
39bf303057
Audio: add volume component
2024-05-13 14:54:51 +02:00
Stephen Gutekanst
9a059d6f8c
Audio: fix unlock
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 07:57:38 +02:00
Stephen Gutekanst
194fe8a451
Audio: fix potential exit deadlock
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 07:54:14 +02:00
Stephen Gutekanst
36f21d5c4d
Audio: correct deinit race across threads
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 04:20:16 +02:00
Ali Chraghi
cadaa3e85b
sysaudio: revive i24 samples
2024-05-12 07:34:25 -07:00
Andrew Gutekanst
73a1ea4650
sysaudio: fix crash on windows without a mic/capture device
2024-05-12 07:29:13 -07:00
Andrew Gutekanst
f080a1c31e
sysaudio: fix wasapi wave format selection
2024-05-12 07:29:13 -07:00
Stephen Gutekanst
6e4105d8e2
math: add lerp
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:26:46 +02:00
Stephen Gutekanst
ca27f1e263
Core: add window size in virtual pixels, update info each frame
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:26:34 +02:00
Stephen Gutekanst
07e61fde30
module: bump eval branch quota on ComponentName
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:25:59 +02:00
Stephen Gutekanst
0200bed7ec
examples: simplify dependencies, mach depends on Opus
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-11 14:35:54 -07:00
Stephen Gutekanst
8578613adc
module: fix ECS alignment issues caught only on Windows
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-11 14:22:48 -07:00
Stephen Gutekanst
10f35a49ef
module: fix swap removal bug, improve code clarity
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-09 17:37:17 -07:00
Stephen Gutekanst
22ac26b57e
module: rename events -> systems, remove 'event arguments'
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
83d436ffa4
module: remove "global events" concept
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
8d669537dc
module: make adding/removing components/entities legal during query iteration
...
This makes adding/removing components and entities legal during the execution
of a query iterator. Previously, this could invalidate the iterator slices at
worst leading to UB. This fixes the issue by deferring all such actions until
after no queries are pending (i.e. all iterators have finished running)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
27754cdf1f
gfx: add TODO for SpritePipeline multi-texturing
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
6feaad630e
{examples,Audio}: optimize needless setComponent calls away
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
57767c2f9f
module: remove deprecated query API
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
b5b094642a
gfx: Text: remove __entities internal usage
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
e041bc65ea
gfx: Text: cache loaded font at least
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00