Commit Graph

97 Commits

Author SHA1 Message Date
Martin Fouilleul e4d9955e83 [gles] expose GLES surface and GLES API to orca apps.
- Allow orca app to request either Canvas or GLES surfaces
- Add bounds check specifications to the json bindings spec format and to the bindings generator scripts.
- Generate GLES API json bindings spec from gl.xml
- Remove APIs that can't be bound with current wasm memory model (ie buffer mapping)
- Manually link remaining APIs, except glGetString
- Add fluid simulation sample
- Add abort messages for wasm loading and runtime fatal errors
- Adapt orca build tool to generate GLES json spec from gl.xml
- Adapt glesTriangle and fluid samples build scripts to new orca build tool
2023-08-08 22:54:29 +02:00
bvisness 3fae3252a1 Convert build scripts to Python (#31)
All the tooling has been built into a new command-line tool, `orca`. To use it, just run `orca -h`.

To build the samples, you must first install the orca tooling by running `orca dev install`. This simulates what it will be like to actually use the orca tooling as an end user, without the source checked out. Mostly. (I don't yet have it downloading pre-built copies of the Orca runtime libraries and `orca.exe`.)
Co-authored-by: Ben Visness <ben@bvisness.me>
Co-authored-by: Ben Visness <bvisness@gmail.com>
Co-authored-by: Martin Fouilleul <martinfouilleul@gmail.com>
Reviewed-on: #31
Co-authored-by: bvisness <ben@handmade.network>
Co-committed-by: bvisness <ben@handmade.network>
2023-08-08 09:38:43 +00:00
Reuben Dunnington a658e714c3
remove pthreads references from mkapp.py 2023-07-31 15:10:43 -07:00
MartinFouilleul e642c38a4d Merge pull request 'mp_thread' (#26) from mp_thread into main
Reviewed-on: #26
2023-07-31 18:36:54 +00:00
Reuben Dunnington 164540ea8c
update milepost submodule 2023-07-31 11:10:03 -07:00
Reuben Dunnington b9bd2723a9
replace pthread with mp_thread 2023-07-30 21:35:08 -07:00
MartinFouilleul 93acffa277 Merge pull request 'Fully replace bindgen.py with bindgen2.py' (#25) from bindgen2_all_apis into main
Reviewed-on: #25
2023-07-29 10:22:20 +00:00
Martin Fouilleul b77eba597b updating build.sh to reflect changes in bindings generation 2023-07-29 12:21:08 +02:00
Reuben Dunnington 71236240ab
fully replace bindgen.py with bindgen2.py
* Removes core_api and gles_api .txt bindings and replaces them with .json versions
* Rename bindgen2.py to bindgen.py, effectively deleting the old script
* Update build.bat to reflect new changes
2023-07-28 22:20:26 -07:00
Martin Fouilleul 835097f8b5 update milepost: allow renderer to use multiple image sources per batch 2023-07-28 10:58:26 +02:00
martinfouilleul 3dd85fdf74 [milepost] update milepost (gl canvas buffers size improvements) 2023-07-27 15:40:56 +02:00
martinfouilleul 23f0d75e20 Merge branch 'autoresize_surfaces' 2023-07-26 17:43:58 +02:00
martinfouilleul 81b700121f update milepost 2023-07-26 17:42:48 +02:00
martinfouilleul a1068c979a [win32] fix mp_window_center() 2023-07-26 17:38:24 +02:00
martinfouilleul de28d37d57 [win32] update window rect API and reported window sizes to match macos 2023-07-26 16:55:04 +02:00
Martin Fouilleul 756b085c5f [osx] update milepost, more consistent window rect api 2023-07-26 15:58:39 +02:00
Martin Fouilleul 213663a09c [milepost update] use autoresizeMask to resize surfaces to the parent window's client area 2023-07-25 17:02:38 +02:00
martinfouilleul 225b506dd4 [win32, surface] automatically resize surfaces to parent window's client area 2023-07-25 14:21:44 +02:00
MartinFouilleul b4893961fd Merge pull request 'Ignore win32 Pong app' (#19) from ignore-pong into main
Reviewed-on: #19
2023-07-16 15:24:39 +00:00
MartinFouilleul 5b40414f52 Merge branch 'main' into ignore-pong 2023-07-16 15:22:39 +00:00
martinfouilleul 86f6eb028c update milepost to fix win32 gl renderer 2023-07-16 17:21:43 +02:00
MartinFouilleul a95de7902f Merge pull request 'Milepost UI demo' (#18) from ilidemi/orca:ui into main
Reviewed-on: #18
2023-07-16 15:19:08 +00:00
Ben Visness 236fa7f8bd Ignore win32 Pong app 2023-07-15 18:48:47 -05:00
Ilia Demianenko d9ab264f81 Bring back exports 2023-07-15 15:56:02 -07:00
Ilia Demianenko 6c91caddc0 Fix event passing 2023-07-15 15:55:50 -07:00
Ilia Demianenko 5fa9c3c34c Fixes 2023-07-15 00:49:41 -07:00
Ilia Demianenko 7450930ae8 minor 2023-07-15 00:20:45 -07:00
Ilia Demianenko bffcaa4abf Feedback 2023-07-15 00:15:07 -07:00
Ilia Demianenko a683c163cb Merge branch 'main' into ui 2023-07-13 21:53:57 -07:00
Ilia Demianenko 0eefeb3747 UI demo 2023-07-13 21:39:39 -07:00
martinfouilleul fd205df8a7 update milepost 2023-07-07 15:48:28 +02:00
Martin Fouilleul 301020ee9a update milepost to fix issue 15 with discord screen sharing 2023-07-07 10:44:16 +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 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
Ben Visness e2a2116cb2 Make pong prettier 2023-07-04 16:14:14 -05: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
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
Ben Visness b792476d36 We can render text! 2023-06-28 20:43:52 -05: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 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 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
Martin Fouilleul 4e90290add [build] check if wasm3/milepost dependencies are present and build them otherwise 2023-06-26 11:13:09 +02:00