martinfouilleul
|
899ad4c030
|
[wip, win32, canvas] Correctly setup path index in segment_setup.glsl
|
2023-07-03 11:02:04 +02:00 |
martinfouilleul
|
b61d8868d3
|
[wip, win32, canvas] wip trying to fix multiple shapes
|
2023-07-02 12:26:54 +02:00 |
martinfouilleul
|
0870097262
|
[wip, win32, canvas] bin segments to screen tile queues
|
2023-06-30 15:18:37 +02:00 |
martinfouilleul
|
f76ff94c28
|
[wip, win32, canvas] raster elements directly per pixel
|
2023-06-29 15:48:52 +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 |