Martin Fouilleul
98a516ff0a
[osx, canvas] start with small input buffers and grow them as needed
2023-07-11 17:00:17 +02:00
Martin Fouilleul
fc07a0d018
[osx, canvas] use 32 pixels-wide tiles
2023-07-11 14:27:15 +02:00
Martin Fouilleul
9e8a0f5f69
[osx, canvas] Only dispatch raster shader for tiles that are overlapped by at least one path.
2023-07-10 20:20:18 +02:00
Martin Fouilleul
bfc7530bcf
[osx, canvas]
...
- Only super sample coverage at 8x rate, and accumulate pixel color in a single color value
- Super sample images at lower 2x rate
- Cull tiles outside clip
- Bypass coverage for fully covered tiles
2023-07-10 17:52:34 +02:00
Martin Fouilleul
a65b0cc1bb
[osx, surface] Query list of available metal devices, and select a discrete GPU if available. This way we avoid calling MTLCreateSystemDefaultDevice() which messes with Discord's screen sharing, while also being able to take GPU frame captures in XCode (which was broken by 9bfae2c4e8
)
2023-07-10 11:28:49 +02:00
Martin Fouilleul
7573c40c56
[mtl, canvas] remove unused hull matrix
2023-07-07 16:44:32 +02:00
martinfouilleul
fd205df8a7
update milepost
2023-07-07 15:48:28 +02:00
martinfouilleul
59fdc27ac6
[gl, canvas]
...
- Haul path color and texture sampling outside of per-sample loop
- Pack gl input structs a bit
- Set correct hint flags for glBufferData()
2023-07-07 15:45:06 +02:00
Martin Fouilleul
301020ee9a
update milepost to fix issue 15 with discord screen sharing
2023-07-07 10:44:16 +02:00
Martin Fouilleul
9bfae2c4e8
[osx, metal] Set metal layer's device to layer.preferredDevice instead of calling MTLCreateDefaultSystemDevice(). This fixes issue 15 so we can use Discord's screen sharing while using Orca. This will need to be revisited when we want to actually use a different metal device.
2023-07-07 10:41:17 +02:00
martinfouilleul
f0d910e3e5
[win32] compile wasm3 with optimizations (don't forget to re-run `build.bat wasm3` and the `build.bat orca`)
2023-07-06 15:06:34 +02:00
martinfouilleul
de5c74c607
update milepost to fix crash on windows when deselecting surface
2023-07-06 11:33:36 +02:00
martinfouilleul
806f00417e
[win32, canvas] Fix random crash by correctly setting wgl_surface deselect function pointer to mg_wgl_deselect(). Forgot to do it in 18c793db
, dumb me.
2023-07-06 11:29:57 +02:00
martinfouilleul
7437dd0b0f
Testing superpong on win32
2023-07-05 18:25:14 +02:00
martinfouilleul
4578c8d767
Merge branch 'main' into superpong
2023-07-05 18:13:21 +02:00
martinfouilleul
1e34c3406f
fixing conflict in gl_canvas
2023-07-05 18:07:37 +02:00
Ben Visness
e2a2116cb2
Make pong prettier
2023-07-04 16:14:14 -05:00
Ben Visness
ff5a57fb92
Add some convenient rectangle accessors
2023-07-04 16:13:28 -05:00
martinfouilleul
bdb9ddf888
[win32, canvas] added back texture atlasing and fixed incorrect culling of solid tiles when using a source texture
2023-07-04 17:24:41 +02:00
martinfouilleul
5c4c8ce505
[wip, win32, canvas] adding back textures
2023-07-04 15:59:45 +02:00
martinfouilleul
311cef65e8
[wip, win32, canvas] dispatch path setup, segment setup and backprop in batches of GL_MAX_COMPUTE_WORK_GROUP_COUNT elements
2023-07-03 16:16:39 +02:00
martinfouilleul
e24a872fad
[wip, win32, canvas] encode strokes
2023-07-03 15:16:27 +02:00
martinfouilleul
d00024b515
[wip, win32, canvas] added MSAA to new canvas renderer
2023-07-03 15:00:40 +02:00
martinfouilleul
0e6d67f636
[wip, win32, canvas] Cubics segment setup
2023-07-03 14:21:53 +02:00
martinfouilleul
01aa4f838f
[wip, win32, canvas] quadratics
2023-07-03 12:14:21 +02:00
martinfouilleul
899ad4c030
[wip, win32, canvas] Correctly setup path index in segment_setup.glsl
2023-07-03 11:02:04 +02:00
Ben Visness
6e2457ded3
Remove incorrect extern defs
2023-07-02 09:24:34 -05:00
Ben Visness
8925e3e3a0
Actually draw that background image
2023-07-02 07:22:12 -05:00
Ben Visness
c509c612e1
Add dtrace + spall script
2023-07-02 07:09:39 -05:00
Ben Visness
b1c0754d54
Draw text better, make block layout more interesting
2023-07-02 06:27:29 -05:00
martinfouilleul
e31f6cd4ec
[win32] Fix building the pong sample on win32
2023-07-02 12:50:32 +02:00
martinfouilleul
36c75a55dd
[win32] Fix first image not being rendered in win32 canvas renderer
2023-07-02 12:49:45 +02:00
martinfouilleul
b61d8868d3
[wip, win32, canvas] wip trying to fix multiple shapes
2023-07-02 12:26:54 +02:00
Ben Visness
d139619147
Add paddle angle fun time party
2023-07-01 14:33:28 -05:00
Ben Visness
f6e89e6168
Implement basic breakout
2023-07-01 12:02:41 -05:00
Ben Visness
071e8560d4
A little build script cleanup
2023-06-30 17:14:10 -05:00
martinfouilleul
7628138cee
[wip, win32, canvas] tiling in per-path tile queues, then merge (no backprop for now)
2023-06-30 16:53:36 +02:00
martinfouilleul
f0b7cf32a9
[wip, win32, canvas] winding backprop and right crossing segments
2023-06-30 15:30:05 +02:00
martinfouilleul
0870097262
[wip, win32, canvas] bin segments to screen tile queues
2023-06-30 15:18:37 +02:00
martinfouilleul
15c54b9385
[wip, win32, canvas] segment setup, non tiled
2023-06-29 16:43:38 +02:00
martinfouilleul
f76ff94c28
[wip, win32, canvas] raster elements directly per pixel
2023-06-29 15:48:52 +02:00
Ben Visness
23984e8370
Enable font stuff in Orca
2023-06-28 20:44:13 -05:00
Ben Visness
b792476d36
We can render text!
2023-06-28 20:43:52 -05:00
martinfouilleul
b797f187dc
[wip, win32, canvas] porting new canvas renderer to opengl
2023-06-27 18:53:09 +02:00
Martin Fouilleul
b7e3e83f3e
Block for events in main thread, and avoid burning the planet
2023-06-26 20:00:29 +02:00
Martin Fouilleul
21aa1bef68
[win32] honor timeout value in mp_pump_events
2023-06-26 19:59:34 +02:00
Martin Fouilleul
0d65d19436
str8_to_cstring forwards to str8_push_copy(), which null-terminates the copy
2023-06-26 16:24:12 +02:00
Martin Fouilleul
0a83f26f7b
avoid some unnecessary str8 copies now that arena-allocating string functions null terminate strings
2023-06-26 16:07:44 +02:00
Martin Fouilleul
ffb900d872
String functions that return str8/16/32 allocated on an arena implicitly zero-terminate strings, so we can avoid one copy when passing to C stdlib APIs
2023-06-26 16:06:26 +02:00
Martin Fouilleul
463e6322a4
- Changed mkapp.py flags to embed files and directories.
...
'--resource name' now copies file or directory 'name' into the app's private filesystem
'--resource-dir dir' copies all files _inside_ 'dir' into the app's private filesystem
2023-06-26 12:24:22 +02:00