martinfouilleul
|
36c75a55dd
|
[win32] Fix first image not being rendered in win32 canvas renderer
|
2023-07-02 12:49:45 +02:00 |
martinfouilleul
|
83f128fb55
|
[win32, graphics] adding example to test rendering in a secondary thread
|
2023-06-21 19:14:56 +02:00 |
martinfouilleul
|
0366e3d724
|
[win32, graphics] experiments with multisurface with transparent top-level windows
|
2023-06-21 15:48:26 +02:00 |
martinfouilleul
|
ae7a60b942
|
[win32, graphics, wip] working on multi surface, currently using top-level transparent window and moving them to cover the 'parent' window area...
|
2023-06-21 12:36:05 +02:00 |
Martin Fouilleul
|
c357da97f6
|
add multi surface skeleton example
|
2023-06-20 11:47:02 +02:00 |
Martin Fouilleul
|
26a1af344c
|
Fix rpath in examples
|
2023-06-20 11:45:59 +02:00 |
Martin Fouilleul
|
c75661cfc9
|
[io] abstract file io API, using a request/completion model ala io_uring (w/ only synchronous completion for now), and per-platform backend
|
2023-05-25 20:08:38 +02:00 |
Martin Fouilleul
|
02bfe587c8
|
[path] adding platform path functions
|
2023-05-24 16:27:39 +02:00 |
martinfouilleul
|
db0dadd128
|
[win32] allow specifying start folder in open/save dialogs
|
2023-05-23 17:24:38 +02:00 |
martinfouilleul
|
ed45d88cfd
|
[win32] add file type filters to open/save dialogs
|
2023-05-23 16:43:57 +02:00 |
martinfouilleul
|
49de9d0290
|
[win32] added basic mp_save_dialogue() implementation using COM IFileSaveDialog
|
2023-05-23 16:04:49 +02:00 |
martinfouilleul
|
e24500e18d
|
[win32] added basic mp_open_dialog() implementation using COM IFileOpenDialog
|
2023-05-23 15:59:29 +02:00 |
martinfouilleul
|
a54c8b4f4b
|
[win32] alert popup using TaskDialogIndirect(): automatically handles icons, dpi, and text/buttons layout (but requires Vista or higher)
|
2023-05-23 14:50:31 +02:00 |
martinfouilleul
|
f1d8dd1ca9
|
[win32] crappy message box with custom button text. Not DPI aware, doesn't show message box image (eg exclamation/information mark), and has very crude layout...
|
2023-05-23 12:55:57 +02:00 |
martinfouilleul
|
9f7cfd985c
|
[win32] re-introduced perf_text, tiger, and ui examples
|
2023-05-17 15:14:14 +02:00 |
martinfouilleul
|
2bec7a633a
|
[win32] reflected changes to canvas surface interface on GL backend. But implementation still uses the (slower) Loop-Blinn + triangle fan method.
|
2023-05-16 18:06:22 +02:00 |
martinfouilleul
|
b6db5107a3
|
[win32, wip] simple GL triangle example
|
2023-05-12 16:50:14 +02:00 |
martinfouilleul
|
52538248d9
|
[win32, wip] compile and run simple window example
|
2023-05-12 16:46:13 +02:00 |
Martin Fouilleul
|
1ab1d70df2
|
Fix image data not storing surface handle in mg_image_create()
|
2023-05-08 13:01:45 +02:00 |
Martin Fouilleul
|
b27dc615d1
|
Finish separating graphics_common and graphics_surface + add platform_math, so that we can compile graphics_common to wasm in orca
|
2023-04-26 14:56:02 +02:00 |
Martin Fouilleul
|
346979a21a
|
[canvas] change surface/canvas APIs to treat canvas a 'just another kind of surface', and split canvas implementation (managed by surface) from canvas _command buffer_ and implicit context (represented by mg_canvas)
|
2023-04-25 19:13:15 +02:00 |
Martin Fouilleul
|
794f47b141
|
abstracting logging for orca
|
2023-04-18 18:05:54 +02:00 |
Martin Fouilleul
|
f35e91a38c
|
[mtl renderer] fixed clipping
|
2023-04-11 14:51:58 +02:00 |
Martin Fouilleul
|
03b5802529
|
[canvas] replace simple shape helpers with normal paths operations instead of having dedicated primitives for rounded rects/ellipses and so on
|
2023-04-11 11:16:23 +02:00 |
Martin Fouilleul
|
c6e89c1869
|
[wip] adding smooth live-resizing example
|
2023-04-11 10:50:14 +02:00 |
Martin Fouilleul
|
551d5e084e
|
[mtl renderer] re-introduced texturing
|
2023-04-09 19:24:32 +02:00 |
Martin Fouilleul
|
ee3e55dadd
|
[mtl renderer] fix msaa sample positions
|
2023-04-08 12:11:38 +02:00 |
Martin Fouilleul
|
effd8f1dd0
|
[mtl canvas] use same ccw test for testing against diagonal and testing against hull
|
2023-04-08 10:04:17 +02:00 |
Martin Fouilleul
|
d1fab449bc
|
[mtl canvas] Fixed loop implicit matrix
|
2023-04-07 10:15:37 +02:00 |
Martin Fouilleul
|
c4e866d9d4
|
[mtl canvas] Fix shader contents scaling
|
2023-04-05 10:31:50 +02:00 |
Martin Fouilleul
|
4c4f27066b
|
[mtl renderer] re-introduced end caps
|
2023-04-05 10:25:48 +02:00 |
Martin Fouilleul
|
e999af6bd3
|
[mtl canvas] make diagonal checks inclusive in mtl_side_of_segment()
|
2023-04-05 10:19:25 +02:00 |
Martin Fouilleul
|
53946a5710
|
[mtl canvas] fix end joint not generated for paths with only 2 elements
|
2023-04-05 09:52:12 +02:00 |
Martin Fouilleul
|
2484cdf7b3
|
[mtl canvas, wip] re-introducing joints
|
2023-04-04 20:35:48 +02:00 |
Martin Fouilleul
|
8d7fdf3b1a
|
[mtl canvas, wip] Fixing inclusive/exclusive bound checks during curve side tests / shortcut / rasterization
|
2023-04-04 19:02:53 +02:00 |
Martin Fouilleul
|
9322db8201
|
[mtl canvas, wip] cubic bézier implicitization
|
2023-04-01 19:46:35 +02:00 |
Martin Fouilleul
|
767841f9c6
|
[mtl canvas, wip] Fixed wrong backdrop when segment ended right on tile's bottom boundary
|
2023-03-30 16:41:41 +02:00 |
Martin Fouilleul
|
93998852bb
|
[mtl canvas, wip] Re-introducing quadratics implicitization
|
2023-03-30 15:58:46 +02:00 |
Martin Fouilleul
|
c4415aaeea
|
[mtl canvas, wip] binning segments to tile queues
|
2023-03-28 17:58:23 +02:00 |
Martin Fouilleul
|
f6a992e5f4
|
[mtl canvas] very first draft of new canvas backend based on edge-counting instead of triangle overlap
|
2023-03-28 13:09:48 +02:00 |
Martin Fouilleul
|
c20758f6a2
|
[mtl canvas] cull tiles queues outside viewport
|
2023-03-22 17:28:11 +01:00 |
Martin Fouilleul
|
e9ecd9d521
|
[mtl canvas] Fix artifacts on tiger that was due to epsilon comparison for cubics equation in draw kernel. Removed that (now do <= 0), but then we need to weed out false negatives for solid triangles. So we compute if the triangle is solid in the triangle kernel and store it in the mg_triangle_data struct for now.
|
2023-03-22 15:02:04 +01:00 |
Martin Fouilleul
|
0d8bc824a2
|
[mtl canvas] bucket triangles into per-shape tile queues, then gather into tile arrays. This somewhat improves perf for perf_text test and avoids an awful degradation due to sorting in tiger test (tiger now runs at ~20fps, which is still much slower than it could be, but the triangle coverage method we're using just incurs too much cross product computations...)
|
2023-03-21 10:22:37 +01:00 |
Martin Fouilleul
|
a4ef58f2d8
|
[mtl canvas] Tiling per rectangles into per-shape tile queues (linked lists of triangle indices) to avoid sorting
|
2023-03-20 16:46:12 +01:00 |
Martin Fouilleul
|
92f4909d63
|
[mtl canvas] testing the metal canvas rendering the ghostscript tiger, and acknowledging it's painfully slow
|
2023-03-18 14:35:51 +01:00 |
Martin Fouilleul
|
1d36088302
|
[mtl canvas] render to an intermediate texture and acquire the drawable and blit to it only at the end of all compute passes
|
2023-03-16 10:25:56 +01:00 |
Martin Fouilleul
|
bd8e31c535
|
[mtl canvas] triple buffer vertex/index/shape buffers
|
2023-03-15 17:48:39 +01:00 |
Martin Fouilleul
|
6da2494c81
|
[canvas example] fixed movement
|
2023-03-13 15:53:35 +01:00 |
Martin Fouilleul
|
13f025ab21
|
[mtl canvas] convert triangle rasterization to fixed point
|
2023-03-13 15:18:18 +01:00 |
Martin Fouilleul
|
7c58145524
|
[mtl surface] Allow setting swap interval to 0. Note however that vsync needs to be turned off at the OS level for that to work smoothly. Otherwise, we get jittery frame rate with stalls when we run off of drawables (I suppose? should investigate some more).
This can be done with Quart Debugger in Additional Tools for XCode.
|
2023-03-13 12:21:33 +01:00 |