Commit Graph

25 Commits

Author SHA1 Message Date
martinfouilleul 3816e85592 [win32, surface] always resize surface to parent window's client area 2023-07-25 14:18:02 +02:00
martinfouilleul 782b7f54ae [win32, canvas] only dispatch raster shader for tiles touched by paths 2023-07-14 18:58:18 +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 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
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 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 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
Martin Fouilleul 1212d714d5 [platform/canvas]
- Changed canvas coordinate system to match UI coord system (origin at top left, y axis down)
- Changed mouse coordinate system to match UI and canvas
- No need to pass width/height to ui_begin_frame() anymore
2023-03-08 13:19:18 +01:00
Martin Fouilleul 592f4cdecd end of line renormalization 2023-03-05 16:05:43 +01:00
martinfouilleul 665c63c3d0 [win32 build/link]
- Build milepost as a dynamic library
- Add import/export directives to public API symbols
- Change example build scripts accordingly
2023-02-21 18:43:30 +01:00
Martin Fouilleul 3b26c92c85 [osx build/linking]
- Remove the need for client apps to explicitly link with all dependent libs and frameworks
- Don't require redistributing libEGL/libGLES if not used, by linking them with '-weak-l' option
- Change examples build scripts accordingly
2023-02-21 17:09:26 +01:00
Martin Fouilleul 4306d0a01c back osx surfaces by CALayer 2023-02-20 16:49:44 +01:00
Martin Fouilleul 2232b647ed reintroduced GLES backend to osx 2023-02-20 11:05:01 +01:00
martinfouilleul 80ea8db687 [surface/canvas cleanup]
- Make build-time and runtime backend selection a bit easier
- Reorganized backend-specific files with slightly more coherent naming scheme
2023-02-10 16:56:10 +01:00
Martin Fouilleul afaa95fe07 applied canvas changes to metal backend 2023-02-08 10:42:21 +01:00
martinfouilleul e0300e9e3c Fixed indexing in gles_canvas_fragment shaders and fixed native keys buffer 2023-02-01 16:23:51 +01:00
Martin Fouilleul bd7e1a15f1 - Conflating mp_views and surfaces
- Implicit canvas context in canvas API
- GLES window surface on mac
2023-01-28 17:24:43 +01:00